操作系统学习笔记
2022年10月备考的笔记,一年过去了,下个月又是自考了,各位加油啊啊。我已经过了啦。
操作系统是计算机系统的一个系统软件,它是这样一些程序模块的集合;他们能有效地组织和管理计算机系统的硬件和软件资源,合理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便、有效地使用计算机,并使用整个计算机系统能够高效地运行。
- 进程管理(处理器管理)。进程管理包括进程控制、进程同步、进程间通信和调度等。
- 存储管理。具体包括内存的分配与回收、存储保护和内存扩充三项存储管理功能。
- 文件管理。文件管理的任务是有效地支持文件的存储、检索和修改等操作,解决文件的共享、保密和保护问题,以使用户方便、安全地访问文件。
- 设备管理。
- 用户接口。
除此之外,操作系统还具备中断处理、错误处理等功能。操作系统的各功能之间并非完全独立的,他们之间存在着相互依赖的关系。
- 功能设计。指的是根据系统的设计目标和使用要求,确定所设计的操作系统应具备哪些功能以及操作系统的类型。
- 算法设计。指的是根据计算机的性能和操作系统的功能,来选择和设计满足系统功能的算法和策略,并分析和估算其效能。
- 结构设计。指的是根据系统的功能和特性要求,选择合适的结构,使用相应结构设计方法将系统逐步分解、抽象和综合,使操作系统结构清晰、简明、可靠、易读、易修改、而且使用方便,适用性强。
组成软件的各部分划分的原则以及它们之间的关系,即软件构成法则和组合方法。
- 访问存储器指令,它们负责处理器和存储器之间的数据传送。
- I/O指令,它们负责处理器与I/O模块之间的数据传送和命令发送。
- 算术逻辑指令,有时又称为数据处理指令,用于执行有关数据的算术和逻辑操作。
- 控制转移指令,这种指令可以指定一个新的指令的执行起点。
- 处理器控制指令,这种指令用于修改处理器状态,改变处理器工作方式等。
- 当多个程序共享有限的内存资源时,要考虑如何为多个程序分配有限的内存空间;
- 存储在内存中的多个程序和数据应该彼此隔离,互不侵扰;
- 解决内存扩充的问题,即将内存和外存结合起来管理,为用户提供一个容量比实际内存大得多的虚拟存储器。
- 处理器每次从存储器读取一条指令,并在取指令完成后,根据指令类别自动将程序计数器的值变成下一条指令的地址,通常是自增1;
- 取到的指令被存储在处理器的指令寄存器,处理器于是解释并执行这条指令。一个这样的单条指令处理过程称为一个指令周期。程序的执行就是不断取指和执行指令的指令周期组成的,仅当机器关机,发生某些未知的错误或者遇到停机相关的指令时,指令才会停止。
- 处理器接受中断信号;
- 保护现场,将中断断点的程序状态字PSW和程序计数器PC值存入系统堆栈;
- 分析中断向量,取得中断处理程序的入口地址;
- 将处理器的PC值置为中断处理程序的入口地址;
- 调用中断处理程序。
- 对于多个中断进行处理的第一个策略是,正当处理一个中断时,禁止其他中断,此时系统将对任何新发生的中断置之不理。在这期间发生的中断将保持挂起的状态,当处理器再次允许中断时,这个新的中断会被处理器检测到,并做出处理;
- 对于多个中断进行处理第二个策略是,中断嵌套。即中断按照优先度分级,允许优先级较高的中断打断优先级较低的中断处理过程,于是引起中断处理的嵌套。
- 程序是静止的,而进程是动态的;
- 进程是程序的一个执行过程。程序的存在是永久的,而进程是为了程序的一次执行而暂时存在的。进程有生命周期,有诞生,亦有消亡;
- 一个进程可以包括若干个程序的执行,而一个程序亦可以产生多个进程;
- 进程具有创建其他进程的功能。被创建的进程称为子进程,而创建者称为父进程,从而构成了进程家族。
- 正在执行的进程运行完毕;
- 正在执行的进程由于某种错误而终止;
- 时间片用完,即有一个进程从运行状态变成就绪状态;
- 正在执行的进程调用阻塞原语将自己阻塞起来,即一个线程由运行状态进入阻塞状态;
- 创建一个进程。即有一个新的进程进入到就绪队列;
- 正在执行的进程调用唤醒原语操作激活了等待资源进程,即一个等待状态的进程变为就绪状态;
- 当临界资源为空时,若有一个进程要求进入临界资源区,应允许它立即进入临界区——有空让进;
- 若有一个进程已在临界区,其他要求进入临界区的进程必须等待——无空等待;
- 当没有进程在临界区,而多个进程同时要求进入临界区,只能让其中一个进入临界区,其他进程必须等待——多中选一;
- 任一进程进入临界区的要求应在有限时间满足——有限等待;
- 处于等待状态的进程应放弃占有处理器——让权等待。
临界资源,正在被使用的时候,其他请求该资源的程序必须等待,并且在该资源被使用完毕后才由操作系统根据一定的策略在选择一个用户程序占有该资源。
- 死锁预防是设法至少破坏产生死锁的四个必要条件之一,严格地防止死锁的出现;
- 而死锁避免则不那么严格地限制产生死锁的必要条件的存在,因为即使死锁的必要条件存在,也不一定会发生死锁,死锁避免是在系统运行过程中注意避免死锁的最终发生。
- 在资源分配图中,找出一个既非等待又非孤立的进程节点Pi,由于Pi可获得它所需要的全部资源,且运行完后释放它所占有的全部资源,故可在资源分配图中消去Pi所有的申请边和分配边,使之成为既无申请边又无分配边的孤立节点;
- 将Pi所释放的资源分配给申请他们的进程,即在资源分配图中将这些进程对资源的申请边改为分配边;
- 重复前面两个步骤,直到找不到符合条件的进程节点。
- 调入策略:虚拟存储器的调入策略决定了什么时候将一个页由外存调入内存中;
- 置页策略:当线程产生缺页时,内存管理器还必须确定将调入的虚拟页放在物理内存的何处,用于确定最佳位置的一组规则称为“置页策略”;
- 置换策略:如果缺页发生时物理内存已满,“置换策略”被用于确定哪一个虚页面必须从内存移出为新的页面腾出空位。
- 统一管理文件的存储空间,实施存储空间的分配与回收;
- 实现文件从名字空间到外存地址空间的映射。即实现文件的按名存取,以对用户透明的方式管理名字空间;
- 实现文件信息的共享,并提供文件的保护和保密措施;
- 向用户提供一个对文件方便使用的接口(提供对文件系统的操作命令,以及提供对文件的操作命令;信息的存取,加工等)
- 系统维护及时向用户提供有关信息;
- 保持文件系统的执行效率。文件系统在操作系统接口中的比例最大,用户使用操作系统的感觉在很大程度上取决于对文件系统的使用效果;
- 提供与I/O的统一接口。
优:层次结构清晰,便于管理和保护,解决了重名问题,查找速度加快。
缺:查找一个文件按路径名逐级查找检查,由于每一个文件都存储在外存,多次访盘会影响速度,结构相对比较复杂。
- 审定用户的存取权限;
- 比较用户权限的本次存取要求是否和用户的存取权限一致;
- 将用户的存取要求和被访问文件的存取控制表进行比较,看是否有冲突。如果没有冲突,允许用户对有关文件进行访问;如果有冲突,处理冲突。
- 按设备的使用特性分类,I/O设备可分为输入设备、输出设备、交互式设备、存储设备等;
- 若以系统信息组织方式来划分设备,可把I/O设备划分为字符设备和块设备;
- 按设备使用可共享性分类,可分为独占设备、共享设备和虚拟设备等。
- 接收处理器的指令,按指令要求与指定的外围设备进行通信;
- 从内存读取属于该通道的指令,并执行通道程序,向设备控制器和设备发出各种指令;
- 组织外围设备和内存之间进行数据传送,并根据需要提供数据缓存空间,以及提供数据存入内存的地址和传送的数据量;
- 从外围设备到设备状态信息,形成并保存通道本身的状态信息,根据要求将这些状态信息送到内存执行单元,供处理器使用。
- 将外围设备的中断请求和通道本身的中断请求,按序及时报告处理器。
按用户界面的使用环境和功能特征的不同:批处理系统、分时系统、实时系统
批处理操作系统的基本工作方式:用户将作业交给系统操作员,系统操作员收到作业后并不马上执行,而是在收到一定数量的作业后,组成一批作业,再把这批作业输入到计算机中。这批作业可在系统中形成一个连续的、自动转接的作业流。系统操作员然后启动操作系统,系统自动、依次执行每一个作业,最后由系统操作员将执行完毕的作业结果交给用户。
分时操作系统中,一台计算机主机连接了若干终端,每个终端可由一个用户使用,用户通过终端交互地向系统提出命令请求,系统接受用户的命令之后,采用时间片轮转方式处理服务请求,并通过交互式在终端上向用户显示结果。用户根据系统返回的处理结果发出下一道交互命令。
能使用户通过与计算机相连的终端来使用计算机系统,允许多个用户同时与计算机系统进行一系列交互。
分布式操作系统是网络操作系统的更高级形式,分布式操作系统除了保持网络操作系统的各种功能之外,还具有以下的特征:
能实现把一个计算问题分成若干个子计算,每个子计算可以在计算机网络中的各个计算机上并行执行
- 在多道程序运行的环境中,时钟可以为系统发现一个陷入死循环(由编程错误引起)的作业,从而防止机时的浪费;
- 在分时操作系统中,由时钟间隔来实现各个作业按时间片轮转方式运行;
- 在实时系统中,按要求的时间间隔输出正确的时间信息给相关的实时控制设备;
- 定时唤醒要求按照事先给定时间执行的各个外部事件(如定时为各线程计算优先级,银行系统定时运行某类结账程序等。)
- 记录用户使用各种设备的时间和记录外部事件发生的时间间隔;
- 记录用户和系统所需要的绝对时间,即年、月、日。
计算机系统中常使用通道以及直接存储器存取(DMA)等I/O技术。
- 通道独立于中央处理器,它代替处理器对外部设备实行统一的管理,从而使处理器和外部设备并行工作,提高多道程序处理的效率;
- DMA技术由DMA控制器自动控制成块数据在内存与I/O单元之间的传送,提高了处理I/O的效能;
- 缓冲技术是用以缓解处理器处理数据速度与设备控制数据速度不能匹配矛盾的一种数据暂存技术。
进程控制块(PCB)的内容可以分为调度信息和现场信息两大部分。
- 调度信息供进程调度时使用,描述了进程当前所处的状况,它包括进程名、进程号、地址空间信息、优先级、当前状态资源清单、“家族”关系、消息队列指针、进程队列指针和当前打开的文件等;
- 现场信息刻画了进程的运行状况,由于每个进程都有自己专用的工作存储区,其他进程运行时不会改变它的内容,所以,PCB中的线程信息只记录那些可能会被其他进程改变的寄存器。如程序状态字、时钟、界地址寄存器等。一旦中断进程的运行,必须把中断时刻的上述内容记入进程控制的现场信息。
用于进程控制的原语一般有:创建进程、撤销进程、挂起进程、激活进程、阻塞进程、唤醒进程 以及 改变进程的优先级等。(7个)
采用信号量及P、V同步机制来编写并发程序,对于共享变量和信号量变量的操作将被分散与各个进程中,其缺点如下:
- 检查参数的合法性。文件名是否符合命名规范,若是则进行下一步;否则报错返回;
- 检查同一目录下有无重名文件。若没有则进行下一步;否则报错返回;
- 在目录中有无空闲位置。若有则进行下一步;否则不成功返回。有的系统可能要为此申请数据块空间(申请一部分或一次性全部申请);
- 填写目录项内容。包括文件名、用户名、存取权限、长度置空,首地址等;
- 返回
二级目录解决了文件的重名问题,可以实现用户间的文件共享,查找时间也降低了,
二级目录的缺点是增加系统的开销。
假脱机(SPOOLing)技术的全称是“同时的外部设备联机操作”。
这种技术的基本思想是用磁盘设备作为主机的直接输入输出设备,主机直接从磁盘上选取作业运行,作业的执行结果也存储在磁盘上;相应地,通道则负责将用户作业从卡片上动态写入磁盘,而这一操作与主机并行。类似的操作也用于打印输出用户作业运行结果。
- 模块间转接随便,各模块互相牵连,独立性差,结构不清晰;
- 数据基本上做为全程量处理,系统内所有模块的任一程序均可对其进行存取和修改,从而造成了各模块间有着更为隐蔽的关系,要更新一个模块或修改一个模块都比较困难,因为要弄清个模块间的接口。按当初设计时随意约定的格式来给消息,这是一件相当复杂的事;
- 由于模块组合结构常以大型表格为中心,为保证数据完整性,往往采用全局中断办法,从而限制了系统的并发性。系统中实际存在的并发也未能抽出明确的概念缺乏规格的描述方法。所以这种结构的可适应性比较差。
- 由陷入指令自带参数,一般来说,一条陷入指令的长度总是有限的,而且该指令还要携带一个系统调用的功能号,从而,陷入指令只能携带有限的几个参数进入系统内部。
- 通过有关寄存器来传递参数,显然,这些寄存器应是系统程序和用户都能访问的。
- 在内存中开辟专用堆栈区来传递参数。
UNIX类操作系统通常采用第二种方法,即通过通用寄存器传递参数。
- 创建一个新线程花费时间少(结束亦如此)。创建线程不需要另外分配资源,因而创建线程的速度比创建进程的速度快,且系统开销也少。
- 线程之间的切换花费也小。
- 由于同一进程内的线程共享内存和文件,所以线程之间相互通信不须调用内核,故不需要额外通信机制,使通信更简单,信息传送速度也快。
- 线程能独立执行,能充分利用和发挥处理器与外部设备并行工作的能力。
- 处理器通过数据总线发出命令,启动外设工作,当前线路阻塞,调度程序调度其他进程。
- 外设数据准备好,置位中断请求触发器。
- 若此时接口中断屏蔽触发器状态为非屏蔽状态,则接口向触发器发出中断请求(IR)。
- 处理器接受中断请求,且中断为允许中断状态,则中断判优电路工作。
- 中断判优电路对优先级最高的中断请求给予响应(INTA),处理器中断正在执行的其他进程,转而执行中断服务程序。
- 程序的并发执行的特点:
- 程序的并行执行与并发执行存在区别:
- 程序的并行是指不论是从宏观的时间周期上,还是从微观上看,若干程序确实是在同时执行。
- 而程序的并发执行,如果在单处理器系统中,他们在宏观上同时执行的,但是在微观上,这些程序仍然是顺序执行的。【并发 单 顺序】
程序顺序执行具有顺序性和封闭性两个基本特性。由此可确定其执行结果具有确定性和可再现性。
- 记录系统中所有线程的执行状况;
- 根据一定的调度算法,从就绪队列中选出一个进程,准备把处理器分配给它;
- 把处理器分配给进程。即把选中的进程的进程控制块内的现场信息,如程序状态字、通用寄存器等内容送入处理器相应的寄存器中,从而让它占用处理器运行。
- CPU的工作状态码——指当前处理器的工作状态是管态还是目态。用来说明当前处理器上执行的操作系统还是一般用户。从而决定其是否可以使用特权指令或拥有其他特殊权利。
- 条件码——反映指令执行后的结果特征。
- 中断屏蔽码——指出是否允许中断。
- 一个能够被多个用户同时调用的程序称作是“可再入”的程序;
- 可再入程序必须“纯”代码的程序,程序在执行中不会修改自身的代码。换句话说,可再入程序必须和有关的数据区分离。
- 可再入程序的操作对象,即数据,是与程序相分离的,要求调用者提供专用工作区,以保证程序以同样方式用各用户服务。
- 现代操作系统及编译程序都是属于可再入程序,它们能同时被多个用户调用而形成不同的进程
- 可抢占式方式。即就绪队列中有优先级高于当前运行进程优先级的进程存在时,便立即进行调度,转让处理器。
- 不可抢占式。即一旦把处理器分配给一个进程,它就一直占用处理器,直到该进程自己因调度原语操作或等待I/O而进入阻塞状态,或因时间片用完才让出处理器,重新执行进行调度。
- 基本思想:进程按照他们请求处理器的顺序使用处理器。
- 实现方法:当第一个进程从外部进入系统,就立即开始并允许运行它所期望的运行时间。不会中断该进程,因为它需要很长的运行时间。当其他进程进入时,就被安排到队列的尾部。当正在运行的进程被阻塞时,队列中的第一个进程就接着运行。在被阻塞的进程变为就绪时,就像一个进来到的进程一样,排到队列的尾部。
- 优点:易于理解并且便于在程序中运用。在这个算法中,一个单链表记录了所有的就绪进程。要选一个进程运行,只要从该队列的头部移走一个进程即可;要添加一个新进程或阻塞一个进程,只要把该进程或进程附加到相应队列的末尾即可。
- 缺点:在处理长进程之后的短进程需要等待很长的时间,不利于用户的交互体验。
- 基本思路:运行时可以预知的非抢占式的批处理调度,进程调度时总是选择已到达的进程中最短的进行运行。
- 实现方法:当第一个进程从外部进入系统,就立即开始并允许运行它所期望的运行时间。不会中断该进程,因为它需要很长的运行时间。当进程由于自身原因让出处理器时,从已到达的进程中选择一个最短预计运行时间的进程运行。
- 优点:降低了平均等待时间
- 缺点:偏好短进程,长进程可能永远得不到运行(饥饿状态)。
- 基本思想:最短剩余时间优先调度算法,是最短进程优先算法的抢占式版本,进程调度时总是选择其剩余运行时间最短的那个进程运行。
- 实现方法:每当一个新进程到达时,把新进程的预计时间与当前进程的剩余运行时间进行比较,如果新进程的预计运行时间比较长,则当前进程继续执行,否则当前进程挂起,而新进程运行。
- 基本思路:综合考虑作业/进程的等待时间和要求服务时间
- 实现方法:每次调度时先计算各个作业/进程的响应比,选择响应比最高的作业/进程为其服务
- 优点:综合考虑了等待时间和运行时间(要求服务时间)。等待时间相同时,要求服务时间短的优先(SJF的优点);要求服务时间相同时,等待时间长的优先(FCFS的优点);对于长作业来说,随着等待时间越来越久,其响应比也会越来越大,从而避免了长作业饥饿的问题。
- 缺点:计算需要消耗系统的资源,存在一定的系统开销
在可变分区管理中,把空闲区按地址递增的顺序排列登记在空闲区表中,分配时总是顺序查找该表,找到第一个能满足作业长度要求的空闲区,分配其中一部分给作业使用。
在可变分区管理中,把空闲区按长度以递增顺序排列登记到空闲块表中,分配时从最小的一个空闲区开始查找,当找到第一个能满足作业要求的空闲区时,分割一部分给作业使用。
在可变分区管理中,把空闲区按长度以递减顺序排列登记到空闲块表中,分配时从最大的一个空闲区开始查找,当找到第一个能满足作业要求的空闲区时,分割一部分给作业使用。
- 最著名死锁避免算法是由Dijkstra等人提出来的银行家算法。
- 操作系统按照银行家的规定为进程分配资源,进程首先提出对资源的最大需求量,
- 当进程在执行中每次申请资源时,系统测试该进程已占用的资源与本次申请的资源数之和是否超过该进程对资源的最大需求量。
- 若超过则拒绝分配资源,若没有超过,则系统再测试系统现存的资源能否满足该进程尚需的最大资源数,能满足则按当前申请量分配资源,否则也要推迟分配。
- 这样做,能保证在任何时刻至少有一个进程可以得到所需要的全部资源而执行结束,执行结束后归还资源加入到系统的剩余资源中,这些资源又至少可以满足另一个进程的最大需求,于是,可以保证系统中所有进程都能在有限时间内得到需要的全部资源。
- 中断控制方式是在数据缓冲寄存器满之后发出中断要求CPU进行中断处理的,而DMA控制方式是等所有传输的数据块全部传送结束后要求CPU进行中断处理。
- 中断控制方式的数据传送是由CPU控制完成的,而DMA控制方式是在DMA控制器的控制下完成的。
- 计算机硬件系统:中央处理器、主存储器、辅助存储器、各种输入/输出设备
- 系统启动时,中央处理器的初态是管态
- 在多道程序环境下,任何时刻CPU只可以被一个程序占用
- 访管指令是非特权指令
- 当处理器执行到访管指令时将产生一次中断
- 在多道程序设计的系统中,为了保证主存中各道程序互不侵扰应采用的措施是进行 存储保护
- 访管中断 是 自愿性中断
- 在页式虚存系统中,基于程序执行的局部性理论的页面调度算法是:最近最久未使用调度算法(LRU)
一个良好的计算机程序常常具有良好的局部性,也就是说,他们倾向于引用邻近于其他最近引用过的数据项的数据项,或者最近引用过的数据项本身。
- 时间局部性:指如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行;如果某数据被访问,则不久之后该数据可能再次被访问。强调指令或数据的重复访问。利用时间局部性,缓存在现代系统中扮演着重要的角色,如数据缓存、磁盘缓存、文件缓存等,极大提高了数据的重复访问。
- 空间局部性:指一旦程序访问了某个存储单元,则不久之后,其附近的存储单元也将被访问。强调连续空间数据的访问,一般顺序访问每个元素(步长为1)时具有最好的空间局部性,步长越大,空间局部性越差。
- 简述UNIX三类文件:普通文件、目录文件、设备文件
- 用相对路径描述文件路径名的起始目录是:当前目录
- 与通道程序的运行有关的概念是:通道命令、通道地址字、通道状态字
- 操作系统使用设备分配表管理独占设备。通常,设备分配表由设备类表和设备表组成。其中,设备表的基本内容:绝对号、好/坏、已/未分配、占用作业名、相对号
- 进程间采用信箱方式进行通信时,任何进程调用send原语时应提供参数:信箱名和信件
- 若系统中涉及相同变量X的相关临界区有n个,那么在保证系统安全的前提下每次允许进入相关临界区的进程数为1
- 能防止系统出现死锁的方式是对资源采用静态分配
- 系统有某类资源9个部件,供4个进程共享。为了保证系统安全,限定每个进程最多申请的资源数是3(9/4+1)个。
- 设计实时操作系统时,首先考虑的不是系统资源使用效率,而是系统的:实时性、可靠性
- 进程控制块应包含的信息类型:标识信息、说明信息、现场信息、管理信息
- 关于UNIX页面调度:
- 当进程访问一个有效位为0的页面时,产生一个缺页中断
- 一个正在与外设交换信息的页面时不能被替换的
- 被调出的页如修改过,则应先写回磁盘
- 系统页面守护进程的作用,是保证有足够的空闲物理页可供使用
- 页面调度采用什么调度算法?多级反馈队列调度算法
约定一次只能申请一个部件,当信号量值变化范围是【-n,m】,则信号量的初值是m,最多有n个进程在等待使用共享资源,当前可能有(m+n)个进程调用了P操作,正在使用共享资源的进程可能最多有m(0-m)个
- 批处理操作系统按照用户预先写好的作业说明书控制作业的执行,实现了计算机操作的自动化。
- 从资源管理的观点看,操作系统的功能分处理器管理(进程管理)、存储管理、文件管理、和设备管理
- UNIX中,0号进程在核心态运行,称为交换进程。1号进程在用户态运行,称为初始化进程。2号进程(页面守护进程)
- 在页式虚拟存储管理中,利用高速缓冲存储器存放页表的一部分称为快表,对快表的访问方式是并行查找。
- 文件的存取方式有两种,他们 是 顺序存取和 随机存取。
- 通道命令是由若干部分组成的,他们是 命名码、数据主存地址、标志码、传送字节个数
- 死锁的出现是与资源分配策略和进程并发执行速度有关。
- 一个操作系统采用两种工作状态(管态和目态),简述从该系统启动后,选择某用户程序执行,在执行过程中发生了一次中断事件及其中断处理后继续运行为止,中央处理器工作状态变化过程。
- 一个缓冲区被分配用于读写时,该缓冲区就移入相应设备的设备缓冲区队列;
- 当缓冲区的信息传送到用户空间(读)或用户信息写到了缓冲区且设置了DELWR标记后,该缓冲区也插入到了空闲队列;
- 分配空闲缓冲区时,若第一个缓冲区有DELWR标记,需要先把该缓冲区的信息写回磁盘,暂时不能分配;
- 分配空闲缓冲区时,若该缓冲区既在空闲缓冲区队列,又在设备缓冲区队列,则需要同时退出两个队列,再链入新的设备缓冲区队列。
- 和进程一样,每个线程有唯一的标识
- 和进程一样,不同线程可执行相同的程序
- 和进程一样,多个线程可交替占用处理器
- 和进程一样,每个线程具有从创建到终止的生命周期
- 和进程一样,线程也可以并发执行,并经历状态变化
- 依次满足线程C A B / C B A;
- 因系统已分配了9个资源,只剩下一个资源;
- 若先满足进程C的请求,则进程C就获得了所需的全部资源,执行结束后就可归还资源3个,进程C归还的3个资源可分配给进程A或者B,这样每个进程就都能在有限时间内执行结束。
- 计算机硬件系统中存放可被CPU直接访问程序及其数据的是:主存储器
- 操作系统、编译系统 属于系统软件
- 每当一个“中断”事件发生后,会暂停原来程序的执行,把CPU的控制权转移给 中断服务程序
- 简述存储保护
- 在多道程序设计系统中,要保证在主存储器中的各道程序互不侵犯,应采用存储保护
- “程序状态字寄存器内容”信息属于进程控制块的现场信息
- 在多道程序系统中,能降低作业平均周转时间的是 计算时间短的作业优先算法
- 分页式存储器把主存分成大小相等的若干块,作业的信息也按块的大小分页,作业装入主存时可把作业的信息按页分散存放在主存的空闲块中,为了说明主存中哪些块已经被占用,哪些块是尚未分配的空闲块,可用一张位示图来指出。位示图可由若干存储单元来构成,其中每一位与一个物理块对应,用0/1表示对应块为空闲/已占用。
- 当要装入一个作业时,根据作业对主存的需要量,先查当前空闲块数是否能满足作业要求,若不能满足则输出分配不成功。若能满足,则查位示图,找出为“0”的一些位,置上占用标志“1”,从“当前空闲块数”中减去本次占用块数。根据分配给作业的块号,为作业建立一张页表。
- 计算块号公式:字号*块大小+位号 【字号就是行的下标,位号就是列的下标】
- 当一个作业执行结束,归还主存时,根据该作业的页表可以知道应归还的块号,由块号可计算出在位示图中的对应位置,把对应位的占用标志清成“0”,表示对应的块已成为空闲块。归还的块数加入到当前空闲块数中。由块号计算在位示图中的位置的公式如下:
即页内地址是二进制的12位(4k=4096bit=2^12)
案例一:某虚拟存储器的用户编程空间共64个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:
则逻辑地址0A5C(H)所对应的物理地址是什么?要求:写出主要计算过程。
用户编程空间共64个页面,2ˆ6=64 得知页号部分占6位,由“每页为1KB”,1K=2^10,可知内页地址占10位。
逻辑地址0A5C(H)所对应的二进制表示形式是:0000101001011100,
后十位1001011100是页内地址,0 000010为页号,页号化为十进制是2,
在对照表中找到2对应的物理块号是9,9转换二进制是1 0 01,即可求出物理地址为10 011001011100,化成十六进制为265C;
案例二:某计算机系统页面大小为4K,若进程的页面变换表如下所示,逻辑地址为十六进制1D16H。该地址经过变换后,其物理地址应为十六进制( )。(2014年上半年)
页式存储中的逻辑地址与物理地址之间的变换需要掌握变换的规则。
从构成可以看出逻辑地址与物理地址的页内地址是一样的,不同的是逻辑页号与物理块号。而这两者的关系,正是通过题目已给出的表来进行映射的。如逻辑页号1就对应着物理块号3。所以题目告诉我们“逻辑地址为十六进制1D16H”时,我们先要把逻辑地址中的页号与页内地址分离。通过什么条件分离呢?题目中的“计算机系统页面大小为4K”,从这句话可以看出,页内地址是二进制的12位(4K=2^12)。二进制?12位对应十六进制3位。所以D16是页内地址。页号也就是1了。通过页表查询到物理块号:3。所以物理地址是:3D16。
https://blog.csdn.net/lisheng19870305/article/details/114952515
- 简述UNIX操作系统采用多级索引结构,规定每个文件的索引等级项有13个
- 文件系统中,打开文件系统的功能调用的基本操作是:把文件目录信息从辅存读到主存
- 通道在执行通道程序时,把通道和设备的执行情况随时记录下来并存放到通道状态字
- 在操作系统中,利用缓冲技术的主要目的是:缓解处理器与设备间工作速度的不匹配
- 系统中有n个并发进程涉及某个相同变量X,那么涉及变量X的相关临界区的个数是n个
- 为了防止系统死锁的发生,操作系统中采用的正确措施是:破坏产生死锁的四个必要条件之一
- 某系统中仅有4个并发进程竞争某类资源,并都需要该资源3个单位。如要使这个系统不会发生死锁,那么该资源的单位个数至少有9个【4*(3-1)+1)】
- 设计实时操作系统时首先要考虑的不是系统的效率,而是系统的实时性和可靠性
- 属于“强迫性中断事件”的有:主存读写发生校验错误、程序性中断、输入\输出中断、外部中断
- 简述UNIX存储管理
- 设计正在读文件F的读者进程计数器rc,初值为0
- 设计一个互斥信号量mutex,对访问读者进程计数器进行互斥控制
- 设计一个互斥信号量S,通过P(S);Write file F;V(S)实现写者之间互斥
- 当一个读者要进入读文件F时,rc+1;if rc=1 then P(S);实现读者与写者互斥
- 操作系统是一种管理计算机系统资源(或软硬件资源)、控制程序执行、改善人机界面和为其他软件提供支持的系统软件。
- 现代计算机系统都采用多级存储体系,它包括寄存器、主存储器、高速缓冲存储器、辅助存储器
- UNIX系统中,当进程执行用户程序时,在用户态运行,当发生中断事件或请求系统调用时就要执行系统程序,因为转入核心态运行。
- 页式存储管理方法在地址转换时,先由相对地址中的页号查页表,得到该页对应的主存块号,再计算绝对地址,其绝对地址公式是:绝对地址=块号*块长+页内地址
- 文件存取方式采用随机存取还是顺序存取,主要取决于两个方面的因素:取决于用户使用文件的方式,与文件所使用的介质有关
- 外围设备从共享角度可分成两大类,即独占设备和可共享设备。
- 如果资源分配图中有环路,且每个资源类中只有一个资源,则环路中的进程处于死锁状态。
- 简述操作系统为用户提供的使用接口的种类
- 简述设一移动头磁盘系统,共有200个柱面,编号为0—199。有若干个请求等待服务,它们依次要访问的柱面号为55、58、39、18、90、160、150、38、184,磁头向柱面号增加的方向移动,当前正停在100号柱面上。求在下列移臂调度算法下的服务顺序和磁头移过的总柱面数。
用短除法。每次除以16,把余数从下到上拼起来,就得到了16进制的数。
ff bf 是二进制的几?答:1111 1111 1011 1111
只需切成4个4个的小段,把每段对应的字母/数字拼在一起,就可以了。
比如这个例子,11 1111 1011 1111 是几?答:3f bf
只需把 n 除以4,得到 j 余 i。把 i 变成2的i次方做为第一位,其余的就是,j 是几就跟几个零。
其实和十进制一模一样,只需记住,进一位是进16,借一位是借16就行了。
- IBM公司在他们的PC机、工作站和大型机商都配置的UNIX操作系统被称为AIX
- 现代计算机系统的层次结构中,最内层的是硬件系统,最外层的是使用计算机系统的人,介于它们之间的是软件系统。软件系统的层次结构从内到外依次是:系统软件、支撑软件、应用软件
- 简述当操作系统退出执行,让用户程序执行时,处理器工作状态会从管态转换为目态
- UNIX用于终止子进程执行的系统调用是 exit
- 进程在执行过程中其状态会不断发生变化,这种特性称为进程的 动态性
- 程序状态字PSW的“程序基本状态”信息包括:指令地址、条件码、目态/管态
- 简述均衡调度算法 TODO
- 根据作业对资源的要求,作业调度从各类作业中去挑选作业,尽可能让使用不同资源的作业同时执行。
在采用动态重定位方式地址转换时,绝对地址=校对地址+基址寄存器值
用户对文件中的信息不再划分可独立的单位,构成文件的单位就是字符,整个文件就是一串有开头和结尾的连续字符。
- 操作系统中采用斯普林(SPOOLING)技术的目的是实现虚拟设备
- 采用缓冲池技术提高了系统的工作效率,主要原因是减少了对磁盘的访问次数
- 有交互的并发进程执行时可能出现与时间有关的错误,其根本原因是由于进程交叉使用了共享资源
- 有n个进程竞争共享资源,系统允许每次最多m个进程同时使用该资源(n>m)。用PV操作管理时,相应信号量可能出现的最大值是m
- 银行家算法用于解决死锁的避免
- 假定系统有某类资源14个单位供若干进程共享,若每个进程申请该类资源的数量不超过4个单位,为保证不发生死锁应限定共享该类资源的进程数最多为4个【14/4+1】
- create 创建目录
- delete 删除目录
- opendir 打开目录
- closedir 关闭目录
- readdir 返回打开目录的下一目录项
- rename 目录换名
- link 链接技术允许多个目录中出现同一文件
- 把相对地址转换成绝对地址的工作称为地址重定位
- 静态重定位是指在装入作业时,就把相对地址全部转换成绝对地址
- 动态重定位是指在执行指令时把相对地址转换成绝对地址
- 页式存储管理、可变分区管理采用动态重定位方式
- 基本操作系统是指分时操作系统、实时操作系统和批处理操作系统。
- 进程的撤销是指当一个进程完成了特定的任务后,操作系统收回这个进程所占的工作区和取消该进程的进程控制块(PCB)。
- UNIX的虚拟地址是32位,其中最高两位(第31和30位)表示访问的是哪个区段,第29~9位表示页号(或虚拟页号),最低9位(第8~O位)表示页内地址(或字节偏移量)。
- 二级目录结构通常由主文件目录和各用户的用户文件目录组成。
- UNIX对每一类设备给出一个编号,称为主设备号。为了标识某一台具体设备,UNIX对每一台设备给出一个编号,称为次设备号。
- 把以信箱为媒体进行进程通信的方式称为间接通信方式,这种方式中进程可调用receive原语获取指定信箱中的信件。
- 要使占有并等待资源的条件不成立,经常使用两种方法:静态分配资源和释放已占资源。
- 从资源管理的观点简述操作系统的层次结构。操作系统的层次结构从硬件开始,自内向外依次为:处理器管理(进程管理)、存储管理、设备管理、文件管理
- 非抢占式进程调度:一旦某个高优先级进程占用了处理器就一直运行下去,不管此时是否有更高优先级的进程编程就绪,直到它自身的原因主动让出处理器,再重新调度。
- 抢占式进程调度:当一个进程在处理器上运行,一旦有另一个更高优先级的进程变成就绪,进程调度就要剥夺正在处理器上运行的进程,把处理器分配给该进程。
- 文件保护是指防止文件被破坏
- 而文件保密是指防止他人窃取文件。
- 文件保护的措施有:防止天灾人祸造成的破坏、防止系统故障造成的破坏、防止文件共享时造成的破坏。
- 文件保密的措施有:隐蔽文件目录、设置口令、使用密码
- 设备独立性的含义是指应用程序中的逻辑设备与实际系统中的物理设备是相脱离和相互独立的,即程序中的一台逻辑设备究竟与系统中的哪台物理设备相联系,要到程序运行时由操作系统动态地确定。
- 逻辑设备与物理设备的这种关系,使得应用程序独立于具体的机器系统,具有可移植性;同时可使程序员不必过问存储空间和I/O设备的分配,而专注于程序的设计。
- 互斥地使用资源。每个资源每次只能给一个进程使用。
- 占有且等待资源。进程在申请新资源得不到满足时,处于等待资源状态,但不释放已占资源。
- 不可抢夺资源。任一进程不能抢夺另一进程所占的资源,被占资源只能由占用进程自己释放。
- 循环等到资源。一组进程内部各个进程之间请求资源和占用资源构成了环路。
- 计算机软件系统:计算机系统中的程序及其文档
- 将高级语言如C++等书写的源程序翻译成机器语言表示的目标程序,实现该功能的是编译系统
- 操作系统在中断处理服务程序完成之后,将按照调度程序选择某程序执行
- 操作系统的层次结构汇总,处于最外层的部分是文件管理
- 多道程序设计的系统中,要求各道程序放在主存的任何区域都能正确执行,这种技术称为程序浮动
- 访管中断属于自愿性中断事件
- 最高响应比优先算法照顾计算时间短的,也兼顾了计算时间长的作业
- 进程调度必须采用最高优先级调度算法的操作系统是 实时操作系统
- 静态重定位:在程序装入过程中,把相对地址转换成绝对地址
- 在页式虚拟存储器中,当地址转换时,先检查页表,如得知该页不在主存时,发生缺页中断请求
- UNIX系统中,文件存储管理采用的是 空闲块成组链接法
- 使用绝对路径名访问文件时,访问某个文件的开始点是 根目录
- 启动磁盘后,对磁盘读/写信息的最小单位是 物理块
- 设备独立性是指 用户程序使用的设备与实际使用哪台设备无关的一种特性
- 进程间采用信箱方式进行通信时,进程调用receive原语应提供的参数有指定的信箱名以及接收信件的地址
- 若系统中涉及相同变量X的相关临界区有n个(n≥3),那么在保证访问变量X安全的前提下允许同时进入相关临界区的进程个数是 1
- 假定系统有某类资源10个单位,供3个进程共享。为保证系统不发生死锁,限定每个进程最多申请该类资源的单位数是 10/3+1=4
- 设最少资源数为y个。
- 满足如下表达式即可:n(x-1)+1<=y。
- 解释一下:每个进程需要x个资源,初始时给每个进程 x-1 个资源,最后再给一个额外的资源,没当一个进程运行完后马上释放其占有的资源,其它进程可以申请资源继续运行。
- 如:某系统采用3个并发进程,都需要同类资源3个,系统不会产生死锁的最少资源数是 3(3-1)+1=7
- 操作系统启动和控制外围设备完成I/O操作的过程包括三个阶段, 准备阶段、启动I/O阶段、结束处理阶段
- 假设有n个进程(n≥3)共享某一资源,但系统规定这n个进程只能互斥使用该资源,用PV操作管理时相应信号量可能出现的值是1-n、0、1 【(1-n) ~ 1】
- 在批处理操作系统中,用户作业执行时不允许用户干预(人为干预),而是根据用户提供的作业说明书控制作业的执行。
- 操作系统面向用户提供两类使用接口:操作控制命令和系统功能调用。
- UNIX中,除了0号进程和1号进程外,其他进程总是使用系统调用fork来创建子进程,形成父子关系。而子进程是使用系统调用exit请求终止自己,并释放父进程。
- 为避免主存中各作业相互干扰,必须进行存储保护,限制各作业只能访问属于自己的那些区域;对于共享区限制各作业只读但不准写。
- 操作系统中,根据对文件的使用方式及存储介质的特性等因素,可将文件的存取方式分为顺序存取和随机存取两种。
- 斯普林系统(SPOOLING)由输入模块程序、输出模块程序和作业调度程序三部分组成。
- 一般采用两种办法解除死锁。一种是终止一个或几个死锁进程的执行以破坏循环等待,另一种是从涉及死锁的进程中抢夺资源。
- 文件操作类。功能有打开文件、建立文件、读文件、写文件、关闭文件等。
- 资源申请类。功能有请求分配、归还主存空间,分配、归还外围设备等。
- 控制类。功能有请求正常结束、异常结束,返回断点/指定点等。
- 信息维护类。功能有设置、获取日历时间,设置、获取文件属性等。
引入缓冲技术的主要目的:在主存中开辟缓冲区,用来临时存放输入/输出信息,从而缓解CPU和外设速度不匹配产生的矛盾。
常用的缓冲技术:根据系统设置的缓冲区的个数分为单缓冲技术、双缓冲技术和缓冲池技术。
- 每个线程都有唯一的标识符。
- 每个线程都有一张线程描述表。
- 不同线程可执行相同的程序。
- 同一进程的各个线程共享分配给进程的主存地址空间。
- 线程是处理器的独立调度单位。
- 多个线程可以并发执行。
- 每个线程创建后,便开始了它的生命周期。
- 线程的生命周期内经历等待、就绪、运行等状态变化。
只要采用适当的资源分配策略使死锁的四个必要条件之一不成立,就可预防死锁的发生。
- 能实现用户程序按照作业说明书的内容自动控制执行的是 批处理操作系统
- 具有微型化和实时性两个主要特点的操作系统是 嵌入式操作系统
- 从UNIX第二个版本开始,设计UNIX绝大部分程序所采用的语言是 C语言
- CH语言属于 系统软件。【Ch是一个跨平台的C/C++脚本解释器】
- 当用户程序执行中出现了某一中断事件,则处理器的状态会从目态转换为管态
- UNIX用于改变对文件访问权限的系统调用是chmod
- 在多进程的系统中,进程以不可预知的速度向前推进,这种特性称为进程的异步性
- 属于强迫性中断事件:硬件故障中断事件、程序性中断事件、外部中断事件;非强迫性中断事件(自愿性中断):访管中断事件
- 在分时操作系统中,进程调度算法主要采用 时间片轮转算法
- 当用户程序执行时,对主存空间保护措施有
- 使用8个字(字长32位)组成的位示图来管理页式主存空间的分配与回收,“0”表示空闲,“1”表示占用。假定将位示图中字号为4,位号为5的空闲块分配出去,则该块的块号是 133(4*32+5)
- 当用磁带作为文件存储介质时,文件只能组织成顺序文件
- 对磁盘进行移臂调度的目的是为了缩短寻找时间
- 缓冲技术中的缓冲池设置在主存
- PV操作是供进程调用,执行时不可中断的过程,操作系统通常称这种过程为原语
- 用PV操作正确管理进程互斥使用某共享资源情况下,假定现在有n一1个进程(n≧3)在等待使用该资源,那么调用过P操作的进程数至少是 n
- 按序分配的策略 破坏了循环等待条件
- 某系统中仅有5个并发进程竞争某类资源,并都需要该类资源4个单位。如要使这个系统不会发生死锁,那么该类资源的单位个数至少有16个 (5*3+1)
- 设有两个进程共享5个同类资源,为使系统不会死锁,每个进程可以申请的该类资源数目最多为 3个(5/3+1=2+1)
- UNIX常用的shell命令是、mkdir 、rmdir、pwd、cp、mv
- 在UNIX中被称为“异常情况”的有
- 地址动态重定位方式适用于 可变分区存储管理、页式存储管理、页式虚拟存储管理
- 斯普林系统(SPOOLING)的组成部分有 预输入程序、井管理程序、缓输出程序
- 一个进程独占处理器顺序执行时具有封闭性和可再现性,其含义是进程
- 在多道批处理系统中,作业成批输入、自动选择和控制作业的执行,减少了作业交接时间和人工操作时间,有利于提高系统的吞吐率。
- 操作系统中每创建一个进程就要为该进程建立一个进程控制块。一个刚被创建的进程,它的初始状态为就绪态。
- UNIX系统有一个2号进程,其作用是保证有足够的物理空闲页可供使用,这个2号进程称为页面守护进程。
- 从逻辑结构上讲,文件可分为流式文件和记录式文件两种。
- 操作系统为每一台设备确定一个编号,以便区分和识别,这个确定的编号称为设备的绝对号。由用户在程序中定义的设备编号称为设备的相对号。
- 把固定在一对进程之间的通信方式称为直接通信方式。这种方式中进程可调用send原语直接将信件传送给接收进程。
- 银行家算法能确保系统处于安全状态时才把资源分配给申请的进程,从而使系统避免发生死锁。
- 简述操作系统结构设计的主要方法。
常用的进程调度算法有:先来先服务调度算法、最高优先级调度算法、时间片轮转调度算法、分级调度算法
目录项中包含的主要内容有:有关文件存取控制的信息、有关文件结构的信息和有关文件管理的信息
通道程序:若干条通道命令组成的程序,由通道执行,完成一次I/O操作。
若系统中存在一组进程,其中每个进程都占用了某种资源,又都在等待已被该组进程中的其他进程占用的资源,这种等待永远不能结束,称为死锁。
形成死锁的原因是若干进程需求的资源总数大于系统能提供的资源数,而系统对进程竞争资源的管理或分配不当。
- 主存储器的编址单位是字节
- 用户程序可以通过访管指令调用系统调用程序
- 进程调度主要负责的工作是 选一进程占用CPU
- 终端用户的注册过程就是对终端作业的作业调度
- 抢占式静态优先权法 可能会出现进程长期得不到调度
- 处理器不能直接访问的是辅助存储器
- 在可变分区存储管理中,某一作业完成后,系统收回其主存空间,并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减2的情况是 有上邻空闲区,也有下邻空闲区
- 若处理器有32位地址,则它的虚拟地址空间为 4GB
- UNIX系统采用的目录结构是 树形目录结构
- 并发进程失去封闭性,是指 并发进程共享变量,其执行结果与速度有关
- 设系统有一类数量为M的独占性资源,系统中N个进程竞争该类资源,每个进程对资源的最大需求为W。当M、N、W的取值为【M=3;N=2;W=3】,系统可能发生死锁
- 批处理多道系统能较好地提高计算机系统的工作效率,理由包括
- 操作系统为用户提供两种类型的使用接口使用计算机系统,分别是程序员接口和操作员接口。
- 从资源管理的角度看,操作系统的功能可分为处理器管理(CPU管理)、存储管理、文件管理和设备管理四部分。
- 在UNIX系统的各个寄存器中,程序计数器寄存器用来存放指令地址,当出现某个中断事件时,程序计数器寄存器中当前的值就是被中断程序的断点(或返回地址)。
- 从对文件信息的存取次序考虑,在对文件存取时,可以采用的文件存取方式有顺序存取和随机存取两种。
- I/O中断事件一般分为两大类,即操作正常结束和操作异常结束。
- 哲学家进餐问题中,因为资源的分配策略以及进程的执行速度,系统会产生死锁(或饿死,或饥饿)。
- 当每个程序在主存中占一个连续的存储空间时,系统使用哪两个寄存器来实现存储保护。当处理器在目态下执行程序时,对每一个访问主存空问的地址都要进行核查,请写出访问地址与这两个寄存器值之间的关系。
- 创建线程无需另外分配资源,而创建进程需要分配资源;
- 因为创建线程无需分配资源,因此创建线程速度比创建进程速度快;
- 线程间通信在同一地址空间中进行,不需要额外的通信机制,所以通信简单,信息传递速度也更快;
- 线程能独立执行,充分利用和发挥处理器与外围设备并行工作的能力。
- 对资源采用按序分配的策略。修改第五个哲学家的程序,即规定每个哲学家想吃面条时,总是从自己左右两旁的筷子中先取编号小的筷子,再取编号大的筷子;对于第5个哲学家,他必须先拿到右边编号小的筷子,然后才能拿左边的筷子。
- 可以采用静态分配资源策略。修改哲学家程序,每个哲学家只有当左右两个筷子都空闲时,哲学家才能拿取筷子就餐。
- 裸机安装了操作系统之后,成为功能强大、使用方便的计算机系统,这种计算机系统被称为虚拟计算机
- 按照UNIX操作系统的体系结构,从里向外各层分别是硬件层、操作系统内核层、系统调用层和应用层【硬核调用】
- 内存空间的最小分配单位是 块
- 当处理器处于管态时,可以执行全部指令
- 在用户程序中要将运行结果打印出来,使用操作系统提供的接口类型是 系统调用
- 对信号量S实施V操作之后 ,当S≤0时要释放一个等待进程,将其改为就绪态
- 用信号量S来管理一组临界资源,S初值为4,若多次P、V操作后,S当前值为-1,则表示当前正在使用这些临界资源的进程共有4个
- 由于系统无法预先知道一个进程未来访问页面的情况,所以下列算法在实际中无法实现的是 理想页面置换算法
- 为避免页表占用较多存储空间的情况,大多数操作系统采用的进程页表是 二级页表
- 操作系统中,统一管理信息资源的软件是 文件系统
- 顺序文件,文件不能动态增长
- 操作系统底层中唯一知道各种输入输出设备控制器细节及其用途的部分是 设备驱动程序
- 为了提高设备分配的灵活性,用户申请设备时应使用 设备类、相对号
- 常见的操作系统结构有整体式结构、层次式结构和微内核(客户/服务器)结构。
- 为了便于管理,操作系统把所有的PCB用适当方式组织起来。一般的组织方式有:线性方式、索引方式和链接方式。
- 原语是操作系统核心的一个组成部分,由若干条指令组成,用来实现某个特定的操作功能,执行时具有不可中断性(或不可间断性、不可分割性、连续性)。
- 管程中的共享变量在管程外部是不可见的,外部只能通过调用管程中所说明的外部过程(函数)来间接地对其进行访问。
- 死锁检测的实质是通过检测是否存在循环等待条件,以此来确定死锁的存在与否,并识别出与死锁有关的进程和资源。
- 存储管理的主要任务包括内存的分配与回收、内存扩充、存储共享和存储保护。
- 在可变分区存储管理方案中,解决碎片问题的一个有效办法是采用紧缩技术,通过移动内存中的程序,把所有空闲碎片合并成一个连续的大空闲区置于内存的一端,把所有程序占用区放在内存的另一端。
- 按文件的用途进行分类,可以把文件分成系统文件、库函数文件和用户文件等三类。
- 为了实现“按名存取”,操作系统给每个文件都设置了一个描述性数据结构,即文件控制块(FCB),它是文件存在的标志。把所有文件的描述性数据结构组织起来,就构成了文件目录。
- 在SPOOLing系统中,作业执行时,从磁盘上的输入井中读取数据,并把作业的执行结果暂时存放在磁盘上的输出井中。
- 什么是程序性中断?程序性中断都必须由操作系统来完成吗?举例说明。
- 进程阻塞:进程在内存并等待某事件出现。
- 阻塞挂起:进程在外存并等待某事件出现。
- 当没有进程处于就绪状态或就绪状态进程要求更多内存资源时,会把进程从阻塞状态转为阻塞挂起状态;
- 当一个进程释放足够内存时,系统会把一个高优先级阻塞挂起进程激活,变成阻塞状态。
- 死锁是指一组进程中的每一个进程均无限期地等待进程中的另一个进程所占有且永远不会释放的资源的现象。
- 产生死锁的两个主要原因:一是竞争资源,系统资源分配不当,进程间对资源的相互争夺而造成僵局;二是多道程序运行时,进程推进顺序不合理。
- 主要优点:由于其不要求进程的程序段和数据在内存中连续存放,从而有效的解决了碎片问题。既提高了内存的利用率,又有利于组织多道程序执行。
- 主要缺点:由于不同代码的长度不同,但页面大小固定,导致每个程序最后一页总有一部分空间得不到利用,从而存在页面浪费问题。
- OS功能:进程管理、存储管理、文件管理、作业管理和设备管理
- 微内核结构将操作系统分成用于实现操作系统最基本功能的内核和提供各种服务的服务进程两个部分
- RAM存储器是可随机存取数据的
- 应用程序通过系统调用来获得操作系统内核提供的服务
- 程序运行后其计算结果只取决于程序自身,由给定的初始条件决定,不受外界因素的影响,这个特点体现了程序执行的 封闭性
- 进程状态转换原因
- 进程从运行状态进入阻塞状态的原因可能是等待某一事件的发生;
- 进程从就绪状态进入运行状态的原因可能是 被进程调度程序选中占有处理机;
- 进程从等待状态进入就绪状态的原因可能是 等待的事件已发生;
- 进程从运行状态进入就绪状态的原因可能是 时间片用完;
- 进程从运行状态进入等待状态的原因可能是( ①操作系统尚未完成某项服务。② 这个进程对某项资源的访问不能得到满足。③ 初始化I/O且须等待结果。④ 等待某一进程提供输入。)
- 正在运行的进程在信号量s上作P操作之后,当S=0时,该进程保持运行状态
- 在五个哲学家就餐问题中,为保证其不发生死锁,可限定同时要求就餐的人数最多不超过4个
- 只要系统发生死锁,则产生死锁的四个必要条件一定成立。
- 采用页式存储管理的主要目的是提高内存的利用率
- 存储管理方法中可能使系统产生颠簸现象的是 请求调页
- 存储容量大、但存取速度慢且只能进行顺序存取的存储介质是 磁带
- Windows操作系统的体系结构采用了分层的模块结构,主要层次有硬件抽象层HAL、内核、执行体和子系统集合【硬核执子】。
- 线程的主要属性是:每个线程有一个唯一的标识符和一张线程描述表,同一进程中各个线程共享该进程的主存地址空间。
- 进程由程序、数据和进程控制块(PCB)三部分组成。
- 一个管程由管程名称、共享数据说明、对数据进行操作的一组过程和对共享数据赋初值的语句四个部分组成。
- 若检测后发现系统有死锁,则可通过剥夺资源或撤销进程方法来解除死锁。
- 在存储管理中,将绝对地址对应的存储空间称为物理空间地址,将逻辑地址对应的存储空间称为逻辑地址空间。
- 在分区存储管理方案中,有两种存储分配保护方法,即设置界限寄存器和保护键方法。
- 把文件按组织形式进行分类,可以分为普通文件、目录文件和特殊文件等三类。
- 记录的成组和分解技术是磁盘高速缓存的一种应用,虽然需要代价,但是具有提高存储空间的利用率和减少启动设备次数的优点。
- 在典型的计算机系统硬件结构中,CPU与内存在最里层,通过总线与第二层的接口(适配器)部件相连,第三层是各种外围设备控制器,最外层是外围设备。
- 创建原语:先申请一个空闲PCB区域,然后将有关信息填入PCB,置该进程为就绪态,然后把它插入到就绪队列中。
- 撤销原语:找到要被撤销进程的PCB,将它从所在队列中消去,撤销属于该进程的一切“子孙进程”,释放该进程所占用的全部资源,并消去该进程的PCB。
- 资源有序分配法是指对系统中的所有资源顺序编号,规定任一进程申请两个以上资源时,按资源编号顺序申请,只有在得到编号小的资源之后,才能申请编号大的资源。
- 资源有序分配法破坏了死锁的四个必要条件之一的循环等待条件,达到了预防死锁的目的。
- 当进程开始运行时,先将程序的一部分装入内存,另一部分暂时留在外存;
- 当要执行的指令不在内存时,系统自动完成将它们从外存调入内存进行工作;
- 当没有足够的内存空间时,系统自动选择部分内存空间,将其中原有的内容交换到磁盘,并释放这些内存空间,供该进程或者其他进程使用。
- 按照用户界面的使用环境和功能特征的不同,操作系统分三种基本类型:批处理操作系统、分时操作系统和实时操作系统
- 并发性是指若干事件在同一时间间隔内发生;并行性是指若干事件在同一时刻发生。
- 界地址寄存器 用于存储保护的技术
- 系统调用的目的是请求系统服务
- I/O指令必须在管态执行
- 某进程在运行过程中需要等待从磁盘中读入数据,此时该进程的状态 从运行状态变为阻塞状态
- 三状态进程模型:就绪状态、运行状态、阻塞状态
- P、V操作是进程同步原语
- 进程高级通信原语:共享内存、消息机制、管道通信
- 资源有序分配法在解决死锁的问题中用于预防死锁
- 15个资源,多个进程均需3个,规定每个进程一次仅允许申请1个,确保不发生死锁,至多允许参与竞争的进程数为 15/2=7 个
- 虚拟存储技术的目的 扩充内存容量
- 无快表时,页式存储管理按照虚拟地址读写,必须访问内存的次数:2次
- 页式存储器提供编程使用的虚拟地址=虚拟页号+页内地址
- 磁带作为存储介质,文件只能组织成顺序文件
- 位示图可用于磁盘空间的管理
- I/O设备控制方式中的程序控制方式:由用户进程直接控制处理器和外围设备之间信息传送的方式
- 单缓冲技术不能用于实现两台I/O设备之间的并行操作,而双缓冲区、多缓冲区、缓冲池技术可以
- Linux操作系统的体系结构包括四个主要部分,即Linux内核、Linux Shell、文件系统和用户应用程序【核Shell文用】
- 在引入线程的操作系统中,线程作为调度和分派的基本单位,而进程作为资源拥有的基本单位
- 五状态进程模型中,进程状态被分为创建状态、就绪状态、运行状态、阻塞状态和结束状态
- 管程定义了一个共享变量的数据结构,以及在该数据结构上所执行的一组操作(组成:还有管程名称、说明)
- 死锁产生的四个必要条件是 互斥条件、不可剥夺条件、请求和保持条件、循环等待条件
- 静态重定位:地址转换工作是在程序开始执行前(程序装入时)集中完成的,而程序执行过程中不需要再进行地址转换工作。
- 采用可变分区存储管理方案的有优点是分区方案的灵活性好,较之固定分区能获得较好的内存利用率。
- 在管理磁盘空闲空间时,一般采用四种不同的数据结构,即位示图、空闲块表、空闲块链表、空闲块成组链接
- 为了保护文件,可以对用户的存取权限实施控制。当用户数目和文件数目不多时,可以采用存取控制矩阵方式,但是当文件和用户较多时,为了减少空间和时间的开销,则采用二级存取控制。
- I/O设备管理中,每个设备控制器都有若干寄存器用来与处理器进行通信,包括控制寄存器、数据寄存器、状态寄存器
- 轮转调度算法是指将处理器的处理时间划分成一个个时间片,就绪队列中的进程轮流运行一个时间片。当时间片结束时,让出处理器,进入就绪队列,等待下一次调度。
- 时间片太短,进程切换频繁,加重系统开销(或降低了处理器效率)。
- 时间片太长,引发了对短的交互请求的响应时间变长。
- 死锁预防:系统预先确定资源分配策略,这些策略至少能破坏死锁四个必要条件中的一个,进程按规定申请资源,系统按预先规定的策略进行分配,从而防止死锁的发生。
- 死锁避免:当进程提出资源申请时,系统先测试资源分配后系统的安全状态,仅当能确保系统安全时才把资源分配给进程,使系统一直处于安全状态之中,从未避免了死锁。
- 选择通道、数组多路通道、字节多路通道
- 选择通道的优点:以数据块为单位进行传输,传输效率高。缺点是:通道利用率低。
- 数组多路通道的优点:以数据块为单位进行传输,传输效率高,具有多路并行操作的能力,通道利用率高。缺点是:控制复杂。
- 字节多路通道的优点:具有多路并行操作的能力。缺点是:以字节为单位传输,传输效率低。
- 简述分时操作系统的特点:独占性、交互性、及时性、多路性【分时:独交及多】
- 资源的共享方式:同时共享和互斥共享。磁带机 属于 互斥共享,硬盘、内存、用重入码编写的文件 属于同时共享。
- 屏蔽中断指令 必须在管态执行;读时钟周期指令、存数指令、取数指令可在目态执行
- 用户程序向系统提出使用外设的请求方式是 系统调用
- 创建一个进程的具体操作是:建立一个进程控制块、为进程分配内存、将该进程控制块插入就绪队列
- 进程和程序的一个本质区别是:进程为动态的,程序为静态的
- 简述P、V操作:都是原语操作、实现进程间同步、解决任何进程的互斥问题
- 信号量的值具有明确的物理意义,当值小于0时,其绝对值表示等待队列中进程的个数
- 在虚拟页式存储管理方案中,系统建立的用来实现从页号到物理页面号之间映射的数据结构是:页表
- 简述交换技术
又称对换技术。将系统中不在运行中的进程或某一部分从内存中调出,让出内存空间以调入其他需要内存空间的进程
是指一个程序的若干程序段,或几个程序的某些部分共享某一个存储空间。覆盖技术的实现就是把程序划分为若干个功能上相对独立的程序段,按照其自身的逻辑结构使那些不会同时执行的程序段共享同一块内存区域。未执行的程序段先保存在磁盘上,当有关程序段的前一部分执行结束后,把后续程序段调入内存,覆盖前面的程序段。
利用大容量的外存来扩充内存,产生一个比有限的实际内存空间大得多的、逻辑的虚拟内存空间,简称虚存,以便能够有效地支持多道程序系统的实现和大型程序运行的需要,从而增强系统的处理能力
在带有转换检测缓冲区(TLB)的页式存储管理方式中,TLB只存储了当前进程中最活跃的少数活动页面的页号,随着进程的推进,TLB的内容会动态更新
- UNIX系统中,把I/O设备看成是特殊文件
- 使用文件的第一步,是把文件控制块FCB送到内存,即打开文件
- 采用中断控制方式进行数据传送时,处理器具备的功能:识别中断请求的能力、响应中断的能力、按优先级响应中断请求的能力
- SPOOLing(斯普林)技术优点包括
- Android操作系统体系结构:从高到低层分别是:应用程序层、应用框架、系统运行库层、Linux内核【Android程框运核】
- 在线程的两种实现方式中,不依赖于内核的是用户级线程,而所有线程的创建、撤销和切换都由内核实现的是 内核级线程
- 对于处于等待状态的进程,在其被阻塞的原因获得解除后,其状态将转变为就绪状态,仅当得到处理器时,才可恢复运行。
- 文件系统经常采用以下两种方法来保护文件,即建立副本和定时转储
- 每个索引文件都有一个索引表,索引表的条目包括文件的逻辑块号及所对应的物理块号
- 在磁盘读写请求来到时,应采用调度策略降低访问者的总访问时间。磁盘驱动调度由移臂调度和旋转调度两部分组成。
- 进程调度:即处理器调度,是指根据一定的调度算法,系统从就绪队列中选择一个进程,把处理器分配给它。
- 吞吐量:系统每小时完成的进程数量
- 周转时间:指从一个批处理进程提交时刻开始到该进程完成时刻为止的统计平均时间。
- 某系统中有10个打印机,有3个进程P1 P2 P3 分别需要 8 7 4 台。若P1 P2 P3 已申请到4 2 2 台。试问:系统目前还有几台可申请的打印机?各个进程还需要几个打印机?目前系统是否处于安全状态?为什么?
- 目前系统还有2台可申请的打印机。进程P1 P2 P3 还分别需要 4 5 2 。
- 系统处于安全状态。根据目前的各进程资源分配状况,可以先分配2台给进程P3达到最大需求,然后P3释放其原来占用的资源,系统就有4个资源,然后分配给进程P1达到最大需求,然后P1释放其原来占用的资源,系统就有8个资源,可满足P2的最大需求,所以目前系统处于安全状态。
- 基本思想:在硬件支持下对内存和外存统一实施管理,利用大容量的外内来扩充内存,产生一个比有限的实际内存空间大得多的、逻辑的虚拟内存空间。
- 目的:有效地支持多道程序的实现和大型程序运行的需要,从而增强系统的处理能力。
操作系统在内核中建立最小的机制,而把资源留给用户空间中的服务进程,其带来的直接好处是:可靠性、灵活性、适宜于分布式处理
- 指令寄存器:对用户不可见
- 应用程序可以通过系统调用来获得操作系统内核提供的服务
- P、V操作可实现进程的互斥和同步
- 系统发生死锁时,死锁进程的个数至少为2个
- 撤销进程 可以 解除死锁
- 安全状态是没有死锁的状态;不安全状态不一定就是死锁状态,是可能发生死锁
- 把逻辑地址转换成物理地址(绝对地址)的过程称为 地址映射
- 虚拟存储器的特征:程序运行前不必全部装入内存,且在运行过程中不必一直驻留在内存
- 防止用户越权操作,采取的策略是 存取控制表
- FAT-16文件系统的根目录在磁盘的位置和大小是固定的
- 进程具有三个基本状态。在单处理器系统中,处于等待状态和阻塞状态这两个状态的进程可能有多个,可以将他们组成相应的队列。
- 信箱通信:通过发送信件以及接收回答信件进行进程之间的大量信息通信方式
- 就“预防死锁”“避免死锁”“检测与解除死锁”三种解决死锁的方法而言,资源利用率最低的是 预防死锁,有可能出现死锁的是 检测与解除死锁
- 存储管理主要的任务是 存储保护、内存分配和回收、存储共享 、扩充内存容量
- 空闲分区的分配法有 最先适应算法、最优适应算法、最坏适应算法
- 允许用户按任意次序存取文件中的任意一个记录的文件存取方式称为 随机存取(直接存取)
- UNIX操作系统的i节点采用了多级索引(或三级索引、索引)文件物理结构,支持直接寻址和间接寻址方式。
- I/O设备性能同CPU性能不匹配的矛盾,操作系统主要通过缓冲技术、虚拟技术、中断技术来解决。
- 什么是中断屏蔽?采用什么方式来屏蔽?被屏蔽的中断信号保存在哪里?
- 在整个中断系统中,可以允许或者禁止中断系统对某些类别中断的响应。
- 在程序状态字PSW中设计有中断屏蔽位,主机是否允许响应或禁止某些中断,则由PSW中的中断屏蔽位来决定。
- 被屏蔽的中断信号,通常保存在中断寄存器中。
- 抢占式调度就是当就绪队列中一旦有优先级高于当前运行进程优先级的进程存在时,便立即进行调度,转让处理器。
- 非抢占式调度就是一旦把处理器分配给一个进程,它就一直占用处理器,直到进程运行结束或者因为I/O阻塞等原因,才会自愿让出处理器。
- 页表中的每个表项指出了程序逻辑地址中的页号与所占有的物理页面号之间的对应关系,系统要通过查页表完成从逻辑地址到相应物理地址的变换,即地址转换。
- 通常页表项包含物理页面号、有效位(驻留位、存在位)、访问位、修改位、保护位等信息。