操作系统是位于硬件层之上,所有其他系统软件之下的一个系统软件,通过它观管理系统中的各种软件和硬件资源,使他们能够充分利用,方便用户使用计算机系统
由于硬件体系结构由集中向分散发展,出现了计算机网络。为此出现了网络操作系统和分布式操作系统
定时装置
堆与栈:系统栈也称为核心栈:一是保存操作系统子程序间相互调用的返回点,参数局部变量,返回值。二是终端响应时保存中断现场
寄存器
特权指令和非特权指令
处理器状态及状态转换:处理器状态管态目态状态转化目态到管态:中断和陷进管态到目态:修改程序状态字,特权指令
交互式终端命令:unix系统的交互式命令解释程序由shell提供
根本目的是提高整个计算机系统的效率,衡量系统效率的尺度叫做吞吐量
系统的吞吐量定义为单位时间内系统所处理的作业(程序)的道数(数量)
吞吐量=作业道数/全部处理时间
中断,通道,DMA控制器的引入使处理器与外围设备的并行成为可能
多道程序设计改善了系统资源的使用情况
进程是具有一定独立功能的程序关于一个数据集合的一次运行活动
PCB
进程控制块是进程存在的标志,它由一组信息构成。
进程控制块是标志进程存在的数据结构,其中包含系统对进程进行管理所需要的全部信息
进程的物理实体与支持进程运的物理环境称为上下文,进程切换过程就是上下文切换的过程
系统开销一般是指运行操作系统程序,对系统进行管理所花费的时间和空间
进程队列时间上是由进程控制块构成的队列
无论系统进程还是用户进程,都具有如下特性
进程间相互作用方式:
线程thread又称为轻线程LWP,是机场内的一个相对独立的执行流
进程是资源的分配单位,线程是cpu的调度单位
与进程相比,线程有以下优点:
采用多线程一方面可以提高应用程序的并行性,另一方面也使得程序设计简洁,明晰
用户要求计算机操作系统为其完成的计算任务的集合成为作业(job)
中断是实现多道程序设计的必要条件
在程序运行过程中出现某种紧急时间,必须终止当前正在运行的程序,转去处理此时间,然后再回复原来运行的程序,这个过程称为中断
中断的实现需要硬件和软件的合作:硬件部分称为中断装置,软件部分称为中断处理程序,中断装置和中断处理程序统称为中断系统
它的只能是发现并响应中断,具体包括一下几个步骤
引起中断的时间称为中断源,中断寄存器中的呢容称为中断字
中断类型与中断向量:
中断可以分为两大类,强迫性中断事先不可知)和自愿性中断(发生具有必然性)
中断优先级别:根据引起中断事件的重要性和紧迫程度,硬件将中断源分为若干个级别,称为中断优先级别,中断优先级是由硬件决定的,因此不可改变
中断嵌套:在中断事件的处理过程中可能会发生新的中断
保存现场之间需要关中断,保存现场之后再开中断,中断处理程序需要根据中断码(访管号)进一步分析中断源
电源故障处理:
调度算法的选择应当与系统的设计目标保持一致,同时考虑公平性与用户满意度。具体有以下几个指标
对处理器的一次连续使用称为cpu阵发期
是先到先服务算法和最短作业优先算法的折中
中断是进程切换的前提,也可以说操作系统是中断驱动的
内部顺序性:对于一个进程来说,它的所有指令是按顺序执行的
外部顺序性:对于多个进程来说,所有进程的活动是一次执行的
顺序程序的特性:1连续性2封闭性3可再现性
内部并发性:一个程序内部
外部并发性:多个程序
并发程序失去了顺序程序的良好特性:1.间断性2.非封闭性3.不可再现性
有些变量,两个进程或两个以上的进程都需要访问它们这些变量称为共享变量也成为公共变量
多个进程均需要访问的变量称为共享变量
访问共享变量的程序称为临界区
关于工艺组共享变量的临界区可能只有一个,也可能有多个
两个或两个以上的进程不能同时进入关于同一组共享变量的临界区,否则可能发生与时间有关的错误,这种现象称为进程互斥
entry section
临界区
exit section
其余代码
entry section和exit section保证同一时刻最多只有一个进程处于临界区内。实现进程互斥。对于临界区的管理应该满足以下原则:
pv操作
一段不可间断执行的程序称为原语
进程间通信模式:共享内存模式,消息传递模式
死锁:并发进程在请求资源时候发生的无限期等待,无法避免
饥饿:资源分配不公,只要设计资源分配策略时考虑进程等待时间,即老化这一因素,就可以防止饥饿的发生
参与死锁的进程数目至少为2,参与死锁的所有进程均为等待资源,参与死锁的进程至少有两个占有资源,参与思索的我进程是系统总当前正在运行的进程集合的一个子集
竞争资源引起的死锁
进程间通信引起的死锁
其他原因引起的死锁:after you/after you问题
不让死锁发生的策略可以划分为两种,一种是静态的,称为死锁预防,另一种是动态的,称为死锁避免
死锁要研究的问题:静态死锁预防策略,动态死锁避免策略,动态死锁检测策略,动态死锁恢复策略。
是保证系统部进入死锁状态的静态策略
常见的策略有两种:预先分配策略(进程在运行前一次性地向系统申请它所需要的全部资源)和有序分配策略(与预先分配策略相比,它一定程度提高了资源的利用率)
何时进行死锁的检测,主要取决于:
检测:
unix和windows等商用系统都采用这种做法
当等待时间给进程的推进和响应带来明显的影响时,就成发生进程饥饿。当饥饿到一定程度的进程所赋予的任务即使完成也不再具有实际意义时,称该进程被饿死
从进程状态考虑,死锁的进程都处于等待态。忙式等待(或处于运行态或处于就绪态)的进程并非等待态,但是却有可能被饿死
忙式等待条件下发生的饥饿称为活锁(live lock)
存储管理既包括内存资源的管理,也包括用于实现分级存储体系的外村资源的管理
存储管理需要完成以下功能:存储分配,存储共享,存储保护,存储扩充,地址映射
将逻辑地址转换为物理地址的过程称为地址映射
物理地址=物理页框首址+页内地址=页框号*2^i+业内地址
第k个逻辑页面的起始地址(首地址)为k*2^i
访问也好在块表中的次数与总访问次数之比称为命中率(ht ratio)
TLB定义为通过快表地址映射可以覆盖的内存范围
页面调入时机是指合适将一个页面由外存储器调入内存。两种方法:请调和预调
淘汰以后不再需要的或者在最长的时间以后才会用到的页面
缺页率=×/总数
命中率=1-缺页率
淘汰最先进入内存的页面
文件是具有符号名且在逻辑上由完整意义的心好象的有序序列
unix系统中:普通文件可以保存数据等信息,特殊文件对应各种设备,将设备作为文件处理是unix系统的一个标志性成功特点
就是按照从前到后的次序依次存取文件的各个信息项
就是无需存取文件的某些信息项
就是将文件映射到内存空间,然后以内存访问方式存取文件
转储可以采用三种策略之一,完全存储,增量转储,差分转储
按照数据传输的基本单位可以将其分为块形设备与字符型设备
三种类型:字节多路通道,数组选择通道,数组多路通道
调用路径从I/O软件往下到硬件,返回路径从硬件往上到用户I/O软件
是I/O进程与设备控制器之间的通信程序
应该考虑公平性和高效性两个基本因素
系统中的缓冲区集合被称为缓冲池
RAID采用分条数据存储方式,粉条有两种界别:位级分条和块级分条
引入虚拟设备,其基本思想实在独占型设备与内存进程之间加入一个共享性设备作为过渡
并不存在绝对稳定可靠的存储介质
对操作系统的安全威胁来自如下方面:
对系统安全的威胁可以分为以下4类:
防止闯入和恶意程序的破坏,首先应该从操作系统入手
可信计算机通常由三个部分组成:绝大多数硬件,操作系统核心中的一部分,其他具有特权的用户程序
可以将超线程技术看作是对处理器的虚拟化
多处理器环境下,互斥策略主要有自旋锁和队列自旋锁两种
加速比:调度六时间除以并行工作时间的结果
加速比用来度量多和系统的加速程度
死锁预防: