第二章 处理器管理
处理器管理是操作系统的重要组成部分,负责管理、调度和分派计算机系统的重要资源处理器,并控制程序执行,由于它是操作系统中最核心的部分,无论是应用程序,还是系统程序,最终都要在处理器上执行,以实现其功能,因此,它的优劣直接影响系统的性能。程序以进程形式来占用处理器和系统资源,处理器管理中最重要的是处理器调度,即进程调度,也就是控制、协调进程对处理器的竞争。
进程可被调度在一个处理器上交替执行,或在多个处理器上并行执行,不同类型的操作系统可能采用不同调度策略,交替和并行执行都是并发的类型。为了提高并发粒度和降低并发开销,现代操作系统又引进线程概念,此时进程仍然作为资源分配和管理单位,线程则成为处理器调度的基本单位。本章在简要介绍处理器的硬件运行环境后,首先着重介绍计算机系统的中断机制,然后详细论述进程和线程的基本概念及其实现,最后全面讨论各个层次的处理器调度方法。
本章将讲述:处理器与寄存器、指令与处理器模式、中断、中断源、中断系统、多中断的响应与处理、进程及其状态、进程的数据描述、进程的管理、进程切换与模式切换、多线程技术概述、KLT与ULT、多线程实现的混合策略、处理器调度的层次、处理器调度算法。
第三章 存储管理
存储管理是操作系统的重要组成部分,负责管理计算机系统的重要资源-主存储器,由于任何程序及数据必须占用主存空间才能执行和处理,因此,它的优劣直接影响系统性能。主存对数据的存取比处理器处理数据的速度慢得多,硬件技术的发展还进一步拉大这种距离,通过高速缓存可部分缩小差距,但高效的主存管理仍然是操作系统设计中的重要课题。
主存空间一般分为两部分:一部分是系统区,存放操作系统内核程序和数据结构等;另一部分是用户区,存放应用程序和数据,存储管理对核心区和用户区都应提供支持和进行管理,当然也包括对辅存(磁盘)空间的管理。尽管现代计算机主存容量不断增大,但仍然不能保证有足够大空间支持大型应用和系统程序及数据的使用。因此,操作系统的任务之一是要尽可能方便用户使用和提高主存利用率,此外,有效的存储管理也是多道程序设计系统的关键支撑。具体地说,存储管理包含以下功能:
·分配和去配:进程可请求对主存区的独占使用,主存区的请求与释放、即主存空间分配和去配操作由存储管理完成;
·抽象和映射:主存被抽象使得进程认为分配给它的地址空间是一个大而连续地址组成的数组,或者把主存抽象成二维地址空间,以支持模型化程序设计;同时建立抽象机制支持进程使用逻辑地址来映射到物理主存单元,实现地址转换;
·隔离和共享:系统负责隔离分配给进程的主存区,互不干扰、免遭破坏,确保进程对自己存储单元的独占使用,以实现存储保护功能;系统也允许多个进程共享主存区,在这种情况下,越过隔离机制并授权进程允许共享访问,达到既能提高主存利用率又能共享主存某区内信息的目的;
·存储扩充:实际主存容量不应该限制应用程序的大小,物理主存和辅存被抽象为虚拟主存,允许用户的虚拟地址空间大于主存物理地址空间,存储管理能自动地在不同存储层次中移动信息。
本章将讲述:存储管理的主要模式、存储管理的功能、虚拟存储器的概念、存储管理的硬件支撑、单连续分区存储管理、可变分区存储管理、页式存储管理的基本原理、页式存储管理的地址转换、页式虚拟存储管理、页面调度、反置页表、段式存储管理、段式虚拟存储管理、段页式存储管理。
第四章 设备管理
设备管理是操作系统中最庞杂和琐碎的部分,普遍使用I/O中断、缓冲区管理、通道、设备驱动调度等多种技术,这些措施较好地克服由于设备和CPU速度的不匹配所引起的问题,使主机和设备并行工作,提高设备使用效率。另一方面,操作系统将所有设备(如磁带机、打印机、显示器和终端等)都定义为文件,统一在文件系统之下,赋予文件属性,对设备的操作就类似于对文件的操作,其优点是:尽可能统一文件和设备的I/O处理;尽可能把设备文件和普通文件纳入同一保护机制下。为了方便用户或高层进程使用,设备管理还对各种设备进行抽象,配置驱动程序,提供统一界面,屏蔽设备的物理细节和操作过程。为此,设备管理应具有以下功能:1)设备中断处理;2)缓冲区管理;3)设备分配和去配;4)设备驱动调度;5)虚拟设备及其实现。
本章将讲述:设备管理概述、I/O控制方式、总线与I/O、I/O软件的实现层次、I/O软件的实现、I/O缓冲区、设备独立性、独占型外设的分配、磁盘的物理结构、磁盘的驱动调度、SPOOLing系统、批处理系统的作业管理。
第五章 文件管理
文件系统是操作系统中负责存取和管理信息的模块,它用统一方法管理用户和系统信息的存储、检索、更新、共享和保护,并为用户提供一整套方便有效的文件使用和操作方法。文件这一术语不但反映用户概念中的逻辑结构,而且和存放它的辅存的存储结构紧密相关,所以,一个文件必须从逻辑文件和物理文件两个侧面来观察。对于用户来说,可按需要并遵循文件系统的规则定义文件信息的逻辑结构,由文件系统提供“按名存取”来实现对文件信息的存储和检索;对于系统来说,必须采用特定数据结构和有效算法,实现文件的逻辑结构到存储结构的映射,实现对文件存储空间和文件信息的管理,提供多种存取方法。例如,用户希望与具体的存储硬件无关,使用路径名、文件名、文件内位移就可进行数据的读、写、改、删操作;而作为实现这些功能的文件系统来说,它的工作与存储硬件紧密相关,是根据用户的文件操作请求,转化为对磁盘上的信息按照所在的物理位置进行寻址、读写和控制。所以,文件系统的功能就是要在逻辑文件与物理文件、逻辑地址与物理地址、逻辑结构与物理结构之间实现转换,并做到存取速度快、存储空间利用率高、数据可共享、安全可靠性好。文件系统的主要功能有:文件的按名存取,实现从逻辑文件到物理文件的转换;文件目录的建立和维护;文件的查找和定位;文件存储空间的分配和管理;提供文件存取方法和文件存储结构;实现文件共享、保护和保密;提供一组方便易用的文件操作和命令;提供与设备管理的统一接口。
本章将讲述:文件的概念、文件系统及其功能、文件的存储、文件的逻辑结构、文件的物理结构、文件目录结构、文件目录的管理、文件共享、文件保护和保密、存取方法、文件的使用、辅存空间管理、文件操作的执行过程。
第六章 并发程序设计
在多道程序设计系统中,同一时刻可能有许多进程/线程,它们之间存在两种基本关系:竞争关系和协作关系。并发进程/线程可能需要竞争使用资源,互斥是解决进程/线程间竞争关系的手段,为了避免竞争条件,引入临界区概念以解决进程互斥问题;为完成同一任务,某些进程/线程需要分工协作,同步是解决进程/线程间协作关系的手段,进程同步的主要目的是使协作的并发进程之间能有效地共享资源和相互协同工作,从而,使进程的执行过程具有可再现性和执行结果的惟一性。进程低级通信机制主要有:原子操作、锁机制、信号量和PV操作及管程;进程高级通信机制,如消息传递等。
死锁是系统中一组并发进程/线程因等待其他进程占有的资源而永远不能向前推进的僵化状态,对操作系统十分有害。系统产生死锁有四个必要条件:互斥条件、占有并等待条件、不剥夺条件和循环等待条件,以及解决死锁问题的三种策略和方法:死锁的预防、死锁的避免、死锁的检测和解除。
本章将讲述:并发程序设计的概念、并发进程的制约关系、临界区、临界区管理实现的尝试、临界区管理实现的硬件方式、PV操作与进程互斥、PV操作与进程同步、生产者消费者问题探究、管程概述、霍尔管程、霍尔管程的例、进程通信、高级进程通信机制、死锁的产生、死锁的防止、死锁的避免、死锁的检测。