操作系统基础概述
概述
操作系统(operation system)是作为计算机硬件和计算机用户之间的中介的系统程序。其目的 是为了用户提供方便且有效地执行程序的环境。操作系统是管理硬件的软件。硬件必须提供合适的机制来保证计算机系统的正确运行,以及确保系统不受用户程序干扰正常运行。
为了更加全面地理解操作系统所担当的角色,接下来从两个视角探索操作系统:即从用户视角和系统的视角来研究。
用户视角
计算机的用户观点因所使用接口的不同而异。绝大多数计算机用户坐在一台这样的 PC前, PC 由显示器、键盘、鼠标和主机组成。这类系统设计是为了让单个用户单独使用其资源,其目的是优化用户所进行的工作(或游戏)。对于这种情况,操作系统的设计目的是为了用户使用方便,性能是次要的,而且不在乎资源使用率一一如何共享硬件和软件资源。性能对用户来说非常重要,而不是资源使用率,这种系统主要为了优化单用户的情况。
在某些情况下,有些用户坐在与大型机或小型机相连的终端前,其他用户通过其他的终端访问同一计算机。这些用户共享资源并可交换信息。操作系统设计为资源使用做了优化:确保所有的 CPU 时间、内存和I/ 都能得到充分使用,并且确保没有用户使用超出其权限以外的资源。
在另一些情况下,其他用户坐在工作站前,工作站与其他工作站和服务器相连。这些用户不但可以使用专用的资源,而且可以使用共享资源,如网络和服务器及文件、计算和打印服务器。因此,这类操作系统的设计目的是个人使用性能和资源利用率的折中。
系统观点
从计算机的角度来看,操作系统是与硬件最为密切的程序。本节中,可以将操作系统看做资源分配器。计算机系统可能有许多资源,用来解决 CPU 时间、内存空间、文件存储空间、I/ O设备等问题。操作系统管理这些资源。面对许多甚至冲突的资源请求,操作系统必须决定如何为各个程序和用户分配资源,以便计算机系统能有效而公平地运行。众所周知,资源分配对多用户访问主机或微型计算机特别重要。操作系统的一个稍稍不同的观点是强调控制各种I/ 设备和用户程序的需要。操作系统是控制程序。控制程序管理用户程序的执行以防止计算机资源的错误使用或使用不当。它特别关注I/O 设备的操作和控制。
操作系统的位置
操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。
操作系统位于计算机硬件与应用软件之间,本质也是一个软件。操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成,所以,单纯的说操作系统是运行于内核态的,是不准确的。
操作系统的作用
- 作为计算机硬件系统之间的接口,用户可通过命令方式,系统调用方式,图形、窗口方式来使用计算机。
- 作为计算机系统资源的管理者,处理机管理:用于分配和控制处理机;存储器管理:主要负责内存的分配与回收;I/O设备管理:负责I/O设备的分配与操纵;文件管理:负责文件的存取、共享和保护。
- 实现了对计算机资源的抽象,OS是铺设在计算机硬件上的多层系统软件,它们不仅增强了系统的功能,而且还隐藏了对硬件操作的细节。
操作系统的功能
操作系统五大管理功能,即作业管理、存储管理、信息管理、设备管理和处理机管理。这些管理工作是由一套规模庞大复杂的程序来完成的。
作业管理解决的是允许谁来使用计算机和怎样使用计算机的问题。在操作系统中,把用户请求计算机完成一项完整的工作任务称为一个作业。当有多个用户同时要求使用计算机时,允许哪些作业进入,不允许哪些进入,对于已经进入的作业应当怎样安排它的执行顺序,这些都是作业管理的任务。
存储管理解决的是内存的分配、保护和扩充的问题。计算机要运行程序就必须要有一定的内存空间。当多个程序都在运行时,如何分配内存空间才能最大限度地利用有限的内存空间为多个程序服务;当内存不够用时,如何利用外存将暂时用不到的程序和数据“滚出”到外存上去,而将急需使用的程序和数据“滚入”到内存中来,这些都是存储管理所要解决的问题。
信息管理解决的是如何管理好存储在磁盘、磁带等外存上的数据。由于计算机处理的信息量很大而内存十分有限,绝大部分数据都是保存在外存上。如果要用户自己去管理就要了解如何将数据存放到外存的物理细节,编写大量程序。在多个用户使用同一台计算机的情况下既要保证各个用户的信息在外存上存放的位置不会发生冲突,又要防止对外存空间占而不用;既要保证任一用户的信息不会被其他用户窃取、破坏,又要允许在一定条件下多个用户共享,这些都是要靠信息管理解决的。信息管理有时也称为文件管理,是因为在操作系统中通常是以“文件”作为管理的单位。操作系统中的文件概念与日常生活中的文件不同,在操作系统中,文件是存储在外存上的信息的集合,它可以是源程序、目标程序、一组命令、图形、图像或其它数据。
设备管理主要是对计算机系统中的输入输出等各种设备的分配、回收、调度和控制,以及输入输出等操作。
处理机管理主要解决的是如何将CPU分配给各个程序,使各个程序都能够得到合理的运行安排。 从资源管理的角度来看,可以把操作系统看作是控制和管理计算机资源的一组程序;从用户的角度看,操作系统是用户和计算机之间的界面。用户看到的是操作系统向用户提供的一组操作命令,用户可以通过这些命令来使用和操作计算机的第一步。
操作系统的发展
1.人工操作阶段
在第一代计算机时期,由于计算机存储容量小,运算速度慢(只有几千次/秒),输入/输出设备只有纸带输入机、卡片阅读机、打印机和控制台。利用这样的计算机做题只能采取人工操作的方式,操作系统更是闻所未闻。
计算机的使用方式:
人工操作情况下,用户一个挨一个的轮流使用计算机。
使用过程大致如下:
a)先把手编程序(机器语言编写成的程序)穿成纸带(或卡片),装上输入机。
b) 经人工操作把程序和数据输入计算机。
c) 通过控制台开启程序运行。
d) 计算完毕,用户拿走打印结果,并卸下纸带。
存在的问题:
在这个过程中,需要人工装纸带、人工控制程序运行、人工卸纸带,进行一系列的“人工干预”。这种由一道程序独占机器的情况,在计算机运算速度较慢的时候是可以容忍的,因为此时计算所需要的时间相对而言较长,人工操作时间所占比例还不算很大。
当计算机进入第二代——晶体管时代后,计算机的速度、容量、外设的功能和种类及数据等方面和第一代计算机相比都有了很大的发展。比如,计算机的速度就有了几十倍、上百倍的提高,所以使得手工操作的慢速度和计算机运算的高速度之间形成了一对矛盾。即所谓人——机矛盾。
2.联机批处理
监督程序的工作负荷是以作业流形式提供的。每个用户需要计算机解决的计算任务均组织成一个作业。每个作业有一个和程序分开的说明文件,即作业说明书,它提供了用户表识、用户想使用的编译程序的名称以及所需要的系统资源名称等基本信息。每个作业还包含一个程序和一些原始数据,最后是一个作业的终止信息。终止信息给监督程序一个信号,表示此作业已经结束,应为下一个用户作业做好服务准备。
操作过程:
a)各用户把作业交给机房,由操作员把一批作业装到输入设备上
b)为了执行一个作业,批处理监督程序将解释这个作业的说明书。若系统资源能满足其要求,则将该作业调入内存,并从外部存储器上输入所需要的编译程序。编译程序将用户元程序翻译成目标代码,然后由链接装配程序把编译后的目标代码及其所需的子程序装配成一个可执行的程序。
c)启动执行。
d)计算完成后输出该作业的计算结果。
e)一个作业处理完毕后,监督程序才可以自动地调入下一个作业进行处理。
f)依次重复上述过程。
联机批处理的特点:
1、作业的输入输出是联机的
作业从输入设备到磁带,由磁带调入内存,以及结果的输出打印都是由中央处理机CPU直接控制的。在这种联机操作方式下,随着处理机速度的不断提高,处理机和输入输出设备之间的速度差距就形成了尖锐的矛盾。
2、 CPU使用效率低。
随着处理机速度的不断提高,处理机和输入输出设备之间的速度差距就形成了尖锐的矛盾。因为在进行输入或输出时,CPU是空闲的,使得告诉的CPU要等待慢速的输入输出设备的工作,从而不能发挥CPU应有的效率。
3.脱机批处理
脱机批处理系统的操作过程:
作业通过卫星机输入到磁带上
当主机需要输入作业时,就把输入带同主机连上。
主机把作业从输入带调入内存,并执行运算。
作业完成后,主机负责把结果记录到输出带上,再由卫星机负责把输出带上的信息打印输出。
脱机批处理系统的特点
1、这样,主机摆脱了慢速的输入输出工作,可以较充分的发挥它的高速计算能力。同时,由于主机和卫星机可以并行操作,因此脱机批处理系统与早期的批处理系统相比,系统的处理能力大幅度提高。
2、 批处理系统实在解决人——机矛盾以及高速度的中央处理机和低速度的I/O设备间的矛盾的过程中发展起来的。它的出现改善了CPU和外设的使用情况,实现了作业的自动定序、自动过渡,从而使整个计算机系统的处理能力得到提高。
3、但仍然存在许多缺陷:
a)星机和主机之间的磁带装卸仍需人工完成
b操作员需要监督及其德状态信息
c)系统没有任何保护自身的措施,因此当目标程序执行一条引起停机的非法指令时,机器就会错误的停止运行。此时,只有操作员进行干预,程序才会重新启动运行。
4.多道技术
产生技术背景
20世纪60年代中期,计算机硬件获得了两个方面的发展,一是通道的引入,二是中断技术的出现,这两项重大成果导致了操作系统进入多道批处理系统阶段。
通道:一种输入/输出专用处理机,它能控制一台或多台外设工作,负责外部设备与主存之间的信息传输。它一旦被启动,就能独立于CPU运行,这样就可使CPU和通道并行操作,而且CPU和各种外部设备也能并行操作。
中断技术:当主机接到外部硬件(如I/O设备)发来的信号时,马上停止原来的工作,转去处理这一事件,在处理完了以后,主机又回到原来的工作点继续工作。
借助于通道技术、中断技术,输入输出工作可以在主机控制之下完成。
工作过程
此时,原有的监督程序不仅要负责调度作业自动地运行,而且还要提供输入输出控制功能(即用户不能直接使用启动外设的指令,它的输入/输出请求必须通过系统去执行)它比原来的功能增强了。
这个发展后的监督程序常驻内存,称为执行系统。
特点:
1、执行系统比脱机处理前进了一步,它节省了卫星机,降低了成本,而且同样能支持主机和通道、主机和外设之间的并行操作。
2、用户程序的输入输出工作是委托给执行系统实现的,由执行系统检查其命令的合法性,提高了系统的安全性。
3、批处理系统和执行系统的普及,发展了标准文件管理系统和外部设备的自动调节控制功能。这一时期,程序库边的更加复杂和庞大,随机访问设备(如磁盘、磁鼓)已开始代替磁带作为外存。
4、高级语言也比较成熟和多样。