【操作系统汇总】

绪论

定义
操作系统是裸机上的第一层软件,是计算机资源的管理者,为用户提供硬件接口。
操作系统的特征
并发:两个或多个事件在同一时间间隔内运行
共享:系统中的资源可供内存中多个并发执行的进程或线程共同使用
虚拟:将一个物理上的实体变为若干个逻辑上的对应物
异步:系统中每道程序何时执行、多道程序间的执行顺序以及每道程序所需要的时间都是不确定的
主要功能
处理器管理:对处理器的分配和运行实施有效的管理
存储器管理:对内存进行分配、保护和扩充
文件管理:有效地支持文件的存储、检索和修改等操作,解决文件的共享、保密和保护问题
设备管理:对计算机系统内的所有设备实施有效管理。
用户接口管理:操作系统提供了命令接口、图形接口和程序接口
运行环境
核心态:操作系统管理程序执行时机器所处的状态
用户态:用户程序执行时机器所处的状态
特权指令:只能由操作系统内核部分使用不允许用户直接使用的指令,如I/O指令
中断:系统正常功能的一部分,因进程调度使系统停止运行当前进程转而运行其它进程或者因缺少所需资源而中断当前操作等待资源送达,在系统处理完其他的事情之后会继续执行中断前的进程
异常:由错误引起的中断如文件损坏、进程越界等
系统调用:是应用程序与系统之间的接口。执行系统调用时,首先准备并传递系统调用所需的参数,通过trap指令进入系统内核,此时由用户态转为内核态,之后执行相应的系统调用函数,使用特定的系统内核功能,最后将处理结果返回给用户进程,此时从内核态返回用户态。

进程

定义
进程是在处理器上的一次执行过程,是资源分配的基本单位,也是独立运行的基本单位。
特征
动态性、并发性、独立性、异步性
进程间的通信
共享存储、消息传递、管道通信
进程与程序
进程是动态的,程序是静止的,进程是暂时的,程序是永久的,进程的组成包括程序段、数据段和进程控制块,进程具有独立性和异步性,而程序没有;通过多次执行一个程序可以产生多个不同的进程,通过调用关系一个进程更可以执行多个程序。进程可以创建新的进程,而程序不能生成新的程序。
进程状态及转换
就绪态:进程已经获得除CPU以外的所有资源
执行态:进程正在CPU上运行
阻塞态:正在执行的进程由于发生某件事情无法继续执行。
进程的缺点
为了使进程能够并发执行,操作系统必须进行一系列的操作如进程的创建、撤销和切换,需要为进程分配、回收资源,保存现场信息,时空开销大,限制了并发程度。
线程
线程是进程内一个相对独立的、可调度的执行单元,线程自己基本不拥有资源,但可以与同属于一个进程的其他线程共享进程拥有的全部资源。提高了程序并发执行程度,进一步提高了系统吞吐量。
进程与线程
(1)调度:线程是独立调度的基本单位,进程是资源分配的基本单位。同一进程中线程的切换不会引起进程切换,不同进程中的线程切换会引起进程切换
(2)拥有资源:进程拥有资源,线程基本不拥有资源,只保留一些能够保证运行的寄存器
(3)并发性:同一进程内的多个线程之间也可以并发执行
(4)系统开销:创建或撤销进程时,系统需要分配、回收资源,系统开销大,创建、创建撤销进程时只需设置少量寄存器内容,开销小得多,多线程之间的同步与通信也无需操作系统干预。
处理器调度
低级调度(进程调度):按照某种策略和方法从就绪队列中选取一个进程为其分配CPU
中级调度(挂起):按照给定的原则和策略将处于外存对换区中具备运行条件的进程调入内存挂在就绪队列上,或者将内存中暂时不能运行的进程挂到外存对换区,将其状态改为挂起态。
高级调度(作业调度):按照给定的原则从外存后备队列中选取一个或多个作业为其分配资源、创建进程,使得该作业有竞争处理器的权利。
常见调度算法
先来先服务:按照进程进入就绪队列的先后顺序来分配处理器
短作业优先:将处理器分配给能够最快完成的作业或进程
优先级调度:将处理器分配给优先级最高的进程
时间片轮转:为每个处理器分配时间片,当进程时间片用完时系统将它送至就绪队列队尾,将处理器分配给下一个就绪进程
高响应比优先:响应比=(等待时间+运行时间)/运行时间
同步与互斥
同步:某一进程收不到另一进程给他提供的必要信息就无法继续执行下去
互斥:某资源不允许两个进程同时使用,进程只能等待已占用资源的进程释放后才可以使用该资源
临界资源:同时仅允许一个进程使用的资源称为临界资源
临界区:进程中用于访问临界资源的代码
互斥准则
空闲让进、忙则等待、有限等待、让权等待
死锁
多个进程因竞争系统资源或相互通信而处于永久阻塞状态,若无外力作用,这些进程都将无法向前推行
死锁产生的原因
系统资源不足和进程推进顺序不当
死锁产生的必要条件
互斥条件:在一段时间内某种资源仅为一个进程所占有
不可剥夺:进程所获得的资源在未使用完毕之前不可被其他进程剥夺,只能由自己释放
环路等待:存在一种进程资源的循环等待链
请求与保持:进程在等待分配新资源的同时继续占有已经分配到的资源
饥饿
进程等待资源的时间给进程推进和响应带来了明显影响即称为饥饿,饥饿到一定程度即使进程完成任务也没有意义的时候即称为饿死
死锁预防与死锁避免
死锁预防是在调度方式上破坏死锁产生的必要条件,死锁避免是在动态分配过程中预知系统是否会进入不安全状态,死锁检测与解除是在检测到死锁之后进行的处理操作(剥夺资源、撤销进程、进程回退)

内存管理

内存管理的功能
(1)内存的分配与回收:实施内存的分配,回收系统或用户释放的内存空间
(2)地址变换:将逻辑地址转化为物理地址
(3)扩充内存:借用虚拟技术为用户提供比内存空间大的地址空间,实现逻辑上扩充内存容量的目的
(4)存储保护:保证进入内存的各道作业都在自己的存储空间内运行,互不干扰
覆盖与交换
覆盖:将一个大的程序划分为多个覆盖段,将程序执行时不要求同时装入内存的覆盖组成一组分到同一个存储区,其大小以最大覆盖确定
交换:将暂时不用的某个程序及数据部分部分或全部从内存移至外存,或将指定的程序或数据从外存读到相应的内存中
覆盖主要在同一个作业或进程中进行,交换是在进程或作业之间进行
内部碎片与外部碎片
内部碎片:已经分配给作业但不能被利用的内存空间
外部碎片:还未分配给作业但由于碎片太小无法分配给申请空间的进程的存储块。
连续分配管理方式
(1)单一连续分配:将内存分为两个连续存储区域,一个固定分配给操作系统,另一个分配给用户程序,只能用于单用户单任务的系统
(2)固定分区分配:将内存划分为若干个固定大小的分区,每个分区可以装入一道程序,分区大小可以不等,但是不可以改变
(3)动态分区分配:在作业进入主存时根据作业大小动态建立分区,使分区的大小刚好满足作业需要
动态分区分配算法
(1)首次适用算法:空闲分区按地址递增次序用链表串成队列,选取第一个满足需求的空间分配给进程
(2)下次适应算法:串成循环队列,从上次找到的空闲分区的下一块开始查找
(3)最佳适应算法:空闲分区按大小递增次序串成队列,选取第一个满足需求的空间分配给进程
(4)最坏适应算法:分区按大小递减次序排列,选取第一个满足空间的空间分配给进程
非连续分配管理方式
(1)基本分页管理
分页原理:用户作业的地址空间划分为若干个大小相等的区域称为页,相应地将主存的存储空间也分成与页面大小相等的区域称为块,以块为单位为作业分配存储空间。
分页地址变换:根据逻辑地址计算出页号,页号与页表长度比较,超出则产生越界中断,否则将页号与页表项长度的乘积与页表起始项相加,用的到的地址到内存中取出该内存单元内存放的物理块号,物理块号与块大小的乘积与页内唯一组合成物理地址。两次访存
具有快表的分页地址变换:根据逻辑地址得到页号和页内位移,将页号与页表中所有页号对比,若匹配则直接读出对应块号,与页内位移拼接得到物理地址,否则访问页表,从页表中取出物理块号,与页内位移拼接得到物理地址,将此次页表项存入快表中,用物理地址访问内存。
(2)基本分段管理
分段原理:用户将自己的作业按照逻辑关系划分为若干个段,每段都是从0开始编址,系统以段为单位分配内存,整个作业的地址空间是二维的。
(3)段页式管理
原理:作业的地址空间首先被分为若干个逻辑段,每段有自己的段号,再将每个段分成若干个大小固定的页,将主存空间分成若干个与页面大小相同的物理块,以物理块为单位对主存进行分配。
虚拟内存
基于局部性原理,在程序装入时可以将程序的一部分装入内存,其余部分放在外存,当程序执行时所访问的信息不在内存中时,由操作系统将所需部分调入内存,操作系统将内存中暂时不适用的内容放到外存上,从而腾出空间存放要调入内存的信息。虚拟存储器的容量由计算机的地址机构决定。
页面置换算法
(1)最佳置换算法:淘汰以后不再使用或最迟被使用的页
(2)先进先出算法:淘汰最先进入内存的页面 Belady异常
(3)最近最少使用算法:淘汰最近最长时间没有被使用的页面
(4)时钟置换算法

文件管理

文件的逻辑结构
记录式文件(顺序文件、索引文件、顺序索引文件)、流式文件
文件的物理结构
连续分配、链接分配、索引分配
顺序文件
将逻辑文件的信息连续存放,存取速度快,会产生碎片,不利于文件的动态扩充
索引文件
为逻辑文件的信息建立一个索引表,索引表存放文件记录的长度和裸机文件的起始位置,索引表和逻辑文件构成索引文件。支持随机访问,增加了存储空间的开销
索引顺序文件
将顺序文件的所有记录分为若干个分组,为顺序文件建立一个索引表,并为每组中的第一个记录在索引表建立一个索引项,索引表中索引项按照关键字顺序排列,提高了顺序存取的速度。

设备管理

程序直接控制
进程输入数据时,由CPU向设备控制器发送一条I/O指令启动设备进行输入,设备输入数据期间,CPU通过循环执行测试指令不断检测设备状态寄存器的值,直到状态寄存器显示输入完成时,CPU将数据寄存器中的数据取出并送入内存指定单元,再启动设备读下一个数据,CPU利用率相当低。
中断控制
CPU向设备控制器发出指令后可以继续执行别的任务,当输入完成时设备控制器向CPU发送一条中断信号,CPU接收到中断信号后转去执行设备中断处理程序,设备中断处理程序将数据寄存器中的内容传送到某一指定内存单元后再去启动设备读下一个数据
DMA控制
当用户进程需要数据时,CPU将准备存放数据的内存起始地址和要传送的字节数分别送入DMA控制器中的内存地址寄存器和传送字节计数器中,并启动数据开始数据输入,输入数据的同时CPU可以做其他的事,DMA控制器将数据寄存器的内容不断写入内存,数据传输完毕时DMA控制器向CPU发送一个中断信号,CPU收到中断信号后执行中断处理程序,中断结束后返回被中断程序。
中断控制与DMA控制
中断控制方式在每个数据传送完成后中断CPU,DMA控制方式在所要求传送的一批数据全部传送结束时才中断CPU,中断控制方式的数据传送是在中断处理时由CPU控制完成,DMA控制方式是在DMA控制器的控制下完成。
假脱机技术
用一种物理设备模拟另一种物理设备,使各作业在执行期间只使用虚拟的设备而不直接使用物理的独占设备,将独占设备改造成共享设备,提高了设备的利用率和系统的效率。
组成部分:输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程
特点:提高了I/O速度,设备没有分给任何进程,实现了虚拟设备功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值