操作系统概述
- 什么是操作系统
一种运行在内核态对计算机资源进行管理的系统软件(向下层),向上层为了是用户方便使用,对程序员来说提供了接口,方便了程序员的开发。
- 操作系统在计算机系统里面所处的位置
- 操作系统与各层之间的关系
- 硬件
- OS 对各层的管理和控制
- 物资基础 & 相辅相成
- 控制CPU的工作
- 访问存储器
- 设备驱动、中断处理
- OS 对各层的管理和控制
- 其他软件:管理和支持
- 控制、管理
- 提供方便的用户界面
- 提供优质的服务
- 各层对 OS 的制约和影响
- 下层硬件环境的限制
- 提供 OS 运行环境
- 限制了 OS 的功能实现(单处理机系统不能实现程序的并行运行)
- 用户和上层软件的要求
- 用户需求
- 提供优质的服务
- 方便的用户界面
操作系统的发展
真空管和穿孔卡片 ————>晶体管和批处理系统———>集成电路和多道程序设计————>个人计算机————>移动计算机
更多操作系统发展细节
逐步推进,根据人们的需求和技术的发展而不断进步
操作系统几大特征
多道性
- 并行:同一时刻同时执行多个程序
- 并发:两个或多个事件在同一时间间隔内同时发生。宏观上并行,微观上 串行。
共享性
指系统中的资源可供内存中多个并发执行的进程共同使用。
- 互斥共享方式(宏观上也只能独占,比如打印机)
- 在一段时间内只允许一个进程访问资源
- 临界资源(独占资源):在一段时间内只允许一个进程访问的资源。
- 同时访问方式(宏观上可以共同使用)
- 宏观上在一段时间内允许多个进程“同时”访问某些资源
- 微观上“轮流”(交替访问)
- 处理机、内存、磁盘、可重入代码
虚拟性
对于一个物理CPU,我们可以通过分时处理的原则形成多个逻辑上的CPU,
同时为多个终端集成服务,让每一个进程都以为是独自占用整个CPU,在进行操作。
同样,对于内存也可以通过虚拟存储技术,可以为每一个进程实现一个虚拟的内存,让每一个进程都认为自己拥有一个很大的内存空间,使得进程的大小不再受物理内存大小的限制。
对于打印机这样同样一个一段时间只允许一个进程访问的设备,我们可以使用假脱机打印,分为几个逻辑打印机,从而分别为每个进程同时进行服务,提高整体的效率。
异步性
- 进程是以人们不可预知的速度向前推进的。
- 导致的原因:竞争资源
对于如上图所示的进程B的运行,当其与进程A并发运行时,就是上最上方的图例所示的情况下,进程B会因为等待进程A对于所需资源的释放而浪费一定的等待时间。由于这个等待时间是不确定的,视当前的系统资源的使用情况而定,所以异步特征也是不确定特征。进程由于已时间不确定的方式,走走停停,停停走走的方式前进。
操作系统的结构
- 操作系统的结构模型
- 单体结构
- 模块化结构
- 微内核结构
- 层次结构
操作系统的结构细节
操作系统的用户接口
操作系统提供给用户的由两种接口:
- 命令接口:
作业控制语言
键盘命令
图形界面 - 程序接口:
系统功能调用
有关操作系统提供的用户接口更多细节
操作系统的4大功能
处理器管理
对处理机进行分配——进程和线程的管理和调度
内存管理
对内存进行分配、保护、扩充及地址映射
文件系统
文件的存取、信息的共享与保护、文件存储空间管理
外设管理
接收用户程序的I/O请求,分配设备,启动设备