【计算机操作系统】复习提纲

【计算机操作系统】复习提纲

一、 概述

1、掌握操作系统的设计目标、基本类型、特征、功能、管态/目态等;
目标:方便性、有效性、可扩充性和开放性
基本类型:单道批处理系统、多单批处理系统、分时系统
特征:并发、共享、虚拟、异步
功能:处理机管理、存储器管理、设备管理、文件管理、提供用户接口
系统态(管态、核心态):程序在OS内核执行称为管态。CPU能执行任何指令,能访问任何寄存器、存储器。
用户态(目态):程序在OS外壳执行称为目态。不能执行特权指令,不能随意访问寄存器、存储器。
2、了解OS的结构设计;
无结构、模块化、分层式

二、 进程管理

前驱图:用于描述进程之间执行的先后顺序的有向无环图
1、了解多道程序设计的基本概念;
机器部件能并行工作仅仅有了提高效率的可能性,而机器部件并行工作的实现还需要软件技术去利用和发挥,这种软件技术就是并发程序设计
2、掌握进程的概念、特征、组成、基本状态、与程序的区别;
进程概念:进程是一个可并发执行的程序在其数据集上的一次运行过程,是操作系统进行资源分配的单位,进程表示资源的占用和所要做的工作。
特征:动态性、并发性、独立性、异步性、结构性
组成:进程包括程序、数据和进程控制块
基本状态:就绪、执行、阻塞
与程序的区别:
进程是动态的,程序是静态的
进程是暂时的,程序是永久的
进程与程序的组成不同:进程包括程序、数据和进程控制块(即进程状态信息)
进程与程序无一一对应关系(一个进程可顺序执行多个程序;一个程序可由多个进程共用)
3、了解原语的概念及进程控制原语的种类;
概念:由若干条指令组成的,用于完成一定功能的一个过程。
进程创建、进程终止、进程阻塞与唤醒、进程挂起与激活
4、掌握进程的同步与互斥的概念、临界资源与临界区的概念、同步机制遵循原则;
进程同步:直接相互制约关系(多个进程为完成同一任务而相互合作)(合作完成任务的关系)
进程互斥:间接相互制约关系(多个程序在并发执行时,由于共享系统资源形成相互制约的关系)(竞争使用资源的关系)
临界资源:一次仅允许一个进程使用的共享资源
临界区:每个进程中访问临界资源的那段代码称为临界区。
同步机制应遵循的原则:
(1)空闲让进(2)忙则等待(3)有限等待(4)让权等待
5、掌握信号量及其应用(生产者-消费者问题);
整型信号量

wait(S)
{
	 while(S<=0);
   S--;
}
signal(S)
{
	 S++;
}

记录型信号量

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

利用记录型信号解决生产者-消费者问题:

int in=0,out=0;
item buffer[n];
//empty:缓冲池中空缓冲区的数量;full:缓冲池中满缓冲区的数量
semaphore mutex=1,empty=n,full=0;
void producer(){
    do{
        produce an item nextp;
        ...
        wait(empty);
        wait(mutex);
        buffer[in]=nextp;
        in=(in+1)%n;
        signal(mutex);
        signal(full);
    }while(TRUE);
}
void consumer(){
    do{
        wait(full);
        wait(mutex);
        nextc=buffer[out];
        out=(out+1)%n;
        signal(mutex);
        signal(empty);
        consume the item in nextc;
        ...
    }while(TRUE);
}

int main()
{
    cobegin
        producer();consumer();
    coend
}
ii.	AND型信号量
Swait(S1,S2,...,Sn)
{
	while(TRUE)
	{
		if(S1>=1&&S2>=1&&...&&Sn>=1)
		{
			for(i=1;i<=n;i++)
				Si--;
			break;
		}
		else
		{
			Place the process in the waiting queue associated with the first Si found with	Si<1,and set the program count of this process to the beginning of Swait Operation
		}
	}
}

Ssignal(S1,S2,...,Sn)
{
	while(TRUE)
	{
		for(i=1;i<=n;i++)
		{
			Si++;
			Remove all the process waiting in the queue associated with Si into the readyqueue
		}
	}
}

利用AND信号量解决生产者-消费者问题

int in=0,out=0;
item buffer[n];
semaphore mutex=1,empty=n,full=0;
void producer(){
    do{
        produce an item nextp;
        ...
        Swait(empty,mutex);
        buffer[in]=nextp;
        in=(in+1)%n;
        Ssignal(mutex,full);
    }while(TRUE);
}
void consumer(){
    do{
        Swait(full,mutex);
        nextc=buffer[out];
        out=(out+1)%n;
        Ssignal(mutex,empty);
        consume the item in nextc;
        ...
    }while(TRUE);
}
int main()
{
    cobegin
        producer();consumer();
    coend
}

iii. 信号量集:
//ti:分配下限值;di:对资源i的需求值
Swait(S1,t1,d1,…,Sn,Tn,dn);
Ssignal(S1,d1,…,Sn,dn);
特殊情况:
(1) Swait(S,d,d)。在信号量集中只有一个信号S,但允许它每次申请d个资源,当现有资源小于d时,不予分配。
(2) Swait(S,1,1)。此时的信号量集已退化为一般的信号量集(S>1时)或互斥信号量(S=1时)。
(3) Swait(S,1,0)。当S>=1时,允许多个进程进入某特定区;当S变为0后,将阻止任何进程进入特定区。相当于一个可控开关。
6、了解进程通信方法;
i. 共享存储器系统 (基于共享数据结构、基于共享存储区)
ii. 管道通信系统
iii. 消息传递系统(直接通信方式、间接通信方式)
iv. 客户机-服务器系统(套接字(基于文件型、基于网络型)、远程过程调用、远程方法调用)
7、了解线程的概念、引入线程的目的;
线程:进程中一个相对独立的执行流。
目的:简化CPU的进程调度过程及进程间的通信,以小的开销来提高系统内的并发程度,减少时空开销
进程与线程:
进程是资源分配单位
线程是CPU执行单位
多线程优点:
切换速度快(地址空间不变)
系统开销小
方便通信(共享数据空间)
引入线程的目的:
减少程序在并发执行时所付出的时空开销,使操作系统具有更好的并发性。

三、 处理机调度与死锁

1、了解调度的层次、作用、调度方式;
高级调度(长程调度、作业调度):根据某种算法,决定将外存上处于后备队列中的那几个作业调入内存,为它们创建进程、分配必要的资源,并将它们放入就绪队列。
低级调度(短程调度、进程调度):根据某种算法,决定就绪队列中的那个进程应获得处理机,并由分派程序将处理机分配给选中的进程。
中级调度(内存调度):提高内存利用率和系统吞吐量。
2、掌握常用调度算法及计算(周转时间的计算);
作业调度:
i. 先来先服务
ii. 短作业优先
iii. 优先]级调度算法
iv. 高响应比优先
优先权=(等待时间+要求服务时间)/要求服务时间
进程调度(抢占式、非抢占式):
i. 先来先服务
ii. 轮转调度算法
iii. 优先级调度算法(抢占式、非抢占式)(静态优先级、动态优先级)
iv. 多队列调度算法
v. 多级反馈队列
vi. 给予公平的调度算法(保证调度算法、公平分享调度算法)
3、掌握死锁的概念、产生的原因、必要条件,与饥饿的区别;
死锁概念:指多个进程因竞争共享资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。
产生原因:资源竞争、进程推进顺寻不当
必要条件:(1)互斥条件(2)请求并保持条件(3)不剥夺条件(4)环路等待条件
处理:(1)死锁预防:破坏必要条件
A. 破坏请求和保持条件
a) 所有进程开始之前,必须一次性地申请其在整个运行过程中的全部资源。
b) 允许一个进程只获得运行初期所需的资源后,便开始运行
B. 破坏不可强占条件
C. 破坏循环等待条件
(2)死锁避免:银行家算法
(3)死锁检测:死锁定理
(4)死锁解除:撤销进程、剥夺资源
死锁(Deadlock): 指进程之间无休止地互相等待!
饥饿(Starvation):指一个进程无休止地等待!
4、掌握处理死锁的基本方法、死锁定理;
5、掌握银行家算法及计算、安全状态、安全序列;

四、 存储管理

请求调页硬件:页表机制、地址变换机构、缺页中断机构
分页保护措施:越界检查、存取控制权限检查
分段保护措施:越界检查、存取控制权限检查、环检测机构

页式存储管理中为什么要设置页表?
答:因为页式管理时把作业分散在主存中的不连续块中存放,必须通过页表来建立逻辑地址中的页号到绝对地址中的块号的映射,作为硬件进行地址转换的依据。

页式存储管理中页面大小是根据什么决定的?页表的长度又是根据什么决定的?
答:页面的大小是由地址结构决定的。页表的长度是由作业的信息量决定的,作业有多少页,页表中就有多少个记录项。
1、了解重定位、内碎片、外碎片等概念;
内碎片:分区之内未被利用的空间
外碎片:分区之间难以利用的空闲分区(通常是小空闲分区)。
重定位:从作业的逻辑地址到物理地址的转换过程。
2、掌握常用分区分配算法及对应的空闲区排列方式;
3、理解基本分页(分段、段页式)的概念、页(段、快)表的作用;
4、理解分页与分段的区别、各自的优缺点;
5、掌握虚拟存储器的基本概念、理论依据、基本特征及关键技术;

虚拟存储器:是指具有请求调入功能和置换功能, 能从逻辑上对内存容量加以扩充的一种存储器系统。其容量接近于外存,其运行速度接近于内存速度,而每位的成本却又接近于外存。
理论依据:局部性原理
基本特征:虚拟扩充、部分装入、离散分配、多次对换
(或多次性、对换性、虚拟性)
关键技术:请求分页虚拟存储管理、请求分段虚拟存储管理、请求段页式虚拟存储管理
6、掌握页面置换算法、缺页率计算、地址变换。
页面置换(页面淘汰)算法:
(1) 最佳(Optimal)置换算法
(2) 先进先出(FIFO)页面置换算法
Belady现象:随着物理块数的增多缺页率可能增大
(3) 最近最久未使用(LRU)置换算法
(4) 最少使用(LFU)置换算法
(5) Clock置换算法(简单Clock置换算法、改进型Clock置换算法)、
(6) 页面缓冲(PBA)算法*
访问内存有效时间:
λ:查找快表时间;t:访问实际物理地址所需的时间;
ε:缺页中断处理时间;a:命中率;f:缺页率
(1) 被访问页在内存中,且其对应的页表项也在快表中
EAT=λ+t
(2) 被访问页在 ]中,且其对应的页表项不在快表中
EAT=2*(λ+t)
(3) 被访问页不在内存中
EAT=ε+2*(λ+t)
(4) 总
EAT=a*(λ+t)+(1-a)[2*(1-f)(λ+t)+f(ε+2λ+2t)]
(5) 不考虑命中率,仅考虑缺页率
EAT= 2*(1-f)t+f(2*t+ε)

五、 设备管理

1、了解I/O设备的分类,设备、控制器及通道的关系;
按使用特性分类:存储设备、I/O设备
按传输速率分类:低速设备、中速设备、高速设备
设备按照信息的传递特性:字符设备、块设备
执行I/O操作的机械部分就是一般的I/O设备;执行控制I/O的电子部件成为设备管理器。I/O控制器的主要功能:控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。
I/O通道控制设备控制器
设备驱动程序是I/O进程与设备控制器之间的一个通信程序。
设备独立性是指应用程序独立于具体使用的物理设备。
在中断处理方式中,CPU是以字节为单位对I/O进行干预;在DMA方式时,是以数据块为单位进行干预的;I/O通道方式是以一组数据块为单位进行干预的。
2、理解I/O控制方式及推动发展的因素;
(1)使用轮询的可编程I/O方式
(2)使用中断的可编程I/O方式
(3)直接存储器访问(DMA)方式
(4)I/O通道控制方式
推动发展因素:尽量减少主机对I/O控制的干预,把主机从繁杂的I/O控制事务中解脱出来,以便更多地完成数据处理任务。
3、理解缓冲区的概念、分类、引入目的及相关计算;
缓冲区引入:
(1) 缓和CPU与I/O设备间速度不匹配的矛盾
(2) 减少对CPU的中断频率
(3) 解决数据粒度不匹配的问题
(4) 提高CPU和I/O设备之间的并行性
单缓冲区、双缓冲区、环形缓冲区、缓冲池
4、了解I/O软件的层次、SPOOLING技术;
用户级I/O软件、设备无关软件、设备驱动程序以及中断处理程序
SPOOLING技术假脱机技术:在联机情况下实现的同时外围操作的技术。、
假脱机打印机系统的特点
(1)提高了I/O的速度。
(2)将独占设备改造为共享设备。
(3)实现了虚拟设备功能。
实现设备虚拟时所依赖的关键技术:SPOOLing技术
5、掌握磁盘调度算法及其计算。
早期:
(1) 先来先服务(FCFS)
(2) 最短寻道时间优先(SSTF)
基于扫描的磁盘调度算法
(1) 扫描算法(SCAN)
(2) 循环扫描算法(CSCAN)
(3) N步扫描法(NStepSCAN)
(4) FSCAN

六、 文件管理

1、了解文件系统的组成、功能;
文件系统的层次结构:对象及其属性、对对象操纵和管理的软件集合、文件系统的接口
文件系统功能:
用户角度:
实现“按名存取”
系统角度:
文件存储空间的管理
文件的存储与检索
文件的共享与保护
2、掌握文件逻辑结构、物理结构;
逻辑结构:
按是否有结构分类:
有结构文件(定长记录、变长记录)
无结构文件
按组织方式分类:
顺序文件(串结构、顺序结构)
索引文件
索引顺序文件
3、了解文件共享与保护;
4、掌握混合索引分配方式的结构;
5、理解文件的目录结构、索引节点及文件控制块的作用;
6、理解文件空闲区的管理方法(空闲表、空闲链、位示图与成组链接法);

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

向前的诚_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值