操作系统
- 为什么要有操作系统
- 操作系统是什么
- 操作系统和普通软件的区别
- 操作系统的发展史
- 操作系统的两大作用
- 多路复用
一、为什么要有操作系统
现代的计算机主要是由一个或多个处理器、主存、硬盘、键盘、鼠标、显示器等其他I/O设备组成的。
每个应用程序员都必须掌握计算机系统的所有细节,但是这是一个很复杂的系统,如果要掌握所有细节,很影响开发的效率。所以为了优化使用,计算机安装了一层系统软件,称之为操作系统。它的作用就是为用户提供一个更好、更简单、更清晰的计算机模型,来管理所有设备。
总的来说就是:程序员无法把计算机的所有操作细节都了解到,管理并优化这些硬件是很复杂的,现在这些复杂的工作交给操作系统来做。程序员就可以只考虑自己的编程了。
二、操作系统是什么
简单的来理解,操作系统就是一个协调、管理和控制计算机硬件和软件资源的控制程序。
操作系统在整个计算机系统的位置.
操作系统位于计算机硬件与应用软件之间,本质也是一个软件。
操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成。
操作系统可以理解分为两部分:
- 隐藏接口调用,为程序员提供调用硬件资源更好的、更简单的模型(系统调用接口)。
- 将应用程序对硬件资源的请求变得有序化。
三、操作系统和普通软件的区别
- 操作系统由硬件保护,不能被用户修改,而普通软件用户可以根据自己的要求进行修改。
- 操作系统是一个大型、复杂、长寿的软件。
大型:操作系统的源代码大概有五百万行数量级,这还仅仅只是内核部分,还有用户程序、基本软件、库之类的。
长寿:操作系统代码量如此庞大难编,一旦完成,操作系统的所有者便不会轻易丢弃,再写一个,而是会在原有基础上进行改进。
四、操作系统的发展史
1.第一代计算机(1940~1955):真空管和穿孔卡片
工作过程: 程序员在墙上的机时表预约一段时间,然后拿着他的插件版到机房里,将插件板接到计算机里,这几个小时内他独享整个计算机资源,后面的一批人都得等着。
后来出现了穿孔卡片,可以将程序写在卡片上,然后读入机而不用插件板
优点:
程序员在申请的时间段内独享整个资源,即时的调试自己的程序,如果有bug可以即时处理,
缺点:
这对于计算机提供商来说是一种浪费,计算机的时间利用率很低。
注意:同一时刻只有一个程序在内存中,被cpu调用执行,比方说10个程序的执行,是串行的。
2.第二代计算机(1955~1965):晶体管和批处理系统。
工作过程:
在收集了大约一个小时的批量作业之后,这些卡片被读入磁带,然后磁带被送到机房里并装到磁带上。然后磁带被送到机房里并装到磁带机上。随后,操作员装入一个特殊的程序,它负责从磁带上读入第一个作业并运行,其输出写到第二个磁带上,而且不打印。每个作业结束后,操作系统自动的从磁带上读入下一个作业并且运行。当一整批的作业全部结束后,操作员去下输入和输出磁带,将输入磁带换成下一批作业,并且把输出磁带拿到一台1041机器上进行脱机打印。
优点:
批处理,节省了机时。
缺点:
1.整个流程需要人参与控制,将磁带搬来搬去。
2.计算的过程仍然是顺序计算-》串行。
3.程序员原来独享一段时间的计算机,现在必须被统一规划到一批作业中,等待结果和重新调试的过程都需要等同批次的其他程序都运作完才可以(这极大的影响了程序的开发效率,无法及时调试程序)。
3.第三代计算机(1965~1980):集成电路芯片和多道程序设计
第三代相比于第二代出现了许多新技术。
1.同时的外部设备联机操作(SPOOLING):卡片被拿到机房后能够很快的将作业从卡片读入磁盘,于是任何时刻当一个作业结束时,操作系统就能将一个作业从磁带读出,装进空出来的内存区域运行。
2.多道技术:多道技术中的多道指的是多个程序,多道技术的实现是为了解决多个程序竞争或者说共享同一个资源(比如cpu)的有序调度问题,解决方式即多路复用。
多路复用分为时间上的复用和空间上的复用。
时间上的复用:当一个程序在等待I/O时,另一个程序可以使用cpu。
空间上的服用:将内存分为几部分,每个部分放入一个程序,这样,同一时间内存中就有了多道程序。
分时操作系统:多个终端+多道技术。把计算机与许多终端用户连接起来,分时操作系统将系统处理机时间与内存空间按一定的时间间隔,轮流地切换给各终端用户的程序使用。由于时间间隔很短,每个用户的感觉就像他独占计算机一样。
4.第四代计算机(1980~今):个人计算机
五、操作系统的两大作用
作用一:屏蔽硬件物理特性和操作细节,为用户使用计算机提供了便利
例如:操作系统提供了文件这个抽象概念,对文件的操作就是对磁盘的操作,有了文件我们无需再去考虑关于磁盘的读写控制。
作用二: 有效的管理系统资源,提高系统资源的利用率
操作系统同时运行多道程序,操作系统会有序的控制相互竞争的程序对处理器,存储器及其他设备的分配。
六、多路复用
操作系统处理来自多个程序发起的多个共享资源的请求,简称多路复用。
多路复用的两种实现方式:
1.时间上的复用:
当一个资源在时间上的复用,不同的程序或用户轮流使用它,第一个程序获取资源使用结束后,在轮到第二个。。。。第三个。。。
2.空间上的复用:
每个程序或用户都获取了一个大资源中的一小部分资源,从而减少了排队等候资源的时间。