欢迎来到天天文库
浏览记录
ID:35331045
大小:58.81 KB
页数:4页
时间:2019-03-23
《操作系统原理实验指导》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、操作系统原理实验指导附:随机数产生方法#include”stdlib.h”main(){inii;clrscr();randomizeO;/*初始化随机数产生器*/for(i=l;i2、并在计算机屏幕上给出相应的提示,如:“进程进入等待”、“进程进入就绪”、“进程开始运行”。•方法1.先构造若干简单进程的PCB,其中应包含进程名称、队列指针;2.利用PCB构造就绪和等待两个队列;3.在main()中,可利用产生随机数函数random(intx)产生三个不同范围的数,它们分别对应进程的三种状态;当随机数落在某个范围时,便激活进程的相应状态和处理工作。2.地址转换实验•目的掌握地址转换的方法。•内容1分区存储管理方法中地址转换的方法;2页式存储管理方法中地址转换的方法;3段式存储管理方法中地址转3、换的方法;•方法我们利用随机数來模拟冇效地址,对于不同的存储管理方法,采用不同的地址转换方法。◊分区存储管理方法中:1.先给定基址寄存器BR和限长寄存器LR的值;2.利用随机数模拟的冇效地址,根据基址寄存器BR和限长寄存器LR的值,计算相应的物理地址,并判断是否越界,若出现越界现象,应给出警告信息。◊页式存储管理方法中:一1)假设逻辑地址结构为(二进制表示、2个字节)151090页号页内偏移量2)建立简单的页表PT,并填人页号、块号;3)利用随机数模拟的有效地址,根据PT,计算相应的物理地址,并判断是否越界,4、若出现越界现象,应给出警告信息。否则对于每个有效地址给出相应的页号、内存块号、及相应的物理地址。◊段式存储筲理方法屮:1)假设逻辑地址结构为(二进制表示、2个字节)151090段号段内偏移量2)建立简单的段表ST,并填人段号、段长、段首地址;3)利用随机数模拟的有效地址,根据ST,计算相应的物理地址,并判断是否越界,若出现越界现象,应给出警告信息。否则对于每个有效地址给出相应的段号、段内偏移量、内存始地址及相应的物理地址。3.P.V操作实验•目的了解并掌握进程的同步和互斥。•内容选用C语言编写程序,利用P.V5、操作解决单生产者和单消费者问题。•方法1.分别改造p操作和V操作及生产、消费程序;2.在main()屮利用循环通过相关的控制量,分别激活生产者和消费者;3.为了方简单起见,生产者和消费者只对单缓冲区进行操作,如:生产者将数值“1”填人缓冲区,而消费者将数值“0”填人缓冲区。1.存储分配实验•目的了解虚拟技术及存储分配的常用方法。•内容选用C语言编写一个存储管理的模拟程序,管理方法釆用请求页式存储管理。•方法1.建立两个表格,页表PT(包含页号、内存块号、状态);内存块表MBT(包含内存块号、状态);2.为了方6、便本实验规定为单作业的情况,用户地址空间为0~32K;页面大小为4K,内存块为8块3.利用随机数模拟的冇效地址系列,范围是0~32K;4.分别读出地址系列中的地址:1)每读出一个地址,先计算该地址的页号(页号二INT[虛地址/页面大小]);2)然后在页表PT屮查访该页的状态;3)若为“1”,表示在内存,无须作英它处理;4)若为“0”,表示不在内存,则需要查MBT表,看是否还有可提供分配的空白块;5)若内存有空口块,则修改PT表中的该页的状态项,并记录分配到的内存块号,同时修改MBT表;6)若内存无空白块,则根7、据某个算法从内存小挑选一页进行淘汰;7)在PT表将被淘汰的页对应的状态改为“0”;8)将当前页调人内存,同时修改PT表相应项;5.SPOOLING技术实验•目的体会SPOOLING系统如何解决主机与慢速I/O设备之.间的矛盾。•内容选用C语言编写一个模拟SPOOLING系统,它们由三个模块组成。1.输入模块(负资作业的输入)1)首先查看是否有待输入的作业,若无则结束。2)查看输入井是否满,若满,则保留待输入作业现场,结束。3)将作业读入输入井,直到输入井满。设冇10道作业待输入,每道作业是一个字符串。长度不超8、过20,并以“#”作为结束符号。1.处理模块(负资加工处理输入井中的作业)1)首先查看是否还有已加工但未送到输出井的信息。若有,转向3)。2)从输入井中读出一道作业,在作业中的每个字符间插入“.”。3)查看输出井是否满,若满,则保留现场,结束;否则将处理过的作业送到输出井中。若作业全部送入,则结束;否则说明作业还未送完而输出井满了,则保留现场,结束。2.输出模块查看输出井是否空,若空,则结束;否则从
2、并在计算机屏幕上给出相应的提示,如:“进程进入等待”、“进程进入就绪”、“进程开始运行”。•方法1.先构造若干简单进程的PCB,其中应包含进程名称、队列指针;2.利用PCB构造就绪和等待两个队列;3.在main()中,可利用产生随机数函数random(intx)产生三个不同范围的数,它们分别对应进程的三种状态;当随机数落在某个范围时,便激活进程的相应状态和处理工作。2.地址转换实验•目的掌握地址转换的方法。•内容1分区存储管理方法中地址转换的方法;2页式存储管理方法中地址转换的方法;3段式存储管理方法中地址转
3、换的方法;•方法我们利用随机数來模拟冇效地址,对于不同的存储管理方法,采用不同的地址转换方法。◊分区存储管理方法中:1.先给定基址寄存器BR和限长寄存器LR的值;2.利用随机数模拟的冇效地址,根据基址寄存器BR和限长寄存器LR的值,计算相应的物理地址,并判断是否越界,若出现越界现象,应给出警告信息。◊页式存储管理方法中:一1)假设逻辑地址结构为(二进制表示、2个字节)151090页号页内偏移量2)建立简单的页表PT,并填人页号、块号;3)利用随机数模拟的有效地址,根据PT,计算相应的物理地址,并判断是否越界,
4、若出现越界现象,应给出警告信息。否则对于每个有效地址给出相应的页号、内存块号、及相应的物理地址。◊段式存储筲理方法屮:1)假设逻辑地址结构为(二进制表示、2个字节)151090段号段内偏移量2)建立简单的段表ST,并填人段号、段长、段首地址;3)利用随机数模拟的有效地址,根据ST,计算相应的物理地址,并判断是否越界,若出现越界现象,应给出警告信息。否则对于每个有效地址给出相应的段号、段内偏移量、内存始地址及相应的物理地址。3.P.V操作实验•目的了解并掌握进程的同步和互斥。•内容选用C语言编写程序,利用P.V
5、操作解决单生产者和单消费者问题。•方法1.分别改造p操作和V操作及生产、消费程序;2.在main()屮利用循环通过相关的控制量,分别激活生产者和消费者;3.为了方简单起见,生产者和消费者只对单缓冲区进行操作,如:生产者将数值“1”填人缓冲区,而消费者将数值“0”填人缓冲区。1.存储分配实验•目的了解虚拟技术及存储分配的常用方法。•内容选用C语言编写一个存储管理的模拟程序,管理方法釆用请求页式存储管理。•方法1.建立两个表格,页表PT(包含页号、内存块号、状态);内存块表MBT(包含内存块号、状态);2.为了方
6、便本实验规定为单作业的情况,用户地址空间为0~32K;页面大小为4K,内存块为8块3.利用随机数模拟的冇效地址系列,范围是0~32K;4.分别读出地址系列中的地址:1)每读出一个地址,先计算该地址的页号(页号二INT[虛地址/页面大小]);2)然后在页表PT屮查访该页的状态;3)若为“1”,表示在内存,无须作英它处理;4)若为“0”,表示不在内存,则需要查MBT表,看是否还有可提供分配的空白块;5)若内存有空口块,则修改PT表中的该页的状态项,并记录分配到的内存块号,同时修改MBT表;6)若内存无空白块,则根
7、据某个算法从内存小挑选一页进行淘汰;7)在PT表将被淘汰的页对应的状态改为“0”;8)将当前页调人内存,同时修改PT表相应项;5.SPOOLING技术实验•目的体会SPOOLING系统如何解决主机与慢速I/O设备之.间的矛盾。•内容选用C语言编写一个模拟SPOOLING系统,它们由三个模块组成。1.输入模块(负资作业的输入)1)首先查看是否有待输入的作业,若无则结束。2)查看输入井是否满,若满,则保留待输入作业现场,结束。3)将作业读入输入井,直到输入井满。设冇10道作业待输入,每道作业是一个字符串。长度不超
8、过20,并以“#”作为结束符号。1.处理模块(负资加工处理输入井中的作业)1)首先查看是否还有已加工但未送到输出井的信息。若有,转向3)。2)从输入井中读出一道作业,在作业中的每个字符间插入“.”。3)查看输出井是否满,若满,则保留现场,结束;否则将处理过的作业送到输出井中。若作业全部送入,则结束;否则说明作业还未送完而输出井满了,则保留现场,结束。2.输出模块查看输出井是否空,若空,则结束;否则从
此文档下载收益归作者所有