操作系统选题_第1页
操作系统选题_第2页
操作系统选题_第3页
操作系统选题_第4页
操作系统选题_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、实验一 银行家算法1、实验题目 哲学家就餐问题是一种典型的同步问题,它是由Dijkstra 提出并解决的。该问题描述如下:有五个哲学家,他们的生活方式是交替的进行思考和进餐。 哲学家们共用一张圆桌,如图所示:设五个哲学家分别编号为A,B,C,D,E,桌子上放着五把筷子,筷子分别编号为0,1,2,3,4,桌子中央有一盘饭菜。五个哲学家都很有礼貌,都要等同时拿到身旁的两只筷子才进餐,不然就只是等着继续思考,而且吃了一口之后又马上放下拿起的两根筷子,继续思考。 由于筷子数目有限,不能让五个哲学家同时进餐,而且甚至只能让其中的少数哲学家进餐,其他的哲学家只能轮流享用,这非常类似多线程之间的同步互斥问题

2、,所以采用windows的多线程及一些API函数实现了对这个经典算法的模拟。2、实验要求设计有n个进程共享m个系统资源的系统,进程可动态的申请和释放资源,系统按各进程的申请动态的分配资源。系统能显示各个进程申请和释放资源,以及系统动态分配资源的过程,便于用户观察和分析;实验二:进程调度1 设计目的(1)要求学生设计并实现模拟进程调度的算法:时间片轮转及先来先服务。(2)理解进程控制块的结构。(3)理解进程运行的并发性。(4)掌握进程调度算法。2 设计要求在多道程序运行环境下,进程数目一般多于处理机数目,使得进程要通过竞争来使用处理机。这就要求系统能按某种算法,动态地把处理机分配给就绪队列中的一

3、个进程,使之运行,分配处理机的任务是由进程调度程序完成的。一个进程被创建后,系统为了便于对进程进行管理,将系统中的所有进程按其状态,将其组织成不同的进程队列。于是系统中有运行进程队列、就绪队列和各种事件的进程等待队列。进程调度的功能就是从就绪队列中挑选一个进程到处理机上运行。进程调度的算法有多种,常用的有优先级调度算法、先来先服务算法、时间片轮转算法。进程是程序在处理机上的执行过程。进程存在的标识是进程控制块(PCB),进程控制块结构如下:typedef struct node char name10; /* 进程标识符 */ int prio; /* 进程优先数 */ int round;

4、/* 进程时间轮转时间片 */ int cputime; /* 进程占用 CPU 时间*/ int needtime; /* 进程到完成还需要的时间*/ int count; /* 计数器*/ char state; /* 进程的状态*/ struct node *next /*链指针*/ PCB; 系统创建一个进程,就是由系统为某个程序设置一个PCB,用于对该进程进行控制和管理,进程任务完成,由系统收回其PCB,该进程便消亡。每个进程可以有三个状态:运行状态、就绪状态和完成状态。用C语言、C+或者Java语言编写一个程序实现进程调度的算法,模拟进程调度的过程,加深对进程控制块概念和进程调度算

5、法的理解。本任务要求完成时间片轮转及先来先服务两个算法。3 时间片轮转算法完成进程的调度设计要求:(1)进程的调度采用时间片轮转算法。(2)设计三个链队列,分别用来表示运行队列、就绪队列和完成队列。(3)用户输入进程标识符以及进程所需的时间,申请空间存放进程 PCB信息。(4)输出的格式和上面的运行结果分析中的格式相同。时间片轮转调度,具体做法是调度程序每次把 CPU 分配给就绪队列首进程使用一个时间片。当这个时间片结束时,就强迫一个进程让出处理器,让它排列到就绪队列的尾部,等候下一轮调度。实现这种调度要使用一个间隔时钟。当一个进程开始运行时,就将时间片的值置入间隔时钟内,当发生间隔时钟中断时

6、,就表明该进程连续运行的时间已超过一个规定的时间片。此时,中断处理程序就通知处理器调度进行处理器的切换工作。4 用先来先服务算法完成进程的调度设计要求:(1)进程的调度采用先来先服务算法。(2)设计三个链队列,分别用来表示运行队列、就绪队列和完成队列。(3)用户输入进程标识符以及进程所需的时间,申请空间存放进程PCB信息。(4)输出的格式和上面的运行结果分析中的格式相同。先来先服务:按照进程进入就绪队列的先后次序来分配处理器。先进入就绪队列的进程优先被挑选,运行进程一旦占有处理器将一直运行下去直到运行结束或被阻塞,这是一种非剥夺式调度。5、思考(1) 进程调度的时机有哪几种?(2) 比较实时调

7、度和非实时调度的区别?实验三. 磁盘调度1、实验目的:磁盘是高速、大容量、旋转型、可直接存取的存储设备。它作为计算机系统的辅助存储器,担负着繁重的输入输出工作,在现代计算机系统中往往同时会有若干个要求访问磁盘的输入输出要求。系统可采用一种策略,尽可能按最佳次序执行访问磁盘的请求。由于磁盘访问时间主要受寻道时间T的影响,为此需要采用合适的寻道算法,以降低寻道时间。本实验要求学生模拟设计一个磁盘调度程序,观察调度程序的动态运行过程。通过实验让学生理解和掌握磁盘调度的职能。2、实验题目:模拟电梯调度算法,对磁盘进行移臂操作3、提示及要求:(1)、假设磁盘只有一个盘面,并且磁盘是可移动头磁盘。(2)、

8、磁盘是可供多个进程共享的存储设备,但一个磁盘每个时刻只能为一个进程服务。当有进程在访问某个磁盘时,其它想访问该磁盘的进程必须等待,直到磁盘一次工作结束。当有多个进程提出输入输出请求而处于等待状态时,可用电梯调度算法从若干个等待访问者中选择一个进程,让它访问磁盘。为此设置“驱动调度”进程。(3)、由于磁盘与处理器是并行工作的,所以当磁盘在为一个进程服务时,占有处理器的其它进程可以提出使用磁盘(这里我们只要求访问磁道),即动态申请访问磁道,为此设置“接受请求”进程。开始初始化磁盘调度随机数>1/2继续?接受请求输入在0,1区间内的随机数结束(4)、为了模拟以上两个进程的执行,可以考虑使用随机

9、数来确定二者的允许顺序,程序结构图参考附图:(5)、“接受请求”进程建立一张“进程请求I/O”表,指出等待访问磁盘的进程要求访问的磁道,表的格式如下:进程名要求访问的磁道号 (6)、“磁盘调度”的功能是查“请求I/O”表,当有等待访问的进程时,按电梯调度算法从中选择一个等待访问的进程,按其指定的要求访问磁道。(7)、图1中的“初始化”工作包括:初始化“请求I/O”表,设置置当前移臂方向;当前磁道号。并且假设程序运行前“请求I/O”表中已有若干进程(48个)申请访问相应磁道。实验四 存储管理1、实验目的(1)存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。(2)

10、本实验的目的是通过请求页式管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。2、实验内容(1)通过计算不同算法的命中率比较算法的优劣。同时也考虑了用户内存容量对命中率的影响。页面失效次数为每次访问相应指令时,该指令所对应的页不在内存中的次数。在本实验中,假定页面大小为1k,用户虚存容量为32k,用户内存容量为4页到32页。(2)produce_addstream通过随机数产生一个指令序列,共320条指令。A)、指令的地址按下述原则生成:50%的指令是顺序执行的25%的指令是均匀分布在前地址部分25%的指令是均匀分布在后地址部分B)、具体的实施方法是:在0,

11、319的指令地址之间随机选取一起点m;顺序执行一条指令,即执行地址为m+1的指令;在前地址0,m+1中随机选取一条指令并执行,该指令的地址为m;顺序执行一条指令,地址为m+1的指令在后地址m+2,319中随机选取一条指令并执行;重复上述步骤1)5),直到执行320次指令C)、将指令序列变换称为页地址流在用户虚存中,按每k存放10条指令排列虚存地址,即320条指令在虚存中的存放方式为:第0条第9条指令为第0页(对应虚存地址为0,9);第10条第19条指令为第1页(对应虚存地址为10,19);。第310条第319条指令为第31页(对应虚存地址为310,319);按以上方式,用户指令可组成32页。(

12、3)计算并输出下属算法在不同内存容量下的命中率。先进先出的算法(FIFO);最近最少使用算法(LRU);最佳淘汰算法(OPT);最少访问页面算法(LFR);其中3)和4)为选择内容实验五 文件管理系统1、实验内容通过一个简单的二级文件系统设计,加深对文件系统的内部功能以及内部实现的理解。要求模拟采用二级目录结构的磁盘文件系统的文件操作能实现以下几条命令,用输入命令来模拟用户程序中调用的文件操作:Login 用户登录用户输入用户名和密码,在passwd文件中查找是否有此用户,核对密码。正确则登陆成功,当前目录设定到当前用户文件夹下。format 格式化初始化超级块,初始化主目录,初始化管理员ad

13、min 目录,初始化用户目录,初始化 用户passwd文件。create 创建文本文件查找当前目录下是否有同名文件,是则退出,否则让用户输入文本文件内容,以#结束。申请硬盘空间,申请失败则结束。将文件内容写入硬盘空间。修改当前目录的结构,修改超级块。cdir 创建文件夹查找当前目录下是否有同名文件,是则退出,否则,申请硬盘空间,申请失败则结束。将文件夹内容写入硬盘空间。修改当前目录的结构,修改超级块,写入模拟硬盘。read edit 读取和追加文本文件Read-查找当前目录下是否该文件,没有则退出,否则调用access()权限判断,有权限则判断是不是文件,不是则退出,是文件则读取文件并显示。E

14、dit-调用读取文件模块,读取成功则用户输入追加的内容,如果追加的内容大于一个硬盘分配空间则申请分配空间,失败则退出,申请成功则保存文件。access(文件名) 权限判断先判断当前目录是否有该文件,在当前目录的硬盘空间找到该文件,判断当前登录用户是哪个组,判断是否该用户创建,判断该文件的可见级别。如果是该用户创建的 则有读写权限如果当前用户是管理员组的 也具有读写权限如果该文件是用户可查看文件则都具有权限。cd 进入子目录 或上级目录查找当前目录是否有该子目录,没有则退出,调用access()判断当前用户是否有权限,无则退出,有则读取该子目录的目录,将当前目录指向该目录。attr(文件名)查看

15、文件或者文件夹的属性先查找当前目录下是否有该文件或目录,有则判断文件是否系统文件,是否文本文件,是否目录,由谁创建,属于什么组,占用的空间和目录。将其全部显示出来。del 删除文件或目录查找当前目录是否有该文件名,没有则退出,有则调用access()判断是否有权限,有则判断是否为系统文件,是则无法删除,不是则判断是否是文件,是文件则直接删除,不是则判断是否文件夹,是文件夹则判断该文件夹下是否有文件,有文件则无法删除。提示用户是否删除,确认则删除文件,修改当前文件夹目录和硬盘空间结构,修改超级块,写入模拟硬盘。Dir 列文件目录(列出文件名、物理地址、保护码和文件长度)2实验原理文件系统管理中用到的数据结构有:(1)首先应确定文件系统的数据结构:主目录、子目录及活动文件等。主目录和子目录都以文件的形式存放于磁盘,这样便于查找和修改。(2)用户创建的文件,可以编号存储于磁盘上。如:file0,

温馨提示

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

评论

0/150

提交评论