【操作系统】最全复习提纲及例题

第一章 概述【填空、判断、选择】

1、操作系统的概念、基本类型、基本特征、基本功能、管态/目态;
概念:管家、调度、桥梁。控制和管理计算机软硬件资源,合理组织多道程序运行,方便用户使用程序集合。
基本类型:单道批处理系统、多单批处理系统、分时系统、实时系统
特征:并发、共享、虚拟、异步
功能:进程管理(处理机管理)、内存管理(存储管理)、设备管理、文件管理、提供用户接口
系统态(管态、核心态):程序在OS内核执行。CPU能执行任何指令,能访问任何寄存器、存储器。
用户态(目态):程序在OS外壳执行。不能执行特权指令,不能随意访问寄存器、存储器。
2、操作系统的目标、作用、结构设计方法;
目标:方便性、有效性、可扩充性和开放性
作用:1.作为用户和计算机软硬件系统的接口2.作为计算机系统资源的管理者
3.实现对计算机资源的抽象
结构设计方法:1.整体式结构 2.模块化结构 3.层次式结构 4.微内核OS结构

第二章 进程管理【重点!大题】

1、多道程序设计技术 单道批处理在宏观上的并行,微观上的串行
2、进程的概念、特征、基本状态及与程序的区别和联系;
进程的概念:可并发执行的程序在一个数据集合上的一次执行过程,系统资源分配的基本单位
特征:动态性,并发性,独立性,异步性,结构性 基本状态:就绪态,执行态,阻塞态

3、PCB程序控制块,程序存在的唯一标识 进程实体=程序+数据+PCB
前趋图:有向无环图,描述进程之间执行的先后顺序 进程图:描述进程间关系的一颗有向树
4、原语的概念:由若干条指令构成的原子操作,要么全做要么全不做。许多系统调用就是原语
特征:不可中断性 实现方法:屏蔽中断
进程控制原语的种类:创建与终止,阻塞与唤醒,挂起与激活
5、同步:合作 互斥:竞争 临界资源:一个时间段不能同时访问的资源 临界区:访问临界资源的那段代码

记录型信号量

wait(semaphore *S){
	S->value--;
	if(S->value<0)
		block(S->list);  
}
signal(semaphore *S){
	S->value++;
	if(S->value<=0)
		wakeup(S->list); 
 } 

与整型的区别:实现了让权等待原则,条件不符合进程会block

1.系统中有三个进程GET、PRO和PUT,共用两个缓冲区BUF1和BUF2。假设BUF1中最多可放11个信息,现已放入了两个信息;BUF2最多可放5个信息。GET进程负责不断地将输入信息送入BUF1中,PRO进程负责从BUF1中取出信息进行处理,并将处理结果送到BUF2中,PUT进程负责从BUF2中读取结果并输出。试写出正确实现GET、PRO、PUT的同步与互斥的算法(要求:(1)用类C语言描述,条理清楚,注释恰当;(2)信号量原语统一使用wait和signal。)

代码:

Semaphore  empty1=9,full1=2, empty2=5,full1=0,mutex1=mutex2=1; 
 
int main(){
	Cobegin  //并发开始
		GET(); 
		PRO();  
		PUT();
	Coend   //并发结束
	return 0;   
} 

//GET进程
void GET(){
	while(1){  
		wait(empty1);  
		wait(mutex1);
		将信息送入buf1;
		signal(mutex1); 
		signal(full1);
	}  
}  

//PRO进程
void PRO(){
	while(1){ 
		wait(full1);   
		wait(mutex1);
		从buf1中取出信息;
		signal(mutex1); 
		signal (empty1);
		wait(empty2);  
		wait(mutex2);
		将信息送入buf2;
		signal(mutex2);  
		signal(full2);
	}  
}  

//PUT进程
void PUT(){
	while(1) {
		wait(full2);  
		wait(mutex2);
		从buf2中取出信息;
		signal(mutex2);
		signal (empty2); 
	}  
}  

2. 某自动质量检测系统有三个进程Q、A、B组成。进程Q每次取一件产品进行检测,把检测后的产品存放在货架F上,F的容量为每次只能存放一件产品……

Semaphore empty=1,fullA =0,fullB =0; 
进程 Q:{                       
Wait(empty);
	F:=检测后的产品;
	If  F=合格产品  then
	    Signal (fullA);
	else
    	Signal (fullB);
}

进程 A:{
Wait(fullA);
	拿产品
	Signal (empty);
	贴标签后包装;
}

进程 B:{
	Wait(fullB);
	拿产品
 	Signal (empty);
    贴标签后包装;
}

7、线程:进程中一个相对独立的执行流。 种类:执行,就绪,阻塞
引入线程的目的:减少程序在并发执行时所付出的时空开销,使操作系统具有更好的并发性。

第三章 处理机调度与死锁

1、调度的层次与作用
高级调度:又称长程调度,作业调度,主要用于多道批处理系统中,外存调入内存
低级调度:又称进程调度,短程调度,多道批处理,分时和实时,就绪队列调入处理机
中级调度:又称内存调度,调至外存,挂起
2、常用调度算法
(先来先服务FCFS、短作业优先SJF、高响应比优先HRRN)

HRRN优先权=1+ t 等待/ t 运行
计算:
开始时间 结束时间 周转时间=完成-到达 带权周转=周转/运行

例1)根据图示,该系统应采用什么进程调度策略? 怎么改进?
该分时系统采用的是时间片轮转调度策略,用多级反馈调度策略进行改进

2)把图中每个状态变化的可能原因填写在下表中。

1、进程被选中,变为运行状态
2、进程阻塞,进行IO操作,等待磁盘读文件
3、进程阻塞,进行IO操作,等待打印机输出
4、打印结束,阻塞的进程转为就绪状态,排入就绪队列尾部
5、读文件结束,阻塞的进程转为就绪状态,排入就绪队列尾部
6、时间片到,运行状态的进程转为就绪状态,排入就绪队列尾部

3、死锁的概念、产生的原因及必要条件;
概念:相互等待对方释放资源
产生的原因:资源竞争,进程推进顺序不当
四个必要条件:互斥条件,请求和保持条件,不可抢占条件,循环等待条件
4、处理死锁的基本方法:预防、避免、检测、解除死锁
5、银行家算法计算

need进程还需要的  
available系统剩余资源数 
Work  
need  
allocation已分配  
work+allocation  
finish

4、在银行家算法中,若有下面的系统各类资源对进程的分配情况,available1622 问:
(1)从以上情况分析可以看出,此时存在一个安全序列{p0,p3,p4,p1,p2},故该状态是安全的。
(2)4类,分别有3、9、14、14个
(3)根据银行家算法检查:
a)Request2(1,2,2,2)<=need(2,3,5,6)
b)Request2(1,2,2,2)<=available(1,6,2,2)
c)设分配,修改available=0400,allocation=2576,need=1134
当前分配安全资源,现存need已不能满足任何需要,很明显没有安全序列,固假设分配不能执行

第四章 存储管理

1、存储管理的目的、功能
目的:提高存储器的利用率,解决cpu与存储器速度不匹配问题
功能:内存的分配与回收,内存的共享与保护,地址映射,内存扩充
2、重定位的概念及方法
概念:把程序中的逻辑地址变成内存中的物理地址的过程
方法:静态重定位:在程序执行之前进行,由专门设计的重定位装配程序完成。
动态重定位:在程序执行过程中,每次访问内存之前将程序地址变换为内存地址,这种变换是依靠硬件地址变换机构实现
3、内碎片:分区之内未被利用的空间 外碎片:分区之间难以利用的空闲分区(通常是小空闲分区)
4、常用分区分配算法及对应的空闲区排列方式
5、基本分页(分段)的概念、页(段)表的作用、地址变换过程及物理地址计算
将程序的逻辑地址空间划分为固定大小的页;
物理内存划分为固定大小的块(页架,页框);

例:某页式存储系统页表如下,设每页1KB,请写出逻辑地址为8300时所对应的页号和页内地址,以及在内存中对应的物理地址。(请详细写出运算过程)
(1)8300 ÷ 1024=8······108,故页号为8,页内地址为108 所以物理地址 4×1024+108=4204
(2)(a):地址(1,10)的段号为1,查表得基址为2300,段长为14,物理地址为:2300 + 10 = 2310。
(b):地址(4,112)的段号为4,查表得基址为1952, 段长为96;由于段内位移为112,大于段长96,
发生段越界,产生越界中断。

例:在请求分页系统中,某用户的编程空间为16个页面,每页1K,分配的内存空间为8K……
答:104B(H) 答:13192 答:24A0(H)的页号为9,而其页面当前不在内存,所以会发一个缺页中断,请求系统调页。
6、分页与分段的区别、各自的优缺点;
分页:有效解决了碎片问题,有效提高内存的利用率
分段:更好地实现数据共享与保护,段长可动态增长,便于动态链接

第五章 虚拟存储器

1、虚拟存储器的基本概念、理论依据、基本特征及关键技术
基本概念:由操作系统提供的一个假想的特大的存储器,以时间换空间
理论依据:程序局部性原理 基本特征:多次性,对换性,虚拟性
关键技术:请调+置换
2、页面置换算法
FIFO先进先出(看长度) OPT最佳置换算法(往右看换远的) LRU最近最久未使用(往左看换远的)
画长框做,缺页次数:只要有修改就算一次,一开始的添加也算

3、例:对一个将页表存放在内存中的分页系统:
(1)若访问内存需要0.2us,有效访问时间为多少?
2 * 0.2=0.4us
(2)如果加一快表,假定设置快表的命中率高达 90%
0.9 * 0.2+( 1 - 0.9)* 2 * 0.2 = 0.22us

第六章 设备管理

1、设备管理的任务、功能及目标
任务:完成io,提高I/O速率,改善I/O利用率
功能:缓冲区管理,设备分配,设备处理,虚拟设备,设备独立性
目标:方便性,并行性,均衡性,独立性
2、I/O设备的分类,设备、控制器及通道的关系
按特性分类:存储设备、IO设备
按传输速率分类:低速、中速、高速设备
关系:控制器是cpu与I/O设备之间的接口
3、通道的基本概念及分类
概念:实际上I/O通道是一种特殊的处理机
分类:字节多路通道、数组选择通道、数组多路通道
4、缓冲区的概念、分类及引入目的
单缓冲、双缓冲计算处理数据的时间
单缓冲= n(t读入+t处理)+t传送 双缓冲= n(t读入)+t处理+t传送
5、I/O软件的层次、各层主要功能、设备独立性的概念
用户级I/O软件:实现与用户交互的接口 设备独立性软件:实现用户程序与设备驱动器的统一接口
设备驱动程序:与硬件直接相关
中断处理程序:保护被中断进程的CPU环境
设备独立性:I/O软件独立于具体使用的物理设备
6、SPOOLING技术的作用及SPOOLING系统的组成
作用:(1)提高了I/O的速度。(2)将独占设备改造为共享设备。(3)实现了虚拟设备功能。
组成:输入井输出井、输入缓冲区输出缓冲区、输入进程输出进程、井管理程序
SPOOLing技术是一类典型的虚拟设备技术,通常是用独占设备来模拟共享设备。(F)
7、先来先服务FCFS 最短寻道时间优先SSTF 扫描算法(电梯调度) SCAN 循环扫描算法CSCAN

例:(从72磁道开始)
FCFS  98 220 37 122 14 124 65 82 
SSTF  65 82 98 122 124 37 14 220
SCAN  82 98 122 124 220 65 37 14
CSCAN 82 98 122 124 220 14 37 65  
柱面数=移动磁道数

第七章 文件管理

1、文件系统的组成、功能
文件系统的层次结构:对象及其属性、对对象操纵和管理的软件集合、文件系统的接口
文件系统功能:用户角度: 实现“按名存取”
系统角度:文件存储空间的管理、文件的存储与检索、文件的共享与保护
2、打开操作的目的:把FCB从磁盘读到内存,在用户和指定文件之间建立起一个连接
关闭操作的目的:将该文件从打开的文件表中的表目上删除
3、如何加快目录检索?
为其建立一张索引表,以主文件中每条记录的长度及指向对应记录的指针作为相应每个表项的内容
4、目录项分解法:把FCB分成两部分,符号目录项:文件名,文件号 基本目录项:除文件名外的所有字段

例:一个盘块大小为8KB的磁盘,采用耳机索引结构,索引表的一项占4B,计算该系统下文件最大多大?
答:一个盘块中可存放索引项为8K/4=2K个,二级索引文件最大可达32GB(2K2K8KB)
盘块就是数据块,索引表就是索引块

例:若一个进程要访问偏移量为263168字节处的数据时,需要经过几次间接?
因一个盘块的大小为512B且每个盘块号占2B,所以一个盘块中最多存512/2=256个块号,又因偏移量的逻辑块号为263168/512=514,且10+256<514<256*256,所以偏移地址的块号在二次间接块内。

第八章 磁盘存储器的管理

1、 文件的物理结构:顺序文件结构、链接文件结构、索引文件结构

例1、假设盘块大小为512B,硬盘的大小为100MB,如果采用显式链接管理方式,对应的FAT为多少字节?
答:100MB/512B=200K个块,需要18个二进制位来描述块号;
按照FAT表的组织结构,每个表项需要扩充成20位即2.5个字节;所以FAT表的大小=2.5B*200K=500KB。

例2、某磁盘文件系统,采用混合索引分配方式,13个地址项记录在FCB中,第0-9个地址项为直接地址,第10个地址项为一次间接地址,第11个地址项为二次间接地址,第12个地址项为三次间接地址。如果每个盘块的大小为512字节,盘块号需要用3个字节来描述(每个索引块可记录170个盘块地址):
答:1)该文件系统中一个文件的最大长度为:10+170+170170+170170*170=4942080块
4942080 * 512字节 = 2471040KB
2)5000/512得商为9,余数为392,即字节偏移量5000对应的逻辑块号为9,块内偏移量392
所以可以从第九个地址得到物理盘块号,块内偏移量392

例3、假设一个磁盘组有 100 个柱面,编号为 0-99,每个柱面有 32 个磁道,编号为 0-31,每个磁道有16 个扇区,编号为0-15。现采用位示图方法管理磁盘空间,磁盘块与扇区大小相等…
1)若采用32 位的字组成位示图,共需要多少个字? 2)第40 字的第18 位对应于哪个柱面、哪个读写磁头和哪个扇区?
1)(16×32×100)/32=1600,需要1600 个字。 //注:盘块=柱面磁道扇区
2) 块号是1298:40×32+18=1298 柱面号是2:[1298/(16×32)]=2
磁头号是17:[(1298 mod (16×32))/16]=17 扇区号是2:(1298 mod (16×32))mod 16=2

例4、某UNIX操作系统的空闲盘块号栈内容为:空闲块数为3,依次登记的空闲块号为77、89、60,问此时若一个文件A需要5个盘块,系统进行分配后又有个文件B被删除,它占用的盘块块号为100、101、109、500,分析分配和回收过程,说明上述操作过后空闲盘块号栈里的空闲块个数及内容如何?
答:分析:文件A需要五个盘块,77、89、60全分配给A还不够,文件B删除后多出4个盘块,101和100分配给A,所以空闲块数2,然后依次登记的空闲块数为109、500(用成组链接法)

  • 10
    点赞
  • 93
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向前的诚_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值