操作系统定义:是一组控制和管理计算机硬件和软件资源合理地对各类作业进行调度以及方便用户使用计算机的程序集合
操作系统作用:(1)os作为用户与计算机硬件系统之间的接口,(2)os作为计算机系统资源的管理者,(3)os实现了对计算机资源的抽象。
操作系统特征:并发(是指两个或多个事件在同一时间间隔内发生),共享,虚拟,异步。
操作系统主要功能:处理机管理功能,存储器管理功能(内存分配、地址映射、内存保护、内存扩充),设备管理功能,文件管理功能,操作系统与用户之间的接口。
单批道处理系统(自动性、顺序性、单道性)缺点:系统中的资源得不到充分利用;多批道处理系统(调度性、无序性、多道性)优点:资源利用率高,系统吞吐量大,缺点:平均周转时间长,无交互能力;分时系统unix(多路性、独立性、及时性、交互性):允许用户以交互方式使用计算机操作系统;实时系统(实时性、可靠性)。
进程和程序的区别:(1)程序是一个静态的概念,而进程是一个动态的概念。(2)程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的,进程是暂时的。(3)进程具有并发性,而程序具有顺序性。(4)进程是资源分配和调度的基本单位(5)一个程序对应多个进程,一个进程为多个程序服务。
进程的实质是进程实体的运行过程,是系统进行资源分配和调度的一个单位;进程是程序在处理机上的一次执行过程,具有生命期。
进程的特征:动态性、并发性、独立性、异步性。
程序并发执行的特征:间断性,失去封闭性,不可再现性
进程的阻塞与唤醒:向系统请求共享资源失败;等待某种操作完成;新数据尚未到达;等待新任务的到达
PCB(以队列的形式存放)的作用(1)作为独立运行基本单位的标志(2)能实现间断性运行方式(3)提供进程管理所需要的信息(4)提供进程调度所需要的信息。(进程控制块(PCB)+程序段+相关数据段=进程实体)
两种形式的制约关系:间接相互制约关系:互斥(竞争资源),一个信号量;直接相互制约关系:同步(进程合作),两个信号量。
同步机制应遵循的规则:空闲让进、忙则等待、有限等待、让权等待。
信号量的初值表示系统中某类资源的数目;信号量<0表示该类资源已经分配完毕,绝对值表示在该信号量链表中已阻塞进程的数目;信号量初值为1,表示只允许一个进程访问临界资源,此时的信号量转化为互斥信号量。 对信号量S每执行一次P操作,则信号量S的值就减1,当S的值<0时,执行P操作的进程的状态就置为阻塞态,把相应的PCB连入该信号量队列的末尾,并且该进程放弃处理机。
带权周转时间=周转时间/服务时间
FCSF(先来先服务)算法(不利于短作业),SJF(短作业优先)算法(必须预知作业的运行时间,不利于长作业,无法实现人机交互,没有考虑作业的紧迫度),PSA(优先级调度)算法,HRRN(高响应比优先调度)算法,轮转(RR)算法(用于分时系统,不适合作业调度)。。
优先权(响应比)=(等待时间+要求服务时间)/要求服务时间
产生死锁的原因:竞争不可抢占性资源;竞争可消耗资源;进程推进顺序不当。
死锁的定义:如果一组进程中的每一个进程都在等待仅由该组进程中的其他进程才能引发的事件,那么该组进程就是死锁的。
死锁产生的必要条件:互斥条件;请求和保持条件;不可抢占条件;循环等待条件。
处理死锁的方法:预防死锁;避免死锁;检测死锁(采用资源分配图);解除死锁(抢占资源、终止或撤销进程)。
预防死锁的方法:摒弃请求和保持条件(采用静态资源分配法),摒弃不可抢占条件(采用资源暂时释放策略)摒弃循环等待条件(采用有序资源分配方法)
注:R类资源共m个,n个进程互斥使用,每个进程对R类资源最大需求量为w,设M=n*(w-1)+1,n<m可能会发生死锁,m>=M绝对不会发生死锁。
连续分配存储管理方式:单一连续分配(系统区放在内存的低址部分),固定分区分配(造成存储空间的浪费),动态分区分配(解决碎片问题,提高内存利用率,涉及分区分配中所用的数据结构、分区分配算法和分区的分配与回收操作问题),动态可重定位分区分配算法(紧凑、动态重定位)。
基于顺序搜素的动态分区分配算法:首次适应(FF)算法(倾向于优先利用内存中的低址部分的空闲分区),循环首次适应(NF)算法(基于ff算法从上次找到的空闲分区的下一个空闲分区开始查找),最佳适应(BF)算法(空间分区大小,从小到大),最坏适应(WF)算法(从大到小)。
动态重定位(解决地址映射问题):地址变换过程是在程序执行期间,随着对每条指令或数据的访问自动进行的。
离散分配:分页存储管理方式(一维,页长=块长,逻辑地址=页号+页内地址,物理地址=P*L+d,页面大小L,页号P,页内地址d,页表的作用是实现从页号到物理快号的地址映射,每一个进程一个页表,访问两次内存)分段存储管理方式(其逻辑地址是由段号和段内地址组成二维,解决数据的共享和保护,访问两次内存)、段页式存储管理方式(二维,访问三次内存,需配置一段表寄存器,用分段的方式管理用户空间,分页的方式管理物理内存空间)。
分页和分段的主要区别:页是信息的物理单位段是信息的逻辑单位、页的大小固定且由系统决定段的大小取决于用户程序、分页的用户程序地址空间是一维的,分段的作业地址空间是二维的。
虚拟存储器定义:具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储系统(其逻辑容量由内存容量和外存容量之和决定的,计算机体系结构决定虚拟存储器的地址空间)。
虚拟存储器特征:多次性(最本质)对换性,虚拟性,离散性。
产生抖动的原因:同时在系统中运行的进程太多,由此分配给每一个进程的物理块太少,不能满足进程正常运行的基本要求,致使每个进程在运行时,频繁的出现缺页,必须请求系统将所缺之页调入内存。用工作集来解决抖动问题
中断:是指cpu对I/O设备发来的中断信号的一种响应,与陷入的主要区别是信号的来源,即是来自cpu外部还是内部。
对I/O设备的控制方式:使用轮询的可编程I/O方式;使用中断的可编程I/O方式;直接存储器访问方式(DMA);I/O通道控制方式。
设备的分类:独占设备,共享设备,虚拟设备。
假脱机技术:将独占设备改造成共享设备,从而提高了设备利用率和系统效率。Spooling系统建立在通道技术和多通道程序技术上,一高速随机外存为后援存储器
SPOOLing系统:输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程、井管理程序。特点:提高了I/O的速度;将独占设备改造为共享设备;实现了虚拟设备功能。
磁盘调度算法:先来先服务(FCFS)(优点:公平简单不会出现饥饿现象,缺点平均寻道时间长),最短寻道时间优先(SSTF)(优点:寻道时间性能好,缺点会出现饥饿现象),扫描(SCAN)算法(能避免饥饿现象,缺点:寻道性能差),循环扫描(CSCAN)
磁盘访问时间:寻道时间,旋转延迟时间(1/2转速),传输时间(字节数/转速*扇区或字节数/传输速率)
文件逻辑结构类型:记录式文件(有结构);流式文件(无结构),以字节为单位。
按文件的组织方式分类:顺序文件(适合批量处理,增加删除难),索引文件(容易查找),索引顺序文件。
文件的物理结构类型:顺序文件,链接文件,索引文件
文件控制块(FCb):用于描述和控制文件的数据结构有三类信息:基本信息,存取控制,使用信息
文件共享:基于有向无循环图实现文件共享,(硬链接会改变索引节点的值)利用符号链接实现文件
共享(软连接不会改变索引结点的值)
外存的组织方式:连续组织方式;链接组织方式;索引组织方式。
文件存储空间的管理:空闲表法;位示图法;成组链接法(unix系统采用)。
位示图法:盘块号b=n(i-j)+j,n表示每行的位数,i行,j列。盘块回收:i=(b-1)DIV n+1,j=(b-1)MOD n+1。
事务:一致性、-隔离性、持久性、原子性。
银行家算法:
Need=Max-Allocation,Work=Work+Allocatiom
Process Max Allocation Available
P0 0 0 4 4 0 0 3 2 1 6 2 2
P1 2 7 5 0 1 0 0 0
P2 3 6 10 10 1 3 5 4
P3 0 9 8 4 0 3 3 2
P4 0 6 6 10 0 0 1 4
1)该状态是否安全?
2)若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它?
解:1)利用安全性算法对上面的状态进行分析(如下表所示),找到了一个安全序列{P0,P3,P4,P1,P2}或{P0,P3,P1,P4, P2},故系统是安全的。
资源情况:Work Need Allocation Work+Allo Finish
进程: ABC D ABCD ABCD A B C D
P0 162 2 0012 0032 1 6 5 4 true
P3 165 4 0652 0332 1 9 8 6 true
P4 198 6 0656 0014 1 9 9 10 true
P1 199 10 1750 1000 2 9 9 10 true
P2 299 10 2356 1354 3 12 14 14 true
2) P2发出请求向量Request(1,2,2,2)后,系统按照银行家算法进行检查:
Request2(1,2,2,2)≤Need2(2,3,5,6);Request2(1,2,2,2)≤Available(1,6,2,2);系统先假定可为P2分配资源,并修改Available,Allocation2和Need2向量:Available=(0,4,0,0)Allocation2=(2,5,7,6)Need2=(1,1,3,4) ;进行安全性检查:此时对所有进程,条件Needi≦ Available(0,4,0,0)都不成立,即Available不能满足任何进程的请求,故系统进入不安全状态。因此,当进程P2提出请求Request(1,2,2,2)后,系统不能将资源分配给它。
磁盘容错技术:第一级容错技术防止因磁盘表面的缺陷所造成的包含双份目录双份文件分配表,热修重复定向,写后读校验。第二级容错技术防止磁盘驱动器和控制器的故障,包含磁盘镜像(在同一控制器下,增加一完全相同的驱动器),磁盘双工。第三级是基于集群技术的容错技术,三种工作模式:热备份,互为备份,公用磁盘
导致一个进程创建另一个进程的典型事件:用户登录,作业调度,提供服务,应用请求
P、V操作:①有三个进程,进程A1:将卡片输入到缓冲区B1,进程A2:将经过加工处理的卡片输入到缓冲区B2,进程A3:将缓冲区B2的卡片输出。②直接制约关系;③A1,A2,A3为进程,分别为PA1,PA2,PA3,两个缓冲区为资源,定义信号量semaphore Space B1=1,Space B2=1,卡片也为资源,定义信号量semaphore mutex1=0,mutex2==0,
void PA1(){ void PA2(){ voidPA3(){
do{ do{ do{
wait(Space B1) wait(mutex2) wait(mutex1)
输入卡片 输入卡片 取卡片
Signal(mutex1) signal(Space B2) signal(Space B1)
}While(TRUE) }While(TRUE) wait(space B2)
} void main() 输入卡片
Cobegin signal(mutex2)
PA1();PA2();PA3(); }while(TRUE)
Coend} }