目录
操作系统是用来做什么的?
- 控制角度 => 操作系统对于用户来说是一个控制软件:管理应用程序、为应用程序提供服务(IO服务等)、杀死应用程序。
- 内部管理 => 资源分配器:资源管理分配(内存,CPU协调应用程序的抢占),管理外设
- 分层角度 => 有点像计网里面的几层模型,操作系统也算是一层,在应用程序的下面,在硬件层的上面,为应用程序提供服务
基本特征
并发
并发是指一段时间内计算机系统中同时运行多个程序(OS管理和调度),而并行则指同一时刻(一个时间点上)能运行多个程序。
如果说并行的话,一个操作系统是有多个CPU,同时在运行,如果计算机系统只有一个CPU是无法完成并行工作的。
并行需要硬件支持,如多流水线、多核处理器或者分布式计算系统。
操作系统通过引入进程和线程,使得程序能够并发运行。
共享
共享是指系统中的资源可以被多个并发进程共同使用。
有两种共享方式:互斥共享和同时访问。
互斥共享的资源称为临界资源,例如打印机等,在同一时刻只允许一个进程访问。(可能一个内存单元是互斥共享的,同一时刻只有一个程序能够访问,但是如果有A和B两块隔离开的内存,那么两个程序可以同时的访问这两块内存。)
虚拟
虚拟是什么意思呢,其实就是一个虚拟化,操作系统是面对硬件的,那么操作系统对于硬件进行一个虚拟化,听得可能有点懵,见下图:
这就是一个虚拟化的过程。
利用多道程序设计技术,让每个用户都觉得有个计算机在为其服务。
虚拟技术把一个物理实体转换为多个逻辑实体。
异步
异步指进程不是一次性执行完毕,而是走走停停,以不可知的速度向前推