操作系统习题课1

操作系统习题课1
操作系统习题课1

1、什么是进程?它与程序有什么不同?

进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。

进程和程序的区别:①进程是程序处理数据的过程,而程序是一组指令的有序集合;②进程具有动态性、并发性、独立性和异步性,而程序不具有这些特性;③从进程的结构特性上看,它包含程序;④进程和程序并非一一对应。

2、为什么要引入进程的概念?

程序并发执行时产生了一系列程序顺序执行时所没有的新的特点,传统的“程序”概念已不足以描述和刻画他们,为此引入“进程”的概念,以实现程序在多道系统中的并发执行。。

3、什么叫进程同步和互斥?举例说明

进程同步是指一个进程的执行会因为等待另一个进程的某个事件而受到影响。例如消息发送原语与消息接收原语的执行。

进程互斥是指一个进程正在使用某个系统资源,另一个想用该资源的进程就必须等待,而不能同时使用。例如死锁现象,正是由于进程的互斥,同一个系统资源不能同时被多个进程使用,才会出现互相等待的状态,造成死锁。

5、请求分页技术和简单分页技术之间的根本区别是什么?

根本区别是:

(1)请求分页技术在作业运行之前,只要求把作业当前所需要的一部分页面装入主存,其

它部分放入辅存,当需要其它的页面时,再把所需页面调入主存,从而实现了存储扩充,使得小存可以运行大作业。

(2)简单分页技术在作业运行之前,要把全部作业都装入主存,没有实现存储扩充。

6、什么是死锁?造成死锁的根本原因是什么?

在系统中某个进程提出资源请求后,使得若干进程在无外力作用下永远不能前进(继续运行),系统处于停滞状态,这种现象称为死锁。处于死锁状态的进程称为死锁进程。死锁大多是由于并发进程共享临界资源引起的,死锁与时间相关。

产生死锁的根本原因是:(1)系统资源不足;(2)进程运行推进的顺序不合适;(3)资源分配不当之处。

7、什么是分页?什么是分段?二者有何主要区别?

分页是将一个进程的逻辑地址空间分成若干个大小相等的页(或称页面),存空间分成与页相同大小的物理块(或称页框)。在为进程分配存时,以块为单位进行分配,每页分配一块。系统为每个进程建立一页面映射表(简称页表),记录相应页在存中对应的物理块号。

分段是将程序的地址空间被分成若干个段,每段采用连续的地址空间。这样程序的逻辑地址就形成一个二维地址,由段号和段地址两部分组成。系统为每段分配一个连续区域(相当于一个分区),各段可以存放在不同的分区中,即段与段之间的地址是不连续的。系统为每个进程建立一段表,记录该段在存中的起始地址和段长。

区别:①页是信息的物理单位,页的容通常无完整意义;而段是信息的逻辑单位,段的容具有完整的逻辑意义

②页的大小固定且由操作系统决定;而段的长度不固定,取决于用户所写的程序。

③分页的作业地址空间是一维线性连续的;而分段的作业地址空间是二维的。

④分页的活动对用户是透明的;而分段是用户可见的活动。

8、什么是操作系统的基本功能?

9、什么是请求分页存储管理?其最大的优点是什么?

(1)请求页式管理是动态页式存管理的一种,它在作业或进程开始执行之前,不把作业或进程的程序段和数据段一次性的全部装入存,而只装入被认为是经常反复执行和调用的工作区部分。其他部分则在执行过程中动态装入。

(2)请求页式管理的调入方式是,当需要执行某条指令而又发现它不在存时,或当执行某条指令需要访问其他数据或指令时,而这些数据和指令又不在存中,从而发生缺页中断,系统将外存中相应的页面调入存。

(3)请求页式管理的最大优点就是实现了对主存的虚拟扩充,从而解决了小存运行大作业问题。

10、什么是缓冲?为什么要引入缓冲?

缓冲:缓冲即是使用专用硬件缓冲器或在存中划出一个区域用来暂时存放输入输出数据的器件。

原因:为了缓解CPU与I/O设备速度不匹配的矛盾、为了减少外设中段CPU的次数、为了提高CPU与I/O 设备之间的并行性。

11、文件系统主要功能有哪些?

文件系统的主要功能有:①文件的读/写管理;②文件目录管理;③文件存储空间管理;④文件保护与共享;⑤提供方便的接口;⑥文件系统的可靠性和一致性。

12、存储管理主要有哪些功能?

存储管理主要有:①管理和分配存;②地址映射;③存的保护和共享;④提高存使用效率和提高存访问时间

13、什么叫地址再定位?在什么情况下要采用地址再定位?

地址再定位:即把逻辑地址转换为物理地址的过程。

14、简述缓冲池的管理方法。

15、试述UNIX系统文件存储空间的管理。

五、问答题/计算题/证明题/算法设计题(每题10分,共20分)。

1、在一个盒子里,混装了数量相等的围棋白子和黑子,现在要用自动分拣系统把白子和黑子分开。该系统

设有两个进程P1和P2,其中P1拣白子,P2拣黑子。规定每个进程每次只拣一子,当一进程正在拣子时,不允许另一个进程去拣,当一进程拣了一子时,必须让另一进程去拣,试写出两个并发进程能正确执行的算法。

解:

main()

{ int S1=1; //进程P1的私有信号量,初始值为1

int S2=0; //进程P1的私有信号量,初始值为0

int n=1000;//围棋所有黑子和白子总数

while(n!=0)

{ P1(); //拣白子进程

P2(); //拣黑子进程

}

}

P1( )

{ p(S1);

拣白子;

n=n-1

V(S2);

}

P2()

{ p(S2);

拣黑子;

n=n-1;

V(S1);

}

2、某段式存储管理中采用如下表所示的段表。

(1)给定段号和段地址,说明段式管理中的地址变换过程。

(2)计算[0,430],[1.10],[2,500],[3,400],[4,20],[5,100]的存地址,其中方括号的第一元素是段号,第二元素是段地址。

(3)说明存取主存中的一条指令或数据至少要访问几次主存。

答:(1)为了实现从逻辑地址到物理地址的变换,在系统中需要设置段表寄存器,存放段表起站地址和段表长度TL。在进行地址变换时,系统将逻辑地址中的段号S与段表长度TL进行比较。若S>TL,则表示段号太大,是访问越界(段号越界),产生越界中断。若未越界,则根据段表的起始地址和段号,计算出该段对应段表项的位置,从中读出该段在存中的起始位置和段长SL,再检查段地址d是否超过该段的段长SL。若超过,即d>SL,则同样发出越界中断信号(段地址越界);若未越界,则将该段的起始地址与段地址d相加,即得要访问的存物理地址。

(2)[0,430]的物理地址是219+430=649。

[1,10]的物理地址是3300+10=3310。

因 500>100,所以[2,500]越界(段地址越界)。

[3,400]的物理地址是1237+400=1637。

[4,20]的物理地址是1952+20=1972。

因 5>4,所以[5,100]越界(段号越界)。

(3)存取主存中的一条指令或数据至少要访问2次主存。一次是访问段表,另一次是访问需

要的指令或数据。

3、假设某系统中有4种资源(R1,R2,R3,R4),在某时刻系统中共有5个进程。进程P1,P2,

P3,P4,P5的最大资源需求数向量和此时已分配到的资源数向量分别为

进程当前已分配到资源最大资源需求

P1 (0,0,1,2)(0,0,1,2)

p2 (2,0,0,0 )(2,7,5,0 )

P3 (0,0,3,4)(6,6,5,6)

P4 (2,3,5,4)(4,3,5,6)

P5 (0,3,3,2)(0,6,5,2)

系统中当前可用资源向量为(2,1,0,0)。问:

(1)当前系统是否是安全的?

(2)如果进程3已发出资源请求向量(0,1,0,0),系统能否将资源分配给它?

4、考虑下述页面走向:

1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6

当存块数量分别为4,5时,试问LRU,FIFO,OPT这三种置换算法的缺页次数各是多少?(初始存块中无页面)

5、页系统,主存容量为64K Byte 页面大小为1K Byte ,对一个4页大的作业,其0、1、2、3页分别被分配到主存的2、4、

6、7块中。

将十进制逻辑地址1023、2500、3500、4500转换成物理地址。

每个页为1KB即1024B,由1023/1024可得页号为0,地址为1023,查页表可知主存块号为2,因此1023的物理地址为2×1024+1023=3071

由2500/1024得页号为2,地址为452,主存块号为6,

2500的物理地址为6×1024+452=6596

由3500/1024得页号为3地址为428,主存块号为7

3500的物理地址为7×1024+428=7596

6、考虑由n个进程共享的具有m个同类资源的系统,证明:如果对i=1,2,3,…,n,有Needi>0(即n个进程中的任一进程的资源需求数都大于0),而且所有进程的最大资源需求量之和小于m+n,那么该系统是死锁无关的。

证明:设每个进程的最大资源需求量是Ri(1 i n)。在最坏情况下,每个进程都得到了Ri-1个资源,并且都需要申请最后一个资源。这时,系统中该类资源的剩余量为:m-∑(Ri-1)。此时只要系统还有各

异资源可用,就可以满足其中一个进程的需求,该进程就可以运行完成并释放出其所占有的所有资源,进而,其它进程所需的资源就可得到满足。因此,如果m-∑(Ri-1)>=1成立,即∑Ri<=m+n-1时系统不会发生死锁。故当n个进程最多需要的资源数之和小于m+n时,该系统是死锁无关的。

操作系统复习资料1

操作系统概论模拟试题一 一.单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共20分) 1. 在多道程序环境下,操作系统分配资源的基本单位是( ) A.进程 B.线程 C.程序 D.作业 2. 在段页式系统中(无快表),为获得一条指令或数据,必须( )访问内存。 A. 1次 B. 2次 C. 3次 D. 4次 3. 最有利于提高系统吞吐量的作业调度算法是( )。 A. 先进先出算法 B. 优先级调度算法 C. 时间片轮转算法 D. 短作业优先调度算法 4. 对于P,V操作,下列说法正确的是() A. 执行一次P操作,可以理解为唤醒一个进程 B. 执行一次V操作,可以理解为唤醒一个进程. C. 执行一次P操作,可以理解为释放一个资源. D. 执行一次V操作,可以理解为挂起一个进程. 5. 有关并发进程相互之间的关系,正确的说法是( ) A.肯定是无关的 B.肯定是有交往的 C.可能是无关的,也可能是有交往的 D.一定要互斥执行 6. 单用户连续存储管理中地址重定位的硬件执行机构是() A.界限寄存器B.基址寄存器 C.不需要的D.下限寄存器 7. 指定扇区旋转到磁头位置所需的时间称为()时间。 A.寻找B.延迟 C.传送D.旋转 8. 多道程序环境下,操作系统分配资源以()为基本单位。 A.程序 B.指令 C.进程 D.作业 9. 操作系统是一种系统软件,它的职能是() A.只管理软件 B.只管理硬件 C.既不管理硬件,也不管理软件 D.既管理硬件,也管理软件 10. 采用多道程序设计能() A.增加平均周转时间B.发挥且提高并行工作能力 C.缩短每道程序执行时间D.降低对处理器调度的要求 二.填空题(将正确的答案填入下列空格,每格1分,共10分) 1. 计算机系统包括(硬件)和(软件)两大部分 2. 进程最基本的三态为(运行)、(就绪)、(等待) -

操作系统课程设计报告书

题目1 连续动态内存管理模拟实现 1.1 题目的主要研究内容及预期达到的目标 (1)针对操作系统中内存管理相关理论进行设计,编写程序并进行测试,该程序管理一块虚拟内存。重点分析三种连续动态内存分配算法,即首次适应算法、循环首次适应算法和最佳适应算法。 (2)实现内存分配和回收功能。 1.2 题目研究的工作基础或实验条件 (1)硬件环境:PC机 (2)软件环境:Windows XP,Visual C++ 6.0 1.3 设计思想 首次适应算法的实现:从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法的目的在于减少查找时间。为适应这种算法,空闲分区表中的空闲分区要按地址由低到高进行排序。该算法优先使用低址部分空闲区,在低址空间造成许多小的空闲区,在高址空间保留大的空闲区。 循环首次适应算法的实现:在分配内存空间时,不再每次从表头开始查找,而是从上次找到空闲区的下一个空闲开始查找,直到找到第一个能满足要求的的空闲区为止,并从中划出一块与请求大小相等的内存空间分配给作业。该算法能使内存中的空闲区分布得较均匀。 最佳适应算法的实现:从全部空闲区中找到能满足作业要求的、且最小的空闲分区,这种方法能使碎片尽量小。为适应此算法,空闲分区表中的空闲分区要按从小到大进行排序,从表头开始查找第一个满足要求的自由分配。 1.4 流程图 内存分配流程图,如图1-1所示。

图1-1 内存分配流程图内存回收流程图,如1-2所示。

图1-2 内存回收流程图 1.5 主要程序代码 (1)分配内存 void allocate(char z,float l) { int i,k; float ad; k=-1; for(i=0;i= l && free_table[i].flag == 1) if(k==-1 || free_table[i].length

操作系统课程设计

课程设计报告 2015~2016学年第一学期 操作系统综合实践课程设计 实习类别课程设计 学生姓名李旋 专业软件工程 学号130521105 指导教师崔广才、祝勇 学院计算机科学技术学院 二〇一六年一月

- 1 -

- 2 -

一、概述 一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX 的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。UNIX中的文件系统磁盘存储区分配图如下: 本次课程设计是要实现一个简单的模拟Linux文件系统。我们在内存中开辟一个虚拟磁盘空间(20MB)作为文件存储器,并将该虚拟文件系统保存到磁盘上(以一个文件的形式),以便下次可以再将它恢复到内存的虚拟磁盘空间中。文件存储空间的管理可采用位示图方法。 二、设计的基本概念和原理 2.1 设计任务 多用户、多级目录结构文件系统的设计与实现。可以实现下列几条命令login 用户登录 logout 退出当前用户 dir 列文件目录 creat 创建文件 delete 删除文件 open 打开文件 close 关闭文件 - 3 -

read 读文件 write 写文件 mkdir 创建目录 ch 改变文件目录 rd 删除目录树 format 格式化文件系统 Exit 退出文件系统 2.2设计要求 1) 多用户:usr1,usr2,usr3,……,usr8 (1-8个用户) 2) 多级目录:可有多级子目录; 3) 具有login (用户登录)4) 系统初始化(建文件卷、提供登录模块) 5) 文件的创建:create (用命令行来实现)6) 文件的打开:open 7) 文件的读:read8) 文件的写:write 9) 文件关闭:close10) 删除文件:delete 11) 创建目录(建立子目录):mkdir12) 改变当前目录:cd 13) 列出文件目录:dir14) 退出:logout 新增加的功能: 15) 删除目录树:rd 16) 格式化文件系统:format 2.3算法的总体思想 - 4 -

计算机操作系统期末试题及答案西南大学原题

操作系统期末试题 一、单项选择题(本大题共20小题,每小题1分, 共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.在配置多道批处理操作系统的计算机系统中(D) A.用户可联机、调试自己的程序B.允许用户直接干预作业的执行 C.能对外部事件实时响应D.允许多个作业同时使用不同的外围设备 2.UNIX操作系统是一个(A) A.交互式分时操作系统B.多道批处理操作系统C.实时操作系统D.分布式操作系统 3.若操作系统管理的某用户程序当前正占有中央处理器,该用户程序欲读磁盘上的文件信息,那么用户程序中相应的指令应该是(D) 1 全国2010年4月自学考试操作系统概论试题

A.启动I/O指令B.等待I/O指令 C.转移指令D.访管指令 4.当一次系统调用功能完成后,中央处理器的工作状态应(C) A.保持管态B.保持目态 C.从管态转换成目态D.从目态转换成管态5.分布式操作系统的特点是(C) A.资源共享B.资源地理位置分散C.资源位置透明D.多个用户的程序并行运行 6.引入进程的原因是(B) A.提高资源的利用率和控制程序的执行 B.提高资源的利用率和正确描述程序的执行情况C.提高程序的执行速度和控制程序的执行 D.提高程序的执行速度和正确描述程序的执行情况7.进程有三种基本状态,可能的状态转换是(A) A.就绪态到运行态、等待态到就绪态、运行态到等待态 B.就绪态到运行态、就绪态到等待态、等待态到运 2 全国2010年4月自学考试操作系统概论试题

全国2010年4月自学考试操作系统概论试题 3 行态 C .就绪态到运行态、等待态到就绪态、等待态到运行态 D .运行态到就绪态、就绪态到等待态、等待态到运行态 8.处理器不能.. 直接访问的存储器是( D ) A .寄存器 B .高速缓冲存储器 C .主存储器 D .辅助存储器 9.断电停机后,存储信息随之消失的存储器是( C ) A .磁盘 B .磁带 C .主存储器 D .U 盘 10.处于运行状态的操作系统程序应放在( C ) A .寄存器中 B .高速缓冲存储器中 C .主存储器中 D .辅助存储器中 11.对操作系统的文件系统而言,一个源程序、一批 数据、一篇文章或一张图片等都可以被称为文件,只要它是( C ) A .连续分布在一片磁盘区域中的信息集合

操作系统课程设计报告

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告 学院:计算机学院 专业班级: 13软件工程1班 提交时间: 2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。

二、环境条件 系统: WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景 计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。

(4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。 2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下:钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<

操作系统课设

课程设计报告课程名称:计算机操作系统 专业班级: 学号: 姓名: 指导教师: 报告日期: 计算机科学与技术学院

目录

1 实验目的 ·掌握Linux操作系统的使用方法; ·了解Linux系统内核代码结构; ·掌握实例操作系统的实现方法; 2 实验环境 本次课程设计采用的操作系统环境是windows8、Ubuntu双系统,Ubuntu系统版本号为14.04,内核版本号为linux 3.13.0;采用的编程环境为CodeBlocks IDE和QtCreator。 3 实验内容 3.1 实验一 掌握Linux操作系统的使用方法,包括键盘命令、系统调用;掌握在Linux下的编程环境。 (1)编写一个C程序,其内容为实现文件拷贝的功能。 (2)编写一个C程序,其内容为分窗口同时显示三个并发进程的运行结果。要求用到Linux下的图形库(GTK/Qt)。 3.2 实验二 掌握系统调用的实现过程,通过编译内核方法,增加一个新的系统调用,另编写一个应用程序,调用新增加的系统调用。实现的功能是:文件拷贝。 3.3 实验三 掌握增加设备驱动程序的方法。通过模块方法,增加一个新的设备驱动程序,其功能可以简单。(实现字符设备的驱动) 3.4 实验四(选做) 了解和掌握/proc文件系统的特点和使用方法 (1)了解/proc文件的特点和使用方法; (2)监控系统状态,显示系统中若干部件使用状态; (3)用图形界面实现系统监控状态; 3.5 实验五(选做) 设计并实现一个模拟的文件系统。

多用户的多级目录的文件系统设计。多用户、多级目录、login(用户登录)、系统初始化(建文件卷,提供登录模块)、文件的创建、文件的打开、文件的读写、文件关闭、删除文件、创建目录(建立子目录)、改变当前目录、列出文件目录、退出。 4 设计与实现 4.1 实验一 4.1.1 实验要求 掌握Linux操作系统的使用方法,包括键盘命令、系统调用;掌握在Linux下的编程环境。 4.1.2 具体实现 本实验内容是用CodeBlocks IDE实现的,该软件整合了函数库和编译器,因此使用起来非常方便。 (1)编写一个C程序,其内容为实现文件拷贝的功能。 在windows操作系统上实现的文件拷贝功能一般使用fopen、fread、fwrite三个来自标准C函数库的函数执行对文件的打开、读、写操作,而本次实验要求使用Linux 系统的系统调用open、read、write实现上述三个操作。 用到的主要头文件如下: stdio.h——标准输入输出头文件 string.h——字符串处理相关头文件 unistd.h——Linux系统调用头文件,比如read、write fcntl.h——包含open系统调用 errno.h——包含一些调试错误时用到的变量 具体实现思路: 打开两个文件(分别是源文件和目标文件,可以是任意字符流形式存储的文件,包括文本文件、照片等),调用read函数读取源文件的内容,将read的返回值作为while循环的判断条件,当返回值大于0(即还未读取完毕源文件中的内容)时,调用write执行向目标文件写的操作,否则跳出循环,表示源文件已经被拷贝到目标文件,然后调用close关闭源文件和目标文件。 代码编写完成后,在CodeBlocks上编译运行即可。程序运行之前,桌面上只有“教程.docx”,运行之后,桌面上新建了“教程副本.docx”,并且“教程.docx”中的内容被复制到了“教程副本.docx”,程序运行结果如下所示:

操作系统习题及答案二学习资料

习题二处理器管理 一、单项选择题 1、操作系统中的作业管理是一种()。 A.宏观的高级管理 B.宏观的低级管理 C.系统刚开始加电 D.初始化引导完成 2、进程和程序的本质区别是(). A.存储在内存和外存 B.顺序和非顺序执行机器指今 C.分时使用和独占使用计算机资源 D.动态和静态特征 3、处于后备状态的作业存放在()中。 A.外存 B.内存 C.A和B D.扩展内存 4、在操作系统中,作业处于()时,已处于进程的管理之下。 A.后备 B.阻塞 C.执行 D.完成 5、在操作系统中,JCB是指()。 A.作业控制块 B.进程控制块 C.文件控制块 D.程序控制块 6、作业调度的关键在于()。 A.选择恰当的进程管理程序 B.选择恰当的作业调度算法 C.用户作业准备充分 D.有一个较好的操作环境 7、下列作业调度算法中,最短的作业平均周转时间是()。 A.先来先服务法 B. 短作业优先法 C. 优先数法 D. 时间片轮转法 8、按照作业到达的先后次序调度作业,排队等待时间最长的作业被优先调度,这是指() 调度算法。 A.先来先服务法 B. 短作业优先法 C.时间片轮转法 D. 优先级法 9、在批处理系统中,周转时间是()。 A.作业运行时间 B.作业等待时间和运行时间之和 C.作业的相对等待时间 D.作业被调度进入内存到运行完毕的时间 10、为了对紧急进程或重要进程进行调度,调度算法应采用()。 A.先来先服务法 B. 优先级法 C.短作业优先法 D. 时间片轮转法 11、操作系统中,()负责对进程进行调度。 A.处理机管理 B. 作业管理 C.高级调度管理 D. 存储和设备管理 12、一个进程被唤醒意味着()。 A.该进程重新占有了CPU B.进程状态变为就绪 C.它的优先权变为最大 D.其PCB移至就绪队列的队首 13、当作业进入完成状态,操作系统(). A.将删除该作业并收回其所占资源,同时输出结果 B.将该作业的控制块从当前作业队列中删除,收回其所占资源,并输出结果

第四章 复习题 计算机操作系统概论复习资料习题答案

第四章复习题 一、单项选择题 1. 在可变分区存储管理中,若采用最先适应分配算法宜将空闲区按(B)次序登记在空 闲区表中。 A. 地址递减 B. 地址递增 C. 长度递减 D. 长度递增 2. 采用固定分区存储管理的计算机系统中(D)的做法是错误的。 A. 为作业分配的分区不能小于作业长度 B. 可同时在多个分区中各装一个作业 C. 不允许多个作业同时存放在一个分区中 D. 一个分区中可同时装入多个作业 3. 不适宜采用虚拟存储管理技术的存储管理方式是(D)。 A. 页式 B. 段式 C. 段页式 D. 可变分区 4. 在多道程序设计系统中,采用了页式存储管理。如果允许并行工作的道数为n(n>1),则 系统中同时建立的页表数一定为(C)。 A. 1 B. n C. <=n D. n+1 5. 在单用户连续存储管理中,可供用户使用的主存区域起始地址存放在(B)。 A. 基址寄存器 B. 界限寄存器 C. 限长寄存器 D. 相联寄存器 6. 重定位的含义是(C)。 A. 把主存中的一个程序从一个区域重新定位到另一个区域 B. 把绝对地址转换成逻辑地址 C. 把逻辑地址换砖成绝对地址 D. 把辅助存储器中的程序定位到主存的某个区域 7. 在分页式存储管理中,逻辑地址由页号和页内地址两部分组成。因而,分页的工作是在 (C)时进行的。 A. 用户编制程序 B. 地址转换 C. 操作系统装入作业 D. 系统初始化 8. 采用固定分区存储管理的计算机系统中(D)的做法是错误的。 A. 为作业分配的分区不能小于作业长度 B. 可同时在多个分区中各装一个作业 C. 不允许多个作业同时存放在一个分区中 D. 一个分区中可同时装入多个作业 9. 在分页式虚拟存储管理中,若发现所要访问的页面不在主存储器中,则硬件要产生一个 (C)中断。 A. I/O B. 缺段 C. 缺页 D. 访管 10. 主存储器的每个存储单元都有一个地址与其对应,假定这些地址用n个二进制位来区分, 则主存储器的容量为(D)。 A. 2n个字 B. 2n-1个字 C. 2n-1个字节 D. 2n个字节 11. LRU页面调度算法总是选择(C)页面调出。 A. 最先进入 B. 最后进入 C. 最近最久未访问 D. 最近经常访问

操作系统课程设计报告

上海电力学院 计算机操作系统原理 课程设计报告 题目名称:编写程序模拟虚拟存储器管理 姓名:杜志豪.学号: 班级: 2012053班 . 同组姓名:孙嘉轶 课程设计时间:—— 评语: 成绩: 目录 一、设计内容及要求 (4) 1. 1 设计题目 (4) 1.2 使用算法分析: (4)

1. FIFO算法(先进先出淘汰算法) (4) 1. LRU算法(最久未使用淘汰算法) (5) 1. OPT算法(最佳淘汰算法) (5) 分工情况 (5) 二、详细设计 (6) 原理概述 (6) 主要数据结构(主要代码) (6) 算法流程图 (9) 主流程图 (9) Optimal算法流程图 (10) FIFO算法流程图 (10) LRU算法流程图 (11) .1源程序文件名 (11) . 2执行文件名 (11) 三、实验结果与分析 (11) Optimal页面置换算法结果与分析 (11) FIFO页面置换算法结果与分析 (16) LRU页面置换算法结果与分析 (20) 四、设计创新点 (24) 五、设计与总结 (27)

六、代码附录 (27) 课程设计题目 一、设计内容及要求 编写程序模拟虚拟存储器管理。假设以M页的进程分配了N

块内存(N

操作系统作业题及答案

《操作系统》课程作业 (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

操作系统概论复习大纲

操作系统概论自学考试大纲 第一章引论 (一)内容简介 本章介绍了学习操作系统必须先掌握的一些基础知识,包括以下几部分内容: 1.计算机系统 2.操作系统 3.操作系统的形成和操作系统的基本类型 4.操作系统的发展 5.处理器的工作状态 6.操作系统与用户的接口 (二)学习的目的与要求 了解操作系统在计算机系统中的作用;各类操作系统的特点;用户与操作系统的关系;处理器的工作状态和系统功能调用的作用。 重点是:操作系统在计算机系统中的作用;各类操作系统的特点;程序状态字的作用;系统功能调用。 (三)考核知识点与考核要求 根据本章内容的特点,和大纲要求掌握的重点,该章考核可以出以下题型:选择题,名词解释,问答题。 名词解释:操作系统、嵌入式操作系统、特权指令 问答题: 1. 计算机系统由哪些部分组成? 2. 从资源管理的观点看,操作系统有哪些功能? 3. 各类操作系统的特点? 4. 操作系统为什么要提供“系统功能调用”? 第二章处理器管理 (一)课程内容 本章介绍了操作系统中处理器管理部分的实现,包括以下几部分内容: 1.多道程序设计 2.进程的概念 3.进程控制块 4.进程队列 5.中断与中断处理 6.处理器调度 7.线程的概念 (二)学习目的与要求 通过本章学习应该掌握多道程序设计时如何提高计算机系统效率的;进程和程序有什么区别;进程的基本状态以及状态的变化;处理器调度策略;中断的作用。

重点是:多道程序设计,进程,处理器调度。 (三)考核知识点与考核要求 根据本章内容的特点,和大纲要求掌握的重点,该章考核可以出以下题型:选择题,名词解释,问答题,综合题。 名词解释:多道程序设计,进程,中断,线程 问答题: 1.进程有哪些基本状态,画出进程基本状态变化图。 2.进程控制块的作用和基本内容? 3.简述中断响应的过程。 4.设计调度算法的原则有哪些? 5.有哪些作业调度策略,其各自的特点是什么? 6.有哪些进程调度策略,其各自的特点是什么? 7.在分时系统中采用时间片轮转的调度策略有哪些优越性? 8.采用多线程技术有哪些优越性? 综合题(辅导时可以修改下时间) 1.在单道批处理系统中,有四个作业到达输入井和需要的计算时间如表所示,现采用响应比最高者优先算法,忽略作业调度所需的时间。当第一个作业进入系统后就可开始调度。 (1)填充表中空白处 (2)四个作业的执行次序为__________________。 (3)四个作业的平均周转时间为__________________。 2.在某计算中心的一道单道程序设计系统中,有A、B、C三个作业在等待处理,它们到达系统的时间和估计需计算的时间如下表所示: 法调度时各自的等待时间和完成时间。

操作系统课程设计实验报告

河北大学工商学院 课程设计 题目:操作系统课程设计 学部信息学部 学科门类电气信息 专业计算机 学号2011482370 姓名耿雪涛 指导教师朱亮 2013 年6月19日

主要内容 一、设计目的 通过模拟操作系统的实现,加深对操作系统工作原理理解,进一步了解操作系统的实现方法,并可练习合作完成系统的团队精神和提高程序设计能力。 二、设计思想 实现一个模拟操作系统,使用VB、VC、CB等windows环境下的程序设计语言,以借助这些语言环境来模拟硬件的一些并行工作。模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理、文件管理和用户接口四部分。 设计模板如下图: 注:本人主要涉及设备管理模块

三、设计要求 设备管理主要包括设备的分配和回收。 ⑴模拟系统中有A、B、C三种独占型设备,A设备1个,B设备2个,C设备2个。 ⑵采用死锁的预防方法来处理申请独占设备可能造成的死锁。 ⑶屏幕显示 注:屏幕显示要求包括:每个设备是否被使用,哪个进程在使用该设备,哪些进程在等待使用该设备。 设备管理模块详细设计 一、设备管理的任务 I/O设备是按照用户的请求,控制设备的各种操作,用于完成I/O 设备与内存之间的数据交换(包括设备的分配与回收,设备的驱动管理等),最终完成用户的I/O请求,并且I/O设备为用户提供了使用外部设备的接口,可以满足用户的需求。 二、设备管理函数的详细描述 1、检查设备是否可用(主要代码) public bool JudgeDevice(DeviceType type) { bool str = false; switch (type) { case DeviceType.a: {

操作系统课设

课 程 设 计 20 ——20 学年 第 学期 课程名称 操作系统 学 院 计算机科学与技术学院 专 业 班 级 姓 名 指导教师

课程设计任务书 题目: 系统调用 初始条件: 学习了高级语言程序设计、汇编语言、数据结构、计算机组成原理课程,掌握了一种计算机高级语言。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写 等具体要求) 学习在Linux中产生一个系统调用以及怎样通过往Linux内核中增加一个新函数从而在该内核空间中实现对用户空间的读写。这个函数的功能是返回当前 的系统时间。 实验条件要求:每人一台Linux主机且有超级用户权限。 时间安排: 指导教师签名: 20 年月日系主任(或责任教师)签名:年月日

目录 1.简介 (1) 1.1实验环境 (1) 1.2 Linux系统及内核 (1) 1.3 Linux系统调用 (2) 2.实验原理及详细步骤流程 (3) 2.1.实验原理和思路 (3) 2.2.详细步骤 (3) 2.2.1.环境搭建及前期准备 (3) 2.2.2.内核文件修改 (4) 2.2.3.编译并切换内核 (5) 2.2.4.测试新系统调用 (6) 3.过程分析及实验结果 (7) 2.1 过程分析 (7) 2.2.运行结果 (9) 4.调试记录 (9) 5.自我评价与总结 (10) 6.参考文献 (11) 评分表 (12)

一.简介 1.1.实验环境 1.2. Linux系统及内核 Linux是一种开源电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。Linux是一个一体化内核(monolithic kernel)系统。"内核"指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。 操作系统的主要功能是为应用程序的运行创建良好的环境,为了达到这个目的,Linux内核提供一系列具备预定功能的多内核函数,通过一组称为系统调用(system call)的接口呈现给用户。系统调用把应用程序的请求传给Linux内核,调用相应的的Linux内核函数完成所需的处理,将处理结果返回给应用程序,如果没有系统调用和内核函数,用户将不能编写大型应用程序。

操作系统练习题_及答案解析

操作系统练习题 第一章引言 (一单项选择题 1操作系统是计算机系统的一种( 。A.应用软件 B.系统软件c.通用软件D.工具软件 2.操作系统目的是提供一个供其他程序执行的良好环境,因此它必须使计算机( A.使用方便 B.高效工作 C.合理使用资源 D.使用方便并高效工作 3.允许多个用户以交互方式使用计算机的操作系统是( 。A.分时操作系统 B.批处理单道系统 C.实时操作系统 D.批处理多道系统 4.下列系统中( 是实时系统。A.计算机激光照排系统 B.办公自动化系统 C.化学反应堆控制系统 D.计算机辅助设计系统 5.操作系统是一种系统软件,它( 。A.控制程序的执行 B.管理计算机系统的资源 C.方便用户使用计算机 D.管理计算机系统的资源和控制程序的执行 6.计算机系统把进行( 和控制程序执行的功能集中组成一种软件,称为操作系统 A.CPU管理 B.作业管理 C.资源管理 D.设备管理 7.批处理操作系统提高了计算机系统的工作效率,但( 。 A.不能自动选择作业执行 B.无法协调资源分配 c.不能缩短作业执行时间 D在作业执行时用户不能直接干预 8.分时操作系统适用于( 。A.控制生产流水线B.调试运行程序c.大量的数据处理D.多个计算机资源共享 9.在混合型操作系统中,“前台”作业往往是指( 。A.由批量单道系统控制的作业 B.由批量多道系统控制的作业 c.由分时系统控制的作业D.由实时系统控制的作业

10.在批处理兼分时的系统中,对( 应该及时响应,使用户满意。A.批量作业B.前台作业c.后台作业D.网络通信 11.实时操作系统对可靠性和安全性要求极高,它( 。A.十分注重系统资源的利用率B.不强调响应速度 c.不强求系统资源的利用率 D.不必向用户反馈信息 12.分布式操作系统与网络操作系统本质上的不同之处在于( 。A.实现各台计算机之间的通信B.共享网络个的资源 c.满足较大规模的应用 D.系统中若干台计算机相互协作完成同一任务 13.SPOOL技术用于( 。A.存储管理B.设备管理C.文件管理 D.作业管理 14.( 为用户分配主存空间,保护主存中的程序和数据不被破坏,提高主存空间的利用率。 A处理器管理 B.存储管理 c.文件管理 D.作业管理 (二填空题 1. 计算机系统是按用户要求接收和存储信息,自动进行_______并输出结果信息的系统。 2.计算机是由硬件系统和_______系统组成。 3.软件系统由各种_______和数据组成。 4.计算机系统把进行_______和控制程序执行的功能集中组成一种软件称为操作系统。 5.操作系统使用户合理_______,防止各用户间相互干扰。 6.使计算机系统使用方便和_______是操作系统的两个主要设计目标。 7.批处理操作系统、_______和实时操作系统是基本的操作系统。 8.用户要求计算机系统中进行处理的一个计算机问题称为_______。

操作系统概论自考复习资料.doc

操作系统(operating system , OS)是计算机系统中必不可少的系统软件。它是计算机系统中各种资源的管理者和各种活动的组织者、指挥者。它使整个计算机系统协调一致且有效地工作。通过本课程的学习,我们将知道操作系统要做什么、怎么做和为什么要这样做。 学习操作系统,首先我们应该知道操作系统的概念。本章主 要讲述了以下几个问题。 一、什么是操作系统 二、操作系统的形成 三、操作系统的类型 四、操作系统的功能 一、什么是操作系统 在回答这个问题之前,我们先来了解一下什么是计算机系统。计算机系统是按用户的要求接收和存储信息、自动进行数据处理并输出结果信息的系统。 计算机系统由硬件系统和软件系统组成。软硬件系统的组成部分就是计算机系统的资源,当不同的用户使用计算机时都要占用系统资源并且有不同的控制需求。 操作系统就是计算机系统的一种系统软件,由它统一管理计算机系统的资源和控制程序的执行。 操作系统的设计目标一是使计算机系统使用方便。二是使得计算机系统能高效地工作。 二、操作系统的形成 早期没有操作系统→原始汇编系统→管理程序→操作系统可以看到,操作系统是随着计算机硬件的发展和应用需求的推动而形成的。 三、操作系统的类型

按照操作系统提供的服务,大致可以把操作系统分为以下几类: 批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。其中批处理操作系统、分时操作系统、实时操作系统是基本的操作系统(加亮) 1、批处理操作系统按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化。又可分为批处理单道系统和批处理多道系统。单道系统每次只有一个作业装入计算机系统的主存储器运行,多个作业可自动、顺序地被装入运行。批处理多道系统则允许多个作业同时装入主存储器,中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需的外围设备,这样可以充分利用计算机系统的资源,缩短作业时间,提高系统的吞吐率。 2、分时操作系统,这种系统中,一个计算机系统与许多终端设备连接,分时系统支持多个终端用户,同时以交互方式使用计算机系统,为用户在测试、修改和控制程序执行方面提供了灵活性。分时系统的主要特点是同时性、独立性、及时性和交互性。 3、实时操作系统能使计算机系统接收到外部信号后及时进行处理,并在严格的规定时间内完成处理,且给出反馈信号。它是较少有人为干预的监督和控制系统。实时系统对可靠性和安全性要求极高,不强求系统资源的利用率。 4、网络操作系统可以把若干计算机联合起来,实现各台计算机之间的通信及网络中各种资源的共享,像我们现在使用的Windows ,UNIX和Linux等操作系统都是网络操作系统。 5、分布式操作系统的网络中各台计算机没有主次之分,在任意两台计算机间的可进行信息交换和资源共享。这一点上分布式操作系统和网络操作系统差别不大,他们的本质区别在于:分布式操作系统能使系统中若干计算机相互协作完成一个共同的任务。这使得各台计算机组成一个完整的,功能强大的计算机系统。 四、操作系统的功能 从资源管理的观点出发,操作系统功能可分为五大部分:处理器管理、存储管理、文件管理、设备管理和作业管理。 计算机系统是由硬件系统和软件系统两部分组成,操作系统是软件系统的一个组成部分,它是直接在硬件系统的基础上工作的,所以在研究操作系统之前,先必须对计算机系统的结构有一个基本的了解,本章就是讲述计算机系统结构的基本知识。

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告学院:计算机学院 专业班级:13软件工程1班 提交时间:2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。 二、环境条件 系统:WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景

计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。 (4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。 2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下: 钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<

操作系统作业答案

习题一 1、举例说明为什么对并发执行的程序不加控制会产生与执行时间有关的错误? 解:程序在并发执行时由于资源是共享的,而且常常资源数少于程序对这些资源的需求数,致使这些并发执行的程序之间因为竞争资源导致存在间接制约关系,这种间接制约使得并发执行的程序具有随机性(异步性),即“执行—暂停—执行”,它们何时启动、何时停止是未知的。例如:飞机售票系统、堆栈的存数与取数过程等(示例说明略)。 2、程序并发执行为什么会失去顺序执行时的封闭性和可再现性? 解:所谓“封闭性”是指程序执行得到的最终结果由给定的初始条件决定,不受外界因素的影响。在程序并发执行时由于资源共享,导致这些资源的状态将由多个程序来改变,又由于存在程序执行的随机性,所以程序的运行失去封闭性。由于失去了封闭性,也将导致其失去可再现性。即虽然它们执行时的环境和初始条件相同,但得到的结果却可能各不相同。 习题二 1、试用加锁的方法解决飞机售票系统的问题。 例:民航售票系统,n个售票处 2、用机器指令(testAndset)解决飞机售票系统中任一进程的算法。

习题三 1、进程在做P、V操作时对自己和其他进程有何影响? 进程在信号量上执行P操作后,若信号量的值为正,当前进程继续执行;若信号量的值为负,当前进程变为等待状态、放弃处理机,其它进程则有机会获得CPU。 进程在信号量上执行V操作后,不会对自己有任何影响,但当信号量的值不大于0时,需要唤醒在该信号量上所对应的等待队列中的进程。 2、设课程的前驱、后继关系如下,若每修一门课程看作进程Px(x∈1..6)试用P、V操作算法描述这种前驱与后继关系。 答: Semaphore:S1:=S2:=S3:=S4:=S5:=S6:=0; Begin Cobegin P1、P2、P3、P4、P5、P6 coend; end. P1()P2()P3() Begin begin begin 修计算机导论;P(S1);P(S2); V(S1);修高级语言程序设计修计算机组成原理; V(S2);V(S3)V(S4); End; End; End; P4()P5()P6() Begin begin begin P(S3);P(S4);P(S5); 修数据结构;修86汇编语言;P(S6); V(S5);V(S6);修操作系统; End; End; End; 习题四 1、有三个进程R、W1、W2,进程R 从输入设备上读数据送缓冲区B,若是奇数由W1 进程从B 取数输出;若

相关文档
最新文档