2022年操作系统期末复习资料 .pdf
12 操作系统期末复习注意:黑体字有些要求是根据口述,而做的相应标记第一章概述1、操作系统的定义管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户方便而有效地使用计算机提供良好运行环境的最基本的系统软件。2、操作系统两大角色大致的作用管理者:管理计算机各种资源服务者:为程序运行创造环境3、现代计算机系统软件的组成结构(正确分类)(1)系统软件:最靠近硬件的软件层,负责管理和控制计算机硬件并对其作首次扩充和改造。例:操作系统(2)支撑软件:利用系统所提供的扩展指令集,实现一些实用程序,支持应用软件的开发和运行。例:编译程序、汇编程序、数据库(3)应用软件:解决用户特定的或不同应用所需要的信息处理问题。例:财务系统、航空订票、上网浏览、电子商务、科学计算4、怎么理解操作系统是一台“虚拟计算机”*操作系统管理好硬件资源,屏蔽了最底层硬件接口使用上的复杂性,然后向上提供了更容易使用的接口。作为一个程序来讲,当你运行的时候,你并不会直接用到硬件接口,名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 21 页 -你用到的是操作系统提供的接口。感觉上,程序似乎是运行在操作系统这一台“虚拟计算机”上。5、操作系统的管理资源的三种方法(正确区分)(1)资源复用:解决物理资源数量不足的问题。两种基本方法:空分复用共享(内存、磁盘)和时分复用共享(CPU)(2)资源虚化:解决物理资源数量不足,提高操作系统用户服务的能力和水平。(虚拟打印机)(3)资源抽象:处理系统的复杂性,重点解决资源的易用性。(CPU-进程,磁盘-文件,显示器-窗口,物理计算机-虚拟机)细化理解:之一:资源复用既然资源不够,那就尽量实现共享空分复用共享:把资源细分成更小的单位,把这些单位分给各个进程使用典型例子:内存,磁盘时分复用共享:资源本身不能再分,那么可以把使用它的时间细分,把时间片分给各个进程,大家轮流用典型:CPU 之二:资源虚化这个技术源于以下的问题:如果大家同时都要使用一种独占设备,怎么办?比如多个用户同时请求打印服务通俗地说,所谓虚化,就是创造出一种虚拟的资源,然后将若干个这种虚拟资源,对应于一种实际的真实资源,进程需要使用真实资源时,只需要使用这种虚拟资源即可,由操作系统来负责协调各个虚拟资源同时对真实资源的访问,进程无需关心竞争问题。之三:资源抽象计算机的外围设备,如磁盘,内存等,都有对外的接口,但很难于直接使用,资源抽象就是为了解决这个问思路:对内封装实现细节,对外提供更方便的接口做法:创建软件来屏蔽硬件资源的物理特性和接口细节,简化对硬件操作、控制和使用,使程序员在编程序时,不需要了解硬件知识,而专心于问题的解决。6、三种基础抽象方法(正确区分)(1)进程抽象:对于进入主存的当前运行的程序在CPU 上的状态的一种抽象,包括处理器状态和内存状态(2)虚存抽象:物理内存被抽象成一种数组形式的虚拟主存,给进程造成独占整个主存的假象,由操作系统负责管理虚拟主存到真实物理内存的对应。(3)文件抽象:将磁盘、光盘的存储介质设备上存放的信息抽象为一个逻辑字节流,称为“文件”,用户通过创建、打开、读写、关闭等操作来控制文件,或者控制磁盘等的运行。7、操作系统几大主要功能1、处理器管理2、存储器管理3、设备管理4、文件管理5、网络与通信管理6、提供用户接口8、三种基本的操作系统类型、他们各自使用于什么地方名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 21 页 -(1)批处理操作系统适合处理一些事先安排好步骤,无需人工干预,而执行时间长的工作(计算大型的微分方程)(2)分时操作系统允许多个用户同时连接到操作系统上,进行交互式访问(以时间片形式分给每个用户的每个进程)(3)实时操作系统有一些应用场合,操作系统在运行时,需要及时快速地响应来自外界的请求,对外部事件和数据,需要进行快速处理并及时给予回应(飞机自动驾驶系统,导弹自动控制系统,银行业务处理系统等)注:除了以上三种基本的类型外,还可以有下面一些类型:微机操作系统:如DOS,Windows,Linux 等网络操作系统:如Unix,NetWare,Windows NT 等9、系统调用的概念、作用,特别理解 它是内核对外的唯一接口(1)概念:给编程使用的接口(2)作用:内核可以基于权限和规则对资源访问进行裁决,保证系统的安全性对资源进行抽象,提供一致性接口,避免用户在使用资源时发生错误,且使编程效率提高。PS:系统调用是应用程序获得操作系统服务的唯一途径11、API、库函数与系统调用系统调用尽管已经对内核服务进行了一定的抽象,但还是很难用,需要对其进一步的包装。API(Application Program Interface)是一个函数定义,说明如何获得给定的服务。库函数与API 的概念差不多,都是提供经过包装的、更好用的接口,来为程序员编写程序提供方便库函数和 API 中,可以是对系统调用的包装,也可以是对其他非系统调用的函数的包装。第二章处理器管理1、处理器管理的内容处理器管理的主要任务是对处理器进行分配,并对其进行有效的控制和管理。在现代操作系统中,处理器的分配和运行都是以进程为基本单位的,因而对处理器的管理也可以视为对进程的管理。(程是程序的一次执行)2、理解处理器管理在操作系统中的核心地位(1)处理器管理是操作系统中最核心的部分,因为它管理的也是计算机中最重要的硬件名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 21 页 -(2)处理器管理负责管理、调度和分配处理器,并控制程序的执行。(3)处理器管理的优劣直接影响系统的性能(4)操作系统中最重要的是处理器管理(5)处理器管理中最重要的是处理器调度3、特权指令与非特权指令特权指令:仅供内核使用的指令(启动设备、设置时钟、控制中断屏蔽位、清空主存、建立存储键、加载PSW 等敏感性操作)非特权指令:非特权指令,是指可以被应用程序使用的一些指令,当然内核也可以使用PS:如果应用程序执行特权指令,会导致非法执行而产生保护中断,继而转向操作系统的“用户非法执行特权指令”的异常处理程序进行处理4、处理器状态:核心态、用户态,它们之间的切换,尤其是用户态如何转为核心态核心态(管态):运行在内核上,可以执行所有指令,可以访问所有内存与其他资源,可以改变处理器状态用户态(目态):运行在一般应用程序上,只能执行非特权指令,只能访问属于该进程的内存和其他资源,不能改变处理器状态,除非采用特定的方式它们之间的切换(从用户态到核心态):(1)程序请求操作系统的服务,执行系统调用。(2)程序运行时,产生中断或异常事件,运行程序被中断,转向中断处理程序或异常处理程序工作。PS:通过中断机制发生,是用户态到核心态的仅有途径。5、PSW(程序状态字)里面装了什么(系统不一,内容各异)?PSW 用来指示处理器状态,控制指令的执行顺序,并且保留和指示与运行程序有关的各种信息,主要作用是实现程序状态的保护和恢复。每个正在执行的程序都有一个与其当前状态相关的 PSW,而每个处理器都设置一个硬件的PSW 寄存器,一个程序占用处理器执行时,其 PSW 将占用硬件PSW 寄存器。6、中断的概念在程序执行过程中,遇到急需处理的事件时,暂停中止现行程序在CPU 上的运行,转而执行相应的事件处理程序,待处理完成后再返回断点或调度其他执行程序。7、中断的分类(按事件的来源和实现的手段)硬中断:由硬件发给CPU 的中断(1)外中断(中断、异步中断),来自处理器之外的硬件产生的中断信号(键盘中断,设备中断)可屏蔽中断不可屏蔽中断:紧急情况,不可忽略,须立即处理(2)内中断(异常、同步中断),来自处理器内部的硬件产生的中断。不可屏蔽,一旦出现须立即响应,进行处理 访管中断:由执行系统调用而引起 硬件故障中断:电源失效、协处理器错误、奇偶校验错误等程序性异常:非法操作、地址越界、页面故障、调试指令等名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 21 页 -软中断:由软件发给软件的中断(1)信号:用于内核或进程,对某个进程的中断(2)软件中断:用于硬中断服务程序对内核的中断8、为何外部中断有些可屏蔽,而异常都不可屏蔽*有一些中断,是比较紧急的情况,是不可以忽略的,CPU 在收到这些中断信号后,必须马上进行处理,否则会引起系统的问题,这些就是不可屏蔽中断。9、异常的几种处理方式故障(Fault):发生问题处理完毕后,再执行一次原来的指令陷阱(Trap):执行特定的调试指令时触发,被调试的进程遇到所设置的断点处会暂停等待终止(Abort):某些错误发生后,无法恢复,不会返回原进程,有时甚至需要重启计算机编程异常(Programmed Exception):用于实现系统调用总结:故障发生后,处理完毕后将原来引发故障的指令再执行一遍陷阱与编程异常发生后,处理完毕之后,执行原指令的下一条指令终止则不再返回原来的指令。11、中断处理的一般过程是指 CPU 在正常运行程序时,由于内部/外部事件或由程序预先安排的事件,引起 CPU暂时停止正在运行的程序,转到为该内部/外部事件或预先安排的事件服务的程序中去,服务完毕,再返回去继续运行被暂时中断的程序,这个过程称为中断。12、时钟中断及其作用(主要的两大作用)时钟是内核进行调度工作的重要工具,利用定时器能够确保内核可以获得控制权(1)规定时间内,内核可以获得CPU 控制权(2)获取时间13、进程的概念,进程包括哪些东西(代码,数据,管理结构)进程是可并发执行的程序在某个数据集合上的一次计算活动,也是 操作系统进行资源分配和保护 的基本单位。控制块:存储进程的标志信息,现场信息和控制信息,每一个进程分配一个进程控制块程序块:组成程序的代码集合数据块:全局数据栈:用来管理函数调用关系的结构(通俗讲:进程就是一个正在执行的程序)14、进程与程序的区别与联系(为什么要引入进程)程序:存放在磁盘上的文件进程:运行着的程序实例,包括代码,数据,信号,栈等多种信息在多道程序设计之下,原来的“程序”概念已经不能用来描述这时候的情况了,程序只是一个静态的概念,而进程是一个动态的概念15、进程的几种状态,它们之间的转换(尤其注意,不存在从阻塞态到运行态的转换)名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 21 页 -(1)运行态(running):满足运行条件、占有CPU(2)就绪态(ready):满足运行条件、不占有CPU(等待被调度)(3)等待态(wait):不满足运行条件、不占有CPU,也叫睡眠,阻塞为了便于管理,特意加了:新建态(new)和终止态(exit),描述进程刚创建和结束时候的两种状态挂起态(suspend),指暂时把进程换到磁盘缓冲区内(1)就绪 执行处于就绪状态的进程,当进程调度分配了处理机后,该进程便由就绪状态转变成执行状态。(2)执行 就绪处于执行状态的进程在其执行过程中,因分配给它的一个时间片而不得不让出处理机,于是进程从执行状态转变成就绪状态。(3)执行 阻塞正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态。(4)阻塞 就绪处于阻塞状态的进程,若其等待的事件已经发生,于是进程由阻塞状态转变为就绪状态。16、进程的三种上下文(1)用户级上下文(user level contex):进程自己的代码、数据、栈等(2)系统级上下文(system level contex):进程陷入内核后,内核所使用的内存管理信息表、核心栈,也包括进程控制块(3)寄存器上下文(register contex):各个寄存器当时的信息,用于保护和恢复现场17、进程控制块的概念和作用进程存在的唯一标识内核用来记录和刻画进程状态的数据结构管理和调度进程的依据18、进程切换的过程*19、线程的概念线程是进程中能够并发执行的实体,是进程的组成部分,也是处理器调度 和分派 的基本单位。传统的进程,都是运行在同一个处理器上,在同一个进程内,是串行的。PS:线程只有三态(运行、就绪、等待)由于线程不是资源的拥有单位,挂起状态对于线名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 21 页 -程是没有意义的。20、为什么要引入线程?引入了线程,是为了减少程序并发执行时所付出的时空开销,使得并发力度更细、并发性更好。(实质是把 CPU 的分配权,进行进一步的细分)对外:就可以把进程的不同部分放到不同的处理器上对内:可以在一个功能暂时不执行时,转而去执行其他的功能21、线程与进程的区别与联系线程与进程的主要区别,就是进程有自己的独立空间,线程没有自己完全独立的空间。各个线程共享进程的代码区和全局数据区,各个线程执行的代码区的不同代码,访问全局数据的不同数据。22、为什么线程没有挂起态?由于线程不是资源的拥有单位,挂起状态对于线程是没有意义的。(线程的挂起和激活,是随着宿主进程挂起和激活)23、什么叫处理器调度(原因:主存、处理器与作业、进程之间,永远是供不应求的关系)按照何种原则挑选作业进入主存运行,如何把处理器进行分配24、三种调度层次,哪种是必需的?高级调度(作业调度)中级调度(进程调度)低级调度(线程调度)必须的,但中级和高级调度,则可有可无。25、衡量一个调度算法好坏的标准资源利用率吞吐量公平性响应时间周转时间一言蔽之,先公平,后效率26、会计算调度的“平均周转时间”(实际操作)P122 27、几种典型的调度算法:先来先服务,短作业优先,时间片轮转,优先级调度,彩票调度(实际操作)P126132 第三章同步、通信与死锁0、并发管理任何一个时间点有多个进程同时在运行名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 21 页 -1、并行情况下会出现的问题、原因*2、同步的目的(书上,课件均无结果,复习课上听到的作为依据)(1)使得并行情况下结果依然保持确定性(2)限制越少越好3、Peterson算法Dekker 算法的演化)一种纯软件算法,通过两个变量来实现互斥访问临界区。是免锁编程的基本算法之一,这个算法设计得很巧妙,核心就是三个标志位是怎样控制两个方法对临界区的访问的。4、信号量的定义,取值含义,PV 操作信号量:表示物理资源的实体,是一个与队列有关的整型变量。取值:用一个结构型数据结构表示,有两个分量(1)信号量的值(2)信号量队列的指针PV 操作:P(s):将信号量value 值减 1,若结果小于0,则执行P 操作的进程被阻塞,排入与s信号量有关的 list 所指队列中;若结果大于等于0,则执行 P 操作的进程继续执行。V(s):将信号量 value 值加 1,若结果不大于0,则执行 V 操作的进程从信号量s 有关的 list所指队列中释放一个进程,使其转换为就绪态,自己则继续执行;若结果大于0,则执行V操作的进程继续执行。另种说法:信号量:强大的同步原语,既可以用于进程同步,也可以用于进程通信信号量 sem为一个整型变量,对它可以有两个操作:增加(V)、减少(P)P 操作(down):sem-1 if(sem 0)睡眠V 操作(up):sem+1 if(sem=0)唤醒5、PV 操作实现生产者消费者问题P179 int B;semaphore full;empty=1;full=0;cobegin process producer()process comsumer()while(true)while(true)produce();P(full);名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 21 页 -P(empty);take()from B;Append()to B;V(empty);V(full);consum();6、唤醒睡眠机制实现生产者消费者问题P188189?如果生产者发现缓冲区满了,则唤醒消费者,自己睡眠如果消费者发现缓冲区空了,则唤醒生产者,自己睡眠7、几种进程间的通信机制(1)信号通信机制(2)管道通信机制(3)共享主存通信机制(4)信息传递机制(5)信号量机制8、死锁的概念如果一个进程集合中的每个进程都在等待只能由此集合中的其他进程才能引发的事件,而无限期陷入僵持的局面称为死锁。9、死锁产生的四个必要条件、破坏死锁方法的原则(1)互斥条件(2)占有和等待(3)不剥夺条件(4)循环等待这四个条件是死锁发生的必要条件,只要其中有一个不成立,则不会发生死锁解决方法:死锁防止-分别破坏四个条件之一死锁避免-可以允许前三个条件发生,但不允许第四个条件发生死锁检测与恢复-定期检测,发生死锁后采取措施不采取任何措施破坏条件(1):不大现实的做法,因为资源的独占性通常是不可改变的破坏条件(2):进程运行前,只有资源全部申请到了,才能运行,运行过程中不能再申请新的资源破坏条件(3):当进程去申请新的资源时,必须释放原来占用的资源,重新申请破坏条件(4):建立一种策略,对资源进行分类,只能按照某种规则进行资源申请结束所有进程,重启操作系统撤销处于死锁状态的所有进程逐个撤销处于死锁状态的进程,回收其占用的资源,直到死锁解除逐个剥夺处于死锁状态进程占用的资源,直到死锁解除回滚到死锁发生前的状态10、银行家算法的思想名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 21 页 -系统中的所有进程放入进程集合,在安全状态下系统收到进程的资源请求后,先把资源试探性地分配给它。现在,系统将剩下的可用资源和进程集合中其他进程还需要的资源数作比较,找出剩余资源能满足的最大需求量的进程,从而保证进程运行完毕归还全部资源。这时,把这个进程从进程集合中删除,归还其所占用的所有资源,系统的剩余资源则更多,反复执行上述步骤。最后检查进程集合,若为空则表明本次申请可行,系统处于安全状态,可以真正实施本次分配;否则,只要进程集合非空,系统便处于不安全状态,本次资源分配暂不实施,让申请资源的进程等待。(约束条件每个客户必须预先说明自己所要求的最大资金量。每个客户每次提出部分资金量申请和获得分配。如果银行家满足客户对资金的最大需求量,那么客户在资金运作后,应在有限时间内全部归还银行。)11、给定一个分配方案,判断是否会产生死锁(实际操作)第四章 存储管理1、编译、链接和加载都干了些什么*编译、链接与加载编译器完成的是代码的翻译,在链接之前,它不确定具体的地址,而是把需要重定位地址的地方写到符号表里。连接器把各个“可重定位目标文件”组合成一个可执行文件,并确定具体的地址。加载器根据文件中的地址,以及具体的内存管理方案,把程序加载到特定的位置。编译:将源程序翻译为机器指令,生成目标文件,这些目标文件并不能直接执行。链接:将多个目标文件模块装配成一个完整的程序,它解析符号表,把对符合的引用转换成具体的数值地址。加载:执行程序之前,当获得了一块实际的内存之后,加载器根据该内存的首地址,再次修改和调整可执行文件中的地址,完成地址的最后绑定。2、现代计算机系统的存储器层次现代的存储器,已经不仅仅指内存了,它包括了寄存器,缓存,内存,磁盘这样一种层次结构特点:(从下往上)访问速度越来越快,容量越来越少,价格越来越贵金字塔型(从下往上)磁带,磁盘,主存储器,高速缓存,寄存器名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 21 页 -3、几种不太主流的内存管理方法:固定分区、可变分区、伙伴系统(考的不多)(1)固定分区:主存空间被划分成固定数目、大小不等的分区,每个分区可执行一个作业,各作业并发执行。执行方法:根据当天的作业情况,进行分区;建立“主存分配表”;根据待运行作业的内存需求,选择合适的分区,载入运行。(2)可变分区:根据作业的大小选择分区,但分区的划分是根据作业和空余内存来动态分配的。执行方法:每当来一个新进程,从可用内存中划分出一块连续的区域,供进程使用,没有合适的区域,则等待别的进程释放内存。(3)伙伴系统:任何尺寸为2i 的空闲块,都可以分解成两个2(i-1)的块,反过来也可以把他们合并起来,这两个块,成为伙伴。执行方法:建立一个空闲数组freei,i=0,N,每个元素表示一个链表,该链表中的元素是大小为2i 的分配单元。5、分页系统牵涉到哪些东西(涉及实际操作)(1)页面(2)页表(3)页表基址寄存器(4)MMU 6、一级页表、二级页表中虚拟地址到物理地址的映射(联系5,涉及实际操作)7、虚拟空间的大小(实际操作)8、页表项里主要记录了什么记录了物理页面的内存起始地址,以及其他的关于该物理页面的信息9、在 Intel 处理器下,虚拟地址的构成(一级页表、二级页表)(实际操作)名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 21 页 -11、段式管理的概念段式管理:一个进程分成几个部分,每一个部分占据一个区(逻辑)段式管理最大的一个特点:每个段都是一个独立的虚拟地址空间。(这里的“段”,指的是逻辑段,它们也要通过某种映射机制,把逻辑段,映射为物理内存的专门区域)12、段式管理能解决页式管理哪两个问题*共享内存进程所需内存超过虚拟内存13、段式管理的虚拟空间大小(实际操作)建议:段式与页式联系着记忆长度:页式(固定)段式(可变)虚拟空间大小:页式(透明,相对固定)段式(不透明,不定)。(每一个段长都根据需要,各有长短,但实际上,每一个段最长可以有最大虚拟空间地址因此采用段式管理,每个进程的虚拟地址空间,可以远大于4G(以 32 位机器为例))14、段式管理下,虚拟地址的组成(实际操作)(段寄存器、段选择符在实模式下,CS,DS,ES,SS用来存放一个段的基地址在保护模式下,它们存放了新的东西段选择符,里面存放了段表内偏移因为怕不够,Intel 又增加了两个段寄存器FS,GS 段表、段表项它们的关系跟页表、页表项的关系一样,段表里面放了很多段表项,Intel 里叫“段描述符”段描述符里存放了,该逻辑段,会被映射到的物理段的基地址段选择符里存放了应该访问第几个段描述符,即上面图中的“段号”段选择符结构(段表内偏移)段描述符结构(段表项)段表基址寄存器同 CR3 一样,每一个进程,都有一个段表,他保存的是该进程的段表的基地址)15、根据给定的虚拟地址,算出物理地址(简单的方式)16、虚拟存储虚拟存储器:在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理主存容量大得多的、可寻址的“主存储器”。实际上,虚拟存储器对用户隐蔽可用物理存储器的容量和操作细节,虚拟存储器的容量与物理主存大小无关,而受限于计算机的地址结构和可用的磁盘容量,如Intel x86 的地址线是32 位,则程序可寻址范围是4GB,Windows 和 Linux 都为应用进程提供一个4GB 的逻辑主存。17、局部性的概念,有什么用*局部性:某存储单元被引用之后,程序倾向于过短时间再次引用该单元(时间局部性),或者倾向于过一段时间引用该单元附近的存储单元(空间局部性)名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 21 页 -以下为关于局部性的一些研究成果:程序中大部分是顺序结构,分支与函数调用等跳转结构较少循环结构由少量代码组成,多次执行过程调用深度并不大数组、记录之类的结构,一般是分配连续的空间程序中不少部分是互斥的,并非每次都运行局部性的意义:通俗地说,局部性就是指一块存储单元在某一时刻被引用之后,它周围的一部分,会被引用一段时间,那么,把这部分放入内存,就可以保证程序的运行,即部分装入另外,可以把这一部分需要被引用一段时间的存储单元,放到上一级的缓存中,以加快访问速度18、在现代存储器层次中,当处理器发出一个内存地址调用时,会如何来寻找*19、缺页中断率的计算公式P264 第六章文件管理1、文件系统是对磁盘使用的抽象(1)文件系统的功能:让人可以方便地存取数据(2)特点:可以看做是对使用磁盘的抽象,使人们可以不用去管磁盘具体是如何来存储,读取数据屏蔽了底层的磁盘使用上面的繁琐细节,而用一种简单的逻辑结构呈现给用户2、文件系统的设计目标让用户可以仅凭文件名来操作文件3、文件系统包括两大基本要素:文件、目录文件:保存的信息的组织形式目录:保存文件的有关信息文件系统就是对文件和目录的组织和操作4、文件的概念,文件名、文件类型、文件属性等文件:由文件名所标识的一组信息的集合(1)文件名:文件主要的存取根据,文件系统的设计目标就是能够按照文件名来操作文件。各个系统对文件名有不一样的安排,比如有些系统有大小写要求,有些对文件名长度有要求,有些系统凭后缀名来识别文件类型,等等(2)文件类型:以Linux 为例,一般有以下几种文件类型:普通文件、目录文件、块设备文件,字符设备文件、管道文件、套接字文件等,他们分别有不同的作用(3)文件属性:比如文件的拥有者、组拥有者、文件权限、文件的时间(创建时间、最后访问时间、最后修改时间等)、上锁标志、文件口令等5、文件内容三种访问方式:顺序、随机、索引物理存储分为三种方式:连续(对应随机)、链式(对应顺序)、索引(对应索引)名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 21 页 -(1)顺序访问:早期的存储介质,如磁带,只能进行顺序访问,即先访问了前面的内容,才能访问之后的内容(2)随机访问:像磁盘,光盘这样的介质,就可以根据位置,直接跳到所在的位置,如果文件系统是在内存中的话,更是可以实现随机访问(3)索引访问:为加快文件的存取,可以建立索引,通过索引来存取文件,这是数据库文件常用的方式6、目录、目录项的概念,它们里面各存放了什么目录概念:目录就是存放了文件的信息,我们首先通过目录,然后才能找到文件存放内容:目录中存放了文件,以及其他目录,从而组成了一个树形结构PS:每个目录都有至少有两个特殊的文件:.指当前目录.指上级目录目录项:文件信息,有助于找文件7、从抽象观点看,磁盘的组成若从抽象观点看,整个磁盘可以看做一个连续的大的数组(1)主引导记录(Main Boot Record):位于磁盘的最前面的一个扇区,512 字节(2)主引导记录中分成三部分:主引导程序,占446 字节分区表,占64 字节,每个表项占 16 字节魔数,0 x55AA(3)引导标记:如果此标记错误,将无法启动(4)分区表,记录之后的磁盘部分分成哪些分区,由于只有4 个表项,因此只能有四个分区。为了解决这个问题,引入了“扩展分区”和“逻辑分区”的概念(5)引导程序:系统刚加电时,BIOS 中的程序会读取这里面的程序,来进行最初的引导8、以使用 inode 的文件系统为例,了解一个这样的文件系统的磁盘组成(超级块、inode 区,数据区)9、FAT 文件系统如何来存文件的内容放在哪文件分配表FAT 实际上是一个虚拟的概念,因为硬盘不可能让我们看到它画个表格出来。之所以引入这个概念,是为了提高效率,更好的来管理和使用硬盘。文件分配表要理解起来也不难。我们可以把硬盘看作一块地,这时有张三、李四,王五三个人要分这块地,分别要在这块地上种上黄豆,小麦,水稻,那么怎么样既快又准的分配土地呢?这时你可能会名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 21 页 -想到我们画张图,然后再按图分,不错,就是这样的。硬盘上要存储一个文件时,也是要预先写一个 FAT,这个 FAT 上有这个文件的位置,起始大小,结束大小等信息。这样硬盘的磁头在寻找这个文件时,只要读出FAT 中的相关信息就可以很快定位到这个文件了,大大提高了效率。不知道通过以上比较形象的比喻,你是否明白了。文件管理系统通过FAT 来管理文件的方法与硬盘上的文件分配表类似。(PPT 里没有百度的答案 )10、inode 类型的文件系统,如何来存文件内容放在哪属性块块块11、FAT 的主要缺陷是什么整表放入内存,占用过大内存12、inode 类型的文件系统,其目录项是什么构成Inode 文件名13、如何通过给定的路径字符串,找到对应的文件结合例子,具体分析?以/usr/bin/mbox 为例,说明如何来找到这个文件首先,根目录/的 i-node 位于分区开始后的固定位置,所以很容易找到/的 i-node,从而得到/目录项里的文件有哪些,然后得到/usr 这个目录项的磁盘位置?查看/usr 的目录项,找出其i-node 号,然后在i-node 表中根据i-node 号,找到/usr对应的 i-node,查看其内容,找到/usr/bin 目录项的磁盘地址?。依次这么寻找,就能找到mbox 这个文件的每一部分具体的磁盘地址14、为何要引入虚拟文件系统现存许多种不同的文件系统,用户可能需要记住不同文件系统的操作命令和方法在网络环境中,常需要从一个文件系统下去访问另一个未知的文件系统由等等需求,产生了虚拟文件系统(Virtual File system Switch,VFS)15、虚拟文件系统的大致实现?虚拟文件系统是内核的一个子系统,提供一个通用文件系统的模型,包括常用的文件系统功能,处理与底层设备相关的细节,为应用程序提供标准接口,即文件系统API。?具体的文件系统尽管可能有不同的操作命令,但通过VFS,都呈献给用户统一的接口。名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 21 页 -10、为什么要引入POSIX(Portable Operating System Interface for Computer Environments,计算机环境可移植操作系统接口)?POSIX 是系统调用标准。为了解决各种操作系统之间,可能存在不同的系统调用的不一致性,而产生了一个行业标准。只要操作系统实现了POSIX 标准规定的接口,那么,基于 POSIX编写的程序,就可以在不同的操作系统上实现可移植4、怎么理解操作系统是一台“虚拟计算机”(略)操作系统管理好硬件资源,屏蔽了最底层硬件接口使用上的复杂性,然后向上提供了更容易使用的接口作为一个程序来讲,当你运行的时候,你并不会直接用到硬件接口,你用到的是操作系统提供的接口1、并发情况下会出现的问题、原因问题:与时间有关的错误(1)结果不唯一(2)永远等待原因:两个交互的并发进程,其中一个进程对另一个进程的影响往往不可预期,甚至无法在现,这是因为它们执行时的相对速度不可预测,交互进程的速率不仅受到操作系统处理中断的方式及处理器调度策略的影响,而且还受到与其交互的并发进程的影响,甚至受到与其无关的其他进程的影响。由于一个进程的执行速度通常无法为另一个进程所知,对于共享公共变量(资源)的并发进程来说,计算结果往往取决于这一组并发进程执行的相对速度。一些名词解释(没说要考辅助复习看看吧)裸机:只有计算机硬件而没有任何软件支持的计算机称为“裸机”。虚拟机:裸机在配有软件之后就成为功能更强、使用更方便的机器,这种配有软件的机器称为扩充机或虚拟机。UNIX:一种通用的多用户分时交互型的操作系统。MS-DOS:微软公司(Microsoft,简称 MS)开发的一种单用户单任务的操作系统。MS Windows:微软公司开发的一种图形化的通用操作系统,主要在个人计算机上使用。操作系统:操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合:它们能有效地组织和管理计算机系统中的硬件及软件资源,合理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便和有效地使用计算机,使整个计算机系统能高效地运行。预输入(脱机输入):事先将装有用户程序和数据的纸带(或卡片)装入纸带输入机(或卡片机),在一台外围机的控制下,再抵带(卡片)上的数据(程序)输入到磁带上。当CPU需要这些程序和数据时,再从磁带上高速地调入内存。名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 21 页 -缓输出(脱机输出):当 CPU需要输出时,可由CPU直接高速地把数据从内存送到磁带上,然后瑞在另一台外围机的控制下,将磁带上的结果通过相应的输出设备输出。批处理操作系统:早期的一种大型机用操作系统。单道批处理系统:系统对作业的处理是成批进行的,但内存中始终只驻留一道作业的系统。作业调度:是指按照某种策略从外存的后备作业中选择若干作业调入内存。进程调度:是指从内存中选择一个作业,为其分配CPU后执行。吞吐量:指单位时间内完成的工作量。周转时间:是指从作业进入系统开始,直到其完成并退出系统为止所经历的时间间隔。平均周转时间:是指所有作业周转时间之平均。分时:是指把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。分时操作系统:是利用分时技术的一种联机的多用户交互式操作系统,每个用户可以通过自己的终端向系统发出各种操作控制命令,完成作业的运行。9、实时系统:是一个能够在指定或者确定的时间内完成系统功能以及对外部或内部事件在同步或异步时间内做出响应的系统。网络操作系统:一种在通常操作系统功能的基础上提供网络通信和网络服务功能的操作系统。分布式操作系统:一种以计算机网络为基础的,将物理上分布的具有自治功能的数据处理系统或计算机系统互联起来的操作系统。通用操作系统:同时兼有多道批处理、分时、实时处理的功能,或者其中两种以上功能的操作系统。并行:指两个或多个事件在同一时刻发生。强调时间点。并发:指两个或多个事件在同一时间间隔内发生。强调时间段。程序:指令的集合。是一个静态实体(Passive Entity)进程:在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个活动实体。互斥共享:指一段时间内只允许一个进程(线程)访问某种资源。同时共享:指一段时间内允许多个进程“同时”访问某类资源。名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 21 页 -多道程序设计技术:是指在内存中同时放若干道相互独立的程序,宏观上它们同时处于运行状态,且都未运行完,这些程序共享系统中的各种资源,当一道程序暂停执行时,CPU立即转去执行另一道程序。进程:一个具有独立功能的程序对某个数据集在处理机上的执行过程和资源分配的基本单位。作业:在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。用户态:若进程的用户程序段在执行时,该进程处于用户态,也称为目态。系统态:一个进程的系统程序段在执行时,该进程处于系统态,也称为内核态或管态。进程上下文:进程执行活动全过程的静态描述。包括计算机中与执行该进程有关的各寄存器的值、程序段在经过编译之后形成的机器指令代码集(正文段)、数据集、各种堆栈和PCB结构。进程空间:进程中所有能使用的地址集合。原语:操作系统提供的为完成某系统功能的最基本的不可分割的操作。原语不允许并发执行,分为机器指令级和功能级两大类,并在内核下执行。程序的并发执行:一组在逻辑上相互独立的程序或程序段在执行过程中,其执行时间在宏观上相互重叠。(强调时间段)程序的并行执行:一组在逻辑上相互独立的程序或程序段在同一时刻同时执行。(强调时间点)间接制约:由共享公有资源而造成的对并发进程执行速度的制约称为间接制约。直接制约:一组在异步环境下的并发进程,各自的执行结果互为对方的执行条件,从而限制各进程的执行速度的过程称为并发进程的直接制约。临界资源:在一段时间内只允许一个进程使用的资源。临界区:每个进程中访问临界资源的那段程序代码。进程互斥:不允许两个以上的共享某资源的并发进程同时进入临界区。信号量:除赋初值外仅能由原语(P、V操作)对其操作的整形变量。进程同步:指一组并发进程由于相互合作,共同完成某种任务,因而相互等待,使得各进程按一定的速度执行的过程。合作进程:具有同步关系的一组进程。管程:一组相关的数据结构和过程一并称为管程。名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 21 页 -一个管程定义了一个数据结构和能为并发进程所执行(在该数据结构上)的一组操作,这组操作能同步进程和改变管程中的数据。进程通信:进程之间的信息交换。管道:指用于连接一个读进程和一个写进程以实现他们之间通信的一个共享文件,又名“pipe”文件。管道在物理上由文件高速缓冲区构成。线程:线程(thread)是一个动态的对象,是