文档库 最新最全的文档下载
当前位置:文档库 › 操作系统第二次作业

操作系统第二次作业

操作系统第二次作业
操作系统第二次作业

26.在一个请求分页系统中,采用OPT、FIFO、LRU页面置换算法时,假如一个

作业的页面走向为5、1、2、3、4、5、3、4、1、2、3、4,当分配给该作业的物理块数M分别为3和4时,试计算在访问过程中所发生的缺页次数和缺页率、置换次数,并比较所得结果。

一:当分配给进程的页面为3时:

(1)采用OPT页面置换算法时,对应多的页面置换情况如表1所示。

表1

页面走向 5 1 2 3 4 5 3 4 1 2 3 4 物理块1 5 5 5 5 5 5 5 5 1 2 2 2 物理块2 1 1 1 4 4 4 4 4 4 4 4 物理块3 2 3 3 3 3 3 3 3 3 3 缺页缺缺缺缺缺缺缺由上表可知,在OPT算法中,缺页为7,置换次数为4,缺页率为7/12。

(2)采用FIFO算法时,对应的页面置换情况如表2所示。

表2

页面走向 5 1 2 3 4 5 3 4 1 2 3 4 物理块1 5 5 5 3 3 3 3 3 1 1 1 4 物理块2 1 1 1 4 4 4 4 4 2 2 2 物理块3 2 2 2 5 5 5 5 5 3 3 缺页缺缺缺缺缺缺缺缺缺缺由上表可知,在FIFO算法中,缺页为10,置换次数为7,缺页率为5/6。

(3)在采用LRU算法时,对应的页面置换情况如表3所示。

表3

页面走向 5 1 2 3 4 5 3 4 1 2 3 4 物理块1 5 5 5 3 3 3 3 3 3 2 2 2 物理块2 1 1 1 4 4 4 4 4 4 3 3 物理块3 2 2 2 5 5 5 1 1 1 4 缺页缺缺缺缺缺缺缺缺缺缺由上表可知,在LRU算法中,缺页为10,置换次数为7,缺页率为5/6。

二:当分配给页面的次数为4时:

(4)在采用OPT算法时,对应的页面置换情况如表4所示。

表4

页面走向 5 1 2 3 4 5 3 4 1 2 3 4 物理块1 5 5 5 5 5 5 5 5 5 2 2 2 物理块2 1 1 1 1 1 1 1 1 1 1 1 物理块3 2 2 4 4 4 4 4 4 4 4 物理块4 3 3 3 3 3 3 3 3 3 缺页缺缺缺缺缺缺由上表可知,在OPT算法中,缺页为6,置换次数为2,缺页率为0.5。

(5)在采用FIFO算法时,对应的页面置换情况如表5所示。

表5

页面走向 5 1 2 3 4 5 3 4 1 2 3 4 物理块1 5 5 5 5 4 4 4 4 4 4 3 3 物理块2 1 1 1 1 5 5 5 5 5 5 4 物理块3 2 2 2 2 2 2 1 1 1 1 物理块4 3 3 3 3 3 3 2 2 2 缺页缺缺缺缺缺缺缺缺缺缺由上表可知,在FIFO算法中,缺页为10,置换次数为6,缺页率为5/6。

(6)在采用LRU算法时,对应的页面置换情况如表6所示。

表6

页面走向 5 1 2 3 4 5 3 4 1 2 3 4 物理块1 5 5 5 5 4 4 4 4 4 4 4 4 物理块2 1 1 1 1 5 5 5 5 2 2 2 物理块3 2 2 2 2 2 2 1 1 1 1 物理块4 3 3 3 3 3 3 3 3 3 缺页缺缺缺缺缺缺缺缺由上表可知,在LRU算法中,缺页为8,置换次数为4,缺页率为2/3。

结果比较:

(1)一般的,对同一种算法而言,物理块数越多,缺页率越小;

(2)当物理块数相同时,FIFO算法和LRU算法的缺页率比OPT算法的大;

(3)一般的,对同一种算法而言,当物理块数越多时,置换次数越少;

(4)当物理块数相同时,FIFO算法和LRU算法的置换次数比OPT算法多。

15.在具有快表的段页式存储管理方式中,如何实现地址变换?

答:在段页式系统中,为了便于是现地址变换,需配置一个段表寄存器,其中存放段表始址和段表长L。进行地址变换时,首先利用段号S,将它与段表长TL进行比较。若S

段页式系统中的地址变换机构如下图所示::

17.分页和分段存储管理有何区别?

答:分页和分段系统有很多的相似之处,比如都才用离散分配方式,都要通过地址映射机构来实现地址变换等。但在概念上两者完全不同,主要表现在以下方面:

(1):页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率。或者说,分页仅仅是由于系统管理的需要而不是用户的需要。段则是信息的逻辑单位,它含有一组意义相对完整的信息。分页的目的是为了能更好的满足用户的需要。(2):页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而在系统中只能有一种大小的页面;而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。(3):分页的作业地址空间是一维的,即单一的线性地址空间,程序员只需利用一个记忆

符,即可表示一个地址。而分段的作业地址则是二维的,程序员在标识一个地址时,既需给出段名,又要给出段内地址。

操作系统第二次作业答案

操作系统第二次作业 一、选择题 1.虚拟存储器的容量是由计算机的地址结构决定的,若CPU有32位地址,则 它的虚拟地址空间为【 A 】。 A.4G B.2G C.64K D.100K 2.在请求分页存储管理方案中,若某用户空间为3个页面,页长1KB,现有页 表如下,则逻辑地址1800】。 A.1052 B.3124 C.1076 D.5896 3.【 A 】用于管理各种不同的真实文件系统,是真实文件系统与服务之间的 接口。 A.VFS B.Ext2 C. vfat D.JFS 4.用磁带作为文件存贮介质时,文件只能组织成【 A 】 A.顺序文件 B.文件 C.索引文件 D.目录文件 5.按数据组织分类,【 B 】是以字节为单位直接读写的设备。 A.块设备 B.字符设备C.网络设备 D.虚拟设备6.在现代操作系统中采用缓冲技术的主要目的是【 C 】。 A.改善用户编程环境 B.提高CPU的处理速度 C.提高CPU和设备之间的并行程度 D.实现与设备无关性 7.【 D 】是将大量计算机通过网络连接在一起,以获得极高的运算能力和数 据共享的系统。 A. 实时系统 B.分时系统 C. 网络系统 D.分布系 统式 8.若一个文件的访问控制权限值为0754,请问同组用户对该文件具有【 C 】 权限。 A. 可读 B.可读可写 C. 可读可执行 D.没有权限 9.操作系统的安全问题中【 D 】是绕过安全性控制、获取对程序或系统访问 权的程序方法。 A.木马B.病毒C.蠕虫D.后门10.虚拟存储器的最大容量是由【B 】决定的。

A.页表长度B.计算机系统的地址结构和外存空间 C.存空间D.逻辑空间 11.在请求分页存储管理方案中,若某用户空间为3个页面,页长1KB,现有页 表如下,则逻辑地址2100】。 A.1052 B.3124 C.1076 D.5296 12.下面的【 B 】不是文件的物理存储结构。 A. 索引文件 B.记录式文件 C. 顺序文件 D.文件 13.从用户的角度看,引入文件系统的主要目的是【C 】。 A. 实现虚拟存储 B.保存文件系统 C. 实现对文件的按名存取 D.保存用户和系统的文档 14.使用SPOOLing系统的目的是为了提高【D 】的使用效率。 A.操作系统B.存C.CPU D.I/O设备 15.在UNIX中,通常把设备作为【 A 】文件来处理。 A.块设备或字符设备 B .普通 C.目录 D. 16.集群是【D 】系统的一种,是目前较热门的领域。 A. 实时 B.分时 C. 嵌入式 D.分布式 17.在终端中用ls –l查看某个文件的详细信息时显示drwxr-xr-x,从中可看出其 他用户对该目录具有【 B 】权限。 A. 可读 B.可读可执行 C. 可读可写可执行 D.可执行 18.操作系统的安全问题中【A 】是一种基于远程控制的黑客工具。 A.木马B.病毒C.后门 D.间谍软件 19.下列关于存地址叙述不正确的是【 A 】 A. 程序员使用的地址是物理地址 B.IA32平台上虚拟地址以“段:偏移量”的形式给出 C.线性地址空间是对CPU寻址能力的一种抽象 D.Linux中虚拟地址等价于线性地址 20.OS为每个文件开辟一个存储区【 C 】,里面记录这该文件的有关信息。 A. PCB B. JCB C. FCB D.DCB 21.从用户的角度看,引入文件系统的主要目的是【 C 】。 A. 实现虚拟存储 B.保存文件系统 C. 实现对文件的按名存取 D.保存用户和系统的文档 22.操作系统采用缓冲技术减少对CPU的【 A 】次数,从而提高资源的利用 率。

操作系统实验 磁盘调度算法

操作系统 实验报告 哈尔滨工程大学 计算机科学与技术学院

第六讲磁盘调度算法 一、实验概述 1. 实验名称 磁盘调度算法 2. 实验目的 (1)通过学习EOS 实现磁盘调度算法的机制,掌握磁盘调度算法执行的条件和时机; (2)观察 EOS 实现的FCFS、SSTF和 SCAN磁盘调度算法,了解常用的磁盘调度算法; (3)编写 CSCAN和 N-Step-SCAN磁盘调度算法,加深对各种扫描算法的理解。 3. 实验类型 验证性+设计性实验 4. 实验内容 (1)验证先来先服务(FCFS)磁盘调度算法; (2)验证最短寻道时间优先(SSTF)磁盘调度算法; (3)验证SSTF算法造成的线程“饥饿”现象; (4)验证扫描(SCAN)磁盘调度算法; (5)改写SCAN算法。 二、实验环境 在OS Lab实验环境的基础上,利用EOS操作系统,由汇编语言及C语言编写代码,对需要的项目进行生成、调试、查看和修改,并通过EOS应用程序使内核从源代码变为可以在虚拟机上使用。 三、实验过程 1. 设计思路和流程图 (1)改写SCAN算法 在已有 SCAN 算法源代码的基础上进行改写,要求不再使用双重循环,而是只遍历一次请求队列中的请求,就可以选中下一个要处理的请求。算法流程图如下图所示。 图 3.1.1 SCAN算法IopDiskSchedule函数流程图(2)编写循环扫描(CSCAN)磁盘调度算法 在已经完成的SCAN算法源代码的基础上进行改写,不再使用全局变量ScanInside 确定磁头移动的方向,而是规定磁头只能从外向内移动。当磁头移动到最内的被访问磁道时,磁头立即移动到最外的被访问磁道,即将最大磁道号紧接着最小磁道号构成循环,进行扫描。算法流程图如下图所示。

《操作系统原理》信管专业实验指导书资料

《操作系统原理》实验指导书 班级:_______________ 学号:_______________ 姓名:_______________ 山东建筑大学管理工程学院 信息管理与信息系统教研室

目录 引言 (1) 实验题目一 (2) 实验题目二 (4) 实验题目三 (6) 实验题目四 (8) 实验题目五 (10) 实验题目六 (12)

引言 操作系统是信息管理与信息系统专业一门重要的专业理论课程,了解和掌握操作系统的基本概念、功能和实现原理,对认识整个计算机系统的工作原理十分重要。 操作系统实验是操作系统课程的一个重要组成部分,通过试验环节的锻炼使同学们不仅能够对以前的所学过的基础知识加以巩固,同时能够通过上机实验,对操作系统的抽象理论知识加以理解,最终达到融会贯通的目的,因此,实验环节是同学们理解、掌握操作系统基本理论的一个重要环节。 本实验指导书,根据教材中的重点内容设定了相应的实验题目,由于实验课程的学时有限,我们规定了必做题目和选做题目,其中必做题目必须在规定的上机学时中完成,必须有相应的预习报告和实验报告。选做题目是针对有能力或感兴趣的同学利用课余时间或上机学时的剩余时间完成。

实验题目一:模拟进程创建、终止、阻塞、唤醒原语 一、题目类型:必做题目。 二、实验目的:通过设计并调试创建、终止、阻塞、唤醒原语功能,有助于对操作系统中进 程控制功能的理解,掌握操作系统模块的设计方法和工作原理。 三、实验环境: 1、硬件:PC 机及其兼容机。 2、软件:Windows OS ,Turbo C 或C++、VC++、https://www.wendangku.net/doc/ba14826970.html, 、Java 等。 四、实验内容: 1、设计创建、终止、阻塞、唤醒原语功能函数。 2、设计主函数,采用菜单结构(参见后面给出的流程图)。 3、设计“显示队列”函数,目的能将就绪、阻塞队列中的进程信息显示在屏幕上,以供 随时查看各队列中进程的变化情况。 五、实验要求: 1、进程PCB 中应包含以下内容: 2、系统总体结构: 其中: 进程名用P1,P2标识。 优先级及运行时间:为实验题目二做准备。 状态为:就绪、运行、阻塞,三种基本状态。 指针:指向下一个PCB 。

操作系统复习题及答案

1操作系统概述自测题 1 选择题 1.以下_____操作系统中的技术是用“时间”来换取“空间”的。 A.虚拟存储器 B.缓冲技术 C.SPOOLing技术 D.快表 2.设计实时操作系统必须首先考虑系统的______。 A.效率 B.可移植性 C.可靠性 D.使用的方便性 3.一个作业第一次执行时用了5min,而第二次执行时用了6min,这说明了操作系统的______特点。 A.并发性 B.共享性 C.虚拟性 D.不确定性 4.下述操作系统类型中,哪个操作系统一定是由多台计算机组成的系统? A.实时 B.批处理 C.分时 D.分布式 5.操作系统中,以下______采用了以“空间”换“时间”的技术。 A.终端技术 B.缓冲技术 C.通道技术 D.虚拟存储技术 6.按照所起的作用和需要的运行环境,操作系统属于_______。 A.支撑软件 B.用户软件 C.应用软件 D.系统软件 7.操作系统的主要功能是存储器管理、设备管理、文件管理、用户接口和______。 A.进程管理 B.用户管理 C.信息管理 D.操作系统管理 8.操作系统的最基本的两个特征是资源共享和_______。 A.多道程序设计 B.程序的并发执行 C.中断 D.程序顺序执行

9.采用多道程序设计技术可以提高CPU和外部设备的______。 A.稳定性 B.可靠性 C.利用率 D.兼容性 10.在计算机系统中,操作系统是_______。 A.处于裸机之上的第一层软件 B.处于硬件之下的底层软件 C.处于应用软件之上的系统软件 D.处于系统软件之上的用户软件 11.操作系统是对_____进行管理的软件。 A.软件 B.硬件 C.计算机资源 D.程序 12.从用户的观点,操作系统是______。 A.用户与计算机之间的接口 B.控制和管理计算机资源的软件 C.合理地组织计算机工作流程的软件 D.是扩充裸机功能的软件,是比裸机功能更强、使用方便的虚拟机 13.操作系统的基本类型是_____。 A.批处理系统、分时系统和多任务系统 B.实时系统、分时系统和批处理系统 C.单用户系统、多用户系统和批处理系统 D.实时系统、分时系统和多用户系统 14.为了使系统中的所有用户都得到及时的响应,操作系统应该是___. A.实时系统 B.批处理系统 C.分时系统 D.网络系统 15.如果分时系统的时间片一定,那么____会使响应时间越长。 A.用户数越少 B.用户数越多 C.内存越少 D.内存越多

川大2020《计算机控制系统》第二次作业答案

首页 - 我的作业列表 - 《计算机控制系统》第二次作业答案 完成日期:2020年06月08日 14点48分 说明:每道小题选项旁的标识是标准答案。 一、单项选择题。本大题共16个小题,每小题 3.0 分,共48.0分。在每小题给出的选项中,只有一项是符合题目要求的。 1.()是将生产过程工艺参数转换为电参数的装置。 A.传感器 B.A/D转换器 C.D/A转换器 D.互感器 2.在计算机和生产过程之间设置的信息传送和转换的连接通道是()。 A.接口 B.过程通道 C.模拟量输入通道 D.开关量输入通道 3.所谓量化,就是采用一组数码来逼近离散模拟信号的幅值,将其转换为 ()。 A.模拟信号 B.数字信号 C.程序代码 D.量化代码 4.数控系统一般由输入装置、输出装置、控制器和插补器等四大部分组成, 这些功能都由()来完成。 A.人 B.生产过程 C.计算机 D.实时计算 5.外界干扰的扰动频率越低,进行信号采集的采样周期应该越()。 A.长 B.短

C.简单 D.复杂 6.数字PID控制器是控制系统中应用最为广泛的一种控制规律,其中能迅速 反应误差,从而减小误差,但不能消除稳态误差的是()。 A.微分控制 B.积分控制 C.比例控制 D.差分控制 7.在计算机控制系统中,PID控制规律的实现必须采用数值逼近的方法。当 采样周期短时,用求和代替积分、用后向差分代替微分,使模拟PID离散化变为()。 A.微分方程 B.差分方程 C.积分方程 D.离散方程 8.香农采样定理给出了采样周期的上限,采样周期的下限为计算机执行控制 程序和()所耗费的时间,系统的采样周期只能在Tmin和Tmax之间选择。 A.输入输出 B.A/D采样时间 C.D/A转换时间 D.计算时间 9.在有交互作用的多参数控制系统中,振铃现象有可能影响到系统的()。 A.可靠性 B.稳定性 C.经济性 D.通用性 10.在实际生产过程中,因为前馈控制是一个(),因此,很少只采用前馈 控制的方案,常常采用前馈-反馈控制相结合的方案。 A.开环系统

操作系统第一次与第二次实验报告

实验报告 实验1 Linux基本环境 1、实验目的 (1)熟悉Linux下的基本操作,学会使用各种Shell命令去操作Linux,对Linux 有一个感性认识。 (2)学会使用vi编辑器编简单的C语言程序,并能对其编译和调试。 2、实验内容 (1)以root用户身份登陆,并使用“ls”,“cat”“cd”等命令来实现基本的文件操作并观察Linux文件系统的特点; (2)使用vi编辑器编写一C程序,并用gcc命令进行编译和链接,并用a.out 来进行输出结果。 3、实验结果 (1) a.输入“ls”后,vi编辑器显示主文件夹下的所有文件及目录名。使用dir 查看当前目录内容。 b.输入“cat”后,会显示文件:cat 文件名建立文件:cat >文件名, ctrl+d结束输入。 c.输入“cd”,改变当前目录,cd ..回到上层目录,cd /回到根目录。(2) a.在命令行键入vi filename.c 然后回车。 b.按一下键盘上的I键(insert),进入编辑模式。(a与i是相同的用法) c.当文件编辑完后,按Esc 键;输入:wq) ,保存退出。 d.对刚才编写的程序进行编译。编译的命令是:gcc filenam e.c e.最后运行程序,命令式:./a.out 4、实验总结 通过做本次实验,我熟悉了Linux环境下的基本操作,学会使用各种命令去操作Linux,也学会使用vi编辑器编辑简单的程序,并能对其编译

和调试。了解并掌握了对vi编辑器的一些基本使用方法等。可能由于初次接触Linux环境,所以刚开始编程时出现了许多错误,但我及时找同学或老师来帮忙,解决我的问题,这些错误能够让我更清楚地了解自己对哪些知识掌握的不够透彻,让自己对知识掌握的更牢固。 实验2 进程管理 1、实验目的 (1)加深对进程概念的理解,明确进程和程序的区别。 (2)进一步认识并发执行的实质。 (3)分析进程竞争资源现象,学习解决进程互斥的方法。 (4)了解Linux系统中进程通信的基本原理。 2、实验内容 (1)进程的创建 编写一段源程序,使系统调用fork()创建两个子进程,当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕 上显示一个字符:父进程显示字符“a”;子进程分别显示字符“b”和 字符“c”。试观察纪录屏幕上的显示结果,并分析原因。 (2)进程的控制 修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行时屏幕出现的现象,并分析原因。 如果在程序中使用调用lockf()来给每一个子进程加锁,可以实现进程 之间的互斥,观察并分析出现的现象。 (3)①编写一段程序,使其现实进程的软中断通信。 要求:使用系统调用fork()创建两个子进程,再用系统调用signal() 让父进程捕捉键盘上来的中断信号(即按DEL键);当捕捉到中断信号 后,父进程用系统调用Kill()向两个子进程发出信号,子进程捕捉到信 号后分别输出下列信息后终止: Child Processll is Killed by Parent!

操作系统复习题及参考答案1-4

中南大学网络教育课程考试复习题及参考答案 操作系统1 一、判断题: 1.资源共享是现代操作系统的一个基本特征。() 2.信号量机制中,P、V操作必须成对出现。() 3.若进程资源分配图中含有环,则一定有进程处于死锁状态。() 4.绝对装入方式需要对内存地址进行重定位。() 5.“分页对换”和“分段对换”是为了支持虚拟存储系统。() 6.通道没有自己的内存,通道所执行的通道程序是放在主机的内存中的。() 7.程序的并行执行是现代操作系统的一个基本特征。() 8.一个进程被唤醒意味着重新占有了CPU。() 9.进程在运行过程中,请问和释放资源顺序不当,同样可以引起死锁。() 10.分段存储管理的引入是为了满足用户(程序员)在编程和使用上多方面的要求。() 11.系统中的各个部件,如CPU、存储设备等的连接都是由总线设备来实现的。() 12.在文件的索引存取方法中,允许随意存取文件中的一个记录。() 13.程序在并发执行时会失去封闭性。() 14.由于用户的响应时间要求,因此要求设置大的时间片长度。() 15.预防死锁是指在资源动态分配过程中,用某种方法去防止系统进入不安全状态。() 16.内存的单一连续分配模式只能用在单用户、单任务的OS中。() 17.虚拟存储器的“虚拟”是指用户可使用的内存容量比实际的内存容量大的多。() 18.在文件系统支持下,用户也需知道文件存放的物理地址。() 19.在单CPU环境下可以实现“多道程序系统”。() 20.程序与进程最主要的区别在于程序是静态实体,而进程是动态实体。() 21.死锁与程序的死循环一样。() 22.内存固定分区分配模式只能用在单用户、单任务的OS中。() 23.采用LRU置换算法时,当驻留集增大时,页故障率一定不会增加。() 24.通道与CPU共享内存。() 二、填空题: 1.操作系统的基本任务是( )。 2.从资源分配的角度看,P(wait)操作意味着向系统( )一个资源,V(signal)操作意味着( )一个资 源。 3.一个批处理型作业,从进入系统并驻留在外存的后备队列上开始,直至作业运行完毕,可能要经历下 述三级调度()、()、()。 4.产生死锁的四个必要条件是()、()、()和()。 5.()称之为“页内碎片”。 6.文件按其用途可分为:用户文件、()和()。 7.分时系统的四个主要特征是()、()、()、()。 8.进程调度分为以下两种方式()、()。 9.死锁的必要条件之一是“互斥”,该条件是指()。 10.根据链接时间的不同,可把链接分为()、()、()三种。 11.I/O控制方式主要分为()、()、()。 12.直接存储器DMA方式是专对()设备进行I/O控制的。 13.多道批处理系统的优缺点主要有()、()、()。 14.程序的并发执行的特征有()、()、()。 15.调度队列模型分为()、()、()。 16.程序的装入分为()、()、()。 17.缓冲区可工作在()、()、()和提取输出四种工作方式下。

《操作系统》第二次作业参考答案

习题与参考答案 ? 1.10 什么是用户态和核心态?有何作用? 答:内核态可以无限制访问系统和资源,包括对系统存储、外部设备进行访问。操作系统就工作在内核态模式下。用户态下进程的访问权限受到了限制,可正常执行普通的操作命令外,对关键资源只能通过操作系统接口访问。例如,不能直接访问外部设备,不能直接访问操作系统的内存代码和数据。其作用是保护操作系统不受用户程序的破坏,提高系统的可靠性。 ? 1.11 什么是微内核结构?与单内核结构相比,各有何优势和缺点? 答:微内核结构:1)有足够小的内核2)基于客户/服务器模式 微内核结构优势:1)提高了系统的可扩展性2)增强了系统的可靠性;缺点:在完成一次客户对OS提出的系统服务请求时,需要进行消息内容打包和解包,需要进行消息的多次拷贝,进行多次用户/内核模式及上下文的切换,从而使微内核OS的运行效率降低。 单内核结构优势:系统服务只需要进行两次上下文的切换,效率较高。缺点:可靠性较低,可扩展性较差; ? 1.12 什么是并发?举例说明。 答:并发是指两个或多个事件在同一时间间隔内发生。如:在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行。可分为三种不同的执行情况,包括顺序执行、交替执行和并行执行。在多道分时操作系统中,如果只有一个CPU,每一时刻仅能有一道程序执行,微观上这些程序分时地交替执行,但在宏观上(一段时间内)是同时执行;在有多个处理机的系统中,多个程序便可被分配到不同处理机上,实现并行执行,是并发执行的一种特殊情况。 ? 1.13 什么是互斥共享?举例说明。 答:互斥访问共享是共享资源的一种形式,要求在一段时间内只允许一个进程可以访问该资源。例如:当一个进程A要访问某资源时,必须先提出请求。如果此时该资源空闲,系统便可将之分配给请求进程A使用。此后若再有其他进程B也要访问该资源时但A未用完时,则必须等待。仅当A进程访问完并释放该资源后,才允许进程B对该资源进行访问。 ? 1.14 什么是系统调用,与程序调用有何不同? 答:系统调用是应用程序请求OS内核完成某种功能的一种过程调用,是应用程序使用操作系统功能的入口。 与程序调用的不同:1)运行在不同的系统状态,调用程序是在用户态,被调用程序是运行在系统态2)状态的转换通过软中断进入3)返回问题,在采用了抢占式调度方式的系统中,在被调用过程执行完后,要对系统中所有要求运行的进程做优先权分

操作系统第二次实验first-fit, next-fit

操作系统第二次实验报告 物联网1301 齐亨13516110 一、实验简介 本实验要求建造一个没有虚拟功能的内存管理系统。任务如下: ? 设计一个内存管理器,支持至少两种分配策略, 如first-fit, next-fit, best-fit, worst-fit 等。 ? 对不同分配策略的性能进行评估。 二、实验过程 1、first fit(首次适应) 首次适应策略的思路是,分配时在空闲块列表中搜索,找到第一个能够满足请求的块即停止搜索,然后把搜索到的块分割,一部分返回给请求者,另一部分仍然作为空闲块留在空闲列表的原来位置。首次适应策略的问题在于,链表头部区域的块倾向于被首先分割,经过一段时间后,空闲链表头部可能堆积大量小的空闲块,这会导致搜索时间的增加,因为当请求一个头部区域的小块无法满足的块时,需要顺次检查这些小块。 代码如下: #include #include #include int array[99]; int *array_request(int n) { int count=0; int *p=&array[0]; int *l=&array[99]; while(count

} if(count

操作系统原理实验指导

操作系统实验指导 操作系统是计算机的最重要的系统软件,它在计算机中具有核心地位,其作用是对计算机系统资源进行统一的调度和管理,提供各种强有力的系统服务,为用户创造灵活而又方便的使用环境。一个精心设计的操作系统能极大地扩充计算机系统的功能,充分地发挥系统中各种资源的使用效率,提高系统工作的可靠性。 操作系统原理是计算机科学与技术专业的一门主要专业课程,它涉及计算机系统中各种软、硬资源管理的实现原理与方法,内容非常丰富,综合性非常强,并且还具有很强的实践性。只有把理论与实践紧密地结合起来,才能取得较好地学习效果。 培养计算机专业学生的系统程序设计能力,也是本课程的重要环节。系统程序要求结构清晰、合理、可读性好,有准确而简明的注释。通过实验可以培养学生正规系统程序设计能力。 本实验包括下列六个方面: 实验一几种操作系统的界面 实验二进程调度 实验三存储器管理 实验四存储器管理 实验五磁盘驱动调度 实验六文件管理系统 上述每个实验约需要10个学时。可根据实际情况选用。最好学生自己独立完成,如有困难,可参考一些示例,弄清每个实验的思想和实现方法,上机调试通过,不能完全照搬示例。 实验一几种操作系统的界面 1、目的与要求 目的:通过本实验,学生应熟悉1~2种操作系统的界面。在熟练使用的基础上,能了解各种命令和调用在系统中的大致工作过程,也就是通过操作系统的外部特性,逐步深入到操作系统的内在实质内容中去。 要求:能熟练地在1~2种操作系统环境下工作。学会使用各种命令,熟悉系统提供的各种功能。主动而有效地使用计算机。 熟悉系统实用程序的调用方法和各种系统调用模块的功能和用法。 2、示例 用1~2种操作系统提供的各种手段,建立、修改、编辑、编译和运行程序,最后撤消一个简单程序。要尽可能多地使用系统提供的各种命令和功能。 操作系统可为如下两种序列: (1)Windows 98或Windows 2000或Windows XP。 (2)Linux或Unix。 下面简要介绍一下Unix操作系统。 Unix是一个分时操作系统,面向用户的界面shell是一种命令程序设计语言,这种语言向用户提供了从低到高,从简单到复杂的三个层次的使用方式。它们是简单命令、组合命令和shell过程。 简单命令:Unix命令一律使用小写字母。 例如:ls -l 显示文件目录(长格式) rm 删除一个文件 cat 合并和传送文件、 cp 复制文件 mv 文件改名 cc 编译C语言源程序 组合命令:shell简单命令可以用管道算符|组合构成功能更强的命令。

操作系统复习题含答案

一、什么是操作系统?你都用过什么操作系统?各有什么特点? 操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。DOS系统都是以命令的方式运行指令,有的也支持鼠标,甚至也可以做成菜单方式,但跟windows的亲和性相比是无法相比的。windos系列的操作系统主要特点就是简单,图形操作,不需要死记命令,适合非专业人士使用。unix系列由于是开源的,所以操作复杂,功能强大,可以按自己的需求设计与改造,适合专业人士,不适合初学者。 二、试说明操作系统系统的主要功能模块及其主要任务? 处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度; 进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。 进程同步:为多个进程(含线程)的运行进行协调。 进程通信:用来实现在相互合作的进程之间的信息交换。 处理机调度: (1)作业调度。从后备队里按照一定的算法,选出若干个作业,为他们分配运行所需 的资源(首选是分配内存)。 (2)进程调度:从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给 它,并设置运行现场,使进程投入执行。 内存管理的主要功能有:内存分配、内存保护、地址映射和内存扩充。 内存分配:为每道程序分配内存。 内存保护:确保每道用户程序都只在自己的内存空间运行,彼此互不干扰。 地址映射:将地址空间的逻辑地址转换为内存空间与对应的物理地址。 内存扩充:用于实现请求调用功能,置换功能等。 设备管理主要功能有: 缓冲管理、设备分配和设备处理以及虚拟设备等。 主要任务: 完成用户提出的I/O 请求,为用户分配I/O 设备;提高CPU 和I/O 设 备的利用率;提高I/O速度;以及方便用户使用I/O设备. 文件管理的主要功能是文件存储空间的管理,目录管理,文件的读写管理和文件的共享与保护。主要任务是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。 三、什么是多道程序设计技术?试叙述多道程序运行的特征。 所谓多道程序设计指的是允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法。也就是说,计算机内存中可以同时存放多道(两个以上相互独立的)程序,它们都处于开始和结束之间。从宏观上看是并行的,多道程序都处于运行中,并且都没有运行结束;从微观上看是串行的,各道程序轮流使用CPU,交替执行。多道程序技术运行的特征:多道、宏观上并行、微观上串行。 四、在一个分时操作系统中,用户提交了一个作业,作业的内容包括:①请求内存(memory);

操作系统实验3报告

实验三、进程通讯 ——管道及共享内存姓名:徐洪班级:10电信实验班学号:Q10600109 实验用学号:e06620111 一、实验目的 (1)加深对管道概念的理解。 (2)掌握利用管道进行进程通信的程序设计。 (3)Linux系统的共享内存机制允许在任意进程间大批量地交换数据。本实验的目的是了解和熟悉Linux支持的共享存储区机制。 二、实验预备内容 认真阅读实验材料中管道通信及共享内存部分,加深对管道通信及共享内存机制的理解。 三、实验内容 任务一、 (1)阅读以上父子进程利用管道进行通信的例子(例1),写出程序的运行结果并分析。 (2)编写程序:父进程利用管道将一字符串交给子进程处理。子进程读字符串,将里面的字符反向后再交给父进程,父进程最后读取并打印反向的字符串。 任务二、 (1)阅读例2的程序,运行一次该程序,然后用ipcs命令查看系统中共享存储区的情况,再次执行该程序,再用ipcs命令查看系统中共享内存的情况,对两次的结果进行比较,并分析原因。最后用ipcrm命令删除自己建立的共享存储区。(有关ipcs和ipcrm介绍见后面一页)(2)每个同学登陆两个窗口,先在一个窗口中运行例3程序1(或者只登陆一个窗口,先在该窗口中以后台方式运行程序1),然后在另一个窗口中运行例3程序2,观察程序的运行结果并分析。运行结束后可以用ctrl+c结束程序1的运行。 四、实验结果 运行例1 反向输出

main() { int x,fd[2],n,i,fs[2]; char buf[30],s[30],m[30],b[30]; pipe(fd); pipe(fs); while ((x=fork())==-1); if (x==0) { close(fd[0]); close(fs[1]); printf("Parent Process!\n"); strcpy(buf,"This is an example\n"); write(fd[1],buf,30); read(fs[0],m,30); printf("Parent Process1!\n"); printf("%s\n",m); } else{ close(fd[1]); close(fs[0]); printf("Child Process!\n"); read(fd[0],s,30); n=strlen(s)-1; for( i=0;i

实验指导(2015完全版)

操作系统上机实验指导书 (第一版) 闫大顺李晟编著 吴家培主审 计算机科学与工程学院 2014.8

操作系统实验指导 本课程是为《计算机操作系统》课所开的实验。计算机操作系统课程是一门实践性很强的技术课程,本课程实验的目的在于培养学生的实践能力,促进理论与实践的结合。要求学生通过上机编程,熟悉对操作系统原理,并熟练使用程序接口,并了解如何模拟操作系统原理的实现,从而加深对操作系统原理的领会,加深对操作系统实现方法的理解,与此同时使学生在程序设计方面也能够得到很大程度的提高。 实验的目的是使学生理论联系实际,提高学生系统理解与开发能力。这里所列的实验分为必做和选做。具体实验题的选择,不仅要考虑课程内容,而且要考虑学生目前的编程能力,要由浅入深。教师可通过运行示例或动画,帮助学生理解实验要求。学生应选择自己熟悉的语言与开发环境去完成实验。根据以往的教学经验,Delphi、C++ Builder,JBuilder由于提供了许多可重用的构件,易于学习、使用,VC++学习、使用困难较多。实验要求尽量在windows操作系统下,也可以在Linux下完成,由于多数没有专门学习Linux,在其平台下做试验比较困难。实验的硬件要求是能够支持VC++、Delphi、C++ Builder,JBuilder的微机即可。每个学生都独立在一台计算机上完成自己的实验内容,杜绝学生的抄袭。 实验报告的要求 1. 每位同学准备实验报告本,上机前作好充分的准备工作,预习本次实验的内容,事先熟悉与实验有关的软硬件环境。 2. 实验时遵守实验室的规章制度,爱护实验设备,对于实验设备出现的问题,要及时向指导老师汇报。 3. 提交实验文件格式:[班级][学号]_[实验题号].[扩展名] 例:计051班学号为03的学生第四个实验的文件名为:j05103_4.c 4. 最终的实验报告按照实验名称、实验目的、实验内容,实验过程(程序设计、实现与调试)、实验总结五部分书写,按时上交。实验总结是对于实验过程中出现的问题或疑惑的分析与思考。认真按照要求填写到实验报告纸上。

操作系统作业题及答案

《操作系统》课程作业 (2013年春) 姓名: 学号: 专业: 年级: 学校: 日期:

作业一:作业管理 1、有三道程序A、B、C在一个系统中运行,该系统有输入、输出设备各1台。三道程序 A、B、C构成如下: A:输入32秒,计算8秒,输出5秒 B:输入21秒,计算14秒,输出35秒 C:输入12秒,计算32秒,输出15秒 问:(1)三道程序顺序执行的总时间是多少? (2)充分发挥各设备的效能,并行执行上述三道程序,最短需多少时间(不计系统开销)?并给出相应的示意图。 2、假设一个单CPU系统,以单道方式处理一个作业流,作业流中有2道作业,共占用CPU 计算时间、输入卡片数和打印输出行数如下: 其中,卡片输入机速度为1000张/分钟,打印机输出速度为1000行/分钟,试计算:(1)不采用spooling技术,计算这两道作业的总运行时间(从第1道作业输入开始到最后一个作业输出完毕)。 (2)如采用spooling技术,计算这2道作业的总运行时间(不计读/写盘时间),并给出相应的示意图。

作业二:进程管理 1、 请写出两程序S1和S2可并发执行的Bernstein 条件。 2、 有以下5条语句,请画出这5条语句的前趋图。 S1:y=x+1 R(x) W(y) S2:c=f-w R(f,w) W(c) S3:d=r-y R(r,y) W(d) S4:x=a+b R(a,b) W(x) S5:r=c+y R(c,y) W(r) 3、 设在教材第62页3.6.4节中所描述的生产者消费者问题中,其缓冲部分为m 个长度相等 的有界缓冲区组成,且每次传输数据长度等于有界缓冲区长度以及生产者和消费者可对缓冲区同时操作。重新描述发送过程deposit(data)和接收过程remove(data)。 P P P i P .. .. 1 2 i k 4、 设有k 个进程共享一临界区,对于下述情况,请说明信号量的初值、含义,并用P ,V 操作写出有关互斥算法。 (1) 一次只允许一个进程进入临界区; (2) 一次允许m (m

东北大学操作系统第二次实验报告

实验4:进程的管道通信 一、题目:进程的管道通信 二、目的: ●加深对进程概念的理解,明确进程和程序的区别; ●学习进程创建的过程,进一步认识并发执行的实质; ●分析进程争用资源的现象,学习解决进程互斥的方法; ●学习解决进程同步的方法; ●掌握Linux系统进程间通过管道通信的具体实现方法。 三、实验内容 ?使用系统调用pipe()建立一条管道线,两个子进程分别向管道写一句话(写 的内容自己定,但要有该进程的一些信息); ?父进程从管道中读出来自两个子进程的消息,显示在屏幕上; ?要求:父进程首先接收子进程p1发来的消息,然后再接收子进程p2发来的 消息。 四、实验要求 1、这是一个设计型实验,要求自行、独立编制程序; 2、两个子进程要并发执行; 3、实现管道的互斥使用。当一个子进程正在对管道进行写操作时,另一个欲写入管道的子进程必须等待。使用系统调用lockf(fd[1],1,0)实现对管道的加锁操作,用lockf(fd[1],0,0)解除对管道的锁定; 4、实现父子进程的同步,当父进程试图从一空管道中读取数据时,便进入等待状态,直到子进程将数据写入管道返回后,才将其唤醒。 五、程序流程图

图5.1 父进程流程图

图5.2子进程P1流程图图5.3子进程P2流程图 六、源程序 #include #include #include #include #include #include #include #include

操作系统第二次作业

《计算机操作系统》第二次作业 一、填空题 1、对于通用计算机而言,存储层次至少应具有最高层(CPU寄存器)、中间层(主存)、最低层(辅存)三级。 2、在较高档的计算机中,根据具体功能分工将存储器细划为(寄存器)、(高速缓存)、(主存储器)(磁盘缓存)、(固定磁盘)、(可移动存储介质)等六层。 3、在存储层次中,越向上,存储介质的访问速度越(快),价格越(高),相对存储容量越(小)。 4、在计算机系统存储层次中,(主存储器)和(寄存器)又称为可执行存储器,进程对它的访问可通过(机器)或(I/O)指令实现。 5、在I/O设备的接口中,有(数据信号)、(状态信号)、(控制信号)三种类型的信号。 6、设备控制器的基本功能有(数据缓冲)、(差错控制)、(数据交换)、(标识和报告设备的状态)、(接收和识别命令)、(地址识别)六个。 7、设备控制器由(设备控制器与处理机的接口)、(设备控制器与设备的接口)、(I/O 逻辑)三部分组成。 8、I/O通道的类型有(字节多路通道)、(数组选择通道)、(数组多路通道)三种。 9、基于文件系统的概念,可以把数据组成分为(文件)、(记录)、(数据项)三级。 10、在文件系统中,数据项可分为(基本数据项)和(组合数据项)两种类型。 11、文件可分为(有结构文件)和(无结构文件)两种。 12、文件的属性包括(文件类型)、(文件长度)、(文件的物理位置)、(文件的存取控制)四个。(还有一个文件的建立时间) 二、选择题 1、寄存器、高速缓存、主存储器和磁盘缓存均()操作系统管理的管辖范畴,掉电后它们存储的信息()。B A)属于、仍存在 B)属于、不存在 C)不属于、仍存在 D)不属于、不存在 2、固定磁盘和可移动存储介质均()操作系统管理的管辖范畴,掉电后它们存储的信息()。C A)属于,仍存在 B)属于,不存在 C)不属于,仍存在 D)不属于,不存在 3、在计算机系统存储层次中,系统对存放于寄存器和主存储器和存放于辅存中的信息的访问机制是()的,所需耗费的时间是()的。D A)相同,相同 B)相同,不同 C)不同,相同 D)不同,不同 4、单一连续分配方式可用于()的操作系统中。A A)单用户,单任务 B)单用户,多任务 C)多用户,单任务 D)多用户,多任务 5、在(A)中,由于/CPU的高速性和I/O设备的低速性,造成对CPU资源的极大浪费。 A)程序I/O方式 B)中断驱动I/O控制方式

操作系统实验报告.实验一_WINDOWS进程初识

操作系统教程 实验指导书

实验一WINDOWS进程初识 1、实验目的 (1)学会使用VC编写基本的Win32 Consol Application(控制台应用程序)。 (2)掌握WINDOWS API的使用方法。 (3)编写测试程序,理解用户态运行和核心态运行。 2、实验内容和步骤 (1)编写基本的Win32 Consol Application 步骤1:登录进入Windows,启动VC++ 6.0。 步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择“Win32 Consol Application”,然后在“Project name”处输入工程名,在“Location”处输入工程目录。创建一个新的控制台应用程序工程。 步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++ Source File”, 然后在“File”处输入C/C++源程序的文件名。 步骤4:将清单1-1所示的程序清单复制到新创建的C/C++源程序中。编译成可执行文件。 步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows “命令提示符”窗口,然后进入工程目录中的debug子目录,执行编译好的可执行程序:E:\课程\os课\os实验\程序\os11\debug>hello.exe 运行结果 (如果运行不成功,则可能的原因是什么?) : 答:运行成功,结果: (2)计算进程在核心态运行和用户态运行的时间 步骤1:按照(1)中的步骤创建一个新的“Win32 Consol Application”工程,然后将清单1-2中的程序拷贝过来,编译成可执行文件。 步骤2:在创建一个新的“Win32 Consol Application”工程,程序的参考程序如清单1-3所示,编译成可执行文件并执行。 步骤3:在“命令提示符”窗口中运行步骤1中生成的可执行文件,测试步骤2中可执行文件在核心态运行和用户态运行的时间。 E:\课程\os课\os实验\程序\os12\debug>time TEST.exe 步骤4:运行结果 (如果运行不成功,则可能的原因是什么?) 因为此程序是个死循环,所以运行时间为无穷大。_______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ __________________________________________________________________________

操作系统原理实验报告(终版)

操作系统原理实验报告(终版)

————————————————————————————————作者:————————————————————————————————日期:

[键入文字] XX学校 实验报告 课程名称: 学院: 专业班: 姓名: 学号: 指导教师: 2011 年3 月

目录 实验1 进程管理 (3) 一、实验目的 (3) 二、实验内容 (3) 三、实验要求 (3) 四、程序说明和程序流程图 (4) 五、程序代码 (5) 六、程序运行结果及分析 (7) 七.指导教师评议 (8) 实验2 进程通信 (9) 一、实验目的 (9) 二、实验内容 (9) 三、实验要求 (9) 四、程序说明和程序流程图 (9) 五、程序代码 (11) 七.指导教师评议 (14) 实验3 存储管理 (15) 一、实验目的 (15) 二、实验内容 (15) 三、实验要求 (15) 四、程序说明和程序流程图 (16) 六、程序运行结果及分析 (23)

七.指导教师评议 (23) 实验4 文件系统 (24) 一、实验目的 (24) 二、实验内容 (24) 三、实验要求 (24) 四、程序说明和程序流程图 (24) 五、程序代码 (26) 六、程序运行结果及分析 (26) 七.指导教师评议 (27)

实验1 进程管理 一、实验目的 1. 弄清进程和程序的区别,加深对进程概念的理解。 2. 了解并发进程的执行过程,进一步认识并发执行的实质。 3. 掌握解决进程互斥使用资源的方法。 二、实验内容 1. 管道通信 使用系统调用pipe( )建立一个管道,然后使用系统调用fork( )创建2个子进程p1和p2。这2个子进程分别向管道中写入字符串:“Child process p1 is sending message!”和“Child process p2 is sending message!”,而父进程则从管道中读出来自两个子进程的信息,并显示在屏幕上。 2. 软中断通信 使用系统调用fork( )创建2个子进程p1和p2,在父进程中使用系统调用signal( )捕捉来自键盘上的软中断信号SIGINT(即按Ctrl-C),当捕捉到软中断信号SIGINT后,父进程使用系统调用kill( )分别向2个子进程发出软中断信号SIGUSR1和SIGUSR2,子进程捕捉到信号后分别输出信息“Child process p1 is killed by parent!”和“Child process p2 is killed by parent!”后终止。而父进程等待2个子进程终止后,输出信息“Parent process is killed!”后终止。 三、实验要求 1. 根据实验内容编写C程序。 2. 上机调试程序。 3. 记录并分析程序运行结果。

相关文档
相关文档 最新文档