第一章 操作系统引论
操作系统的作用
1.OS作为用户与计算机硬件系统之间的接口,OS是一个系统软件,因而这种接口是软件接口。
2. OS作为计算机系统资源的管理者。即:处理机管理,存储器管理,I/O设备管理,文件管理;
3. OS用作扩充机器,通常把覆盖了软件的机器称为扩充机器或虚机器。
操作系统的基本特性
1.并发(Concurrence) :并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生。
2.共享(Sharing):
①互斥共享方式:在一段时间内只允许一个进程(线程)访问该资源。把在一段时间内只允许一个进程访问的资源称为临界资源或独占资源。
②同时访问方式:允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问。
3.虚拟(Virtual):通过某种技术把一个物理实体变为若干个逻辑上的对应物。物理实体(前者)是实的, 即实际存在的;而后者是虚的,是用户感觉上的东西。在OS中利用了多种虚拟技术,分别用来实现虚拟处理机、虚拟内存、虚拟外部设备和虚拟信道等。
4.异步性(Asynchronism):在多道程序环境下,允许多个进程并发执行, 但只有进程在获得所需的资源后方能执行,进程是以人们不可预知的速度向前推进,此即进程的异步性。
操作系统的主要功能
1.处理机管理功能
①进程控制:为作业创建进程、撤消已结束的进程,以及控制进程在运行过程中的状态转换。在现代OS中,进程控制还应具有为一个进程创建若干个线程的功能和撤消(终止)已完成任务的线程的功能。
②进程同步:为多个进程(含线程)的运行进行协调。有两种协调方式: ① 进程互斥方式,这是指诸进程(线程)在对临界资源进行访问时, 应采用互斥方式; ② 进程同步方式,指在相互合作去完成共同任务的诸进程(线程)间,由同步机构对它们的执行次序加以协调。
③进程通信:实现在相互合作的进程之间的信息交换。当相互合作的进程(线程)处于同一计算机系统时,通常在它们之前是采用直接通信方式,即由源进程利用发送命令直接将消息(message)挂到目标进程的消息队列上,以后由目标进程利用接收命令从其消息队列中取出消息。
④调度:在后备队列上等待的每个作业,通常都要经过调度才能执行。在多线程OS中,通常是把线程作为独立运行和分配处理机的基本单位,为此,须把就绪线程排成一个队列,每次调度时,是从就绪线程队列中选出一个线程,把处理机分配给它。
2.存储器管理功能
①内存分配:可采取静态和动态两种方式。在内存分配的机制中应具有这样的结构和功能:① 内存分配数据结构;② 内存分配功能;③ 内存回收功能;
②内存保护:确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰。通常由硬件来完成越界检查,再在软件配合下进行管理。
③地址映射:将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能应在硬件的支持下完成。
④内存扩充:借助于虚拟存储技术,从逻辑上去扩充内存容量,使用户所感觉到的内存容量比实际内存容量大得多;或者是让更多的用户程序能并发运行。系统必须具有内存扩充机制,用于实现下述各功能:①请求调入功能;② 置换功能。
3.设备管理功能
①缓冲管理:在I/O设备和CPU之间引入缓冲,可有效地缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量。
②设备分配:根据用户进程的I/O请求、系统的现有资源情况以及按照某种设备分配策略,为之分配其所需的设备。
③设备处理:设备处理程序又称为设备驱动程序。其基本任务是用于实现CPU和设备控制器之间的通信。设备驱动程序还应能及时响应由控制器发来的中断请求。
4.文件管理功能
①文件存储空间的管理
②目录管理
③文件的读/写管理和保护
5.用户接口
①命令接口
②程序接口
③图形接口