操作系统是计算机系统中的一个系统软件,是一些程序模块的集合。
操作系统的作用
- 资源的管理者(有效)
- 硬件资源:CPU,内存,设备(I/O设备、磁盘、时钟、网络卡等)
- 软件资源:磁盘上的文件、各类管理信息等
- 通过命令接口、编程接口等为用户提供各种服务(方便使用)
操作系统为用户提供了一组功能强大,方便易用的命令或系统调用。如:进程的创建、执行;文件和目录的操作;I/O设备的使用... - 对硬件机器的扩展(扩展能力)
操作系统在应用程序与硬件之间建立了一个等价的扩展机器(虚拟机)。对硬件抽象,提高可移植性;比底层硬件更容易编程。
如何管理资源
- 跟踪记录资源的使用状况(数据结构)
如:哪些资源空闲,分配给谁使用,允许使用多长时间等。 - 确定资源分配策略——算法。
常见的策略有 静态分配策略,动态分配策略。 - 实施资源的分配和回收
- 提供资源利用率
- 保护资源的使用
- 协调多个进程对资源请求的冲突
从资源管理角度,操作系统有5大基本功能
- 进程/线程管理,也称CPU管理
进程线程状态、控制、同步互斥、通信、调度... - 存储管理
分配/回收、地址转换、存储保护、内存扩充... - 文件管理
文件目录、文件操作、磁盘空间、文件存取控制... - 设备管理
设备驱动、分配回收、缓冲技术... - 用户接口
系统命令、编程接口
操作系统的特征
-
并发(concurrency):指处理多个同时性活动的能力。
由于并发将会引发很多的问题:活动切换、保护、相互依赖的活动间的同步。
在计算机系统中同时存在多个程序运行,单CPU上:
- 宏观上:这些程序同时在执行
- 微观上:任何时刻只有一个程序真正在执行,即这些程序在CPU上是轮流执行的。
并行(parallel):与并发相似,但多指不同程序同时在多个硬件部件上执行。
跑马拉松,大家都在一起往前跑,就是并发。如果是110米栏,每个人都必须在自己的跑道上进行就是并行。
-
共享(sharing):操作系统与多个用户的程序共同使用计算机系统中的资源(共享有限的系统资源)。
操作系统要对系统资源进行合理分配和使用;资源在一个时间段内交替被多个进程所用。
- 互斥共享(如打印机,一个进程用完后才能分给另一个进程使用)
- 同时共享(如可重入代码、磁盘文件)
-
虚拟(virtual):一个物理实体映射为若干个对应的逻辑实体——分时或分空间。
虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。
- CPU——每个进程的“虚处理机”
- 存储器——每个进程都有独立的虚拟地址空间(代码+数据+堆栈)
- 显示设备——多窗口或虚拟终端
- 随机:操作系统必须随时对以不可预测的次序发生的事件进行响应并处理。
- 进程的运行速度不可预知:多个进程并发执行,“走走停停”,无法预知每个进程的运行推进的快慢
- 难以重现系统在某个时刻的状态(包括重现运行中的错误)
操作系统架构
windows操作系统架构