⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6-4.htm

📁 计算机操作系统 西安电子科技大学出版社 操作系统实验
💻 HTM
📖 第 1 页 / 共 5 页
字号:

<p class=MsoNormal style='text-indent:21.0pt'><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>通过对机器内部扬声器的编程:</span> </span></p>

<p class=MsoNormal style='text-indent:21.0pt'><span style='mso-bookmark:_Toc16587483'><span
lang=EN-US>1) </span></span><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>了解和学习</span><span lang=EN-US>Linux</span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>内部设备的控制和管理方法。</span></span></p>

<p class=MsoNormal style='text-indent:21.0pt'><span style='mso-bookmark:_Toc16587483'><span
lang=EN-US>2) </span></span><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>熟悉</span><span lang=EN-US>Linux</span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>环境的程序设计和调试方法。</span></span></p>

<p class=MsoNormal style='text-indent:21.0pt'><span style='mso-bookmark:_Toc16587483'><span
lang=EN-US>3) </span></span><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>进一步了解操作系统输入</span><span lang=EN-US>/</span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>输出处理技术。</span></span><a
href="#_top"><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='text-decoration:none;text-underline:none'><!--[if gte vml 1]><v:shape
 id="_x0000_i1026" type="#_x0000_t75" style='width:45pt;height:17.25pt'>
 <v:imagedata src="./6-4.files/image003.gif" o:title="02"/>
</v:shape><![endif]--><![if !vml]><img border=0 width=60 height=23
src="./6-4.files/image003.gif" v:shapes="_x0000_i1026"><![endif]></span></span><span
style='mso-bookmark:_Toc16587483'></span></a><span style='mso-bookmark:_Toc16587483'></span></p>

<h3><span style='mso-bookmark:_Toc16587483'><a name="_Toc41901946"></a><a
name="_工具/准备工作"></a><span style='mso-bookmark:_Toc41901946'><span
style='mso-bidi-font-family:宋体'>工具<span lang=EN-US>/准备工作</span></span></span></span><span
style='mso-bookmark:_Toc16587483'><span lang=EN-US style='mso-bidi-font-family:
宋体'><o:p></o:p></span></span></h3>

<p class=MsoNormal style='text-indent:21.0pt'><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>在开始本实验之前,请回顾教科书的相关内容。</span></span></p>

<p class=MsoNormal style='text-indent:21.0pt'><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>需要准备一台运行</span><span lang=EN-US>Linux</span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>操作系统的计算机。</span></span><a
href="#_top"><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='text-decoration:none;text-underline:none'><!--[if gte vml 1]><v:shape
 id="_x0000_i1027" type="#_x0000_t75" style='width:45pt;height:17.25pt'>
 <v:imagedata src="./6-4.files/image003.gif" o:title="02"/>
</v:shape><![endif]--><![if !vml]><img border=0 width=60 height=23
src="./6-4.files/image003.gif" v:shapes="_x0000_i1027"><![endif]></span></span><span
style='mso-bookmark:_Toc16587483'></span></a><span style='mso-bookmark:_Toc16587483'></span></p>

<h3><span style='mso-bookmark:_Toc16587483'><a name="_Toc41901947"></a><a
name="_实验内容与步骤"></a><span style='mso-bookmark:_Toc41901947'><span
style='mso-bidi-font-family:宋体'>实验内容与步骤</span></span></span><span
style='mso-bookmark:_Toc16587483'><span lang=EN-US style='mso-bidi-font-family:
宋体'><o:p></o:p></span></span></h3>

<p class=MsoNormal style='text-indent:21.0pt'><span style='mso-bookmark:_Toc16587483'><b
style='mso-bidi-font-weight:normal'><span style='font-family:楷体_GB2312;
mso-ascii-font-family:"Times New Roman"'>步骤</span></b></span><span
style='mso-bookmark:_Toc16587483'><b style='mso-bidi-font-weight:normal'><span
lang=EN-US style='mso-fareast-font-family:楷体_GB2312'>1</span></b></span><span
style='mso-bookmark:_Toc16587483'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>:登录进入</span><span
lang=EN-US>Rad Hat Linux</span></span><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>。</span></span></p>

<p class=MsoNormal style='text-indent:21.0pt'><span style='mso-bookmark:_Toc16587483'><b
style='mso-bidi-font-weight:normal'><span style='font-family:楷体_GB2312;
mso-ascii-font-family:"Times New Roman"'>步骤</span></b></span><span
style='mso-bookmark:_Toc16587483'><b style='mso-bidi-font-weight:normal'><span
lang=EN-US style='mso-fareast-font-family:楷体_GB2312'>2</span></b></span><span
style='mso-bookmark:_Toc16587483'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>:</span><span
lang=EN-US><span style='mso-tab-count:1'> </span></span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>单击红帽子,在“</span><span
lang=EN-US>GNOME</span></span><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>帮助”菜单中单击“附件”</span><span lang=EN-US>-</span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>“文本编辑器”命令,在文本编辑中键入清单</span><span
lang=EN-US>6-4</span></span><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>程序并保存为</span><span lang=EN-US>6-4.c</span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>。</span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt;font-family:黑体'><span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style="mso-spacerun: yes">&nbsp;</span>清单6-4<span style="mso-spacerun:
yes">&nbsp; </span>让扬声器按指定的长度和音频发声<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># include &lt;fcntl.h&gt;<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># include &lt;stdio.h&gt;<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># include &lt;stdlib.h&gt;<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># include &lt;string.h&gt;<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># include &lt;unistd.h&gt;<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># include &lt;sys/ioctl.h&gt;<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># include &lt;sys/types.h&gt;<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># include &lt;linux/kd.h&gt;<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'>&nbsp;<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>// </span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-size:9.0pt;font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>设定默认值</span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-size:9.0pt'> <span
lang=EN-US><o:p></o:p></span></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># define DEFAULT_FREQ 440<span
style='mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>//
</span></span><span style='mso-bookmark:_Toc16587483'><span style='font-size:
9.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>设定一个合适的频率</span></span><span style='mso-bookmark:_Toc16587483'><span
style='font-size:9.0pt'> <span lang=EN-US><o:p></o:p></span></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># define DEFAULT_LENGTH 200<span
style='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>//
200</span></span><span style='mso-bookmark:_Toc16587483'><span
style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>微秒,发声的长度以微秒为单位</span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-size:9.0pt'> <span
lang=EN-US><o:p></o:p></span></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># define DEFAULT_REPS 1<span
style='mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>//
</span></span><span style='mso-bookmark:_Toc16587483'><span style='font-size:
9.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>默认不重复发声</span></span><span style='mso-bookmark:_Toc16587483'><span
style='font-size:9.0pt'> <span lang=EN-US><o:p></o:p></span></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># define DEFAULT_DELAY 100<span
style='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>//
</span></span><span style='mso-bookmark:_Toc16587483'><span style='font-size:
9.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>同样以微秒为单位</span></span><span style='mso-bookmark:_Toc16587483'><span
style='font-size:9.0pt'> <span lang=EN-US><o:p></o:p></span></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'>&nbsp;<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>// </span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-size:9.0pt;font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>定义一个结构,存储所需的数据</span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-size:9.0pt'> <span
lang=EN-US><o:p></o:p></span></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>typedef struct<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>int freq;<span
style='mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>//
</span></span><span style='mso-bookmark:_Toc16587483'><span style='font-size:
9.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>期望输出的频率,单位为</span></span><span style='mso-bookmark:_Toc16587483'><span
lang=EN-US style='font-size:9.0pt'>Hz <o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;
</span><span style='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style="mso-spacerun: yes">&nbsp;</span>int length;<span style='mso-tab-count:
6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>//
</span></span><span style='mso-bookmark:_Toc16587483'><span style='font-size:
9.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>发声长度,以微秒为单位</span></span><span style='mso-bookmark:_Toc16587483'><span
lang=EN-US style='font-size:9.0pt'><o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;
</span><span style='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style="mso-spacerun: yes">&nbsp;</span>int reps;<span style='mso-tab-count:
3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>//
</span></span><span style='mso-bookmark:_Toc16587483'><span style='font-size:
9.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>重复的次数</span></span><span style='mso-bookmark:_Toc16587483'><span
lang=EN-US style='font-size:9.0pt'><o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -