1 操作系统概论 2008 年 10 月 28 日 星期二
1.1 操作系统概观
1.1.1 操作系统的定义和目标
操作系统的基本任务:创建可供用户使用的抽象资源,管理这些资源的并发使用,为应用程序提供良好的运行环境。
软件种类:操作系统(资源调度、信息存取、并发协调等)、支撑软件层(编译程序、汇编程序等等)、应用软件层。
传统意义上,操作系统是指运行在核心态的、受硬件保护的软件。
1.1.2 操作系统的资源管理技术
资源管理:操作系统的主要任务之一就是对资源进行管理,在相互竞争的应用程序之间有序地控制软硬件资源的分配、使用和回收,使资源能够在多个程序直接共享。
进程是贯穿于操作系统设计、实现和使用中的最重要的概念之一。
操作系统通过共享硬件资源的方式来实现虚拟机抽象,所利用的资源管理技术如下:
1. 资源复用:让众多进程共享物理资源,通过适当的复用可以创建虚拟资源和虚拟机,以解决物理资源数量不足的问题。多道程序设计。
a) 空分复用共享:可以进一步分割成更多和更小的单位供进程使用的资源;如 主存
b) 时分复用共享:进程可以在一个时间片内以独占方式使用的整个物理资源;如CPU
2. 资源虚化:又称虚拟性,本质是对资源进行转化、模拟或整合,把一个物理资源转变成逻辑上的多个对应物,创建无须共享的多个独占资源的假象,以达到多用户共享一套计算机物理资源的目的。
a) 空分复用比较:空分分割的是实际存在的物理资源,而虚化则实现假象的虚拟同类资源,可以解决某类物理资源数量不足的问题,而且能够为应用程序提供更易于使用,高效的虚拟资源并创建更好的运行环境;
b) 使用虚化技术创建易用且多于实际物理资源的最佳例子是:基于物理主存的虚拟主存;
c) SPOOLING:simultaneous peripheral operations on line.(外部设备同时联机操作)。虚拟打印机。
d) 本质上:是建立在空分复用或者时分复用的基础上。
3. 资源抽象:是指通过创建软件来屏蔽硬件资源的物理特性和接口细节,简化对硬件资源的操作、控制和使用,即不考虑物理细节而对资源执行操作。
a) 例如:面向进程而不是处理器、面向文件而不是磁盘、面向窗口而不是屏幕;
b) 资源复用和资源虚化的主要目标是解决物理资源数量不足的问题,资源抽象则用于处理系统的复杂性,重点解决资源的易用性。
c) 多级资源抽象:抽象也可用于定义和构造多层软件,每层软件都隐蔽下一层的实现细节;
4. 组合使用抽象和虚化技术:对于某一类资源,操作系统往往同时实施抽象和虚化技术。
【资源管理技术的主要目标:解决资源数量不足和易于使用问题】。
现代操作系统对资源进行三种最基础的抽象:进程抽象、虚存抽象、文件抽象。
1. 进程抽象,是对处理器、主存和设备的抽象:是对于进入主存的当前运行程序在处理器上操作的状态集的一个抽象,是并发和并行操作的基础;
a) 与进程抽象相关的所有工作称为进程管理,线程只是将进程内部资源管理与控制执行相分离而得到的结果。
2. 虚存抽象,是对主存和设备的抽象:进程创建隐含着对处理器和主存资源的双重需求;物理主存被抽象成虚拟主存,给每个进程造成一种假象,认为它正在独占和使用整个主存。而进程的虚拟主存空间彼此隔离,具有很好的安全性。
3. 文件抽象,是对设备的抽象:对于信息的存储、检索、更新和保护会带来很多好处,文件抽象也是操作系统对磁盘设备进行多次抽象的结果。
资源抽象:防止硬件资源被失控的应用程序滥用,屏蔽复杂的硬件操作细节。
虚拟机:是由操作系统提供共享硬件资源的方式来实现的,它定义进程运行的逻辑计算环境。从概念上来说,一个进程运行在一台虚拟机上,可以认为一个进程就是一台虚拟机,一台虚拟机就是一个进程。
当然,实际上各进程之间是物理处理器在来回切换,由于每台虚拟机在同一时间段内只占用全部物理资源的一部分,因而可以创建许多泰虚拟机,系统中也就允许许多进程并发或者并行执行。
1.1.3 操作系统的作用和功能 2008 年 10 月 30 日 星期四
操作系统在计算机系统中的三个方面作用:
1. 用户接口和服务提供者:
2. 扩展机或者虚拟机:
3. 资源的管理者和控制者:资源-各种软件+硬件设施;==硬件资源+信息资源(程序和数据)
a) 处理器管理:最终归结为对进程和线程的管理和调度(进程控制、管理;同步、互斥;通信;死锁;控制和管理;
b) 存储管理:主存分配;地址转换与存储保护;主存共享;存储扩充;
c) 设备管理:管理各种外部设备,完成用户所提出的各种I/O请求;
d) 文件管理:针对信息资源的管理;
e) 网络与通信管理
f) 用户接口:程序接口和操作接口。
1.1.4 操作系统的主要特性
1. 并发性:
a) 是指两个或两个以上的活动或事件在同一时间间隔内发生;
b) 实际上是物理CPU在若干道程序之间的多路复用;
c) 在单CPU上,多个程序并发执行是宏观的概念,微观上,顺序执行;
d) 在多道程序环境下,并行性使得多个程序在同一时刻可以在不同的CPU上执行;
e) 并行一定是并发的,是并发的特例;
2. 共享性:
a) 指计算机系统中的资源可以被多个并发执行的程序共同使用;
b) 透明资源共享;
c) 与共享性有关的问题是资源保护、信息保护、存取控制;
d) 共享性和并发性是操作系统的两个基本特征;
3. 异步性:
a) 并发活动会导致随机事件的发生;
b) 操作系统必须保证:只要运行环境相同,多次运行同一程序,都会获得完全相同的结果;
c) 操作系统确保捕捉任何随机事件,正确的处理可能发生的随机事件及其序列,否则会导致严重的后果。