《2022年操作系统实验指导说明 .pdf》由会员分享,可在线阅读,更多相关《2022年操作系统实验指导说明 .pdf(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、天津大学仁爱学院计算机系操作系统原理实验报告题目:XXXXXXXXXXXX 指导老师:戴维迪姓名:学号:班级:完成日期:年月日名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 17 页 -操作系统课程实验要求:1以下五个题目,按要求开展实验并完成相应的实验报告。2实验上机时间为:待定,在上机时间检查每个同学的程序运行情况。3提交实验报告:实验报告提交格式:1.实验内容2.正文格式(1)问题概述(2)整体功能及设计(3)编程实现(4)使用说明(5)结果分析(6)设计体会3.实验报告的提交(1)要求使用统一专用实验报告纸;(2)要求有封面,封面格式如前页;(3)报告以打印稿或手写稿提供
2、,统一左边装订;(4)同时提交源程序和实验报告的电子版,以压缩包 的形式发送到: 信件及附件名称:(例)07 软件 1 班 60072011 王宇-进程调度算法模拟(没有空格)(名称不符合要求的请重新发送)名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 17 页 -07 级*操作系统课程实验(一)生产者-消费者同步问题的算法实现一、实验目的:全面理解生产者与消费者问题模型,掌握解决该问题的算法思想,正确使用同步机制。二、实验内容:问题描述:一组生产者向一组消费者提供消息,它们共享一个有界缓冲池,生产者向其中投放消息,消费者从中取得消息。假定这些生产者和消费者互相等效,只要缓冲池未
3、满,生产者可将消息送入缓冲池;只要缓冲池未空,消费者可从缓冲池取走一个消息。功能要求:根据进程同步机制,编写一个解决上述问题的演示程序,可显示缓冲池状态、放数据、取数据等过程。三、编程工具:C、Java、VC 或其它可视化语言平台任选.PQ放消息取消息nn个缓冲区(Buffer)ij名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 17 页 -四、具体设计要求及有关说明1有 3 个生产者进程,分别为P1、P2 和 P3;2有 4 个消费者进程,分别是C1、C2、C3 和 C4;3缓冲区单元个数N=15;4不同的生产进程可生产不同的产品(比如字母、数字、符号);不同的消费进程可有不同
4、的消费方式(比如“显示”、“打印”、“拼接成字符串”、“改变大小写”等)。自己可任意定义。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 17 页 -07 级*操作系统课程实验(二)进程管理和调度的算法实现一、实验目的进程调度是处理机管理的核心内容。本设计要求用高级语言编写和调试一个简单的进程调度程序。通过本实验可以加深理解有关进程控制块、进程队列的概念,并体会和了解优先权调度算法和时间片轮转调度算法的具体实施办法。二、实验内容1设计进程控制块PCB 表结构,分别适用于优先权调度算法和时间片轮转调度算法。2PCB 结构包括以下信息:进程名、进程优先数(或轮转时间片),进程所占用的
5、CPU 时间,进程的状态,当前队列指针等。根据调度算法的不同,PCB 结构的内容可以作适当的增删。3建立进程就绪队列。对两种不同算法编制入链子程序。4编制两种进程调度算法:a)优先数调度;b)时间片轮转调度。允许用户在程序运行时选择使用某一种调度算法。三、编程工具:C、Java、VC 或其它可视化语言平台任选名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 17 页 -四、具体设计要求及有关说明选用优先数算法和简单时间片轮转法对五个进程进行调度,每个进程可有三种状态:运行状态(RUN)、就绪状态(READY)和完成状态。并假定初始状态为就绪状态。1设计进程控制块PCB 结构如下:N
6、AME/进程标识符;PRIO/ROUND/PRIO 表示进程优先数,ROUND 表示进程轮转时间片大小;CPUTIME /进程占用 CPU 时间;COUNT/计数器;NEEDTIME/进程到完成还要的CPU 时间;STATE /进程的状态;NEXT/链指针2进程控制块链结构如图所示。READY FINISH RUN TAIL,名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 17 页 -其中:RUN当前运行进程指针;READY 就绪队列头指针;TAIL 就绪队列尾指针;FINISH 完成队列头指针。为了便于处理,程序中进程的运行时间以时间片为单位计算。各进程的优先数或轮转时间片数以
7、及进程需运行的时间片数的初值均由用户给定。3程序说明:a)在优先数算法中,进程每执行一次,优先数减3,CPU 时间片数加 1,进程还需要的时间片数减1。在轮转法中,采用固定时间片,时间片数为2,进程每执行一次,CPU 时间片数加 2,进程还需要的时间片数减2,并排到就绪队列的尾上。b)程序结构说明如下:整个程序由 CREATE,FIRSTIN,INSERT1,INSERT2,PRINT,PRISCH 和 ROUNDSCH 过程组成。其中:CREATE 的功能是创建新的进程,即创立进程的PCB,并将此PCB 链入到就绪队列中去。FIRSTIN 的功能是将就绪队列中的第一个进程投入运行。INSER
8、T1 的功能是把还未完成且优先数小于别的进程PCB 按进程优先数的顺序插入到就绪队列中。INSERT2 是轮转法使用的过程,将执行了一个单位时间片数(为名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 17 页 -2)且还未完成的进程的PCB 插入到就绪队列的队尾。PRINT 打印每执行一次后的所有进程的状态,这里,就绪(等待)用“W”代表。PRISCH 按优先数算法调度进程。ROUNDSCH 按时间片轮转法调度进程。c)主程序中定义了PCB 的结构和其它变量NUMBER 进程数,ALGO 为 10 个字符长的字符串,存放要求输入的算法的名,输入“PRIORITY”表示调用优先数算
9、法,输入“ROUNDROBIN”表示调用循环轮转法,要求用户在程序运行时输入其中的一个。名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 17 页 -07 级*操作系统课程实验(三)内存管理和分配算法模拟一、实验目的页面置换算法的好坏直接关系到系统运行的效率。本设计要求用高级语言编写和调试一个简单的内存页面调度程序。通过本实验可以加深理解有关最佳置换算法、先进先出置换算法和最近最久未使用置换算法的概念,并体会和了解这三种页面置换算法的具体实施办法。二、实验内容1 页面流如下:7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1 2 首先利用最佳置换算法求出
10、理想状态下的缺页率。再将先进先出算法和最近最久未使用算法与最佳置换算法做比较,说明哪个缺页率较低。3 假设所用的物理块个数分别为3 和 4。三、实验要求1 物理块用数组S表示,每次经过一个页面,须显示此时物理块中的页面。2 设置计数变量count,记录缺页次数。统计缺页率可用:置换次数/页面总数求得。四、编程工具:名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 17 页 -C、Java、VC 或其它可视化语言平台任选名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 17 页 -07 级*操作系统课程实验(四)磁盘调度算法模拟一、实验目的磁盘是可供多个进程共享的设备,
11、当有多个进程都要求访问磁盘是,应采用一种最佳调度算法,以使各进程对磁盘的平均访问时间最小。目前最成用的磁盘调度算法有先来先服务(FCFS),最短寻道时间优先(SSTF),以及扫描算法(SCAN)。通过本实验可以加深理解有关磁盘调度的目标,并体会和了解最短寻道时间优先算法和扫描算法的具体实施办法。二、实验内容1 从 100#磁道开始,被访问的磁道号分别为:55,58,39,18,90,160,150,38,184。2 要求用最短寻道时间优先算法的和扫描算法实现磁盘调度。3 记录下每访问一个磁道磁头移动的磁道数,并计算平均寻道长度(平均移动磁道数)。,三、实验要求分别用两种算法实现磁盘调度。在实验
12、结果分析中,将比较结果以列表的形式表现出来。用数组(或链表)TR 存储待访问磁道号,将每次磁头移动磁道数用数组AR 存储。输出结果应如下例:(注意空格)名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 17 页 -150 50 160 10,184 24 18,166 38 20 39 1 55 16 58 3 90 32 平均寻道长度:35.8 四、编程工具:C、Java、VC 或其它可视化语言平台任选名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 17 页 -07 级*操作系统课程实验(五)Linux 文件操作一、实验目的Linux 是一个 Unix操作系统的
13、克隆,可以免费使用,最初是由Linus Torvalds和经由 Internet 组织起来的开发小组编写的,其目标是与 POSIX 兼容。通过本实验,掌握一些基本的显示文件的命令。二、实验内容用户需要查看一个文件的内容时,可以根据显示要求的不同选用以下的命令。1 cat命令功能 1:在标准输出上显示文件。语法:cat -选项 文件说明:该命令功能之一是用来显示文件。它依次读取其后所指文件的内容并将其输出到标准输出。例 1:$cat example.txt 则在屏幕上显示出example.txt 文件的内容。例 2:$cat-A exam2.txt 则在屏幕上显示出exam2.txt 文件的内容
14、,而且如果文件中含有特殊字符的话,一并显示。功能 2:连接两个或多个文件名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 17 页 -说明:该命令功能之二是用来将两个或多个文件连接起来。例 3:$cat file1 file2 file3 把文件 filel 和文件 file2的内容合并起来,放入文件file3中。2 more命令功能:在终端屏幕按屏显示文本文件。语法:more -选项 文件说明:该命令一次显示一屏文本,显示满之后,停下来,并在终端底部打印出-More-,系统还将同时显示出已显示文本占全部文本的百分比,若要继续显示,按回车或空格键即可。例 1:用分页的方式显示一个
15、文件的内容。$more example1.c/*-*/*example1.c*/*-*/*author f opus.BBSBBS.cs.nthu.edu.tw*/*target f BBS main/login/top-menu routines*/*create f 99/10/23*/*update f 99/12/15*/*-*/#define _MAIN_C_#inc1ude jmp_buf byebye;名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 17 页 -int talkrequest=NA;static uschar Enter_uflag i#ifdef
16、 SHOW_IDLE_TIME-More-(3%)例 2:显示一个文件的内容,但显示之前先清屏,并且在显示器的最下方显示完整的百分比。$more-dc example1.c 执行该命令后,先清屏,然后显示文件example.c的内容。/*-*/*example1.c*/*-*/*author f opus.BBSBBS.cs.nthu.edu.tw*/*target f BBS main/login/top-menu routines*/*create f 99/10/23*/*update f 99/12/15*/*-*/#define _MAIN_C_#inc1ude jmp_buf by
17、ebye;int talkrequest=NA;static uschar Enter_uflag i#ifdef SHOW_IDLE_TIME 名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 17 页 -char fromhost();-More-(3%)Press space to continue,q to quit.例 3:显示一个文件的内容,要求每十行显示一次,且显示之前先清屏。$more-c-10 example1.c 执行该命令后,先清屏,然后将以每十行每十行的方式显示文件example.c的内容。/*-*/*example1.c*/*-*/*author f o
18、pus.BBSBBS.cs.nthu.edu.tw*/*target f BBS main/login/top-menu routines*/*create f 99/10/23*/*update f 99/12/15*/*-*/#define _MAIN_C_ inc1ude -More-(3%)3 less命令less命令的功能几乎和more命令一样,也是用来按页显示文件,不同之处在于less命令在显示文件时允许用户既可以向前又可以向后名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 17 页 -翻阅文件。less命令的使用与more命令类似,在此就不赘述了,用户如有不清楚的地方可直接查看联机帮助。用 less命令显示文件时,若需要在文件中往前移动,按键;要移动到用文件的百分比表示的某位置,则指定一个 0到100之间的数,并按即可。例 1 需要按页显示test文件$less test 三、实验要求要求说明 LINUX 的安装过程和对文件的操作过程。四、编程工具略名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 17 页 -