操作系统试验报告同名11863

上传人:w****4 文档编号:54254222 上传时间:2022-02-13 格式:DOCX 页数:12 大小:319.95KB
收藏 版权申诉 举报 下载
操作系统试验报告同名11863_第1页
第1页 / 共12页
操作系统试验报告同名11863_第2页
第2页 / 共12页
操作系统试验报告同名11863_第3页
第3页 / 共12页
资源描述:

《操作系统试验报告同名11863》由会员分享,可在线阅读,更多相关《操作系统试验报告同名11863(12页珍藏版)》请在装配图网上搜索。

1、课程名称:操作系统B实验工程:操作系统实验实验地点:实验楼209专业班级:学生姓名:学号:指导教师:方昀2021年12月3号实验一几种操作系统的界面一、实验目的和要求一目的本实验的目的是使学生熟悉1 2种操作系统的界面,在熟练使用机器的根底上,能了解各种操作命令和系统调用在系统中的大致工作过程.也就是通过操作系统的外部特征,逐步深入到操作系统的内部实质内容中去.二要求1. 能熟练的在1 2种操作系统的环境下工作,学会使用各种命令,熟悉系统提供的 各种功能,主动而有效地使用计算机.2. 熟悉系统实用程序的调用方法和各种系统调用模块的功能和作用.二、实验内容在某种操作系统的环境下建立、修改、运行、

2、打印源程序和结果,最后撤消一个完整的 程序.提示:可按下述步骤进行1. 编写一个完整的源程序,通过编辑命令送入机器,建立源程序文件;2. 编译该源文件,建立相应的目标文件;3. 编译有错时,再用编辑命令修改源文件,消除全部词法和语法错误;4. 连接目标文件,形成可执行文件;5. 执行该文件,得到结果;6. 打印输出源程序和运行结果;7. 撤消本次实验中形成的所有文件.三、实验步骤及程序流程图命令行格式对Java编译连接运行:对jjj.txt文件编写代码,然后后缀名改为java,通过javac命令编译、java命令执行得到结果 Hello,Java!3 iii-txt -记事專文件 躺 格式O

3、琶看M 掛他HjIpublic class- j j j public static void ma.in.StrirLg args System, out.Hello, J aval ;1-1(3; javac j jj - Java1-2G:jjj.class HellorJava?在eclipse下的可视化界面对 Java程序进行编译和执行: 1编写源代码package Spublic cldss jjj public static void nairt(5tring arg.s)- . print In (Hello Java 屮);1-32找到执行按钮3查看结果 jjj (1) Ja

4、va Applicationvaw.exe (2035ll25 下午4:口;ilHello Idva!1-41-5四、实验结果与分析无论是可视化界面还是命令行格式都可以对程序进行编译连接运行的操作.五、讨论、心得虽然现在的操作系统可视化界面比拟广泛,但是通过这两种方式,了解不同执行命令的方式,有利于我们今后的学习,和对多种操作系统的了解.实验二进程调度程序设计一、实验目的和要求(一) 目的进程是操作系统最重要的概念之一, 进程调度是操作系统的主要内容, 本实验要求学 生独立地用高级语言编写一个进程调度程序,调度算法可任意选择或自行设计, 本实验可使学生加深对进程调度和各种调度算法的理解.(二)

5、 要求1. 设计一个有几个进程并发执行的进程调度程序,每个进程由一个进程限制块(PCB) 表示,进程限制块通常应包括下述信息:进程名,进程优先数,进程需要运行的时间,占用CPU的时间以及进程的状态等,且可根据调度算法的不同而增删.2. 调度程序应包含 23种不同的调度算法,运行时可以任选一种,以利于各种方法 的分析和比拟.3. 系统应能显示或打印各进程状态和参数的变化情况,便于观察.二、实验内容1. 题目本程序可选用优先数法或简单轮转法对五个进程进行调度.每个进程处于运行R(run)、就绪W(wait)和完成F(finish) 三种状态之一,并假定起始状态都是就绪状态W为了便于处理,程序中进程

6、的运行时间以时间片为单位计算.各进程的优先数或轮转时间片数、以及进程需要运行的时间片数,均由伪随机数发生器产生.进程限制块结构如表 2-1所示:表 2-1PCB进程标识符链指针优先数/轮转时间片数占用CPU寸间片数进程所需时间片数进程状态进程限制块链结构如图2-1所示:RUNHEADTAIL135L-01111111RWWW :图2-1进程限制块链结构其中:RU当前运行进程指针;HEA进程就绪链链首指针;TAIL 进程就绪链链尾指针.2. 算法与框图程序框图如图2-2所示.开始round robin输入调度算法alog生成并按优先数大小排列进程限制块链生成并按进入次序排列进程限制块链工J链首进

7、程投入运行链首进程投入运行priorityalog=priority/round robin?时间片到,进程时间片数 I r时间片到,进程时间片减1,占用CPU时间加1数减1,优先数减3是是撤消该进程运行进程退岀,按 优先数插入进程链进程时-间片数大于链首进程?优先数否占用处理机时间片到?否进程时间片数为0?是l 是运行进程退岀,撤消该进程排到进程链尾部11从链首取一个进程投入运行进程队列空?从链首取一个进程投入运行否进程队列空?否是结束图2-2进程调度框图(1) 优先数法. 进程就绪链按优先数大小从大到小排列,链首进程首先投入运行.每过一个时间片,运行进程所需运行的时间片数减1,说明它已运行

8、了一个时间片,优先数也减3.理由是该进程如果在一个时间片中完成不了,优先级应降低一级.接着比拟现行进程和就 绪链链首进程的优先数,如果仍是现行进程高或者相同,就让现行进程继续运行,否那么,调 度就绪链链首进程投入运行.原运行进程再按其优先数大小插入就绪链,且改变它们对应的 进程状态,直至所有进程都运行完各自的时间片数.(2) 简单轮转法.进程就绪链按各进程进入的先后次序排列,链首进程首先投入运行. 进程每次占用处理机的轮转时间按其重要程度登入进程限制块中的轮转时间片数记录项(相应于优先数法的优先数记录项位置.每过一个时间片,运行进程占用处理机的时间片数加1,然后比拟占用处理机的时间片数是否与该

9、进程的轮转时间片数相等,假设相等说明已到达轮转 时间,应将现运行进程排到就绪链末尾,调度链首进程占用处理机,且改变它们的进程状态, 直至所有进程完成各自的时间片.三、实验结果轮转法:只贴出首尾和中间局部过程截图the aloiritbri 这录轮铭方法ili等12345id1234弓Urxor its?3览J1gk; JRll Ipiv h 1 lli i mn0390749291RWWVW口狎3345E正心运疔d址桎手律队列123理irii8S15v33313r JM-it: Hi?1aa3alit ima27i31RLIM14UnextUm45占正在远行的进理9HB Bi a4 W* W-

10、I _ id1i,一-2345lyrlurllii3231ZcjKite inc30 001.alit in#0 110staticFRUUHnext03409帀存诟行的讲禅普持队列234id1234532312npiit i ne31 &Q1a lit line0411USt-elLeFRVyFnext03403id123斗5)prioi*it32Ji2 put inie&1B1llt ii蓟3H1estate卜UFMFticxtse2e优先数法:王在运讦扎士廷h2111I2345priuritM32-312cpiitine22 212alltlno:41ObStiLtEEUUFRnext0

11、3afli2下运讦工T绘諄持队列2A12345jifliir 1-3-2-31_%ttxut in?22 213a,lltine4101FRUFVnext83500上在直行的道程5列5s t a tvbt. -idi235jirio 严 if;屮F -fit-11Cpilt i_EBg雪315a lit irtca1 002mateFRFFWnextM.ii-aMiLtE运衍的进程尊待队列5冷1234SfrlvrilyT;-14 f1rpiilr i np2fe315a lit imo&afl2stateFFFFRnext3fl00R正可讪甘殍23WPA列ibid12345prioilty3-

12、131i=put ifie0 s1iallt im23ahVHZFult$Kt531RnlLLLi-rfl:沁黑特队列31它5id1工工4!priority31311:pmt ina81 611iita25306staterUHHFUniext2 100正在疋疔毎进蔭珈別325id1234prioritv3-5 T1-5cyutime23213dlLtirw83104stateFURFWiext8S20e正匚迄二P:进程2s等侍队列id12345pTtOFi tjf7-5f1.-5cputinc2391311 t1ni;R3nn4 t ateFHFFWiixt05Ba8正在込讦的进唱5等敞列i

13、d12345PF LOF it 1171-4 -frI1-1防心帕26316alLtine0ae1FFFFRne xt甘idB闿U正在遁亍的避堪5等特賦列id12345priority3Id -61l,.,rrpiiriii26317nlltincB0 0呂RGt 北 teFFFFFlie xt00 0e0四、讨论、心得一开始程序中有错误,经过修正后可以正常运行.为方便观察结果我将程序中局部英文 换为中文,并修改了一些随机函数的种子数.run轮转法中为每个进程分配了时间片,当该进程时间片到或执行完毕就放到队尾,把指针后移,取下一个进程执行.由于时间片固定,执行根据队列顺序,程序简单易懂好用.

14、优先数法首先给予每个进程优先级,然后根据优先级从高到低给进程排序,取头指针执行, 每执行完一次时间片就检查优先级,假设最高继续执行,假设不是那么插入队列中适宜位置.实验三 存储治理程序设计一、实验目的和要求(一) 目的存储治理的主要功能之一是合理地分配主存空间.请求页式治理是一种常用的虚拟存储治理技术.本实验的目的是通过请求页式存储治理中页面置换算法的模拟设计,来了解虚拟存储技术的特点,掌握请求页式存储治理的页面置换算法.(二) 要求模拟页式虚拟存储治理中硬件的地址转换和缺页中断的处理过程,并用先进先出调度算法(FIFO)处理缺页中断.二、实验内容(1) 为了装入一个页面而必须调出一页时,如果

15、被选中调出的页面在执行中没有修改过,那么不必把该页重新写到磁盘上(磁盘已有副本).因此在页表中可以增加是否修改正的标志,当执行“存、“写指令时把对应页的修改标志置“1,表示该页修改正,否那么为“ 0,表示该页未修改正.页表格式(页号,标志,主存块号,修改标志,磁盘上的位置)(2) 设计一个地址转换程序来模拟硬件的地址转换和缺页中断处理过程.当访问的页在主存时那么形成绝对地址,但不去模拟指令的执行, 可用输出转换后的绝对地址来表示一条指令已完成.当访问的页不在主存时那么输出“*该页页号来表示硬件产生了一次缺页中断.(3) 编制一个FIFO页面调度程序.FIFO页面调度算法总是先调出作业中最先进入

16、主存的那一页,因此,可以用一个数组来构成页号队列.数组中每个元素是该作业已在主存的页面号,假定分配给作业的主存块数为m且该作业开始的 m页已装入主存,那么数组可由m个元素组成:P0 , P1,Pm-1,它们的初值为 P0 : =0, P1 : =1,Pm-1:= m-1o用一指针k指示当要装入新页时应调出的页在数组的位置,k的初值为“ 0.当产生缺页中断后,操作系统总是选择Pk所指出的页面调出,然后执行Pk:=要装入的新页页号,k : = (k+1) modm.在实验中不必实际地启动磁盘执行调出一页和装入一页的工作,而用输 出“OUT调出的页号和“ IN要装入的新页页号来模拟一次调出和装入的过

17、程.(4) 假定主存的每块长度为1024个字节,现有一个共 7页的作业,其副本已在磁盘上.系统为该作业分配了 4块主存块,且该作业的第0页至第3页已经装入主存,其余3页尚未 装入主存,该作业的页表见表3-2所示.表3-2 作业的页表页号标志主存块号修改标志在磁盘上的位置0150011118001221900133110021400022500023600121如果该作业依次执行的指令序列如表3-3所示.表3-3 作业依次执行的指令序列操作页号页内地址操作页号页内地址+0070移位4053+1050+5023X2015存1037存3021取2078取0056+4001-6040存6084依次执行

18、上述的指令序列来调试你所设计的程序(仅模拟指令的执行,不必考虑指令序列中具体操作的执行)(5) 为了检查程序的正确性,可自行确定假设干组指令序列,运行设计的程序,核对执行 结果.三、程序清单#i nclude #i nclude #defi ne nu mber 12#defi ne len gth 7struct pagelistint bnum;/ 页号int id;/ 标志int chan geid;/ 修改标志int location;所在磁盘位置pagelistlength;/ 页表struct actionchar n ame;/操作int object;/ 页号int add;/

19、页内地址actionnumber;/对页面的操作struct pagecha inint page;int block;int next;pagechainlength;/存放在块中的页int head;/pagechain 的头指针int replace(i nt pnu);void caculate(int pnu,int leave)计算物理地址传入页号和页内偏移 int wadd;int i;int b;if(pagelistp nu .id=1)b=pagecha inpnu .block;elseb=replace(p nu);wadd=b*1024+leave;printf(n页

20、号为%d的分页的物理地址:dtt,pnu,wadd);int replace(int pnu)/ 页面置换int b,p;b=pagecha in head.block;p=pagecha in head.page;II将需要的页面调入块pagecha in head.page=p nu;pagelistp nu .b num=b;pagelistp nu .id=1;II将块中页面调出pagelistp.id=0;pagelistp.b num=0;head=pagecha in head. next;printf(n%d 与%d 互换tt,pnu,p);printf(%d 进去,%d 出来

21、,pnu,p);return b;void initPagelist()II 初始化页表int k,b,l;for(k=0;kle ngth;k+)if(k4)printf(n请输入第%d个页面所在的块的块号:,k);setbuf(stdi n, NULL);scan f(%d,&b);pagelistk.b num=b;pagelistk.id=1;elsepagelistk.b num=0;pagelistk.id=0;pagelistk.cha ngeid=0;printf(n请输入第%d个页面所在的磁盘位置:,k);setbuf(stdi n, NULL);scan f(%d, &l)

22、;pagelistk.locati on=1;void initAction()/ 初始化操作表int i,b,c; char a; for(i=0;i nu mber;i+)w:移位,c:取,q:存:;printf(n请输入相应的操作页面及页内偏移 setbuf(stdi n, NULL);scan f(%c,%d,%d,&a,&b,&c);action i. name=a;action i.object=b; action i.add=c;void initPagechain()初始化页在块中的队列链 int j;for(j=0;j4;j+)pagecha in j.page=j;page

23、cha in j.block=pagelistj.b num; if(j=3)pagecha in j. next=0;elsepagecha in j. next=j+1;void mai n()int k=0;int pag,address;char na; head=0;in itPagelist();ini tActio n();in itPagecha in(); for(k=0;k nu mber;k+) n a=actio n k. name; pag=act ion k.object; address=act ion k.add; caculate(pag,address);

24、if(n a=c| na=q| na=w) pagelistpag.cha ngeid=1;四、实验结果与分析过程:3-1玄知 黑沖页f斷在的块曲決号汚iMffi A35八艮矗痂住应社悅:ii丰胡所秆孑土丹r沖斥:*LiHtJAi I IT面所在的谨蠢曲潭儘麟i九震2卜艮面带在的脚二辐理飯号为0的分页的结果:3-3W.址 地 m 二 物 的 页苴为互翼障餐障址址 地地 m 一 mBJ一 -sto 页页 的tt右进去As 51684竝*i $细送,丄进去*i 1U61才井主,r 5198召迸去* V2760出来H出尸咄衣3岀夭 础夹渣输人甜衣的操隹叫肉负购內偏移3:移位,1:取片存九+.0.70

25、请辅入相酗操乍贝內偏移u:移4 -锁如存人*,U5*1请枪人相应的擁作页面忌页內储蔦5七紂坨:取G寻h叫釦鸡请输人相应的燥作页面尿页内偏移位龈g寿h c.3.21请输人相应的操作页面及同内僻叙w;移也.;珈*(1=存h sE56请输入用应的操作広飢处貝內偏椁畑移住申;地亠;与头-.6.40谨输入相应的擬作罚首及页内偏穆畑移蝕;取取;存h 4/3请输入相应的操作真面从页内偏穆移位显!彷辰23请输入相应的酿作刃面忌页內衞多;移位川:谙输入相应的操作贝樹及页内1韜歙疔移位#:乐.甲年扎q,2/J8林6入相应的燥作页面艮页内偏畑移徒申:乐“:殍?:,上b输人相应拘操作w百及风內衞歎皿移毎=冲;专 C.

26、5.A43-2諭人第a个JIT面宙住的姙址&置绚打 牌人第绛丽所在的脚块号:】 礙人第3个顷面所在的越盘悅且21 活埼旳沪艮丘所U:芷底蛊忠直血2 法殊 具味汽口 1所左的应豈巳直:他H 郵J)5 二匕血耶叵比匣且U直:】灯 扁人相应的操作页面及页内悵稗谅心瓢叩存h五、讨论、心得程序编写虽有难度,但是也还可以,将操作,页表,块分别初始化,再加上一个置换算法即可.但是我在置换算法中在调整位置时用id赋值,虽然结果正确,但是修改了id,这点有待改良.程序使用的是FIFO算法,即先进先出算法.先将4个页调入主存中,当产生缺页中断时,主存第一个页调出,需要的页进入,再产生缺页中断时,第二个页调出,需要的页调入, 以此类推,块中的页形成一个环,有需要时按序调出即可.

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!