基本要求1.掌握操作系统的基本概念、基本结构和运行机制。2.深入理解进程线程模型,深入理解进程同步机制,深入理解死锁概念及解决方案。3.掌握存储管理基本概念,掌握分区存储管理方案,深入理解虚拟页式存储管理方案。4.深入理解文件系统的设计、实现,以及提高文件系统性能的各种方法。5.了解I/O设备管理的基本概念、I/O软件的组成,掌握典型的I/O设备管理技术。6.了解操作系统的演化过程、新的设计思想和实现技术。考试内容一、操作系统概述1、操作系统基本概念、特征、分类。基本概念:是计算机系统中的一个系统软件,它是这样一些程序模块的集合——它们能有效地组织和管理计算机系统中的硬件及软件资源,合理地组织计算机的工作流程,控制程序的执行,并向用户提供各种服务功能,使用户能够灵活的、方便、有效地使用计算机,并使整个计算机系统能够高效地运行(是具有各种功能的、大量程序模块的集合)。任务:1.组织和管理计算机系统中的硬件及软件资源2.向用户提供各种服务功能特征:并发性(用户程序与用户程序之间并发执行;用户程序与操作系统程序之间并发执行)、共享性(互斥共享和同时共享)、随机性(要充分考虑各种各样的可能性)。分类:1.批处理操作系统(成批处理、SPOOLing技术)简单/多道批处理系统2.分时系统(多路性、交互性、独占性、及时性)3.实时操作系统硬实时/软实时系统(实时时钟管理、过载保护、高可靠性)4.嵌入式操作系统可针对需求进行裁剪、调整和生成(高可靠性、实时性、占有资源少、智能化能源管理、易于连接、低成本等)5.个人计算机操作系统(某一时间为单用户服务、图形界面、使用方便)6.网络操作系统集中式/分布式模式(共享数据、资源及服务同运算处理能力)7.分布式操作系统(统一/同一操作系统、资源的深度共享、透明性、自治性)集群8.智能卡操作系统资源管理、通信管理、安全管理、应用管理2、操作系统主要功能。功能:1.进程管理(处理器管理)进程控制、进程同步/互斥、进程间通信、调度2.存储管理内存的分配与回收、存储保护、内存扩充3.文件管理文件存储空间的管理、目录管理、文件系统的安全性4.设备管理需具备中断处理、错误处理等功能5.用户接口3、操作系统发展演化过程,典型操作系统。发展:1.手工操作2.监控程序(早期批处理)3.多道批处理4.分时系统5.UNIX通用操作系统6.个人计算机操作系统(Win)7.Android操作系统4、操作系统结构设计,典型的操作系统结构。体系结构:1.整体式结构(结构紧密、接口简单直接、系统效率较高)2.层次式结构分层原则(同整体式、模块间结构关系清晰、增加/替换不影响其他层次)3.微内核(客户机/服务器)结构运行在核心态的内核、运行在用户态的并以客户机/服务器方式进行的进程层(可靠、灵活、适宜于分布式处理的计算环境)二、操作系统运行机制操作系统的运行环境主要包括计算机系统的硬件环境和由其他的系统软件组成的软件环境。寄存器:1.用户可见寄存器数据寄存器、地址寄存器、条件码寄存器2.控制和状态寄存器程序计数器(PC)、程序状态字(PSW)指令类型:访问存储器指令、I/O指令、算数逻辑指令、控制转移指令、处理器控制指令1、内核态和用户态。内核态(管态):操作系统管理程序运行的状态,具有较高的特权级别。可执行全部指令(包括特权指令),使用所有资源,并具有改变处理器状态的能力。用户态(目态):用户程序运行时的状态,具有较低的特权级别。只可执行非特权指令。CPU状态的转换:1.目态—管态的转换通过中断或异常2.管态—目态的转换通过设置PSW指令(修改程序状态字)2、中断与异常。中断:指CPU对系统中或系统外发生的异步事件的响应。(中断源/中断请求/中断处理程序/中断断点/中断响应/中断返回/中断字/中断向量表)特征:能充分发挥处理器的使用效率、提高系统的实时能力系统:硬件中断装置和软件中断处理程序(中断请求的接收、中断响应、中断处理)典型:1.I/O中断I/O操作正常结束、I/O异常2.时钟中断维护软件时钟、处理器调度、控制系统定时任务、实时处理3.硬件故障中断4.程序性中断(由操作系统完成/程序自己完成)5.系统服务请求(访问中断)由处理器提供的专用指令(访管指令)来激发异常:指CPU对系统内正在执行的指令的响应。分类:1.中断时钟中断/输入输出(I/O)中断/控制台中断/硬件故障中断2.异常程序性中断/访管指令异常多级中断作用:1.对各类中断信号依据其紧急程度和重要性划分级别。2.解决如果有重要程度相当的多个中断信号同时到达时,如何选择首个被处理的中断信号的问题。多级中断方法:固定优先数、轮转法一类不可屏蔽的中断信号:机器故障中断。3、系统调用接口。访管指令把用户态切换成内核态,并启用操作系统。系统调用:用户在程序中调用操作系统所提供的一些子功能。区别(系统调用与一般过程调用):1.运行在不同的系统状态2.状态的转换3.返回问题4.嵌套调用分类:1.进程控制类系统调用2.文件操作类系统调用3.进程通信类系统调用4.设备管理类系统调用5.信息维护类系统调用广义指令(系统调用命令)和机器指令的区别:机器指令是由硬件线路直接实现的,而“广义指令”则是由操作系统所提供的一个或多个字程序模块,即软件实现的。在系统中为控制系统调用服务的机构成为陷入(TRAP)或异常处理机构。4、存储系统。计算机存储系统的设计主要考虑三个问题:容量、速度和成本。容量、速度和成本的匹配问题:采用层次化的存储体系结构存储访问局部性原理:提高存储系统性能的关键存储保护:1.界地址寄存器(界限寄存器)2.存储键5、I/O系统。I/O结构:外部设备的控制器通过I/O硬件结构与中央处理器连接。通道:独立于中央处理器的,专门负责数据I/O传输工作的处理单元。特点:实现中央处理器和各种外部设备并行工作。DMA技术(直接存储器访问):通过系统总线中的一个独立控制单元,自动地控制成块数据在内存和I/O单元之间的传送。缓冲技术:用在外部设备与其他硬件部件之间的一种数据暂存技术,它利用存储器件在外部设备中设置了数据的一个存储区域,称为“缓存区”。用途:1.用在外部设备与外部设备之间的通信上的。2.用在外部设备和处理器之间的。根本原因:CPU处理数据速度与设备传输数据速度不相匹配,需要用缓冲区缓解其间的速度矛盾。6、时钟(Clock)。分类:硬件时钟和软件时钟用途:1.绝对时钟在计算机系统中不受外界干扰、独立运行的一种时钟。2.相对时钟(间隔时钟)只计算从某一个时间初值开始的一段时间间隔。软件时钟与硬件时钟的同步工作,由操作系统负责维护。三、进程线程模型1、并发环境与多道程序设计。并发环境:采用并行操作技术,并发程序在各自处理机上运行。多道程序设计:允许多个程序同时进入内存并执行。(最基本、最重要的技术)目的:提高整个系统的效率。(系统吞吐量)特点:独立性、随机性、资源共享性程序的并发执行:并发程序在执行期间具有相互制约关系;程序与计算不再一一对应;并发程序执行结果不可再现。实现多道程序设计时,必须协调好资源使用者与被使用资源之间的关系。2、进程的基本概念,进程控制块(PCB)。进程:对正在运行程序的一个抽象。属性:可拥有资源的独立单位;可以独立调度和分派的基本单位。特性:并发性、动态性、独立性、交往性、异步性分类:1.系统进程执行操作系统程序,完成操作系统的某些功能。2.用户进程运行用户程序,直接为用户服务。联系和区别(进程与程序):1.联系:进程由程序、数据和进程控制块(PCB)组成。2.区别:程序是静态的,进程是动态的。进程具有创建其他进程的功能。进程控制块(PCB):用来描述进程的基本情况以及进程的运行变化过程。内容:调度信息和组成信息。组织:线性方式、索引方式和链接方式。3、进程状态及状态转换。三态模型:运行状态、就绪状态、等待状态寄存器高速缓存内存储器硬盘存储器光盘存储器磁带机存储器的层次结构五态模型:运行状态、就绪状态、阻塞状态、创建状态、结束状态七态模型:运行状态、就绪状态、阻塞状态、创建状态、结束状态、就绪挂起、阻塞挂起运行状态就绪状态等待状态等待的事件已经发生三态转换图创建就绪运行退出提交调度超时释放事件出现五态转换图阻塞4、进程控制:创建、撤销、阻塞、唤醒、fork()的使用。进程控制是通过原语来实现的。原语:由若干条指令所组成的程序,用来实现某个特定的操作。(不可分割、不可中断;必须在管态下执行,并且常驻内存)控制:创建原语、撤销原语、阻塞原语、唤醒原语。fork():父进程通过调用fork()函数创建子进程。新创建的子进程基本与父进程相同。特点:只被调用一次,却会返回两次:一次是在调用进程(父进程)中,一次是在新创建的子进程中。5、线程基本概念,线程的实现机制,Pthread线程包的使用。线程:比进程更小的能独立运行的基本单位——线程,CPU调度和分派的基本单位。属性:•每个线程有一个唯一的标识符和一张线程描述表,线程描述表记录了线程执行的寄存器和栈等现场状态。•不同的线程可以执行相同的程序,即同一个服务程序被不同用户调用时操作系统为它们创建不同的线程。•同一进程中的各个线程共享该进程的内存地址空间。•线程是处理器的独立调度单位,多个线程是可以并发执行的。•一个线程被创建后便开始了它的生命周期,直至终止,线程在生命周期内会经历等待、就绪和运行等各种状态变化。特点:•创建一个新线程花费时间少(结果亦如此)。创建线程不需另行分配资源,因而创建线程的速度比创建进程的速度快,且系统的开销也少。•两个线程的切换花费时间少。•由于同一个进程内的进程共享内存和文件,线程之间相互通信无须调用内核,故不需要额外的通信机制,使通信更简便,信息传送速度也快。•线程能独立执行,能充分利用和发挥处理器与外围设备并行工作能力。比较:调度:线程作为调度和分派的基本单位;进程作为资源拥有的基本单位。并发性:进程之间可以并发执行,一个进程中的多个线程之间也可以并发执行。拥有资源:进程拥有自己的资源;线程无资源,但可以访问其隶属进程的资源。系统开销:进程切换的开销也远大于线程切换的开销。实现机制:1.用户级线程可以在不支持线程的操作系统上实现;允许每个进程有自己定制的调度算法。2.内核级线程线程的调用都以系统调用的形式实现。3.混合实现方式使用内核级线程,然后将用户级线程与某些或者全部内核线程多路复用起来。比较:1.线程的调度与切换速度2.系统调用3.线程执行时间Pthread线程包:基于该标准实现的线程包(都含有一个标识符、一组寄存器和一组存储在结构中的属性)。6、进程的同步与互斥:信号量及PV操作,管程。在逻辑上具有某种联系的进程称为相关进程;在逻辑上没有任何联系的进程称为无关进程。进程同步是指多个进程中发生的事件存在某种时序关系,必须协同动作,相互配合,以共同完成一个任务。进程的互斥是指由于共享资源所要求的排他性,进程间要相互竞争,以使用这些互斥资源。互斥解决做法:1.由竞争各方平等协商2.引入进程管理者,由管理者来协调竞争各方对互斥资源的使用。临界资源:指计算机系统中的需要互斥使用的硬件或软件资源,如外设、共享代码段、共享数据结构等。资源共享的程度:互斥、死锁和饥饿进程间的相互制约关系相互感知的程度交互关系一个进程对其他进程的影响潜在的控制问题相互不感知(完全不了解其他进程的存在)竞争一个进程的操作对其他进程的结果无影响互斥、死锁、饥饿间接感知(双方都与第三方交互,如共享资源)通过共享进行协作一个进程的结果依赖于从其他进程获得的信息互斥、死锁、饥饿直接感知(双方直接交互,如通信)通过通信进行协作一个进程的结果依赖于从其他进程获得的信息死锁、饥饿同步机制准则:1.空闲则入2.忙则等待3.有限等待4.让权等待互斥的软件方法:在进入区检查和设置一些标志,如果已有进程在临界区,则在进入区通过循环检查进行等待;在退出区修改标志。算法:1.单标志算法2.双标志、先检查算法3.双标志、后检查算法4.先修改、后检查、后修改者等待算法互斥的硬件方法:用一条指令完成读和写两个操作,因而保证读操