预备知识:
- 计算机结构原理 Intel 80386+
- 数据结构
- C和汇编
什么是操作系统:
- 功能来区分:对应用程序提供服务,是一个控制软件
- 资源管理,管理外设、分配资源
CPU 抽象成进程、磁盘抽象成文件、内存抽象成地址空间。
操作系统承上启下的作用:硬件之上,应用程序之下。
外壳(Shell)对外暴露的接口,GUI或命令行,如Linux、Windows、Android界面,内核(kernel)在Shell之下,管理内部资源。
硬件资源分3大块:CPU、内存、磁盘,还有网卡等。
Kernel-操作系统内部组件:
- CPU调度器
- 物理内存的管理
- 虚拟内存的管理
- 文件系统管理
- 中断处理与设备驱动
松耦合:通过消息传输机制完成,如通过互联网连接的系统;紧耦合:如通过函数调用的系统集群。
几种操作系统:
- 微内核架构设计,性能较低。
- 外核,内核分2块,一块与硬件打交道,一块与应用打交道
- VMM 虚拟机监控器:虚拟完整的计算机,包括外设等
OS Kernel的特征:
- 并发:一段时间内多个程序可以运行。(并行:在一个时间点上同时运行多个程序。(要求存在多个CPU))
- 共享:“同时”访问和互斥共享。
- 虚拟:利用多道程序设计技术,让每个用户都觉得有一个计算机专门为他服务。
- 异步:程序的执行不是一贯到底,而是走走停停,不可预知。但要保证运行环境相同,运行结果也要相同。