第一章:
操作系统:位于硬件层之上,所有软件层之下的一个系统软件,是管理系统中各种软硬件资源,方便用户使用计算机系统的程序集合
并发:宏观上是同时发生,但是再微观是交替发生的(若干事件在同一时间间隔内发生,单CPU)
并行:微观上同时发生(要求多个CPU)
共享:系统的资源可以提供内存中多个并发执行的程序共同使用
虚拟:把一个物理上实体变为若干个逻辑上的对应物.物理是指实际的存在,逻辑是用户的感受.
异步:多个进程并不是一次运行到底的,而是一会执行这个,然后中断去处理另外一个,然后再回来执行
OS的四大特征:并发,共享,虚拟,异步
核心是那两个特征:并发,共享
多道批处理操作系统:系统中同时容纳多个作业,作业分批进入系统,通过主机中作业合理搭配来提高资源利用率好吞吐量
分时操作系统:提供了交互式命令语言和图形用户界面两个界面,以对话的形式,实现一个主机和多个终端连接,让每一个终端用户仿佛拥有一台虚拟机
实时操作系统:为了实现实时控制与实时信息处理,时效性更高,可靠性高的操作系统
通用操作系统:同时具有:分时、实时、批处理功能,提高了处理能力和应用领域
绝对时钟:记录实际时间,不发中断
间隔时钟:定时发生中断,一般间隔单位为“毫秒(多道程序的基础,保证进入操作系统,不保证发生,实现逻辑时钟)
系统栈:每个进程一个,位于操作系统区域(管态),用来保存中断现场(PSW,PC,通用寄存器的值)和函数返回点,参数,局部变量,返回值
特权指令:只有在管态才能执行的指令
特权指令:所有程序可用
地址映射:将逻辑地址转换为物理地址
第二章:
进程:可参与并发执行的程序称为进程.它是具有一定独立功能的程序关于一个数据集合的一次运行活动,强调动态和并发两 个方面
进程状态:
-运行态:占有CPU,向前推进
-就绪态:可以运行,但没获得CPU
-等待态:等待某一事件的发生
进程的组成:进程控制块(进程的控制,描述,资源信息) + 程序(代码段+数据结构集)
PCB:标志进程存在的数据结构,其中保存系统管理进程所需的全部信息 (类比之后的FCB等)
进程上下文:进程的物理实体与支持进程运行的物理环境统称为进程上下文(PCB+程序+系统环境)
系统开销:运行操作系统程序->完成系统管理工作 所花费的时间和空间
进程的特性:
-并发:可以与其它进程一道向前推进
-动态:动态产生、消亡,生存期内状态动态变化
-独立:一个进程是可以调度的基本单位
-异步:进程以各自独立,不可预知的速度向前推进
-交往:同时运行的进程可能发生相互作用
-结构:每个进程有一个PCB
进程创建:建立PCB,分配内存,加载程序,入就绪链
进程撤销:去配资源,撤销PCB,通知父进程
进程和程序:
-联系:
--进程包括一个程序
--进程存在的目的就是执行这个程序
-区别:
--程序静态,进程动态
--程序可长期保存,进程有生存期
--一个程序可对应多个进程,一个进程只能执行一个程序
线程:进程中一个相对独立的执行流
进程和线程:
-进程是资源分配单位
-线程是执行单位
进程的优点
-切换速度快
-系统开销小
-通讯容易
TCB:标志线程存在的数据结构,其中包含对线程管理需要的全部信息
用户级别线程:
-基于library函数,系统不可见
-线程创建、撤销、状态转换在目态完成
-TCB在用户空间,每个进程一个系统栈
-进程的状态复杂
-优点:
--不依赖于操作系统,调度灵活
--同一进程中多线程切换速度快
-缺点
--同一进程中多个线程不能真正并行
--一个线程进入系统受阻,进程中其它线程不能执行
核心级别线程:
-基于系统调用
-创建、撤销、状态转换由操作系统完成
-线程是CPU调度的基本单位,进程状态无意义
-优点:
--同一进程内多线程可以并行执行
--一线程进入核心等待,其它线程仍可执行
-缺点:
--系统开销大,同一进程内多线程切换速度慢
--控制由系统实现,调度算法不能灵活控制
作业:用户要求计算机系统为其完成的计算任务集合
作业步:作业处理过程中一个相对独立的步骤(一般一个作业步可由一个进程完成,某些作业步之间可以并行)
JCB:标识作业存在的数据结构,其中包含系统对作业进行管理所需要的全部信息
JCL:描述批处理作业控制意图的语言
作业与进程:作业进入内存后变为进程,一个作业通常与多个进程相对应
进程与线程:一个进程一般包含多个线程,至少一个,不支持多线程的系统,可视为单线程进程
第三章:
中断:在程序运行过程中出现某紧急事件,必须中止当前正在运行的程序,转去处理这个事件,然后再恢复原来运行的程序,这一过程称为中断。
中断系统:分为中断装置(硬)和中断处理程序(软)
-中断装置:发现并响应中断的硬件机构 ,处理过程:First识别中断源,当有多个中断源时,按紧迫程度排队; Second:保存现场; Third引出中断处理程序。
--中断源:引起中断的事件
--中断寄存器:保存与中断事件相关信息的寄存器
--中断字:中断寄存器的内容
--中断向量:中断处理程序的运行环境与入口地址(PSW,PC)
--中断嵌套:系统在处理一个中断事件的过程中又响应了新的中断,称系统发生了中断嵌套
--中断优先级:根据引起中断的事件的重要性和紧迫程度,硬件将中断源分成若干个级别(依据:紧迫程度+处理时间)
--关中断:尽管产生了中断源且发出了中断请求,但CPU内部的PSW中的中断允许位被清除,此时不允许CPU响应任何中断,此现象为关中断。
--中断屏蔽:暂时禁止一个或多个中断源向处理机发出中断请求,屏蔽所有中断源就是关中断
系统栈:每个进程一个,位于操作系统区域(管态),用来保存中断现场(PSW,PC,通用寄存器的值)和函数返回点,参数,局部变量,返回值
作业调度:高级调度或长程调度,其职能是将一个作业由外存输入井调入内存,并为其建立相应的进程,使其具有占据处理机运行的资格
剥夺式调度:就绪进程可以从运行进程手中抢占CPU
非剥夺式调度:就绪进程不可从运行进程手中抢占CPU
实时任务:具有明确时间约束的计算任务
实时调度: 合理安排就绪实时任务的执行次序,满足每个实时任务时间约束条件的调度
硬实时:必须满足任务截止期要求,否则产生严重后果,硬实施系统不多 .
软实时:期望满足截止期要求 .
周期性: 每隔固定时间发生一次
随机性: 由随机事件触发,其发生时刻不确定
线程和CPU的亲和关系:每个进程有一个处理器亲合掩码,缺省为所有处理器的集合,线程继承其进程的亲合掩码,亲合掩码可以修改
第四章:
内部顺序性:对于一个进程来说,它的所有指令是按序执行的
外部顺序性:对于多个进程来说,所有进程的活动是依次执行的
顺序性程序特性:
-(1)连续性: 指令逐条执行
-(2)封闭性: 不受其它程序及外界因素影响
-(3)可再现性: 结果与推进速度无关
内部并发性:指一个程序内部的并发性。
外部并发性:指多个程序之间的并发性
并发程序特性:
-(1)间断性:程序交叉执行。
-(2)非封闭性:一个进程的运行环境可能被其它进程所改变,从而相互影响。
-(3)不可再现性:由于交叉的随机性,并发程序的多次执行可能对应不同的交叉,因而不能期望重新运行的程序能够再现上次运行的结果。
共享变量:多个进程都需要访问的变量。
临界区域:访问共享变量的程序段。把临界区与其所对应的共享变量联系起来称为关于某一种共享变量的临界区
进程互斥:多个进程不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误,这种现象称为进程互斥
互斥的内涵:
(1)任何时刻最多只能有一个进程处于同一组共享变量的相同的临界区域;
(2)任何时刻最多只能有一个进程处于同一组共享变量的不同的临界区域。
互斥的要求:互斥进入,空闲让进,有限等待
进程同步:一组进程,为协调其推进速度,在某些关键点处需要相互等待与相互唤醒,进程之间这种相互制约的关系称为进程同步。
同步机制:用于实现进程同步的工具称为同步机制
进程合作:一组进程,如果它们单独不能正常进行,但并发可以正常进行
合作进程:参与合作的进程
信号量:一种在多线程或多进程环境中用于实现同步和资源管理的机制,用于控制对共享资源的访问数量,分为P和V操作,
P操作:执行此操作进程的PCB入s->queue尾(状态改为等待),转到处理机调度
V操作:S->queue链头PCB出等待队列,进入就绪队列(状态改为就绪)
组合资源:若干相对独立的资源构成的资源集合, 其中每个相对独立的资源称为子资源
同种组合资源:相同类型子资源构成的组合资源
管程:是一种用于实现进程或线程同步的高级抽象概念
进程的高级通讯:进程之间的相互作用
第五章:
死锁:一组进程中的每一个进程,均无限期地等待此组进程中某个其他进程占有的资源,因而永远无法得到的资源,这种现象称为进程死锁
死锁的结论:
-参与死琐的进程至少有二个;
-每个参与死锁的进程均等待资源;
-参与死锁的进程中至少有两个进程占有资源;
-死锁进程是系统中当前进程集合的一个子集
死锁的必要条件:1,资源独占,2,不可抢占,3,保持申请,4,循环等待
(如果是单实例资源==>充要条件)
简约算法:
--1:寻找一个非孤立且没有请求边的节点pi, 若无算法结束
--2:去除pi的所有分配边使其成为一个孤立节点;
--3:寻找所有请求边都可满足的进程pj, 将pj的所有请求边全部改为分配边;
--4:转步骤1
死锁定理:
若算法结束时,所有节点均为孤点,则称资源分配图是完全可约简的,否则称为不可完全约简的,死锁的充分必要条件是资源分配图不可完全简约
死锁预防:对进程有关资源的活动加限制,所有进程遵循这种限制,即可保证没有死锁发生
死锁避免:对于可满足的请求,胡检测是否存在安全进程序列,存在就分配,否则不分配
饥饿:当等待时间给进程推进和响应带来明显影响时,称发生了进程饥饿.
饿死:饥饿到一定程度的进程所赋予的使命即使完成也不再具有实际意义时称该进程被饿死
两种无上界等待:排队等待/忙式等待
活锁:忙式等待条件下发生的饥饿,称为活锁
饥饿和死锁:
--死锁进程处于等待状态,忙式等待的进程并非处于等待状态, 但却可能被饿死;
--死锁进程等待永远不会释放的资源, 饿死进程等待可能被释放,但却不会分给自己的资源,其等待时间没有上界;
--死锁一定发生了循环等待,饿死不然;
--死锁至少涉及两个进程, 饿死进程可能只有一个.(需要3个x,只有1个x)
第六章:
分区时刻
静态分区:系统初始化时分;
动态分区:申请时分。
静态等长分配:字位映象图, 空闲页面表, 空闲页面链
动态异长分区的分配:最先适应,最佳适应,最坏适应
紧凑:移动占用区域,使所有空闲区域连成一片
分区大小
等长分区:2^i
异长分区:依程序、程序单位、对象大小。
界地址管理方式(一维地址):动态异长,一个进程一个区域,通过(b,l)确定,有内存分配表和空闲区域表,
地址映射过程:获得逻辑地址a->比较a和l(合法)->a和b相加
双对界:界地址分为代码空间和数据空间,硬件能够识别逻辑地址所属空间,并使用对应的地址映射寄存器
交换技术:交换又称换进换出,是指进程在内外存之间的动态调度,主要为了缓解内存空间不足的有效方法
重定位:被换出进程再次运行之前必须重新装入内存,而再次进入内存的位置与换出前的位置一般不同,这就要求程序编址与内存存放位置无关,这种程序称为可重定位程序
浮动程序:由0起始编址的程序都满足重定位要求,这样的程序也称为浮动程序
覆盖技术:将较大程序装入较小进程空间的技术.具体是:first:只将全局代码和数据静态装入内存, 其它部分动态装入.Second后装入的成分重复使用先装入成分所使用的存储区, 即覆盖先装入的成分
页式管理方式(一维地址):静态等长,对于内存2^i为一个页框,对于进程2^i为一个页面,进程和内存的页框一一对应,通过页表(进程),总页表(系统)和页表首址,页表长度,快表(都是系统构成,通过(p,d)找到(f,d)
多级页表:设计多个页表,查找时先找低级,然后定位更高级或f
反置页表:面向内存空间,每个内存页架一个表项其大小固定
段式管理方式(二维地址):内存使用段(动态异长,一区一段),进程使用段,一个段一个程序单位,通过段表(进程),空闲表(系统),段表首址,长度,快表寄存器(s段号,b,l),通过(s,d)找到(b’),访问(b’+d)
共享段表:记录共享段的段表(进程->共享段表->共享段)
段页式管理方式(二维地址):内存用页(静态等长f,d),进程用段(一个进程若干段,一个段若干页) ,通过(s,p,d)来定位,有段表,页表,总页表,段表的寄存器,(基址和长度),快表(快段表和快页表).
通过s查快表,如果不在快表,查(b,l)得到页表的(b’,l’)然后比较p和l’得到f,合并f和d
第七章:
虚拟存储:进程部分装入内存,部分(或全部)装入外存,运行时访问在外存部分动态调入,内存不够淘汰
外存块的静态分配:外存保持进程的全部页面:
外存块的动态分配:外存仅保持进程不在内存的页面
请调:发生缺页中断时调入
预调:将要访问时调入,必须辅以请调
工作集:进程在一段时间内所访问页面的集合
页故障率=访问内存缺页次数/访问内存总次数
第八章:
文件:具有符号名而且在逻辑上具有完整意义的信息项的序列
文件系统:文件与管理文件的程序集合。
顺序访问:从文件起始位置/中间某处开始顺序访问
随机访问:按记录编号/关键字(key)随机访问
逻辑组织:用户看到的文件组织形式,分为记录文件和流式文件
物理组织:逻辑组织到磁盘块的映射
文件控制块:标识文件存在的标志,其中保存系统管理文件需要的全部信息
目录项:目录文件中的一项,内容为FCB
FCB分为主部(外存的inode中)和次部(目录文件中)
文件的共享:通过公共目录,共享说明,连接来实现节省内存/相互通信的一个模式
文件保护:防止用户对文件进行非授权的访问,通过存储控制矩阵or访问权限说明实现
文件保密:防止文件内容泄露,通过口令或密码实现
文件安全:防止文件被破坏(人为or自然),主要通过备份(定期or故障),分为(海量转储和增量转储)
磁盘整理:利用转储和恢复可以对磁盘进行整理(使文件物理块连续,空闲盘块连续)
第九章:
共享型设备(块型):多个进程的IO操作以块为单位可以交叉
独占型设备(块型):多个进程的IO操作以块为单位不宜交叉
独占型设备(字符型):多个进程的IO操作以字符为单位不能交叉
通道:负责IO操作的处理机,有独立的指令系统,运控部件,存储区域
通道类型:
字节多路通道: 多个非分配型子通道,连接低速外围设备
数组选择通道: 一个分配型子通道,连接多台高速设备
数组多路通道: 多个非分配型子通道,连接多台高速设备
UCB设备控制块,CCB通道控制块..
寻道时间:将磁盘引臂移动到指定柱面所需要的时间;
旋转延迟:指定扇区旋转到磁头下的时间;
传输时间:读/写一个扇区的时间。
输入输出进程:专门负责IO传输的进程,(C/S)服务模式
虚拟设备:利用共享型设备实现的数量较多、速度较快的独占型设备,因为用户直接使用独占设备效率低,所以我们在进程与独占型设备之间增加共享设备缓冲
欢迎大家补充,持续更新