1. 操作系统定义:
操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
2. 主要任务/作用:
为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊地、高效地运行,并能最大程度地提高操作系统中各种资源的利用率和方便用户的使用。
3. 提供用户的使用方式:
命令方式、系统调用方式、 图形、窗口方式
4. 五大功能:
档管理、存储管理、设备管理、处理器管理、作业管理
4、操作系统分类及各分类特点:
1#单用户操作系统 :
一个用户独占计算机系统资源。系统所有软、硬件资源全为一个用户服务,单独地执行该用户提交的一个任务。
2#批处理操作系统:
用户与他的作业之间没有交互作用,不能直接控制其作业的运行;作业成批处理;多道程序执行自动化,充分利用系统资源。
3#实时操作系统:
能对外部事件做出迅速回应,具有较强的中断处理机构。可靠性高。
4#分时操作系统:
同时性:多个用户同时工作。
独立性:各用户独立操作,互不干扰。
交互性:系统能及时对用户的操作进行回应,显著提高调试和修改程序的效率,缩短了周转时间。
及时性:用户的请求能在较短时间内得到回应。
5#网络操作系统:略
处理器状态:
管态:可以执行全部指令,使用所有资源,并具有改变处理器状态的能力。
目态:只能执行非特权指令。
6. A、定义:
在执行期间,发生任何非寻常的或非预期的急需处理事件→使得CPU暂时中断当前程序的执行,而转去执行相应的事件处理程序,等到事件处理结束后又返回到原来被中断的程序继续执行的过程。
B、分类:
冰原狼 1 冰原狼
软件中断(例如地址非法,除法出错,溢出中断)、硬件中断(不可屏蔽中断/可屏蔽中断)
C、中断系统职能:
发现中断源,提出中断请求
保护现场
启动处理事件的程序
7. 中断优先级
1)软件查询 :2)硬件查询 优缺点
8. 中断事件处理程序
一般分为三类:
1.处理器中断事件的处理
2.自愿中断事件的处理
3.外部中断事件的处理
9. 单道程序系统:每次只允许一道程序进入计算机执行的系统。
单道程序系统
1.每次只允许一道程序运行;
2.它将独占系统资源(处理器、主存、辅存、外设、软件)
3.系统按照程序的步骤顺序地执行。
4.在该程序执行完之前,其他程序只能等待。
10. 顺序执行的特点:
程序执行的顺序性:前一步完才做下一步;
程序运行时对资源的独占性:没有其他程序与之争夺资源 程序结果的可再现性:程序执行的结果与执行速度、时间无关。 程序结果的封闭性:程序的运行只由初始条件和程序本身来确定。
11. 多道程序并发执行的特点:
a. 程序执行时的资源共享性
b. 程序失去了封闭性和可再现性
c. 并发程序之间的相互制约性
12.
能和其他程序并行执行的程序段在某数据集合上的一次运行过程,是系统资源分配和调度的一个独立单位。
注意的问题:
程序段可以并行执行。(并发性)
基础是一个程序段,而不是整个程序。
程序段在数据上的一次运行(某数据集合上的运行)
冰原狼 2 冰原狼
动态的,是程序的一次执行过程。(动态性) 能独立运行的基本单位。(独立性)
进程的六种理解方法(任务、活动)
任何一个处于执行的程序。
可以和别的计算并发执行的计算。
程序及其数据在处理器上顺序执行时的活动。
抽象实体,当它执行一个任务时,将要分配和释放各种资源。
独立的可以调度的活动。
具有独立功能的程序关于某个数据集合的一次运行活动。
?
?
?
?
? 1)“生命期”。 2程序段运行在两个不同数据集合上,就是两个不同的进程; 一个程序可以对应多个进程; 一个进程至少要对应一个程序,或对应多个程序,多个进程也可对应相同的程
序。
? 3)进程具有并行特征(独立性和异步性)
? 4)进程是资源分配的基本单位
C
程序、数据集合、进程式控制制块(PCB)(进程存在的唯一标识)
PCB的组织方式(为了管理上的方便)
线性方式:所有的PCB组成一个数组;
链接方式:运行队列、就绪队列、阻塞队列;
索引方式:建立N张索引表。例如就绪索引表、阻塞索引表等。
D 就绪状态、执行状态、阻塞状态
E
1)创建原语、 建立进程的两种方式
a)由操作系统建立;b)由其他进程创建一个新的进程;
2)撤销原语、实质:撤销进程存在标志(进程式控制制块PCB)
3)阻塞原语、
4)唤醒原语
13.算法把CPU动态分配给就绪队列中的某个进程,并使之运行
调度的层次(三级)
高级调度(宏调度或作业调度):
冰原狼 3 冰原狼
按某种原则从外存的后备作业中,选一个或几个进入存储器,
为其运行做好有关准备工作;将作业变为一个或一组进程,分配必要的资源,进入就绪队列。 中级调度:内外存之间的进程对换(解决存储器紧张问题
低级调度:决定就绪队列中哪个进程将获得处理器
调度的功能(由调度程序来实现)
保护执行进程的现场(程序状态寄存器、指令计数器、通用寄存器)
查询、登记和更新PCB的相应项,选择合适的进程执行(进入执行态)
恢复被调度到的进程的原来现场;让被选中的进程继续执行。
调度的方式 :指把CPU分配给进程后,它能占用多长时间。
1)剥夺式2)非剥夺式 进程调度常用算法:
1、时间片轮转法:简单易行,但不精确(分时系统);
关键:选择合适的时间片
就绪态的进程轮流占用CPU执行一定的时间(时间片);
时间片按顺序赋予就绪队列中的每一个进程;
规定时间片内未执行完毕,也必须释放CPU;
2、优先级调度,调度性能好,增加了系统开销(适用于 批处理系统和实时系统 )关键:确定优先级
1)静态优先级——进程创建时即被确定
2)动态优先级——按某种原则不断修改进程优先级、
确定优先级的依据:静态:进程类型、对资源的需求、用户要求
动态:占用CPU时间的长短:长的优先级别低
等待处理器时间的长短:长的优先级别高
3、多重队列轮换法:把时间片轮转法中的单就绪队列→双就绪队列或多就 绪队列,赋每个队列以不同的优先权
14. 线程定义:进程中的一个实体,比进程更小的独立运行的基本单位。 引入线程原因:为了减少程序并发执行时所付出的时空开销,
使操作系统具有更好的并发性。
引入进程原因:为使多个程序并发执行,提高资源利用率和系统吞吐量
与进程区别:
a.进程是资源分配和拥有的基本单位,线程是处理器调度的基本单位。
b.进程拥有资源,线程不独立拥有资源,进程中的线程共享进程的资源。
c.进程有自己独立的地址空间,线程是进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;
15.a.存储空间的分配和回收
b. b.地址映射和重定位( 主存空间中对应的物理地址 )
c.存储共享与保护,共享1
2) 共同使用主存中的某些程序和数据区—共享区
d.主存扩充(主存单元逻辑上的扩充)
存储器分为三级:
冰原狼 4 冰原狼
1)外部存储器,(用来存放不立即使用的程序和数据,当用户的程序 运行需要它们时,再从外存把它们读入到主存储器。)、
2)主存储器,()
3)高速缓冲存储器,处理机取指令和存取数据在高速缓冲存储器进行
直接存储分配方式、静态存储分配方式、动态存储分配方式 12.
13 定义:地址空间的相对地址转化为存储空间中的绝对地址的地址变换过程,称为地址重定位,也称地址映射。
1
2)难以实现程序和数据的共享。
B.动态地址重定位的优点是:
1)有利于提高主存的利用率和存储空间使用的灵活性。
2)有利于程序段的共享实现。
3)为实现虚拟存储管理提供了基础。
缺点:
1)实现存储器管理的软件比较复杂。 2)需要附加的硬件支持。
14从逻辑上扩充主存的两种方法,解决在较小主存空间中如何执行大、多程序的问题
覆盖技术: 把程序划分为若干个功能相互独立的程序段,让那些不会同时被CPU执行的程序段共享同一个主存区。通常,这些程序段被保存在外存中,当CPU要求某一程序段执行时,才将该程序段装入主存中覆盖以前的某一程序段。对于用户看来,主存好像扩大了,这便是覆盖技术。
交换技术: 将系统暂时不用的程序或数据部分或全部从主存中调出,以腾出更大的存储空间,同时将系统要求使用的程序和数据调入主存中,并将控制权转交给它,让其在系统上运行。 区别: 对象的区别:交换不要求给出覆盖结构,主要是在进程或作业之间进行,而覆盖则主要是在同一个进程或作业之间进行。 作用的区别:交换可以在较小的存储空间中运行较多的作业或进程,覆盖可以在较小的存储空间中运行比其容量大的作业或进程。
15. 固定分区法(存在碎片现象): 指系统在初始化时,将主存空间划分为若干个固定大小的区域。用户程序在执行过程中,不允许改变划分区域的大小,只能够根据各自的要求,由系统分配一个存储区域。
动态分区法(不存在碎片现象):在系统初启时,除了操作系统常驻主存部分以外,只存在一个空闲分区。随后,分配程序将该区依次划分给调度程序选中的进程,并且分配的大小可随用户进程对主存的要求而改变,这种分配方式不会产生“碎片”现象,从而大大提高了主存的利用率。
动态分区的分配方式
冰原狼 5 冰原狼
(1)最先适应法 :将作业分配到主存的第一个足够装入它的可用空闲区中。这种算法的缺点是可能将大的空闲区分割成一个社区,不利大作业的装入与运行。
(2)最佳适应法:将作业分配到主存中与它所需大小最接近的一个可用空闲区
分区存储管理的优缺点
(3)最坏适应法:把一个作业分配到主存中最大的空闲区中。
优点:在大空闲区中装入作业后,剩下的空闲区常常也很大,于是也能满足以后较大的作业的要求。该算法对中、小作业的运行是很有利的
分区存储管理(1) 主要优点
? 实现了多道程序设计,从而提高了系统资源的利用率。
? 系统要求的硬件支持少,管理简单。
(2) 主要缺点
? 作业在装入时的连续性使主存的利用率不高。
? 主存的扩充只能采用覆盖与交换技术,无法真正实现虚拟存储。
动态分区的回收
分区的回收有四种情况:
(1)释放区与上下两个空闲区相邻。
(2)释放区与上空闲区相邻。
(3)释放区与下空闲区相邻。
(4)释放区与上下两个空闲区都不相邻。
移动技术:
优点:可使分散的“碎片”或小空闲区汇集成大的空闲区;
为作业执行过程中扩充主存提供了方便。
缺点:增加了系统的开销;
一些作业获得主存运行,后归还主存,再将送出的作业调回运行。
分页管理的基本思想:1)将作业分配在不连续的大小相同存储区域中(见缝插针分配),同时又要保证作业的连续执行。每个区称为一块(页框),与此对应,编制程序的逻辑地址也分为页(页面),页的大小与块的大小相等 ,通常页的大小总是2的整数次幂。
2)分配的考虑:将进程的页分配到主存的块中。
分页存储器的逻辑地址格式: 页号 页内偏移
优越性
1、实现了连续存储到非连续存储的飞跃,为实现虚拟存储打下了基础;
2不会大于整个页框的大小,从而提高了主存的利用率。
分类:1,静态分页管理
2,虚拟分页管理
16.系统把当前要用的程序和数据装入主存中启动程序运行,而暂时不用的程序和数据驻留在外存中。在执行中需要用到不在主存中的信息时,可将暂时不用的程序和数据调出主存,腾出主存空间让系统调入要用的程序和数据。从用户角度上看,系统具备了比实际主存容量大得多的存储器,这样的存储器称为虚拟存储器。
分段与分页比较:分段是信息的逻辑单位,是用户可见的,段的大小是用户程
冰原狼 6 冰原狼
序决定。而分页是信息的物理单位,
分页对用户来说是不可见的,页的大小是事先固定的。
17.页面置换算法(OPT,FIFO, LRU,CLOCK,NRU,LFU)
优化算法(OPT) 先进先出演算法(FIFO)
最近最久未使用置换算法(LRU) 时钟算法(Clock)
最近未用置换算法(NRU)
最少使用置换算法(Least Frequently Used—LFU)
18.分页与分段比较:
分段是信息的逻辑单位,是用户可见的,段的大小是用户程序决定。而分页是信息的物理单位,分页对用户来说是不可见的,页的大小是事先固定的。
19.第四章档系统 档分类
按用途分:系统档:指由系统软件构成的档。
用户档:指由用户的源代码、可执行档或数据等构成的档。
库档:指由标准的子程序及常用的例程等构成的档。
按数据形式分类:
源文件:指由源程序和数据构成的档。
目标档:指由各种语言编译程序所输出的相对地址形式的程序档,
如扩展名为.obj的档。
可执行档:指通过连接装配程序连接后所生成的可执行的目标档。
按存取控制属性分类:只执行档;只读档;读写档
按档的逻辑结构分类:
有结构档:指由记录有序集合所构成的记录式档,可分定长记录档和变长记录档。
无结构档:指由字符序列有序集合所构成的档,即流式档。
档存取方法:
顺序存取法:
-严格按照数据记录的排列顺序依次存取。
直接存取法:
-允许用户随意读写档的任意一个记录。
按键存取法:
-根据档中各记录的内容(键)进行存取的。
定义:档是具有符号名的一组相关元素的有序集合。 分类:
按逻辑结构: 无结构档、有结构档
按用途: 系统档、用户档、库档
按数据形式: 源文件、目标档、可执行档
按存取控制属性: 只执行档、只读档、读写档
冰原狼 7 冰原狼
按组织形式与处理方式:普通档、目录档、特殊档
20.文件存取方法:
顺序存取法、直接存取法、按键存取法
文件的逻辑组织方式
1. 顺序档:适应于顺序存取和成批处理,多用于顺序存储设备(如磁带) 对单个或少数几个记录的查询或更新,顺序档表现出来的性能较差。
2. 索引顺序档
3. 索引档
4. 直接档(哈希档)
21.目录结构:
单级目录结构、两级目录、多级目录
22.档存储空间管理:
空闲表法、空闲链表、位示图法、成组链接法
23.档存储空间分配:
连续分配、链接分配、利用FAT分配、索引分配
24.档共享的方法:
1. 绕道法 2. 连访法 3. 利用基本档目录实现档共享
4. 基于索引节点的共享方式 (档主删除档会产生指针悬空)
5. 利用符号链接实现共享 (可实现网络共享,但一致性维护存在问题)
25.档系统的一致性:
块的一致性、档系统的一致性
26.I/O设备的分类:
按设备的从属关系分类:系统设备、用户设备虚拟设备
按设备的共享属性分类:共享设备独占设备
按传输速率分类: 低速设备中速设备高速设备
按信息交换单位分类: 字符设备、块设备
27.设备控制器:
功能:
接收和识别命令、数据交换、获取设备状态、地址识别
组成:
设备控制器与处理机的界面
I/O逻辑
设备控制器与设备的界面
28.DMA控制器与直接存储器存取
特点:
1)数据传输的基本单位是数据块
2)传输数据直接从设备送入存储器或相反
3)数据传输在DMA控制器控制下完成
4)硬件线路比较复杂
组成:
主机与DMA控制器的界面
DMA控制器与块设备的界面
冰原狼 8 冰原狼
I/O控制逻辑
DMA工作过程:
参数准备阶段:交换数据的字节数,主存地址,辅存地址,交换类型等
DMA工作阶段:DMA发传输请求,CPU应答,DMA控制器接管对总线的控制,主存寻址,启动数据传输
中断处理阶段: 利用中断向CPU报告DMA操作结束
29.通道方式下的数据输入过程:
1) CPU发启动指令,指明I/O操作、设备号和对应通道。
2) 通道接收CPU指令,读出存储器中的通道指令,执行通道程序,控制设备将数据传输到指定存储器区域。
3) 数据传输结束后,向CPU发中断请求,CPU转中断处理程序。
30.设备驱动程序的功能与特点:
设备驱动程序的功能:
A.将接收到的上层软件的抽象要求转换为具体要求。
B.检查用户I/O请求的合法性,了解I/O设备状态,传递参数,设置设备工作方式。
1.发出I/O命令,启动设备,完成指定I/O操作。
2.及时回应处理控制器或通道发出的中断请求。
3.对有通道的系统,根据用户I/O请求,自动构成通道程序。
设备驱动程序的特点:
1.设备驱动程序是请求I/O的进程与设备控制器之间的一个通信程序。
2.设备驱动程序与I/O设备的特性紧密相关。
3.设备驱动程序与I/O控制方式紧密相关。
4.设备驱动程序与硬件紧密相关。
31.缓冲技术:
为何引入:
? 缓和CPU与I/O设备间的速度不匹配的矛盾
? 便于进程共享数据,减少对CPU的中断频率,放宽对中断回应时间的限制
? 提高CPU与I/O设备间的并行性
FCFS、SSTF、SCAN、C-SCAN、N-STEP-SCAN、FSCAN
33.Spooling系统:
组成:输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程
特点:提高了I/O速度、将独占设备改造为共享设备实现了虚拟设备的功能
34.第六章进程管理:
2.临界区:
并发进程中与共用变量有关的程序段称为“临界区”。 临界区的管理应有三个要求:
(1)互斥性:如果一个进程在它临界区中执行,其他任何进程均不能进入相关的临界区执行;
(2)进展性:如果一个进程不在它临界区中执行,不应阻止其他任何进程进入相关的冰原狼 9 冰原狼
临界区执行;
(3)有限等待性:某个进程从申请进入临界区时开始,应在有限的时间内得以进入临界区执行。
3.信号量(类似红绿灯)定义:
含有整型数据项的结构变量,其整型值大于等于零代表可供并发进程使用的资源实体数,但小于零时则表示正在等待使用临界区的进程数。
理解P、V操作的物理含义:
P 操作:当信号量s的整型值大于0时,它表示某类公用资源的可用数。因此,每执行一次P操作就意味着请求分配一个单位的该类资源给执行P操作的进程使用,信号量了,因此,请求资源的进程将被阻塞在相应的信号量s的等待队列中。此时,s的整型值的绝对值等于在该信号量上等待的进程数。
V 操作:执行一次V操作就意味着进程释放出一个单位的该类可用资源,故信号量s的整型值应增加1。若s的整型值还小于等于0,表示在信号量s的等待队列中有因请求该类资源而被阻塞的进程,因此,就把等待队列中的一个进程唤醒,使之转移到就绪队列中去。注意:唤醒的次序依系统而定。
用P、V操作实现进程间互斥、同步
4.进程同步:
异步环境下的一组并发进程,因直接制约互相发送消息而进行相互协作、相互等待,使得各进程按一定的速度执行的过程称为进程间的同步。
5.进程互斥:
不允许两个以上共享共有资源或变量的进程同时进入临界区执行的性质称为互斥
6.直接通信:指发送进程把信件直接发送给接收进程。
间接通信:指发送信件进程把信件发送到一个共享的数据结构—信箱(mailbox)中,接收进程也到信箱去取信件
进程通信定义:一个进程将一批信息发送给另一进程的过程。
原语:
send(P,信件):表示把一封信件发送给进程P;
receive(Q,信件):表示从进程Q处接收一封信件
直接通信和间接通信的区别:
1)进程间的密切关系不同:直接通信常用于进程间关系比较密切的情形,而间
接通信则用于联系不十分紧密的进程之间通信。
2)间接通信具有较大的灵活性:发送进程和接收进程之间的关系可以有一对一、一对多、多对一和多对多的多种关系;进程与信箱的关系可以是静态的,也可以是动态的(提供connect,disconnect原语 ) 。
7.死锁定义: 死锁是由于一组进程相互等待对方所占有的资源,而出现的一种相互永远等待的现象。
8.
? (1)互斥条件(mutual exclusion)进程申请使用该资源,申请进程必须等待直到所申请的资源被释放。
? (2)部分分配条件(hold and wait):一个进程已占有一定资源后,执行期间又再申请其他资源。
? (3)不可抢占条件(no preemption)冰原狼 10 冰原狼
能被其他进程抢占使用。
? (4)循环等待条件(circular wait):在系统中存在一个由若干进程申请使用资源而形成的循环等待链,其中每一个进程占有若干资源,同时又在等待下一个进程所占有的资源。
9.:
? (1)死锁的预防,消除可能产生死锁的原因。
? (2)死锁的避免。
? (3)死锁的检测和修复。
10.预防死锁的办法:资源静态分配法和资源的层次分配法。
避免死锁的方法:银行家算法
解除死锁的方法有两种:(1)撤销进程法;(2)剥夺资源法。
11.银行家算法的基本思想:
检查申请者对各类资源的最大需求量,如果系统现存的各类资源可以满足它的最大需求量时,就满足当前的申请。换句话说,仅仅在申请者获得资源最终能运行完毕,无条件地归还它所申请的全部资源时,才分配资源给它。
35.操作系统安全性
36.安全操作系统功能:
1.有选择的访问控制 2.存储器管理与对象重用
3.审计能力 4.加密的数据传送
5.加密的档系统 6.安全的进程间通信机制
冰原狼 11 冰原狼