操作系统(Operating System,OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。其主要作用是管理好这些设备,提高它们的利用率和系统的吞吐量,并为用户和应用程序提供一个简单的接口,便于用户使用。
在计算机发展的早期,由于还未出现操作系统,人们采用人工操作方式使用计算机:由程序员将已穿孔的纸带(或卡片)装入纸带(或卡片)输入机,再启动它们将纸带(或卡片)上的程序和数据输入计算机,然后启动计算机运行;当程序运行完毕并由用户取走计算结果后,才允许下一个用户使用计算机。
特点:
脱机输入方式:是指在一台外围机(即一台专门用来管理输入/输出的、功能较简单的计算机)的控制下,预先将程序和数据从低速输入设备输入到磁带,当 CPU 需要这些程序和数据时,再从磁带高速地读入内存。
脱机输出方式:是指当CPU需要输出时,先高速地将数据写入磁带,然后在一台外围机的控制下,通过低速输出设备进行输出。相反,在主机的直接控制下进行的输入/输出方式被称为联机输入/输出方式。
由于程序和数据的输入和输出都是在外围机的控制下完成的,或者说,它们是在脱离主机的情况下进行的,故称为脱机输入/输出方式。
优点:
批处理技术:是指在系统中配置一个监督程序,并在该监督程序的控制下,能够对一批作业自动进行处理的技术。
早期采用批处理技术的系统,由于在内存中只能存放一道作业,故称为单道批处理系统。
缺点:
多道程序设计技术:是指在内存中同时存放若干个作业,并使它们共享系统资源且同时运行的技术。
采用多道程序设计技术的批处理系统被称作多道批处理系统。
优点:
缺点:
为了解决批处理系统无法进行人机交互的问题,并使多个用户(包括远程用户)能同时使用昂贵的主机资源,又引入了分时系统。
分时系统:是指,在一台主机上连接有多个配有显示器和键盘的终端,同时允许多个用户通过自己的终端以交互方式使用计算机,共享主机中的资源。
实时系统:是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
只允许一个用户上机,且只允许用户程序作为一个任务运行,这是最简单的微机操作系统。
只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行,从而有效地改善了系统的性能。
允许多个用户通过各自的终端,使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而可进一步提高资源利用率和系统吞吐量。
共享性是指系统中的资源可供内存中多个并发执行的进程同时使用。
根据资源性质的不同可将资源共享方式分为以下两种:
虚拟性是指通过某种技术,将一个物理实体变为若干个逻辑上的对应物。用来实现虚拟性的技术被称为虚拟技术。
异步性是指在多道程序的环境下,每个程序何时执行、何时暂停都是未知的,即它们以不可预知的速度向前推进。但同时操作系统应保证程序的执行结果是可再现的,即只要运行环境相同,一个作业的多次运行都会得到相同的结果。
操作系统的主要功能包括:
操作系统(OS)是一个大型的系统软件,其内部的组织结构已经经历了四代的变革。
无结构操作系统也叫整体式系统,整个操作系统是各种过程的集合,每个过程都可以调用任意其他过程,操作系统内部不存在任何结构。
采用这种结构的操作系统不仅调试和维护不方便,而且其可读性和可扩充性都较差。
模块化结构中采用了模块化程序设计技术,将操作系统按其功能划分成若干个具有一定独立性和大小的模块,并规定好各模块间的接口,使得它们之间能够交互,对较大的模块还可进一步细化为若干个子模块。
采用这种结构可加速操作系统的研制过程,操作系统设计的正确性高、适应性好。但模块的划分和接口的规定较困难,而且模块间还存在着复杂的依赖关系,使 OS 结构变得不够清晰。
分层式结构是对模块化结构的一种改进,它将操作系统按其功能流图的调用次序以及其他一些原则划分为若干个层次,每一层代码只能使用较低层代码提供的功能和服务,并采用自底向上或自顶向下增添软件的方法来研制操作系统。
由于它将模块之间的复杂依赖关系改为单向依赖关系,并消除了某些循环依赖关系,因此能使OS结构变得非常清晰,从而使系统的正确性更高、扩充性和维护性更好。
微内核的主要思想是,在操作系统内核中只留下一些最基本的功能,而将其他服务尽可能地从内核中分离出去,用若干个运行在用户态下的进程(即服务器进程)来实现,形成所谓的“客户/服务器”模式。普通用户进程(即客户进程)可通过内核向服务器进程发送请求,以取得操作系统的服务。
由于微内核 OS 结构是建立在模块化、层次化结构的基础上的,并采用了客户/服务器模式和面向对象的程序设计技术,因而它具有提高了系统的可扩展性,增强了系统的可靠性和可移植性,提供了对分布式系统的支持等优点。