一、什么是操作系统
1. 抽象
CPU ==> 进程
磁盘 ==> 文件
内存 ==> 地址空间
2. 操作系统内部组件
- CPU 调度器
- 物理内存管理
- 虚拟内存管理
- 文件系统管理
- 中断处理与设备驱动
3. 操作系统内核特征
- 并发
计算机系统中同时存在多个运行的程序,需要 OS 管理和调度。
并发:一个处理器同时处理多个程序,逻辑上同时;
并行:多个处理器同时处理多个任务,物理上同时。
-
共享
-
“同时”共享
-
互斥共享
-
虚拟
利用多道程序设计技术,让每个用户都觉得有一个计算机专门为他服务。
- 异步
程序的执行不是一贯到底,而是走走停停,向前推进的速度不可预知。但只要运行环境相同, OS 需要保证程序结果也要相同。
二、为什么要学习操作系统
顶级会议
- SOSP
- USENIX
操作系统需要权衡
- 空间与时间
- 性能和可预测性
- 公平和性能