操作系统是什么?
用户角度:操作系统是一个控制软件
- 管理应用程序
- 为应用程序提供服务
- 杀死应用程序
程序角度:操作系统是资源管理器
- 管理外设、分配资源
- 抽象
将CPU抽象成进程
将磁盘抽象成文件
将内存抽象成地址空间
操作系统层次
位于硬件之上,应用程序之下。
操作系统的界面和内核
Linux Windows Android 的界面属于外壳(Shell) ,而不是内核(kernel)。操作系统研究的是内核,处于Shell之下。
(1)操作系统包括操作系统内核(这是必然的),也就是说内核程序是操作系统所包含的一组计算机程序中的一个子集,所以内核程序也是一组计算机程序,而这些内核程序是操作系统中最常使用的基本模块,直接与硬件打交道,主要由用于管理存储器、文件、外设和系统资源的哪些部分组成。
(2)内核程序一直占据内存中的一段内存,这样处理器可以随时调用这些内核程序。
(3)而操作系统除了内核程序外,还有包括其它一些基本组件,如文本编辑器、编译器、用来与客户进行交互的程序等。
操作系统内部组件
- CPU调度器
- 物理内存管理
- 虚拟内存管理
- 文件系统管理
- 中断处理与设备驱动
操作系统特征
并发
一段时间内运行多个进程(并行 : 一个时间点运行多个进程,一般要求有多个CPU)
需要OS管理和调度
共享
“同时”共享
互斥共享
虚拟
让每一个用户觉得的有一个计算机专门为他服务
异步
程序是走走停停,而不是一直运行