计算机操作系统知识点归纳.doc
《计算机操作系统知识点归纳.doc》由会员分享,可在线阅读,更多相关《计算机操作系统知识点归纳.doc(31页珍藏版)》请在咨信网上搜索。
操作系统的目标:方便性,有效性,可扩充性,开放性 操作系统的作用:作为用户和计算机硬件系统之间的接口,作为计算机系统资源的管理者,实现了对计算机资源的抽象 单道批处理系统的缺点:系统的资源得不到充分的利用 多道批处理系统的优缺点:资源利用率高,系统吞吐量大,平均周转时间长,无交互能力 需要解决的问题:处理机争用问题,内存分配和保护问题,I/O设备分配问题,文件管理和组织问题,作业管理问题,用户与系统的接口问题 分时系统(满足人机交互的需求) 特征:多路性,独立性,及时性,交互性 及时响应 实时系统的特征:多路性,独立性,及时性,交互性,可靠性 实时 实时任务的类型:周期性实时任务和非周期性实时任务,硬实时任务和软实时任务 单用户多任务OS:一个用户,把程序分为若干任务并发执行 多用户多任务OS:多个用户,一台机器,共享资源 UNIX OS 操作系统的四大特性:并发,共享,虚拟,异步 并行与并发:并行是多个事件在同一时间发生,并发是多个事件在同一时间间隔内发生(进程的引入:多个程序并发执行,提高了系统资源利用率,增加了系统的吞吐量)。进程同步与互斥;进程间的通信;死锁问题 互斥共享:一段时间内只允许一个进程访问该资源 同时访问:宏观上是同时的,微观上进程对资源的访问是交替的 时分复用技术:虚拟机处理,虚拟设备 空分复用技术:对存储空间的管理,提高利用率 OS具备的功能: 1.处理机管理:进程控制,进程同步,进程通信,作业调度,进程调度 2.存储器管理: 内存分配(为每道程序分配内存,提高存储器利用率,允许正在运行的程序申请附加的内存) 内存分配方式:静态:不允许申请新的内存,不允许作业在内存中的移动 动态:上面说的都允许 内存保护:确保每道用户程序都仅在自己的内存空间内运行,决不允许用户程序访问操作系统的程序和数据 地址映射:逻辑地址和物理地址,硬件支持 内存扩充:逻辑上扩充内存容量(请求调入功能,置换功能) 3.设备管理 主要任务:完成用户进程提出的I/O请求,为用户进程分配所需要的I/O设备,并完成指定的操作 提高CPU和I/O设备的利用率 应具有缓冲管理,设备分配,设备处理和虚拟设备(spooling技术) 4.文件管理 文件存储空间的管理,目录管理,文件的读和写管理和保护 操作系统与用户之间的接口: 1.用户接口:联机用户接口,脱机用户接口,图形用户接口 2.程序接口:为用户程序在执行中访问系统资源设置的,是用户程序取得操作系统服务的唯一途径 模块接口法的优缺点 优点:提高OS设计的正确性、可理解性和可维护性 增强OS的可适应性 加速OS的开发过程 问题:对各模块间的接口规定很难满足在模块设计完成后对接口的实际需求 决定的无序性 分层式结构OS 在目标系统和逻辑系统之间铺设若干个参次的软件(自底向上) 优缺点:易保证系统的正确性,易扩充和易维护性 系统效率降低(执行一个功能要穿越多个层次) 客户/服务器模式 优点:数据的分布处理和存储,便于集中管理,灵活性和可扩充性,易于改编应用软件 微内核OS 并非一个完整的OS,有OS中最基本的部分,包含有:与硬件处理紧密相关的部分,一些较基本的功能,客户和服务器之间的通信 基于客户/服务器模式 应用“机制与策略分离”原理 基本功能:进程管理,低级存储器管理, 中断和陷入处理 优点:提高系统的可扩展性,增强系统的可靠性,可移植性强,提供了对分布式系统的支持,融入了面向对象技术 程序在顺序执行时的三个特征:顺序性,封闭性,可再现性 程序在并发执行时的三个特征:间断性,失去封闭性,不可再现性 进程的定义:进程时程序的一次执行,是一个程序及其数据在处理机上顺序执行时所发生的活动,是具有独立功能的程序在一个数据集合上运行的进程,他是系统进行资源分配和调度的一个独立单位 进程的特征:动态性,并发性,独立性,异步性 进程的三种基本状态:就绪(Ready)状态,执行(Running)状态,阻塞(Block)状态 创建状态:如果进程所需的资源不能得到满足,进程不能被调度,此时为创建状态 终止状态:自然结束,被其他有终止权的进程终结,出现无法克服的错误,被操作系统终结 挂起操作的引入:终端用户的需要,父进程请求,负荷调节的需要,操作系统需要 引入挂起操作之后三个进程可能会有以下几种状态转化:活动就绪->静止就绪,活动阻塞->静止阻塞,静止就绪->活动就绪,静止阻塞->活动阻塞 进程信息表(资源信息表)包含了资源或进程的标识,描述,状态等信息以及一批指针 OS管理的这些数据结构一般分为:内存表,设备表,文件表和用于进程管理的进程表(进程控制块 PCB) 进程控制块(PCB)的作用 作为独立运行基本单位的标志,能实现间断性运行方式,提供进程管理所需要的信息,提供进程调度所需要的信息,实现与其他进程的同步与通信 进程控制块包含的信息: 1.进程标识符(外部标识符,内部标识符) 2.处理机状态 3.进程调度信息 (进程状态,优先级,进程调度所需的其他信息,事件(进程状态发生改变的事件,如阻塞原因)) 4.进程控制信息(程序和数据的地址,进程同步和通信机制,资源清单,链接指针(下一个PCB的首地址)) PCB的组织方式 1.线性方式 线性表 2.链接方式 队列 3.索引方式 索引表 进程控制 创建进程,终止已完成的进程,将无法继续运行的进程置于阻塞状态,运行进程的状态转换。 内核原语实现 操作系统内核 1.支撑功能:中断处理,时钟管理,原语操作 2.资源管理功能:进程管理,存储器管理,设备管理 进程的创建 进程的层次结构 允许父进程创建子进程 进程图 有向树 引起创建进程的事件 用户登录,作业调度,提供服务,应用请求 进程的终止过程 1.根据被终止进程的标识符,从PCB中检索出改进程的PCB,从中读出该进程的状态 2.若被终止进程正处于执行状态,应立即终止改进程的执行,并置调度标志为真 3.如果有子孙进程,子孙进程也终止 4.将终止进程所拥有的全部资源归还给父进程或系统 5.将终止进程从所在队列或链表中移除 引起进程阻塞或被唤醒的事件: 1.向系统请求共享资源失败 2.等待某种操作的完成 3.新数据尚未到达 4.等待新任务的到达 阻塞是进程自身的一种主动行为 进程通过阻塞原语block将自己阻塞 进程唤醒 调用唤醒原语wakeup 把被阻塞的进程从等待该事件的阻塞队列中移除,状态变为就绪,把PCB插到就绪队列中 临界资源 打印机,磁带机。进程间采用互斥方式 临界区 每个进程访问临界资源的那段代码 同步机制应遵循的规则:空闲让进,忙则等待,有限等待,让权等待 实现互斥的三种方法: 1.关中断:在进入锁测试之前关闭中断,直到完成锁测试并上锁之后才能打开中断。 缺点:关中断时间过长,影响系统效率,限制处理器交叉执行程序的能力 关中断方法不适用于多CPU系统 2.硬件指令 测试并建立指令 TS 3.对换指令 信号量机制 1.整型信号量:资源数目的整型量S:只能通过两个原子操作:P、V操作 2.记录型信号量:一种不存在的忙等机制 增加一个进程链表指针list,链接上述所有的等待进程 3.and型信号量:将进程在整个运行过程中需要的所有资源,一次性全部给进程,使用完后一起释放。只要有一个资源未能分配给进程,其他的也不会给进程。(要么全给,要么不给) 4.信号量集:上述信号量 每次只能对某类临界资源进行一个单位的申请或释放,当一次需要N个单位时,便要进行N次wait操作,这样不仅低效,而且会增加死锁概率。为确保安全性,设置一个下限值,当所申请的系统资源低于下限值时,不予以分配。 信号量的应用: 1.实现互斥:设置一个互斥信号量mutex,设其初值为1,然后将各进程访问该资源的临界区CS置于wait和signal之间。 wait(mutex); 临界区; signal(mutex); 剩余区; 2.利用信号量实现前趋关系: P1 S1 ; signal(s). P2 wait(s); S2 管程机制 管程:用少量的信息和对资源的操作来表征该资源(管程的名称,局部于管程的共享数据结构说明,对该数据结构进行操作的一组过程,对局部于管程的共享数据设置初始值的语句) 利用管程实现同步,必须设置同步工具,如同步操作原语wait和signal 生产者-消费者问题 1.利用记录型信号量empty和full分别表所缓冲池中空缓冲区和满缓冲区的数量。缓冲池未满,生产者便将消息送入缓冲池,缓冲池未空,便从其中取走一个消息 2.利用AND信号量Swait(empty,mutex)代替wait(empty)和wait(mutex)等 3.利用管程。 首先建立一个管程,其中包括两个过程put(x)生产者把自己生产的东西投入到缓冲池中,并用cnt记录产品数量,get(x)取产品,同理。还有cwait/csignal(condition)。管程给占用时,其他进程相调用就阻塞。 哲学家进餐问题 1.记录型信号量 筷子是临界资源,一个信号量表示一个筷子,组成一个信号量组,初始值为1 2.AND型信号量 要求每个哲学家先获得两个临界资源后方能进餐 读者-写者问题 1.记录型信号量 互斥信号量Wmutex 整型变量Readcount表示正在读的进程数目。只要有一个在读,便不允许writer去写。 2.利用信号量集 允许L个读者同时读,执行wait(L,1,1)表示有一个读者进入,L=L-1 进程通信(进程间的信息交换) 1.共享存储器系统,相互通信的进程共享某些数据结构或共享存储区 2.管道通信系统,所谓管道是指用于连接一个读进程和一个写进程以实现它们之间通信的一个共享文件,又名pipe文件。以字符流形式送入管道,又从管道中读取,首创于UNIX 需要有三个协调能力 互斥:一个在用,另一个等待 同步:写进程把数据送入管道后就去睡觉,别人取走后再醒来工作。读进程想来取数据发现是空的也要去睡觉,有数据后再醒来取。 确定对方是否存在:确认对方存在后才能进行通信 3.消息传递系统(高级通信方式):以格式化的消息为单位,将通信数据封装在消息中。 4.客户机-服务器系统 套接字 网络通信接口 远程过程调用 消息传递通信的实现方式 1.直接消息传递系统 发送进程利用OS所提供的发送命令(原语)直接把消息发给目标进程 对称寻址方式 send(P1,message) receive(P1,message) 非对称寻址方式 send(P,message) receive(id,message) 单机系统环境一般采用定长消息格式,以减少对信息的处理和存储开销 变长消息,方便用户 进程在消息的发送和接受后存在两种可能性:继续发送/接收货阻塞 为使发送进程和接收进程间能通信,在两者之间建立一条通信链路。两种方式(自建后消除,系统建) 2.信箱通信 信箱定义为一种数据结构,由信箱头和信箱体构成 系统为信箱提供的原语:信箱的创建和撤销,消息的发送和接收 由操作系统或用户创建 信箱分为私有,公有,共享信箱 消息缓冲对列通信机制 数据结构:消息缓冲区,PCB中有关通信的数据项 发送进程在发送消息之前要把待发送的消息正文,发送进程标识符,消息长度填入发送区。发送原语根据长度申请一缓冲区,把发送区的信息复制到缓冲区,然后挂在消息队列上。接收进程从自己的队列中摘下缓冲区,复制。 线程(调度和分派的基本单位)(进程是爸爸,线程是儿子们) 区别:进程和线程的区别:(a)不同进程的地址空间是独立的,而同一进程内的线程共享同一地址空间。(b) 在引入线程的操作系统中,进程是资源分配和调度的单位,线程是处理机调度和分配的单位,资源是分配给进程的,线程只拥有很少资源,因而切换代价比进程切换低。 引入线程是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性 线程的三种状态同进程 线程控制块TCB 多线程OS中的进程具有以下属性 1.进程是一个可拥有资源的基本单位 2.多个线程并发执行 3.进程已不是可执行的实体,线程才是调度和分派的基本单位 开个QQ,开了一个进程;开了迅雷,开了一个进程。在QQ的这个进程里,传输文字开一个线程、传输语音开了一个线程、弹出对话框又开了一个线程。所以运行某个软件,相当于开了一个进程。 内核支持线程KST 优点:1.在多处理器系统中,内核可以同时调度一个进程中的多个线程并执行 2.如果进程中的一个线程阻塞,内核可以调度该进程中的其他线程占有处理器或运行其他进程的线程 3.内核支持线程具有很小的数据结构和堆栈,线程切换快,切换开销小 4.内核本身也可以采用多线程技术,可以提高系统执行速度和效率 用户级线程ULT 用户空间实现,无需内核支持 优点:1.线程切换不需要转换到内核空间 2.调度算法可以是进程专用的 3.用户级线程的实现与OS平台无关,所有的应用程序都可以共享 缺点:1.系统调用的阻塞问题 2.进程中只有一个线程可以执行 内核支持线程的实现:系统创建一个新进程时,便为它分配一个任务数据区PTDA,其中包括若干个线程控制块空间 用户级线程的实现: 1.运行时系统:管理和控制线程函数的集合。所有函数都驻留在用户空间,并作为用户级线程与内核之间的接口 2.内核控制线程(轻型进程LWP):用户级线程运行时 只需将它连接到一个LWP上,LWP可通过系统调用来获得内核提供的服务 线程的创建和终止 应用程序在启动时,初始化线程在执行,主要功能用于创建新线程 创建新线程时,需要一个线程创建函数或系统调用,并提供相应的参数。创建完后返回一个线程标识符。 终止线程通过调用相应的函数进行终止操作。有些线程(主要是系统线程),一旦被建立起来后,便一直运行下去不被终止。在大多数的OS中,线程被终止并不立即释放所占有的资源,只有当进程中的其他线程执行了分离函数,资源才分离 调度的实质是一种资源分配。 处理机调度的三个层次(高级调度,中级调度,低级调度) 处理机调度算法的共同目标 1. 资源利用率。 2. 公平性。所有进程都获得合理的CPU时间,不会出现饥饿现象。 3. 平衡性。为使系统中的CPU和各种外部设备都能经常处于忙碌状态,要保持系统资源使用的平衡性。 4. 策略强制执行。即使造成某些工作的延迟也要执行 批处理系统的目标 1. 平均周转时间短。周转时间和平均周转时间都要短 周转时间=作业完成时间−作业提交时间 带权周转时间=周转时间/服务时间 2. 系统吞吐量高。单位时间内系统所完成的作业数 与批处理作业的平均长度有关。比如单纯为了提高系统吞吐量,就选短作业运行 3. 处理器利用率高。 分时系统的目标 响应时间快 均衡性 实时系统的目标 截止时间的保证 可预测性 在多道批处理系统中,作业被输入设备输入到磁盘存储器中,并保存在一个后背作业队列中,再由作业调度程序将其从外存调入内存。 作业 运行的三种状态收容状态,运行状态,完成状态,(后备状态) 作业步(Job Step) 作业控制块(JCB) 作业在系统中存在的标志,包含:作业标识,用户名称,用户账号,作业类型(CPU繁忙型,I/O繁忙型,批量型,终端型),作业状态,调度信息(优先级,作业运行时间),资源需求(预计运行时间,要求内存大小),资源使用情况 作业调度的主要任务:根据JCB中的信息,检查系统中的资源是否满足作业对资源的需求,以及按照一定的调度算法,从外存的后备队列中选取某些作业调入内存,并为他们创建进程,分配必要的资源,然后将新创建的进程安排在就绪队列上等待调度。 每次执行作业调度时的两个决定:接纳多少作业和接纳哪些作业 先来先服务(FCFS)调度算法 按照作业到达的先后次序或在队列中等待时间最长的作业。调入内存,分配资源和创建进程,放到就绪队列中。 短作业优先调度算法 作业越短优先级越高 作业的长短是以作业所要求的运行时间来衡量的 缺点: 必须预知作业的运行时间 对长作业非常不利,长作业的周转时间会明显增加 采用SJF算法时,人机无法实现交互 未考虑作业的紧迫程度 优先级调度算法 基于作业的紧迫程度,从外部赋予作业的优先级。 高响应比优先调度算法 优先级又相当于响应比 进程调度的任务:保护处理机的现场信息,按照某种算法选取进程,把处理器分配给进程 进程调度机制:排队器(将进程插入到相应队列),分派器(根据调度程序选择进程,从就绪队列取出,把处理机分配给新选出的进程),上下文切换器 进程调度方式 1. 非抢占方式 一旦把处理机分配给某进程后,不会因为时间中断或任何其他原因去抢占当前正在运行进程的处理机,直到进程完成,或发生某事件而阻塞时,才把处理机分配给其他进程。 2. 抢占方式 根据某种原则暂停正在执行的进程。现代OS广泛采用抢占方式,因为抢占方式可以防止一个长进程长时间占用处理机。分时系统中只有采用抢占方式才能实现人机交互。实时系统中,抢占方式能满足实时任务的需求,但抢占方式比较复杂,所需付出的系统开销比较大。 轮转调度算法(RR算法) 系统将所有就绪的进程按FCFS的策略排成一个就绪队列。系统设置每隔一定时间便产生一次中断,去激活进程调度程序进行调度,把CPU分配给队首进程,并令其执行一个时间片,运行完毕后,把处理机给就绪队列中的新的队首进程,也执行一个时间片。 若一个时间片尚未用完,正在运行的进程已经完成,立即激活调度程序,把它从就绪队列中删除,再调度就绪队列中队首的进程运行。若时间片用完,进程还没完,则先把它送到队列末尾。 优先级调度算法 把处理机分给就绪队列中优先级最高的进程 非抢占式优先级调度算法 抢占式优先级调度算法 优先级的类型 静态优先级 创建进程时确定 保持不变 确定优先级大小的依据:进程类型,进程对资源的需求,用户要求 动态优先级 随进程的推进或等待时间的增加而改变 多级反馈队列调度算法 1.设置多个就绪队列 2.每个队列都采用先来先服务算法。若进程在一个时间片没有完成,调度程序将其转入第二队列的末尾等待,如果再未完成,以此类推。如果被降到最后一个队列,则最后一个队列采用的是RR方式运行 3.按队列优先调度 即第一队列的优先级大于第二队列等 当1~i-1的队列为空式,才会调度i 队列中的进程。如果中途有优先级更高的队列里有进程,此时会立即把运行的进程放到i 队列末尾,把处理机分配给刚来的。 如果规定好第一个时间片略大于大多数人机交互所需处理的时间,便能满足终端型用户,长、短批处理作业用户 保证调度算法 没有优先级 如保证每个进程都获得相同的处理机时间 公平分享调度算法 分配给每个进程相同的处理机时间 实时调度 1. 基本条件:提供就绪时间,开始截止时间或完成截止时间,处理时间,资源要求,优先级 2. 系统处理能力强 假设有m个周期性任务,他们的处理时间为Ci,周期时间表为Pi,必须满足i=1mCiPi≤1 提高处理能力:一是采用单处理机系统,但必须增强其处理能力,以显著的减少每一个任务的处理时间。二是采用多处理机系统,则i=1mCiPi≤N即可。 3. 采用抢占式调度 4. 具有快速切换机制 面对中断的快速响应能力 禁止中断的时间间隔短 快速的任务分派能力 系统中的每个运行功能单位要小 根据实时任务性质,分为硬、软实时调度算法 根据调度方式,分为非抢占调度算法(****轮转调度算法,****优先调度算法)和抢占调度算法(基于时钟中断的,立即抢占的) 最早截止时间优先EDF 最低松弛度优先LLF 优先级倒置 高优先级被低优先级进程延迟或阻塞 解决方法:规定一个进程进入临界区后,处理机不允许被抢占 死锁 在一组进程发生死锁的情况下,这组死锁进程的每一个进程都在等待另一个死锁进程所占有的资源 引起死锁主要是采用互斥访问方法,不能被抢占的资源 可重用性资源 每一个可重用性资源中的单元只能分配给一个进程使用 进程使用顺序:请求资源(失败会被阻塞或循环等待),使用资源,释放资源 系统中每一类可重用性资源中的单元数目是相对固定的,进程在运行期间不能创建也不能删除它。 可消耗性资源 临时性资源 由进程动态地创建和消耗 可抢占性资源 顾名思义 不可抢占性资源 不能强行收回,只能进程用完后自行释放 竞争不可抢占性资源引起死锁 数量不够 竞争可消耗资源引起死锁 通信时的死锁 进程推进顺序不当引起死锁 两个持有资源的并发进程想相互访问 产生死锁的必要条件 互斥条件 请求和保持条件 不可抢占条件 循环等待条件 处理死锁 1.预防死锁 破坏必要条件中的一个或几个 互斥条件不能破坏 只能破坏后面的 (1)破坏请求和保持条件 系统保证做到一个进程在请求资源时他不能持有不可抢占资源 第一种协议:所有进程在运行开始前必须一次性申请全部资源 第二张协议:只获得初期所需的资源,后面逐步释放,然后再请求 (2)破坏不可抢占条件 当一个已经保持了某些不可被抢占资源的进程,提出新的资源请求而不能满足时,必须释放已经保持的所有资源,以后需要再申请。 (3)破坏等待条件 对所有资源类型进行线性排序,并赋予不同的序号 3. 避免死锁 在资源动态分配过程中,防止系统进入不安全状态 安全状态 系统不会死锁 不安全 系统可能会死锁 4. 死锁检测算法 保持资源的请求和分配信息 根据死锁定理消去资源分配图中的所有边 即无死锁 5. 死锁的解除 从一个进程或多个进程抢占资源给死锁进程 终止所有死锁进程 逐个终止进程 付出代价最小的死锁解除算法 存储器的多层结构 最高为CPU存储器 中间为主存 最底层为辅存 主存(内存、可执行存储器) 保存进程运行时的程序和数据 辅存的高速缓存 寄存器 与处理机速度相同 高速缓存 介于寄存器和存储器之间 减少CPU对主存的访问次数 磁盘缓存 并不实际存在 缓和磁盘和主存速度上的不匹配 用户程序变成可执行程序:编译 链接 装入 程序的装入 1. 绝对装入方式:用户程序经编译产生绝对地址(物理地址) 适合系统小 只能运行单道程序 2. 可重定位装入方式 相对于起始地址 不允许移动 多道程序 3. 动态运行时装入方式 同上面的但是可以移动 程序的链接 1. 静态链接 2. 装入时动态链接 边装入边链接 在装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找出相应的外部目标模块,并将它装入内存。 优点是便于修改和更新、便于实现对目标模块的共享。 3. 运行时动态链接 将可能要运行到的模块全部装入内存,并在装入时全部链接在一起。比如错误处理用的目标 连续分配存储器管理方式 1. 单一连续分配 在用户去内存中,仅装有一道用户程序,即整个内存的用户空间由该程序独占。 2. 固定分区分配 分区大小相等 大小不等 按大小排序 分区记录表记录分区使用情况 3. 动态分区分配 分区空闲表 分区空闲链 动态分区分配算法 分区分配操作 系统从空闲分区表找到所需要大小的分区 回收内存 当回收区与插入点的前一个空闲分区F1相连接,将回收区与F1合并,修改F1的大小,地址为F1 若与后一个,也合并,改回收区大小,地址为回收区 若与插入区前后两个空闲分区相连,合并三个,取前一个为首地址 若谁都不相连,为回收区建立一个新的表项 基于顺序搜索的动态分区分配算法 1. 首次适应算法 FF 要求空闲分区链以地址递增的次序链接,内存分配时,按顺序查找,找到第一个满足的就分配 这个方法最有可能使得高地址空间成为大的空闲区 2. 循环首次适应算法 NF。从上次找到的空闲分区开始找 为了避免低地址有很多空闲分区 3. 最佳适应算法 BF 按容量从小到大形成分区链 4. 最坏适应算法 WF 挑最大的空闲分区 从中分割一部分给作业使用 基于索引搜索的动态分区分配算法 1.快速适应算法 分类搜索法 将具有相同容量的空闲分区合到一起 并建立空闲分区链表 2.伙伴系统 3.哈希算法 类似1 动态可重定位分区分配 1. 紧凑 一个系统或用户程序必须被装入一片连续的内存空间中 2. 动态重定位 重定位寄存器 程序在执行时真正访问的内存地址是相对地址与重定位寄存器中的地址相加 3. 动态重定位分区分配算法 如果找不到一个足够大的分区,会把小的拼起来 对换的引入 进程的阻塞占用大量内存 迫使cpu等待 对换即将一定数量的程序或数据换入或换出内存 根据每次所对换的数量 分为整体对换和页面分段对换 在具有对换功能的OS中,通常把磁盘空间分为文件区和对换区 为了实现对换区的管理,空闲分区表 对换区的首地址和大小 盘块号和盘块数 对换区的分配算法与动态分区的分配雷同 进程的换出:选择被换出的进程 进程换出过程 进程的换入:对换进程将定时执行换入操作,先看PCB中所有进程状态,选择就绪但已换出的进程,如果有多个,选换出到磁盘上时间最久的那个为他申请内存,如果成功,调入,涂过失败,先把内存中的某些进程换出,腾出足够空间再调入 分页存储管理的基本方法 1. 页面和物理块 页面和物理块的大小一样 设有8页的逻辑空间,每页有1024B,被影射到32块的物理内存中,那么逻辑地址的有效位是__物理地址至少是__ 2的三次方和2的十次方 13。 2的5次方和2的十次方 15 2. 地址结构 0-11 位移量 12-31 页号=[地址/页面大小] 页内地址=[地址]MOD 页面大小 3. 页表(在内存中) 允许进程的各个页离散地存在内存中 为了进程正常运行,系统为每个进程建立了一张页面映像表 地址变换机构。 基本的就是硬件实现,页表采用一组专门的寄存器,一页用一个。先从内存中找到逻辑地址,再找到对应的物理地址取出数据需要2t的时间 快表的话就是直接得到逻辑页所对应的物理块号 分段存储管理方式 方便编程,信息共享 信息保护 动态增长 动态链接 1. 分段 作业的地址空间被划分为若干个段。段号+段内地址 如主程序段,子程序段等 2.段表 3.地址变换机构 段表始址和段表长度TL 进行变换时 若S>TL 越界 产生中断信号 若未越界,得到段表项的位置 读出该段在内存中的起始地址d 如果d>TL 越界 未越界则d+基址未物理地址 分页和分段的主要区别:页是信息的物理单位,页的大小固定且由系统决定,分页的用户程序地址空间是一维的 段页式存储管理方式 地址结构段号+段内页号+页内地址 用户所感到的内存容量比实际内存容量大的多 传统存储器的特征:一次性 驻留性 虚拟存储器的特征:多次性 对换性 虚拟性 实现方法 分页请求系统 请求分页的页表机制 :将用户地址空间中的逻辑地址映射为内存空间中的物理地址。 缺页中断机构 :在指令执行期间产生和处理中断信号 一条指令在执行期间可能产生多次缺页中断 地址变换机构 实现请求分页软件 请求分页内存分配 固定分配:平均分配 按比例分配(根据进程的大小按比例分配物理块)考虑优先权的分配算法 页面调入:预调页策略 请求调页策略 从何处调入页面 :系统拥有足够的对换区间,这时可以全部从对换区调入所需页面 系统缺少足够的对换区间 这时凡事不会被修改的文件会直接从文件区调入 页面调入过程:每当程序所要访问的页面未再内存时 便发出缺页中断 中断处理程序保留CPU环境 分析原因后转入缺页中断处理程序 缺页率:访问页面成功次数为S,失败次数为F,总次数A=S+F 缺页率f=F/A 假设被置换的页面被修改的概率为p,缺页中断处理时为ta,被置换页面没有被修改的缺页中断时间为tb,则t=p*ta+(1-p)*tb 页面置换算法 1. 最佳置换算法 选择被淘汰的页面时以后不使用或长时间内不再被访问的。无法实现 2. 先进先出 淘汰最先进入内存的 不太好用有些页面老是被访问,如全局变量,常用函数 3. 最近最久未使用算法LRU。配置移位寄存器R=Rn-1Rn-2Rn-3…R2R1R0 当进程访问时,将相应的R变为1,定时信号将每隔一定时间将寄存器右移一位 或用栈 每当进程访问某页面时,将该页面的页号从栈中移出,将它压入栈顶。栈顶始终是最新被访问的编号,栈底则是最近最久未使用的页面号 4. 最少使用置换算法LFU 移位寄存器记录页面被访问的频率,选择最少使用的淘汰 5. Clock置换算法:首先调出的页是在最近一段时间内未被访问的页面。在将一个页面换出时,如果该页已被修改过,重新写回磁盘,未被则不必 还需考虑置换代价 页面缓冲算法PBA 特点:显著降低了页面换进换出的频率,磁盘IO操作次数大大减少,正是因为开销减少才能使用先进先出置换算法 实现 空闲页面链表 修改页面链表 影响页面换进换出效率的因素:页面置换算法,写回磁盘的频率,读入内存的频率 抖动与工作集 出现抖动的原因是因为系统中的进程太多,分配给进程的物理块太少,不能满足进程的需求,频繁出现缺页。 每个进程大部分时间在页面换进换出,而没有做任何有效工作,导致处理机的利用率下降并趋于0 进程发生缺页率的时间间隔与获得的物理块数有关 所谓工作集是指某段时间间隔内,进程实际需要访问页面的集合。用进程过去某段时间内的行为作为程序在将来某段时间内行为的近似。 抖动的预防方法:如果采用的是可变分配,则为了防止抖动可以采用局部置换 把工作集融入到处理机调度中,当调度程序发现处理机利用率低下时,他将试图从外存中调入一个新作业进入内存 利用L=S准则调节缺页率 L是缺页之间的平均时间 S是缺页平均服务时间 如果L远大于S,说明很少发生缺页,磁盘的能力尚未得到充分利用。反之频繁发生缺页 只有接近时才是磁盘和处理机最大利用率 另外系统可以减少多道程序的数目来防止抖动 请求分段存储管理方式 分段保护:越界检查、存取控制检查、环保护机构 IO系统管理的主要对象是IO设备和设备控制器 主要任务 完成用户提出的IO请求,提高IO速率和设备利用率,让处理机和IO设备并行操作 对设备的控制方式:采用轮询的可编程IO方式,采用中断的可编程IO方式,直接存储器访问方式,IO通道方式 独占设备 打印机等 共享设备 磁盘 错误处理 临时性错误 重试操作纠正 持久错误 向上层报告 IO软件组织四个层次 IO系统本身可分为如下三层:中断处理程序,设备驱动程序,设备独立性软件 IO系统与高层之间的接口 块设备接口 将抽象命令映射为底层操作 流设备接口 反映大部分字符设备的本质特征,用于控制字符设备的输入或输出 网络通信接口 提供面向网络接口 IO设备 设备并不是直接与CPU进行通信,而是与设备控制器通信,所以它们之间有接口(三种类型信号线):数据信号线,控制信号线,状态信号线 设备控制器基本功能:接受和识别命令,数据交换,标识和报告设备的状态,地址识别,数据缓冲区,差错控制 设备控制器的组成:与处理机的接口(利用特定的IO指令),与设备的接口,IO逻辑 内存映象IO:都采用k,当k值处于0-n-1范围时,是内存地址,如果k>n,便认为是某个寄存器地址 IO通道 减轻CPU负担 通道类型:字节多路通道,按字节交叉方式每一个子通道连接一个设备 按时间片轮转方式共享主通道。不适用连接高速设备。 数组选择通道 按数组方式进行数据传送的数组选择通道,每次只允许一个设备传输数据 数组多路通道:结合上述两者的优点 分时并行操作 通道价格贵 用量少 对多中断元的处理方式:屏蔽中断 嵌套中断 当一个进程请求IO操作,该进程将被挂起,直到IO设备完成IO操作后,设备控制器便向CPU发送一个中断请求,CPU响应后便转向中断处理程序,中断处理程序执行相应的处理,处理完后解除阻塞状态- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 知识点 归纳
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文