1 什么是操作系统?
操作系统(Operating System,OS)是管理和控制计算机硬件与软件资源的计算机程序。它是直接运行在“裸机”上的最基本的系统软件,用户有效地管理系统资源,并为用户使用计算机提供便利的环境,而任何其他软件都必须在操作系统的支持下才能运行。
实际上,用户是不用接触操作系统的,操作系统管理着计算机硬件资源,同时按照应用程序的资源请求,分配资源。
扩展知识:操作系统的发展历史
从诞生第一台电子计算机以来,每一代进化都以减少成本、缩小体积、降低功耗、增大容量和提高性能为目标。随着计算机硬件的发展,同时也加速了操作系统的形成和发展。
(1)无操作系统时代:最早是用户通过各种操作按钮来控制计算机;汇编语言出现以后,操作人员通过有孔的纸带将程序输入电脑进行编译,这些将语言内置的电脑只能由用户自己编写程序来运行。
(2)第一代操作系统:1976年,美国DIGITAL RESEARCH软件公司研制出8位的CP/M操作系统,这个系统允许用户通过控制台的键盘对系统进行控制和管理,其主要功能是对文件信息进行管理,以实现硬盘文件或其他设备文件的自动存取。
(3)单用户、单任务的操作系统:其典型代表是DOS操作系统,其中最著名的是MS-DOS操作系统,这是一种基于8086微处理器而设计的单用户操作系统,是在IBM-PC及其兼容机上运行的操作系统。从1981年问世至今,DOS操作系统经历了7次大的版本升级。
(4)多用户、多道作业和分时系统:其典型代表有UNIX、XENIX、OS/2和Windows操作系统。UNIX具有分时的多用户、多任务、树形结构的文件系统以及重定向和管道三大特点;OS/2采用图形界面,其本身是一个32位系统,不仅可以处理32位OS/2系统的应用软件,也可以运行16位DOS和Windows软件,它将多任务管理、图形窗口管理、通信管理和数据库管理融为一体;Windows是微软公司在1985年11月发布的第一代窗口式多任务系统,它使PC机开始进入了所谓的图形用户界面时代。
(5)多样化操作系统:在服务器方面Linux、UNIX和Windows Server占据了市场的大部分份额;在超级计算机方面,Linux取代UNIX成为第一大操作系统;随着智能手机的发展,Android和IOS已经成为目前最流行的两大手机操作系统。
2 操作系统的作用
操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的作用主要体现在两个方面:
(1)屏蔽硬件物理特性和操作细节,为用户使用提计算机提供便利。
用户不需要了解计算机硬件的体系结构和工作方式,也不需要了解计算机指令系统,即不需要了解计算机系统的操作细节就能够使用计算机,极大地提高了计算机系统的应用范围和用户范围。
(2)有效管理系统资源,提高系统资源使用效率。
如何有效地管理、合理地分配系统资源,提高系统资源的使用效率是操作系统必须发挥的主要作用,其中资源利用率和系统吞吐量是两个非常重要的指标。
3 操作系统的功能
操作系统的主要功能包括:管理计算机硬件、软件及数据等资源,控制程序运行,改善人机界面,为其它应用软件提供支持。
I、资源管理:资源管理包括存储管理、处理器管理、设备管理和信息管理等。
(1)存储管理是负责把内存单元分配给需要内存的程序以便让它执行,在程序执行结束后将它占用的内存单元收回以便再使用。
(2)处理器管理是根据一定的策略将处理器交替地分配给系统内等待运行的程序。
(3)设备管理功能主要是分配和回收外部设备以及控制外部设备按用户程序的要求进行操作。
(4)信息管理是向用户提供一个文件系统,向用户提供创建文件、撤销文件、读写文件、打开和关闭文件等功能,用户可按文件名存储数据而无需知道这些数据存放在哪里。
II、程序控制:用户程序的执行自始至终是在操作系统控制下进行的,操作系统控制用户的执行主要包括调入相应的编译程序,将用某种程序设计语言编写的源程序编译成计算机可执行的目标程序,分配内存储等资源将程序调入内存并启动,按用户指定的要求处理执行中出现的各种事件以及与操作员联系请示有关意外事件的处理等。
III、人机交互:人机交互功能是决定计算机系统“友善性”的一个重要因素,主要作用是控制有关设备的运行和理解,并执行通过人机交互设备传来的有关的各种命令和要求。人机交互功能主要靠可输入输出的外部设备和相应的软件来完成。
IV、虚拟内存:虚拟内存是计算机系统内存管理的一种技术,它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间)。实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。
V、用户接口:用户接口包括作业一级接口和程序一级接口,其中作业一级接口为了便于用户直接或间接地控制自己的作业而设置,包括联机用户接口与脱机用户接口;程序一级接口是为用户程序在执行中访问系统资源而设置的,通常由一组系统调用组成。
VI、用户界面:用户界面是系统和用户之间进行交互和信息交换的媒介,是介于用户与硬件而设计彼此之间交互沟通相关软件,用于实现信息的内部形式与人类可以接受形式之间的转换,目的是使用户能够方便有效率地去操作硬件以达成双向交互。
一个标准的操作系统至少应该提供这些功能:进程管理(Processing Management)、内存管理(Memory Management)、文件系统(File System)、网络通讯(Networking)、安全机制(Security)、用户界面(User Interface)和驱动程序(Device Drivers)。
4 操作系统的类型
根据操作系统应用的设备不同,操作系统可以分为:智能卡操作系统、实时操作系统、传感器节点操作系统、嵌入式操作系统、个人计算机操作系统、多处理器操作系统、网络操作系统和大型机操作系统。
根据应用领域的不同,操作系统可以分为:桌面操作系统、服务器操作系统和嵌入式操作系统。
根据所支持用户数的不同,操作系统可以分为:单用户操作系统和多用户操作系统。单用户操作系统有MS-DOS、OS/2、Windows等,多用户操作系统有UNIX、Linux、MVS等。
根据源码开发程度的不同,操作系统可以分为:开源操作系统和闭源操作系统。开源操作系统有Linux、FreeBSD等,闭源操作系统有Mac OS X、Windows等。
根据硬件结构的不同,操作系统可以分为:网络操作系统、多媒体操作系统和分布式操作系统。
根据操作系统环境的不同,操作系统可以分为:批处理操作系统、分时操作系统和实时操作系统。
根据存储器寻址宽度的不同,操作系统可以分为:8位操作系统、16位操作系统、32位操作系统、64位操作系统和128位操作系统。
(1)批处理操作系统(Batch Processing Operating System)的工作方式:用户将作业交给系统操作员,系统操作员将许多用户的作业组成一批作业,之后输入到计算机中,在系统中形成一个自动转接的连续的作用流,然后启动操作系统,系统自动依次执行每个作业,最后由操作员将作业结果交给用户。批处理操作系统的特点是:多道和成批处理。
(2)分时操作系统(Time Sharing Operating System)的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。用户根据上步结果发出下道命令。分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。分时系统具有多路性、交互性、“独占”性和及时性的特征。
(3)实时操作系统(Real Time Operating System)是指使计算机能及时响应外部事件的请求在规定的严格时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统。实时操作系统要追求的目标是:对外部请求在严格时间范围内做出反应,有高可靠性和完整性。其主要特点是资源的分配和调度首先要考虑实时性然后才是效率。此外,实时操作系统应有较强的容错能力。
(4)网络操作系统(Network Operating System)通常运行在服务器上的操作系统,是基于计算机网络的,是在各种计算机操作系统上按网络体系结构协议标准开发的软件,包括网络管理、通信、安全、资源共享和各种网络应用。其目标是相互通信及资源共享。
(5)分布式操作系统(Distributed Software Systems)是为分布计算系统配置的操作系统。大量的计算机通过网络被连结在一起,可以获得极高的运算能力及广泛的数据共享。
(6)嵌入式操作系统(Embedded Operating System)是用在嵌入式系统的操作系统。嵌入式系统使用非常广泛的操作系统。嵌入式设备一般专用的嵌入式操作系统、指定程序员移植到这些新系统、某些功能缩减版本的Linux或者其他操作系统。某些情况下,嵌入式操作系统指称的是一个自带了固定应用软件的巨大泛用程序。在许多最简单的嵌入式系统中,所谓的操作系统就是指其上唯一的应用程序。
5 典型的操作系统
(1)UNIX:UNIX操作系统最早是与1969年由Ken Thompson和Dennis Ritchie在美国AT&T的贝尔实验室开发,这是一种强大的多用户、多任务操作系统,属于分时操作系统。
类UNIX操作系统是指各种传统的UNIX以及各种与传统UNIX类似的系统,它们都相当程度地继承了原始UNIX特定,并且都在一定程度上遵守POSIX规范。
(2)Linux:Linux操作系统最初由芬兰赫尔辛基大学计算机学生Linux Torvalds在基于UNIX开发的一个操作系统的内核程序,能够与UNIX完全兼容。Linux操作系统在1991年正式推出,是一种多用户、多任务的操作系统。其最大特点在于Linux操作系统是一个源代码公开的自由及开放源码的操作系统,其内核源代码可以自由传播。
(3)Mac OS:Mac OS是一套运行与苹果电脑上的操作系统,是首个在商用领域成功的图形用户界面。
(4)Windows:Windows操作系统是由微软公司成功开发的操作系统,是在MS-DOS的基础上设计的图形操作系统,是一种多任务的操作系统。
课件

