基本要求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操作,管程在逻辑上具有某种联系的进程称为相关进程;在逻辑上没有任何联系的进程称为无关进程进程同步是指多个进程中发生的事件存在某种时序关系,必须协同动作,相互配合,以共同完成一个任务进程的互斥是指由于共享资源所要求的排他性。