读书笔记——计算机操作系统
1. 操作系统引论
1.1 操作系统的目标和作用
目标 : 方便性、有效性、可扩充性、开发性。
作用
OS作为用户与计算机硬件系统之间的接口
有图可看出,用户可通过三种方式使用计算机,即通过命令方式、系统调用方式和图表——窗口方式来实现与操作系统的通信,并取得它的服务。
OS作为计算机系统资源的管理者
归纳起来可将资源分为四类:处理器、存储器、I/O设备以及信息(数据和程序)。相应地,OS的主要功能也正是针对这四类资源进行有效的管理,即:处理机管理;存储器管理;I/O设备管理;文件管理。可见,OS确是计算机系统资源的管理者。OS实现了对建算计资源的抽象
定义:什么是操作系统?
定义一: 操作系统是一组控制和管理计算机软硬件资源,合理地对各类作业进行调节,以及方便用户使用的程序的集合。
定义二: 操作系统是能够在核心态运行,并能够根据程序要求对计算机软硬件资源进行直接控制和管理的,有着一定复杂逻辑算法关系的一组程序集合。
定义三: 操作系统是计算机系统中的一个系统软件,管理和控制计算机系统中硬件和软件资源,合理地组织计算机的工作流程,以便有效利用这些资源为用户提供一个功能强、使用方便的工作环境,从而在计算机与用户之间起到接口的作用。
1.2 操作系统的发展过程
1.2.1 操作系统的产生
无操作系统时代(45年到50年代中期)
- 人工操作方式(纸带打孔),人工操作方式有以下两方面的缺点:
(1) 用户独占全机。 (2) CPU等待人工操作。 - 脱机输入/输出(Off-Line I/O)方式,这种脱机I/O方式的主要优点如下:
(1)减少了CPU的空闲时间。 (2) 提高I/O速度。
- 人工操作方式(纸带打孔),人工操作方式有以下两方面的缺点:
单道批处理系统(50年代)
由于系统对作业的处理都是成批进行的,且在内存中始终只保留一道作业,故称为单道批处理系统.单道批处理系统是最早出现的一种OS,严格地说,它只能算作是OS的前身而并非是现在人们所理解的OS。该系统的主要特征如下:
(1) 自动性。
(2) 顺序性。
(3) 单道性。单道批处理系统(Simple Batch Processing System)的处理过程
1.2.2 操作系统的形成
多道批处理系统(60年代中)
为了进一步提高资源的利用率和系统吞吐量,在60年代中期又引入了多道程序设计技术,由此而形成了多道批处理系统(Multiprogrammed Batch Processing System)。在该系统中, 用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。多道程序设计技术::在内存中放一个以上的作业或程序,使它们在管理程序的控制下相互穿插地运行,共享处理机时间和外部设备等其他资源。
在OS中引入多道程序设计技术可带来以下好处:
(1) 提高CPU的利用率。
(2) 可提高内存和I/O设备利用率。
(3) 增加系统吞吐量。**宏观上并行:同时有多道程序在内存运行,某一时间段上,各道程序不同程度地向前推进。
微观上串行:任一时刻最多只有一道作业占用CPU,多道程序交替使用CPU**分时系统(60年代中)
如果说, 推动多道批处理系统形成和发展的主要动力,是提高资源利用率和系统吞吐量,那么,推动分时系统形成和发展的主要动力,则是用户的需求。或者说, 分时系统是为了满足用户需求所形成的一种新型OS。用户的需求具体表现在以下几个方面:
(1) 人—机交互。
(2) 共享主机。
(3) 便于用户上机。实时系统(60年代中)
所谓“实时”,是表示“及时”,而实时系统(Real-Time System)是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
批处理、分时、实时系统是三种基本的操作系统类型。一个实际的操作系统可能兼有三者或其中两者的功能则被称为通用操作系统。
1.2.3 微机操作系统的发展
- 单用户单任务操作系统
- 单用户多任务操作系统
- 多用户多任务操作系统
1.3 操作系统的基本特性
- 并发(Concurrence)
并发 : 是指在内存中放多道作业, 在一个时间段上来看,每一道作业都能不同程度地向前推进。但在任何一个时间点上只能有一道占用CPU。
与并发相关的两个概念:
串行:在内存中每次只能放一道作业,只有它完全执行完后别的作业才能进入内存执行。
并行:存在于有多个CPU的环境中, 在内存中放多道作业,在任一时间点上都可能有多道作业在不同的CUP上同时执行。
- 共享(Sharing)
在操作系统环境下,所谓共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。由于资源属性的不同,进程对资源共享的方式也不同,目前主要有以下两种资源共享方式。
(1) 互斥共享方式
(2) 同时访问方式
- 虚拟(Virtual)
一个物理实体映射为若干个对应的逻辑实体--分时或分空间。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率
- 异步性(Asychronism)
进程是以人们不可预知的速度向前推进,此即进程的异步性。尽管如此,但只要运行环境相同,作业经多次运行,都会获得完全相同的结果。因此,异步运行方式是允许的,是操作系统的一个重要特征。
1.4 操作系统的主要功能
处理机管理
任务:进程控制、 进程同步、 进程通信 、调度
存储器管理
目的:为多道程序的并发执行提供良好的环境
任务:内存分配。内存保护、地址映射、内存扩充设备管理
管理的对象:设备品种繁多、用法各异,主机与外设并行工作,速度极不匹配,级差很大。
任务:缓冲管理、设备分配、设备处理文件管理
管理对象:软件资源
任务:文件存储空间的管理、目录管理、文件的读/写管理和保护用户接口
任务:命令接口、程序接口、 用户接口
1.5 操作系统的结构设计(略)
2. 进程管理
3. 处理机调度与死锁
3.1.1 处理机调度的层次
- 高级调度,又称长程调度或作业调度,它的调度对象是作业。