传统的技术发展
技术进步是要花钱的,钱从哪里来?那么只有国家给,但是国家却无法从中获利,技术没有稳定的资金来源,因此技术进步是受阻并且缓慢的。
技术商业化
技术人员:搞技术。
搞技术需要资金,那么商业化的公司投资,获得其技术的授权和专利。
于是产生了intel,apple等公司用技术孵化出民用级的产品,于是将技术变现卖给老百姓。
为什么诞生了操作系统?
在计算机被发明之初,只是一堆硬件,其使用成本是非常高的,通常只能是专业的科学家。
有人开始研发计算机上的软件,于是由肯汤普森使用汇编语言编写的Unix诞生,开始进入高校和各种实验室。
丹尼斯里奇和肯汤普森又使用C语言编写了Unix,与此同时:
授权了IBM等公司使用,至此大型公司也开始使用计算机。
微软等公司相继诞生,计算机开始进入普通家庭。
linux诞生,开源并不断有工程师给出改进方案。
要知道操作系统是什么,就要先清楚两个问题:
答:单纯的硬件操作效率地下,难度大。
移动端 (手机、平板)和桌面端设备,OS图示:
更为详细的:
总结:OS是一款软件,是用于对软硬件资源进行管理的软件,是上层用户和下层硬件的媒介。
例如:显示器是我们使用时感知最明显的硬件,而如果我们想在显示器上使用printf或者cout向显示器上打印,本质就是像硬件写入数据,而对硬件写入数据的具体过程不需要我们关心,我们只需要告诉操作系统我们的需求,操作系统会完成对硬件的访问和操作,这样就大大提高了效率。
内核
内核主要目的是为了应用程序提供一个稳定良好的运行程序,其要干的五件事情:
从编程的角度看:
Linux内核就是一个调用库,应用程序通过调用Linux提供的API函数来实现操作,Linux内核通过与驱动通信实现对硬件的有效管理。
驱动程序
驱动程序属于内核的一部分,是内核的扩展组件,用来帮助内核实现硬件的连接和操控,不包含驱动的内核也叫内核。内核通过提供统一的驱动操作接口供用户层使用,驱动就是在这层统一的接口下实现硬件的操控的中间层。
操作系统
操作系统,在内核的基础上有延伸,包括了提供基础服务的系统组件。操作系统是用户和硬件之间的一层媒介程序,为上提供编程接口,为下调用资源,管理驱动,以使用硬件。不管是Linux还是Windows或者安卓、iOS,它的主要功能有两点:
有效管理硬件。
方便用户操作。
驱动与操作系统的关系:
驱动程序实现了操作系统对硬件的有效管理,是操作系统管理硬件的一个途径。