一、为何要有操作系统
操作系统是用来协调、管理程序和硬件的程序,一般来说,计算机系统是一个复杂的系统,主要由多个处理器、主存、硬盘、键盘、鼠标、显示器、网络接口及其他输入设备组成,管理这些硬件是一个非常繁琐的工作,所以计算机安装了一套操作系统,如果应用程序员要掌握系统的所有细节,是一个巨大的工程,非常影响应用程序员的开发效率。
为了让程序员更好的考虑自己的应用软件的编写就可以了,应用软件可以直接使用操作系统提供的功能使用硬件 。
二、操作系统的位置
操作系统位于计算机硬件和软件之间,本质也是软件。
三、操作系统的功能
操作系统是由操作系统的内核(管理硬件资源)和系统调用(为应用程序提供系统调用接口)组成。
功能:
1、应用程序有了接口程序后,不用考虑如何操作硬件的细节,专心开发自己的应用程序即可。(比如计算机界面的C盘、D盘下的各种文件和文件夹,我们只用打开读或者写就好,不用关心计算机内部的运行状态)
2、当计算机要运行很多软件的时候,实际上是共享一套硬件,这个时候就会导致无序,操作系统的功能就是将这种无序变得有序。
四、操作系统的发展
第一代计算机(1940-1955):真空管和穿孔卡片,没有操作系统的概念,所有的程序的设计都是有纯粹的机器语言编写的,程序员需要申请时段,在时段内独享整个资源,即调试自己的程序,效率很低,造成很大的浪费。
第二代计算机(1955-1965):晶体管和批处理系统,有了操作系统的概念,大型机开始出现,有了程序设计语言FORTRAN语言或汇编语言,可以把很多人的输入累积到一定数量后,然后计算机按顺序计算。
第三代计算机(1965-1980):集成电路芯片和多道程序设计,出现了大型的科学计算机和商用计算机,也有了服务器的模型,计算机可以通过多道技术更加科学的管理同一个资源的调度问题,出现了Linux。
第四代计算机(1980-至今):个人计算机
五、多道技术
多道技术中的多道指的是多个程序,多道技术的实现是为了解决多个程序竞争或者说共享同一个资源(比如CPU)的有序调度问题,解决方式即多路复用,多路复用分为时间上的复用和空间上的复用。
现代计算机或者网络都是很多用户的,多个用户不仅共享硬件,而且共享文件、数据库等信息,共享意味着冲突和无序,操作系统主要用来处理来自多个程序发起的多个共享资源的请求,简称多路复用。
多路复用有2种实现方式
1、时间上的复用:当一个资源在时间上复用时,不同的程序或用户轮流使用它,第一个程序获取该资源使用结束后,在轮到第二个…第三个…
例如:只有一个CPU,多个程序要在CPU上运行,操作系统会把CPU分给第一个程序,运行一段时间后(系统算法说了算),再分配给下一个程序,以此类推。
2、空间上的复用:每个用户都获取了一个大的资源中的一小部分资源,从而减少了排队等待资源的时间。
例如:多个运行程序同时进入内存后,硬件层面提供保护机制将 内存分割开(操作系统控制),这比一个一个排队进入内存效率要高。