1.1操作系统概述
操作系统定义
■ 没有公认的精确定义
■ 操作系统是一个控制程序
一个系统软件
控制程序执行过程,防止错误和计算机的不当使用
执行用户程序,给用户程序提供各种服务
方便用户使用计算机系统
■ 操作系统是一个资源管理器
应用程序与硬件之间的中间层
管理各种计算机软硬件资源
提供访问计算机软硬件资源的高效手段
解决资源访问冲突,确保资源公平使用
操作系统的地位

操作系统软件的分类

操作系统软件的组成
■Shell--命令行接口
通过键盘操纵。
方便用户进行命令输入
■GUI--图形用户接口
WIMP(视窗(Window)、图标(Icon)、选单(Menu)、指标(Pointer))
直接操作和所见即所得
■Kernel--操作系统的内部
执行各种资源管理等功能

操作系统内核特征
并发:计算机系统中同时存在多个运行的程序,需要OS管理和调度
共享:(1)“同时”访问(2)互斥共享
共享是指说我们多个应用并发运行的时候宏观上要体现出它们同时在访问资源的情况微观上要实现它们的互斥访问
虚拟:利用多道程序设计技术,让每个用户都觉得有一个计算机专门为他服务
异步:(1)程序的执行不是一贯到底,而是走走停停,向前推进的速度不可预知
(2)只要运行环境相同,OS需要保证程序运行的结果也要相同
1.2操作系统的演变
■ 主要功能:硬件抽象和协调管理
■ 原则:设计随着各种相关技术的改变而做出一定的改变
■ 在过去二十年底层技术有极大的改变!!

从1981到2012计算机系统的对比
操作系统的演变
■ 单用户系统(’45-’55)
操作系统=装载器+通用子程序库

问题:昂贵组件的低利用率
■ 批处理系统(’55-’65)
前后打印和前面的输入等I/O操作不用昂贵的计算机来做,用周边设备来做这种输入和最后的输出,中间这一段价钱贵的部分让它尽可能的快
顺序执行与批处理

■ 多道程序(’65-’80)
变成的多道程序的交替执行,但是交替的条件是前一个正在执行的程序主动让出CPU的使用权
保持多个工作在内存中并且在各工作间复用CPU

■ 分时(在前一个作业没有结束的时候,后一个作业能够交替运行)

定时中断用于工作对CPU的复用
■ 个人计算机:每个用户一个系统
·个人电脑系统
单用户
利用率已不再是关注点
重点是用户界面和多媒体功能
很多老的服务和功能不存在
·演变
最初:操作系统作为一个简单的服务提供者(简单库)
现在:支持协调和沟通的多应用系统
越来越多的安全问题(如,电子商务、医疗记录)
■ 分布式计算:每个用户多个系统
·网络支持成为一个重要的功能
·通常支持分布式服务
跨多系统的数据共享和协调
·可能使用多个处理器
松、紧耦合系统
·高可用性与可靠性的要求

操作系统演变中的计算机系统

1.3操作系统结构
简单结构
■MS-DOS– 在最小的空间,设计用于提供大部分功能(1981~1994)
没有拆分为模块
虽然MS-DOS在接口和功能水平没有很好地分离,主要用汇编编写

分层结构
■ 将操作系统分为多层(levels)
每层建立在低层之上
最底层(layer 0),是硬件
最高层(layer N)是用户界面
■ 每一层仅使用更低一层的功能 (操作)和服务。

微内核结构(Microkernel)
■ 尽可能把内核功能移到用户空间
■ 用户模块间的通信使用消息传递
■ 好处:灵活/安全…
■ 缺点:性能

外核结构(Exokernel)
■ 让内核分配机器的物理资源给多个应用程序,并让每个程序决定如何处理这些资源.
■ 程序能链接到操作系统库(libOS)实现了操作系统抽象
■ 保护与控制分离

VMM(虚拟机管理器)

■ 虚拟机管理器将单独的机器接口转换成很多的虚拟机,每个虚拟机都是一个原始计算机系统的有效副本,并能完成所有的处理器指令。

�;
网友评论