一段程序要在裸机运行,需要经历下面几个过程.
- 处理器从内存中提取指令;
- 对指令进行解码(弄清楚具体是什么指令)
- 然后执行;实现相应的功能
- 重复循环上面的1-3步,直到程序结束;
为了使上面的程序开发和执行变得更加简单,为了允许程序共享内存,运行程序和设备交换,于是乎就有了操作系统。操作系统就是为了管理计算机的硬件资源,能让程序更友好更方便地使用各种硬件资源。
操作系统作用
一般情况下,操作系统会通过通用的技术(虚拟化)来使各种物理资源如CPU、memory、disk等转换成对程序统一的通用的格式,这样程序就可以更加方便使用硬件资源。因此在某些时候我们将操作系统称为虚拟机
为了让用户最大程度地使用虚拟机的特性,操作系统提供了一些通用的API供用户调用;这些API一般也被称为系统调用;
有了虚拟化的存在,多个程序能够同时运行再操作系统之上,当多个程序并发执行的时候,操作系统需要按照策略合理地为这些程序分配CPU,内存以及I/O资源。因此操作系统也被称为资源管理器
操作系统资源管理
前面提到操作系统是一个资源管理器,那么操作系统将如何对资源进行管理呢?接下来,我一边学习,一边整理操作系统在以下三个方面的管理:
- CPU调度
- 内存管理
- 并发处理