操作系统概念

上传人:油*** 文档编号:180395458 上传时间:2023-01-06 格式:DOCX 页数:14 大小:34.47KB
返回 下载 相关 举报
操作系统概念_第1页
第1页 / 共14页
操作系统概念_第2页
第2页 / 共14页
操作系统概念_第3页
第3页 / 共14页
点击查看更多>>
资源描述
1. 操作系统:操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行 调度 以及方便用户的程序集合,并充当计算机硬件和计算机用户的中介,控制和协调各 用户的应 用程序对硬件的使用。2. DMA (直接内存存取)3. 存储设备层次金字塔:寄存器、高速缓存、主存、电子磁盘、磁盘、光盘、磁带。(都 是双 向)4. OS (操作系统)三种基本类型:批处理系统、分时系统、实时系统5. 操作系统的主要设计目标:从用户方面,是为了方便用户使用:从系统方面,是为了保 证计 算机系统高效执行6. 操作系统是控制程序,控制程序管理用户,程序的执行和防止错误和计算机的使用不当7. 人型计算机系统:是最早的计算机系统,用于处理许多商业和科学应用。包扌舌,批处理 系 统,多道程序设计系统,分时系统8. 各种系统的思想特点 批处理系统:脫机输入系统,批量送入执行,自动运行作业表优点:节省作业装入时间缺点:CPU经常空闲,人机交互性差 多道程序设计系统:同时在内存中驻留多个程序,当一个进程等待时,系统会自己切换 到另 一个进程执行。优点:通过组织作业使 CPU 中总有一个作业可执行,充分利用 CPU 缺点:引起作业调度, CPU 调度和内存磁盘管理的问题 分时系统:解决了批处理系统的交互问题,作为多道程序设计系统的扩展,使 CPU 可在 多个 任务之间快速切换,用户可以得到在线交互 实时系统:用于对处理器操作和数据流动有严格时间控制,分硬实时系统和软实时系统。 硬 实时系统保证关键任务按时完成。软实时系统保证关键任务的优先级要高于其他任务 的优先 级且在完成之前保持其高优先级9. 多道程序设计和分时是现代操作系统的主题10. 双重模式操作分为用户模式和内核模式。 解决问题:保护资源不被非法使用,保护计算机的安全 特权指令:将能引起机器损害的指令成为特权指令,硬件仅允许在监督程序模式下执行 系 统调用:用户与操作系统交互,从而请求系统执行一些只有操作系统才能做的指令, 每个这 样的请求都是由用户调用来执行特权指令的,这种请求称为系统调用11. 硬件保护:I/O保护:为防止用户执行非法I/O,可定义所有I/O指令为特权指令内存保护:通过基址寄 存器和界限寄存器来确定程序所能访问的合法地址空间并保护其 他内存空间CPU 空间:使用定时器来防止用户程序运行的时间过长。作用:防止用户程序无限占用 CPU12. 传递参数的三种方法:a. 通过寄存器来传递参数b. 寄存器传递参数块首地址c. 参数通过程序存放或压入堆栈中,并通过操作系统弹出堆栈13. shell: 命令解释程序,含于内核中,主要作用是获取并执行用户指定的卞一条指令。 操作 系统中最重要的服务是程序执行,即系统必须能将程序装入内存并运行程序。程序 必须能 结束执行,包括正常或不正常结束。友好且有用的用户设计界面不再是操作系统统管的功能14. API: 一系列适用于应用程序管理员的函数 系统调用提供了操作系统的有效服务界面15. I/O 系统:一个包扌舌缓冲、高速缓存和假脫机的内存管理部分。包括通用设备驱动器接 口和特定硬件设备的驱动程序16. 系统结构的思想及特点简单结构:较小,简单且功能有限 分层方法:将操作系统模块化,分成若干层,每层建立在较低层上。最底层为硬件,最 高层 使用用户接|。(操作系统分为八个模块:进程管理、内存管理、文件管理、输入/输出系统 管理、二级存储管理、联网、保护系统、命令解释系统) 特点:系统分层采用模块化,简化了系统的设计和实现,每层都是利用较低层所提供的 功能 来实现的,但是对层的仔细认证的定义比较困难,与其他方法相比效率略差。微内核:将所有非基本部分从内核中移走,并将它们实现为系统程序或用户程序,剩余 部分 即为微内核。优点:便于扩充操作系统,具有更好的安全性和可靠性,操作系统很容易从一种硬件平 台设 计移植到另一种硬件平台设计 缺点:要忍受系统功能总开销的增加而导致系统性能下降17. 虚拟机:单个计算机的硬件抽彖为几个不同的执行部件。有的系统程序可以很容易的被 应 用程序调用,虽然系统程序比其他子程序的层次要高,但是应用程序还是町以将他们 的一 切下层当成硕件的一部分看做一个整体,这种分成方法自然而然的逻辑延伸为虚拟 机的概 念功能:提供与基本硬件的相同的接口 原因:在并行运行几个不同的执行环境(即不同的操作系统)时能共享相同的硬件 优点: 在虚拟机坏境中,不同的系统资源具有完全的保护:不存在安全问题:系统容易 被调试, 为运作体系提供了一个很好地平台,用于开发和研究的平台18. 进程:可并发执行程序在一个数据集合上运行过程。进程是程序的一次执行,是可开发 的 程序在一个数据集合上的运行过程。通常包拾堆栈段和数据段。PCB:进程控制块,能感知进程的存在,是进程存在的唯一标识。包括许多与一个特定进程 相关的相关信息。如进程状态,程序计数器, CPU 寄存器, CPU 调度信息,内存管 理信息。19. 进程状态:新的:进程正在被创建 运行:指令正在被执行等待:进程等待一定时间的出现就绪:进程等待分配给某个处理器终止:进程已经完成执行20. 调度程序:进程在其生命周期中会在各种调度队列之间进行迁移,进程选择是由相应的 调 度程序来完成的。长期调度程序:从人容量存储设备的缓冲池中选择进程并将他们装入内存以执行。长期 调 度程序控制多道程序设计的程度,即内存的进程数量。创建进程的平均速度等于进城 离开 系统的平均速度。因此,长期调度程序需要在进程离开系统时才被唤起。由于每次 执行之 间的较长的时间间隔,长期调度程序能使更多的时间来选择执行进程。 中期调度程序:也称为交换,将进程移出内存,因此降低了多道程序设计的程度,之后, 进程能被重新调用并从中断处继续执行。分时系统,引入中期调度程序。 短期调度程序:从准备可执行的进程中选择进程,并为其分配 CPU。 区别:选择进程的位置不一样。执行频率上看,短期调度程序执行频率最高,中期次之,长期最低。21. 上下文切换:将 CPU 切换到另一个进程需要保护当前进程的状态并回复另一进程的状态。通过fork系统调用,创建一个新进程;对于新(子)进程,系统调用fork返回值为0,而对于 父进程,返回值为子进程的进程标识符。当进程完成执行最后的语句并使用系统调动 exit ()请求操作系统删除自身时,进程终 I1-.O 这时,进程可以返回状态值(通常为整数)到父进程(通过系统调用 wait () )所 有进程资 源被操作系统释放。22. 进程间通信 IPC共享内存消息传递 在操作系统试验中, TPG 用共享内存; IPC 用消息队列和信号量 消息传递对于交换较少数量的数据很有用,他通常用系统调用来实现,且比共享内存更 易于 实现。而共享内存允许以最快的速度进行方便通信。比消息传递快。23. 线程的概念线程是一个实体:被系统调用和分配的基本单位:自己基本不用有资源,只拥有一些在 执行 中必不可少的资源,可与同属于一个进程的其他线程共享所拥有的全部资源;可以 创建和撤 销另一个线程;同一进程的多个线程可以并发执行。24. 多线程优点:响应度高;资源共享;经济;多处理器体系结构利用。25. 线程和进程的比较调度:传统 OS 中,调度和分派的基本单位是进程,用于资源的基本单位也是进程。引 入线 程的 OS 中,调度和分派的基本单位是线程,拥有资源的基本单位是进程。并发性:在引入线程的系统中,进程之间可以并发执行,同一进程的多个线程之间也可 以并 发执行,使系统具有更好的并发性,进一步提高了资源利用率以及系统吞吐量。拥有资源:进程是拥有资源的基本单位。线程本身不用有资源,只拥有一定的必不可少 的资 源,可以访问其隶属进程的资源,可供同一进程的线程共享。系统开销:系统创建及撤销进程时的开销远人于创建和撤销线程时的开销。进程间切换 的开 销也远大于创建和撤销线程的开销。26. 为什么要引入线程和进程OS 中进程的引入:使多个程序可以并发执行,改善资源利用率,提高系统的吞吐量。OS 中线程的引入:减少程序并发执行时所付出的时空开销,使 OS 具有更好的并发性。27. 多线程模型含义及优缺点 优点:响应度高,资源共享,经济,多处理器体系结构的应用。 多对一模型:将多个用户级线程映射到一个内核级线程,线程管理在用户空间内完成。 效率 较高,但如果一个线程执行了阻塞系统调用,就会阻塞整个进程。多个线程不可以 运行在多 个处理器上。一对一模型:将每个用户线程映射到一个内核线程,比多对一模型提供了更好的并发性, 允 许多个线程在多个处理器上并发运行。如果创建一个用户线程,同时就需要创建一个 相应的 内核线程。多对多模型:将多个用户级线程映射到少于或等于其数目的内核级线程,一对一模型由 于用 户线程和内核级线程是相对应的,因而一个应用程序不允许创建多于系统支持的最 大线程数 的线程,在多对多的模型中不存在这个问题。优点:开发人员可以创建任意多的用户线程,并且相应的内核线程能在多处理器上并发 执行, 而且当一个线程执行阻塞系统调用时,内核能调度另一个线程来执行。28. 调度准则:CPU 使用率:是 CPU 尽可能忙 吞吐量:指一个时间单位内完成进程的数量 周转时间:从进程提交到进城完成的数量 等待 时间:是在就绪队列中等待所花时间之和 响应时间:从提交请求到产生第一响应的时间 需 要使 CPU 使用率和吞吐量最人化而使周转时间、等待时间、响应时间最小化29. 可抢占式调度(CPU决策发生环境)a. 当一个进程从运行状态切换到等到状态b. 当一个进程从运行状态切换到就绪状态c. 当一个进程从等待状态切换到就绪状态d. 当一个进程终止时a. d 没有选择只有调度,此时称调度方案是非抢占的(或协作的),否则,称为抢占的。30. 分派程序的功能:切换上卞文,切换到用户模式,跳转到用户程序的合适位置以重新启 动这 个程序31. 各种调度思想及其优点(1)FCFS (先到先服务调度)先请求CPU的进程,被首先分配到CPU 优点:每个进程都能按到达的先后顺序执行保证绝对公平,实现简单自然,属 于非 占先式调度缺点:平均等待时间最长;产生护航效果,使 CPU 和设备利用率变低(护航效 果:所有其他进程都等待一个大进程释放 CPU)(2)SJF (最短作业有限调度)将每个进程与其下一个CPU区间段关联,当CPU可用时,它会赋给具有最短后续 CPU 区间的进程优点:系统吞吐量大,平均等待时间短,有利于短作业 缺点:不利于长作业,容易出现饿死现彖;由于下一个 CPU 区间长度无法精确 获 得,因而只能采用预测的方法,这不适合于 CPU 短期调度( 3) 优先权调度 分为占先(如果新加入就绪队列的优先级高于正在执行的进程的优先级,则抢 占当 前执行的程序)的和非占先的。每个进程都有一个优先权与其相连,具有最高优先权的进程会被分配到 CPU, 具有相 同优先权的进程按FCFS顺序调度。优点:用户通过进程设置优先级,可以在一定程度上干预 CPU 调度。 缺点:存在 饥饿现彖解决:逐渐增加在系统中等待时间很长进程的优先权。(4) 轮转法调度(可抢占的专门为分时系统设计的) 定义时间片,循坏执行进程。如果比时间片短,则执行完毕,如果不比它短, 则执 行时间片然后停止,加到队列尾部,等待再一次执行。优点:有利于分时系统地实现,提高并发行,缩短等待时间 缺点:对时间片长度需 要仔细确定,时间片过长,RR调度就类似于FCFS调度,不能很好地缩短时间,时 间片过短,需要有大量的上卞文切换,导致 CPU 产生 大量空闲时间( 5) 多级队列调度 将就绪队列分成多个独立队列,根绝进程的某些属性,如内存人小,进程优先 级或 进程类型,进程会被永久分配到一个队列,每个队列都有自己的调度算法 优点:低 调度开销缺点:不够灵活(6) 多级反馈队列调度根据不同的CPU区间特点以区分进程,如果进程食用过多的CPU时间,那么它就 会被移到更低优先权队列,类似,在较低优先权中等待过长的进程会被转移 到较高 优先权队列。32. 各种调度算法的甘特图33临界资源: 在一段时间内只允许一个进程访问的资源被称为临界资源,临界资源要求互 斥的 共享或互斥的访问34. 临界区问题四项基本原则(1) 互斥:如果进程 P 在其临界区内执行,那么其他进程都不能在其临界区内执行(2) 有空让进:如果没有进程在其临界区内执行且有希望进入临界区,那么只有那 些不 在剩余去内执行的进程可能参加决策,以选择谁能卞一个进入临界区,且 这种选择 不能无限推迟(3) 有限等待:在一个进程作出进入其临界区的请求到该请求被允许期间,其他进 程被 允许进入其临界区的次数存在一个上限(4) 让权等待35. 两进程解法进程共享两个变量Boolean flag2,int turn.Do flagi=true;true=j;while(flagj&turn=j)临界区flagi=flase;剩余区while(i) 为证明这一算法正确,需要证明互斥成立,前进要求满足,有限等待要求满足 信号量:是一个整数变量,除了初始化外,只能通过 wait ()和 signal ()来访问信号量数 据结构Typedef structInt value;Struct process *list;semaphoreWait 操作定义Void wait(semaphore s)s.value-;if(s.value0)add this process to s 丄;block();Signal 操作定义Void signal(semaphore s)S.value+; lf(s.value=0)Remove a process P from L; wake up (P);36此问题解题思路37. 死锁,即组内的每个进程都等待一个事件,而该事件只能由组内的另一个进程产生。 无限 期阻塞或饥饿:进程在信号量内无限期等待 忙等待:当一个进程位于临界区内时,其他试图进入其临界区的进程都必须在其进入代 码 中连续循坏。38. 经典的同步问题 有限缓冲问题 读者.写者问题 哲学家进餐问题39. 管程(确保一次只有一个进程能在管程内活动)40. 一个管程定义了一个数据结构和能为并发进程所执行的一组操作,这组操作能同步进程 和改 变管程中的数据。思想:管程相当于闱墙,它把共享变量和对它进行操作的若干过程围了起来,所有进程 要 访问临界资源时,都必须经过管程(相当于通过管程的门)才能进入,而管程每次只 允许 一个进程进入管程,从而实现进程间的互斥。管程实现进程间的互斥,进程同步由自定义的condition变量来实现,condition变量仅有的 操作是 wait 和 signaL41 死锁与饥饿的含义 死锁:一个进程申请资源,如果资源不可用那么进入等待进程,如果所申请的资源被其他 等待进程占有,那么该等待的进程有可能无法改变状态,这种情况称为死锁。 饥饿:进程在信号量内无限期等待。41. 正常模式下,进程按如下顺序使用资源 申请:如果申请不能立即被允许,那么申请进程必须等待知道它获得资源为止 使用:进程对资源进行操作释放:进程释放资源42. 死锁产生的四个必要条件(四个条件同时满足,引起死锁) 互斥:必须有一个资源处于非共享模式,即一次只有一个进程使用,如果另一个进程申 请 该资源,那么申请进程必须延迟直到释放该资源为止。占有并等待:一个进程必须占有至少一个资源,并等待另一资源,而该资源为其他进程 所 占有不剥夺:非抢占资源不能被抢占,即只能在进城完成其任务之后,才会释放其资源 环路等 待:有一组进程( pl,p2pn), p0 等待的资源为 pl 所占有, pl 等待的为 p2 所 占有, pn-1所等待的为 pn 所占有, pn 等待的为 pl 所占有43. 资源分配图1)如果图中没有坏,那么系统没有进程死锁。如果有环,那么可能存在死锁。 如果每个 资源类型刚好有一个实例,那么有环就意味着会出现死锁。2)资源分配图44. 死锁处理方式a. 使用协议以预防或避免死锁,确保系统不会进入死锁状态b. 允许系统进入死锁状态,然后检测它并加以恢复(检测与解决)c. 可忽视这个问题,认为死锁不可能在系统内发生(鸵鸟策略)45. 死锁预防 互斥:通常不能通过否定互斥条件来预防死锁,有的资源本身就是非共享的。 占有并等待:一种可以使用的协议是进程在执行申请前,申请并获得资源 不剥夺:为确保这一条件不成立,可使用如下协议,如果一个进程占有并申请另一个不 能立 即分配的资源,那么其现在已分配的资源都会被抢占 环路等待:一个确保此条件不成立的方法是对所有资源类型进行完全排序且要求每个进 程按 照递增顺序申请资源46. 死锁避免:根据每个进程可能申请的每种资源实例的最人需求的实现信息可以构造一个 算 法以确保系统不会进入死锁状态。47. 安全队列:进程顺序(pl, p2 pn )如果对于每个pi, pi申请的资源小于当前可用资源加上pj(ji)占有的资源,那么这一顺序为安全队列。有了安全状态的概念,可定义避免算法以确保系统不会出现死锁,其思想是简单的确保 系统 始终处于安全状态。开始系统处于安全状态,当进程申请一个可用的资源时,系统 必须确定 这一申请时可以立即分配还是要等待,只有分配后系统仍处于安全状态,才允 许申请。48. 银行家算法 思想:当新进程进入系统时,它必须说明其可能需要的每种只有最人类型的实例最人数 量, 这一数量不可能超过系统资源的总量,当用户申请一组资源时,系统必须确保这些 资源的分 配是否仍使系统处于安全状态,如果会,就可以分配资源:否则,进程必须等 待直到某个其 他进程释放足够资源为止。49. 基地址寄存器含有最小的合法物理内存地址,而界限地址寄存器决定了范闱的人小,只 有 操作系统可以通过特殊的特权指令来加载基地址寄存器和界限地址寄存器。50. 地址绑定通常,将指令与数据绑定到内存地址有以下几种情况: 编译时,如果在编译时就知道进程将在内存中的驻留地,那么就可以生成绝对代码。 加载 时,如果编译时不知道进程将驻留在何处,那么编译器就生成可重定位代码。执行时,如呆进程在执行时从一个内存段移到另一个内存段,那么捆绑必须延迟到执行 时 才进行。51. CPU 所生成的地址通常称为逻辑地址,而内存单元所看到的地址(即加载到内存地址寄 存 器中的地址)通常称为物理地址。编译时和加载时地址捆绑生成相同的逻辑地址和物 理地 址。执行时的地址捆绑方案导致不同的逻辑地址和物理地址。52. 交换(联系中期调度) 内存一一交换空间(磁盘) 进程需要在内存中以便执行。进程可以暂时从内存中交换到备份存储上,当需要再次执 行时 间再调回到内存中。图示 P241 图 8.5 使用磁盘作为备份存储的两个进程的交换。 通常,一个交换出的进程需要交换回它原来所占有的内存空间。这一限制是由地址绑定 方式 决定的。如果绑定是在汇编时或加载时所决定的,那么就不可以移动到不同的位置。 如果绑 定在运行时才确定,由于物理地址是在运行时才确定的,那么进程可以移到不同 的地址空间。53内存必须容纳操作系统和用户进程。内存分配方法: 连续内存分配 内部碎片 外部碎片分页帧 页 页大小二帧大小 逻辑内存、物理内存 页表包含每页所在物理内存的基地址。 采用分页技术不产生外部碎片,产生内部碎片。课本 P248 帧表:每个条目对应一个帧,以表示该帧是空闲还是已占用。每个进程都有一个页表,页表的指针存在于进程PCB中。 页表使用方式:a)将页表放在内存中,并将页表基地址寄存器指向页表(PTBR)b)TLB 转换表缓冲区, TLB 包括页表中一小部分条目。当CPU产生逻辑地址时,其页号提交给TLB, TLB先在自身中查找,若有,则继续;若 不在 TLB 中,则需访问页表。查找帧号,并将页号、帧号增加到 TLB 中。 成功:访问TLB不成功:访问TLB+两次访存54. 计算有效内存访问时间(页表长度寄存器PTLR:表示页表大小,该寄存器的值用于检查每个逻辑地址以验证其是 否位于进程的有效范围内) 分页的优点:共享公共代码 消除外部碎片55. 分页下的内存保护:在页表中,有效-无效位、读写位与每一条目关联。有效-无效位表 示相 关页是否在进程的逻辑地址空间中。读写位定义一个页是可读写的还是只读的。56. 页表结构:多级分页 反向分页:对于每一个真正的内存页或帧只有一个条目,每个条目包含保存在真正内存 位置 的页的虚拟地址及拥有该页的进程信息,使整个系统只有一个页表,对每个物理内 存的页只 有一条相应条目。57. 虚拟内存的作用: 1.将逻辑内存和物理内存分开; 2.允许文件和内存通过共享页而为两 个或 多个进程所共享。58. 虚拟内存的实现:1. 按需调页(在需要的时间才调入相应的页) 调页:对进程的单个页进行操作 交换:对整个进程进行操作 在换入进程时,按需调页程序据推测将所需页调入内存。当进程试图访问在页表中 标记 无效的位时,引发页错误陷阱。这种陷阱是由于操作系统未能将所需的页调入 内存所引 起的。当发生页错误陷阱时,处理页错误步骤如下:a)检查进程的内部页表(通常与PCB 起保存),以确定该引用是合法还是非法的地 址访问;b)如果引用非法,那么终止进程。如果引用有效但是尚未调入页面,那么现在应 调入:c)找到个空闲帧(例如,从空闲帧链表中选取个)d)调度个磁盘操作,以便将所需要的页调入刚分配的帧;e)当磁盘读操作完成后,修改进程的内部表和页表,以表示该页已在内存中;f)重新开始因陷阱而中断的指令,进程现在能访问所需要的页,就好像它似乎总 在内 存中;硬件支持: 1页表,利用其有效 -无效位或保护位; 2.次级存储器:有效访问时间:EAT二(1-p) *ma+p*页错误时间(ma内存访问时间)2. 写时复制写时复制页:如果任何一个进程需要对页进行写操作,就创建一个共享页副本。写 时 复制允许父进程和子进程开始时共享一个页面。(只有可能被修改的页才需标记为 写 时复制,不能修改的页为子进程和父进程所共享)虚拟内存允许在用系统调用fork O创 建进程期间共享页,从而加快进城创建。3. 页面置换:页面换算法A. FIFO 页置换:为每个页调入记录着该页调入内存的时间,当必须置换这一页时 将选 择最旧的页。优点:容易理解和实现 缺点:其性能不总是很好 Belady 异常:页错误率可能会随所分配的帧数的增加而增加B. 最优页置换算法(置换那些在最长时间中不会被使用的页) 优点:是所有算法中产 生错误率最低的且不存在Belady异常:缺点:难以实现C. LRU 页置换(置换最长时间没有使用的帧)优点:相对于最优页置换算法置换容易实现且效果不错,优于FIFO置换 缺点:可 能需要大量硬件支持近似 LRU 页置换D. 第二次机会页置换算法E. 二次机会算法F. 增强型二次机会算法基于计数的页置换1. 最不经常使用页置换算法: LFV2. 最常使用页置换算法: MFV帧分配平均分配比例分配页置换时:全局置换:允许一个进程从所有帧集合中选择一个置换帧,而不管该帧是 否 已分配给其他进程;局部置换:每个进程仅从自己的分配中进行选择; 颠簸:定义:若从一个进程在换页上的时间要多于执行时间,那么这个进程就在颠覆。 原 因:图示 p294 图9.18 系统颠覆系统颠覆的原因 防止系统颠覆的方法: 页错误频率:当页错误太高时,进程需要更多帧。若页错误率太低,进程可能有太多帧, 可以为所期塑的页错误率设置上限和卜限。如果错误率超过上限,那么为进程分配更多的帧 ; 如果错误率低于下限,那么可以从该进程中移走帧。工作集合模型(最近*个引用的页集合称为工作集合,工作集合是程序员局部的近似)59. 文件是记录在外存上的相关信息具有名称的集合,文件是逻辑外存的最小分配单元。通 常文件表示程序和数据。60. 文件系统由两部分组成:一组文件(文件用于存储相关数据)和目录结构(目录用于组 织系统 内的文件并提供有关文件的信息)文件系统位于设备上。61. 文件属性通常有:名称、标识符、类型、位置、人小等。所有文件的信息都保存在目录 结 构中,通常目录条目包括文件名及其唯一标识符。62. Open ( ) close () 在文件的基本操作中,每次都涉及为给定文件搜索相关目录条目。为了避免这种不断的 搜 索,许多系统要求在首次使用文件时,使用系统调用 open (),操作系统维护一个包 含所有打 开文件的信息表(打开文件表)。当需要一个文件操作时,可通过该表的一个 索引指定文 件,而不需要搜索。(课本 P323)Open ()操作调用 open ()会首先搜索系统范闱内的打开文件表以确定该文件是否被其他进程使用, 若不存 在,则操作open ()会根据文件名搜索目录,并将目录条目复制到打开文件表。调用open () 也可接受访问参数:创建、只读、只写、添加等。该模式可以根据文件许 可位进行检查, 如呆请求模式可获得允许进程就可以打开文件。系统调用 open ()通常 返回一个指向打开文 件表中一个条目的指针。在多进程可能同时打开同一文件的环境中,进程执行调用 open (),其结果只不过简单 的在其 进程打开表中增加一个条目,并指向整个系统表的相关条目。同时,系统表内相 关文件的 文件打开计数器open count加1。Close ()操作操作 close ()会使文件条目从进程打开表中删除。同时使系统表内相应文件的文件打开 计数 器 open count 减1,当打开计数器为 0时,表示该文件不再被使用,该文件条目可 从系统打 开表中删除。63. 文件访问方法:顺序访问 直接访问 其他访问(通过创建文件索引)64. 目录结构 单层目录结构 优点:所有文件都包含在同一目录下,便于理解和支持。 缺点:在文件类型增加或系统有多个用户时,单层目录结构受到限制。 双层目录结构分两层,主文件目录(MFD)和用户文件目录(UFD)。当一个用户作业开始执行或一个用户注 册时,就搜索系统的主文件目录,通过用户名或账号可索引MFD,每个条目都指向用户的 UFDo优点:解决了名称冲突问题。 缺点:这种结构有效地对用户进行了隔离,这种隔离在用户需要完全独立时是优点,但 是用 户需要在某个任务上进行合作和访问其他文件时却是个缺点。树状目录结构 是双层目录结构的推广,其层数为任意高度。它允许用户创建自己的子目录,相应的组 织文 件。优点:允许用户定义自己的子目录结构,可以使其能按一定结构组织文件;用户除了可 以访 问自己的文件还能访问其他用户的文件。缺点:禁止共享文件和目录。(绝对路径名:从根开始并给出路径上的目录名直到所指定的文件。相对路径名:从当 前目录开始定义路径。) 无环图目录结构 无环图目录允许目录含着子目录和文件。同一文件或子目录可出现在两个不同目录中。 无 环图是树形结构目录方案的自然扩展。 优点:可共享文件,比树形图灵活,允许重名,允许共享。 缺点:可能出现可变的并可能很人的文件引用表。通用图目录结构65. 访问控制列表 ACL (保护)每个文件盒目录都有一个ACL,以给定每个用户名及其所允许的访问类型。当一个用户 请求 访问一个特定文件时,操作系统检查ACL,判断能否访问。66. 文件系统结构:设备一 1/0 控制一基本文件系统一文件组织系统一逻辑文件系统一应用 程 序(从低到高排列)67. 文件控制块FCB (类似于PCB)68. 目录实现1. 线性列表:编程简单,运行费时2. 哈希表:搜索时间短,人小固定69. 为文件分配磁盘空间的方法(1)连续分配(每个文件在磁盘上占有一组连续的块) 文件目录中存放起始盘块号和块数 优点:访问容易,速度快,不需要额外空间,能随机存放 缺点:分配算法复杂,产生外部碎片,必须事先知道文件长度(连续分配支持 顺序 访问和直接访问)(2)链接分配 每个文件由磁盘块链表组成,每一个盘块含有下一个盘块的指针,文件目录中 包含 指向第一盘块和最后一个盘块的指针。优点:实现离散分配,无外部碎片,文件大小可变 缺点:只能顺序访问,指针占空间,链断致命,会产生内部碎片。 改进措施:1按簇分配(多个块组成簇)容易产生内部碎片,使指针占用的空间 变小2.链接信息专门存放,文件分配表FAT每个卷的开始部分用于存储该FAT,每块都在该表下有一项,该表可以通过块号码来索引。目录条目包含 首块号码,根据块号码索引的FAT条目包含文件下一块的块号码。优点:改善随机访问时间 缺点:有大量磁头寻道时间70. 索引分配每个文件都有其索引块,索引块包含文件所有块的指标,索引块的第i个条目指向文件的 第 i 块,文件目录条目包含其索引块地址。优点:支持直接访问,无外部碎片 缺点:浪费空间,索引块人小问题,索引块指针开销通常比链接分配指针开销大 管理大文件的改进措施:1. 链接。 2.多层索引。 3.组合方案。71. 空闲空间管理操作系统维护空闲空间链表来记录空闲磁盘空间1. 位向量:将空闲空间实现为位图或位向量,每块用一位来表示。如果一块为空闲, 那 么其位为 1,如果已分配,那么其位为 0.优点:容易找到连续块,查找磁盘上第一个空闲块和n个连续的空闲块时相对简单和高 效。缺点:需要额外空间。2. 链表:将所有空闲磁盘块用链表连接起来,链表的头部放在超级块中。 缺点:此法的效率不高,要遍历整个表时,需要读入每一块,这需要大量的 10 时间。3. 组:将n个空闲块的地址存在第一个空闲块中,这些块前n-1个确实为空,最后一块包 含另外 n 个空闲块地址。4. 计数:为磁盘的每块连续存储空间建一个表。72. 磁盘为现代计算机系统提供了人容量的外存。磁头和磁臂相连,磁臂能将所有磁头作为 一个 整体而一起移动。磁盘片的表面被逻辑地划分为圆形磁道。磁道再进一步划分为扇 区。位于 同一磁臂位置的磁道集合形成了柱面。每个磁盘驱动器有数千个同心柱面,每 个磁道可能包 拾数百个扇区。图示P388图12.1移动磁头的磁盘装置 定位时河(传输效率)=寻道时间+旋转等待时间 传输速率:驱动器和计算机之间的数据传输速率73. 磁盘调度寻道时河:磁臂将磁头移动到包含目标扇区的柱面的时间 旋转延迟:磁盘需要将目标扇区 转动到次磁头下的时间 磁盘带宽:所传递的总的字节数除以从服务请求开始到最后传递结 束时的总时间1. FCFS:先到先服务调度特点:算法本身较公平,但不提供最快的服务。例如:有一个磁盘队列,其I/O对各个柱面上块的请求顺序如卞:9& 183,37,122,14,65,67调度如下:图示 P393 图 12.4FCFS 磁盘调度2. SSTF (寻短寻道时间优先算法) 在将磁头移到远处以处理其他请求之前,先处理靠近当前磁头位置的请求。 特点:平均寻道时间最短,可能导致进程发生饥饿现象。例如:有一个磁盘队列,其 I/O 对各个柱面上块的请求顺序如卞:9& 183, 37, 122,14,124,65,673. SCAN (电梯算法) 磁臂从磁盘的一端向另一端移动,同时当磁头移过每个柱面时处理位于该柱面的服 务请 求。特点:如果一个请求刚好在磁头之前加入到队列,那么它几乎马上得到处理。如果 一个 请求刚好在磁头之后加入到队列,那么它必须等待磁头到达磁盘的另一端调转 方向并返 回,不会发生饥饿现彖。4. C-SCAN是SCAN的变种,主要提供一个更为均匀的等待时间。与SCAN 样,C-SCAN将磁头从 磁盘的一端移动到另一端,随着移动不断处理请求。不过,当磁头移动到另一 端时,他 会马上返回磁盘开始,返回时,并不处理请求。5. LOOK 调度通常,磁头只移动到一个方向上最远的请求为止,接着,他马上回头,而不是继续 走到 磁盘的尽头,这种形式的 SCAN 和 C-scan 称为 LOOK 和 C-LOOK。74. RAID 结构磁盘冗余阵列(RAID)技术:指多种磁盘组织技术高可靠性 高数据传输率(引入冗余的方法是复制每个磁盘,这种技术称为镜像)P405.图 12.11RAID 的级别RAID 级别 0:指按块级别分散的磁盘阵列,没有冗余RAID 级别 1:指磁盘镜像RAID 级别 275. 设备驱动程序:为I/O子系统提供了统一设备访问接II控制器:用于操作端II,总线或设备的 一组电子器件 轮询:主机不断读取状态寄存器直到忙位被消除。 中断:使外设通知 CPU 的 硬件机制。DMA控制器(DMA直接内存访问)【无需CPU】I/O调度:当有多个应用程序请求I/O时,I/O调度重新安排队列顺序从而改善系统总体效率 和应用程序的平均响应时间。I/O 子系统改善计算机效率的方法: 1.进行 I/O 操作调度;2.使用主存或磁盘上的存储空 间 的技术(如缓冲、高速缓存、假脱机);缓冲区用来保存两个设备之间或在设备和应用程序之间所传输数据的内存区域。假脱机 是用 来保存设备输出的缓冲区,这些设备(如打印机)不能接受交叉的数据流。I/O 请求的生命周期1. 一个进程对已打开文件的文件描述符阻塞 read ()系统调用。2.内核系统调用代码 检查 参数是否正确。对于输入,如果数据已经在高速缓存中,那么就将该数据返回 给进程并 完成i/o请求。3否则,就需要执行物理I/O请求。这时,该进程会从运行队列移到设备 的等待队列上,并调度 I/O 请求。最后 I/O 子系统对设备驱动程序发出 请求。根据操作 系统的不同,该请求可能通过子程序调用或内核信息传递。 4.设备 驱动程序分配内核缓 冲空间以接收数据,并调度I/O。最后,设备驱动程序通过写入 设备控制器寄存器来对 设备控制器发送命令。 5.设备控制器控制设备硬件以执行数 据传输。 6.设备程序可以轮 询检测状态和数据,或通过设置 DMA 将数据传入到内核 内存。假定 DMA 控制器管理传 输,当传输完成后会产生中断。 7.合适的中断处理程 序通过中断向量表收到中断,保存 必要的数据,并向内核设备驱动程序发送信号通 知,然后从中断返回。 8设备驱动程序 接收到信号,确定 I/O 请求是否完成,确定请 求状态,并向内核 I/O 子系统发送信号, 通知请求已经完成。 9.内核将数据或返回代 码传递给请求进程的地址空间,将进程从等 待队列移到就绪队列。 10.将进程移到就 绪队列会使该进程不再阻塞。当调度器给该进程 分配 CPU 时,该进程就继续在系统 调用完成后继续执行。76. 缓冲与缓存 缓冲区是用来保存两个设备之间或在设备和应用程序之间所传输数据的内存区域。缓冲用途: 1处理数据流的生产者和消费者之间的速度差异:2.协调传输数据大小不一 致的设备;3.支持应用程序 I/O 的复制语义。高速缓存是町以保留数据副本的高速缓存器。高速缓存区副本的访问比原始数据访问更 咼效 缓冲与高速缓存的差别是缓冲可能是数据项的唯一副本,而根据定义高速缓存只是提供 了一 个驻留在其他地方的数据在高速存储上的一个副本。77. 提高 I/O 性能措施1.减少上卞文切换的次数;2.减少设备和应用程序之间传递数据时在内存之间的数据 复制次 数;3.通过使用人传输、智能控制器、轮询,以减少中断频率;4通过采用 DMA 智能控制器 和通道来为主CPU承担简单数据复制,以增加并发;5将处理原语移入硬件,允许控制器内的 操作和CPU和总线内的操作并发;6平衡CPU,内存子系统、总线和I/O的性能,这是因为任何 一处的过载都会引起其他部分空闲。78. 保护是一种控制程序,进程或用户对计算的系统资源进行访问的机制。79. 关键保护指导原则一最小特权原则:规定程序、用户甚至包扌舌系统仅拥有他们能完成其 任 务的特权。80. 进程访问资源应遵守:1.进程只能访问那些已经获得授权的资源:2.需要则知道原则,即它可以有效的限制 错误 进程对系统造成的伤害数量,如:如果进程P调用程序A (),程序A ()只能访问它的变量 和进程 P 传递给它的形式参数,它不能访问进程 P 的所有变量。81. 保护域:指定进程可以访问的资源。一个域是一个访问权限的集合。保护域指定进程可 以 访问的资源。每个域定义一个集合,集合的元素为对彖和运用集合中每一个对彖上的 操作 类型。在一个对象上执行一个操作的权限是一种访问权限。一个域是一个访问权限 的集 合。82. 访问矩阵(行代表域,列代表对象)访问条目access(i,j)定义在域Di中执行的进程在调用对彖Oj时被允许执行的操作集合。访 问矩阵满足了实现和控制动态保护需求,可以在访问矩阵模型中动态的创建并包含新 的对 象和域。83. 病毒是自我复制的。其设计就是为了 “感染”程序,病毒通过修改和毁坏文件,导致系 统 崩溃和程序出错,从而在系统中搞破坏。病毒是一个内嵌到合法程序中的代码段。84. 蠕虫是一个利用繁殖机制破坏系统性能的进程。蠕虫产生犬量自身的副本,耗尽系统资 源, 甚至让其他进程都停止使用系统。85. 特洛伊木马:一个误用自身环境的代码段86. 后门:程序和系统的设计者都可能在一个软件中留卞一个只有他自己使用的漏洞。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!