操作系统的发展历史
未配置操作系统
手工操作阶段
用户独占全机,人机速度矛盾导致系统资源利用率低
脱机输入输出方式
为了缓解主机cpu和IO设备之间速度不匹配的矛盾,出现了脱机IO技术
- 在外围机的控制下,通过输入设备,将数据输入到磁盘;当cpu需要时,直接从磁盘调入数据到内存
- 反之,处理机输出数据的时候,先把数据输出到磁盘;然后在另一个外围机的控制下,通过输出设备,将数据输出
批处理阶段
单道批处理
多批道处理
分时操作系统
实时操作系统
其他几种操作系统
- windows是单用户多任务的
- linux是多用户多任务的
总结
操作系统的目标
- 方便性:方便用户的使用
- 有效性:一是提高硬件资源,例如处理机和IO设备的利用率;二是提高系统的吞吐量,提高程序的运行速度
- 可扩充性:操作系统的结构不断发展:无结构->模块化->层次化->内核,提高了系统的可扩充性
- 开放性:遵循一定的规则
操作系统的功能
- 处理机管理
- 进程控制:创建进程,分配资源,状态转换,撤销进程
- 进程同步:使多个进程有条不紊的进行;常用方式:进程互斥和进程同步(常用的是信号量机制)
- 进程通信
- 调度
- 作业调度:选取作业调入内存,创建进程
- 进程调度:从就绪队列选出进程,使其运行
- 存储器管理
- 内存分配
- 内存保护:用户程序互不干扰,用户程序不能访问操作系统的程序和数据
- 地址映射:逻辑地址转换成物理地址
- 内存扩充:虚拟存储技术,从逻辑上扩充内存
- 设备管理
- 缓冲管理:在IO设备和cpu之间设置缓冲区,已解决速度不匹配的矛盾
- 设备分配
- 设备处理
- 文件管理
- 文件存储空间的管理
- 目录管理
- 文件的读写管理和保护
- 向用户提供接口
- 向用户提供接口
- 命令:联机(用户交互)和脱机(通过文件读取)
- 图形界面
- 向应用程序提供接口
- 程序接口时用户程序取得操作系统服务的唯一途径,它由一组系统调用组成(例如c语言中的库函数)
- 向用户提供接口
操作系统的定义
操作系统( Operating System,OS)
是指控制和管理整个计算机系统的硬件和软件资源
并合理地组织调度计算机的工作和资源的分配
以提供给用户和其他软件方便的接口和环境
它是计算机系统中最基本的软件系统
操作系统的特性
- 并发性和共享性互为存在条件
- 并发性和共享性是虚拟性和异步性的前提
并发
并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。
常考易混概念
- 并行:指两个或多个事件在同一时刻同时发生。
操作系统的并发性指计算机系统中“同时”运行着多个程序,这些程序宏观上看是同时运行着的,而微观 上看是交替运行的。
操作系统就是伴随着“多道程序技术”而出现的。因此,操作系统和程序并发是一起诞生的。
注意(重要考点): 单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行 多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行 比如Intel 的第八代 i3 处理器就是 4 核CPU,意味着可以并行地执行4个程序
共享
虚拟
异步
异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的, 而是走走停停,以不可预知的速度向前推进,这就是进程的异步性
虽然进程的推行速度是不可预知的,但是的因为有完善的进程同步机制,因此人们还是可以获得自己想要的结果
操作系统的结构
操作系统的结构发展:无结构->模块化->层次化->内核
内核
大内核
目的:
- 对这些软件进行保护
- 提高OS的效率
大多数OS内核的功能
- 支撑功能
- 中断处理
- 时钟管理
- 原语操作
- 管理功能
- 进程管理
- 存储器管理
- 设备管理
微内核
微内核不是一个完整的OS,只有OS最核心的一些部分
基于客户/服务器模式
应用“机制与策略分离”,机制(某功能的具体执行机构)放在微内核中,策略(优化)放在外面
采用面向对象技术
尽管微内核具备更好的可靠性、安全性和灵活性,但是由于其性能上的劣势,目前市场份额仍然被大内核所占据。在实际应用中,大多数操作系统(如Windows和Linux)都采用了大内核架构,而微内核通常只出现在嵌入式系统和高可靠性的场景中。