目录linux
电脑脱离了操做系统就是一个废品,没法为人类服务,引入操做系统就是让电脑可以为人民服务。ios
在了解操做系统以前,咱们首先回顾下编程的目的,编程的目的是奴役计算机,取代人类。编程
如今想一下这样的场景,若是你是奴隶主,,你在黑市上买了一个奴隶(计算机),你想让这个奴隶干扫地的活,可是这个奴隶可能不明白扫地是什么意思,甚至可能都不知道你全程在逼逼啥。这个时候你可能会考虑买一个管家(操做系统),这个管家既能和你交流,也能和奴隶交流,而后你有任何命令都将由这个管家传达给奴隶。windows
如今让咱们来想象一下咱们在计算机上打开的一个文件的流程:首先咱们选哟开机,其次咱们须要打开一个文件。可能咱们全部人都会认为这没什么,可是,这个时候你须要注意,文件是什么?由于咱们用的太多,太习觉得常了,因此咱们忽略了这个问题:文件是什么呢?这个时候我不得不告诉你,你能够把文件理解成一个虚拟的单位,有了这个虚拟的单位,咱们再也不须要考虑机械手臂的运转,你只须要文件能够双击打开,能够写入数据们能够CTRL+S进行保存。spa
如今让咱们来思考文件这个虚拟的单位是谁提供的呢?若是有使用过linux系统的同窗应该知道,Linux系统中看不到任何一个文件的图标,只有一行一行的代码?(可是Linux一切皆文件)操作系统
linux系统既然看不到文件的图标,那么windows系统的电脑上文件图标是谁提供的呢?毫无疑问。这个时候咱们能够得知windows系统电脑的文件这个虚拟单位是windows操做系统提供的。也是启动计算机的时候,计算机开启了操做系统这个软件(计算机除了硬件,就是软件,软件通常用来控制硬件)。可是须要注意的是,只要你想打开一个文件归根到底都是须要你去操做硬件的,只不过操做系统不只仅给咱们提供了文件这个概念,而且把对文件打开的这个复杂操做封装成了一个双击文件的接口给咱们。blog
在启动电脑打开操做系统这个软件的时候,是之内存为暂时的操做系统,将操做系统打开。软件不能直接打开,要给操做系统指令才能打开软件,操做系统这个软件也是同样。接口
计算机建立的目的是为了让咱们人奴役他们,让它们替咱们干活。那是否是说咱们能够经过计算机开发一款ATM系统,让它们天天24小时不停歇的吞钱、吐钱呢?毫无疑问是能够的。有了操做系统在计算机上的一切操做都将变得很简单,那是否是说咱们就须要在每台计算机上都写一套操做系统呢?经过常识来看,咱们是不须要的,咱们只须要复制其余人的操做系统便可,可是在计算机建立初期是须要本身手写操做系统的?但现在,若是真的让咱们写一个操做系统出来,可能咱们一生都使出吃奶的劲都无能为力。内存
应用程序其实很好理解,计算机只由硬件和软件组成,应用程序必定不是硬件,那么软件中除了操做系统咱们均可以称之为应用程序。说了这么多,其实就像让你明白一件事:应用程序位于操做系统之上,它主要用来帮助人干各类各样的工做,它不直接与硬件交互。资源
操做系统的定义:操做系统位于计算机硬件于应用软件之间,它是一个协调管理计算机资源和软件资源的控制程序,它对硬件的复杂操做,封装成一个一个简单的接口,供人们使用。
为了明白为何要有操做系统。咱们在这里再给出一个计算机系统的组成:一套完整的计算机系统由计算机硬件、操做系统和应用程序组成,对这三个组件的解释以下:
因为咱们之后开发都是应用程序,应用程序没法操做硬件,可是须要操做硬件,都是调用操做系统的接口。
操做系统的启动:操做系统代码由硬盘读入内存(BIOS程序),CPU运行操做系统代码(CMOS存储器),运行成功后操做系统接管操做硬件的工做。
应用程序的启动:应用程序代码有硬盘读入内存,CPU运行应用程序码,运行成功便可使用应用程序。虽然应用程序的启动和操做系统的启动有着殊途同归之处,可是得明确一点:装了操做系统以后才能装应用程序,才有应用程序这个概念。所以上述应用程序对硬件控制的每一步操做,都依赖于操做系统的帮助。