为什么要有操作系统?
现代计算机系统是一个复杂的系统,主要由处理器,内存,硬盘,键盘,鼠标,网络接口及其他输入输出设备组成。程序员无法把所有的硬件操作细节都了解到,管理这些硬件并且加以优化使用是非常繁琐的工作,这个繁琐的工作就是由操作系统来完成的,有了他,程序员从繁琐的工作中解脱出来,只需要考虑自己应用软件的编写就可以了,应用软件直接使用操作系统提供的接口来操作硬件。
什么是操作系统?
操作系统,位于计算机硬件与应用软件之间,是一个协调,管理和控制计算机硬件资源和软件资源的控制程序,本质也是一个软件。由操作系统的内核(内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序提供系统调用的接口)组成。
操作系统的功能?
隐藏丑陋的硬件调用接口,为应用程序提供更好,更简单,更清晰的系统调用接口。有了这些接口之后,就不用再考虑操作硬件的细节,专心开发自己的应用程序即可。
例如:操作系统提供了文件这个抽象概念,对文件的操作就是对硬盘的操作,有了文件我们就不需要再去考虑关于磁盘的读写控制了。
将应用程序对硬件资源的竞态请求变得有序化。操作系统可以同时运行多个程序,程序之间会互相竞争资源(硬件,cpu,内存等),操作系统会对处理器,存储器以及其他I/O接口设备的分配
例如:计算机上同时运行三个打印程序,它们想在同一时刻在同一计算机上输出结果,输出的结果最终会一团糟,是三个的混合结果。操作系统会将打印机的结果放在磁盘缓冲区,在一个程序完全结束后,才将缓存在磁盘上的文件送到打印机输出,同时其他的程序可以继续产生更多的输出结果,这 样,操作系统就将竞争产生的无序变为有序
操作系统与普通软件的区别:
定义不同:
系统软件,是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统;负责管理计算机系统中各种独立的硬件,是它们可以协调工作
应用软件,为满足用户不同领域,不同问题的应用需求而提供的那部分软件,可以括宽计算机系统的应用领域,放大硬件的功能
运行环境不同:
操作系统,可以直接安装到相应的硬件设备上,比如:Windows系统直接安装在电脑中
应用软件,不能直接安装在无操作系统的电脑中
对硬件的控制权限不同:
操作系统,直接控制电脑或者电子设备的硬件,管控所在设备的一切硬件操作
应用程序,不能直接控制所在平台硬件