操作系统实验指导(周爱武)#_第1页
操作系统实验指导(周爱武)#_第2页
操作系统实验指导(周爱武)#_第3页
操作系统实验指导(周爱武)#_第4页
操作系统实验指导(周爱武)#_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、操作系统实验指导一、操作系统用户接口实验1实验目的熟悉操作系统的命令接口、图形接口和程序接口2实验内容UNIX 或 LINUX 环境: 熟悉开机登录进入系统、退出系统的过程。 使用 UNIX 或 LINUX 常用命令以及图形化接口 X-Windows 。 使用 C语言编制一个小程序,使其可以通过某个系统调用来获得操作系 统的服务。Windows 环境: 熟悉开机登录进入系统、退出系统的过程。 熟悉使用命方式启动应用程序的过程、熟悉 Windows 图形用户接口。 使用汇编语言编制一个小程序,使其可以通过某些系统调用来获得操作 系统的服务。3实验分析和思考操作系统向用户提供的各种接口分别适用于什

2、么场合?4. 实验学时安排:4学时,在第一章学习完之后可以进行。二、进程控制实验1. 实验目的通过进程的创建、撤消和运行加深对进程概念和进程并发执行的理解,明确进程与程 序之间的区别。2实验内容本实验必须在 UNIX 或LINUX 环境下进行。 了解UNIX 系统调用 fork( 、 exec(、 exit(和waitpid( 的功能和实现过程。 编写一段程序,使用系统调用 fork( 来创建两个子进程,并由父进程重复显示字 符串“Parent:”和自己的标识数,而子进程则重复显示字符串“Child : ”和自己的标识数。编写一段程序,使用系统调用 fork( 来创建一个子进程,子进程通过系统

3、调用 exec (更换自己的执行代码,显示新的代码 “Newprogram.”后,调用 exit(结束。而父进程则调用 waitpid( 等待子进程结束,并在子 进程结束后显示子进程的标识符,然后正常结束。3. 实验分析和思考系统调用 fork( 是如何创建子进程的?当首次将 CPU分配给子进程时,其入口在哪里?系统调用 exec(是如何更换进程的可执行代码的? 系统调用 exit(是如何终止一个进程的? 对一个应用,如果用多个进程的并发执行来实现,与单个进程来实现由什么不同 ?4. 实验学时安排:4学时,在进程控制内容学习之后进行。三、进程通信实验1实验目的学习如何利用管道机制、消息缓冲队列

4、机制、共享存储区机制进行进程间的通信,加 深对进程通信机制的理解。2实验内容本实验必须在 UNIX 或LINUX 环境下进行。了解系统调用 pipe( 、msgget(、 msgsnd(、 msgrcv( 、 msgctl( 、 shmget(、shm at( 、shmdt( 、 shmctl(的功能和实现过程。 编写一段程序,使其用管道来实现父子进程之间的进程通信。子进程向父进程发 送自己的进程标识符,以及字符串 “issending a message to parent!”。父进程则通过管道读出子进程发来的消息,将消息显示在屏幕上,然后 终止。编写一段程序,使其用消息缓冲队列来实现Cli

5、ent进程与 Server进程之间的进程通信。 Server进程先建立一个关键字为 SVKEY( 如75的消息队列,然后等待接收类 型为 REQ(如 1的消息;在收到请求消息后,它显示字符串“servingforclient ”和接收到的 Client进程的进程标识数,表示正在为 Client进程服务;然后再 向Client 进程发送一条应答消息,该消息的类型是Client进程的进程标识数,而正文则是 Server进程自己的标识数。 Client 进程则向消息队列发送类型为 REQ的消息 消息的正文为自己的进程标识数)以取得Server进程的服务,并等待 Server进程发来的应答;然后显示字

6、符串 “receivereplyfrom ”和接收到的 Server进程的标识数。 编写一段程序,使其用共享存储区来实现两个进程之间的进程通信。进程 A 创建 一个长度为 512字节的共享内存,并显示写入该共享内存的数据;进程B将共享内存附加到自己的地址空间,并向共享内存中写入数据。3实验分析和思考上述哪些通信机制提供了发送进程和接收进程之间的同步功能?这些同步是如何 进行的?上述通信机制各有什么特点?它们分别适合于何种场合?4. 实验学时安排:4学时,在进程同步与通信内容学习之后进行。四、进程调度模拟实验1实验目的通过对进程调度算法的模拟加深对进程概念和进程调度过程的理解。2. 实验内容用

7、C语言或 Pascal语言实现对 NN=5 )个进程的调度模拟,要求至少采用两种不同 的调度算法 如简单轮转法 Round Robin 和优先权高者优先算法 Highest Priority First),分别进行模拟调度。每个用来标识进程的进程控制块 PCB用结构 记录)来 描述,根据需要,它包括以下字段:进程标识数 ID 。进程优先数 Priority ,并规定优先数越大的进程,其优先权越高。采用简 单轮转法时该字段无用。进程已经占用的 CPU时间 CPUTIME 。进程还需占用的 CPU时间 ALLTIME 。当进程运行完毕时, ALLTIME 变为 0。进程的阻塞时间 STARTBLO

8、CK ,表示当进程再运行 STARTBLOCK 个时 间片后,进程将进入阻塞状态。进程被阻塞的时间 BLOCKTIME ,表示已经阻塞的进程再等待 BLOCKTI ME 格时间片后,将转换成就绪状态。进程状态 STATE。队列指针 NEXT ,用来将 PCB排成队列。优先数改变的原则 采用简单轮转法时该字段无用): 进程在就绪队列中等待一个时间片,优先数增加1;进程每运行一个时间片,优先数减 3。假设在进行调度前,系统中有 5个进程,它们的初始状态可以编程输入更具有灵活性),也可以初始化为如下内容:IDPRIORITYCPUTIMEALLTIMESTARTBLOCKBLOCKTIMESTATE

9、090323READY13803-10READY2300631READY32903-10READY4004-10READY为了清楚地观察诸进程的调度过程,程序应该将每个时间片内各进程的情况显示 出来并暂停,参考格式如下:Running : IReady Queue: Idi ,Idj ,Block Queue :Idk ,Idl,IDPRIORITYCPUTIMEALLTIMESTARTBLOCKBLOCKTIMESTATE0P0C0A0T0B0S01P1C1A1T1B1S12P2C2A2T2B2S23P3C3A3T3B3S34P4C4A4T4B4S43实验分析和思考在实际的进程调度中,还有哪

10、些可行的算法,怎样模拟? 在实际的进程调度中,除了按算法选择下一个运行的进程之外,操作系统还应该 做哪些工作?为什么对进程的优先数可以按上述原则进行修改?有什么好处?4. 实验学时安排:4学时,在调度与死锁内容学习之后进行。五、分区存储管理模拟实验1实验目的了解动态分区存储管理方式中的数据结构和分配算法,加深对动态分区存储管理方式 及其实现技术的理解。2实验内容用C语言或 Pascal语言分别实现采用首次适应算法和最佳适应算法的动态分区分配 过程 Allocate( 和回收过程 Free(。其中,空闲分区采用空闲分区链来组织,内存 分配时,优先使用空闲区低地址部分的空间。假设初始状态,可用内存

11、空间为 640KB ,作业请求序列如下 也可以编程从键盘 输入, R 表示请求, F表示释放):作业 1请求 130 KB 。作业 2请求 60 KB 。作业 3请求 100 KB 。作业 2释放 60 KB 。作业 4请求 200 KB 。作业 3释放 100 KB 。作业 1释放 130 KB 。作业 5请求 140 KB 。作业 6请求 60 KB 。作业 7请求 50 KB 。作业 6释放 60 KB 。要求每次分配和回收后显示出空闲区链的情况。 如果不能为作业的请求进行内存分配,给出相应的提示信息。3实验分析和思考采用首次适应算法和最佳适应算法,对内存的分配和回收速度有什么影响? 如

12、何解决碎片片问题?4. 实验学时安排:4学时,在分区存储管理内容学习之后进行。六、请求分页存储管理模拟实验1实验目的通过对页面、页表、地址转换和页面置换过程的模拟,加深对请求分页存储管理系统 的原理和实现技术的理解。2实验内容假设每个页面可以存放 10 条指令,分配给进程的存储块数为 4。用C语言或 Pascal语言模拟一进程的执行过程。设该进程工有320条指令,地址空间为 32各页面,运行前所有页面均没有调入内存。模拟运行时,如果所访问的指 令已经在内存,则显示其物理地址,并转下一条指令;如果所访问的指令还未装 入内存,则发生缺页,此时需要记录缺页产生次数,并将相应页面调入内存,如 果4个内

13、存块已满,则需要进行页面置换。最后显示其物理地址,并转下一条指令 。在所有指令执行完毕后,显示进程运行过程中的缺页次数和缺页率。 页面置换算法:分别采用 OPT、FIFO、LRU 三种算法。进程中的指令访问次序按如下原则生成:50%的指令是顺序执行的。25%的指令是均匀分布在低地址部分。25%的指令是均匀分布在高地址部分。 具体实现的方法是:在0,319之间随机选取一条指令作为起始执行指令,设其序号 )为 m; 顺序执行下一条指令,即序号 通过随机数,跳转到低地址部分 顺序执行下一条指令,即序号为逻辑地址逻辑地址)为 m+1 的指令;0,m-1 的一条指令处,设其序号为 m1;m1+1的指令;

14、顺序执行下一条指令,即序号为重复上述通过随机数,跳转到高地址部分m1+2 ,319的一条指令处,设其序号为 m2m2+1的指令;6步骤,直至执行了 320条指令。3 实验分析和思考如果增加分配给进程的物理块数,会对进程运行过程中的缺页率产生什么影响? 为什么说一般情况下, LRU 算法比 FIFO 算法具有更好的性能?4. 实验学时安排:4学时,在请求分页存储管理内容学习之后进行。七、简单文件系统模拟实验1实验目的通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加 深对文件系统功能和实现过程的理解。2实验内容在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个简单

15、的单用户 文件系统。在退出这个简单文件系统时,应将该虚拟文件系统保存到磁盘上,以 便下次可以再将它恢复到内存的虚拟磁盘上。文件存储空间的分配可以采用显式链接分配或其它方法。空闲空间的管理可以选择位示图或其它方法。如果采用位示图来管理文件存储空 间,并采用显式链接分配方式,可以将位示图合并到FAT中。文件目录结构采用多级目录结构。为简单起见,可以不使用索引结点,其中的每 个目录项包含文件名、物理地址、文件长度等信息,还可以通过目录项实现对文 件读和写的保护。要求提供以下有关的文件操作:Format :对文件存储器进行格式化,即按照文件系统的结构对虚拟磁盘 空间进行布局,并在其上创建根目录以及用于管理文件存储空间等的数 据结构。Mkdir :用于创建子目录。Rmdir :用于删除子目录。Ls :用于显示目录。Cd :用于更改当前目录。Create:用于创建文件。Open:用于打开文件。Close:用于关闭文件。Write :用于写文件。Read: 用于读文件。Rm:用于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论