第一部分 操作系统引论
1、操作系统定义:是控制和管理计算机的软件和硬件资源,合理的组织工作流程以及方便用户的程序集合。
2、操作系统的目标:有效性、方便性、可扩充性、开放性
3、操作系统的地位:是计算机系统的核心,是硬件层的第一次扩充,是唯一的控制和管理整个计算机硬件的软件,是计算机系统软件的重要组成部分,是其他软件的共同环境。
4、计算机系统的作用:(1)是计算机资源的管理者(硬件资源、软件资源)
(2)用户使用系统软硬件的接口(系统命令、系统调用)
(3)作为扩充机/虚拟机(裸机:没有任何软件的计算机)
5、操作系统的特征:(1)并发性:
并发性是指两个或多个事件在同一时间间隔内发生。具有此特性的程序称并发程序。
在多道程序环境下,并发性是指在一段时间间隔内宏观上有多道程序同时运行,但在微观上可能是交替或顺序运行的。
并行性(parallel)是指两个或多个事件在同一时刻发生。具有此特性的程序称并行程序。
并行执行意即同时执行
(2)共享性(OS与多个用户程序共同使用计算机系统中的资源):
互斥共享:指某个资源在一段时间内只允许一个进程使用,这种资源称临界资源。
同时共享:指某个资源在一段时间内允许多个进程同时使用。但这里的同时的概念是宏观的,微观上则可能是交替地对资源进行访问。
(3)虚拟性:虚拟是指将一个物理的实体变为若干个逻辑上的对应物--分时或分空间。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率
(4)异步性(不确定性):进程启动时机不可预知。
进程执行顺序与推进速度不可预知。
结果可重现。
6、操作系统的功能(四个管理、一个接口):
(1)处理机管理:进程控制、进程通信、进程同步、进程调度
(2)存储管理:存储分配和回收、地址映射、存储共享和保护、存储器扩充
(3)设备管理:缓冲管理、设备分配、设备处理、设备独立性和虚拟设备
(4)文件管理:文件存储空间管理、目录管理、文件读写和存取控制
(5)用户接口:命令接口、程序接口
第二部分 进程管理
1、程序:指令或语句序列,体现了某种算法,所有程序是顺序的。
2、顺序环境:在计算机系统中只有一个程序在运行,这个程序独占系统中所有资源,其执行不受外界影响。
3、程序顺序执行:程序在执行时,必须按照某个先后顺序执行,仅当前一操作执行完后,才能执行其后继操作。
4、顺序执行的特征:
- 顺序性:按照程序结构所指定的次序。(可能有分支或循环)
(2)封闭性:独占资源,执行过程中不受外界影响,资源的状态只由该程序的控制逻辑所决定。
(3)确定性
(4)可再现性:程序运行结果与程序执行速度无关,只要初始状态相同,结果应相同。
5、并发执行的特征:
(1)间断性:执行——停——执行
(2)资源共享:系统中资源被多个进程使用。
(3)独立性和制约性:独立的相对速度、起始时间,进程之间可相互作用(相互制约)可分为直接作用和间接作用。
- 不可再现性:并发程序执行的结果与其执行的相对速度有关,是不确定的。
6、多道程序设计:是指允许多个程序同时进入内存并运行。引入目的是为了提高系统效率, 与并发不完全是一个概念,但效果相似。
7、进程的概念:
(1)定义:进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。
(2)组成:由程序段、数据段和进程控制块(PCB)组成
8、进程的特征:
(1)动态性(最基本特征):进程是执行的程序,动态性表现在:它由创建而产生,由调度而执行,由撤销而消亡。它有一定的生命期。
程序是静态的概念,在机内外都存在,而进程只存在于系统内部。
(2)并发性:指多个进程实体同时存在于内存中,能在一段时间内同时运行(并发)。
并发性是进程的重要特征,也是OS的重要特征,引入进程的目的就是为了使程序能并发执行。
(3)独立性:指进程是一个运行的独立单位和获得资源和调度的独立单位。
(4)异步性:由于进程共享资源和相互合作形成了相互制约的关系,形成进程执行的间断性,进程以各自独立的、不可预知的速度向前推进。
(5)结构特征:从结构上看,每个进程都由相应的代码段、数据段和进程控制块(PCB)组成,也称“进程映象”。
9、进程VS程序
- 进程包含程序:进程是由代码段(程序)、数据段和进程控制块(PCB)三部分组成。
(2)进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。通常进程不可在计算机之间迁移;而程序通常对应着文件、静态和可以复制。
(3)进程是暂时的,有生命周期;程序是永久的:进程是一个状态变化的过程,程序可长久保存。
(4)进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。
(5)进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。
(6)进程具有创建其他进程的功能,而程序没有。
10、进程控制块:
进程控制块(PCB:Process Control Block)是进程实体的一部分,是系统为了管理进程设置的一个专门的记录型数据结构,用它来记录进程的外部特征,描述进程的运动变化过程。
系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志。
进程与PCB是一一对应的。
11、PCB内容和作用
内容:(1)进程标识符
(2)处理机状态(CPU工作现场)
(3)进程调度信息
- 进程控制信息
作用:PCB 中记录了OS所需的用于描述进程情况及控制进程运行所需的全部信息。因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。
- 进程映象:由进程基本控制块(proc结构)、正文段和数据段组成。
proc结构——存放进程常用信息,常驻内存。
正文段—代码段,只能读和执行。
数据段—由用户栈、用户数据区和进程数据区组成,进程数据区由核心栈和user结构(进程扩充控制块)组成。
User结构存放不常用信息,放于外存。
- PCB组织方式:
(1)链接方式:把具有相同状态的PCB,用其中的链接字,链接成一个队列。
(2)索引方式:系统根据所有进程的状态,建立索引表。
14、进程的基本状态及转换
(1)就绪态(Ready):
进程已获得了除CPU之外的运行所需资源。
处于就绪态的进程有多个,它们存放在就绪队列中。
(2)运行态(Running):
进程占有CPU,并在CPU上运行。
(3)等待态(Blocked):阻塞态、睡眠态、挂起态、封锁态、冻结态
指进程因等待某种资源而暂时不能运行的状态。
即使CPU空闲,该进程也不可运行!
- 进程控制原语
原语:是由若干条机器指令构成,用以完成特定功能的一段程序。原语是原子操作,要么全做,要么全部不做。
(1)进程创建原语
- 进程撤销原语
(3) 阻塞原语
(4) 唤醒原语
(5) 挂起原语
(6)激活(解挂)原语
15、进程间的联系:
相交进程与无关进程:
相交进程:指多个并发进程在逻辑上有某种联系。
无关进程(不相交进程):在逻辑上无任何联系的进程。
进程间的关系:
(1)资源共享关系(间接作用)
由于进程同处于一个系统中,必然存在资源共享关系,进程互斥的主要任务是保证各进程能互斥地访问临界资源。
(2)相互合作的关系(直接作用)
进程之间还有一种相互合作的关系,此时,进程同步的任务是保证相互合作进程在执行次序上的协调,也不会出现与时间
- 进程的互斥:
(1)临界资源:系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量。
(2)临界区(互斥区):在进程中访问临界资源的代码称为临界区。也被称为访问公用数据的那段程序。
进入临界区的准则是:①一次只准一个进程进入临界区;②本进程结束负责通知下一进程;③进程调度,不能阻塞。
- 临界区的进入:
①进入区(entry section):进程中,在临界区之前,用于临界资源申请和检查的代码段。
- 临界区(critical section)进程中访问临界资源的代码段。
- 退出区(exit section):进程中,在临界区之后,用于释放临界资源的代码段。
④剩余区(remainder section):进程中,与临界资源申请、访问和释放无关的代码段。
- 进程的同步:系统中一些进程需要相互合作,共同完成一项任务
同步遵循的准则:
(1)空闲让进:当无进程处于临界区内时,必须让一个要求进入临界区的进程立即进入,以有效地利用临界资源。
(2)忙则等待:已有进程进入临界区,则其他试图进入自己临界区的进程必须等待。
(3)有限等待:对要求进入临界区的进程,应在有限时间内使之进入。
(4)让权等待:等待进入临界区的进程,必须让出CPU。
18、锁:
Lock(k)
<临界区>
Unlock( k)
K==1时表示该临界区不可用, K==0时表示该临界区可用。
开锁原语:unlock(K):K =0;
关锁原语:lock(K): if(K ==1) do no_op; K =1;
19、信号量:是一整数,大于0时表示可供使用的资源数,小于0时表示等待使用资源的进程数,用s表示。
20、P、V操作
P操作——P(s) [ wait(s) ]:
(1)s=s-1;
(2)if s>=0 then 进程继续执行;
(3)if s<0 进程置为等待,然后将该进程的PCB插入相应的等待队列末尾,转进程调度。
V操作——V(s) [ signal(s) ]:
(1)s=s+1;
(2)if s>0 then 进程继续执行;
(3)if s<=0 唤醒一等待进程,然后返回原进程继续执行或转进程调度。
21、线程:线程作为调度和分派的基本单位(又称为轻型进程)
特点:(1)是进程的一个实体,可作为系统独立调度和分派的基本单位。
(2)不拥有系统资源(只拥有从属进程的全部资源,资源是分配给进程)。
(3)一个进程中的多个线程可并发执行。(进程可创建线程执行同一程序的不同部分)。
(4)系统开销小、切换快。(进程的多个线程都在进程的地址空间活动)。
第三部分 处理机调度 与死锁
- 分级调度(三层):
- 高级调度(宏观调度、作业调度):把外存上处于后备队列中的那些作业调入内存,并创建进程,分配资源,将进程加入就绪队列。
- 低级调度(微观调度、进程调度):由分派程序把处理机分派给内存中就绪的进程,使其投入运行。两种调度方式:
非抢占方式—进程一直执行直到完成或发生某事件被阻塞。此方式引起调度的因素有
(1)一进程执行完毕;
(2)请求I/O;
(3)通信或同步时执行了原语操作。
抢占方式—由于优先权、短进程优先或时间片到因素,终止现行进程。
(3)中级调度:把暂时不能运行的进程调至外存就绪,提高内存利用率和系统吞吐量。中级调度实际上是存储器之间的对换。
2.作业是用户向计算机提交任务的任务实体,进程是为完成任务的执行实体。
作业的状态:提交,后备,执行,完成。
多道批处理系统中,当作业进入系统时便为其设置一个作业控制块(JCB),JCB是作业在系统中存在的标志。
3、作业调度算法:
(1)先来先服务
从后备队列中,选择一个最先进入该队列的作业,将它调入内存,为它分配资源、创建进程,然后放入就绪队列。
优先考虑等待时间最长的作业,而不管运行时间长短,对短作业不利。
易实现,但效率较低。
(2)短作业优先
从后备队列中选择一个估计运行时间最短的作业,将它调入内存,为它分配资源、创建进程,然后放入就绪队列。
不考虑长作业,有可能使长作业长时间等待而不能运行(饥饿)。
易实现,效率较高。
(3)响应比高者优先
响应比=响应时间/运行时间=1+等待时间/运行时间
从后备队列中选择一个响应比高的作业,将它调入内存,为它分配资源、创建进程,然后放入就绪队列。
是一种折衷算法,既考虑长作业,又照顾短作业。
4、进程调度:按一定的调度算法从就绪队列中选中一个进程,把CPU的使用权交给被选中的进程
进程调度的任务:a.保存CPU现场信息 b.按某种算法选取进程 c.把CPU分配给进程。
方式:(1)非剥夺方式::调度程序一旦把处理机分配给某进程后便让它一直运行下去,直到进程完成或发生某事件而阻塞时,才把处理机分配给另一个进程。
(2)剥夺方式:当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其它进程。剥夺原则有:优先权原则、短进程优先原则、时间片原则。
5、进程调度算法:
(1)先来先服务(FCFS/FIFO):该算法总是把处理机分配给最先进入就绪队列的进程,一个进程一旦分得处理机,便一直执行下去,直到该进程完成或阻塞时,才释放处理机。
(2)最短CPU运行期优先调度法(短进程优先调度算法)(SCBF--Shortest CPU Burst First):该算法从就绪队列中选出“下一个CPU执行期”最短的进程,为之分配处理机。
(3)基于优先数的调度(HPF—Highest Priority First):优先选择就绪队列中优先级最高的进程投入运行,优先级根据优先数来决定,优先数越小,优先级越高。
(4)时间片轮转调度算法(RR—Round Robin):把CPU时间划分成若干时间片,并且按顺序赋给就绪队列中的每一个进程,进程轮流占有CPU,当时间片用完时,即使进程未执行完毕,系统也剥夺该进程的CPU,将该进程排在就绪队列末尾。同时系统选择另一个进程运行
(5)多级反馈队列调度算法:在系统中设置多个就绪队列,并赋予各队列以不同的优先权。
6、处理机调度算法的目标
共同目标:a.提高资源利用率,CPU利用率=CPU有效工作时间/(CPU有效工作时间+CPU等待时间)
b.公平性:应使各进程都获得合理CPU时间
c.平衡性:保证系统资源使用平衡
d.策略强制执行
7、中断的基本概念:
(1)中断是指计算机在执行期间,发生任何非寻常的急需处理的事件,使得CPU暂时终止当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来终止点继续执行。
(2)引起中断发生的事件称为中断源。
(3)中断源向CPU发出的中断处理信号称为中断请求。
(4)CPU收到中断请求后转相应的事件处理程序称为中断响应。
(5)中断屏蔽是指在中断请求发生之后,系统用软件方式有选择地封锁部分中断而允许其余部分的中断仍能得到响应
8、中断的分类:
(1)外中断—来自处理机和内存外部的中断,如I/O请求、外部信号(按ESC键等)、时钟中断、程序中设置的断点等。
(2)内中断—来自处理机和内存内部的中断,内中断一般成为陷入,如各种程序错、时间片到、执行特权指令(从用户态到核心态)。
9、中断和陷入的区别:
(1)陷入常由正在执行的指令引起,而中断由与现行指令无关的中断源引起;
(2)陷入处理程序提供的服务为当前进程所用,而中断处理程序则不是为了当前进程;
(3)CPU在执行完一条指令后、下一条指令执行前响应中断,而在一条指令执行期间也可以响应陷入。
10、死锁:一组进程中,每个进程都无限等待被该组进程中另一进程所占有的资源,因而永远无法得到资源,无限期地僵持下去的局面,这种现象称为进程死锁,这一组进程就称为死锁进程。
11、资源
(1)可重用资源和可消耗资源
a.可重用资源:是一种可供用户重复使用多次的资源。
三个性质:第一,每个可重用资源中的单元只能分配给一个进程使用。
- 使用可重用资源的步骤:请求资源->使用资源->释放资源。
- 可重用资源单元数目相对固定,不能创建也不能删除。
b.可消耗资源:临时性资源,进程运行期间由进程动态创建和消耗。
三个性质:第一,资源单元数目可变,可为0;
- 进程运行期间,可以不断创造可消耗资源;
- 进程可申请若干可消耗资源用于自己消耗,不必返回给该资源类。
(2)可抢占资源和不可抢占资源
- 可抢占资源:进程获得这类资源后,这类资源可再被其它进程或系统抢占。处理机和内存均属于可抢占资源,这类资源不会引起死锁 。
不可抢占资源:系统一旦把该资源分配给进程后,就不能强行把它收回,只能等它自动释放。磁带机,打印机为不可抢占资源
12、引起死锁的原因
- 竞争不可抢占资源
- 竞争可消耗资源
- 进程推进顺序不当
13、 产生死锁的必要条件
a.互斥性,即在一段时间内,某资源只能被一个进程占用。
b.请求和保持条件,即进程已经占用至少一个资源,但又提出新的资源请求,而该资源已被其它进程占用。
c.不可抢占条件,即进程已获得的资源在使用完之前不可被抢占。
d.循环等待条件,即发生死锁时,必然有一个“进程--资源”循环链。
14、死锁的处理方法
(1)预防死锁,通过设置限制条件,去破坏产生死锁的必要条件的一个或几个。
(2)避免死锁,在资源动态分配过程中,用某种方法防止系统进入不安全状态。
若一个系统在安全状态,就没有死锁。
若一个系统处于不安全状态,就有可能死锁。
(3)检测死锁,运行进程发生死锁,通过检测机构及时检测出死锁的发生,再使其从死锁中解脱出来。
(4)解除死锁,检测到发生死锁后将进程从死锁状态解脱出来 。
15、死锁定理
(1)若图没有环,那么不会有死锁!
(2)若图有环,
若每一种资源类型只有一个实例,那么死锁发生;
若一种资源类型有多个实例,可能死锁。
16、死锁结论:
参与死锁的进程最少是两个。
参与死锁的进程至少有两个已经占有资源。
参与死锁的所有进程都在等待资源。
参与死锁的进程是当前系统中所有进程的子集。
- 死锁预防:
(1)破坏“不可剥夺”条件
可剥夺资源:即当某进程新的资源请求未满足时,剥夺本进程已占有的资源。
(2)破坏“请求和保持”条件
资源一次性分配:要求每个进程在运行前必须一次性申请它所要求的所有资源,且仅当该进程所要资源均可满足时才给予一次性分配。
(3)破坏“循环等待”条件
资源有序分配法:把系统中所有资源编号,进程在申请资源时必须严格按资源编号的递增次序进行,否则OS不予分配,释放则相反
19、银行家算法
(1)若Request[i]≤Need[i](合理性检测),转2;
否则错误返回
(2)若Request[i]≤Available (可行性检测), 转3;
否则进程等待
(3)假设系统分配了资源,则有:
Available = Available - Request[i];
Allocation[i] = Allocation[i] + Request[i];
Need[i] = Need[i] - Request[i]
(4)执行安全性算法。
若系统新状态是安全的,则分配完成。
若系统新状态是不安全的,则恢复原状态,进程等待。
安全性算法:①Finish[i] == false
-
- Need[i] ≤ Work
(5)结论
第四部分 存储管理(是指对存储器资源(主要指内存并涉及外存)的管理)
- 存储管理的功能:
(1)存储分配和回收:
为进程分配与回收存储空间;
静态分配与回收和动态分配与回收。
(2)地址映射(变换):
进程逻辑地址到内存物理地址的映射。
可执行文件生成中的链接技术
程序加载(装入)时的重定位技术
进程运行时硬件和软件的地址变换技术和机构
(3)存储共享和保护:
代码和数据共享
地址空间访问权限(读、写、执行)
(4)存储器扩充:逻辑组织和物理组织;
在不增加物理内存的情况下向用户提供海量存储空间。
由应用程序控制:覆盖;
由OS控制:对换(整个进程空间),虚拟存储的请求调入和预调入(部分进程空间)
- 存储器的功能是保存数据,存储器的发展方向是高速、大容量和小体积
3、存储组织是指在存储技术和CPU寻址技术许可的范围内合理组织存储结构。
- 重定位:在文件装入时需要解决文件中地址(指令和数据)和内存地址的对应
5、符号空间:程序员在程序中定义的标识符的集合。
地址空间:指用户程序使用的全部地址的集合。
地址空间中的每个地址单元编号称为逻辑地址,由于通常逻辑地址都是相对于程序的起始地址的,故又称为相对地址(relative address)。
存储空间:指内存中存储数据的物理单元的集合。
这些物理单元的地址单元编号称为物理地址或绝对地址。
6、逻辑地址(Logical Address相对地址,虚地址):用户的程序经过汇编或编译后形成目标代码,通常采用相对地址的形式。
其首地址为0,其余指令中的地址都相对于首地址来编址。
不能用逻辑地址在内存中读取信息。
物理地址( Physical Address绝对地址,实地址):内存中存储单元的地址。物理地址可直接寻址。
地址映射:将程序中的逻辑地址转换为运行时由机器直接寻址的物理地址。
当程序装入内存时,OS要为该程序分配一个合适的内存空间,由于程序的逻辑地址与分配到内存物理地址不一致,而CPU执行指令时,是按物理地址进行的,所以要进行地址转换
7、链接是将经过编译或汇编后得到的一组目标模块以及它们所需要的库函数,装配成一个完整的装入模块
8、链接分类:
(1)静态链接:事先进行链接(相对地址修改,外部调用符号改变),以后不再拆开的链接方式。先链接成的完整的装入模块,运行时直接装入内存。
(2)转入时动态链接:目标模块在装入内存时,边装入边链接
(3)运行时动态链接:将某些目标模块的链接,推迟到执行时才进行
9、算法:
(1)最先匹配法(first-fit):按分区的先后次序,从头查找,找到符合要求的第一个分区。
(2)下次匹配法(next-fit):按分区的先后次序,从上次分配的分区起查找(到最后分区时再回到开头),找到符合要求的第一个分区
(3)最佳匹配法(best-fit):“最佳”的含义是指每次为进程分配内存时,总是把既能满足要求、又是最小的空闲分区分配给进程,避免了“大材小用”。
(4)最坏匹配法(worst-fit):找到满足要求并最大的空闲分区
10、覆盖
原理:一个程序的几个代码段或数据段,按照时间先后来占用公共的内存空间。
11、对换:把内存中暂时不能运行的进程或者暂时不用的程序和数据,调出到外存上,以便腾出足够的内存空间,再把已具备运行条件的进程或进程所需的程序或数据,调入内存。
12、虚拟存储器:是指具有请求调入功能和置换功能, 能从逻辑上对内存容量加以扩充的一种存储器系统。
13、时间局部性:一条指令被执行了,则在不久的将来它可能再被执行。
空间局部性:若某一存储单元被使用,则在一定时间内,与该存储单元相邻的单元可能被使用
14、置换算法:
(1)最佳算法(OPT,optimal):选择“将来不再被使用的”或“在离当前最远的将来才第一次被使用的”页面予以淘汰
(2)先进先出算法(FIFO):选择进入内存时间最长的页面置换
(3)最近最久未使用算法(LRU, Least Recently Used):选择内存中最近一段时间里最久未使用的页面予以淘汰
(4)最不常用算法(LFU-Least Frequently Used):选择到当前时间为止被访问次数最少的页面被置换
(5)最近未使用算法(也称轮转算法、Clock置换算法)
(6)页面缓冲算法(page buffering): 它是对FIFO算法的发展,通过被置换页面的缓冲,有机会找回刚被置换的页面
第五部分 设备管理
- 设备分类:
(1)按数据传输率分类
①低速设备。它是指传输速度为每秒中几个字节至数百个字节的一类设备。
②中速设备。
-
- 高速设备。
(2)按信息交换的单位分类
a.块设备(Block Device)—以数据块为单位存储、 传输信息,如磁盘,磁带,光盘。
磁盘基本特征: ①传输速度较高;②可寻址,即可随机地读/写任意一块;③采用DMA方式。
b.字符设备(Character Device)—以字符为单位存储、传输信息。如打印机,终端、键盘,鼠标和串口设备。
基本特征:①速率较低;②不可寻址;即不能指定输入时的源地址及输出时的目标地址;③中断I/O方式。
(3)从设备的共享属性分类
a.独占设备—在一段时间内只能有一个进程使用的设备。(如打印机,磁带等)
b.共享设备—在一段时间内可有多个进程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利用率高。(如硬盘)
c.虚拟设备—它是指通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户进程同时使用,通常把这种经过虚拟技术处理的设备,称为虚拟设备。
(4)按使用特性分类
a.存储型设备
b.输入输出型设备(交互型设备)
c.终端设备
d.脱机设备
(5)按外部设备的从属关系分类
a.系统设备—指OS生成时,登记在系统中的标准设备。
b.用户设备—指在系统生成时,未登记在系统中的非标准设备。
(6)从程序使用角度分类
a.物理设备:是一个具体的设备。
系统给每台外设分配一个唯一不变的名字,称为物理设备名。系统实际工作时,使用物理设备名。
b.逻辑设备:是对实际物理设备属性的抽象,它并不限于某个具体设备。
(7)按设备硬件物理特性分
a.顺序存取设备
b.直接存取设备
2、设备的独立性(Device Independence)也称设备无关性,指用户编程时使用逻辑设备名,所使用的设备与实际使用的设备无关。
两种含义:(1)独立于同类设备中的具体台号。(2)独立于设备类型。
系统给每个设备一个唯一的不可更改的识别号,称为物理设备名。
3、为什么要引入设备独立性?
由系统实现从逻辑设备到物理设备(实际设备)的转换,实现设备独立性,可使用户(应用程序)独立于具体的物理设备,使设备分配具有灵活性。另外容易实现I/O重定向。
4、设备控制器的功能:
(1)接收和识别命令
(2)数据交换
CPU与控制器之间、控制器与设备之间的数据交换,对于前者,是通过数据总线。对于后者是设备将数据输入到控制器,或从控制器传送给设备。
(3)设备状态的标识和报告
在控制器中应设置一状态寄存器,用其中的每一位来反映设备的某一种状态。
(4)地址识别
系统中的每一个设备也都有一个地址,而设备控制器又必须能够识别它所控制的每个设备的地址。
(5)数据缓冲
(6)差错控制
5、I/O控制方式:
a.程序I/O方式
b.中断方式
c.通道方式
d.DMA方式
6、I/O控制功能:
a. 解释用户的I/O系统调用;
b. 设备驱动;
c. 中断处理。
7、缓冲区管理:
a.单缓冲
b.双缓冲
c.环形缓冲
d.缓冲池
8、Spooling技术:为了缓和CPU的高速性与I/O设备低速性间的矛盾引入脱机输入、脱机输出技术,即利用专门的外围控制机,将低速I/O设备上的数据传送到高速磁盘上或者相反。这样,便可在主机的直接控制下,实现脱机输入、输出功能,此时的外围操作与CPU对数据的处理同时进行。它是一种假脱机技术。
(1)提高了I/O速度
(2)将独占设备改造为共享设备
(3)实现了虚拟设备功能
9、通道技术:通道是独立于CPU的专门负责数据I/O传输工作的处理机,对外设实现统一管理,代替CPU对I/O操作进行控制,从而使I/O操作可与CPU并行操作
第六部分 文件管理
- 文件管理的目的:
(1)方便的文件访问和控制
以符号名称作为文件标识,便于用户使用;
(2)并发文件访问和控制
(3)统一的用户接口
在不同设备上提供同样的接口,方便用户操作和编程;
(4)多种文件访问权限
(5)优化性能
存储效率、检索性能、读写性能;
(6)差错恢复
- 数据项
(1)基本数据项:用于描述对象的某种属性的字符集,是数据组织中可以命名的最小逻辑数据单位,即原子数据,又称为数据元素或字段。
(2)组合数据项:它由若干个基本数据项组成简称组项。
- 记录:一组相关数据项的集合,用于描述对象某方面的属性。
为了能唯一地标识一个记录,必须在记录的各个数据项中,确定出一个项或几个项,把它们的集合称为关键字(key) 。关键字是能唯一标识一个记录的数据项。
4、文件:一组带标识的在逻辑上有完整意义的信息项的序列,这个标识为文件名。
信息项:构成文件内容的基本单位。
- 文件管理系统:是指文件和对文件进行操纵和管理的软件集合
- 文件系统基本功能:
(1)文件的结构及存取方法(逻辑结构:记录式文件;无结构流式文件。物理结构:连续结构;串联结构;索引结构。存取方法:顺序存取法;直接存取法。)
(2)文件的目录结构及有关处理(树型目录结构)
(3)文件存储空间的管理(空白文件目录;空白块链;文件位图。)
(4)文件的共享和保护
(5)文件的操作和使用
7、文件控制块(FCB):是OS为管理文件而设置的数据结构,存放了为管理文件所需的所有有关信息。FCB是文件存在的标志。
8、文件控制块的内容:
(1)基本信息类 ① 文件名 ; ② 文件物理位置 ;③ 文件逻辑结构 ; ④ 文件的物理结构 。
(2) 存取控制信息类 。
(3) 使用信息类。
9、磁盘调度算法:
(1) 先来先服务:按访问请求到达的先后次序服务
(2) 最短寻道时间优先:优先选择距当前磁头最近的访问请求进行服务,主要考虑寻道优先。
(3) 扫描算法(电梯算法):克服了最短寻道优先的缺点,既考虑了距离,同时又考虑了方向。
第七部分 用户接口
1、命令接口:
①联机用户接口:由一组键盘操作命令和命令解释程序组成。
②脱机用户接口:可称为批处理接口,它由一组作业控制语言JCL组成。
2、程序接口:它由一组系统调用组成。
3、图形用户接口:采用图形化的操作界面,用图标表示各种应用程序和文件,可方便地将文字、图形和图象集成在一个文件中。用户可通过鼠标、菜单和对话框来完成对应用程序和文件的操作。
4、系统调用:就是用户在程序中调用操作系统所提供的一些子功能