操作系统概述
操作系统(Operating System,简称 OS),是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件。
基本概念
操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其他应用软件提供支持等。操作系统能够使计算机系统资源最大限度地发挥作用。
操作系统的种类众多,从简单到复杂,可分为智能卡操作系统、实时操作系统、传感器节点操作系统、嵌入式操作系统、个人计算机操作系统、多处理器操作系统、网络操作系统和大型机操作系统。按应用领域划分主要有三种:桌面操作系统、服务器操作系统和嵌入式操作系统。
操作系统简史
二十世纪中期,随着计算机的诞生,人类进入了信息化时代,当时的第一代计算机并没有操作系统,这是由于早期个人电脑的建立方式(如同建造机械计算机)与效能不足以执行这样的程序。1947 年由于晶体管的发明以及莫里斯 · 威尔克斯(Maurice Vincent Wilkes)发明的微程序方法,使得电脑不再是机械设备,而是电子产品。系统管理工具以及简化硬件操作流程的程序很快就出现了,这成为操作系统诞生的基础。
到了 20 世纪 50 年代中期,商用电脑制造商制造了批处理系统,此系统可将工作的建立、调度以及执行序列化。此时计算机厂商为每一台不同型号的计算机编写不同的操作系统,因此为某计算机而写的程序无法移植到其他计算机上执行,即使是同型号的计算机也不行。
1963 年,奇异公司与贝尔实验室、麻省理工学院以及美国通用电气公司共同合作以 PL/I 语言开发出 Multics 操作系统,它的出现是激发 1970 年代众多操作系统建立的灵感来源,尤其是由 AT&T 贝尔实验室的丹尼斯 · 里奇与肯 · 汤普逊所建立的 UNIX 系统,为了实现平台移植能力,此操作系统在 1969 年用 C 语言重写。
用 C 语言编写的 UNIX 操作系统具有跨时代意义,它是真正意义上第一款现代操作系统,后期诞生的 Linux、BSD、Mactonish,Solaris 等系统在原理及其应用程序接口调用方面,皆来源于 UNIX 系统。UNIX 系统对操作系统的影响一直持续至今天。
操作系统功能
功能层次
操作系统按功能层次可分成四大部分:
- 驱动层:最底层的、直接控制和监视各类硬件的部分,它们的职责是隐藏硬件的具体细节,并向其他部分提供一个抽象的、通用的接口。
- 内核层:操作系统内核部分,通常运行在最高特权级,负责提供基础性、结构性的功能。
- 接口库层:是一系列特殊的程序库,它们的职责在于把系统所提供的基本服务包装成应用程序所能够使用的编程接口(API),是最靠近应用程序的部分。
- 外围服务层:是指操作系统中除以上三类以外的所有其他部分,通常是用于提供特定高级服务的部件。例如,在微内核结构中,大部分系统服务以及 UNIX / Linux 中各种守护进程都通常被划归此列。
主要功能
操作系统的主要功能是资源管理、程序控制和人机交互等。计算机系统的资源可分为设备资源和信息资源两大类。设备资源指的是组成计算机的硬件设备,如中央处理器、主存储器、磁盘存储器、打印机、磁带存储器、显示器、键盘鼠标等设备。信息资源指的是存放于计算机内的各种数据,如文件、程序库、系统软件和应用软件等。
操作系统位于底层硬件与应用软件或用户之间,是两者沟通的桥梁。应用程序或者用户可以通过操作系统提供的各种接口来操作计算机。一个标准的操作系统应该提供以下功能:
- 处理器管理(CPU Management)
- 存储器管理(Memory Management)
- 作业管理(Job Management)
- 文件系统(File System)
- 网络通讯(Networking)
- 安全机制(Security)
- 用户界面(User Interface)
- 驱动程序(Device Drivers)
操作系统分类
批处理操作系统(Batch Processing Operating System)
用户将作业交给系统操作员,系统操作员将多个用户的作业组成一批作业,之后输入到计算机中,在系统中形成一个自动转接的连续作业流,然后启动操作系统,系统自动、依次执行每个作业。批处理操作系统分为简单批处理系统和多道批处理系统。
分时操作系统(Time Sharing Operating System)
多个用户可以通过终端同时访问系统,由于多个用户分享处理器时间,因此该技术称作分时 (Time Sharing),用户交互式地向系统提出命令请求,系统接受每个用户的命令,并控制每个用户程序以很短的时间为单位(这种时间单位被称作时间片 )交替执行。这种技术使得每个用户认为自己独享处理器。分时系统具有多路性、交互性、“独占”性和及时性的特征。
实时操作系统(Real Time Operating System)
是指使计算机能及时响应外部事件的请求并在规定的“严格时间”内完成对该事件的处理,控制所有实时设备和实时任务协调一致工作的操作系统。实时操作系统追求的目标是:对外部请求在“严格时间”范围内做出反应,具有高可靠性、完整性、资源分配、任务实时调度的特点。其中资源分配和任务实时调度是其主要特点。此外实时操作系统应有较强的容错能力。实时操作系统分为硬实时操作系统与软实时操作系统,其中硬实时操作系统能够保证所有的实时事件在确定的时间内都能得到正确的响应,而软实时操作系统只能够尽最大的努力来争取实时事件在确定的时间内得到响应,实时操作系统通常被应用于专用的嵌入式设备,SylixOS 本身就属于实时操作系统。
分布式操作系统(Distributed Operating System)
是为分布计算系统配置的操作系统。大量的计算机通过网络被连结在一起,可以获得极高的运算能力及广泛的数据共享。这种系统被称作分布式系统(Distributed System)。它在资源管理,通信控制和操作系统的结构等方面都与其他操作系统有较大的区别。同时分布式操作系统还要支持并行处理,因此它提供的通信机制和网络操作系统提供的有所不同,它要求通信速度快。分布式操作系统的结构也不同于其他操作系统,它分布于系统的各台计算机上,能并行地处理用户的各种需求,有较强的容错能力。