一、概论
并行性:两个或多个事件在同一时刻发生……多线程
并发性:两个或多个事件在同一时间间隔内发生A……分时实现
内核态:内核程序运行状态
用户态:应用程序运行状态
用户态向核心态转移情况:用户程序产生错误状态,或企图执行特权指令,要求操作系统的服务(系统调用),发生中断
中断:从用户态转核心态,由中断向量得到地址,保存PC,PSW,通用寄存器
子程序调用:无状态变化,由调用程序据寻址方式得到,保存PC,通用寄存器(纯软件处理)
系统调用:设备请求/释放,文件增删改查,进程创销阻唤及通信,内存分存回收及查找作业占用和始址
批处理操作系统:用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行。
分时操作系统:在一个系统中多个用户分时地使用同一台计算机
实时操作系统:实时系统是指计算机及时响应外部事件地请求并在规定时限那完成对该事件地处理,控制所有实时设和实时任务协调一致地运行
网络操作系统:向网络计算机提供服务的特殊的操作系统。借由网络达到互相传递数据与各种消息,分为服务器(Server)及客户端(Client)
分布式操作系统:分布式处理则是将不同地点的,或具有不同功能的,或拥有不同数据的多台计算机通过通信网络连接起来,在控制系统的统一管理控制下,协调地完成大规模信息处理任务的计算机系统。
二、进程管理
管道通信:发送进程以字符流形式将大量数据送入管道,接收进程可从管道接收数据,二者利用管道进行通信。
进程:由程序段/相关数据段/PCB构成,资源拥有与分配的基本单位,PV操作共享储/消息传递/管道通信,进程切换时系统开销大(新进程CPU环境),进程地址空间相互独立
线程:仅有线程ID/寄存器集合/堆栈,独立运行基本单位,不拥有资源但可访问进程全部资源,同一进程的线程直接读写/不同线程间叫进程间通信,线程切换只需保存和设置少量寄存器内容故开销很小,同一进程各线程间共享进程地址空间
用户级线程:仅存在于用户空间,内核不知道存p在;一线程被阻塞则进程内所有线程都会被阻塞(内核以进程为单位分配CPU,因此同一时刻一个进程中仅一个线程能执行;线程切换不用转换到内核故节省开销,与操作系统无关
内核进程:内核空间存在,内核通过感知块知道存在,多处理器系统中一个进程的多个线程可以并行执行,一线程阻塞了系统可以调用其他线程
进程创建:用户登陆,作业调度,系统提供服备,用户程序应用请求
申请PCB,分配资源,初始化PCB,就绪队列可接纳就插入
进程终止:正常结束,异常结束,外界干预
根据标识符检索PCB,读出状态,在执行就终止,有子程序就终止,释放资源后删PCB
进程阻塞:请求系统服务,启动某种操作,新数据尚未到达,无新工作可做
进程主动调用阻塞原语block
进程唤醒:引发阻塞的事件完成了
由完成相关事件的进程调用wakeup原语
处理机调度算法:先来先服务,短作业优先算法,优先级调度算法,高响应比优先算法(等待时间+要求服务时间/要求服务时间),时间片轮转调度算法,多级反馈队列调度算法(有很多种)
进程的同步与互斥
单标记法(必须交替进入),双标记先检查法(同时检查同时进入),双标记后检查法(同时标记同时不能进入),皮特森算法(双标志与单标志的结合)
信号量机制:表示资源个数的整型量S,当进程发现S<=0,就会不断测试,因此进程处理忙等状态,未遵循让权等待原则
记录型信号量:P操作对信号量减1,小于0就阻塞等待,V操作是对信号量加1,小于等于0就唤醒进程,此时S的意义:初值表示资源总数,小于0表示没可用资源(绝对值是阻 塞进程个数)
死锁:
四个条件:互斥,不剥夺,请求和保持,循环等待条件
鸵鸟算法:出现死锁时手动干预结束一切
银行家算法:就是系统在进行资源分配之前,面临多个进程的分配请求时,先计算此次分配资源的安全性(四个矩阵:系统的可利用资源矩阵,进程的最大需求矩阵,又分为分配矩阵与需求矩阵)
三、内存管理
程序运行:编译,链接,装入
连续分配管理:单一连续分配(仅分系统区与用户区),固定分区分配(用户空间划分成N个固定大小的区域,每个区域只装入一道作业),动态分区分配(首次适应算法从头搜,循环首次适应算法从上次分配结束地址搜,最佳适应算法碎片区间升序搜,最差适应最法碎片区间降序搜)
非连续分配管理:
分页存储管理方式:每个进程有一张页表,存内存中每一页对应的物理块号,页表寄存器破页表在内存的始直和页表长度,逻辑地址有页号与页内偏移量
逻辑地址转物理地址方法:页表始址与页号和页表项长度乘积相加,得到该表项在页表中的位置得到该页物理块号,再结合页内偏移量得物理地址
分段存储管理方式:逻辑地址有段号与段内偏移量,每个进程有段表,段表项存段号,段长,及在主存的起始地址
虚拟页式存储管理:生成快表存最近常用的页,缺页就置换
页面置换算法:最佳置换(淘汰最长时间内不再被访问页面),先进先出,最近最久未使用,时钟(使用位),改进型时钟(使用位与修改位)
页面分配策略:固定分配局部置换,可变分配全局置换,可变分配局部置换
降低抖动:增加内存,降低进程数
四、文件管理
文件控制块FCB:文件名,物理位置,逻辑结构,存取权限,建立与修改时间
文件共享:硬链接文件拥有者不能删除共享文件,软链接可以
文件实现:连续分配,隐式链接分配(盘块存下一盘块指针),显式链接分配(开链接表存各文件物理块的指针,一盘一张存内存),索引分配(每个文件所有盘块号集中放在一起构成索引块,一文件一张存磁盘)
磁盘组织管理:调度时间分为寻找时间(找磁道),延迟时间(找扇区),传输时间(写入数据)
调度算法:先来先服务,最短寻找时间优先,扫描/电梯算法(当前磁道距离最近并且是在当前扫描方向上的),循环扫描算法(单向移动,回返时直接回起始端)
PS:扫描/电梯是由头到尾再由尾到头循环,循环扫描是只能由头到尾
五、设备管理
IO控制方式:程序轮询方式、中断方式、DMA方式和I/O通道控制方式(通道是外围设备处理器)
IO软件层次结构:用户层IO,设备独立性,设备驱动,中断处理,硬件设备
IO调度:确定一个好的顺序来执行这些IO请求,应用程序所发布的系统调用的顺序一定总是最佳选择,所以需要IO调度来改善系统整体性能,使进程之间公平地共享设备访问,减少IO完成所需的平均等待时间
单缓冲:设备与处理器之间设置两个缓冲区,设备和处理器交换数据时先把被交换数据写入缓冲区,然后需要数据的设备或处理器从缓冲区取走数据,能够实现预读和滞后写*
双缓冲:设备与处理器之间设置两个缓冲区,IO输入数据时两个缓冲区交替使用,双缓冲提高了处理器和输入设备的并行操作程度