logo资料库

操作系统实验指导书(全).doc

第1页 / 共95页
第2页 / 共95页
第3页 / 共95页
第4页 / 共95页
第5页 / 共95页
第6页 / 共95页
第7页 / 共95页
第8页 / 共95页
资料共95页,剩余部分请下载后查看
操作系统原理实验指导书
杨宏雨
目录
前言
实验一 Linux环境实验(一):linux使用环境
实验目的
实验内容
实验基础
实验指导
(一)linux的登录与退出
(二)学会使用帮助
实验一 Linux环境实验(二):Linux 下C编程环境
实验目的
实验基础
一、Linux主要目录内容
二、Linux编程简介
三、Linux下的C语言开发环境
四、文件编辑器vi
五、GNU C编译器
六、gdb调试工具
实验内容:
实验二 进程观察实验(一):多进程环境
实验目的
实验基础
一、LINUX进程
/* process credentials */
/* file system info */
/* ipc stuff */
/* CPU-specific state of this task */
/* filesystem information */
/* open file information */
/* namespace */
/* signal handlers */
/* Protection of (de-)allocation: mm, files, fs, t
/* context-switch lock */
二、所涉及的命令
三、所涉及的系统调用
实验内容
思考题
实验二 进程观察实验(二):进程的控制
实验目的
实验内容
实验基础
一、进程的控制
二、相关的命令
三、相关的系统调用
实验指导
参考程序
思考题
实验三 进程的同步互斥实验
实验目的
实验内容
实验基础
一、临界资源的互斥访问
二、相关的系统调用
实验指导
参考程序
思考题
实验四 生产者消费者实验(一):用信号量实现PV操作
实验目的
实验内容
实验基础
一、信号量基础
二、相关命令
三、相关系统调用
实验指导
参考程序
思考题
实验四 生产者消费者实验(二):共享存储区的同步互斥
实验目的
实验内容
实验基础
实验指导
参考程序
思考题
实验五 作业调度实验
实验目的
实验基础
实验内容
实验指导
参考程序
实验六 存储管理实验(一):内存管理
实验目的
实验内容
实验基础
实验指导
参考程序
实验六 存储管理实验(二):内存分配与回收模拟
实验目的
实验内容
实验基础
实验指导
参考程序
思考题
实验七 设备管理实验(一):设备管理
实验目的
实验内容
实验基础
实验指导
参考程序
实验七 设备管理实验(二):设备分配与回收模拟
实验目的
实验内容
实验指导
参考程序
实验八 文件管理实验
实验目的
实验内容
实验基础
1、文件状态查询:stat/fstat/lstat函数
实验指导
附录一:Linux简介
附录二:Linux 命令速查
LINUX命令格式
(三)常用命令
《操作系统原理及应用》实验指导书 操作系统原理实验指导书 杨宏雨 2010-12-30 0
《操作系统原理及应用》实验指导书 目录 前言...........................................................................................................................2 实验一 Linux 环境实验(一):linux 使用环境................................................. 3 实验一 Linux 环境实验(二):Linux 下 C 编程环境...................................... 6 实验二 进程观察实验(一):多进程环境.......................................................12 实验二 进程观察实验(二):进程的控制.......................................................22 实验三 进程的同步互斥实验.............................................................................28 实验四 生产者消费者实验(一):用信号量实现 PV 操作............................35 实验四 生产者消费者实验(二):共享存储区的同步互斥...........................42 实验五 作业调度实验.........................................................................................50 实验六 存储管理实验(一):内存管理.............................................................4 实验六 存储管理实验(二):内存分配与回收模拟.........................................7 实验七 设备管理实验(一):设备管理...........................................................13 实验七 设备管理实验(二):设备分配与回收模拟.......................................18 实验八 文件管理实验.........................................................................................22 附录一:Linux 简介.............................................................................................. 28 附录二:Linux 命令速查..................................................................................... 32 1
《操作系统原理及应用》实验指导书 前言 该操作系统实验指导书是为基于 linux 操作系统的实验课程准备的。 如下图所示,实验中涉及的程序属于 linux 操作系统中的应用程序层次。实验内容涉 及进程管理、内存管理、设备管理及文件管理。 实验类型如下: 1、使用命令观察; 2、编写用户级程序,使用系统调用或库函数观察; 3、编写用户级程序,模拟操作系统内核的工作机制。 其中前两种属于观察型实验,第三种属于模拟型实验。在本实验指导书中,三种方 式相结合。 2
《操作系统原理及应用》实验指导书 实验一 Linux 环境实验(一):linux 使用环境 实验目的 能使用常用的 linux 命令,熟悉 linux 使用环境 实验内容 (1)登录后创建一个用户帐号,帐号名是:” os”+你的学号,如 os104 (2)重新以这个新的帐号登录,在你的当前用户主目录下,新建目录 lab1 (3)设置文件访问权限 (4)结合帮助及附录二,练习使用其它常用命令 实验基础 预习附录 1:Linux 简介;附录 2:linux 命令速查 实验指导 (一)linux 的登录与退出 1、本地登录 linux 根据系统配置的不同,有文本和图形两种登录模式。 (1)如果是文本登录模式,则步骤如下: login:(输入 username) password:(输入密码,注意密码不会回显) 登录成功则出现提示符。如果要进入图形界面环境则输入:startx (2)如果是图形登录模式,则输入用户名和密码之后即可直接进入图形界面环境。 2、远程登录 linux 服务器 在 DOS 环境下用 MS 提供的 telnet 程序(也可使用 WINDOWS 自带的 telnet 图形界面 程序或多功能的 S-Term 终端程序),可使 PC 成为 linux 主机的一台仿真终端。多个终 端或仿真终端可以同时登录同一台 Linux 系统,分时使用 Linux 操作系统。 连接 telnet 主机名(或 主机的 IP 地址) 例: telnet www.yahoo.com 或 telnet 140.122.77.120 (2)登录 连接成功之后,输入用户名和密码,即可以终端模式分时使用 linux 操作系统。 3
《操作系统原理及应用》实验指导书 (3)退出 在 linux 系统提示符$下,输入 logout、exit 或 shutdown,例:$ logout (二)学会使用帮助 (1) man:命令在线帮助 在使用其它命令之前,先认识一下 Linux 的在线帮助 man。在 Linux 下,当你要查找 一个命令的用法的,你可以通过 man 命令名 来源得命令的详细说明。因为每个 Linux 都有一份 man 文档,所以介绍命令的时候我们只是简直介绍一下命令的学用选项。如果 想查看命令的详细说明,请自己看 man。 执行格式: man ls 例: (2)info:显示说明 man command 查询 ls 这个指令的用法 执行格式: info command-name 例: 功能:查看gcc的说明,按上下箭头选定菜单,回车进入,"u"键返回上级菜单. info gcc info不加参数则进入最上一级菜单. (三)目录及文件管理 (1)在用户主目录下为每个实验创建一个目录。 [os001@localhost os001]#pwd [os001@localhost os001]#mkdir lab1 [os001@localhost os001]#cd lab1 [os001@localhost lab1]# (2)编辑程序,设置文件访问权限。 [os001@localhost lab1]#vi test.c :wq [os001@localhost lab1]# ls -l -rw-r--r-- [os001@localhost lab1]# chmod u+x,g+x,o-r test.sh 1 root root 6 6 29 15:30 test.c [os001@localhost lab1]# ls -l -rwxr-x--- 1 root root 6 6 29 15:30 test.c Linux 将用户分成三类:文件用户属主,同组用户,其他用户,分别用 u,g,o 表 示。基本权限包括读、写、执行,分别用 r,w,x 表示。 4
《操作系统原理及应用》实验指导书 (3)结合帮助及附录二,练习使用其它常用命令,如下。 1)目录操作:ls,mkdir,rmdir,cd,pwd 2)文件操作:more file1,cp,mv 3)系统询问与权限口令:su,chmod 4)I/O 命令: com1|com2 ,com>file1 5)用户帐号管理 5
《操作系统原理及应用》实验指导书 实验一 Linux 环境实验(二):Linux 下 C 编程环境 实验目的 1、 了解 Linux 主要目录内容。 2、 掌握在 linux 环境下开发 C 程序的一般流程。 3、 学会利用 vi 编辑器来编辑、gcc 编译、gdb 调试 C 程序。 实验基础 一、Linux 主要目录内容 (1)/:根目录 (2)/bin:存放了使用者最常用的命令 (3)/boot:引导核心的程序目录 (4)/dev:包含了所有 Linux 的外部设备名 (5)/etc:包含了系统管理所需要的配置文件和子目录,是系统中最重要的目录之一 (6)/home:用来存放用户主目录的地方 (7)/lib:存放了系统最基本的动态链接 (8)/lost+found:一般是空的 (9)/opt:用于安装那些可以进行选择安装的软件包 (10)/proc:是 Linux 提供的一个虚拟系统 (11)/root:这个目录是超级用户 root 默认的主目录 (12)/sbin:用来存放系统管理员使用的系统管理程序 (13)/tmp:用来存放各程序执行时所产生的临时文件 (14)/usr:用户的很多应用程序和文件几乎都存放在这个目录中 (15)/var:主要存放一些系统记录文件和配置文件 二、Linux 编程简介 对于享受惯了在 Windows 下使用可视化的集成开发环境进行编程的人员来说,一下 子转到 Linux 肯定会有诸多的不习惯,因为好像忽然间进入了原始社会。编程不再拥有 集成化环境,你需要在编辑器中输入源程序,还要记住很多命令,在命令行实现编译、 调试等工作。但 Linux 系统的免费、开放、安全、可靠、自由等特点使得 Linux 具备了无 以伦比的魔力,吸引着全世界成千上万的程序员在 Linux 系统下埋头苦干,不断编写出 高质量、完美的应用程序。 6
《操作系统原理及应用》实验指导书 Linux 支持的编程语言有:C、C++、Java、PHP、shell、Perl、Tcl、Python、Emacs Lisp 等,可以用来开发各种用途的应用程序或脚本程序。 三、Linux 下的 C 语言开发环境 C 是一种在 Linux 系统下广泛使用的编程语言,Linux 核心 90%以上的源代码和 Linux 系统上运行的大部分程序都是用 C 语言编写的,而且,Linux 发行版中包含的很多软件开 发工具,也是用于 C 和 C++应用程序开发的。在 Linux 下 C 程序的开发过程为: (1)使用 vi 等编辑器编辑源程序,保存为后缀为.c 的源文件。 (2)使用 gcc 编译源程序,生成二进制的可执行文件。 (3)若有问题,启用 gdb 进行调试。 (4)大型程序需要使用 make 工具来进行维护。 因此要在 Linux 下进行 C 程序开发,你需要掌握的编程工具有:  至少要熟悉使用一种编辑器。其中 vi 是 Linux 中最基本、最经典的一种编辑器, 比较容易使用,但功能比较弱。Emacs 是功能比较强大的一个编辑器,但比较 难用。当然你也可以选择 gedit、kate 等其它编辑器。  gcc 编译器。  软件维护工具 make 和 autoconf、automake 等。  gdb 调试器。 四、文件编辑器 vi vi 是“visual interface”的简称,是 Linux 环境下一款标准的全屏文本编辑器。 在 shell 中执行 vi 编辑程序即进入 vi 编辑器: [root@localhost ~]# vi vitest.c vi 有两种基本的工作模式:命令模式和输入模式。 命令模式:启动 vi 进入编辑器,或在输入模式下,按“Esc”键,即处于命令模式下, 此时用户键入的任何字符皆被视为命令,可进行删除、修改、查找、存盘等操作。如果 输入的是合法的 vi 命令,所输入的命令会被立即解释执行,并不会在屏幕上显示出来。 但一些以冒号(:)、斜杠(/)和问号(?)开头的命令,会显示在 vi 编辑器屏幕的最后一 行上,需要按回车键来执行命令。 输入模式:在命令模式下按“Insert”键或输入插入文本类命令即可进入输入模式。 此时输入的任何字符都会显示在编辑器屏幕上,并作为文本内容写入到用户文件中。 1.移动光标类命令,该类指令如果不容易记忆,可以直接在输入模式下用上下左右箭 头键来实现光标的移动。 命令 h 表 1.1 移动光标类常用命令 功能 光标左移一个字符 7
分享到:
收藏