欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    操作系统实验报告.docx

    • 资源ID:13595358       资源大小:470.52KB        全文页数:18页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    操作系统实验报告.docx

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

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

    3、面对Java程序进行编译和执行:1.编写源代码1-32.找到执行按钮1-43.查看结果1-5四、实验结果与分析 无论是可视化界面还是命令行格式都可以对程序进行编译连接运行的操作。五、讨论、心得虽然现在的操作系统可视化界面比较广泛,但是通过这两种方式,了解不同执行命令的方式,有利于我们今后的学习,和对多种操作系统的了解。实验二 进程调度程序设计1、实验目的和要求(一)目的进程是操作系统最重要的概念之一,进程调度是操作系统的主要容,本实验要求学生独立地用高级语言编写一个进程调度程序,调度算法可任意选择或自行设计,本实验可使学生加深对进程调度和各种调度算法的理解。(二)要求1设计一个有几个进程并发执

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

    5、片数、以及进程需要运行的时间片数,均由伪随机数发生器产生。进程控制块结构如表2-1所示: 表2-1 PCB 进程标识符 链指针 优先数/轮转时间片数 占用CPU时间片数 进程所需时间片数 进程状态进程控制块链结构如图2-1所示: RUN HEAD TAIL 图2-1 进程控制块链结构其中:RUN当前运行进程指针;HEAD进程就绪链链首指针;TAIL进程就绪链链尾指针。2. 算法与框图 程序框图如图2-2所示。图2-2 进程调度框图 (1)优先数法。 进程就绪链按优先数大小从大到小排列,链首进程首先投入运行。每过一个时间片,运行进程所需运行的时间片数减1,说明它已运行了一个时间片,优先数也减3。

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

    7、到达轮转时间,应将现运行进程排到就绪链末尾,调度链首进程占用处理机,且改变它们的进程状态,直至所有进程完成各自的时间片。 三、实验结果轮转法:(只贴出首尾和中间部分过程截图)优先数法:四、讨论、心得 一开始程序中有错误,经过修正后可以正常运行。为方便观察结果我将程序中部分英文换为中文,并修改了一些随机函数的种子数。 轮转法中为每个进程分配了时间片,当该进程时间片到或执行完毕就放到队尾,把run指针后移,取下一个进程执行。由于时间片固定,执行按照队列顺序,程序简单易懂好用。优先数法首先给予每个进程优先级,然后根据优先级从高到低给进程排序,取头指针执行,每执行完一次时间片就检查优先级,若最高继续执

    8、行,若不是则插入队列中合适位置。实验三 存储管理程序设计一、实验目的和要求(一)目的存储管理的主要功能之一是合理地分配主存空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是通过请求页式存储管理中页面置换算法的模拟设计,来了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。(二)要求模拟页式虚拟存储管理中硬件的地址转换和缺页中断的处理过程,并用先进先出调度算法(FIFO)处理缺页中断。二、实验容(1)为了装入一个页面而必须调出一页时,如果被选中调出的页面在执行中没有修改过,则不必把该页重新写到磁盘上(磁盘已有副本)。因此在页表中可以增加是否修改过的标志,当执行“存”、“写”指

    9、令时把对应页的修改标志置“1”,表示该页修改过,否则为“0”,表示该页未修改过。页表格式(页号,标志,主存块号,修改标志,磁盘上的位置)(2)设计一个地址转换程序来模拟硬件的地址转换和缺页中断处理过程。当访问的页在主存时则形成绝对地址,但不去模拟指令的执行,可用输出转换后的绝对地址来表示一条指令已完成。当访问的页不在主存时则输出“*该页页号”来表示硬件产生了一次缺页中断。(3)编制一个FIFO页面调度程序。FIFO页面调度算法总是先调出作业中最先进入主存的那一页,因此,可以用一个数组来构成页号队列。数组中每个元素是该作业已在主存的页面号,假定分配给作业的主存块数为m,且该作业开始的m页已装入主

    10、存,则数组可由m个元素组成:P0,P1,Pm-1,它们的初值为P0=0,P1=1,Pm-1= m-1。用一指针k指示当要装入新页时应调出的页在数组的位置,k的初值为“0”。当产生缺页中断后,操作系统总是选择Pk所指出的页面调出,然后执行Pk=要装入的新页页号,k=(k+1)mod m。在实验中不必实际地启动磁盘执行调出一页和装入一页的工作,而用输出“OUT调出的页号”和“IN要装入的新页页号”来模拟一次调出和装入的过程。(4)假定主存的每块长度为1024个字节,现有一个共7页的作业,其副本已在磁盘上。系统为该作业分配了4块主存块,且该作业的第0页至第3页已经装入主存,其余3页尚未装入主存,该作

    11、业的页表见表3-2所示。表3-2 作业的页表 页号 标志 主存块号 修改标志 在磁盘上的位置 0 1 5 0 011 1 1 8 0 012 2 1 9 0 013 3 1 1 0 021 4 0 0 022 5 0 0 023 6 0 0 121如果该作业依次执行的指令序列如表3-3所示。表3-3 作业依次执行的指令序列 操作 页号 页地址 操作 页号 页地址 + 0 070 移位 4 053 + 1 050 + 5 023 2 015 存 1 037 存 3 021 取 2 078 取 0 056 + 4 001 - 6 040 存 6 084依次执行上述的指令序列来调试你所设计的程序(仅

    12、模拟指令的执行,不必考虑指令序列中具体操作的执行)(5)为了检查程序的正确性,可自行确定若干组指令序列,运行设计的程序,核对执行结果。3、程序清单#include #include #define number 12#define length 7struct pagelist int bnum;/页号 int id;/标志 int changeid;/修改标志 int location;/所在磁盘位置pagelistlength;/页表struct action char name;/操作 int object;/页号 int add;/页地址actionnumber;/对页面的操作stru

    13、ct pagechain int page; int block; int next;pagechainlength;/存放在块中的页int head;/pagechain的头指针int replace(int pnu);void caculate(int pnu,int leave)/计算物理地址传入页号和页偏移 int wadd; int i; int b; if(pagelistpnu.id=1) b=pagechainpnu.block; else b=replace(pnu); wadd=b*1024+leave; printf(n页号为%d的分页的物理地址:%dtt,pnu,wad

    14、d);int replace(int pnu)/页面置换 int b,p; b=pagechainhead.block; p=pagechainhead.page; /将需要的页面调入块 pagechainhead.page=pnu; pagelistpnu.bnum=b; pagelistpnu.id=1; /将块中页面调出 pagelistp.id=0; pagelistp.bnum=0; head=pagechainhead.next; printf(n%d与%d互换tt,pnu,p); printf(%d进去,%d出来,pnu,p); return b;void initPagelis

    15、t()/初始化页表 int k,b,l; for(k=0;klength;k+) if(k4) printf(n请输入第%d个页面所在的块的块号:,k); setbuf(stdin, NULL); scanf(%d,&b); pagelistk.bnum=b; pagelistk.id=1; else pagelistk.bnum=0; pagelistk.id=0; pagelistk.changeid=0; printf(n请输入第%d个页面所在的磁盘位置:,k); setbuf(stdin, NULL); scanf(%d,&l); pagelistk.location=l; void

    16、initAction()/初始化操作表 int i,b,c; char a; for(i=0;inumber;i+) printf(n请输入相应的操作页面及页偏移(w:移位,c:取,q:存):); setbuf(stdin, NULL); scanf(%c,%d,%d,&a,&b,&c); actioni.name=a; actioni.object=b; actioni.add=c; void initPagechain()/初始化页在块中的队列链 int j; for(j=0;j4;j+) pagechainj.page=j; pagechainj.block=pagelistj.bnum

    17、; if(j=3) pagechainj.next=0; else pagechainj.next=j+1; void main() int k=0; int pag,address; char na; head=0; initPagelist(); initAction(); initPagechain(); for(k=0;knumber;k+) na=actionk.name; pag=actionk.object; address=actionk.add; caculate(pag,address); if(na=c|na=q|na=w) pagelistpag.changeid=1; 4、实验结果与分析过程: 3-1 3-2结果: 3-35、讨论、心得程序编写虽有难度,但是也还可以,将操作,页表,块分别初始化,再加上一个置换算法即可。但是我在置换算法中在调整位置时用id赋值,虽然结果正确,但是修改了id,这点有待改进。程序使用的是FIFO算法,即先进先出算法。先将4个页调入主存中,当产生缺页中断时,主存第一个页调出,需要的页进入,再产生缺页中断时,第二个页调出,需要的页调入,以此类推,块中的页形成一个环,有需要时按序调出即可。


    注意事项

    本文(操作系统实验报告.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开