控制和管理整个计算机系统硬件和软件资源,合理组织、调度计算机的工作与资源分配,进而为用户和其他软件提供方便接口和环境的程序集合
将作业成批送进内存,并由作业调度程序自动选择作业运行
特点:多道、宏观并行、微观串行、无人机交互、响应时间长
将处理器运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用
特点:多用户、人机交互、响应时间短
并行指同一时刻发生,并发指同一时间段发生
用户在用户态执行访管指令,产生访管中断,进入内核态
在用户态下执行的是非特权指令,在内核态下执行的是特权指令
异常(内中断):源于CPU执行指令内部的事件(缺页、访管指令,算数溢出)
中断(外中断):来自CPU执行指令以外的事件,与当前运行的程序无关(时钟中断)
指用户在程序中调用操作系统提供的子功能,通过执行访管指令来发起系统调用
避免用户直接执行系统特权指令
多道程序技术背景下,多个程序的并发执行会产生相互制约的问题,此时,程序这一静态的概念无法描述这一并发过程中的状态,因此引入进程,更好地描述和控制程序的并发执行,实现操作系统的并发性和共享性
进程是具有独立功能的程序在一个数据集合上运行的过程,是系统进行资源分配和调度的一个独立单位,是动态的
进程映像是由程序段、相关数据段和PCB构成,是静态的,代表某一时刻进程的状态
PCB是用于描述进程状态的数据结构,是进程存在的唯一标志
为了减少程序在并发执行时所付出的时空开销,进程切换开销大,线程更轻量化,切换开销小
是程序执行的最小单元,是调度的基本单位,不拥有资源
内核级线程:线程管理由内核完成
用户级线程:线程管理由应用程序完成
作业调度:从外存上挑选作业,为其分配资源,建立进程,送入就绪队列
内存调度:将内存中暂时不能运行的进程调至外存等待,称为挂起,当具备运行条件时,重新调回内存,送入就绪队列。可以提高内存利用率和系统吞吐量
进程调度:从就绪队列中选一个进程,分配处理机给它运行
系统吞吐量:单位时间CPU完成左右的数量
周转时间 = 作业完成时间 - 作业提交时间
带权周转时间 = 作业周转时间 / 作业实际运行时间
响应时间:用户提交请求到系统首次产生响应的时间
先来先服务:长作业有利,利于CPU繁忙型
短作业优先:长作业不利,饥饿,平均周转时间最少
优先级调度
高响应比优先
响应比 =(等待时间+要求服务时间)/要求服务时间
要求服务时间短,响应比高:短作业有利
等待时间长,响应比高:克服饥饿
时间片轮转
多级反馈队列
临界资源:被多个进程共享,但一次只能由一个进程使用的资源
临界区:进程中访问临界资源的那段代码
在两个或多个并发进程中,如果每个进程持有某种资源又等待其他进程释放它保持的资源,在未改变这种状态前都不能向前推进,称这一组进程构成死锁。
通俗说,是两个或多个进程无限期阻塞、相互等待的状态
死锁预防:破坏死锁产生必要条件中的一条即可
死锁避免
检查当前是否处于安全状态,银行家算法
死锁检测和解除
先检测出死锁,再解除当前死锁状态(资源剥夺、撤销进程、进程回退)
多道程序并发执行时,共享内存,如果不管理,则会导致内存数据的混乱,从而限制并发
内存保护:保护操作系统不受用户进程的影响,同时保护用户进程不受其他用户进程的影响
方法:
覆盖:不用把程序全部读入内存才能运行,而是按调用关系分段(因此对程序员是不透明的),覆盖区中存放需要的程序段,其他段放在外存中,用于同一个程序
交换:将等待状态的程序从内存换到外存中,将准备好的程序调回内存,用于不同程序
分页、分段、段页
段是信息的逻辑单位,根据用户需求划分,对用户可见
页是信息的物理单位,为了方便管理主存划分,对用户透明
段的大小不固定,由其功能决定
页的大小固定,由系统决定
段向用户提供二维地址空间
页提供一维地址空间
页表:逻辑地址中的页号与所占主存块号的对应关系
快表:放在高速缓存中的部分页表
作用:访问内存页面只需至少访问一次高速缓存,一次内存,而使用页表则要至少访问两次内存
设页面大小L,逻辑地址A,物理地址E
页表寄存器:页表始址F+页表长度M
逻辑地址:页号P+页内偏移量W
页表项:页号P+主存块号b
TLB——>页表(TLB未命中)——>Cache——>主存(Cache未命中)——>外存
设逻辑地址A,物理地址E
段表寄存器:段表始址F+段表长度M
逻辑地址:段号S+段内偏移量W
段表项:段号S+段长C+基址b
将独占设备变为共享设备的技术
输出的过程:
输出进程的数据——>输出井——>输出缓冲区——>输出设备
输入的过程:
输入设备的数据——>输入缓冲区——>输入井——>CPU
原文:https://www.cnblogs.com/xkf97/p/12724866.html