- 用户角度上,操作系统是一个控制软件
- 管理应用程序
- 为应用程序提供服务
- 杀死应用程序
*操作系统架层次结构:
1.硬件之上
2.应用程序之下
*进程与cpu,文件和磁盘,地址空间和内存之间的交互虚拟化,都通过操作系统这个媒介
*Linux,Windows,Android的界面都属于shell(外壳),而不是内核(kernel),kernel是我们研究的重点,在shell之下
*Kernel - 操作系统内部组件,包括:
1.CPU调度器
2.物理内存管理
3.虚拟内存管理
4.文件系统管理
5.中断处理与设备驱动
*OS Kernel的特征:
1.并发:计算机系统中同时存在多个运行的程序,需要OS管理和调度(一个时间段内)
2.共享:"共享"访问,互斥共享
3.虚拟:利用多道应用程序设计技术,让每个用户觉得都有一台计算机为他服务
4.异步: 程序的执行不是一步到位,而是走走停停,程序向前推进的速度不可预知,
但只要运行环境相同,OS就要保证程序的运行结果相同。
*并行:一个时间点内运行多个程序(一般这样的计算机系统都存在多个cpu)