《期末复习资料OS课程笔记》由会员分享,可在线阅读,更多相关《期末复习资料OS课程笔记(10页珍藏版)》请在金锄头文库上搜索。
1、OS课程笔记第一章 操作系统引论操作系统的目标:方便性,有效性,可扩充性,开放性。操作系统的作用有:作为用户与计算机硬件系统之间的接口,作为计算机系统资源的管理者,用作扩充机器。 用户使用计算机的三种方式:命令方式,系统调用方式,图形、窗口方式。 资源分为四种:处理器,存储器,I/O设备,信息(数据和程序)。 推动操作系统发展的主要动力有:不断提高计算机资源利用率,方便用户,器件的不断更新换代,计算机体系结构的不断发展。 操作系统同计算机系统发展的几个阶段:无操作系统的计算机系统,单道批处理系统,多道批处理系统,分时系统,实时系统。 操作系统:一组控制和管理计算机硬件和软件资源,合理地对各类作
2、业进行调度,以及方便用户使用的程序的集合。 分时系统是指:在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。实时系统是指,系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。 实时任务可分为:周期性实时任务和非周期性实时任务,也可分为硬实时任务和软实时任务。 操作系统都具有四个基本特征:(程序)并发,(资源)共享,虚拟和异步。 并行性指:两个或多个事件在同一时间发生,并发性指两个或多个事件在同一时间间隔内发生。 共享指:系统中地资源可供内存中多个并发执行的进程(线程)共同
3、使用,可分为互斥共享方式和同时访问方式。 虚拟指:通过某种技术把一个物理实体变为若干个逻辑上的对应物。如果n是某物理设备所对应的虚拟的逻辑设备数,则虚拟设备的平均速度必然是物理设备速度的1/n。 操作系统的功能:处理机管理,存储器管理,设备管理和文件管理。 处理器管理包括:进程控制,进程同步,进程通信,调度。 存储器管理包括:内存分配,内存保护,地址映射,内存扩充。 设备管理包括:缓冲管理,设备分配,设备处理。 文件管理包括:文件存储空间管理,目录管理,文件的读写管理和保护。 操作系统向用户提供的接口有:命令接口,程序接口,图形接口。 操作系统的结构发展:无结构,模块式结构,层次式结构,微内核
4、OS结构。 软件:指当计算机运行时,能提供所要求的功能和性能的指令和程序的集合。 微内核技术是:精心设计的、能实现现代OS核心功能的小型内核,它与一般的OS(程序)不同,它更小更精炼,它不仅运行在核心态,而且在开机后常驻内存,它不会因内存紧张而换出内存来。 微内核提供的通常都是一些最基本的功能:进程管理,存储器管理,进程通信管理,低级I/O功能。第二章 进程管理程序顺序执行的特征:顺序性,封闭性,可再现性。前趋图:是一个有向无循环图,DAG,用于描述进程之间执行的前后关系。 进程的实体:由程序段、相关的数据段和进程控制块PCB构成。创建和撤消进程都是指:创建或撤消进程中的PCB。 进程具有:动
5、态性、并发性、独立性和异步性的特征。 进程是:进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。 进程的三种基本状态是:就绪状态、执行状态和阻塞状态(等待状态)。 系统根据PCB控制进程,PCB:是进程存在的唯一标志。PCB常驻内存,系统将所有PCB组织成若干链表(或队列),存放在操作系统专门开辟的PCB区内。 进程控制块PCB主要包括四方面的信息:进程标识符(内部标识符和外部标识符),处理机状态(一些寄存器中断时的信息),进程调度信息,进程控制信息。 进程控制块的组织方式通常有:链接方式(指针链接)和索引方式(索引表)两种。 PCB中都设置了:家族关系表项,以标明自己的父进程及所有
6、的子进程。 进程创建进程的典型事件可分为四类:用户登录,作业调度,提供服务,应用请求。 进程创建步骤:1申请空白PCB,2分配资源,3初始化PCB,4插入就绪队列。 初始化进程控制块包括:初始化标识信息;初始化处理机状态信息;初始化处理机控制信息。 引起进程终止的事件有:正常结束,异常结束,外界干预。 进程终止步骤:1根据被终止进程的标识符,在PCB集合中检索出该进程的PCB,读取其状态,2若处于执行状态,立即终止,置调度标志为真,用于指示该进程被终止后应重新进行调度,3如果有的话,终止所有子进程,4将被终止进程拥有的全部资源归还其父进程或系统,5将被终止进程PCB从所在队列(或链表)中移出,
7、等待其他程序来搜集信息。 引起进程阻塞或唤醒的条件:请求系统服务,启动某种操作,新数据未到,无新工作做。 进程阻塞过程:调用阻塞原语block把自己阻塞,如在执行状态,立即停止执行,修改PCB中状态为“阻塞”,PCB插入阻塞队列。转调度程序将CPU重新调度给另一就绪进程。 进程唤醒过程:调用唤醒原语wakeup,将被阻塞的进程从等待该事件的阻塞队列中移出,将PCB中状态改为“就绪”,将PCB插入到就绪队列中去。进程挂起过程:调用挂起原语suspend,如进程为活动就绪状态就改为静止就绪,如活动阻塞状态就改为静止阻塞,如进程正在执行就转向调度程序重新调度。进程激活过程:调用激活原语active,
8、先将进程从外存调入内存,如进程为静止就绪就改为活动就绪,如静止阻塞就改为活动阻塞,判定新就绪的进程的优先级是否能抢夺CPU。 进程之间包括:互斥和同步两种关系。 进程同步的主要任务:是使并发执行的诸进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。 临界区CS(critical section)是指:每个进程中访问临界资源的那段代码。临界区前面用于检查是否能访问临界资源的代码叫进入区,后面加上一段代码退出区用于恢复标志,其余的代码部分叫做剩余区。 进程同步可以采用:信号量机制和管程机制。 同步机制遵循的原则:空闲让进,忙则等待,有限等待,让权等待。 记录型信号量:采用wait(
9、S)和signal(S)来防止类似整型信号量会导致的忙等。信号量实现进程的互斥经典进程同步问题:生产者与消费者 进程通信包括:低级通信(进程之间的互斥和同步)和高级通信(共享存储器系统,消息传递系统以及管道通信系统),又可分为直接通信(通信原语)和间接通信(信箱)。 高级进程通信:是指用户可直接利用操作系统所提供的一组通信命令,高效的传送大量数据的一种通信方式。可归结为三大类:共享存储系统、消息传递系统以及管道通信系统。 管道通信具有三方面的协调能力:互斥,同步,确定对方是否存在。进程通信可分为直接通信方式和间接通信方式。 直接通信方式指:利用OS提供的发送命令,直接把消息发送给目标进程。通常
10、系统提供两条通信命令(原语):Send(Receive,Message)和Receive(Sender,Message)。 间接通信方式指:进程之间的通信需要通过作为共享数据结构的实体,通常称之为信箱。 信箱可分为:私用信箱(单向通信链路的信箱),公用信箱(双向通信链路的信箱)和共享信箱。拥有私用信箱的进程结束时,信箱随之消失。公用信箱在系统运行期间始终存在。 公用信箱和共享信箱的区别在于:公用信箱是由操作系统创建,并提供给系统中的所有核准进程使用的。而共享信箱是由某进程创建给它和其他指定共享进程使用的。 在操作系统中引入线程:是为了减少程序在并发执行所付出的时控开销,使操作系统具有更好的并发
11、性。 在多线程OS中,通常是:在一个进程中包含多个线程,每个线程都是作为利用CPU的基本单位,是花费最小开销的实体。 线程具有以下属性:轻型实体,独立调度和分派的基本单位,可并发执行,共享进程资源。 线程的状态:状态参数和运行状态(也有执行状态,就绪状态,阻塞状态)线程被中止后并不立即释放它所占有的资源,只有当进程中的其它线程执行了分离函数后,被终止的线程才与资源分离,此时的资源才能被其他线程利用。 多线程OS中的进程:进程仍是系统分配资源的基本单位,每个进程都含有多个相对独立的线程,进程不是一个可执行的实体,而是把线程作为独立运行的基本单位。所谓进程处于“执行”状态,实际上是指该进程中的某线
12、程正在执行。把某个进程挂起或激活,该进程的所有线程也都被挂起或激活。 线程的实现方式有:用户级线程和内核支持线程。 内核支持线程是:无论是用户进程中的线程还是系统进程中的线程,他们的创建、撤消和切换等,都是依靠内核实现的。此外,内核空间中还每个线程设置了一个线程控制块。 用户级线程仅存在于用户空间中。这种线程的创建、撤消、同步等都无须利用系统调用来实现。所以线程的切换速度特别快。内核完全不知道用户级线程的存在。 用户级线程的调度以:进程为单位,而内核支持线程的调度以线程为单位。 用户级线程的实现可分为:运行时系统和内核控制线程。第三章 处理机调度和死锁高级调度又称为:作业调度或长程调度,用于决
13、定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程,分配必要的资源,然后,再将新创建的进程排在就绪队列上。 低级调度称为:进程调度或短程调度,用来决定就绪队列中的哪个进程应获得处理机,然后再由分派程序执行把处理机分配给该进程的具体操作。进程调度可分为非抢占方式和抢占方式(优先权原则/短作业优先原则/时间片原则)。 中级调度又称:中程调度。引入中级调度的主要目的是为了提高内存利用率和系统吞吐量,实际上就是存储器管理中的对换功能。 三种调度队列模型:仅有进程调度的调度队列模型,具有高级和低级调度的调度队列模型,同时具有三级调度的调度队列模型。 调度算法是指:根据系统的资源分配策略所规定的
14、资源分配算法。 先来先服务调度算法(FCFS),短作业(进程)优先调度算法(SJF),高优先权优先调度算法,基于时间片的轮转调度算法。(P76) 高优先权优先调度算法分为:非抢占式优先权算法和抢占式优先权调度算法。 优先权分为:静态优先权和动态优先权。 基于时间片的轮转调度算法可分为:时间片轮转法和多级反馈队列调度算法。 实现实时调度的条件:提供必要的信息,系统处理能力强,采用抢占式调度机制,具有快速切换机制。 抢占调度的时机可在时钟中断发生的时候或者立即抢占。 产生死锁的原因有:竞争资源、进程间推进顺序非法。 死锁的发生必须具备四个必要条件:1互斥条件,2请求和保持条件,3不剥夺条件,4环路
15、等待条件。 处理死锁的基本方法有:预防死锁,避免死锁,检测死锁,解除死锁。预防死锁的方法是使以上四个必要条件中的2,3,4不成立,如静态分配,有序分配。 安全序列是指:系统能按某种进程顺序来为每个进程Pi分配其所需资源,直至满足每个进程对资源的最大需求,使每个进程都可顺利完成。 避免死锁:例子:银行家算法避免死锁。 第四章 存储器管理创建进程的第一件事便是:将程序和数据装入内存。将一个用户源程序变为一个可在内存中执行的程序:首先要编译,由编译程序将用户源代码编译成若干目标模块;其次是链接,由链接程序将目标模块和需要的库函数链接在一起形成一个完整的装入模块;最后是装入,由装入程序将装入模块装入内存。 将装入模块装入内存的方式有:绝对装入方式,可重定位装入方式和动态运行时装入方式。 采用可重定位