操作系统知识点整理完整版.docx
《操作系统知识点整理完整版.docx》由会员分享,可在线阅读,更多相关《操作系统知识点整理完整版.docx(26页珍藏版)》请在冰豆网上搜索。
操作系统知识点整理完整版
第1章操作系统概述
1)一个完整的计算机系统是由硬件系统和软件系统两大部分组成
2)计算机软件是指程序和与程序相关的文档的集合
3)按功能可把软件分为“系统软件”和“应用软件”两部分
系统软件:
操作系统语言处理程序,数据库管理系统
应用软件:
各种管理软件,用于工程计算的软件包,辅助设计软件
4)通常把未配置任何软件的计算机称为“裸机”
5)操作系统可以被看作是计算机系统的核心,统管整个系统资源,制定各种资源的分配策略,调度系统中运行的用户程序,协调它们对资源的需求,从而使整个系统在高效、有序的环境里工作。
6)发展的动力:
(1)提高计算机资源的利用率的需要
(2)方便用户使用计算机的需要
(3)硬件技术不断发展的需要
(4)计算机体系结构发展的需要
7)操作系统是在“裸机”上加载的第一层软件,是对计算机硬件系统功能的首次扩充
8)操作系统的定义:
操作系统是控制和管理计算机硬件和软件资源,合理地组织计算机工作流程,以及方便用户使用计算机的一个大型程序
9)操作系统的功能:
Ø处理机管理:
进程控制,进程同步,进程通信、调度、实施CPU分配
Ø存储器管理:
内存分配,内存保护,地址映射,内存扩充
Ø设备管理:
缓冲管理,设备分配,设备管理
Ø文件管理:
存储空间管理,目录管理,读写管理和保护
Ø与用户有关的接口:
用户接口,程序接口,人机交互
10)操作系统另一种定义:
操作系统是一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合
操作系统的种类:
1)单道批处理系统
特点:
单路性、独占性、自动性、封闭性、顺序性
缺点:
系统的资源得不到充分的利用
2)多道批处理系统
特点:
多路性、共享性、自动型、封闭性、无序性、调度性
好处:
✓提高CPU的利用率
✓提高内存和I/O设备的利用率
✓增加系统吞吐量
缺点:
平均周转时间长,无交互能力
3)分时系统
分时系统是指在一台主机上连接了多个配有显示器和键盘的终端,由此所组成的系统,该系统允许多个用户同时通过自己的终端,以交互方式使用计算机,共享主机中的资源。
采用了“时间片轮转”的处理机调度策略
4)实时系统
实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行
第2章处理机管理
1)进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令,数据和堆栈等组成的,是一个能独立运行的活动实体,多个进程可以并发执行和交换信息
2)程序是一个在时间上严格有序的指令集合
3)在单道程序设计下,系统具有的特点
a.资源的独占性
b.执行的顺序性
c.结果的再现性
在多道程序设计环境下,系统具有:
a.执行的并发性
b.相互的制约性
c.状态的多变性(不可再现性)
5)并发、并行、串行
a.从宏观上看是并行,同时在内存的多个程序都在执行着,互不影响
b.从微观上看是串行,由于CPU在任何时刻只能执行一个程序,因此这些程序轮流占用CPU,交替执行着
c.我们把“逻辑上相互独立的程序,在执行时间上相互重叠,一个程序的执行还没有结束,另一个程序的执行已经开始”的这种特性称为程序执行的并发性
6)对进程的描述
a.进程是程序的一次执行过程
b.进程的运行活动是建立在某个数据集合上的
c.进程是在获得资源的基础上从事自己的运行活动
7)进程的特征
结构特征、动态性、并发性、独立性、异步性
进程是一个动态的概念
不同进程可以执行同一个程序
每一个进程都有自己的生命周期
进程之间具有并发性,进程间会相互制约
8)程序和进程的区别
a.程序是指令的有序集合,是静态的,进程是程序在处理机上的一次执行过程,是动态的。
程序的存在时永久的,而进程是有生命周期的,它因创建而产生,因调度而运行,因撤销而消亡
b.进程是程序的一次执行过程,程序是进程赖以存在的基础
c.进程具有并发性,而程序并发执行会失去可再现性
d.进程是系统分配和调度的独立单位,进程由程序、数据集合和进程控制块组成
9)系统进程的使用级别高于用户进程
10)进程的状态
创建、就绪、运行、阻塞
a.一个进程从运行状态变为就绪状态,一定会引起另一个进程从就绪变为运行
b.一个进程从运行状态变为阻塞状态,一定会引起另一个进程从运行状态变为就绪状态;这种因果变迁绝对不可能发生,因为一个CPU不可能真正同时运行两个进程
c.一个进程从阻塞状态变为就绪状态,不一定会引起另一个进程从就绪状态变为运行状态
11)进程的三个组成部分:
程序、数据集合、进程控制块(PCB)
12)进程控制块是进程存在的唯一标示
a.作用:
通过PCB,是原来不能独立运行的程序,成为一个可以独立运行的基本单位,一个能够并发执行的进程
b.其中的信息:
进程标识符、处理机状态、进程调度信息、进程控制信息
13)操作系统中把做出“决定把CPU分配给谁用”的程序称为“进程调度程序”
14)常用的进程调度算法:
a.先来先服务调度算法
b.时间片轮转调度算法:
为就绪队列中的每一个进程分配一个称为“时间片”的时间段,它是允许该进程占用CPU的最长时间长度
c.优先数调度算法:
优先数高的先调度,若相同则先来先服务
d.多级队列调度算法:
时间片调度和优先数调度算法的结合
15)进程调度程序的主要功能
a.记录系统中所有进程的有关情况,比如进程的当前状态,优先数等
b.确定分配处理机的算法
c.完成处理机的分配
d.完成处理机的回收
16)把处理剂分配给进程后,还有一个允许它占用多长时间的问题,有两种处理方式,一种是不可剥夺方式,另一种是剥夺方式
17)为了对进程进行有效的管理和控制,操作系统要提供若干基本的操作以便能创建进程、撤销进程、阻塞进程、唤醒进程,把具有这种特性的程序称为“原语”,原语的不可分割性,通常利用屏蔽中断的方法
18)程序接口:
操作系统在程序一级给予用户的支持
命令接口:
操作系统在控制一级给予用户的支持
19)CPU指令系统中的指令分为两类
a.操作系统和用户都能使用的指令,非特权指令
b.只能由操作系统使用的指令,特权指令
20)CPU的两种工作状态:
管态、目态
a.当CPU处于管态时,可以执行包括特权指令在内的一切机器指令
b.当CPU处于目态时,禁止使用特权指令
21)访管指令
系统调用命令的程序属于操作系统,它应该在管态下执行
用户程序只有通过计算机系统提供的访管指令才能实现由目态转为管态,进而调用这些功能程序的目的
访管指令属于非特权指令,功能是执行它就会产生一个软中断,促使中央处理机由目态转为管态,进入操作系统并处理该中断
22)从功能上看,可以把系统调用命令分为五大类:
a.一是关于进程管理和控制的
b.二是关于外部设备输入/输出的
c.三是关于磁盘文件管理的
d.四是关于访问系统信息的
e.五是关于存储申请与释放的
23)从形式上看,操作系统提供的系统调用与一般的过程调用(子程序调用)相似,但它们有着明显的区别
作业管理:
1)把一个作业提交给系统时,系统要开辟一个作业控制块JCB,以便随时记录作业的信息
2)被系统接纳的作业,在没有投入运行之前,称为后备作业。
这些作业存放在辅助存储器中,并由他们的JCB连接在一起,形成所谓的后备作业队列
3)作业调度:
按照某种规则,从后备作业队列中挑选作业进入内存,参与处理机的竞争,这个过程称为作业调度
4)作业的状态:
a.提交状态:
进入辅助存储器,作业的信息还没有全部进入系统,系统也没有为它建立JCB,感知不到它的存在
b.后备状态:
建立起了JCB,并将JCB排到后备作业队列中
c.运行状态:
(阻塞、运行、就绪)都属于运行状态
d.完成状态:
也是一个暂时性的状态
5)作业的调度算法:
a.先来先服务:
以作业进入后备作业队列的先后次序
周转时间=完成时间-到达时间
注:
若分配一定的内存,且不允许作业在内存中移动时,要考虑所占内存大小
b.短作业优先:
从后备作业队列中挑选所需CPU时间最少且资源能够得到满足的作业
注:
如果所有作业“同时”到达后备作业队列,那么采用短作业优先的作业调度算法总会获得最小的平均周转时间
c.响应比高着优先:
先调度响应比高着
响应比=已等待时间/所需CPU时间
6)在确定作业调度算法时应注意的问题:
a.公平对待后备作业队列中的每一个作业,避免无故或无限期的延迟一个作业的执行,使各类用户感到满意
b.使进入内存的多个作业,能均衡地使用系统中的资源,避免出现有的资源没有作业使用,有的资源却被多个作业争抢的“忙闲”不均的情况
c.力争在单位时间内为尽可能多的作业提供服务,提高整个系统的吞吐能力
第3章存储管理
1)计算机操作系统的存储器:
CPU寄存器,主存,辅存
2)在考虑计算机存储器的设计时,必须顾及
a.价格、容量、访问时间
b.存取时间越快,价格越高,容量越小
3)高速缓存:
介于寄存器和存储器之间的存储器,主要用于备份主存中较常用的数据,以减少处理机对主存储器的访问次数,提高程序执行速度
高速缓存容量远大于寄存器,比内存约小两到三个数量级左右
为了缓和内存与处理机(CPU)速度的不匹配
4)字(字长):
一次传送数据的长度{16、32、64…}依系统而定
(主)内存储器和高速缓存之间是以“块”为单位传递数据的
高速缓存与CPU之间则以“字”为单位传递数据
5)存储器管理的功能:
a.内存的分配与回收
b.存储的保护和共享
c.地址定位
d.存储扩充
6)内存储器由一个个存储单元组成,一个存储单元可存放若干个二进制的位(bit),8个二进制位被称为一个字节(byte)
7)在操作系统中,把用户程序指令中的相对地址变为所在绝对地址空间中的绝对地址的这个过程,称为地址重定位
8)地址的定位方式:
a.绝对定位方式:
是在程序装入内存之前,程序指令中的地址就已经是绝对地址,已经正确地反映了它将要进入的存储区的位置,不适用于多道程序设计环境
b.静态重定位(多道程序环境下)
根据内存的具体情况将装入模块装入到内存的适当位置,会使装入模块中的所有逻辑地址与实际装入内存后的物理地址不同。
这种地址重定位是在程序执行前完成的
c.动态重定位
将地址重定位的时间推迟到程序执行时再进行
所以装入内存的所有地址都仍是逻辑地址
连续分配存储方式:
1)单一连续分配(静态重定位)
a.单道程序环境下,总体上把内存储器分为两个分区:
系统区和用户区
b.系统总是把整个用户区分配给一个用户使用,把分配给了用户但未被使用的区域称为“内部碎片”
c.单一连续分区存储管理的缺点:
a)由于每次只能有一个进入内存,故它不适用于多道程序设计,工作效率不高,资源利用率低
b)只要作业比用户区小,在用户区里就会形成碎片,造成资源浪费
c)大作业无法在小内存中运行
d.为缓解大作业小内存的情况提出覆盖技术和对换技术
a)覆盖技术:
允许一个作业的若干个程序段使用同一个存储区
b)对换技术:
以辅助存储器作为内存的后援(硬盘)
2)固定分区存储管理(静态):
分区数目、大小固定
a.预先把内存储器中可供分配的用户区划分成若干个连续分区,每个分区的尺寸可以相同,可以不同。
每个分区中只允许装入一个作业运行,系统可以为每一个分区设置一个后备作业队列,一个作业到达时,总是进入到“能容纳该作业的最小分区”的那个后备队列中去排队
b.分区