请输入您要查询的百科知识:

 

年份 系统名称

1956年 GM-NAA I/O

1959年  SHARE Operating System

1960年 IBSYS

1961年 CTSS
MCP (Burroughs Large Systems)

1962年  GCOS

1964年 EXEC 8
OS/360 (宣称)
TOPS-10

1965年 Multics (宣称)
OS/360 (上市)
Tape Operating System (TOS)

1966年  DOS/360 (IBM)
MS/8

1967年 ACP (IBM)
CP/CMS
ITS
WAITS

1969年  TENEX
Unix

1970年  DOS/BATCH 11 (PDP-11)

1971年  OS/8

1972年  MFT (operating system)
MVT
RDOS
SVS
VM/CMS

1973年  Alto OS
RSX-11D
RT-11
VME

1974年 MVS (MVS/XA)

1975年 BS2000

1976年 CP/M
TOPS-20

1978年 Apple DOS 3.1 (苹果公司第一个操作系统)
TripOS
VMS
Lisp Machine (CADR)

1979年  POS
NLTSS

1980年 OS-9
QDOS
SOS
XDE (Tajo)
Xenix

1981年  MS-DOS

1982年  Commodore DOS
SunOS (1.0)
Ultrix

1983年  Lisa OS
Coherent
Novell NetWare
ProDOS

1984年  Macintosh OS (系统 1.0)
MSX-DOS
QNX
UniCOS

1985年  AmigaOS
Atari TOS
MIPS OS
Oberon operating system
Microsoft Windows 1.0 (Windows第一版)

1986年 AIX
GS-OS
HP-UX

1987年  Arthur
IRIX (SGI推出的第一个版本号是3.0)
Minix
OS/2 (1.0)
Microsoft Windows 2.0

1988年  A/UX (苹果电脑)
LynxOS
MVS/ESA
OS/400

1989年  1989年
NeXTSTEP (1.0)
RISC OS
SCO Unix (第三版)

1990年 Amiga OS 2.0
BeOS (v1)
OSF/1
Microsoft Windows 3.0

1991年  SunOS 4.1.x
Linux

1992年 386BSD 0.1
Amiga OS 3.0
Solaris 2.0 (SunOS 4.x的继承者,以SVR4为基础,而非BSD)
Microsoft Windows 3.1

1993年 Solaris 2.1
Solaris 2.2
Solaris 2.3
Plan 9 (第一版)
FreeBSD
NetBSD
Microsoft Windows NT 3.1 (第一版NT)

1994年 Solaris 2.4

1995年  Solaris 2.5
Digital UNIX (aka Tru64)
OpenBSD
OS/390
Microsoft Windows 95

1996年 Microsoft Windows95 OSR2(OSR=OEMServicerelease) (即:Windows 97)
Microsoft Windows NT 4.0

1997年  Solaris 2.6
Inferno
Mac OS 7.6 (第一版官方正式命名为Mac OS)
SkyOS

1998年 Solaris 7 (第一款64位元Solaris版本,是2.7舍弃主版本号的称谓)
Microsoft Windows 98

1999年  AROS
Mac OS 8
Microsoft Windows 98 Second Edition

2000年 Solaris 8
AtheOS
Mac OS 9
MorphOS
Microsoft Windows 2000
Microsoft Windows Me
Mac OS X Public Beta (公开测试版)(2000年9月13日)

2001年 Mac OS X 10.0 Cheetah(印度豹)(2001年3月24日)
Amiga OS 4.0 (2001年5月)
Mac OS X 10.1 Puma(美洲狮)(2001年9月25日)
Microsoft Windows XP
z/OS

2002年 Solaris 9 for SPARC
Microsoft Windows XP 64-bit Edition
Windows XP Tablet PC Edition
Windows XP Media Center Edition
Syllable
Mac OS X 10.2 Jaguar(美洲虎)(2002年8月23日)

2003年  Solaris 9 for x86
Microsoft Windows Server 2003 (2003年3月28日)
Microsoft Windows XP 64-bit Edition - 以Microsoft Windows Server 2003为基础,同一天释出。
Mac OS X 10.3 Panther(黑豹)(2003年10月24日)

2004年  Microsoft Windows XP Media Center Edition

2005年  Solaris 10
Microsoft Windows XP Professional x64 Edition
Mac OS X 10.4 Tiger(老虎)(2005年4月29日)

2006年  Microsoft Windows Vista

2007年 Mac OS X 10.5 Leopard(美洲豹)(2007年10月26日)

2008年 Ubuntu 8.04 LTS
OpenSolaris 08/05
Ubuntu 8.10
OpenSolaris 08/11
Windows Server 2008

2009年 Ubuntu 9.04
Mac OS X v10.6 Snow Leopard (雪豹)(2009年8月28日)
Windows Server 2008 R2
windows 7
Ubuntu 9.10
Chrome OS

2010 年 ubuntu 10.04
ubuntu 10.10

2011年 Ubuntu11.04
Ubuntu11.10
Mac OS X 10.7 Lion

2012年  OS X 10.8 Mountain Lion

主要功能

操作系统的主要功能是资源管理,程序控制和人机交互等。计算机系统的资源可分为设备资源和信息资源两大类。设备资源指的是组成计算机的硬件设备,如中央处理器,主存储器,磁盘存储器,打印机,磁带存储器,显示器,键盘输入设备和鼠标等。信息资源指的是存放于计算机内的各种数据,如文件,程序库,知识库,系统软件和应用软件等。

操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面,输入命令。操作系统则对命令进行解释,驱动硬件设备,实现用户要求。以现代观点而言,一个标准个人电脑的OS应该提供以下的功能:

进程管理(Processing management)

记忆空间管理(Memory management)

文件系统(File system)

网络通讯(Networking)

安全机制(Security)

使用者界面(User interface)

驱动程序(Device drivers)

资源管理

系统的设备资源和信息资源都是操作系统根据用户需求按一定的策略来进行分配和调度的。操作系统的存储管理就负责把内存单元分配给需要内存的程序以便让它执行,在程序执行结束后将它占用的内存单元收回以便再使用。对于提供虚拟存储的计算机系统,操作系统还要与硬件配合做好页面调度工作,根据执行程序的要求分配页面,在执行中将页面调入和调出内存以及回收页面等。

处理器管理或称处理器调度,是操作系统资源管理功能的另一个重要内容。在一个允许多道程序同时执行的系统里,操作系统会根据一定的策略将处理器交替地分配给系统内等待运行的程序。一道等待运行的程序只有在获得了处理器后才能运行。一道程序在运行中若遇到某个事件,例如启动外部设备而暂时不能继续运行下去,或一个外部事件的发生等等,操作系统就要来处理相应的事件,然后将处理器重新分配。

操作系统的设备管理功能主要是分配和回收外部设备以及控制外部设备按用户程序的要求进行操作等。对于非存储型外部设备,如打印机、显示器等,它们可以直接作为一个设备分配给一个用户程序,在使用完毕后回收以便给另一个需求的用户使用。对于存储型的外部设备,如磁盘、磁带等,则是提供存储空间给用户,用来存放文件和数据。存储性外部设备的管理与信息管理是密切结合的。

信息管理是操作系统的一个重要的功能,主要是向用户提供一个文件系统。一般说,一个文件系统向用户提供创建文件,撤销文件,读写文件,打开和关闭文件等功能。有了文件系统后,用户可按文件名存取数据而无需知道这些数据存放在哪里。这种做法不仅便于用户使用而且还有利于用户共享公共数据。此外,由于文件建立时允许创建者规定使用权限,这就可以保证数据的安全性。

程序控制

一个用户程序的执行自始至终是在操作系统控制下进行的。一个用户将他要解决的问题用某一种程序设计语言编写了一个程序后就将该程序连同对它执行的要求输入到计算机内,操作系统就根据要求控制这个用户程序的执行直到结束。操作系统控制用户的执行主要有以下一些内容:调入相应的编译程序,将用某种程序设计语言编写的源程序编译成计算机可执行的目标程序,分配内存储等资源将程序调入内存并启动,按用户指定的要求处理执行中出现的各种事件以及与操作员联系请示有关意外事件的处理等。

人机交互

操作系统的人机交互功能是决定计算机系统“友善性”的一个重要因素。人机交互功能主要靠可输入输出的外部设备和相应的软件来完成。可供人机交互使用的设备主要有键盘显示、鼠标、各种模式识别设备等。与这些设备相应的软件就是操作系统提供人机交互功能的部分。人机交互部分的主要作用是控制有关设备的运行和理解并执行通过人机交互设备传来的有关的各种命令和要求。

进程管理

不管是常驻程序或者应用程序,他们都以进程为标准执行单位。当年运用冯纽曼架构建造电脑时,每个中央处理器最多只能同时执行一个进程。早期的OS(例如DOS)也不允许任何程序打破这个限制,且DOS同时只有执行一个进程(虽然DOS自己宣称他们拥有终止并等待驻留(TSR)能力,可以部分且艰难地解决这问题)。现代的操作系统,即使只拥有一个CPU,也可以利用多进程(multitask)功能同时执行复数进程。进程管理指的是操作系统调整复数进程的功能。

由于大部分的电脑只包含一颗中央处理器,在单内核(Core)的情况下多进程只是简单迅速地切换各进程,让每个进程都能够执行,在多内核或多处理器的情况下,所有进程通过许多协同技术在各处理器或内核上转换。越多进程同时执行,每个进程能分配到的时间比率就越小。很多OS在遇到此问题时会出现诸如音效断续或鼠标跳格的情况(称做崩溃(Thrashing),一种OS只能不停执行自己的管理程序并耗尽系统资源的状态,其他使用者或硬件的程序皆无法执行)。进程管理通常实现了分时的概念,大部分的OS可以利用指定不同的特权等级(priority),为每个进程改变所占的分时比例。特权越高的进程,执行优先级越高,单位时间内占的比例也越高。交互式OS也提供某种程度的回馈机制,让直接与使用者交互的进程拥有较高的特权值。

内存管理

根据帕金森定律:“你给程序再多内存,程序也会想尽办法耗光”,因此程序设计师通常希望系统给他无限量且无限快的内存。大部分的现代电脑内存架构都是阶层式的,最快且数量最少的寄存器为首,然后是高速缓存、内存以及最慢的磁盘储存设备。而OS的内存管理提供寻找可用的记忆空间、配置与释放记忆空间以及交换内存和低速储存设备的内含物……等功能。此类又被称做虚拟内存管理的功能大幅增加每个进程可获得的记忆空间(通常是4GB,即使实际上RAM的数量远少于这数目)。然而这也带来了微幅降低执行效率的缺点,严重时甚至也会导致进程崩溃。

内存管理的另一个重点活动就是借由CPU的帮助来管理虚拟位置。如果同时有许多进程储存于记忆设备上,操作系统必须防止它们互相干扰对方的内存内容(除非通过某些协议在可控制的范围下操作,并限制可存取的内存范围)。分割内存空间可以达成目标。每个进程只会看到整个内存空间(从0到内存空间的最大上限)被配置给它自己(当然,有些位置被OS保留而禁止存取)。CPU事先存了几个表以比对虚拟位置与实际内存位置,这种方法称为分页(paging)配置。

借由对每个进程产生分开独立的位置空间,OS也可以轻易地一次释放某进程所占据的所有内存。如果这个进程不释放内存,OS可以退出进程并将内存自动释放。

组成部分

操作系统理论研究者有时把操作系统分成四大部分:

驱动程序- 最底层的、直接控制和监视各类硬件的部分,它们的职责是隐藏硬件的具体细节,并向其他部分提供一个抽象的、通用的接口。

内核- 操作系统之最内核部分,通常运行在最高特权级,负责提供基础性、结构性的功能。

接口库- 是一系列特殊的程序库,它们职责在于把系统所提供的基本服务包装成应用程序所能够使用的编程接口(API),是最靠近应用程序的部分。例如,GNU C运行期库就属于此类,它把各种操作系统的内部编程接口包装成ANSI C和POSIX编程接口的形式。

外围- 所谓外围,是指操作系统中除以上三类以外的所有其他部分,通常是用于提供特定高级服务的部件。例如,在微内核结构中,大部分系统服务,以及UNIX/Linux中各种守护进程都通常被划归此列。

当然,本节所提出的四部结构观也绝非放之四海皆准。例如,在早期的微软视窗操作系统中,各部分耦合程度很深,难以区分彼此。而在使用外核结构的操作系统中,则根本没有驱动程序的概念。因而,本节的讨论只适用于一般情况,具体特例需具体分析。

操作系统中四大部分的不同布局,也就形成了几种整体结构的分野。常见的结构包括:简单结构、层结构、微内核结构、垂直结构、和虚拟机结构。

内核结构

内核是操作系统最内核最基础的构件,因而,内核结构往往对操作系统的外部特性以及应用领域有着一定程度的影响。尽管随着理论和实践的不断演进,操作系统高层特性与内核结构之间的耦合有日趋缩小之势,但习惯上,内核结构仍然是操作系统分类之常用标准。

内核的结构可以分为单内核、微内核、超微内核、以及外核等。

单内核结构是操作系统中各内核部件杂然混居的形态,该结构于1960年代(亦有1950年代初之说,尚存争议),历史最长,是操作系统内核与外围分离时的最初形态。

微内核结构是1980年代产生出来的较新的内核结构,强调结构性部件与功能性部件的分离。20世纪末,基于微内核结构,理论界中又发展出了超微内核与外内核等多种结构。尽管自1980年代起,大部分理论研究都集中在以微内核为首的“新兴”结构之上,然而,在应用领域之中,以单内核结构为基础的操作系统却一直占据着主导地位。

在众多常用操作系统之中,除了QNX和基于Mach的UNIX等个别系统外,几乎全部采用单内核结构,例如大部分的Unix、Linux,以及Windows(微软声称Windows NT是基于改良的微内核架构的,尽管理论界对此存有异议)。 微内核和超微内核结构主要用于研究性操作系统,还有一些嵌入式系统使用外核。

基于单内核的操作系统通常有着较长的历史渊源。例如,绝大部分UNIX的家族史都可上溯至1960年代。该类操作系统多数有着相对古老的设计和实现(例如某些UNIX中存在着大量1970年代、1980年代的代码)。另外,往往在性能方面略优于同一应用领域中采用其他内核结构的操作系统(但通常认为此种性能优势不能完全归功于单内核结构)。

分类

目前的操作系统种类繁多,很难用单一标准统一分类。根据应用领域来划分,可分为桌面操作系统、服务器操作系统、主机操作系统、嵌入式操作系统;

根据所支持的用户数目,可分为单用户(MSDOS、OS/2.Windows)、多用户系统(UNIX、MVS);

根据源码开放程度,可分为开源操作系统(Linux、Chrome OS)和不开源操作系统(Mac OS、Windows);

根据硬件结构,可分为网络操作系统(Netware、Windows NT、OS/2 warp)、分布式系统(Amoeba)、多媒体系统(Amiga)、网络操作系统和分布式操作系统等;

根据操作系统的使用环境和对作业处理方式来考虑,可分为批处理系统(MVX、DOS/VSE)、分时系统( Linux、UNIX、XENIX、Mac OS)、实时系统(iEMX、VRTX、RTOS,RT WINDOWS);

根据操作系统的技术复杂程度,可分为简单操作系统、智能操作系统(见智能软件)。所谓简单操作系统,指的是计算机初期所配置的操作系统,如IBM公司的磁盘操作系统DOS/360和微型计算机的操作系统CP/M等。这类操作系统的功能主要是操作命令的执行,文件服务,支持高级程序设计语言编译程序和控制外部设备等;

根据指令的长度分为8bit, 16bit, 32bit, 64bit的操作系统。

流行的主要操作系统

个人电脑

个人电脑市场从硬件架构上来说目前分为两大阵营,PC机与Apple电脑。它们支持的操作系统:

1Windows系列操作系统由微软公司生产

2 Unix类操作系统

如SOLARIS,BSD系列(FREEBSD,openbsd,netbsd,pcbsd)

3 Linux类操作系统

如Ubuntu,Suse Linux,Fedora,等

4 Mac操作系统

由苹果公司生产(Darwin),一般安装于MAC电脑。

大型电脑

最早的操作系统是针对20世纪60年代的大型主结构开发的,由于对这些系统在软件方面做了巨大投资,因此原来的计算机厂商继续开发与原来操作系统相兼容的硬件与操作系统。这些早期的操作系统是现代操作系统的先驱。现在仍被支持的大型主机操作系统包括:

Burroughs MCP-- B5000,1961 to Unisys Clearpath/MCP, present.

IBM OS/360 -- IBM System/360, 1964 to IBM zSeries, present

UNIVAC EXEC 8 -- UNIVAC 1108, 1964, to Unisys Clearpath IX, present.

现代的大型主机一般也可运行Linux或Unix变种。

常见类型

批处理操作系统

批处理(Batch Processing)操作系统的工作方式是:用户将作业交给系统操作员,系统操作员将许多用户的作业组成一批作业,之后输入到计算机中,在系统中形成一个自动转接的连续的作业流,然后启动操作系统,系统自动、依次执行每个作业。最后由操作员将作业结果交给用户。

批处理操作系统的特点是:多道和成批处理。

分时操作系统

分时(Time Sharing)操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。用户根据上步结果发出下道命。分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。分时系统具有多路性、交互性、“独占”性和及时性的特征。多路性指,伺时有多个用户使用一台计算机,宏观上看是多个人同时使用一个CPU,微观上是多个人在不同时刻轮流使用CPU。交互性是指,用户根据系统响应结果进一步提出新请求(用户直接干预每一步)。“独占”性是指,用户感觉不到计算机为其他人服务,就像整个系统为他所独占。及时性指,系统对用户提出的请求及时响应。它支持位于不同终端的多个用户同时使用一台计算机,彼此独立互不干扰,用户感到好像一台计算机全为他所用。

常见的通用操作系统是分时系统与批处理系统的结合。其原则是:分时优先,批处理在后。“前台”响应需频繁交互的作业,如终端的要求; “后台”处理时间性要求不强的作业。

实时操作系统

实时操作系统(RealTimeOperatingSystem,RTOS)是指使计算机能及时响应外部事件的请求在规定的严格时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统。实时操作系统要追求的目标是:对外部请求在严格时间范围内做出反应,有高可靠性和完整性。其主要特点是资源的分配和调度首先要考虑实时性然后才是效率。此外,实时操作系统应有较强的容错能力。

网络操作系统

网络操作系统是基于计算机网络的,是在各种计算机操作系统上按网络体系结构协议标准开发的软件,包括网络管理、通信、安全、资源共享和各种网络应用。其目标是相互通信及资源共享。在其支持下,网络中的各台计算机能互相通信和共享资源。其主要特点是与网络的硬件相结合来完成网络的通信任务。

分布式操作系统

它是为分布计算系统配置的操作系统。大量的计算机通过网络被连结在一起,可以获得极高的运算能力及广泛的数据共享。这种系统被称作分布式系统(DistributedSystem) 。它在资源管理,通信控制和操作系统的结构等方面都与其他操作系统有较大的区别。由于分布计算机系统的资源分布于系统的不同计算机上,操作系统对用户的资源需求不能像一般的操作系统那样等待有资源时直接分配的简单做法而是要在系统的各台计算机上搜索,找到所需资源后才可进行分配。对于有些资源,如具有多个副本的文件,还必须考虑一致性。所谓一致性是指若干个用户对同一个文件所同时读出的数据是一致的。为了保证一致性,操作系统须控制文件的读、写、操作,使得多个用户可同时读一个文件,而任一时刻最多只能有一个用户在修改文件。分布操作系统的通信功能类似于网络操作系统。由于分布计算机系统不像网络分布得很广,同时分布操作系统还要支持并行处理,因此它提供的通信机制和网络操作系统提供的有所不同,它要求通信速度高。分布操作系统的结构也不同于其他操作系统,它分布于系统的各台计算机上,能并行地处理用户的各种需求,有较强的容错能力。

分布操作系统是网络操作系统的更高形式,它保持了网络操作系统的全部功能,而且还具有透明性、可靠性、和高性能等。网络操作系统和分布式操作系统虽然都用于管理分布在不同地理位置的计算机,但最大的差别是:网络操作系统知道确切的网址,而分布式系统则不知道计算机的确切地址;分布之操作系统负责整个的资源分配,能很好地隐藏系统内部的实现细节,如对象的物理位置等。这些都是对用户透明的。

术语

通用与专用、嵌入式

通用操作系统是面向一般没有特定应用需求的操作系统。由于没有特定的应用需求,通用操作系统为了适应更广泛的应用,需要支持更多的硬件与软件,需要针对所有的用户体验,对系统进行更新。通用操作系统是一个工程量繁重的操作系统。

即时与非即时

“即时作业系统”(Real Time OS)泛指所有据有一定实时资源调度以及通讯能力的操作系统。而所谓“实时”,不同语境中往往有着非常不同的意义。某些时候仅仅用作“高性能”的同义词。但在操作系统理论中“即时性”所指的通常是特定操作所消耗的时间(以及空间)的上限是可预知的。比如,如果说某个操作系统提供实时内存分配操作,那也就是说一个内存分配操作所用时间(及空间)无论如何也不会超出操作系统所承诺的上限。即时性在某些领域非常重要,比如在工业控制、医疗器材、影音频合成、以及军事领域,即时性都是无可或缺的特性。

常用即时操作系统有QNX、VxWorks、RTLinux等等,而Linux、多数UNIX、以及多数Windows家族成员等都属于非实时操作系统。操作系统整体的即时性通常依仗内核的即时能力,但有时也可在非即时内核上创建即时操作系统,很多在Windows上创建的即时操作系统就属于此类。

在POSIX标准中专有一系用于规范即时操作系统的API,其中包括POSIX.4、POSIX.4a、POSIX.4b(合称POSIX.4)以及POSIX.13等等。符合POSIX.4的操作系统通常被认可为即时操作系统(但即时操作系统并不需要符合POSIX.4标准)。

寻址宽度

所谓8位、16位、32位、64位、128位等术语有时指总线宽度,有时指指令宽度(在定长指令集中),而在操作系统理论中主要是指存储器寻址的宽度。如果存储器的寻址宽度是16位,那么每一个存储器地址可以用16个二进制位来表示,也就是说可以在64KB的范围内寻址。同样道理32位的宽度对应4GB的寻址范围,64位的宽度对应16 Exabyte的寻址范围。存储器寻址范围并非仅仅是对操作系统而言的,其他类型的软件的设计有时也会被寻址范围而影响。但是在操作系统的设计与实现中,寻址范围却有着更为重要的意义。

在早期的16位操作系统中,由于64KB的寻址范围太小,大都都采用“段”加“线性地址”的二维平面地址空间的设计。分配存储器时通常需要考虑“段置换”的问题,同时,应用程序所能够使用的地址空间也往往有比较小的上限。

在32位操作系统中,4GB的寻址范围对于一般应用程序来说是绰绰有余的,因而,通常使用一维的线性地址空间,而不使用“段”。

未来发展

研究与建立未来的操作系统依旧进行著。操作系统朝提供更省电、网络化、华丽的使用者界面的方向来改进。Linux及一些类UNIX OS正努力让自己成为个人用户舒适的环境。GNU Hurd是一个企图完全兼容Unix并加强许多功能的微内核架构。微软Singularity是一个奠基于.Net并以建立较佳内存保护机制为目标的研究计划。

2 孟庆昌、朱欣源编著图书

基本信息

内容简介

图书目录

基本信息

作 者: 孟庆昌,朱欣源 编著

出 版 社: 电子工业出版社

出版时间: 2009-11-1

开 本: 16开

引 ISBN : 9787121088582 包

定价:¥34.00

内容简介

本书是普通高等教育“十一五”国家级规划教材,北京高等教育精品教材。全书共分14章,分别介绍操作系统引论,进程和线程,死锁,调度,存储管理,文件系统,输入/输出管理,用户接口服务,嵌入式操作系统,分布式操作系统,安全性与保护机制,实例研究1:UNIX, 实例研究2:Linux和实例研究3:Windows 2000。附录分别给出实验指导、Linux常用系统调用、部分习题参考答案,并为教师免费提供电子教案。

本书可作为大学本科及专科计算机专业教材或考研参考书,也可作为计算机工作者的自学用书。

图书目录

第1章 操作系统引论

1.1 计算机硬件结构

1.1.1 处理器

1.1.2 存储器

1.1.3 I/O设备

1.1.4 总线

1.2 什么是操作系统

1.2.1 操作系统概念-

1.2.2 操作系统的主要功能

1.2.3 操作系统的地位

1.3 操作系统的发展历程

1.3.1 操作系统的形成

1.3.2 操作系统的发展

1.3.3 推动操作系统发展的动力

1.4 操作系统的类型

1.4.1 批处理系统

1.4.2 分时系统

1.4.3 实时系统

1.4.4 网络操作系统

1.4.5 分布式操作系统

1.4.6 其他操作系统

1.5 操作系统的特征

1.6 操作系统结构设计

1.6.1 整体结构

1.6.2 层次结构

1.6.3 虚拟机结构

1.6.4 客户,服务器结构

1.7 本章小结

习题1

第2章 进程和线程

2.1 进程概念

2.1.1 多道程序设计

2.1.2 进程概念

2.2 进程的状态和组成

2.2.1 进程的状态及其转换

2.2.2 进程描述

2.2.3 进程队列

2.3 进程管理

2.3.1 进程图

2.3.2 进程创建

2.3.3 进程终止

2.3.4 进程阻塞

2.3.5 进程唤醒

2.4 线程

2.4.1 线程概念

2.4.2 线程的实现

2.5 进程的同步和通信

2.5.1 进程的同步与互斥

2.5.2 临界资源和临界区

2.5.3 互斥实现方式

2.5.4 信号量

2.5.5 信号量的一般应用

2.6 经典进程同步问题

2.7 管程

2.8 进程通信

2.8.1 消息传递系统

2.8.2 客户,服务器系统中的通信

2.9 本章小结

习题2

第3章 死锁

3.1 资源

3.1.1 资源使用模式

3.1.2 可剥夺资源与不可剥夺资源

3.2 死锁概念

3.2.1 什么是死锁

3.2.2 死锁的条件

3.2.3 资源分配图

……

第4章 调度

第5章 存储管理

第6章 文件系统

第7章 输入/输出管理

第8章 用户接口服务

第9章 嵌入式操作系统

第10章 分布式操作系统

第11章 安全性与保护机制

第12章 案例研究1:UNIX

第13章 实例研究2:Linux

第14章 实例研究3:Windows 2000

附录A 实验指导

附录B Linux常用系统调用

附录C 部分习题参考答案

3 手机管理控制程序

概况

Android

Windows Mobile(Windows Phone)(SmartPhone操作系统 Pocket PC Phone操作系统 Windows Phone操作系统)

Windows CE

Symbian(Nokia)(简介 Symbian版本 Symbian更名)

Palm OS

Linux

苹果iOS

概况

目前智能手机系统流行的是:Android,Windows mobile,Windows phone 7,Symbian,苹果iOS。

Android

Android

Android是以Linux为核心的手机操作平台,作为一款开放式操作系统,随着Android的快速发展,如今已允许开发者使用多种编程语言来开发Android应用程序,而不再是以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢迎,成为真正意义上的开放式操作系统。 在Android中,开发者可以使用Java作为编程语言来开发应用程序,也可以通过NDK使用C/C++作为编程语言来开发应用程序,也可使用SL4A来使用其他各种脚本语言进行编程(如:python、lua、tcl、php等等),还有其他诸如:Qt(qt for android)、Mono(mono for android)等一些著名编程框架也开始支持Android编程,甚至通过MonoDroid,开发者还可以使用C#作为编程语言来开发应用程序。另外,谷歌还在2009年特别发布了针对初学者的Android Simple语言,该语言类似Basic语言。而在网页编程语言方面,JavaScript,ajax,HTML5,jquery、sencha、dojo、mobl、PhoneGap等等都已经支持Android开发。 而在Android系统底层方面,Android使用C/C++作为开发语言。

Windows Mobile(Windows Phone)

Windows Mobile系列操作系统是在微软计算机的Windows操作系统上变化而来的,因此,它们的操作界面非常相似,熟悉计算机Windows系列操作系统的朋友一看到 Windows Mobile系列的操作系统就一般会认得它是出于微软之手。Windows Mobile系列操作系统具有功能更强大,多数具备了音频、视频文件播放、上网冲浪、MSN聊天、电子邮件收发等功能。

Windows Mobile系列操作系统包括SmartPhone以及Pocket PC Phone两种平台。Pocket PC phone主要用于掌上电脑型的智能手机,而SmartPhone则主要为单手智能手机提供操作系统。

SmartPhone操作系统

Microsoft Smartphone是微软基于Microsoft Windows CE内核开发的、为智能手机提供的一种操作系统,与使用手写笔来进行操作的智能手机不同的是,基于该操作系统的手机无需借助手写笔,只需用手机提供的键盘就能完成几乎所有的操作,因此,使用该操作系统的手机用户只需一只手操作即可。基于Smartphone操作系统的智能手机与其它微软操作系统的智能手机在功能上并没有很大区别,多数具有MP3播放、MSN聊天、电子邮件收发等功能,无需借助手写笔来进行操作,携带方便。目前支持该操作系统的智能手机有神达Mio 8390和多普达565等.

Pocket PC Phone操作系统

Pocket PC Phone 是目前我们最为常见的微软智能手机操作系统,目前市面上绝大多数基于微软操作系统的智能手机都采用了这一操作系统,例如我们熟悉的联想ET180、 ET560、多普达696、大显 CU928、多普达等智能手机即采用了此操作系统。与微软Smartphone不同的是,该操作系统主要借助手写笔来完成大部分的操作。

Windows Phone操作系统

2010年2月,微软公司正式发布Windows Phone 智能手机操作系统的第一个版本Windows Phone 7,简称wp7,并于2010年底发布了基于此平台的硬件设备。主要生产厂商有:三星,HTC, LG等,从而宣告了Windows Mobile系列彻底退出了手机操作系统市场。全新的wp7完全放弃了wm5,6x的操作界面,而且程序互不兼容。 Windows Phone 7这个版本是微软移动手机操作系统的重要升级,而原本针对测试者的测试版预计于2009年11月就要释出。在最初的计划中,它的正式版预计是在2009年发行,但是许多方面的延迟使得微软决定先用Windows Mobile 6.5来过渡。这个版本改进了原本的用户界面、多点触控功能以及运动感应功能,而MWg和HTC等公司都已经推出了数款适用于Windows Phone 7的触控式手机。主要的新功能包括了重新设计的界面、新版本的Microsoft Office Mobile、Internet Explorer Mobile和Windows Media Player、以及具有加速度感应的手势功能。 Windows Mobile 7曾于2010年2月16日更名为“Windows Phone 7 Series”,其后再于4月2日取消“Series”,改回“Windows Phone 7”。 2011年9月27日,微软发布了Windows Phone系统的重大更新版本“Windows Phone 7.5”(Mango)版。Windows Phone7.5是微软在Windows Phone 7的基础上大幅优化改进后的升级版。

Windows CE

Windows CE是微软消费电子设备操作系统OS的总称。它是一个抢先式多任务并具有强大通信能力的嵌入式操作系统,是微软专门为信息设备、移动应用、消费类电子产品、嵌入式应用等非PC领域而精心设计的战略性操作系统产品。

Symbian(Nokia)

简介

Symbian由摩托罗拉、西门子、诺基亚等几家大型移动通讯设备商共同出资组建的一个合资公司,专门研发手机操作系统。而Symbian操作系统的前身是EPOC,而EPOC是ElectronicPieceofCheese取第一个字母而来的,其原意为"使用电子产品时可以像吃奶酪一样简单",这就是它在设计时所坚持的理念。

Symbian操作系统在智能移动终端上拥有强大的应用程序以及通信能力,这都要归功于它有一个非常健全的核心--强大的对象导向系统、企业用标准通信传输协议以及完美的sunjava语言。Symbian认为无线通讯装置除了要提供声音沟通的功能外,同时也应具有其它种沟通方式,如触笔、键盘等。在硬件设计上,它可以提供许多不同风格的外型,像使用真实或虚拟的键盘,在软件功能上可以容纳许多功能,包括和他人互相分享信息、浏览网页、传输、接收电子信件、传真以及个人生活行程管理等。此外,Symbian操作系统在扩展性方面为制造商预留了多种接口,而且EPOC操作系统还可以细分成三种类型:Pearl/Quartz/Crystal,分别对应普通手机、智能手机、HandHeldPC场合的应用。

Symbian提供三个主要的智能手机平台,分别是适用于单手操作的S60、双手操作的S80和以笔操作为主UIQ平台。Symbian对移动通信协议如GSM、GPRS、WCDMA、蓝牙以等的支持比其它手机操作系统更为成熟,拥有大量的第三方软件支持。

Symbian版本

(1) 采用数字键盘的手机(Symbian s60)

此类手机需要灵活的应用界面,方便用户使用导航键(Joystick)、软按键或转点通键(Jogdial)操作,诺基亚3650和N-Gage也就是代表他们采用了Series 60应用界面。如诺基亚 6600;诺基亚 7610; 诺基亚 6670等;

(2) 采用触摸式屏幕的手机(Symbian UIQ)

这类手机主要采用了UIQ界面,其中以索尼爱立信P802、P908为代表。UIQ是一种可定制的基于手写笔输入的应用界面,很适合支持具有丰富多媒体功能的手机。

(3) 采用完整键盘和超大彩色屏幕的手机(Symbian s80)

此类手机为那些需要在办公室以外编辑信息和查看业务数据的用户提供了先进的移动通信功能。诺基亚9300—9500个人通讯器系列是此类应用界面的典型代表。

Symbian更名

诺基亚周三在官方博客中宣布,将放弃操作系统塞班(Symbian)的名称,下一版本的操作系统将更名为Nokia Belle。

自诺基亚宣布与微软合作Windows Phone之后,诺基亚开始将重点从Symbian转移至Windows Phone。Belle系统于今年8月正式发布。诺基亚在博客中并未透露为何对系统名称作出改变,公司官方对此事也未予置评。

今年第三季度,诺基亚售出1950万部Symbian手机,占操作系统市场17%的份额。而在2010年第三季度,诺基亚共售出2950万部Symbian手机,占36.3%市场份额。

市场研究机构Gartner称,在西欧和中东市场,Symbian系统仍很受欢迎。今年年初,诺基亚决定放弃其Ovi移动服务品牌。公司称,自2012年2月起将面向现有用户发布软件更新

Palm OS

Palm OS是Palm公司的是一种32位的嵌入式操作系统,它的操作界面采用触控式,差不多所有的控制选项都排列在屏幕上,使用触控笔便可进行所有操作。作为一套极具开放性的系统,开发商向用户免费提供Palm操作系统的开发工具,允许用户利用该工具在Palm操作系统的基础上编写、修改相关软件,使支持 Palm的应用程序丰富多彩、应有尽有。

Palm操作系统最明显的优势还在于其本身是一套专门为掌上电脑编写的操作系统,在编写时充分考虑到了掌上电脑内存相对较小的情况,所以 Palm操作系统本身所占的内存极小,基于Palm操作系统编写的应用程序所占的空间也很小,通常只有几十KB,所以基于Palm操作系统的掌上电脑虽然只有几兆内存却可以运行众多的应用程序。Palm在其它方面还存在一些不足,Palm操作系统本身不具有录音、MP3播放功能等,如果你需要使用这些功能,就需要另外加入第三方软件或硬件设备方可实现。对于中国用户而言,另一个不足之处在于Palm操作系统起初在中国销售的产品仍然要使用中文外挂平台,有相当部分依然是以英文界面为主,在一定程度上影响了基于Palm操作系统的产品在中国市场的大面积进入。其代表性的产品有Palm m505、Palm m500、Palm III等。

Linux

与Windows Mobile系列操作系统一样,Linux手机操作系统是由计算机Linux操作系统“变化”而来的。简单地说,Linux是一套免费使用和自由传播的操作系统。它支持32位和64位处理器,在计算机领域中,主要用于配备Intelx86系列CPU的计算机,在手机领域中,较具代表性的产品有摩托罗拉A768。

Linux具有稳定、可靠、安全等优点,有强大的网络功能。在相关软件的支持下,可实现WWW、FTP、DNS、DHCP、E-mail等服务。由于Linux具有源代码开放、这一特点非常重要,因为丰富的应用是智能手机的优越性体现和关键卖点所在。从应用开发的角度看,由于Linux的源代码是开放的,有利于独立软件开发商(ISV)开发出硬件利用效率高、功能更强大的应用软件,也方便行业用户开发自己的安全、可控认证系统。特别是当智能手机大量用作行业应用的移动终端时,Linux在手机操作系统市场中也异军突起,成为一股不容忽视的力量。目前,基于Linux手机操作系统的产品有三星 mitssch-i519和摩托罗拉A768、A780、e680等。

苹果iOS

iOS是由苹果公司为iPhone开发的操作系统。它主要是给iPhone、iPod touch以及iPad使用。就像其基于的Mac OS X操作系统一样,它也是以Darwin为基础的。原本这个系统名为iPhone OS,直到2010年6月7日WWDC大会上宣布改名为iOS。iOS的系统架构分为四个层次:核心操作系统层(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),可轻触层(the Cocoa Touch layer)。系统操作占用大概240MB的存储器空间。

苹果iOS的最新版本是iOS 5.1

4 中国铁道出版社出版图书

基本信息

内容简介

目录

基本信息

书名:操作系统

书号:7-113-09471

作者:刘腾红

定价:34.00元

出版日期:2008年12月

策划编辑:秦绪好 杨勇

责任编辑:王占清

出版单位:中国铁道出版社

内容简介

本书介绍了计算机系统的重要系统软件——操作系统。全书由两个部分组成,第一部分从计算机资源管理的角度,系统、全面、准确、通俗地阐述操作系统的概念、原理和方法,分为七章,包括引论、进程和处理机管理、存储管理、设备管理、文件系统、作业管理和用户接口及网络操作系统;第二部分介绍目前流行的三个操作系统实例,分为三章,包括UNIX系统分析、Solaris系统和Windows Vista。本书是按照教育部高等学校计算机科学与技术教学指导委员会发布的《高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)》中操作系统课程大纲的要求编写而成的,适合作为高等院校计算机科学与技术专业的教材。

目录

第1章 引论 1

1.1 什么是操作系统 1

1.1.1 计算机系统 1

1.1.2 操作系统在计算机系统中的地位 3

1.1.3 操作系统的定义 3

1.2 操作系统的功能 4

1.2.1 处理管理 4

1.2.2 存储管理 4

1.2.3 设备管理 4

1.2.4 文件管理 5

1.2.5 作业管理 5

1.3 操作系统的类型 5

1.3.1 多道批处理系统 5

1.3.2 分时系统 8

1.3.3 实时系统 9

1.3.3 嵌入式操作系统 10

1.4 操作系统的特性及性能指标 11

1.4.1 操作系统的特性 11

1.4.2 操作系统的性能指标 12

1.5 中断系统 13

1.5.1 什么叫中断 13

1.5.2 中断装置 14

1.5.3 管态和目态 14

1.5.4 中断分类 15

1.5.5 中断屏蔽 15

1.5.6 中断优先级 16

1.5.7 中断处理 17

本章小结 19

习题一 20

第2章 进程和处理机管理 22

2.1 进程及其有关概念 22

2.1.1 顺序程序 22

2.1.2 并发程序 23

2.1.3 进程的定义及其特征 25

2.1.4 进程的类型? 27

2.2 进程管理 27

2.2.1 进程的状态及其转换 28

2.2.2 进程的组成 29

2.2.3 进程控制 31

2.2.4 进度调度 34

2.3 进程的同步与互斥 39

2.3.1 临界区 40

2.3.2 互斥 42

2.3.3 进程同步? 46

2.4 进程通信 50

2.4.1 进程通信的概念? 50

2.4.2 消息通信 50

2.5 死锁 54

2.5.1 什么叫死锁 54

2.5.2 产生死锁的条件? 56

2.5.3 死锁的对策? 57

本章小结 60

习题二 67

第3章 存储管理 70

3.1 概述 70

3.1.1 存储管理的功能 70

3.1.2 内存的分配与回收 71

3.1.3 地址重定位 72

3.1.4 虚拟存储器 74

3.2 简单的存储管理 75

3.2.1 固定分区存储管理 75

3.2.2 可变式分区存储管理 76

3.2.3 覆盖与交换技术 78

3.3 分页存储管理 80

3.3.1 分页存储管理的基本思想 80

3.3.2 主存分配原则 80

3.3.3 页表和页表地址寄存器 80

3.3.4 简单分页存储管理 81

3.3.5 联想存储器 83

3.3.6 存储保护 84

3.3.7 简单分页存储管理的优缺点 84

3.4 请求分页存储管理 84

3.4.1 请求分页存储管理的地址变换 84

3.4.2 页面置换算法 85

3.4.3 请求页式存储管理的特点 87

3.5 分段存储管理 88

3.6 段页式存储管理 91

本章小结 93

习题三 94

第4章 设备管理 97

4.1 概述 97

4.1.1 设备的类型和性能 97

4.1.2 设计目标 98

4.1.3 设备管理的功能 99

4.2 缓冲技术 100

4.2.1 单缓冲和双缓冲 100

4.2.2 环形缓冲 101

4.2.3 缓冲池 102

4.3 通道技术 103

4.3.1 设备控制器 103

4.3.2 I/O控制方式的演变 104

4.3.3 通道的类型 105

4.3.4 并行操作 107

4.3.5 “瓶颈”问题 107

4.3.6 通道指令和通道程序 108

4.4 设备分配与设备处理 109

4.4.1 设备管理中的数据结构 110

4.4.2 设备分配原则 110

4.4.3 设备分配 113

4.4.4 设备处理 113

4.5 磁盘管理 115

4.5.1 磁盘的物理性能 115

4.5.2 磁盘调度算法 115

4.5.3 对磁盘的服务请求产生影响的几个因素 118

4.5.4 磁盘的错误处理 118

本章小结 118

习题四 119

第5章 文件系统 121

5.1 文件系统的概念 121

5.1.1 文件和文件系统 121

5.1.2 文件的分类 122

5.1.3 文件系统的功能 123

5.2 文件结构及存取方法 124

5.2.1 文件的逻辑结构 125

5.2.2 文件的物理结构 126

5.2.3 文件存储设备 129

5.2.4 文件的存取方法 130

5.2.5 文件系统的组织方式 132

5.3 文件存储空间管理 135

5.3.1 空闲文件目录 136

5.3.2 空闲块链 136

5.3.3 位示图 137

5.4 文件目录管理 138

5.4.1 文件的组成 138

5.4.2 文件目录 138

5.4.3 便于共享的文件目录 140

5.4.4 目录管理 142

5.5 文件共享与保护 142

5.6 文件的使用 144

本章小结 146

习题五 147

第6章 作业管理和用户接口 148

6.1 用户与操作系统间的接口 148

6.1.1 程序接口与系统调用 148

6.1.2 操作接口与系统程序 152

6.2 作业管理的基本概念 157

6.2.1 作业的定义 157

6.2.2 作业组织 158

6.2.3 作业管理的任务 158

6.3 作业的输入与输出 159

6.4 作业调度 161

6.4.1 作业的状态及其转换 161

6.4.2 作业调度程序 162

6.4.3 单道批处理系统的调度算法 165

6.4.4 多道程序系统的作业调度策略 170

6.4.5 对作业调度程序的调用 175

本章小结 176

习题六 177

第7章 网络操作系统 178

7.1 概述 178

7.1.1 网络操作系统的定义 178

7.1.2 网络操作系统的特点 179

7.1.3 网络操作系统的分类 180

7.1.4 网络操作系统的发展和展望 181

7.1.5 常用的网络操作系统简介 183

7.2 网络操作系统的结构 185

7.2.1 网络操作系统结构概述 185

7.2.2 Windows NT、UNIX和NetWare的系统结构 188

7.3 网络操作系统的通信 189

7.3.1 网络通信概述 189

7.3.2 基于共享变量的通信方式 189

7.3.3 基于消息传递的通信方式 193

7.3.4 远程过程调用 194

7.3.5 组通信 197

7.4 资源共享 199

7.4.1 资源管理概述 199

7.4.2 硬盘共享 201

7.4.3 网络文件和数据的共享 202

7.4.4 打印机共享保存 203

7.4.5 访问共享资源 204

7.5 服务软件 206

7.5.1 网络服务概述 206

7.5.2 电子邮件E-mail 207

7.5.3 文件传输协议FTP 208

7.5.4 WWW超媒体网络 211

7.6 应用程序接口 214

7.6.1 应用程序接口概述 214

7.6.2 传输层接口TLI简介 215

7.6.3 管套简介 215

7.6.4 WinSock简介 216

本章小结 217

习题七 218

第8章 UNIX系统分析 219

8.1 概述 219

8.1.1 UNIX历史 219

8.1.2 UNIX简介 221

8.1.3 UNIX的特点 223

8.2 UNIX进程管理 224

8.2.1 UNIX系统的进程映象 224

8.2.2 UNIX系统的进程状态及变迁 227

8.2.3 UNIX系统的进程调度 228

8.2.4 进程优先级 230

8.2.5 进程间通信 235

8.2.6 作业调度 236

8.2.7 进程审计 238

8.3 UNIX存储管理 240

8.3.1 存储器的特征 240

8.3.2 UNIX的地址映射 240

8.3.3 存储空间的分配与释放 241

8.4 UNIX设备管理 243

8.4.1 设备管理中的数据结构 243

8.4.2 块设备管理 247

8.4.3 字符设备管理 247

8.4.4 设备状态及设备控制 248

8.5 UNIX文件系统 249

8.5.1 概述 249

8.5.2 系统目录 250

8.5.3 文件控制块和文件的物理结构 252

8.5.4 文件存储器空闲块的管理 253

8.5.5 文件的有关系统调用 254

8.5.6 文件管理的基本命令 256

8.6 Linux的应用 259

8.6.1 Linux简介 259

8.6.2 Linux内核 261

8.6.3 编译内核 265

8.6.4 Linux启动过程 266

8.6.5 Linux的应用 267

本章小结 270

习题八 271

第9章 Solaris系统 272

9.1 概述 272

9.2 Solaris系统核心 273

9.2.1 Solaris启动 275

9.2.2 系统安全 275

9.3 Solaris进程管理 277

9.3.1 进程监控命令 278

9.3.2 优先权控制命令 281

9.4 Solaris存储管理 282

9.4.1 硬盘和文件资源 282

9.5 Solaris文件系统 285

9.5.1 创建文件系统 285

9.5.2 备份和恢复文件系统 288

9.6 Solaris设备管理 290

9.7 Solaris网络管理 293

9.7.1 常用命令 293

9.7.2 网络配置 294

9.8 Solaris安装 296

本章小结 297

习题九 298

第10章 Windows Vista 299

10.1 概述 299

10.1.1 操作系统结构类型 299

10.1.2 Windows Vista的特点 300

10.1.3 Windows Vista的系统结构 301

10.2 Windows Vista内核 303

10.2.1 内核在进程和I/O方面的增强功能 303

10.2.2 内存管理、启动和关闭、电源管理 307

10.2.3 可靠性、可恢复性和安全性 314

10.3 Windows Vista存储技术 323

10.3.1 VSS概述 323

10.3.2 VSS技术原理 324

10.3.3 VSS处理流程 325

10.3.4 VSS分析和结论 325

10.4 Windows Vista设备管理 326

10.4.1 在驱动程序方面的改进 326

10.4.2 禁止安装特定设备 327

10.4.3 控制可移动存储设备的读写 328

10.5 Windows Vista文件系统 329

10.5.1 文件系统简介 329

10.5.2 文件压缩功能 330

10.5.3 加密文件系统 331

10.5.4 NTFS磁盘配额 332

10.5.5 NTFS权限 332

10.6 Windows Vista安全性 332

10.6.1 UAC(用户账户控制) 333

10.6.2 防火墙 334

10.6.3 防止malware的影响 334

10.6.4 保护丢失、失窃或被挪用的计算机 334

10.6.5 自定义验证机制 334

10.6.6 网络访问保护 335

10.6.7 PatchGuard(内核保护系统) 335

10.6.8 Windows Defender 335

本章小结 335

习题十 336

附录A 常用文件扩展名的相应文件类型 337

参考文献 346

词条 操作系统
释义
1 电脑管理控制程序

操作系统是管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统是控制其他程序运行,管理系统资源并为用户提供操作界面的系统软件的集合。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统的型态非常多样,不同机器安装的OS可从简单到复杂,可从手机的嵌入式系统到超级电脑的大型操作系统。目前微机上常见的操作系统有DOS、OS/2、UNIX、XENIX、LINUX、Windows、Netware等。

中文名:操作系统

外文名:Operating System

简称:OS

常见系统:DOS、Windows、Linux、Unix

组成部分:驱动程序、内核、接口库、外围

系统简介

操作系统的功能包括管理计算机系统的硬件、软件及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。

许多操作系统制造者对OS的定义也不大一致,例如有些OS集成了图形用户界面,而有些OS仅使用文本接口,而将图形界面视为一种非必要的应用程序。

操作系统理论在计算机科学中为历史悠久而又活跃的分支,而操作系统的设计与实现则是软件工业的基础与内核。

发展简史

1980年代前

第一部个人电脑并没有操作系统。这是由于早期个人电脑的建立方式(如同建造机械算盘)与效能不足以执行如此程序。

但在1947年发明了晶体管,以及莫里斯·威尔克斯(Maurice Vincent Wilkes)发明的微程序方法,使得电脑不再是机械设备,而是电子产品。系统管理工具以及简化硬件操作流程的程序很快就出现了,且成为操作系统的基础。

到了1960年代早期,商用电脑制造商制造了批次处理系统,此系统可将工作的建置、调度以及执行序列化。此时,厂商为每一台不同型号的电脑创造不同的操作系统,因此为某电脑而写的程序无法移植到其他电脑上执行,即使是同型号的电脑也不行。

到了1964年,IBM推出了一系列用途与价位都不同的大型电脑IBM System/360,大型主机的经典之作。而它们都共享代号为OS/360的操作系统(而非每种产品都用量身订做的操作系统)。让单一操作系统适用于整个系列的产品是System/360成功的关键,且实际上IBM目前的大型系统便是此系统的后裔;为System/360所写的应用程序依然可以在现代的IBM机器上执行!

OS/360也包含另一个优点:永久贮存设备—硬盘驱动器的面世(IBM称为DASD(Direct access storage device))。另一个关键是分时概念的建立:将大型电脑珍贵的时间资源适当分配到所有使用者身上。分时也让使用者有独占整部机器的感觉;而Multics的分时系统是此时众多新操作系统中实践此观念最成功的。

1963年,奇异公司与贝尔实验室合作以PL/I语言建立的Multics,是激发1970年代众多操作系统建立的灵感来源,尤其是由AT&T贝尔实验室的丹尼斯·里奇与肯·汤普逊所建立的Unix系统,为了实践平台移植能力,此操作系统在1969年由C语言重写;另一个广为市场采用的小型电脑操作系统是VMS。

20世纪80年代

第一代微型计算机并不像大型电脑或小型电脑,没有装设操作系统的需求或能力;它们只需要最基本的操作系统,通常这种操作系统都是从ROM读取的,此种程序被称为监视程序(Monitor)。

1980年代,家用电脑开始普及。通常此时的电脑拥有8-bit处理器加上64KB内存、屏幕、键盘以及低音质喇叭。而80年代早期最著名的套装电脑为使用微处理器6510(6502芯片特别版)的Commodore C64。此电脑没有操作系统,而是以一8KB只读内存BIOS初始化彩色屏幕、键盘以及软驱和打印机。它可用8KB只读内存BASIC语言来直接操作BIOS,并依此撰写程序,大部分是游戏。此BASIC语言的解释器勉强可算是此电脑的操作系统,当然就没有内核或软硬件保护机制了。此电脑上的游戏大多跳过BIOS层次,直接控制硬件。

早期最著名的磁盘启动型操作系统是CP/M,它支持许多早期的微电脑,且被MS-DOS大量抄袭其功能。

最早期的IBM PC其架构类似C64。当然它们也使用了BIOS以初始化与抽象化硬件的操作,甚至也附了一个BASIC解释器!但是它的BASIC优于其他公司产品的原因在于他有可携性,并且兼容于任何符合IBM PC架构的机器上。这样的PC可利用Intel-8088处理器(16-bit寄存器)寻址,并最多可有1MB的内存,然而最初只有640KB。软式磁盘机取代了过去的磁带机,成为新一代的储存设备,并可在他512KB的空间上读写。为了支持更进一步的文件读写概念,磁盘操作系统(Disk Operating System,DOS)因而诞生。此操作系统可以合并任意数量的磁区,因此可以在一张磁盘片上放置任意数量与大小的文件。文件之间以档名区别。IBM并没有很在意其上的DOS,因此以向外部公司购买的方式取得操作系统。

1980年微软公司利用骗术取得了与IBM的合约,并且收购了一家公司出产的操作系统,在将之修改后以MS-DOS的名义出品,此操作系统可以直接让程序操作BIOS与文件系统。到了Intel-80286处理器的时代,才开始实作基本的储存设备保护措施。MS-DOS的架构并不足以满足所有需求,因为它同时只能执行最多一个程序(如果想要同时执行程式,只能使用TSR的方式来跳过OS而由程序自行处理多任务的部份),且没有任何内存保护措施。对驱动程序的支持也不够完整,因此导致诸如音效设备必须由程序自行设置的状况,造成不兼容的情况所在多有。某些操作的效能也是可怕地糟糕。许多应用程序因此跳过MS-DOS的服务程序,而直接存取硬件设备以取得较好的效能。虽然如此,但MS-DOS还是变成了IBM PC上面最常用的操作系统(IBM自己也有推出DOS,称为IBM-DOS或PC-DOS)。MS-DOS的成功使得微软成为地球上最赚钱的公司之一。

而1980年代另一个崛起的操作系统异数是Mac OS,此操作系统紧紧与麦金塔电脑捆绑在一起。此时一位施乐帕罗奥托研究中心员工Dominik Hagen访问了苹果电脑的史蒂夫·乔布斯,并且向他展示了此时施乐发展的图形化使用者界面。苹果电脑惊为天人,并打算向施乐购买此技术,但因帕罗奥托研究中心并非商业单位而是研究单位,因此施乐回绝了这项买卖。在此之后苹果一致认为个人电脑的未来必定属于图形使用者界面,因此也开始发展自己的图形化操作系统。现今许多我们认为是基本要件的图形化接口技术与规则,都是由苹果电脑打下的基础(例如下拉式菜单、桌面图标、拖曳式操作与双点击等)。但正确来说,图形化使用者界面的确是施乐创始的。

20世纪90年代

Apple I电脑,苹果电脑的第一代产品。延续80年代的竞争,1990年代出现了许多影响未来个人电脑市场深厚的操作系统。由于图形化使用者界面日趋繁复,操作系统的能力也越来越复杂与巨大,因此强韧且具有弹性的操作系统就成了迫切的需求。此年代是许多套装类的个人电脑操作系统互相竞争的时代。

上一年代于市场崛起的苹果电脑,由于旧系统的设计不良,使得其后继发展不力,苹果电脑决定重新设计操作系统。经过许多失败的项目后,苹果于1997年释出新操作系统——MacOS的测试版,而后推出的正式版取得了巨大的成功。让原先失意离开苹果的Steve Jobs风光再现。

除了商业主流的操作系统外,从1980年代起在开放原码的世界中,BSD系统也发展了非常久的一段时间,但在1990年代由于与AT&T的法律争端,使得远在芬兰赫尔辛基大学的另一股开源操作系统——Linux兴起。Linux内核是一个标准POSIX内核,其血缘可算是Unix家族的一支。Linux与BSD家族都搭配GNU计划所发展的应用程序,但是由于使用的许可证以及历史因素的作弄下,Linux取得了相当可观的开源操作系统市占率,而BSD则小得多。

相较于MS-DOS的架构,Linux除了拥有傲人的可移植性(相较于Linux,MS-DOS只能运行在Intel CPU上),它也是一个分时多进程内核,以及良好的内存空间管理(普通的进程不能存取内核区域的内存)。想要存取任何非自己的内存空间的进程只能通过系统调用来达成。一般进程是处于使用者模式(User mode)底下,而执行系统调用时会被切换成内核模式(Kernel mode),所有的特殊指令只能在内核模式执行,此措施让内核可以完美管理系统内部与外部设备,并且拒绝无权限的进程提出的请求。因此理论上任何应用程序执行时的错误,都不可能让系统崩溃(Crash)。

另一方面,微软对于更强力的操作系统呼声的回应便是Windows NT于1993年的面世。

1983年开始微软就想要为MS-DOS建构一个图形化的操作系统应用程序,称为Windows(有人说这是比尔·盖茨被苹果的Lisa电脑上市所刺激)。

一开始Windows并不是一个操作系统,只是一个应用程序,其背景还是纯MS-DOS系统,这是因为当时的BIOS设计以及MS-DOS的架构不甚良好之故。

在1990年代初,微软与IBM的合作破裂,微软从OS/2(早期为命令行模式,后来成为一个很成功但是曲高和寡的图形化操作系统)项目中抽身,并且在1993年7月27日推出Windows NT 3.1,一个以OS/2为基础的图形化操作系统。

并在1995年8月15日推出Windows 95。

直到这时,Windows系统依然是建立在MS-DOS的基础上,因此消费者莫不期待微软在2000年所推出的Windows 2000上,因为它才算是第一个脱离MS-DOS基础的图形化操作系统。

Windows NT系统的架构为:在硬件阶层之上,有一个由微内核直接接触的硬件抽象层(HAL),而不同的驱动程序以模块的形式挂载在内核上执行。因此微内核可以使用诸如输入输出、文件系统、网络、信息安全机制与虚拟内存等功能。而系统服务层提供所有统一规格的函数调用库,可以统一所有副系统的实作方法。例如尽管POSIX与OS/2对于同一件服务的名称与调用方法差异甚大,它们一样可以无碍地实作于系统服务层上。在系统服务层之上的副系统,全都是使用者模式,因此可以避免使用者程序执行非法行动。

DOS副系统将每个DOS程序当成一进程执行,并以个别独立的MS-DOS虚拟机器承载其运行环境。另外一个是Windows 3.1 NT 模拟系统,实际上是在Win32副系统下执行Win16程序。因此达到了安全掌控为MS-DOS与早期Windows系统所撰写之旧版程序的能力。然而此架构只在Intel 80386处理器及后继机型上实作。且某些会直接读取硬件的程序,例如大部分的Win16游戏,就无法套用这套系统,因此很多早期游戏便无法在Windows NT上执行。

Windows NT有3.1.3.5.3.51与4.0版。

Windows 2000是Windows NT的改进系列(事实上是Windows NT 5.0)、Windows XP(Windows NT 5.1)以及Windows Server 2003(Windows NT 5.2)、Windows Vista(Windows NT 6.0)、Windows 7(Windows NT 6.1)也都是立基于Windows NT的架构上。

而本年代渐渐增长并越趋复杂的嵌入式设备市场也促使嵌入式操作系统的成长。

现代操作系统通常都有一个使用的绘图设备的图形化使用者界面,并附加如鼠标或触控面版等有别于键盘的输入设备。旧的OS或效能导向的服务器通常不会有如此亲切的接口,而是以命令行接口(CLI)加上键盘为输入设备。以上两种接口其实都是所谓的壳,其功能为接受并处理使用者的指令(例如按下一按钮,或在命令提示列上键入指令)。

选择要安装的操作系统通常与其硬件架构有很大关系,只有Linux与BSD几乎可在所有硬件架构上执行,而Windows NT仅移植到了DEC Alpha与MIPS Magnum。

在1990年代早期,个人电脑的选择就已被局限在Windows家族、类Unix家族以及Linux上,而以Linux及Mac OS X为最主要的另类选择,直至今日。

大型机与嵌入式系统使用很多样化的操作系统。大型主机近期有许多开始支持Java及Linux以便共享其他平台的资源。嵌入式系统近期百家争鸣,从给Sensor Networks用的Berkeley Tiny OS到可以操作Microsoft Office的Windows CE都有。

2000年以后

至2005年为止,用于通用计算机上的分布的操作系统主要两个家族:类Unix家族和微软Windows家族。而主机系统和嵌入式操作系统使用多样的系统,并且很多和Windows、Unix都没有直接的联系。类Unix家族包括多个组织的操作系统,其中有几个主要的子类包括System V、BSD和Linux。这里'Unix'是一个商标,开发组织允许使用操作系统在一个定义前提下自由地开发。这名字是通用大型设置操作系统类似组织 Unix。Unix系统运行在从巨型机到嵌入式系统的多种机器架构上。Unix主要使用于重要的商务服务器系统以及学院和工程环境中的工作站之上。和 AT&T Unix不同,自由软件比如Linux和BSD逐步开始流行,并且开始进入桌面操作系统领域。和一些Unix操作系统不同,像惠普公司的HPUX和IBM 公司的AIX是设计仅运行在客户购买的设备上,其中有一些特殊的(比如SUN公司的Solaris)可以运行在客户购买设备和基于工业标准的PC上。 APPLE公司的Mac OS X是一个BSD特例,以取代早期小型市场上的苹果公司Mac OS,众多流行的Unix操作系统正在走向一体。 微软公司的Windows操作系统家族起源于早期的IBM PC环境中的MS-DOS,现在版本是基于新的Windows NT内核,第一次是在OS/2中制定。和Unix不同,Windows只能运行在32位和64位的x86 CPU(如Intel或者AMD的芯片)上,尽管早期有版本运行于DEC Alpha,MIPS 和 PowerPC体系结构。今天Windows是一个流行的操作系统,在全球桌面市场中占有90%左右的份额,同时在中低端服务器市场也有广泛的应用,如 Web服务器和数据库服务器。

大型机系统,比如IBM公司的Z/OS,和嵌入式操作系统比如QNX、eCOs和PalmOS都是和Unix和Windows无关的操作系统,而 Windows CE、Windows NT Embedded 4.0和Windows XP Embedded都是和Windows相关的。

老的操作系统停留在市场包括类似IBM Windows的OS/2.来自惠普的VMS(以前的DEC);苹果公司的Mac OS操作系统、非Unix先驱苹果公司Mac OS X,以及AmigaOS,第一个图形用户界面的操作系统,包括对于普通用户的高级的多媒体能力。

年表

年表
随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/24 20:28:47