2022年算机操作系统》实验大纲 .pdf

上传人:H****o 文档编号:32514319 上传时间:2022-08-09 格式:PDF 页数:6 大小:69.91KB
返回 下载 相关 举报
2022年算机操作系统》实验大纲 .pdf_第1页
第1页 / 共6页
2022年算机操作系统》实验大纲 .pdf_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《2022年算机操作系统》实验大纲 .pdf》由会员分享,可在线阅读,更多相关《2022年算机操作系统》实验大纲 .pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、计算机操作系统实验大纲一、课程性质和任务计算机操作系统 是计算机科学与技术专业本科生的一门必修课程。通过学习使学员掌握计算机操作系统的基本原理及组成;计算机操作系统的基本概念和相关的新概念、名词及术语;了解计算机操作系统的发展特点、设计技巧和方法;对常用计算机操作系统(DOS、Windows 和 UNIX 或 Linux) 会进行基本的操作使用。二、课程的教学基本要求掌握计算机操作系统的基本概念、新名词、术语及设计思路和方法技巧,掌握一种操作系统的安装、使用和简单维护。三、操作系统实验要求操作系统实验共有 5 个,它们是在 UNIX 或 Linux 环境下工作,用 C 语言编程。因此要求学生熟

2、悉 UNIX 或 Linux 操作系统的命令, 同时具有一定的 C 语言或其它编程语言的编程能力。对于算法模拟,可以选用各种其它语言。例如,VB,VC,Java等。操作系统实验的要求:1对实验内容充分准备,并预先作好预习,对一些情况有所分析;2仔细观察上机现象,记录主要情况;3认真书写实验报告,实验报告应包括实验目的及要求,程序框图及程序清单,运行情况及分析意见;4程序中禁止使用GOTO 语句,程序中的主要部分要求有注释。实验 1 UNIX 或 Linux 操作系统的实际使用1目的通过本实验熟悉UNIX 或 Linux 操作系统的命令操作使用。2内容参见教材附录 3 Linux 简要使用说明。

3、3要求(1)熟悉开机后登录进入系统和退出系统;(2)常用命令的操作使用;(3)全屏幕编辑器 vi 的熟悉使用;(4)为以后的上机实验作好充分准备。实验 2 命令解释程序1目的通过本实验熟悉UNIX 或 Unux 操作系统及 C 语言。熟悉系统调用的编程能力,程序中允许使用库函数。2内容利用 C 语言编写一个微型命令解释程序,接收并解释以下命令:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - (1)dir 列当前目录(2)cop

4、文件 1 文件 2 拷贝文件(3)era文件名删除文件(4)dis 字符串显示字符串(5)end 结束,退出3要求(1)进行命令合法性检查,若不合法,显示出错信息,等待重新输入;(2)命令前后有空格为合法命令。4思路下面各题均有编程思路,目的是给大家一些提示、借鉴。同学们可不必拘泥于此,根据自己的理解和想法去编程。(1)用静态数组或二维数组形式定义命令保留字表和shell 命令字表。静态数组形式如下:Static char cst “ dir” ” end”;Static char scwt “ ls1” ” exit”;(2)输入命令字gets(string);(3)分离命令宇strcspn

5、( );strncpy( );(4)比较命令字strcmp( );(5)执行 shell 命令system( );5. 举例DOS 下定义: char cwt “ 1s” “cp” , “ rm” , “echo” , “end” Linux 下定义: char scwt “ 1s” “cp” , “ rm” , “echo” , “end” char coml30,comp30,back30, “0”stdio.hgets(string) puts(string) string.hstrcmp(stringl,string2) strcpy(stringl,string2) strcat(s

6、tringl,string2) 执行:shell system( ) Novell环境下用:tc 产生 aexe 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 实验 3 作业调度设计1目的作业管理是用户与操作系统的接口。作业调度的主要功能是检查系统是否能满足用户作业的资源要求以及按照一定的算法选取作业。本实验的目的是通过模拟作业调度算法的设计加深对作业管理基本原理的理解。2内容(1) 在后备作业队列中,输入5 个作业各自运行所

7、需要的时间及存储空间。按先来先服务的原则进行调度,输出作业调度则帧序及等待的时间和。按最短作业 (即运行时间最短 )优先的原则进行调度,输出作业调度的顺序及等待时间和。按最小作业 (即存储空间最小 )优先的原则进行调度,输出作业调度的顺序及等待的时间和;根据运行情况,比较各种算法。(2) 在后备作业队列中,先输入5 个作业各自运行所需要的时间,然后每输入一个作业的运行时间,就按响应比高者优先的原则进行调度,直到输入作业的运行时间为 0 时,依次输出响应比高的其它作业。(选作)3要求(1) 对输入的每个作业必须编号,输出时要有作业序号、运行时间、存储空间及等待时间(包括总的等待时间 );(2)

8、实验报告中的运行情况要包括输入和输出情况;(3) 比较上面几种调度算法的优劣。4思路(1) 输入格式:要求有序号、运行时间、存储空间。例:num runtime storage 1 20 30 2 40 15 3 50 90 4 20 10 5 35 60 (2) 输出格式:要求有序号、运行时间、存储空间、等待时间及总的等待时间,并注明是何种调度。例:FCFS num runtime storage waittime 1 20 30 0 2 40 15 20 3 50 90 60 4 20 10 110 5 35 60 130 The whole waiting time is:320 (3)

9、 响应比Rp = l + 运行时首先输出 5 个作业中运行时间最短的作业,然后每输入一个作业,计算响应比,输出最高者。输入要求有序号、运行时间;输出要求有序号、运行时间、等待时间。作业等待时间运行时间名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - 5举例建主程序、三个子程序 (例如:先来先服务FCFS、最短作业优先LSFS、最短运行时间作业优先 SRFS)、打印程序及原始数据。五个作业运行时间,建文件DATADAT,其中包含 n

10、um、runtime、storage 、waittime 和The whole waiting time。实验 4 存储管理设计1目的存储管理的主要功能之一是合理地分配存储空间。请求页式存储管理是常用的虚拟存储技术。本实验的目的是通过请求页式管理中页面置换算法了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。2内容(1) 通过随机数产生一个指令序列,共320 条指令。指令的地址按下述原则生成:50的指令是顺序执行的;25的指令是均匀分布在前地址部分25的指令是均匀分布在后地址部分。具体的实施办法是:在 0,319之间选一起点 m;顺序执行一条指令,即m+1条;向前地址 0,m-1中执

11、行一条指令m ;顺序执行一条指令,即m +1 条;向后地址 (m +2,319)中执行一条指令 m 。(2)将指令序列变换成为页地址流。假设:页面大小为 1KB;用户实存容量为4 页到 32 页;用户虚存容量为32KB。用户虚存容量 32KB,每 1KB 中放 10 条指令,共 320 条指令 (0319)。其中 09为0 页,1019为 1 页 310319为 31 页。(3)使用不同的页面调度算法处理缺页中断,并计算不同实存容量下 (432KB)的命中率。先进先出算法 (FIFO);最近最少使用算法 (LRU) ;最佳淘汰算法 (OPT):先淘汰最不常用的页地址; (选作)最少访问页面算法

12、 (LFU)。 (选作)命中率的算法为:命中率 13要求(1)实验报告中要有程序的详细框图,特别是有关算法本身的框图;(2)实验报告中要有程序清单及执行的结果;(3)对不同算法的性能进行评价。4思路关于随机数的产生办法。首先要初始化设置随机数,产生序列的开始点,例如,通过下列缺页中断次数页地址流长度名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - 语句实现:srand ( 400 ) ;(1)计算随机数,产生320 条指令序列m1

13、60;for (i0;i80;i+ ji4;ajm;aj+1m+1;aj+2aj1.0rand( )/32767;aj+3aj+2+1 maj+3+(319-aj+3)1.0rand( )/32767; (2)将指令序列变换成为页地址流for ( k0;k320;k+ ptak/10; (3)计算不同算法的命中率rate1-1.0U/320 ;其中 U 为缺页中断次数, 320 是页地址流长度。(4)输出格式k fifo 1ru 4 0.23 0.25 32 1.0 1.0 实验 5 进程管理设计1目的通过进程的创建、控制和通讯的设计达到下述目的:(1)加深对进程概念的理解,明确进程和程序的区

14、别;(2)进一步认识并发 (共行)执行的概念,区别顺序执行和并发(共行)执行;(3)分析进程争用临界资源的现象,学习解决进程互斥的方法;(4)了解 UNIX 或 Linux 系统中进程通讯的基本原理。2内容(1)进程的创建编制一段程序,使用系统调用fork( )创建两个子进程,这样在此程序运行时,在系统中就有一个父进程和两个子进程在活动。让每一个进程在屏幕上显示一个字符:父进程显示字符 a,子进程分别显示字符b 和字符 c。试观察、记录并分析屏幕上进程调度的情况。如果在程序中使用系统调用nice( )来改变各进程的优先级,会出现什么现象? (2)进程的控制名师资料总结 - - -精品资料欢迎下

15、载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - 修改已编制的程序,将每个进程输出一个字符修改为每个进程输出一句话,再观察程序执行时屏幕上出现的现象。 并分析出现问题的原因。 进一步理解各个进程争夺临界资源的情况。如果在程序中使用系统调用locking( )来给每一个进程加锁,可以实现进程之间的互斥,试观察并分析出现的现象。 (有的系统中承认 locking( )系统调用的合法性,并不能真正锁住,在实验过程中要注意。 ) (3)进程的软中断通讯编制一段程序,实现进程的

16、软中断通讯:使用系统调用fork()创建两个子进程;再使用系统调用。 signal( )让父进程捕捉键盘上来的中断信号(即按 Del 键);在捕捉到中断信号后。父进程用系统调用kill( )向两个子进程发信号;子进程捕捉到信号后分别输出下列信息后终止:child process1 is killed by parent !child process2 is killed by parent !父进程等待两个子进程都终止以后,输出如下信息后终止。parent process is killed!(4)进程的管道通讯编制一段程序, 实现进程的管道通讯: 使用系统调用 pipe( )建立一条管道线;

17、 两个子进程分别循环向这条管道写一句话:child 1 is sending a message !child 2 is sending a message !而父进程则循环从管道中读出信息,显示在屏幕上。用管道进行通讯,实质上是一个多生产者单消费者的问题,必须考虑其中都有哪些同步和互斥,同时向管道输入端写的字节数必须和从输出端读的字节数一致,若不一致,则会出现什么问题。3要求(1)仔细观察实验中的各种现象及出现的问题。分析产生各种现象的原因。 寻找解决问题的办法。(2)实验报告应至少包括带注释的程序清单、输出的结果及对各种现象的分析意见。4思考(1)系统调用 fork( )是怎样创建进程的 ? (2)当首次调用新创建的子进程时,其入口在哪里? (3)为什么各进程占用的处理机时间不等? (4)进程通讯有什么特点 ? (5)含有进程调用的程序与没有进程调用的程序在执行过程中有什么不同?如何体现进程的动态特征 ? 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁