操作系统原理实验指导书lisheng110907.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《操作系统原理实验指导书lisheng110907.doc》由会员分享,可在线阅读,更多相关《操作系统原理实验指导书lisheng110907.doc(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流操作系统原理实验指导书lisheng110907.精品文档.目 录实验一 熟悉Linux环境1实验二 shell脚本10实验三 进程控制14实验四 进程间通信-信号量机制实验18实验五 进程间通信-进程的管道通信实验24实验六 进程间通信-消息的发送与接收实验28实验七 进程通信-共享存储区通信34实验六 死锁避免的算法40实验七 存储管理42一、常用页面置换算法42二、动态分区分配算法(选做)51实验八 模拟进程调度算法53实验九 文件操作54实验一 熟悉Linux环境【实验目的】1了解Linux系统基本操作方法,学会独立使用该系统。2熟悉
2、Linux下如何编辑、编译和运行一个C语言程序。3学会利用gcc、gdb编译、调试C程序。【预习内容】1预习Linux下各种应用程序的使用。2预习常用的SHELL命令。3预习vi编辑器和emacs编辑器使用方法。4预习Linux下C程序编辑、编译和运行过程。【实验内容】一、登陆LinuxLinux开机,选择 进入,再选择Linux登陆窗口,输入用户名: students ,输入密码: 111111 ,进入Linux图形桌面环境。二、熟悉Linux图形桌面环境桌面包含上方的菜单栏和下方的任务栏。菜单栏包含“应用程序菜单”、“位置”、“系统”。通过主菜单可访问应用程序。(1) “应用程序”菜单“应
3、用程序”菜单包含“办公”、“附件”、“互联网”、“图形”、“游戏”等。“办公”包含了文字处理及电子表格等应用程序。“附件”下包含了“搜索工具”、“计算器”、“文本编辑器”和“终端”等应用程序。(2)“位置”菜单“位置”菜单包含“主文件夹”、“桌面”等信息。(3)“系统”菜单“系统”菜单包含“首选项”和“系统管理”等信息。(4)启动终端模拟器GNOME终端模拟器用一个窗口来模拟字符终端的行为。终端常常被称为命令行或者 shell,Linux 中绝大部分工作都可以用命令行完成。要启动一个终端,可以选择 应用程序 附件 终端。 三、目录和文件系统Linux 和 Unix 文件系统被组织成一个有层次的
4、树形结构。文件系统的最上层是 /,或称为 根目录。在 Unix 和 Linux 的设计理念中,一切皆为文件包括硬盘、分区和可插拔介质。这就意味着所有其它文件和目录(包括其它硬盘和分区)都位于根目录中。 例如:/home/student/sy1.c 给出了正确的完整路径,它指向 sy1.c 文件,而该文件位于 student 目录下,该目录又位于 home 目录,最後,home 目录又位于根(/) 目录下。 在根 (/) 目录下,有一组重要的系统目录,在大部分 Linux 发行版里都通用。直接位于根 (/) 目录下的常见目录列表如下: /bin - 重要的二进制 (binary) 应用程序 /b
5、oot - 启动 (boot) 配置文件 /dev - 设备 (device) 文件 /etc - 配置文件、启动脚本等 (etc) /home - 本地用户主 (home) 目录 /lib - 系统库 (libraries) 文件 /lost+found - 在根 (/) 目录下提供一个遗失+查找(lost+found) 系统 /media - 挂载可移动介质 (media),诸如 CD、数码相机等 /mnt - 挂载 (mounted) 文件系统 /opt - 提供一个供可选的 (optional) 应用程序安装目录 /proc - 特殊的动态目录,用以维护系统信息和状态,包括当前运行中进
6、程 (processes) 信息。 /root - root (root) 用户主文件夹,读作“slash-root” /sbin - 重要的系统二进制 (system binaries) 文件 /sys - 系统 (system) 文件 /tmp - 临时(temporary)文件 /usr - 包含绝大部分所有用户(users)都能访问的应用程序和文件 /var - 经常变化的(variable)文件,诸如日志或数据库等 四、打开PROC目录了解系统配置把/proc作为当前目录,就可使用ls命令列出它的内容。 /proc 文件系统是一种内核和内核模块用来向进程 (process) 发送信息
7、的机制 。这个伪文件系统让你可以和内核内部数据结构进行交互,获取有关进程的有用信息,在运行中改变设置 (通过改变内核参数)。 与其他文件系统不同,/proc 存在于内存之中而不是硬盘上。1察看 /proc 的文件/proc 的文件可以用于访问有关内核的状态、计算机的属性、正在运行的进程的状态等信息。大部分 /proc 中的文件和目录提供系统物理环境最新的信息。尽管 /proc 中的文件是虚拟的,但它们仍可以使用任何文件编辑器或像more, less或 cat这样的程序来查看。2得到有用的系统/内核信息/proc 文件系统可以被用于收集有用的关于系统和运行中的内核的信息。下面是一些重要的文件:
8、/proc/cpuinfo - CPU 的信息 (型号, 家族, 缓存大小等) /proc/meminfo - 物理内存、交换空间等的信息 /proc/mounts - 已加载的文件系统的列表 /proc/devices - 可用设备的列表 /proc/filesystems - 被支持的文件系统 /proc/modules - 已加载的模块 /proc/version - 内核版本 /proc/cmdline - 系统启动时输入的内核命令行参数 proc 中的文件远不止上面列出的这么多。想要进一步了解的读者可以对 /proc 的每一个文件都more一下 。3有关运行中的进程的信息/proc
9、文件系统可以用于获取运行中的进程的信息。在 /proc 中有一些编号的子目录。每个编号的目录对应一个进程 id (PID)。这样,每一个运行中的进程 /proc 中都有一个用它的 PID 命名的目录。这些子目录中包含可以提供有关进程的状态和环境的重要细节信息的文件。/proc 文件系统提供了一个基于文件的 Linux 内部接口。它可以用于确定系统的各种不同设备和进程的状态。对他们进行配置。因而,理解和应用有关这个文件系统的知识是理解你的 Linux 系统的关键。五、文件权限Linux 系统上的所有文件都有权限,以允许或者阻止其它用户查阅、修改或者执行。超级用户“root”则可以访问系统上的任意
10、文件。每个文件都有访问限制、用户限制以及隶属于某个用户/组(owner/group)。 所有文件皆有如下三组权限加以保护,按重要性依次排列: 用户(user) :适用于该文件的所有者 组(group) :适用于该文件所属的组 其他(other) :适用于所有其他用户 上述三组权限信息的每一组都包含了实际权限。这些权限信息,连同它们对文件和目录具有的不同含义,概述如下: 读(read) :允许显示/打开该文件 可以显示目录内容 写(write) :可以编辑或删除该文件 可以更改目录内容 可执行(execute) :可执行文件可以作为程序运行 可以进入该目录 例如:ls l普通文件:-rw-r-r
11、- 1 bin bin 2208 May 28 1987 /etc/rc 目录文件:drwxr-xr-x 2 bin bin 240 Nov 13 1987 dos 特殊文件:brw-r-xr-x 3 bin bin 2,7 Jan 12 15:07 /dev/fd0 c-w-w-w- 2 bin bin 6,0,Jan 11 13:37 /dev/Lp存取权 所 同 其 有 组 他 者 用 用 户 注:对于普通文件,类型为-;对于目录文件,类型为d;在系统目录/dev下的文件都是特殊文件,如类型b代表块设备,c代表字符设备,p代表有名管道文件,s代表套接字文件。用chmod改变文件或目录的存
12、取权限:格式:chmod 谁 操作符 许可权 文件名(或目录名) a + r g w - x o s u = t u g o其中,a:代表all,即所有的用户; g:代表group,即小组用户; o:代表others,即一般用户; u:代表user,即文件的所有者;+:代表增加许可权;-:代表删除许可权;=:代表赋予指定的许可权。例如:$chmod u+w display 完成对u用户增加对文件display的写权限。注:上述命令是由文件所有者或超级用户进行修改。六、练习常用的Shell命令。(重点)当用户登录到字符界面系统或使用终端模拟窗口时,就是在和称为shell的命令解释程序进行通信。当
13、用户在键盘上输入一条命令时,shell程序将对命令进行解释并完成相应的动作。这种动作可能是执行用户的应用程序,或者是调用一个编辑器、GNU/Linux实用程序或其他标准程序,或者是一条错误信息,告诉用户输入了错误的命令。1目录操作mkdir abc 创建一个目录abccd abc 将工作目录改变到abccd 改变当前目录到主目录ls 列出当前目录的内容ls -l 输出当前目录内容的长列表,每个目录或文件占一行pwd 显示当前目录的全路径2文件显示实用程序cat mx.c 显示mx.c文件内容more mx.c 分屏显示mx.c内容tail mx.c 显示文件后几行cat file1 file2
14、 连接file1 和file2head filename 显示文件filename的开始10行wc filename 统计文件filename中的行数、单词数和字符数od 文件 查看非文本文件3文件管理实用程序cp file1 file2 将文件1复制到文件2mv file1 file2 将文件重命名为file2rm filename 删除文件filenamerm -i filename 请求用户确认删除4数据操作实用程序 tty 显示当前终端的路径和文件名 who 显示当前登录用户的列表 sort filename 显示文件filename中的行的排序结果 spell filename 检查
15、文件filename中的拼写错误5其他实用程序 date 输出系统日期和时间 cal 显示本月的日历。cal 2002 显示2002年的日历 clear 清除终端屏幕 history 显示你以前执行过的命令的列表 man 显示实用程序的有用信息,并提供该实用程序的基本用法 echo 读取参数并把它写到输出七、熟悉vim编辑器在编写文本或计算机程序时,需要创建文件、插入新行、重新排列行、修改内容等,计算机文本编辑器就是用来完成这些工作的。Vim编辑器的两种操作模式是命令模式和输入模式(如图2所示)。当vim处于命令模式时,可以输入vim命令。例如,可以删除文本并从vim中退出。在输入模式下,vi
16、m将把用户所输入的任何内容都当作文本信息,并将它们显示在屏幕上。vi的工作模式见图2所示。插入、添加、打开、替换或更改命令模式输入模式最后一行模式ESC冒号(:)回车图2 vi编辑器下的模式命令模式在输入模式下,按ESC可切换到命令模式。命令模式下,可选用下列指令离开vi:命令作 用:q!离开vi,并放弃刚在缓冲区内编辑的内容:wq将缓冲区内的资料写入当前文件中,并离开vi:ZZ同wq:x同wq:w将缓冲区内的资料写入当前文件中,但并不离开vi:q离开vi,若文件被修改过,则要被要求确认是否放弃修改的内容,此指令可与:w配合使用命令模式下光标的移动 :命 令作 用h或左箭头左移一个字符J下移一
17、个字符k上移一个字符l右移一个字符0移至该行的首$移至该行的末移至该行的第一个字符处H移至窗口的第一列M移至窗口中间那一列L移至窗口的最后一列G移至该文件的最后一列W, W下一个单词 (W 忽略标点)b, B上一个单词 (B 忽略标点)+移至下一列的第一个字符处-移至上一列的第一个字符处(移至该句首)移至该句末移至该段首移至该段末nG移至该文件的第n列输入模式输入以下命令即可进入vi输入模式:命 令作 用a(append) 在光标之后加入资料A 在该行之末加入资料i(insert)在光标之前加入资料I 在该行之首加入资料o(open)新增一行于该行之下,供输入资料用O新增一行于该行之上,供输入
18、资料用Dd删除当前光标所在行X删除当前光标字符X删除当前光标之前字符U撤消重做F查找s 替换,例如:将文件中的所有FOX换成duck,用:%s/FOX/duck/gESC离开输入模式启动vim命令:命令作用vim filename从第一行开始编辑filename文件vim +filename从最后一行开始编辑filename文件vim -r filename在系统崩溃之后恢复filename文件vim -R filename以只读方式编辑filename文件更多用法见 info vi。vim 下程序录入过程:$ vim aaa.c 进入vim命令模式 i 进入输入模式输入 C源程序(或文本)
19、ESC 回到命令模式 ZZ 保存文件并推出vim CAT aaa.c 显示aaa.c 文件内容八、熟悉gcc编译器(重点)GNU/Linux中通常使用的C编译器是GNU gcc。编译器把源程序编译生成目标代码的任务分为以下4步: a. 预处理,把预处理命令扫描处理完毕; b. 编译,把预处理后的结果编译成汇编或者目标模块; c. 汇编,把编译出来的结果汇编成具体CPU上的目标代码模块; d. 连接,把多个目标代码模块连接生成一个大的目标模块; 1使用语法:gcc option | filename . 其中 option 为 gcc 使用时的选项,而 filename 为 gcc要处理的文件。
20、 2GCC选项 GCC的选项有很多类,这类选项控制着GCC程序的运行,以达到特定的编译目的。 全局选项(OVERALL OPTIONS) 全局开关用来控制在“GCC功能介绍”中的GCC的4个步骤的运行,在缺省的情况下,这4个步骤都是要执行的,但是当给定一些全局开关后,这些步骤就会在 某一步停止执行,这产生中间结果,例如可能你只是需要中间生成的预处理的结果或者是汇编文件(比如你的目的是为了看某个CPU上的汇编语言怎么写)。 x language 对于源文件是用什么语言编写的,可以通过文件名的后缀来标示,也可以用这开关。指定输入文件是什么语言编写的,language 可以是如下的内容 a. c b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 原理 实验 指导书 lisheng110907
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内