前言
本文档为B站操作系统 _清华大学(向勇、陈渝)课程的笔记,不包含实验部分。部分内容根据《操作系统基础》_第三版_屠祁进行修改。
什么是操作系统?
- 用户角度:操作系统是一个控制软件
- 管理应用程序
- 为应用程序提供服务
- 杀死应用程序
- 资源管理
- 管理外设、分配资源
操作系统架层次结构
- 硬件之上
- 应用程序之下
操作系统外壳与内核
Linux、Windows、Android的界面属于外壳(shell),而不是内核(kernel),kernel是我们的研究重点,再shell之下
kernel-操作系统内部组件包括
- CPU调度器
- 物理内存管理
- 虚拟内存管理
- 文件系统管理
- 中断处理与设备驱动
os kernel的特征
并发
- 计算机系统中同时存在多个运行的程序,需要os管理和调度
- 并发与并行:并发指在一个时间段有多个程序运行,并行指在一个时间点上有多个系统运行
- 多道程序设计的优点:单道程序运行CPU利用率低。如图举例:
- 可以理解为用最短的时间完成多件不同的事情(多道程序设计)与分别完成不同的事情(单道程序设计)
共享(根据资源特征,确定共享方式)
- “同时”访问
- 互斥共享
虚拟
- 硬件虚拟化。利用多道程序设计技术,让每一个用户都觉得有一个计算机专门为他服务
异步
- 程序的执行不是一贯到底的,而是走走停停,向前推进的速度不可预知
- 但只要运行环境相同,os需要保证程序运行结果也要相同。
操作系统需要权衡
- 空间和时间
- 性能和可预测性
- 公平和性能
硬件方面,操作系統需要
- 良好的硬件管理
- 合理的資源分配
例如硬盤速度跟CPU、内存相差很多,操作系統需要協調處理
操作系统实例
- Unix
- Linux(服务器和终端)
- Windows(桌面)
- ……