版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、题目1:时间片轮转调度算法模拟要求:用实验方法模拟单处理机系统的进程调度,并采用时间片轮转调度算法作为进程调度算法。具体任务:1、理解掌握进程调度实现所涉及到的主要问题:如何组织进程、如何实现处理机调度。进程控制块的作用和结构,进程控制块的链表组织。进程调度程序包含从进程就绪队列选择并摘取进程、给该进程分配处理机。2、设计进程控制块相关数据结构,进程状态跃迁的相关模拟;3、实现时间片进程调度算法模拟程序设计、编码及调试。题目2:静态优先级调度算法模拟要求:用实验方法模拟单处理机系统的进程调度,并采用静态优先级调度算法作为进程调度算法。具体任务:1、理解掌握进程调度实现所涉及到的主要问题:如何组
2、织进程、如何实现处理机调度。进程控制块的作用和结构,进程控制块的链表组织。进程调度程序包含从进程就绪队列选择并摘取进程、给该进程分配处理机。2、设计进程控制块相关数据结构,进程状态跃迁的相关模拟;3、实现静态优先级调度算法模拟程序设计、编码及调试。题目3:最短剩余时间优先(动态优先)调度算法模拟要求:用实验方法模拟单处理机系统的进程调度,并采用最短剩余时间优先调度算法作为进程调度算法。具体任务:1、理解掌握进程调度实现所涉及到的主要问题:如何组织进程、如何实现处理机调度。进程控制块的作用和结构,进程控制块的链表组织。进程调度程序包含从进程就绪队列选择并摘取进程、给该进程分配处理机。2、设计进程
3、控制块相关数据结构,进程状态跃迁的相关模拟;3、实现最短剩余时间优先调度算法模拟程序设计、编码及调试。题目4作业调度设计1、目的本实验的目的是通过模拟作业调度算法的设计加深对作业管理基本原理的理解。2、内容在后备作业队列中,输入5个作业各自运行所需要的时间及存储空间。按先来先服务的原则进行调度,输出作业调度的顺序及等待的时间。按最短作业(即运行时间最短)优先的原则进行调度,输出作业调度的顺序及等待时间。按最小作业(即存储空间最小)优先的原则进行调度,输出作业调度的顺序及等待的时间。根据运行情况,比较各种算法。在后备作业队列中,先输入5个作业各自运行所需要的时间,然后每输入一个作业的运行时间,就
4、按响应比高优先的原则进行调度,直到输入作业的运行时间为0时,依次输出响应比高的其它作业。3、要求对输入的每个作业必须编号,输出时要有作业序号、运行时间、存储空间及等待时间(包括总的等待时间);报告中的运行情况要包括输入和输出情况;比较上面几种调度算法的优劣。4、举例建主程序、三个子程序(例如:先来先服务FCFS、最短作业优先LSFS、最短运行时间作业优先SRFS)、打印程序及原始数据。五个作业运行时间,建文件DATA.DAT,其中包含num、runtime、storage、waittime和The waiting time。题目5存储管理页面置换算法模拟实现及比较1、目的通过请求页式管理中页面
5、置换算法了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。2、内容通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成:一半的指令是顺序执行的;四分之一的指令是均匀分布在前地址部分;四分之一的指令是均匀分布在前地址部分。具体的实施办法是:在0,319之间选一起点m;顺序执行一条指令,即m+1条;向前地址0,m1中执行一条指令m;顺序执行一条指令,即m+1条;向后地址(m+2,319执行一条指令m将指令序列变换成为页地址流。假设:页面大小为1KB;用户实寸容量为4页到32页;用户虚存容量为32KB。用户虚存容量32KB,每1KB中放10条指令,共320条指令(0319)
6、。其中09为0页,1019为1页310319为31页。使用不同的页面调度算法处理缺页中断,并计算不同实存容量下(432KB)的命中率。先进先出算法(FIFO);最近最少使用算法(LRU);最佳淘汰算法(OPT);先淘汰最不常用的页地址;最少访问页面算法(LFU)。命中率的算法为:命中率=缺页中断次数/页地址流长度3、要求实验报告中要有程序的详细框图,特别是有关算法本身的框图;实验报告中要有程序清单及执行的结果;对不同算法的性能进行评价。题目6linux进程间同步与互斥1、目的调用linux系统调用实现多进程的创建、进程间同步与互斥。2、内容进程的创建编制一段程序,使用系统调用fork( )创建
7、两个子进程,这样在此程序运行时,在系统中就有一个父进程和两个自进程在活动。让每一个进程在屏幕上显示一个字符:父进程显示字符a,自进程分别显示字符b和字符c。试观察、记录并分析屏幕上进程调度的情况。如果在程序中使用系统调用nice( )来改变各进程的优先级,会出现什么现象?进程的控制修改已编制的程序,将每个进程输出一个字符修改为每个进程输出一句话,再观察程序执行时屏幕上出现的现象。并分析出现问题的原因。进一步理解各个进程争夺临界资源的情况。如果在程序中使用系统调用locking( )来给每一个进程加锁,可以实现进程之间的互斥,试观察并分析出现的现象。进程的软中断通讯编制一段程序,实现进程的软中断
8、通讯:使用系统调用fork( )创建两个子进程;再使用系统调用。signal( )让父进程捕捉键盘上来的中断信号(即按Del键);在捕捉到中断信号后,父进程用系统调用kill( )向两个子进程发信号;子进程捕捉到信号后分别输出下列信息后终止:child process1 is killed by parent!child process2 is killed by parent!父进程等待两个子进程都终止以后,输出如下信息后终止。parent process in killed!3、要求仔细观察设计中的各种现象及出现的问题。分析产生各种现象的原因。寻找解决问题的办法。报告应至少包括带注释的程序
9、清单、输出的结果及对各种现象的分析意见。题目7linux进程间管道通信实现生产者-消费者问题1、目的调用linux系统调用实现多进程的创建、进程间利用管道进行通信。2、内容进程的创建编制一段程序,使用系统调用fork( )创建两个子进程,这样在此程序运行时,在系统中就有一个父进程和两个自进程在活动。让每一个进程在屏幕上显示一个字符:父进程显示字符a,自进程分别显示字符b和字符c。试观察、记录并分析屏幕上进程调度的情况。如果在程序中使用系统调用nice( )来改变各进程的优先级,会出现什么现象?(2)进程的管道通讯编制一段程序,实现进程的管道通讯:使用系统调用pipe()建立一条管道线;两个子进
10、程分别循环向这条管道写一句话:child 1 is sending a message!child 2 is sending a message!而父进程则循环从管道中读出信息,显示在屏幕上。用管道进行通讯,实质上是一个多生产者单消费者的问题,必须考虑其中都有哪些同步和互斥,同时向管道输入端写的字节数必须和从输出端读的字节数一致,若不一致,则会出现什么问题。3、要求仔细观察设计中的各种现象及出现的问题。分析产生各种现象的原因。寻找解决问题的办法。报告应至少包括带注释的程序清单、输出的结果及对各种现象的分析意见。题目8linux进程软中断实现进程间通信1、目的调用linux系统调用实现多进程的创
11、建、进程间利用软中断进行通信。2、内容进程的创建编制一段程序,使用系统调用fork( )创建两个子进程,这样在此程序运行时,在系统中就有一个父进程和两个自进程在活动。让每一个进程在屏幕上显示一个字符:父进程显示字符a,自进程分别显示字符b和字符c。试观察、记录并分析屏幕上进程调度的情况。如果在程序中使用系统调用nice( )来改变各进程的优先级,会出现什么现象?(2)进程的“软中断”通信它可用于同一用户的进程之间通信。其方式是:一个进程通过系统调用kill(pid,sig)向同一用户的其它进程pid发送一个软中断信号:另一进程通过系统调用signal(sig,func)捕捉到信号sig后,执行
12、予先约定的动作func,从而实现这两个进程间的通信。发送信号kill(pid,sig),本进程将指定信号sig发送给指定进程pid,其中参数为pid进程号,pid与sig均为整数值。接收信号signal(sig,func),本进程接收到其它进程发送给它的信号后,完成指定的功能func。func一般是函数。在程序中系统调用sleep(second)用于进程的同步与互斥,自变量是暂停秒数。其功能是使现行进程暂停执行由自变量规定的秒数。类似的系统调用有pause(),它的功能是暂停执行本进程,等待kill发来的信号,收到信号后再继续执行。在特殊情况下,常用到如下语句signal(SIGINT,SIG
13、_IGN)。它表示遇到了中断信号SIGINT(按Del键)。本进程不做任何动作,即勿略该中断信号对本进程的影响。(3)编写一个程序,实现进程的“软中断”通信。使用系统调用fork()创建2个子进程,再使用系统调用signal()让父进程捕捉键盘上来的中断信号(即按Del键),在捕捉到中断信号后,父进程用系统调用kill()向2个子进程发信号,子进程捕捉到信号后分别输出下列信息后终止:Child process 1 is killed by parent !Child process 3 is killed by parent !父进程等待2个子进程都终止后,输出如下信息后终止:Parent p
14、rocess is killed !3、要求仔细观察设计中的各种现象及出现的问题。分析产生各种现象的原因。寻找解决问题的办法。报告应至少包括带注释的程序清单、输出的结果及对各种现象的分析意见。题目9linux进程锁实现进程间同步与互斥1、目的调用linux系统调用实现多进程的创建、进程间利用软中断进行通信。2、内容进程的创建编制一段程序,使用系统调用fork( )创建两个子进程,这样在此程序运行时,在系统中就有一个父进程和两个自进程在活动。让每一个进程在屏幕上显示一个字符:父进程显示字符a,自进程分别显示字符b和字符c。试观察、记录并分析屏幕上进程调度的情况。(2)系统调用locking进程的
15、控制利用系统调用locking(fd,mode,size),对指定文件的指定区域(由size指示)进行加锁或解锁,以实现进程的同步与互斥。其中fd是文件描述字;mode是锁定方式,=1表示加锁,=0表示解锁,size是指定文件fd的指定区域,用0表示从当前位置到文件尾。常用程序段fd = open( “a.out”,2 );i = fork();if( i=0 ) locking(fd,1,0);locking(fd,0,0);(3)编写一个程序,创建一个文件,文件名为lock.dat,同时父进程创建2个子进程,通过系统调用locking(),分别让2个子进程对文件加锁,再输出有关信息,然后解
16、锁。3、要求仔细观察设计中的各种现象及出现的问题。分析产生各种现象的原因。寻找解决问题的办法。报告应至少包括带注释的程序清单、输出的结果及对各种现象的分析意见。题目10利用进程同步与互斥实现吃水果问题1、目的调用linux系统调用实现多进程的创建、进程间同步与互斥解决具体问题。2、内容进程的创建编制一段程序,使用系统调用fork( )创建两个子进程,这样在此程序运行时,在系统中就有一个父进程和两个自进程在活动。让每一个进程在屏幕上显示一个字符:父进程显示字符a,自进程分别显示字符b和字符c。试观察、记录并分析屏幕上进程调度的情况。(2)利用进程同步与互斥编程实现吃水果问题:桌上有一盘子,桌上有
17、一个空盘,允许存放一只水果,爸爸可向盘内放苹果,妈妈可向盘内放桔子,儿子专等吃盘内的桔子,女儿专等吃盘中的苹果。3、要求仔细观察设计中的各种现象及出现的问题。分析产生各种现象的原因。寻找解决问题的办法。报告应至少包括带注释的程序清单、输出的结果及对各种现象的分析意见。题目11利用进程同步与互斥实现理发师问题1、目的调用linux系统调用实现多进程的创建、进程间同步与互斥解决具体问题。2、内容进程的创建编制一段程序,使用系统调用fork( )创建两个子进程,这样在此程序运行时,在系统中就有一个父进程和两个自进程在活动。让每一个进程在屏幕上显示一个字符:父进程显示字符a,自进程分别显示字符b和字符
18、c。试观察、记录并分析屏幕上进程调度的情况。(2)利用进程同步与互斥编程实现理发师问题:(1)一个理发店接待室有n张椅子,工作室有1张椅子; (2)没有顾客时,理发师睡觉; (3)第一个顾客来到时,必须将理发师唤醒; (4)顾客来时如果还有空座的话,他就坐在一个座位上等待; (5)如果顾客来时没有空座位了,他就离开,不理发了; (6)当理发师处理完所有顾客,而又没有新顾客来时,他又开始睡觉。3、要求仔细观察设计中的各种现象及出现的问题。分析产生各种现象的原因。寻找解决问题的办法。报告应至少包括带注释的程序清单、输出的结果及对各种现象的分析意见。题目12利用进程同步与互斥实现面包房算法1、目的调
19、用linux系统调用实现多进程的创建、进程间同步与互斥解决具体问题。2、内容进程的创建编制一段程序,使用系统调用fork( )创建两个子进程,这样在此程序运行时,在系统中就有一个父进程和两个自进程在活动。让每一个进程在屏幕上显示一个字符:父进程显示字符a,自进程分别显示字符b和字符c。试观察、记录并分析屏幕上进程调度的情况。(2)利用进程同步与互斥编程实现面包房算法: 这是由Lamport于1974年提出的解决互斥问题的另一个软件算法。面包房不断制作面包,由若干个(n个)销售员销售;每个来到面包房的顾客按次序领到一个号码(号码每次加1),并等着叫号,当一个销售员空闲下来,就叫下一个最小的号码并
20、为顾客服务。3、要求仔细观察设计中的各种现象及出现的问题。分析产生各种现象的原因。寻找解决问题的办法。报告应至少包括带注释的程序清单、输出的结果及对各种现象的分析意见。题目13利用进程同步与互斥实现银行叫号1、目的调用linux系统调用实现多进程的创建、进程间同步与互斥解决具体问题。2、内容进程的创建编制一段程序,使用系统调用fork( )创建两个子进程,这样在此程序运行时,在系统中就有一个父进程和两个自进程在活动。让每一个进程在屏幕上显示一个字符:父进程显示字符a,自进程分别显示字符b和字符c。试观察、记录并分析屏幕上进程调度的情况。(2)利用进程同步与互斥编程实现银行排队叫号算法: 银行有
21、n个窗口(n个职员),每个职员只能对一个顾客办理业务。顾客随机到来,并排号。每个顾客办理业务的时间也是随机不等的。每个职员办完前一个顾客后,从排的顾客中选取排号最小的人进行服务,过时作废。请完成上述过程的程序。3、要求仔细观察设计中的各种现象及出现的问题。分析产生各种现象的原因。寻找解决问题的办法。报告应至少包括带注释的程序清单、输出的结果及对各种现象的分析意见。题目14 最佳适配内存分配算法模拟1、目的用程序实现可变分区内存管理过程,并按最佳适配算法进行分配。2、内容(1)基本思想可变分区是指系统不预先划分固定分区,而是在装入程序的时候划分内存区域,使得为程序分配的分区大小恰好等于该程序的需
22、求量,且分区的个数是可变的。显然可变分区有较大的灵活性,较之固定分区能获得好的内存利用率。(2)数据结构可变分区管理可以用两种数据结构实现,一种是已分配区表和空闲区表,也就是用预先定义好的系统空间来存放空间分配信息。另一种也是最常用的就是空闲链表,由于对分区的操作是动态的,所以很难估计数据结构所占用的空间,而且空闲区表会占用宝贵的系统空间,所以提出了空闲链表的概念。(3)设计要求请实现一个完整的可变分区管理器,包括最佳适配内存分配算法进行分配,回收,分区碎片整理等。题目15 最差适配内存分配算法模拟1、目的用程序实现可变分区内存管理过程,并按最差适配算法进行分配。2、内容(1)基本思想可变分区
23、是指系统不预先划分固定分区,而是在装入程序的时候划分内存区域,使得为程序分配的分区大小恰好等于该程序的需求量,且分区的个数是可变的。显然可变分区有较大的灵活性,较之固定分区能获得好的内存利用率。(2)数据结构可变分区管理可以用两种数据结构实现,一种是已分配区表和空闲区表,也就是用预先定义好的系统空间来存放空间分配信息。另一种也是最常用的就是空闲链表,由于对分区的操作是动态的,所以很难估计数据结构所占用的空间,而且空闲区表会占用宝贵的系统空间,所以提出了空闲链表的概念。(3)设计要求请实现一个完整的可变分区管理器,包括最差适配内存分配算法进行分配,并进行回收,分区碎片整理等。题目16 分页式内存
24、管理模拟1、目的用程序实现分页式内存管理过程。2、内容 分页机制把线性地址空间和物理地址空间分别划分为大小相同的块。这样的块称之为页。通过在线性地址空间的页与物理地址空间的页之间建立 的映射,分页机制实现线性地址到物理地址的转换。线性地址空间的页与物理地址空间的页之间的映射可根据需要而确定,可根据需要而改变。线性地址空间的任何 一页,可以映射为物理地址空间中的任何一页。 采用分页管理机制实现线性地址到物理地址转换映射的主要目的是便于实现虚拟存储器。不象段的大小可变,页的大小是相等并固定的。根据程序的逻辑划分段,而根据实现虚拟存储器的方便划分页。请实现一个完整的分页式内存管理器,包括相应程序逻辑
25、地址与内存物理地址页面的数据结构、页面地址变换、并进行回收等。并实现FIFO、LRU、NRU三种页面置换算法。题目17 文件系统设计 通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。内容:为Linux系统设计一个简单的二级文件系统,以实现下列功能:1可以实现下列几条命令(1) login 用户登录(2) dir 文件目录列表(3) creat 创建文件(4) delete 删除文件(5) open 打开文件(6) close 关闭文件 (7) read 读文件(8) write 写文件2实验提示 (1)首先确定文件系统的数据结构:主目录、子目录及活动文件等。主目录和子目
26、录都以文件的形式存放在磁盘,这样便于查找和修改。 (2)用户创建的文件,可以编号存储于磁盘上。如file0、file1、file2等,并以编号作为物理地址,在目录中进行登记。题目17 磁盘调度算法的编程实现及评估目的: 通过编程实现磁盘调度算法设计,加深理解磁盘调度算法的理解及提高编程能力。 内容: 编程实现下列三种磁盘调度算法,并求出每种算法的平均寻道时间,并比较性能优劣。(1) 先来先服务(2) 最短寻道时间优先(3) 扫描调度算法题目18 Windows资源管理器的模拟实现目的:通过编程实现windows资源管理器,加深对磁盘、文件夹、文件的理解及编程能力。内容: 指定有磁盘或文件夹,通
27、过递归的方法搜索该位置下的所有资源并列出相应信息(属性、大小、日期等)。题目19 Linux操作系统内核配置与编译目的:了解Linux操作系统内核的结构,并根据需要进行内核的配置与编译。内容:1. 了解linux操作系统的目录结构2. 掌握linux操作系统内核的选项作用3. 进行操作系统内核配置4. 编译操作系统内核5. 利用新的内核进行启动操作系统。题目20 Linux操作系统模块编译与使用目的:了解Linux操作系统模块程序的结构,并根据需要进行简单内核模块的编译与使用。内容:1. 了解linux操作系统的模块程序的结构2. 进行操作系统模块程序内核配置3. 编译操作系统模块4. 将新的
28、模块插入到操作系统,并使用该模块,查看模块相关信息5. 最终卸载该模块。题目21 资源管理器搜索功能的实现目的:通过编程实现windows资源管理器的搜索功能,加深对磁盘、文件夹、文件的理解及编程能力。内容:指定有磁盘或文件夹,通过递归的方法搜索该位置下符合条件的资源并列出相应信息(属性、大小、日期等)。题目22 进程管理器的模拟实现目的:编程模拟实现进程管理器,加深对进程、程序概念掌握,并提高编程能力。内容:利用Windows相关编程工具,实现进程管理器的相关功能:(1) 显示当前正在运行的进程及其占用的资源(2) 可以对某一进程进行停止;题目23 linux内核进程调度算法源码分析通过阅读
29、linux源代码,分析研究linux的进程调度策略和算法。要求以源码为依据,回答下面的问题:1) 进程调度队列是如何组织的2) 三种调度类型(SCHED_FIFO, SCHED_RR, SCHED_OHTER)的实现过程3) 优先级是如何定义和动态变化的4) 时间片的赋值?它与优先级的关系?重点分析内核数据结构task_struct(在include/linux/sched.h中)和调度函数schedule()(在kernel/sched.c中题目24 linux虚拟的管道字符设备驱动程序实现要求:(1)管道:一个FIFO的信息流。允许多个进程向管道写入数据,允许多个进程从管道读出数据。在读/写过程中,保证数据的写入顺序与读出顺序是一致的。(2)以字符设备的形式实现管道字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年零售业分析报告及未来五至十年行业创新报告
- 人工智能教育在区域教育信息化中的伦理问题与协同发展研究教学研究课题报告
- 2026年智能家电行业创新报告及用户体验提升报告
- 誓师大会发言稿11篇
- 2024年食品报废销毁服务合同三篇
- 2026年浙江省桐乡市高三最后一考化学试题试卷含解析
- 中央空调水机安装与调试指南
- 肾癌组织中CXCR3的表达特征、关联因素与潜在意义探究
- 肾康宁方:开启早期糖尿病肾病治疗新视角-血清TNF-α及IGF-1水平的影响探究
- 肺部炎性肌纤维母细胞瘤13例诊疗分析与前沿洞察
- 2026年交通AI模型拥堵评估与治理策略
- 2026年湖南省政府采购评审专家考试真题含答案
- GB/T 19525-2026畜禽养殖环境质量评价技术规范
- 疟疾防治医护培训课件
- 2026年加油站防恐应急处置方案
- 高效新闻稿写作技巧与模板
- 《油气输送管道工程顶管法隧道穿越设计规范》SYT 7022-2023
- 化工结晶安全技术规范
- 2025重庆国隆农业科技产业发展集团有限公司公开选聘下属子企业领导人员1人笔试参考题库附带答案详解
- 盆腔炎性疾病诊疗规范
- 完善内部规章制度
评论
0/150
提交评论