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