操作系统——理论知识

一、为什么要有操作系统

现代的计算机系统主要是由处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其它输入输出设备组成。

一般而言,现代计算机系统是一个复杂的系统。

对于一个程序而言,它为了保障自己的程序运行流畅,势必就会要求自己分配到的资源越多越好,但是计算机的资源总是有限的,大家都自顾自抢资源的话,要么就是大家一起跑不动,要么就是某几个程序把别的程序的资源都挤占掉。

更麻烦的是,由于程序设计者不可能预测到自己的程序会和什么样的别的程序同时在一个电脑中运行,所以很有可能出现某个程序的临时数据恰好和另一个程序关键数据很相似的情况,于是就会发生这个程序破坏了那个程序数据之类的问题。

程序员无法把所有的硬件操作细节都了解到,管理这些硬件并且加以优化使用是非常繁琐的工作。

因此,我们需要操作程序来作为一个协调者——操作系统(Operation System,OS)。

一方面,操作系统提供一系列底层接口和上层标准,“抹平”不同电脑之间的硬件差异,这样只要操作系统相同,硬件能达到软件运行的最低标准,理论上这个软件就能互通。

此外,操作系统可以为所有程序分配资源,一切程序要调用计算机资源都需要向操作系统申请权限,这样就能最大程度利用计算机资源同时让各种程序不互相冲突。

这个繁琐的工作交给了操作系统来干,有了他,程序员就从这些繁琐的工作中解脱了出来,只需要考虑自己的应用软件的编写就可以了,应用软件直接使用操作系统提供的功能来间接使用硬件。

二、什么是操作系统

精简的说的话,操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。

操作系统位于计算机硬件与应用软件之间,本质也是一个软件,在计算机系统中承上启下的地位:向下封装硬件,向上提供操作接口。

操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成,所以,单纯的说操作系统是运行于内核态的,是不准确的。

操作系统所处的位置如图:

猜你喜欢

转载自blog.csdn.net/weixin_43336281/article/details/104206198