1.操作系统概论
计算机系统包括 硬件系统,软件系统
计算机系统的资源包括两大类 硬件资源和软件资源
硬件系统:中央处理器,内存储器,外存储器,以及各种类型的输入输出设备(键盘,鼠标显示器,打印机) 软件系统:各种程序和数据
软件系统又分为:应用软件,支撑软件(数据库,网络,多媒体),系统软件(操作系统,编译器)
集中了资源管理功能和控制程序执行功能的一种软件 称为操作系统 2.操作系统的任务:组织和管理计算机系统中的硬件和软件资源 向用户提供各种服务功能(一方面 向程序开发和设计人员提供高效的程序设计接口 二 向使用计算机系统的用户提供接口) 3.操作系统的特征 并发,共享,随机 4。操作系统的功能
进程管理 存储管理 文件管理 作业管理和设备管理,用户接口 5.操作系统的发展
1.手工制作2.早期批处理3.多道批处理4.分时系统 6.UNIX系统
C语言编写,多用户,多任务,分时操作系统 ,树形文件系统 7.个人计算机操作系统
20世纪70年代 微软MS DOS 单用户单任务 1984年 苹果操作系统
1992 微软 交互式操作系统WINDOWS 3.1 1995 window95
1991 linux遵循UNIX标准POSIX 继承UNIX全部优点 8.安卓系统 linux2.6内核 操作系统分类
1.按用户界面的使用环境和功能特征 批处理操作系统,分时操作系统,实时操作系统
随后的发展 多了 个人操作系统,网络操作系统,分布式操作系统,嵌入式操作系统
批处理操作系统:特点 成批处理。目标系统资源利用率高 作业吞吐率高(单位时间内计算机系统处理作业的个数)
缺点:不能直接与计算机交互 不适合调试程序 重点 1.1一般指令和特权指令 运行模式:用户模式,特权模式
为用户服务的用户模式称作为目态 为系统专用的特权模式称为管态
机器指令划分为 一般指令和特权指令 特权指令包括(输入输出指令,停机指令) 1.2 SPOOLing
多道程序的基本思想是在内存中同时保持多大作业,主机可以以交替方式同时处理多个作业 分时系统
设计思想:分时操作系统将CPU的时间划分为若干个小片段 称为时间片
特点: 多路性,交互性,独占性,及时性
分时系统追求的目标 是及时响应用户输入的交互命令,用来衡量系统及时响应的指标是响应时间,响应时间越短越好 实时系统
是使计算机能在规定的时间内及时响应外部事件的请求
主要目标 在严格时间范围内,对外部请求作出反应,系统具有高度可靠性
几个方面的能力 1实时时钟管理 2.过载防护 3.高可靠性 嵌入式操作系统
高可靠性,实时性,占有资源少,智能化能源管理。易于连接,低成本 个人计算机操作系统 单用户多任务
网络操作系统(NOS) 目标:相互通信及资源共享
两种模式:集中式,分布式 分布式操作系统
特征:是一个统一的操作系统 实现资源的深度共享 透明性 自治性
集群是分布式系统的一种
网络操作系统和分布式操作系统 主要不同在于:网络操作系统可以构架与不同的操作系统
网络操作系统不要求对网络资源透明的访问,对本地资源和异地资源访问区别对待
分布式操作系统强调单一操作系统对整个分布式系统的管理,调度 智能卡操作系统
指令集有ISO/IEC7816-4 提供的指令类型:数据管理类,通信控制类,安全控制类
四个基本功能: 资源管理,通信管理,安全管理,应用管理 智能卡硬件资源:CPU,存储部件,通信接口 操作系统结构
整体式结构 层次式结构 微内核(客户机/服务器,典型的WINDOWS NT)
操作系统第二章
处理器的构成: 运算器,控制器,一系列寄存器和高速缓存 运算器:实现任何指令中的算术和逻辑运算 控制器:负责控制程序的运行的流程
寄存器:指令在CPU内部作出处理的过程中的暂存数据,地址及指令信息的存储设备。在计算机的存储系统中具有最快的访问速度
高速缓存:位于CPU和物理内存之间,一般有内存管理单元管理,访问速度快于内存,低于寄存器
1.处理器中的寄存器:用户可见寄存器(数据寄存器,地址寄存器,条件码寄存器)
控制和状态寄存器(程序计数器PC,指令寄存器IR,程序状态字PSW)
大致分为5类 访问存储器指令,算术逻辑指令,I/0指令,控制转移指令,处理器控制指令 2.特权指令 非特权指令
特权指令:只能由操作系统使用的指令,包括启动某设备指令,设置时钟指令,控制中断屏蔽的某些指令,清主存指令,建立保护指令)
非特权指令:用户可以使用的 2.1处理器的状态:划分为管态和目态
管态一般指操作系统管理程序运行的状态,又称为特权态,系统态,
目态一般指用户程序运行时的状态,又称为普通态,用户态
目态->管态的转换 通过中断或者异常
管态->目态 通过PSW指令(修改程序状态字) 2.2程序状态字PSW 包括(CPU的工作状态代码,条件码,中断屏蔽码)
3存储体系 作业和程序只有存放在主存储器(又称内部存储器或者内存)中才能运行 3.1 存储器的层次结构
主要考虑的三个问题:容量,速度,成本
速度:寄存器,高速缓存,内存,硬盘存储器,磁带机/光盘存储器
3.2存储保护 界地址保护,存储键 4中断和异常
4.1中断:CPU对系统中或系统外发生的异步事件的响应 引起中断的事件:中断事件或中断源 中断向量表:程序状态字+指令计数器 中断技术解决了主机和外设并存工作的问题 作用:能充分发挥处理器的使用效率 提高系统的实时能力
4.2异常
是由正在执行的指令引发的 中断和异常的分类
典型的中断:时钟中断,输入输出中断,控制台,硬件故障; 典型的异常:程序性中断。访管指令异常 5中断系统
中断系统的组成:中断系统的硬件中断装置和软件中断处理程序 1.中断请求的接收2.中断响应 3.中断处理
中断信号的接收,响应和处理过程 简要的归纳为:接收和响应中断,保护中断断点现场,分析中断变量,调用中断处理程序,中断处理结束回复现场,继续执行 5.1几种典型的中断的处理
I/0中断,时钟中断,硬件故障中断,程序性中断,系统服务请求(访管指令)
5.2.中断优先级和中断屏蔽 多级中断与中断优先级 硬件决定了各个中断的优先级别
在同一中断优先级中多个设备接口中同时又中断请求时 :固定优先数,轮转法
5.3.中断屏蔽(可屏蔽和不可屏蔽) 机器故障中断不可屏蔽 6.系统调用
系统调用和一般过程调用区别
系统调用:调用程序在用户态,被调用程序在系统态 一般过程调用:在相同状态(核心或者用户态)
系统调用分类:进程控制类,文件操作类,进程通信类,设备管理类,信息维护类 7.I/O技术
I/O结构,通道,直接存储器存取(DMA),以及缓冲技术
通道:代替CPU对I/O操作的控制,从而使CPU和外设可以并行工作,所以称为I/O处理机
DMA技术自动控制成块数据在内存和I/O单元之间的传送 缓冲技术:数据暂存技术,设置一个缓冲区。
采用缓冲区的根本目的:CPU处理数据的能力与设备传输数据速度不相匹配,需要用缓冲区来缓解速度的矛盾。 8.时钟
一般分为 硬件时钟 软件时钟
用途分为 绝对时钟 相对时钟(又称间隔时钟)
操作系统第三章 进程线程模型
1多道程序的设计模型
采用多道程序的设计可以提高CPU的利用率 1.1程序的顺序执行
特点:顺序性,封闭性,程序执行结果的确定性,程序执行结果的可再现性
1.2多道程序设计 通常采用并行操作技术。 多道程序设计环境的特点
根本目的:提高整个操作系统的效率。
衡量系统效率的尺度:系统吞吐量 指在单位时间内系统所处理作业的道数。
多道程序的特点:独立性,随机性,资源共享性 1.3程序的并发执行
并发执行,指两个或两个以上的程序在计算机中同处于以开始执行且尚未结束的状态
并发程序在执行期间具有相互制约关系 程序与计算不在一一对应
并发程序执行结果不可再现(宏观上是同时进行的,但从微观上,在单个CPU中 仍然是顺序执行的) 1.4进程模型: 进程控制块的概念
从操作系统的角度:分为系统进程和用户进程(系统进程优先级高于用户进程)
进程和程序的联系和区别
联系:程序是构成进程的组成部分之一,从静态角度,进程是由程序,数据和进程控制块组成。
区别:程序是静态的,进程是动态的 进程的特性:
并发,动态(动态产生,动态消亡),独立(相对完整的资源分配单位),交往(相互作用),异步(相互独立 不可预知的前进)。 1.5进程的状态及状态转换 三状态:运行就绪 等待
就绪->运行 进程被调度的程序选中 运行->就绪 时间片用完 运行->等待 等待某事件发生 等待->就绪 等待的事件已经发生 五状态:
运行,就绪,阻塞,创建,结束
状态转换:创建进程,提交,调度运行,释放,超时,事件等待,事件出现。 七状态:
运行 阻塞,创建,结束,就绪挂起,阻塞挂起,就绪 新引入的状态(挂起和激活)
1.6进程控制块PCB 分为调度信息和现场信息
调度信息包括(进程名,进程号,存储信息,优先级,当前状态,资源清单,消息队列指针,进程队列指针,和当前打开文件) 现场信息(程序状态字,时钟,界地址) 进程的组成(程序,数据和进程控制块) FCB组织(线性方式,索引方式,链接方式) 进程的队列(就绪队列,等待,运行) 1.7进程控制
通过原语(由若干条指令所构成,用来实现某个特定的操作) 进程控制原语:创建进程,撤销进程,挂起进程,激活进程,阻塞进程,唤醒进程,以及改变进程优先级。
创建原语,撤销原语,阻塞原语,唤醒原语。 UNIX通过fork()函数创建子进程 1.8线程模型
更小的独立运行的基本单位-线程
引入线程 为了减少并发执行时所付出的时间和空间开销
进程拥有两个基本属性:是一个可拥有资源的独立单位,又是一个可以独立调度和分派的基本单位 1.8.1线程的基本概念
是进程中的一个实体,是CPU调度和分派的基本单位
一个线程可以创建和撤销另一个线程,同一个进程的多个线程之间可以并发执行
线程特性:每个线程有一个唯一的标识符合一张线程描述表。 不同的线程可以执行相同的程序。
同一个进程中的各个线程共享该进程的内存地址空间 线程是处理器的独立调度单位 多个线程可以并发执行 线程的好处:花费时间少创建的速度比进程块,系统开销少,两现成的切换花费时间少 能独立运行 线程和进程比较
线程又称为 轻量级进程 传统的进程称为重量级进程
调度:线程作为调度和分派的基本单位,吧进程作为资源拥有的基本单位。 并发性:
拥有资源:线程不拥有系统资源 系统开销:进程的开销远大于线程的开销 1.8.2线程的实现机制
第一种:用户级线程 不依赖于内核 LINUX 第二种:内核级线程 依赖内核 windows 第三种:混合实现方式 solaris 1.9进程(线程)调度
一般分为:高级调度(作业调度),中级调度,低级调度(进程(线程)调度)
进程(线性)调度即处理机调度 2.0调度算法的设计原则
2.0.1进程行为:当一个进程等外部设备完成工作而被阻塞的行为属于I/O
某些花费了绝大多数时间在计算上面的 称为计算密集型 在等待I/0花费了绝大多数的时间 称为I/0密集型 系统分类:通常分为 批处理 交互式 实时系统 2.1调度算法的设计目标
公平,系统策略的强制执行 另一个就是保持系统的所有部分尽可能忙碌
通常检查三个指标:吞吐量,周转时间,CPU利用率
周转时间:从一个批处理作业提交时刻开始直到改作业完成时刻为止统计的平均时间
2.2进程(线程)调度算法 先来先服务(非抢占式) 最短作业优先(非抢占式)
最短剩余时间优先(抢占式 SPTN)
轮转法(R-R)分成一个个时间片 影响时间片的因素(系统响应时间,就绪进程的数目,计算机的处理能力) 应该将时间片设为20-50ms 最高优先级算法
多级反馈队列算法(综合了先进先出,时间片,可抢占式)
最短进程优先 实时系统中的调度算法 1)速率单调调度算法(RMS) 2)最早最终时限优先调度(EDF)
第四单元 并发与同步
进程进程间的同步和互斥关系
进程同步是指多个进程中发生的事件存在某种时序关系,必须协同工作,相互配合,以共同的完成一个任务
进程互斥是指由于共享资源所要求的排他性,进程间要相互竞争,以使用这些互斥资源
进程互斥的解决方法:由竞争各方平等协商,二引入进程管理者 临界资源是指计算机系统中的需要互斥使用的硬件或软件资源 计算机中的资源共享的程度可分为三次:互斥,死锁,饥饿。 互斥 是指多个进程不能同时使用同一个资源。
死锁 是指避免多个进程互不相让,避免出现都得不到足够资源的情况 饥饿 避免某些进程一直得不到资源或得到资源的概率很小 临界资源访问过程分成:进入区,临界区,退出区,剩余区。 遵循的准则:空闲则入,忙泽等待,有限等待,让权等待 管程:
一个管程由 过程 变量 数据结构等组成的集合
一个管程由四个部分组成:管程名称,共享数据的说明,对数据进行操作的一组进程和对公共享数据赋初值的语句 管程三个主要特征:模块化 抽象数据类型 信息隐蔽
进程通信:解决进程之间的大量信息通信的问题:共享内存,消息机制,以及通过共享文件进行通信(管道通信) 都是高级通信原语。 共享内存:设有一个公共内存区
消息机制:消息缓冲通信(要用发送消息原语,接收消息原语) 信箱通信(可存信件数,已有信件数,可存信件的指针) 管道通信(UNIX 就是连接两个进程之间的一个打开的共享文件) 优点:传输数据量大 但通信速度慢
操作系统第五章 内存管理
1.计算机系统中的存储器分为两类:内存储器和外存储器,处理器可以直接访问内存 但不能直接访问外存。CPU通过启动相应的输入/输出设备后才能使外存和内存交换信息。
对于内存速度和容量的要求是:内存的直接存取速度尽量快到与CPU取指速度相匹配,其容量达到能装下当前运行的程序和数据
1.1存储管理的任务:存储器由内存和外存组成。内存空间由存储单元组成的一堆连续的地址空间,简称内存空间。 内存空间一般分为:系统区和用户区
1.2存储管理的主要任务:1.内存的分配和回收. 位示图法,空闲页面表,空闲块表
内存分配两种方式:静态分配(程序运行前)和动态分配(在目标模块装入时确定并分配的)。
2.存储共享:两个或多个进程共用内存中的相同区域。内容包括:代码共享和数据共享。
3.存储保护:为多个程序共享内存提供保障,使得内存的各程序只能访问其自己的区域,避免各程序间的相互干扰。 分为地址越界保护,和权限保护。 4.扩充内存容量:在逻辑上扩充了内存容量 2 地址转换:逻辑地址 从0开始 绝对地址就是物理地址。 分为地址重定位 把逻辑地址装换成绝对地址。
静态重定位 把程序的指令地址和数据地址全部转换程绝对地址。在程序执行前完成
动态重定位 直接把程序装入到分配的内存区域中,每当执行一条指令时都由硬件的地址转换机构将指令中的逻辑地址转换为绝对地址 由于地址转换是在程序执行时动态完成的故称为 动态重定位 3.内存管理方案:单一用户(连续区)管理,分区管理,页式管理,段式管理,段页式管理
4.分区存储管理方案:把内存划分为若干个连续区域,每个分区装入一个运行的程序。分区的方式归纳成 固定分区和可变分区。 固定分区,在程序运行时必须提供对内存资源的最大申请量。 可变分区:在装入程序时划分内存分区,可变分区有较大的灵活性,比固定分区有更好地内存利用率。
移动技术:解决碎片问题的办法是在适当的时刻进行碎片整理。移动技术可以集中分散的空闲区,提高内存的利用率,便于作业动态扩充内存。
缺点:移动技术会增加系统的开销,移动是有条件的。
4.1可变分区的实现:硬件设置两个专用的控制寄存器:基址寄存器(起始地址)和限长寄存器(存放长度)。
空闲分区的分配策略:最先适应算法,最优适应算法,最坏适应算法,下次适应算法。
分区的保护:系统设置界限寄存器,保护键方法
分区管理方案的优缺点:可变分区的内存利用率比固定分区高 缺点:内存使用仍不充分,并且存在较为严重的碎片问题,浪费处理机时间 覆盖技术和交换技术
覆盖技术和交换技术的主要区别是控制交换的方式不同,前者主要是在早期的系统中,而后者目前主要用于小型分时系统。
交换技术又称为对换技术:进程从内存移到磁盘并再移回内存称为交换。交换技术多用于分时系统中。
缺点:在交换时需要花费大量的CPU时间,影响对用户的响应时间。 页式存储管理方案
页式存储器使用的逻辑地址由两部分组成,页号和页内地址。 块号=字号*字长+位号 地址转换与块表
物理地址=内存块号*块长+页内地址
页表:多级页表,大多数操作系统采用二级页表, 散列页表 反置页表
快表(当要按给定的逻辑地址进行读写时,必须访问两次内存,第一次按页号读出页表中对应的块号,第二次按计算出来的绝对地址进行读写)
为了提高存取速度 采用两种方法:一种是在地址映射机制中增加一组高速寄存器保存页表,另一方法是在地址映射机制中增加一个小容量的联想存储器(相联存储器)
虚拟存储技术与虚拟页式存储管理方案的实现
虚拟存储技术:利用大容量的外存来扩充内存 简称虚存
虚拟存储技术同交换技术在原理上市类似的:交换技术是以进程为单位进行的,而虚拟存储一般是以页或段为单位
虚拟页式存储管理(页号,有效号,页框号,访问位,修改位,保护位,禁止缓存位)
缺页中断:要访问的页面不在内存中。
页面调度策略:调入策略(外存调入内存),置业策略和置换策略。 置换策略分为(固定分配局部置换,可变分配全局置换,可变分配局部置换) 页面置换算法:
刚被调出的页面又要立即要用,因而又要把他装入,频繁的调度,这种现象称为抖动或者颠簸
页面置换算法有:先进先出页面置换算法(fifo),最近最少使用页面算法(LRU),最近最不常使用页面置换算法(LFU),理想页面置换算法(OPT),最近未使用页面置换算法(NRU),第二次机会页面置换算法,时钟页面置换算法(clock)
缺页中断率:影响缺页中断率的因素:分配给程序的内存块数,页面的大小。程序编制方法,页面置换算法。 段式和段页式存储管理方案:
系统将内存空间动态分为若干个长度不同的区域,每个区域称作一个物理块,每个物理块在内存中有一个起始地址 称作段首止,从0开始编址。用户程序的逻辑地址由段号和段内地址组成。 自己细看***段式存储
操作系统第六单元 文件管理
文件:解释成为一组带有标识的,在逻辑意义有完整的意义的信息项的序列,这个标识为文件名,信息项是构成文件内容的基本单位。 文件系统的文件名:solaris的UFS 长度可达255个字符,
FAT12(MS-DOS 8个字符,外加句点和3个字符的拓展名,NTFS也可达到255个字符)
FAT12不区分大小写 EXT2区分大小写。FAT12只使用ACSII,MS-DOS和windows 2000/XP对不同的后缀有特定的解释。 文件系统:是操作系统中统一管理信息资源的一中软件。 文件系统还负责对文件的按名存取。
文件分类:按文件的用途:系统文件,库函数文件,用户文件 按文件组织形式 普通文件 目录文件 特殊文件
一些常见的文件分类格式:按文件的保护方式:只读文件,读写文件,可执行文件,无保护文件
信息流向 :输入,输出,输入输出 按存放时限 :临时,永久,档案文件 按文件的介质类型:磁盘文件,磁带文件,卡片文件,打印文件 组织结构:逻辑文件(流式文件和记录式文件) 物理结构(顺序文件,链接文件,索引文件)
UNIX类操作系统的文件分类:普通文件,目录文件,特殊文件 文件的结构
文件的逻辑结构:分为三类 无结构的字符流式文件,定长记录文件和不定长记录文件。
定长记录文件和不定长记录文件统称为记录式文件。 流式文件:是有序字符的集合,UNIX是流式文件结构。 记录式文件:是一组有序记录的集合。构成文件的基本单位是记录,记录式文件分为:定长记录文件和不定长记录文件
文件的物理结构:常见的文件的物理结构:顺序结构,链接结构,索引结构,I节点结构。
windows的FAT文件系统采用的是链接结构。 文件的存储介质:
文件在存储设备上的存取,顺序存取设备(磁带),随机存取设备(典型设备磁盘) 磁盘上每个物理块的位置可以用柱面号,磁头号,扇区号表示。
一次访问磁盘的时间由寻道时间,旋转定位时间,数据传输时间所组成。 文件的存取方式:顺序存取,随机存取(又称为直接存取)。UNIX系统采用了顺序存取和随机存取两种方法。
文件目录:文件系统的一个特点是按名存取,为了管理大量文件,为每个文件都设置了一个描述性数据结构-文件控制块(FCB),把所有文件的文件控制块有机组织起来,就构成了文件控制块的一个有序集合,称为文件目录。
目录文件:文件目录以文件的形式保持起来,这个文件就被称为目录文件。目录文件是长度固定的记录式文件。
文件目录结构
一般吧文件目录设计成一级目录,二级目录结构,多级目录结构。 二级目录分为两级:主文件目录,用户文件目录 缺点:增加了系统开销
树形目录:高层次为根目录,最底层为文件。
树形目录优点:便于分类,层次清楚,解决了文件重命名问题,查找搜索速度快。
一个UNIX系统的根目录由bin,etc,lib,tmp,usr 路径名:当前正在使用的目录:当前目录
有两种路径检索的方法:一种是全路径名(又称为绝对路径名),另一种是相对路径。
文件目录的改进:FCB分为符号目录项和基本目录项。
目录项分解法优点:减少了访问磁盘的次数,提高了文件目录检索速度。 存储空间的分配与回收 四种不同的方案
位示图,空闲块表,空闲块链表,成组链接 成组链接的管理方式比普通的链接方式效率高。 实现文件系统的表目 系统打开文件表 用户打开文件表
关系:用户打开文件表指向了系统打开文件表。 记录的成组与分解:大概看看 158页
文件的操作
建立文件:用户名,文件名,存取方式,存储设备类型,记录格式,记录长度。
建立文件的实质是建立文件的文件控制块FCB 文件的保护和安全 文件的共享
在多级目录中 链接法是常用的实现文件共享技术,矩形表示目录,圆圈表示文件
UNIX采用了别名的方式 文件的保护
建立副本,定时转储。规定文件的存取权限(采用树形目录结构,存取控制表) 文件的存取权限 1.存取控制矩阵 2.二级存取控制
3.UNIX中的文件存取权限(文件属主或文件拥有者(owner),文件属组的同组用户(group),其他用户(other)) 文件的保密
措施:1.隐蔽文件目录 2.设置口令 3.使用密码 文件系统的性能
物理基础是磁盘设备
常见的提高文件系统的技术:块高速缓存,磁盘空间的合理分配,对磁盘调度算法进行优化 磁盘的驱动调度:
磁盘的存取访问时间:寻道时间,旋转延迟时间,传输时间。 设计磁盘调度算法考虑的因素:公平性 高效性
1)移臂调度:根据访问者指定的柱面位置来决定执行的次序,目的在于减少操作中的寻找时间。
一般采用以下几种移臂调度算法:先来先服务(FCFS),最短寻道时间优先算法(SSTF),扫面算法(SCAN),循环扫描算法(S-SCAN) RAID技术:RAID0采用多个磁盘并行以提高读写速度,1用磁盘镜像的方法提高存储的可靠性,2和3以位或者字节作为并行单位,4的并行单位是块。
WINDOWS 的FAT和UNIX系统
FAT(file allocation table) 简单的目录结构,三个版本:FAT-12,-16,-32,FAT系统以簇为单位分配,
引导扇区,文件分配表,根目录(大小为32字节) UNIX文件系统 三级索引结构
操作系统第七单元 I/O设备管理
输入输出设备(I/O设备)也称为外部设备,狭义的I/O设备不包括外存设备,广义的就是上述所说
设备管理师操作系统总体性能的重要决定因素 重要表现指标和常见瓶颈之一。
设备管理的任务:CPU性能越高,I/O设备性能同CPU性能不匹配的反差也越大。操作系统通过缓冲技术,中断技术,虚拟技术解决这一问题。
设备的分类:按设备的使用特性分类:I/O设备和存储设备。 I/O设备室计算机与外部世界交换信息的设备。调制解调器和网络适配器也处于I/O设备。用于构建计算机网络通信系统。
存储设备是计算机用来存放信息的设备 如磁带,磁盘,光盘,U盘, 按设备的信息组织方式来划分:字符设备和块设备 键盘,终端,打印机等以字符为单位组织的和处理信息的设备为字符设备,而磁盘,磁带等以数据块为单位组织和处理信息的为块设备。
按设备的共享性分类:共享设备,独占设备,虚拟设备。磁盘是典型的共享设备,独占设备的使用效率低是造成死锁的条件之一,,为此引入了虚拟设备的概念,虚拟设备是指虚拟技术吧独占设备改造成可以由多个进程共享的设备,SPOOLING技术室非常重要的虚拟设备技术。 I/O硬件组成:
I/O端口地址主要有两种编止方式:内存映射编址和I/O独立编址。
I/O设备数据传送控制方式
程序直接控制方式,中断控制方式,DMA方式,通道控制方式。 程序直接控制方式:优点 CPU和外设的操作能通过状态信息得到同步 缺点是CPU效率较低。适用于那些CPU执行速度较慢,外围设备少的系统,如单片机。
中断控制方式:CPU与外设大部分时间内并行工作,具有实时响应能力,及时处理异常情况,提高计算机的可靠性。
DMA方式:直接内存访问,是一种完全由硬件执行I/O数据交换的工作方式,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和I/O设备之间进行。
DMA方式分为三个阶段:传送前预处理,数据传送,传送后处理。 通道控制方式:可以实现对外围设备的统一管理和外围设备与内存之间的数据传送,目的是为了进一步减少数据输入输出对整个系统运行效率的影响。
可分为三种通道:选择通道,数组多路通道,字节多路通道。 选择通道和数组多路通道都是以数据块为单位。 I/O软件的特点及结构 最关键目标:设备独立性
I/O软件一搬分为四层:中断处理程序,设备驱动程序,与设备无关的操作系统软件,用户级软件。
与设备无关的系统软件(统一命名,设备保护,提供与设备无关的逻辑块,缓冲,存储设备的块分配,独占设备的分配与释放,出错处理)
独占设备:SPOOLING系统是操作系统中处理独占设备的一种方法。 典型的I/O技术
缓冲技术和设备分配技术,SPOOLINH技术,DMA和通道技术 缓存技术是以空间换时间。
缓冲区的设置:缓冲区可以由硬件实现 称为硬缓冲 通常在(打印机中) 缓冲区也可以由软件实现: 通常采用单缓冲,双缓冲,多缓冲,缓冲池技术。
设备分配技术:设备分配算法的数据结构:系统设备表SDT,设备控制表DCT,控制器控制表COCT,通道控制表CHCT
设备分配的原则:考虑设备分配的特性和安全性,分为独占,共享,虚拟设备。 从安全方面 分为安全分配方式和不安全分配方式。 设备分配策略:先来先服务,高优先级优先,如果优先级相同则按照FIFO的顺序排列。
独占设备的分配。共享设备的分配,虚拟设备(SPOOLING).打印机是一种典型的独占设备。
I/O性能问题解决:通过应用缓冲技术,减少或缓解不同设备之间传输速度的差距,
通过应用异步I/O技术,使CPU计算不必等待I/O操作结果
通过DMA技术和通道部件。是CPU摆脱I/O操作,与这些部件并行执行。
通过应用虚拟设备技术,提高独占设备的利用率。
操作系统第八单元死锁
1.死锁:是指在多道程序系统中,一组进程中的每个进程均无限期的等待被该进程中的另一个进程所占有且永远不会释放的资源 死锁进程的个数至少为2个 活锁与饥饿
饥饿现象可以通过先来先服务策略来避免。
死锁产生的主要原因:竞争资源,多道程序运行时,进程推进顺序不合理。
死锁产生的原因分析:申请不同类资源产生死锁,申请同类资源产生死锁,P,V操作不当产生死锁,对临对性资源的使用不加限制而引起的死锁。
产生死锁的必要条件:互斥条件,不可剥夺条件,请求和保持条件,循环等待条件。
解决死锁的方法:预防死锁,避免死锁,检测死锁,解除死锁。 死锁预防:破坏死锁的四个必要条件之一, 破坏互斥条件:通过假脱机(spooling)
破坏不可剥夺条件:缺点增加了开销,延长了进程的周转时间,降低系统的吞吐量和性能
破坏请求和保持条件: 缺点 资源利用率低
破坏循环等待条件:按资源有序分配策略分配资源 破坏了循环等待条件
死锁避免:系统对进程发出的每一个系统能够满足的资源申请进行动态检查,并根据检查结果决定是否分配资源,如果分配后会产生死锁,就不予分配。
死锁预防和死锁避免的区别在于,死锁预防是设法破坏产生死锁的四个必要条件之一,而死锁避免是在系统运行过程中注意避免死锁的最终死锁的必要条件存在。 2.安全状态和不安全状态
所谓的安全状态是指,如果存在一个由系统中的所有进程构成的安全序列。。则系统处于安全状态。„
如果不存在任何一个安全序列,则系统处于不安全状态,不安全状态一定导致死锁,但不安全状态不一定是死锁状态。即系统处于不安全状态则可能发生死锁。
只要能使系统总是处于安全状态就可以避免死锁的发生。
最著名的死锁避免算法是dikkstra和habermann提出的银行家算法. 死锁的检测与解除。
检测死锁的实质是确定是否存在“循环等待”条件,
死锁解除:死锁解除的实质是如何让释放资源的进程能够继续运行,为解除死锁就要剥夺资源。
死锁解除法归纳为:剥夺资源,撤销进程, 资源分配图:刻画进程的资源分配的方法
在有向图中,用圆圈表示进程,方框表示每类资源。 死锁判定的法则:
如果资源分配图中没有环路,则系统没有死锁 如果资源分配图中出现了环路,则系统中可能存在死锁 环路是死锁的充分必要条件
因篇幅问题不能全部显示,请点此查看更多更全内容