一. 为什么要有操作系统
程序员无法把所有的硬件操作细节都了解到, 管理这些硬件并优化是非常繁琐的事情, 而操作系统就是来干这个繁琐的事情的. 应用软件直接使用操作系统提供的功能来间接使用硬件.
二. 什么是操作系统
简单来说, 操作系统就是一个协调, 管理和控制计算机硬件资源和软件资源的控制程序.
操作系统位于计算机硬件与应用软件之间, 本质也是一个软件.
操作系统是由操作系统的内核和系统调用两部分组成的,
内核是运行于内核态, 管理硬件资源;隐藏丑陋的硬件调用接口
系统调用运行于用户态, 为应用程序员写的应用程序提供系统调用的接口, 将应用程序对硬件资源的竞态请求变得有序化
三. 操作系统与普通软件的区别
操作系统有硬件保护, 不能被用户修改; 而且操作系统是一个大型, 复杂, 长寿的软件
四. 操作系统的发展史
第一代 手工操作---穿孔卡片
第二代 磁带存储---批处理系统
第三代 多道程序系统
多道程序设计技术, 就是允许多个程序同时进入内存并运行. 即同时把多个程序放入内存, 并允许它们交替在CPU中运行, 可以共享系统中的各种硬件和软件资源. 当一道程序因I/O请求二暂停运行时, CPU便立即去运行另一道程序.
单处理机系统中多道程序运行时的特点:
多道: 计算机内存中同时存放几道相互独立的程序
宏观上并行: 同时进入系统的几道程序都处于运行过程中, 即它们先后开始了各自的程序, 但都未运行完毕
微观上串行: 各道程序轮流地用CPU, 并交替运行
空间复用, 将内存分为几个部分, 每个部分放入一个程序, 这样同一时间内存中就有了多道程序. 缺点: 丧失安全性和稳定性. 解决方案: 程序之间的内存必须分割, 由操作系统控制
时间复用, 当一个程序等待I/O时, 另一个程序可以使用CPU, 如果内存中可以同时存放足够多的作业, 则CPU的利用率可以接近100%. 缺点: 如果一个程序需要运行24小时, 而且没有任何I/O操作, 那么另一个程序就需要等待24小时, 很不合理. 解决方案: 分时系统
分时系统, 把处理机的运行时间分成很短的时间片, 按时间片轮流把处理机分配给各联机作业使用. 特点: 多路性, 交互性, 独立性, 及时性. 主要目标: 对用户响应的及时性, 不至于用户等待每一个命令的处理时间过长.
第四代 现代计算机