处理器、存储器、外围设备
为了实现:方便性、有效性、可扩充性、开放性
(1)用户与计算机硬件系统间的接口
(2)是计算机资源的管理者
(3)实现了对计算机资源的抽象
(1)人工操作方式
(2)脱机 I/O 方式(减少了 CPU 空闲时间,提高了 I/O)
一个接一个地被连续处理(注重顺序性)
系统中的资源得不到充分的利用,因为仅有一道程序
注重资源利用率和吞吐率,即运行效率
(1)资源利用率高
(2)吞吐量大
(1)平均周转时间长
(2)无交互能力
(1)人机交互
(2)共享主机
(1)多路性
(2)独立性
(3)及时性
(4)交互性
能及时响应外部事件的请求,在规定时间内完成对该事件的处理
实时性、可靠性
1.并发 2.共享 3.异步 4.虚拟
1.处理机管理功能
(1)进程控制
(2)进程同步
(3)进程通信
(4)调度
2.储存器管理功能
内存分配和回收、内存保护、地址映射、内存扩充
3.设备管理功能:
缓冲管理、设备分配、设备处理
4.文件管理功能:
文件储存空间管理、目录管理、文件的读写
5.接口管理功能:
用户接口、程序接口
6.现代操作系统新功能
用于描述程序之间执行的先后顺序
1.顺序性 2.封闭性 3.可再现性
(因为共享资源导致的) 1.间断性 2.失去封闭性 3.不可再现性
系统进行资源分配和调度的基本单位
实现操作系统的并发性和共享性
1.保留进程运行期间相关的数据,是进程存在的唯一标志
2.使一个在多道程序环境下不能独立运行的程序成为一个能独立运行的基本单位
动态性、并发性、独立性、异步性
1.用户登录
2.作业调度
3.提供服务
4.应用请求
1.正常结束
2.异常结束
3.外界干预
当一个进程被挂起时,它的执行被暂停,进程的状态从运行状态到暂停状态(挂起的进程会占用一定的系统资源)
等待外部事件、资源竞争、调度策略
当一个被挂起的进程被激活时,它从暂停状态到运行状态(激活常是通过操作系统特定条件或调度策略决定的,即操作系统的干预)
条件满足、资源可用、调度策略
1.共享存储器系统
2.管道通信系统
3.消息传递系统
4.客户机-服务器系统
1.管道
2.信号
3.消息队列
4.共享内存
5.信号量
6.套接字
是程序执行的最小单位
为了减少程序在并发执行时所付出的时间和空间,提高资源利用率和系统吞吐量
一个作业(Job)可以由一个或多个进程(Process)组成
一个进程(Process)可以包含一个或多个线程(Thread)
线程(Thread)是进程(Process)内的执行单元,多个线程可以并发执行,共享进程的资源
调度对象:作业
功能:根据算法,将外存中的哪几个作业调入内存中
调度对象:进程
功能:根据算法,决定就绪队列的哪个进程获得处理机
调度对象:进程
功能:决定把外存上的那些已具备运行条件的就绪进程重新调入内存,提高内存的利用率
它不仅包含了通常的程序和数据,还配有一份作业说明书,系统根据该说明书对程序的运行进行控制
每个作业都有一个作业控制块(JCB),JCB 中包含:作业标志、用户名称、用户账号、作业类型、作业状态、调度信息、资源需求情况、资源使用情况等
1.接纳多少个作业 2.接纳哪些作业
1.非抢占式
2.抢占式:
(1)优先级原则
(2)短进程优先原则
(3)时间片原则
(1)资源利用率
(2)公平性
(3)平衡性
(4)策略强制执行
(1)平均周转时间短
(2)系统吞吐量高
(3)处理机利用率高
(1)保证响应时间快
(2)保证均衡性
(1)保证满足截至时间的要求
(2)保证可预测性
如果一组进程中的每个进程都在等待该进程中的其他进程才能引发的事件发生,那么该进程是死锁的
双方都希望对方能释放出自己所需要的资源,但他们会因为不能获得自己所需的资源去继续运行而无法释放自己当下占有的资源,一直处于这样僵持状态而形成死锁
1.可重用资源:
每个可重用资源中的单元只能分配给一个进程使用,不允许多个进程共享,但可以申请使用 2.可消耗资源:
每类可消耗资源的单元数目在进程运行期间是可以不断变化的
1.可抢占资源:
可被系统抢占
2.不可抢占资源:
一旦把该资源分配给了某进程后,就不能将它强行收回
1.竞争不可抢占资源引起的死锁
2.竞争可消耗资源引起死锁
3.进程推进不当引起死锁
1.互斥条件
进程对所分配的资源进行排他性使用,在一段时间内资源只能被一个进程占用
2.请求和保持条件
进程已占用至少一个资源,发出资源请求,但该资源被其他进程占用,此时请求阻塞,但对自己占有的资源又保持不放
3.不可抢占条件
进程对已获得的资源在未使用之前不能被抢占
4.循环等待条件
“进程-资源”形成一条循环链,即{p0,p1,p2,p3,p4}中 p0 在等 p1 占用的资源,p1 在等 p2 占用的资源
1.预防死锁
2.避免死锁
3.检测死锁
4.解除死锁
1.破坏“请求和保持”条件:
在请求资源时不能持有不可抢占的资源
2.破坏“不可抢占”条件:
释放不可抢占资源
3.破坏“循环等待条件”:
对资源类型进行线性排序,规定每个进程必须按序号递增请求资源
银行家算法
异步环境下的一组进程因直接制约而互相发消息、合作、等待,使得各进程按一定的速度执行的进程,成为同步进程
1.信号量机制
2.管程机制
3.硬件同步机制
1.间接相互制约关系(互斥关系):
例:如果 A 在用打印机,则 B 就不可以用打印机
2.直接相互制约关系(同步关系):
例:有一个输入和一个计算的进程,只能先执行输入进程,然后才能执行计算进程
进程在使用他们的时候都需要采用互斥方式
例如:打印机、磁带机
每个进程中访问临界资源的那段代码称为临界区
1.空闲让进:
空闲的时候允许进入临界区
2.忙则等待:
不空闲就等待
3.有限等待:
保证等待的请求在有限时间内能进入
4.让权等待:
当等待的进程不能进入时,应该释放处理机
起着进程规范的作用
1.利用信号量实现进程互斥
2.利用信号量实现进程同步
建议在 B 站观看视频更佳清晰
1.中断处理
2.内核态抢占
3.多处理机并发
简称主存或内存,也称为可执行存储器
作用:用于保存进程运行时的程序和数据
CPU 内部的一些小型存储区域
作用:用于暂时存放参与运算的指令、数据、运算结果等内容
介于寄存器和主存储器(内存)之间的存储器
作用:用于备份内存中较常用的数据
由于目前磁盘的 I/O 速度远低于对内存的访问速度,为了缓和两者在速度上的不匹配,特定设置了磁盘缓存
作用:用于暂时存放频繁使用的一部分磁盘数据,以减少访问磁盘的次数
注意:但磁盘缓存和高速缓存不同,磁盘缓存其实不是一种实际存在的存储器,而是利用内存中的部分存储空间,暂时存放从磁盘的信息
1.绝对装入方式:
当计算机系统很小,且仅能运行单道程序时,完全可以知道程序驻留在内存什么位置,然后装入
2.可重定位装入方式:
根据逻辑地址计算出物理地址,根据内存的具体情况,将装入模块装入内存适当位置
3.动态运行时装入方式
将用户程序的地址空间分为若干个固定大小的区域,称之为“页”
为了满足用户要求而形成的一种离散分配方式,把用户程序分为若干大小不同的段,每段定义一组相对完整的信息
分页和分段两种的结合产物,同时具有两者优点,目前应用最广泛的一种存储管理方式
1.页面和物理块:
(1)页面:
把地址空间分成若干页,从 0 开始,第 0 页、1 页
(2)页面大小:
若选择过小页面,虽能有利于内存利用率提高,但是造成每个进程占用较多页面,导致进程页表过长,占用大量内存
由页号 P 和偏移量 W 构成
进程各个页离散地存储在内存的任一物理块中,为每个进程建立一张表,简称页表,记录相应页在内存中的位置,页号到物理块号的映射
1.分段:
作业的地址空间被划分为若干段
2.段表:
存放每个段的逻辑地址和物理地址的映射关系
相同点:
都是采用离散分配方式,都是通过地址映射机构实现地址变换
区别:
(1)页是信息的物理单位,段是信息的逻辑单位,分页只是系统管理上的需要,完全是系统行为,对用户不可见,分段的目的是能更好地满足用户的需求
(2)页的大小是由系统决定的,段的长度不固定,取决于用户所编写的程序,页管理是直接由硬件实现的,所以每个系统中只有一种大小的页面,段管理是由编译程序进行编译时根据信息的性质来划分的
(3)分页的用户程序地址是一维的,是系统行为,分段的用户程序地址是二维的,是用户行为,程序员在标注一个地址时必须给出段名和段内地址
简介:假设是三个页面装入内存,往后看,如果后面两个有使用,则不替换,若未使用,则从上到下按顺序替换