第一章 操作系统引论
1.1操作系统的目标和作用
操作系统的目标
1。有效性(包括:1。提高系统资源利用率 2。提高系统的吞吐量)
2。方便性
3。可扩充性
4。开放性(遵循开放系统互连(OSI)国际标准)
操作系统的作用
1。OS作为用户与计算机硬件系统之间的接口(1。命令方式。2。系统调用方式。3。图形、窗口方式。)
2。OS作为计算机系统资源的管理者
3。OS实现了对计算机资源的抽象
推动操作系统发展的主要动力
1。不断提高计算机资源的利用率
2。方便用户
3。器件的不断更新换代
4。计算机体系结构的不断发展
1.2 操作系统的发展过程
1。无操作系统的计算机系统
1)人工操作方式(缺点:1。用户独占。2。CPU等待人工操作)
2)脱机输入/输出方式(优点:1。减少CPU的空闲时间。2。提高了I/O速度)
2。单道批处理系统
1)特征(1。自动性。2。顺序性。3。单道性)
3。多道批处理系统
在OS中引入多道程序设计技术可带来以下好处:1)提高CPU的利用率 2)可提高内存和I/O设备利用率 3)增加系统吞吐量
多道批处理系统的优缺点:1)资源利用率高 2)系统吞吐量大。3)平均周转时间长 4)无交互能力
多道批处理系统需要解决的问题:1)处理机管理问题 2)内存管理问题 3)I/O设备管理问题 4)文件管理问题 5)作业管理问题
操作系统的定义:操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合
4。分时系统
定义:在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。
用户需求:1)人-机交互。2)共享主机。3)便于用户上机
关键部问题:1)及时接收。2)及时处理
特征:1)多路性 2)独立性。3)及时性。4)交互性
5。实时系统
所谓“实时”,是表示“及时”,百实时系统是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
应用需求:1)实时控制。2)实时信息处理。
实时任务:按任务执行是否呈现周期性来划分1)周期性实时任务2)非周期性实时任务。
根据对截止时间的要求来划分1)硬实时任务。2)软实时任务。
实时系统与分时系统特征的比较。
6。微机操作系统的发展
1。单用户单任务操作系统。(1。CP/M 2。MS-DOS)
2。单用户多任务操作系统。
2。多用户多任务操作系统。UNIX OS(变种:1)Solaris OS 2)Linux OS)
1.3操作系统的基本特性
1。并发性(1。并行与并发(并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生)。2。引入进程。3。引入线程)
2。共享性(1。互斥共享方式。2。同时访问方式)
并发和共享是操作系统的两个最基本的特征,它们又是互为存在的条件。
3。虚拟技术 是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。
1)时分复用技术(时分复用,亦即分时使用方式)(1。虚拟处理机技术。2。虚拟设备技术。)
2)空分复用技术(1。虚拟磁盘技术。2。虚拟存存储器技术)
4。异步性
1.4 操作系统的主要功能
1。处理机管理功能(主要功能是创建和撤消进程(线程),对诸进程(线程)的运行进行协调,实现进程(线程)之间的信息交换,以及按照一定的算法把处理机分配给进程(线程))。
1)进程控制
2)进程同步(进程同步的主要任务是为多个进程(含线程)的运行进行协调。有两种协调方式1。进程互斥方式。2。进程同步方式。)
3)进程通信
4)调度(1。作业调度。2。进程调度)
2。存储器管理功能
1)内存分配(为了实现内存分配,在内存分配的机制中应具有这样的结构和功能:1。内存分配数据结构。2。内存分配功能。3。内存回收功能。)
2)内存保护(主要任务是确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰)
3)地址映射(将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址)
4)内存扩充(用于实现下述功能:1。请求调入功能。2。置换功能。)
3。设备管理功能(主要任务是:完成用户进程提出的I/O请求;为用户进程分配其所需的I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备。
为实 现上述任务,设备管理应具有缓冲管理,设备分配,设备处理以及虚拟设备等功能)
1)缓冲管理
2)设备分配
3)设备处理(设备处理程序又称为设备驱动程序。其基本任务是用于实现CPU和设备控制器之间的通信)
4。文件管理
1)文件存储空间的管理
2)目录管理
3)文件的读/写管理和保护
5。操作系统与用户之间的接口
1)用户接口(1。联机用户接口。2。脱机用户接口。3。图形用户接口)
2)程序接口
1.5 OS结构设计
传统的操作系统
1。无结构操作系统
2。模块化结构OS (无序模块法)
3。分层式结构OS
客户/服务器模式(Clinet/Server简称C/S)
面向对象的程序设计(优点:1。通过“重用”提高产品质量和生产率。2。使系统具有更好的易修改性和易扩展性。3。更易于保证系统的“正确性”和“可靠性”)
微内核OS结构
基本概念:
1。足够小的内核
2。基于客户/服务器模式
3。应用“机制与策略分离”原理
4。采用面向对象技术
基本功能
1。进程(线程)管理
2。低级存储器管理
3。中断和陷入处理
两个概念:
用户态
上下文切换