操作系统原理实验.ppt
《操作系统原理实验.ppt》由会员分享,可在线阅读,更多相关《操作系统原理实验.ppt(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、操作系统原理实验操作系统原理实验主讲:张瑞红主讲:张瑞红操作系统实验课程操作系统实验课程一、课内学时分配一、课内学时分配内容学时实验报告次数实验0 linux基本环境20实验1 进程管理41实验2 进程间通信41实验3 存储管理81实验4 文件系统设计81课程设计1周1合计241周5操作系统实验课程操作系统实验课程二、考核方法二、考核方法 学生在实验前应该认真准备实验,根据实验讲义和课堂上学到的知识写出实验报告,带到实验现场。实验实验1 1 进程管理进程管理在本次实验中,在Linux环境下编写程序,完成:进程的创建结束 进程调度与切换 软中断机制的实现评分细则:参加实验:0.5分 完成实验报告
2、:0.5分 完成进程创建结束程序设计:0.5分 完成软中断机制实现程序:0.5分操作系统实验课程操作系统实验课程实验实验2 2 进程间通信进程间通信 设计程序分别实现采用消息和管道进行进程间通信。评分细则:参加实验:0.2分 完成实验报告:0.2分 完成消息通信程序 0.3分 完成管道通信程序 0.3分 操作系统实验课程操作系统实验课程实验实验3 存储管理存储管理 在本次实验中,完成对页式虚拟存储系统的实现机理的分析,理解进程存储空间的表示、实现和管理,并设计简单的存储模拟系统。评分细则:参加实验:0.5分 完成实验报告:0.5分 完成对存储管理的源代码分析 1.0分 完成简单的存储模拟系统设
3、计 1.0分操作系统实验课程操作系统实验课程实验实验4 文件系统设计文件系统设计 在本次实验中,根据Linux文件系统源代码,完成:分析Linux文件系统的实现的基本思想尝试设计简单的文件系统 评分细则:参加实验:0.5分 完成实验报告:0.5分 完成Linux文件系统分析 1.0分 完成模拟文件系统设计 1.0分操作系统实验课程操作系统实验课程 实验结束由实验指导教师根据实验记录,算出成绩。成绩等次如下:4.8分5.5分 及格 5.6分6.3分 中等 6.4分7.1分 良好 7.2分以上 优秀操作系统实验课程操作系统实验课程三、三、实验教科书、参考书实验教科书、参考书(一)教科书 张尧学 史
4、美林计算机操作系统教程实验指导 清华大学出版社 2006(二)参考书 张尧学 史美林计算机操作系统教程清华大学出版社 2006 实验实验0 0 linux基本环境1 实验目的实验目的(1)熟悉Linux下的基本操作,学会使用各种Shell命令去操作Linux,对Linux有一个感性认识;(2)学会使用vi编辑器编辑简单的C语言程序,并能对其编译、调试和运行。实验实验0 0 linux基本环境2 实验预备内容实验预备内容(1)下载一款虚拟机,如VMWARE;(2)了解虚拟机的安装过程。实验实验0 0 linux基本环境3实验内容实验内容(1)常用命令使用常用命令使用 a)正确地登录和退出系统;l
5、ogin,logout等 b)熟悉date、cal、who、echo、clear、passwd命令;c)在用户主目录下对文件进行操作:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等;d)对目录进行管理:创建和删除子目录、改变和显示工作目录、列出和更改文件权限、链接文件等;e)利用man显示date、cp等命令的手册页;f)显示系统中的进程信息。实验实验0 0 linux基本环境3实验内容实验内容(2)vi编辑器编辑器 a)进入和退出vi以及保存;b)利用文本插入方式建立一个文本;c)在新建的文本文件上移动光标位置;d)对该文件执行删除、复原、修改、替换等操作。实验实验0
6、0 linux基本环境3实验内容实验内容 (3)常用开发工具常用开发工具 a)利用gcc编译C语言程序,使用不同选项,观察并分析显示结果;b)用gdb调试一个编译后的C语言程序;c)编写一个由多文件构成的C语言程序,编制makefile,运行make工具进行维护。4、思考、思考 (1)Linux系统在用户登陆和操作界面以及文件系统上有哪些特点?实验实验1 进程管理进程管理 1 实验目的实验目的(1)加深对进程概念的理解,明确进程和 程序的区别。(2)进一步认识并执行的实质。(3)分析进程争用资源的现象,学习解决 进程互斥的方法。(4)了解linux系统中进程通信的基本原理。实验实验1 进程管理
7、进程管理2 实验预备内容实验预备内容(1)阅读linux的sched.h源码文件,加深对进程的管理概念的理解。(2)阅读linux的fork.c源码文件,分析进程的创建过程。实验实验1 进程管理进程管理3实验内容实验内容(1)进程的创建 写一段程序,使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符;父进程显示字符a;子进程分别显示b和c。试观察记录屏幕上的显示结果,并分析原因。(2)进程的控制 修改已写的程序,将每一个进程输出一个字符改为每一个进程输出一句话,在观察程序执行时屏幕上出现的现象,并分析原因。如果在分析中
8、使用系统调用lockf()来给每一个进程加锁,可以实现进程之间的互斥,观察并分析出现的现象。实验实验1 进程管理进程管理(3)编制一段程序,使其实现进程的软中断通信。要求:使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即用ctrl+c键);当捕捉到中断信号后,父进程用系统调用kill()向两个子进程发去信号,子进程捕捉到信号后,分别输出以下信息后终止:child process 11 is killed by parent!Child process12 is killed by parent!父进程等待两个子进程终止后,输出以下信息后终止
9、:parent process is killed!在上面的程序中增加语句signal(SIGINT,SIGIGN)signal(SIGOIT,SIG-IGN),并观察执行结果,并分析原因。实验实验1 进程管理进程管理()进程的管道通信 编制一段程序,实现进程的管道通信 使用系统调用pipe()建立一条管道线;两个子进程p1和p2分别向管道各写一句话:child1 is sending a message child2 is sending a message而父进程则从管道中读出子进程的信息,显示在屏幕上。要求进程先接受子进程P的信息,然后再接受子进程p发来的信息。增加内容增加内容:编写模拟
10、进程调度程序。程序代码参照参考教材实验实验1 进程管理进程管理思考思考(1)系统是怎样创建流程的?(2)可执行文件加载时进行那些处理?(3)当首先调用新创建进程时,其入口在哪里?(4)进程通信有什么特点?(5)如果在一个进程中调用了一次lockf(),结果会如何?(6)pipe()是建立管道线,具体的空间大小有限制吗?能否改变管道的两个端口?实验实验2 进程间通信进程间通信 1实验目的实验目的 linux系统的进程通信机构(IPC)可以在任意进程间大批量地交换数据。本实验的目的是了解和熟悉通信的消息通信机制,共享存储区及信息量机制。2实验预备内容实验预备内容 阅读linux系统的msg.c和s
11、hm.c等源码文件,熟悉linux的三种通信机制。实验实验2 进程间通信进程间通信3实验内容实验内容(1)消息的创建,发送和接受。使用系统调用msgget(),msgsnd(),msgrev()j及msgctl()编制一长度为1k的消息发送和接受程序。思考:针对上面程序,说明控制消息队列系统调用msgctl()在此起什么作用?(2)共享存储区的创建,附接和断接 使用系统调用shmger(),shmat(),sgmdt(),shmctl().编制一个与上述功能相同的程序。(3)比较上述(1)、(2)两种消息通信机制中数据传输的时间。实验实验2 进程间通信进程间通信4、实验提示、实验提示(1)、消
12、息的创建、发送和接受 程序设计:a)为了便于操作和观察结果,用一个程序作为“引子”,先后fork()两个子进程SERVER和CLIENT,进行通信。b)SERVER端建立一个KEY为75的消息队列,等待其他进程发来的消息。当遇到类型为1的消息,则作为结束信号,取消该队列,并退出SERVER。SERVER每接收到一个消息后显示一句“(server)received”。实验实验2 进程间通信进程间通信4、实验提示、实验提示(1)、消息的创建、发送和接受 程序设计:c)CLIENT端使用KEY为75的消息队列,先后发送类型从10到1的消息,然后退出。最后的一个消息,即是SERVER端需要的结束信号。
13、CLIENT每发送一条消息后显示一句“(client)sent”。d)父进程在SERVER和CLIENT均退出后结束。实验实验2 进程间通信进程间通信(2)共享存储区的创建,附接和断接程序设计:a)为了便于操作和观察结果,用一个程序作为“引子”,先后fork()两个子进程SERVER和CLIENT,进行通信。b)SERVER端建立一个KEY为75的共享区,并将第一个字节置为-1。作为数据空的标志。等待其他进程发来的消息。当该字节的值发生变化时,表示收到了信息,进行处理。然后再次把他的值设为-1。如果遇到的值为0,则视为结束信号,取消该队列,并退出SERVER。SERVER每接收到一个数据后显示
14、一句“(server)received”。实验实验2 进程间通信进程间通信(2)共享存储区的创建,附接和断接程序设计:c)CLIENT端建立一个KEY为75的共享区,当共享取得第一个字节为-1时,SERVER端空闲,可发送请求。CLIENT随即填入9到0。期间等待SERVER端的再次空闲。进行完这些操作后,CLIENT退出。CLIENT每发送一条数据后显示一句“(client)sent”。d)父进程在SERVER和CLIENT均退出后结束。实验实验2 进程间通信进程间通信(3)比较两种消息通信机制中的数据传输的时间 由于两种机制实现的机理和用处都不一样,难以直接进行时间上的比较。如果比较其性能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 原理 实验
限制150内