![98b145f42f21dc20a710b7694ea2a704.png](https://i-blog.csdnimg.cn/blog_migrate/5e809e7e518c5fce9cea9ae6aebde359.jpeg)
上一篇我们讲述了计算机的简史,在计算机的发展过程中慢慢出现了操作系统。但是操作系统是干什么的并没有讲述,所以这篇文章将会讲述操作系统在整个计算机领域所扮演的角色。
先看操作系统的定义是什么。
在维基百科是这么介绍的:
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.(操作系统是管理计算机硬件和软件资源,并且能为应用程序提供各种通用服务的系统软件。)
在百度百科是这么介绍的:
操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
通过以上的描述可以看出:
首先,操作系统是一个软件,它与其他应用程序一样,性质上属于软件。
其次,操作系统它能管理计算机硬件资源,比如 CPU、内存、硬盘、鼠标、显示器等等。
而且,操作系统它还能管理计算机上的软件,它可以掌控计算机上其他软件的生杀大权,想干掉谁就干掉谁,想给哪个软件多点资源就给哪个软件多点资源。
所以,操作系统它是作为硬件与应用软件的一个中间协调者,如下图所示。
![adeaec8eed57c31c8e489d164ecda786.png](https://i-blog.csdnimg.cn/blog_migrate/d1bbcf2787bfb8e9b0b8313f81d83855.png)
那操作系统具体的工作都有哪些呢?
1.进程管理。进程可理解为任务,比如播放音乐就是一个进程。每个进程的状态可以分为新建、就绪、运行、阻塞、终止这五个状态,当然在实际的操作系统中进程不止这几个状态,毕竟实际情况总会比较复杂。进程管理就是管理进程在这五个状态的流程:装载程序新建一个进程,为新建的进程分配资源并进入就绪状态,当这个进程拿到 CPU 后即可进行运行,这个时候它进入了运行状态,如果运行一半它的 CPU 就被其他进程抢占了,它就会进入阻塞状态,等待其他进程把 CPU 还给它,当它再次拿到 CPU 进入运行状态并把任务执行完后,它就进入了终止状态,操作系统会将之前分配给它的内存、文件等资源回收,然后将它杀掉。
![9f2cc64319a006e8855049786c5d27fd.png](https://i-blog.csdnimg.cn/blog_migrate/9f7b2d1707e8ff81714a2a1eca06bc84.png)
2.进程同步。如果操作系统自始至终只运行一个进程,那肯定没有进程同步的问题。什么是进程同步呢?就是多个进程去抢资源时,如何安排这些进程获取资源的过程。打个比方,想必我们都去过游乐场,也会发现每个热门项目都会很多人排队。如果把人看做是进程,热门游玩项目看做是资源,当很多人都想去玩某个热门项目而不排队时,这个项目就会乱成一锅粥,甚至整个游玩项目都无法正常进行。如何管理好每个人去使用游玩项目就是所谓的进程同步,现实中人们通常通过排队来实现进程同步,在操作系统中也是一样的原理。
![85dff85a2f565dec05e98518fd9fea31.png](https://i-blog.csdnimg.cn/blog_migrate/5852edd97bbdad5141074b1d867cd0f3.png)
3.内存管理。程序运行起来就成为了进程,而进程能运行起来是需要内存的。还是用人来打个比方,人出生后,需要给他食物、衣服、房子、交通工具等,这些东西可以同比看做是内存资源。当人去世后,这些东西会被进行回收,与操作系统回收进程资源是一样的。
![7d2086e4fadb7f40e09b765f5b1e4bb1.gif](https://i-blog.csdnimg.cn/blog_migrate/36062eb6b4f582a2d03579ae21249221.gif)
4.存储管理。存储管理不是单单指的是磁盘或者文件管理,它还包括了进程如何对外围设备的 IO。
5.设备管理。一台计算机包括了很多外围设备,比如显示器、磁盘、鼠标、键盘灯,当这些设备要接入计算机时,计算机如何接收这些设备的信息,以及如何管理这些设备,这些都属于设备管理的内容。
![d35bba2be430eadb420b2b061a56db0f.png](https://i-blog.csdnimg.cn/blog_migrate/52d67d2b23bf87a9baea4f1686bf73b9.jpeg)
上面这些都是操作系统的主要工作内容,它所干的都是一些脏活累活,也是之前操作系统还没出现之前人工所干的活。人创造操作系统的目的就是为了将这些脏活累活转移给机器,减轻人类的负担,增加工作效率。
ps.欢迎关注官方公众号"哈扣"。
![6d95c6e45bfacde6c75d3d6aff091929.png](https://i-blog.csdnimg.cn/blog_migrate/93bcc9c11bcc3a97eef496d33bde431a.jpeg)