TODO:待补充中断和陷入
第一章·引论
操作系统的主要作用及目标
操作系统是配置在计算机硬件上的第一层软件,并作为计算机系统资源的管理者。
主要作用是管理设备,并提高设备利用率和系统的吞吐量,而后为用户和应用程序提供一个简单的接口,便于用户使用。
主要目标是:方便性、有效性、可扩充性和开放性。
- 人工操作方式(无OS)
- 程序员将已穿孔的纸带(或卡片)装入输入机,然后启动输入机把纸袋上的程序和数据输入计算机内存
- 脱机:程序和数据的输入和输出都在脱离主机的情况下进行的
- 单道批处理系统
- 把一批作业脱机输入到磁带上,再通过监督程序,使整批作业一个接一个连续处理。
- 缺点:在io的时候cpu就停了,这就造成资源浪费了。
- 多道批处理系统
- 把用户提交的作业放在外存中,并排成一个“后备队列”。按一定算法选出若干个作业调入内存,使它们共享系统资源(a在用io,b就取用cpu)。
- 缺点:无交互性,用户一旦提交作业就失去控制
- 分时系统
- 分时(Time Sharing)是把计算机的系统资源(尤其是CPU时间)进行时间上的分割,每个时间段称为一个时间片(Time Slice),每个用户依次轮流使用时间片。
- 特征:具有交互性、多用户同时性和独立性的特征
- 实时系统
- 能够及时响应外部事件的请求,在规定的时间内完成对该时间的处理,并控制所有实时任务协调一致地运行。
- 特征:实时性、可靠性
操作系统的基本特征
并发性
- 并发性是指同一时间间隔内发生两个或多个事件。
- 并行性是指同一时刻内发生两个或多个事件。
共享性
- 系统中的资源可供内存中多个并发执行的进程(任务)共同使用。
- 不可共享的资源称为临界资源或独占资源(如物理设备)。
虚拟性
- 通过某种技术将物理实体编程若干个逻辑上的对应物。
异步性
处理机管理功能(PCB表)
- 创建和撤销进程,对诸进程的运行进行协调,实现进程之间的通信,并按一定算法把cpu分配给进程。
存储器管理功能(内存分配表)
- 对内存分配和回收、内存保护、地址映射和内存扩充等功能。
设备管理功能(设备表)
- 缓冲管理、设备分配和设备处理以及虚拟设备等功能。
文件管理功能(文件分配表、用户权限分配表)
- 对文件存储空间的管理、目录管理、文件的读/写管理以及文件的共享和保护功能。
提供用户接口功能
- 用户接口: 用户通过该接口可以向作业发出命令控制作业。
- 程序接口:是用户程序取得操作系统服务的唯一途径,它是由一组系统调用组成的。
OS结构设计
传统操作系统结构
- 无结构操作系统
- 模块化结构OS()
- 分层式结构OS(自顶向下)
微内核大致定义
大多采用C/S模式的微内核结构,将OS划分为两个部分:微内核和多个服务器
- 微内核:是能实现现代OS最基本核心功能的小型内核,它并不是完整的OS,只是将OS中最基本的部分放入微内核。
- 包括①与硬件处理紧密相关的部分;②一些基本功能;③客户和服务器之间的通信
应用“机制与策略分离”原理
- 机制:实现某一功能的具体执行机构
- 策略:在机制的基础上借助某些算法实现功能的优化。
微内核的基本功能
微内核的功能按照机制与策略分离的原理进行放置
- 进程(线程)管理:
- 进程调度功能是输入机制应放入微内核中。而进程优先级那些属于策略,应放入微内核外的进程管理服务器中。
- 低级存储器管理
- 实现用户空间的逻辑地址到物理地址转换的页表机制和地址变换机制(寄存器),所以放入微内核,而页面置换算法和内存分配和回收等策略应放入服务器中实现。
- 中断和陷入处理
- 微内核主要是捕获所发生的中断和陷入事件,并进行相应的前期处理。