操作系统的概念
操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。
1、对操作系统的认识
- 操作系统是一种系统软件
- 操作系统的基本功能是控制和管理系统资源、以及使得程序有序进行
- 操作系统是对硬件系统的一种扩张
2、操作系统的主要功能
(一)进程管理功能——包括对进程的控制和进程的通信问题
(二)处理机的调度功能——协调的将处理机时间公平、有效的分配给进程使用
(三)存储管理功能——内存分配和地址映射
(四)设备管理功能——比如io设备
(五)文件管理功能
(六)作为用户的接口
3、操作系统的发展历史
- 人工操作方式:程序员先将已经穿孔的纸带装入输入机,启动输入机把程序和数据输入到计算机,启动计算机开始运行,运行完毕取走运算结果。缺点:用户要独占一台计算机的全部资源,再者就是cpu需要等待人工操作
- 脱机输入输出方式(用来解决人机与计算机速度不匹配的矛盾):输入输出设备单独出来,和主机分离,这样的好处是提高了io效率
- 单道批处理机系统:是脱机方式的一种扩张,一次在输入设备输入多个作业,增加一个监控系统,监控系统监督前一个作业完成,然后把监督权交给下一个作业,这样可以实现连续执行作业,缺点是cpu在等待io输入的时候处于空闲状态,是一种资源的浪费;好处是提高了系统资源的利用效率。
- 多道批处理系统(进一步提高cpu的利用效率,提高系统资源的利用率和系统的吞吐量):就是在前一个作业要io的时候去执行另一个作业,缺点是不能满足人机交互。
- 分时系统(为了满足人机交互和共享主机):可以满足多个用户终端连接到同一个主机上,而且用户之间互不干扰,对于用户的各种请求能够及时回复。
- 实时系统(要求系统能够及时响应随机发生的外部时间,并且在严格的时间范围内对事件进行处理):实时控制系统、实时信息处理系统。
- 通用操作系统:以上特征的一种杂糅。
4、现代的操作系统方向
- 分布式操作系统
- 嵌入式操作系统
5、操作系统的基本特征
- 并发——指的是进程并发执行
- 并发指的是同一个时间段内多个事件同时发生
- 并行是指在同一个时刻多个事件同时发生
- 多道程序处理时,宏观上是并发的,微光上是交替的
- 共享
并发和共享,是操作系统的两个最基本的特征 - 虚拟——通过某种技术把一个物理实体变为若干个逻辑上的对应物,主要目的在于提高资源的利用率
- 异步——也称不确定性,指进程的执行顺序和执行时间的不确定性
- 进程的运行的速度不可预知,时走时停
- 进程的正确性可以保证
- 进程是不可重现的,系统某个时刻的状态是不可重现的
6、操作系统的体系结构
-
第一代的OS是无结构的
-
第二代OS采用了模块式结构——一个模块一种功能
实例:Linux、Unix
缺点:牵一发动全身 -
第三代是层次式结构:
- 使用分层系统结构包含若干layer(层);其中,每一层实现一组基本概念以及与其相关的基本属性。
- 所有各层的实现不依赖其以上各层所提供的概念及其属性,只依赖其直接下层所提供的概念及属性;
- 每一层均对其上各层隐藏其下各层的存在。
- 好处:容易维护,坏处:效率不高
-
现代OS结构是微内核结构:
- 把操作系统最基本的功能放在一个核心中实现,其他功能尽量放在核心外的用户层实现。
- 采用微内榜技术使操作系统本身的可移植性与可扩展性、可靠性、实时性大大增强,适应了当前随着计算机硬件技术的发展而导致的操作条统功能越来越庞大,越来越复杂的趋势。
习题
1、设计现代os的主要目标是什么?
- 方便性、有效性、可扩充性、开放性
2、os的作用可表现在哪几个方面
- os作为用户和计算机系统之间的接口
- os作为计算机系统资源的管理者
- os实现了对计算机资源的抽象
3、为什么说os实现了对资源的抽象
- 对于裸机,它只是提供硬件接口,需要用户对计算机硬件有充分了解才能使用
- 在裸机上铺设io软件隐藏了io设备的具体细节,作为第一层次的抽象
- 在第一层抽象上铺设文件管理软件,实现对文件的细节操作,并且向上提供文件存储管理的命令,实现了第二层次的抽象
- os是这些层次抽象的集合,所以os实现了对资源的抽象
4、说明多道批处理系统的形成和发展的主要动力是什么
- 不断提高系统资源利用率和提高系统吞吐量
5、脱机io和联机io
- 联机io是在主机连接控制的情况下,对程序和数据的输入
- 脱机io是说输入和输出设备和主机分离,在外围机的控制下,脱机的io把程序和数据输入到磁盘中,这种输入输出方式是脱离主机的。
6、分时系统形成和发展的主要动力
- 为了满足用户对人机交互的需求,实现多人对一台计算机的共享问题
7、实现分时系统的关键问题是什么,该如何解决
- 关键问题是:用户在自己的终端输入命令时,系统要及时接受并且响应
- 设置多路卡,使得主机能够同时接收多个用户的各个终端的命令;设置缓冲区,用来暂存用户的命令,做到及时接收。
- 作业要直接进入主存,并且采用轮转运行方式,避免一个作业抢占系统资源,做到及时处理