概述
第一章 引论
操作系统:介于计算机硬件和应用软件之间的一个软件系统。掌控计算机上的所有事情。
功能:(5个)完成的事情
控制和管理计算机系统上所有软硬件资源.
合理地组织计算机的工作流程,保证资源的公平竞争和使用。
方便用户使用计算机。
防止对计算机系统的非法侵占与使用。
保证操作系统自身的正常运转。
设计目标:(6)
方便性 有效性 开放性 可扩展性 可靠性 可移植性
操作系统的主要功能:(6)
处理器管理
存储器管理
设备管理
文件管理
用户接口
网络与通信管理
基本特征:(4)常考
(1)并发性。并发性是指两个或两个以上的事件或活动在同一时间间隔内发生。
(2)共享性。程序的并发执行使得软、硬件资源不再为某个程序所独占,而是由多个程序共同使用。
(3)虚拟性。本质含义是指将一个物理实体映射为多个逻辑实体。
(4)不确定性。受资源、其他程序得影响,程序的执行结果,运行次序,完成时间、发生中断的时间都是不确定的。
操作系统的逻辑结构:单内核、分层式、微内核(服务采用消息传递机制)
操作系统形成与发展:
1. 形成:(1)手工操作(2)监控程序
成熟:(1)多道批处理操作系统(2)分时操作系统
进一步发展:网络操作系统、分布式操作系统 、虚拟化技术和云操作系统
多道程序设计:是指允许多个程序同时进入计算机内存,并采用交替执行方法使它们运行。
在一台CPU上并发运行多个程序
操作系统的主要类型:批处理、分时、实时操作系统
分时操作系统:是指多个用户通过联机终端设备按时间片轮转法使用同一台计算机的操作系统。
特点:
独立性。采用时间片轮转法,使得一台计算机同时为若干用户服务,客观上这些用户彼此独立。
同时性。宏观上,多个用户终端在使用同一个计算机。
交互性。用户是联机用户,可采用人机对话的方式与自己的程序对话。
及时性。系统对中断用户的请求能在足够短的时间内的到响应。
实时操作系统:
功能:
(1)实时时钟管理;(2)过载保护;(3)高可靠性和安全性
特征:
(1)及时响应和处理;(2)安全可靠
(3)交互能力有限;(4)多路性
网络操作系统:以资源共享为目的的网络用户和计算机网络之间的接口,网络用户通过本地计算机请求网络为它提供各种服务。
工作模式:
(1)客户-服务器(Client/Server,C/S)模式
(2)对等(Peer-to-Peer)模式
功能:
(1)网络通信(2)资源管理(3)网络服务
(4)网络管理(5)互操作能力
分布式操作系统:通过网络将多个分散的处理单元连接起来,并在分布式处理软件的支持下构成一个整体而形成的系统。
嵌入式操作系统:以应用为中心,以计算机技术为基础,软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
微机操作系统
分类:(1)单用户单任务;(2)单用户多任务;(3)多用户多任务
特性:(1)开放性(2)通用性(3)高性能(4)采用微内核结构
有效的安全机制:
(1)身份鉴别
(2)存取控制
(3)最小特权管理
(4)硬件保护
(5)安全审计
(6)入侵检测
(7)数据加密
处理器及工作模式
CPU、特权指令、CPU状态(内核态、用户态)
CPU状态:内核态、用户态、内核态与用户态的转换、程序状态字(PSW)
中断技术
特点:
(1)中断是随机的;(2)中断是可恢复的;(3)中断是自动处理的
分类:外中断与内中断
外中断:可屏蔽&不可屏蔽
内中断(异常):自愿性中断&强迫性中断
自愿性中断:系统调用、缺页中断、断点指令、其他程序中断指令
强迫性中断:硬件故障中断、程序性中断、输入/输出中断、外部中断
中断向量:每个中断有一个唯一的与其对应的中断向量号
第二章 处理器管理
程序的顺序执行特点:(3)
顺序性;CPU按程序规定的顺序严格执行程序的操作。
封闭性;程序一旦开始运行,其运行结果不会收到外界隐私的影响。
可再现性。运行结果仅与初始条件有关,与运行时间,速度无关。
程序的并发执行:多个程序在执行时间上是重叠的。
特性:
(1)间断性。多个程序在并发执行共享资源,导致程序之间产生相互制约的过程。
(2)失去了封闭性。程序在向前推进时,受到其他程序的影响。
(3)不可再现性。运行结果不仅与初始条件有关,与运行时间,速度有吗,
关。
进程:是一个可并发执行的、具有独立功能的程序 关于某个数据集合的一次执行过程,时操作系统进行资源分配和保护的基本单位。(动态执行过程)
进程结构:进程实体 = 程序段 + 相关数据段(有些没有) + PCB(进程控制块)
PCB:用来存储程序向前推进的执行过程中所要记录的有关运行信息。
进程特征:(1)动态性;(2)并发性;(3)独立性;(4)异步性;(5)结构性。
进程与程序的区别:(5)
程序是指令的有序集合,是一个静态概念;进程是程序在CPU上的一次执行过程,是一个动态概念。
程序作为软件资料可以长期保存;进程是有生命周期的,因创建而诞生、因调度而执行、因得不到资源而暂停执行、因撤销而消亡。
程序为静态文本,不运行也不分配调度;进程是一个独立的基本单位,也是系统进行资源分配和调度的基本单位。
两者之间没有一一对应的关系。进程是程序的一次执行单位,程序的多次执行可以产生多个进程,而不同进程也可以包含同一个程序。
程序是记录在介质上指令的有序集合;进程是由程序段、数据段、PCB三部分组成。
五态模型:
进程的挂起:指在内存中的进程被暂时移到外存的过程。
激活原语:解除挂起状态,经进程由外村重新调入内存。
PCB组织方式:线性表 链接表 索引表
进程切换:实质是回收当前运行进程对CPU的控制权,并将CPU控制权转交给新调度的进程这样一个过程。
进程的上下文:一个进程运行时,CPU所有寄存器中的内容、进程的状态以及运行栈中的内容。
进程上下文的组成:(1)系统级上下文(2)寄存器上下文(3)用户级上下文
进程切换的时机:(1)中断(2)异常(3)系统调用
进程上下文切换(6)
(1)当前运行进程被中断时保存其CPU现场信息。
(2)对被中断的进程进行PCB更新。
(3)将被中断的进程的PCB移入适当的队列。
(4)由进程调度程序调度选中另一个就绪进程,为其设置执行的上下文环境并对其PCB进行更新。
(5)对新进程修改地址空间,更新内存管理信息。
(6)恢复所保存的CPU现场信息。
原语:一个特殊的程序段称为原语。这段程序的执行具有原子性,要么全部执行,要么一个都不执行。
进程控制原语:主要有创建、撤销、阻塞和唤醒等。
作业状态(4)
(1)提交状态;(2)后备状态;(3)执行状态;(4)完成状态。
作业:程序 数据 作业说明
作业和进程的区别:(5)
作业是用户向计算机提交任务的任务实体。进程是完成用户任务的执行实体。
一个作业可以同时对应多个进程。
作业的概念主要用在批处理系统中;进程的概念几乎都用在多带程序系统中。
作业的调度主要功能是检查系统是否满足作业的资源要求;进程调度则是根据一定给的算法将CPU分配给某个就绪进程并执行。
CPU的三级调度
1.高级调度(作业调度) :按一定的调度算法将外存上处于后备状态的作业调入内存,为其分配资源并创建进程。
2.中级调度(交换调度):在资源紧张的情况下,从内存中暂不运行的进程选择一个或数个进程挂起,从而使外存上具有运行条件的就绪进程调入内存运行。
3.低级调度(进程调度):按一定调度算法将CPU分派给就绪队列的某个进程。
进程调度方式:非抢占式(非剥夺式)调度、抢占式(剥夺式)调度
抢占式调度:允许进程调度程序暂停正在运行的进程,并按某种原则将CPU分配给另一个进程使用。
抢占式调度下:当一个进程阻塞->就绪 一定有一个进程就绪->运行
常用调度算法:
1.先来先服务调度算法(FCFS)
2. 短作业/短进程优先调度算法(SJF/SPF)
3. 时间片轮转调度算法(RR)
4. 高响应比优先调度算法(HRRF)
5. 优先级调度算法
6.多级反馈队列调度算法(MLFQ)
线程引入的原因:
解决进程的两个缺陷:1.进程在一段时间内只能做一件事情。2.若进程在执行过程中因等待输入数据而被阻塞,这时进程还有一些不依赖于输入数据的其他工作可做,但由于进程的阻塞而无法进行。
线程:是CPU调度和执行的最小单元。
(1)进程内的一个执行单元。
(2)进程内的一个可独立调度的实体。
(3)线程是进程中一个相对独立的控制流序列。
(4)线程是执行的上下文。
线程实现:内核态线程实现 用户态线程实现 混合式线程实现
在引入线程的OS中:资源分配的单位进程、 CPU分配调度的单位线程
第三章 进程同步与通信
并发进程的关系:(1)间接制约关系 (2)直接制约关系
进程的互斥与同步
进程同步:若干进程为完成一个共同任务而相互合作等待对方消息的协调关系。
进程互斥:指某一资源同一时间只允许一个进程对其进行访问,这种访问具有唯一性和排他性。
互斥->饥饿 死锁
(1)饥饿:一个就绪进程所申请的资源总是被优先于自己的其他进程所占有,从而适中处于不能被调度执行的状态。
(2)死锁:一个进程集合已经占有部分资源的两个或两个以上进程,还需获得已被其他进程占有的资源才能够继续执行,有可能某些进程相互都在等待对方资源的情况,永远都在阻塞无法运行。
同步与互斥的比较
相似:进程互斥是进程同步的一种特殊情况,即逐次使用互斥资源,也是对进程使用资源次序的一种协调。 两者可以统称为进程同步
区别:1.进程互斥是通过互斥资源来制约个进程执行的,这种互斥无法限制对资源的访问顺序,访问是无序的。
进程同步是在互斥的基础上,通过其他机制来实现对资源的有序访问。
临界资源:某段时间内只能允许一个进程使用的资源(即互斥资源)。
临界区:进程中访问临界资源的代码段。
实现进程互斥的硬件方法:机器指令(3)
开关中断指令 测试与设置指令TS 交换指令Swap
实现进程互斥的软件方法:
1.两标志进程互斥算法。不能很好的解决两个进程同时到达的问题
2.三标志进程互斥算法。
信号量:OS中,信号量代表了一类物理资源,它是相应物理资源的抽象。
信号量:整型信号量 和 结构体信号量。
使用信号量实现进程同步 采用信号应答方式
进程通信的概念:进程之间进行信息交换
进程通信分:(1)低级通信。PV原语
(2)高级通信 。
高级通信:(1)共享内存通信。UNIX、Windows、OS/2
(2)共享文件通信->消息缓冲通信&管道通信
(3)消息传递通信。进程间以消息为单位来进行信息交换。
系统资源分为两类:可抢占资源和不可抢占资源
可抢占资源。某进程获得这类资源后,该资源可以再被系统或其他进程抢占。
不可抢占资源。某进程获得这类资源后,该资源不能再被其他进程所抢占,只能在进程使用完毕后由该进程自己释放
产生死锁的原因:(1)系统资源不足 (2)进程推进顺序不当
产生死锁的必要条件:
互斥条件。进程对所获得的资源进行排他性使用。
请求和保持条件(部分分配条件)。一个进程请求资源得不到满足而阻塞自己时,并不释放已分配给它的资源。
(3)不可抢占资源。进程所获得的资源在未使用完毕之前不能被其他进程抢占,而只能由占用该资源的进程自己释放。
(4)循环等待条件。若干进程形成一个循环等待链,链中每一个进程都在等待该链中下一个进程所占用的资源。
死锁的预防:坏死锁的必要条件来控制死锁的策略。
1. 破坏“请求和保持”条件。资源预分配策略,即每个进程在运行之前一次性申请它所需要的全部资源。
2. 破坏“不可抢占”条件。采用抢占资源分配策略。
3. 破坏“循环等待”条件。将系统中所有资源进行编号,并规定进程申请资源时必须严格按照资源编号递增(或递减)的顺序进行。
死锁的避免 银行家算法
不改变资源的固有性质的前提下,对资源的分配策略施加较少的限制条件来避免死锁的发生。
死锁的检测与解除
第四章 存储管理
内存空间的共享和保护
两个或多个进程共享内存中相同区域称为内存的共享。
共享:代码共享 数据共享
存储保护方式:
(1)界地址保护
(2)存储键保护
分区式存储管理
单一连续分区存储管理
固定分区存储管理
可变分区存储管理
分配算法:a.首次适应算法
最佳适应算法
最差适应算法
交换技术:
由操作系统根据需要,将内存中暂时不具备运行条件的部分程序或数据移到外存,以便腾出足够的内存空间将外存中急需运行的程序或数据调入内存投入运行。
分页存储管理
物理地址=物理块号×页长+页内地址
具有快表的地址转换
是在地址转换机构中增加一个具备并行查找能力的高速缓冲寄存器,又称为联想存储器
来构成一张快表,快表中保存着当前运行进程最常用的页号和其对应的物理块号。
页的共享:数据共享 程序共享
页的保护:
(1)逻辑地址转换成物理地址时的保护:通过页号与页表长度的比较防止地址越界;
(2)对共享信息的保护:通常是在页表中增加一些标志位来设置存取控制字段,一般设置只读、读写、读和执行等权限;如果某进程试图去执行一个只允许读的内存物理块,系统就会发出访问性中断。
分段存储管理
以段为单位为程序离散分配内存空间。
段页式存储管理
各段之间按分段存储管理进行,每个段的内部则按分页存储管理进行
虚拟存储器:具有自动实现部分装入和部分对换的功能,仅将进程的一部分装入内存即可运行;从逻辑上讲,是对内存容量进行扩充的一种虚拟的存储器系统。
要实现虚拟存储器应具备的条件:(4)
(1)能够完成虚拟地址到物理地址的转换。
(2)实际内存空间。
(3)外存交换区。
(4)换进、换出机制。
虚拟存储器的特征如下:(4)
(1)离散性
(2)多次性
(3)对换性
(4)虚拟性
请求分页存储管理
把程序划分为大小相等的若干页,称为虚页;把内存划分成与页大小相同的若干块,称为实块(物理块)。
页置换算法:当发生缺页并调页时,若已经没有空闲的空间,此时通过页置换算法选择需要淘汰的页
(1)最佳置换算法OPT
(2)先进先出算法FIFO
(3)最近最久未使用算法LRU
第五章 设备管理
设备的分类
使用特性:存储设备 I/O设备
信息传输速率:低速(键盘、鼠标) 中速(打印机) 高速(闪存 磁盘)
信息传输单位:字符设备(打印机) 块设备(磁盘)
资源分配方式:独占设备 共享设备 虚拟设备
设备的从属关系:系统设备 用户设备
计算机配置操作系统的主要目的:1.提高系统资源的利用。
2.方便用户使用计算机。
设备管理的目标:(1)方便性(2)并行性(3)均衡性(4)独立性
设备管理的功能:
(1)提供设备使用的接口
(2)进行设备的分配与回收
(3)缓冲区管理
(4)实现物理I/O设备的操作(真正的I/O操作)
(5)设备的访问和控制
CPU与通道之间的关系是主从关系:CPU是主设备,通道是从设备。
一台计算机中可以配置多个通道,一个通道可以连接多个设备控制器,一个设备控制器可以连接多台同类型的设备。
通道的类型
① 字节多路通道;(低、中速)② 数组选择通道;③ 数组多路通道(高速:磁带机)
设备无关性:用户编写的应用程序独立于具体使用的物理设备。通过逻辑设备名访问设备
体现在两个方面:
程序设计的角度,各种设备所体现的接口是一致的。
操作系统对所有的设备及设备操作都采取统一方式进行管理。
I/O设备控制方式
程序直接I/O控制方式
程序中断I/O控制方式
直接存储器存取I/O控制方式 DMA直接存储器存取
DMA方式有:(1)周期窃取方式;(2)直接存取方式;(3)数据块传送方式
4. I/O通道控制方式
缓冲技术:1. 单缓冲和双缓冲2.循环缓冲3. 缓冲池4. 高速缓存
虚拟设备技术
虚拟设备通常采用SPOOLing技术(假脱机操作技术)实现.
对移动头硬盘访问数据的时间由寻道时间、旋转延迟时间和数据传输时间这3部分组成:
平均访问时间 = 寻道时间 + 旋转延迟时间
磁带:顺序存取 光盘:随机(直接)存取
影响磁盘访问时间的因素有三个:① 寻道时间;② 旋转延迟时间;③ 数据传输时间
提高磁盘I/O速度的方法:
磁盘高速缓存 2. 提前读 3. 延迟写 4. 优化数据块分布 5. 虚拟盘
磁盘阵列(RAID)
RAID 6种不同组织形式: 0级RAID到5级RAID
第六章 文件管理
下层为上层提供服务、上层使用下层的功能
文件的逻辑结构:无结构&有结构文件
1.流式文件 windows unix linux (无结构文件)
2.记录式文件(有结构文件) 最小单位:逻辑记录
文件在磁盘上的存放方式:
连续空间存放方式
非连续空间存放方式(链表方式 索引方式)
文件的物理结构:1.连续结构2.链接结构3.索引结构
在UNIX文件系统中,为了对磁盘空间的空闲块进行有效的管理,采用的方法是成组链接法。
目录结构
单级目录->按名存取FCB 不能重名
二级目录->用户文件目录 & 主文件目录
多级目录 树形结构
文件控制块FCB = 首个物理块地址 + 文件的长度(物理块个数)
文件目录查找:顺序检索法 散列检索法
文件存储空间管理:1.空闲分区表法 2.空闲块链法3.位示图法
早期的文件共享法:1.绕道法2.链接法3.基本文件目录表法
目前常用文件共享:1.静态共享2.动态共享
位示图->内存管理&外存的磁盘管理
最后
以上就是酷酷冰棍为你收集整理的操作系统复习.知识点总结的全部内容,希望文章能够帮你解决操作系统复习.知识点总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复