来自当知百科
跳转到: 导航搜索

目录

基本介绍

  
操作系统是控制其他程序运行,管理系统资源并为用户提供操作界面的系统软件的集合。

  操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。

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

  所有的操作系统具有并发性、共享性、虚拟性和不确定性四个基本特征。

  操作系统的型态非常多样,不同机器安装的OS可从简单到复杂,可从手机的嵌入式系统到超级电脑的大型操作系统。

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

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

发展历史

  各类平台上操作系统的功能演化。

  纵观电脑之历史,操作系统与电脑硬件的发展息息相关。

  操作系统之本意原为提供简单的工作排序能力,后为辅助更新更复杂的硬件设施而渐渐演化。

  从最早的批次模式开始,分时机制也随之出现,在多处理器时代来临时,操作系统也随之添加多处理器协调功能,甚至是分布式系统的协调功能。其他方面的演变也类似于此。

  另一方面,在个人电脑上,个人电脑之操作系统因袭大型电脑的成长之路,在硬件越来越复杂、强大时,也逐步实践以往只有大型电脑才有的功能。

  总而言之,操作系统的历史就是一部解决电脑系统需求与问题的历史。

1980年代前

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

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

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

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

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

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

20世纪80年代

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

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

  家用电脑C64的抽象架构

  简单应用程序 机器语言(游戏直接操作)

  8k BASIC ROM

  8k ROM-BIOS

  硬件(中央处理器、储存设备等)

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

  最早期的IBMPC其架构类似C64。当然它们也使用了BIOS以初始化与抽象化硬件的操作,甚至也附了一个BASIC解释器!但是它的BASIC优于其他公司产品的原因在于他有可携性,并且兼容于任何符合IBMPC架构的机器上。这样的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还是变成了IBMPC上面最常用的操作系统(IBM自己也有推出DOS,称为IBM-DOS或PC-DOS)。MS-DOS的成功使得微软成为地球上最赚钱的公司之一。

  MS-DOS在个人电脑上的抽象架构

  普通应用程序(Shell script、文本编辑器)

  MS-DOS(文件系统)

  BIOS(驱动程序)

  硬件(中央处理器、储存设备等)

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

20世纪90年代

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

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

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

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

  几乎完整的Linux架构图

  使用者

  模式 应用程序(sh、vi、OpenOffice.org等)

  复杂函数库(KDE、glib 等)

  简单函数库(opendbm、sin 等)

  C函数库(open、fopen、socket、exec、calloc 等)

  内核

  模式 系统中断、调用、错误等软硬件消息

  内核(驱动程序、进程、网络、内存管理等)

  硬件(处理器、内存、各种设备)

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

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

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

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

  并在1995年8月15日推出Windows95

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

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

  简化版本的Windows NT抽象架构

  使用者

  模式 OS/2

  应用程序 Win32

  应用程序 DOS

  程序 Win16

  应用程序 POSIX

  应用程序

  其他DLL函数库 DOS 系统 Windows 模拟系统

  OS/2 副系统 Win32 副系统 POSIX.1 副系统

  内核

  模式 系统服务层

  输入输出管理

  文件系统、网络系统 对象管理系统 / 安全管理系统 / 进程管理 / 对象间通讯管理 / 进程间通讯管理 / 虚拟内存管理

  微内核 窗口管理程序

  驱动程序 硬件抽象层(HAL) 图形驱动

  硬件(处理器、内存、外部设备等)

  副系统架构

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

  Windows NT有3.1、3.5、3.51与4.0版。

  Windows 2000是Windows NT的改进系列(事实上是Windows NT 5.0)、Windows XP(Windows NT5.1)以及Windows Server2003(Windows NT 5.2)与Windows Vista(Windows NT 6.0)也都是立基于WindowsNT的架构上。

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

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

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

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

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

2000年以后

  至2005年为止,用于通用计算机上的分布的操作系统主要两个家族:类Unix家族和微软Windows家族。而主机系统和嵌入式操作系统使用多样的系统,并且很多和Windows、Unix都没有直接的联系。类Unix家族包括多个组织的操作系统,其中有几个主要的子类包括SystemV、BSD和Linux。这里'Unix'是一个商标,开发组织允许使用操作系统在一个定义前提下自由地开发。这名字是通用大型设置操作系统类似组织Unix。Unix系统运行在从巨型机到嵌入式系统的多种机器架构上。Unix主要使用于重要的商务服务器系统以及学院和工程环境中的工作站之上。和AT&TUnix不同,自由软件比如Linux和BSD逐步开始流行,并且开始进入桌面操作系统领域。和一些Unix操作系统不同,像惠普公司的HPUX和IBM公司的AIX是设计仅运行在客户购买的设备上,其中有一些特殊的(比如SUN公司的Solaris)可以运行在客户购买设备和基于工业标准的PC上。APPLE公司的Mac OS X是一个BSD特例,以取代早期小型市场上的苹果公司Mac OS,众多流行的Unix操作系统正在走向一体。微软公司的Windows操作系统家族起源于早期的IBM PC环境中的MS-DOS,现在版本是基于新的WindowsNT内核,第一次是在OS/2中制定。和Unix不同,Windows只能运行在32位和64位的x86CPU(如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 XPEmbedded都是和Windows相关的。

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

发展年表

  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 Windows1.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年

  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 (SunOS4.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 Server2003为基础,同一天释出。

  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.04LTS

  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 Seven(windows7

  Ubuntu 9.10

  Chrome OS

  2010 年

  ubuntu 10.04

基本功能

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

资源管理

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

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

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

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

程序控制

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

人机交互

  操作系统的人机交互功能是决定计算机系统“友善性”的一个重要因素。人机交互功能主要靠可输入输出的外部设备和相应的软件来完成。可供人机交互使用的设备主要有键盘显示、鼠标、各种模式识别设备等。与这些设备相应的软件就是操作系统提供人机交互功能的部分。人机交互部分的主要作用是控制有关设备的运行和理解并执行通过人机交互设备传来的有关的各种命令和要求。早期的人机交互设施是键盘显示器。操作员通过键盘打入命令,操作系统接到命令后立即执行并将结果通过显示器显示。打入的命令可以有不同方式,但每一条命令的解释是清楚的,唯一的。随着计算机技术的发展,操作命令也越来越多,功能也越来越强。随着模式识别,如语音识别、汉字识别等输入设备的发展,操作员和计算机在类似于自然语言或受限制的自然语言这一级上进行交互成为可能。此外,通过图形进行人机交互也吸引着人们去进行研究。这些人机交互可称为智能化的人机交互。这方面的研究工作正在积极开展。

管理方法

  操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面,输入命令。操作系统则对命令进行解释,驱动硬件设备,实现用户要求。以现代观点而言,一个标准个人电脑的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尚有担负起进程间通讯(IPC)、进程异常终止处理以及死结(Dead lock)侦测及处理等较为艰深的问题。

  在进程之下尚有线程的问题,但是大部分的OS并不会处理线程所遭遇的问题,通常OS仅止于提供一组API让使用者自行操作或通过虚拟机器的管理机制控制线程之间的交互。

内存管理

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

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

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

详细分类

  目前的操作系统种类繁多,很难用单一标准统一分类。

  根据应用领域来划分,可分为桌面操作系统服务器操作系统主机操作系统嵌入式操作系统

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

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

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

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

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

  下面介绍一下操作系统的五大类型:批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统。

  1. 批处理操作系统

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

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

  2.分时操作系统

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

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

  3.实时操作系统

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

  4.网络操作系统

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

  5.分布式操作系统

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

分类一

  早期操作系统(专利保护)

  TRS-DOS,ROM OS's

  TI99-4

  Commodore PET,64,和 VIC-20,

  第一套IBM-PC

  苹果电脑

  Sinclair Micro和QnX等

  非Unix商业操作系统

  CP/M操作系统

  MP/M-80

  UCSD P-system

  Mini-FLEX

  SSB-DOS

  CP/M-86

  DR-DOS

  FreeDOS

  MS-DOS

  PC-DOS

  Mach 由卡纳尼基梅隆大学研究

  L4微内核 第二代微内核

  CHORUS

  Choices

  Multics

  OS-9

  NSJ

  Netware:一种网络服务器操作系统

  Unix及类似系统

  A/UX(Apple UNIX)

  Unix

  微软Xenix

  ChorusOS

  Cromix

  UNIflex

  OS-9

  IBM的AIX

  BSD

  FreeBSD

  NetBSD

  OpenBSD

  DragonFly BSD

  PC-BSD

  Digital UNIX,即之后康柏Tru64

  DNIX

  HP的HP-UX

  GNU/Hurd

  SGI的IRIX

  Inferno

  Linux(或称GNU/Linux)

  Mac OS X

  MenuetOS

  Minix

  OSF/1

  Plan9

  SCO的SCO UNIX

  Sun的SunOS,即之后的Solaris

  System V

  Ultrix

  UniCOS

  麒麟操作系统(Kylin),由国防科技大学、中软公司、联想公司、浪潮公司和民族恒星公司五家单位合作研制的服务器操作系统

  OS/390

  z/OS

  Syllable

  其他

  Acorn

  Arthur

  ARX

  RISC OS

  RISCiX

  Amiga

  AmigaOS

  Atari ST

  TOS

  MultiTOS

  MiNT

分类二

  苹果电脑(Apple/Macintosh)

  Apple DOS

  ProDOS

  Mac OS

  Mac OS X

  Mac OS X 10.4 Tiger

  Mac OS X 10.5 Leopard

  Mac OS X 10.6 Snow Leopard (Alpha)

  pink OS

  BeOS

  A/UX

  Be

  BeOS

  BeIA

  Digital/康柏(Compaq)

  AIS

  OS-8

  RSTS/E

  RSX-11

  RT-11

  TOPS-10

  TOPS-20

  VMS(后更名为OpenVMS)

  IBM

  OS/2

  AIX

  OS/400

  OS/390

  VM/CMS

  DOS/VSE

  VSE/SP

  VSE/ESA

  OS/360

  MFT

  MVT

  SVS

  MVS

  TPF

  ALCS

  z/OS

  PC-DOS

  pink OS

  微软(Microsoft)

  MS-DOS

  Xenix

  Microsoft Bob

  基于MS-DOS操作系统的Windows

  Windows 1.0

  Windows 2.0

  Windows 3.1

  Windows 95

  Windows 98

  Windows ME

  Windows NT

  Windows NT 3.5

  Windows NT 4

  Windows 2000

  Windows XP

  Windows XP SP1

  Windows XP SP2

  Windows XP SP3

  Windows XP MediaCenter Edition

  Windows XP Home Edition

  Windows XP Tablet PC Edition

  Windows XP Professional

  Windows XPProfessional x64 Edition

  Windows Server 2003

  Windows Server 2003 64-bit Edition

  Windows Vista

  Windows Vista SP1

  Windows Vista HomeBasic

  Windows Vista HomePremium

  Windows VistaBusiness

  Windows VistaUltimate

  Windows VistaEnterprise

  Windows VistaStarter

  Windows Server2008

  Windows Server "Longhorn" Web x86

  Windows Server "Longhorn" Web x64

  Windows Server "Longhorn" Standard x86

  Windows Server "Longhorn" Standard x64

  Windows Server "Longhorn" Enterprise x86

  Windows Server "Longhorn" Enterprise x64

  Windows Server "Longhorn" Datacenter x86

  Windows Server "Longhorn" Datacenter x64

  Windows 7

  Windows 7 Home Basic

  Windows 7 Starter

  Windows 7 Home Premium

  Windows 7 Professional

  Windows 7 Enterprise

  Windows 7 Ultimate

  Windows Server 2008 R2

  Novell

  NetWare

  Unixware

  SUSE Linux

  NeXT

  NEXTSTEP(即之后的Mac OS X)

  Plan 9

  Inferno

  Prime Computer

  Primos

  西门子

  BS2000 - 用于西门子公司的大型主机。

  SINIX(也称Reliant UNIX) - 用于西门子公司的UNIX电脑系统

分类三

  个人电子助理(PDA)操作系统

  Palm OS

  Pocket PC

  EPOC

  Microsoft Windows CE

  Linux

  智能手机操作系统

  WindowsMobile系列;windows phone 7

  Embedded Linux由Montavista创造,在Motorola's A760,E680等机型上使用

  Mobilinux由Montavista创造

  Symbian OS系列

  MeeGo(诺基亚与Intel联合宣布将推出一个全新的开源平台)

  Android(Google手机操作系统)

   国产手机系统

  MTK系统(MTK是台湾联发科技股份有限公司的英文简称,英文全称叫MediaTek。)

分类四

  个人电脑

  个人电脑市场从硬件架构上来说目前分为两大阵营,PC机与Apple电脑。

  它们支持的操作系统:

  1Windows系列操作系统

  由微软公司生产;

  2 Unix类操作系统

  如SOLARIS,BSD系列(FREEBSD,openbsd,netbsdpcbsd);

  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变种。

  嵌入式系统

  嵌入式系统使用非常广泛的操作系统(如VxWorks、eCos、Symbian OS及PalmOS)以及某些功能缩减版本的Linux或者其他操作系统。某些情况下,OS指称的是一个内置了固定应用软件的巨大泛用程序。在许多最简单的嵌入式系统中,所谓的OS就是指其上唯一的应用程序。

分类五

  类Unix系统

  一个在Linux底下执行的客制化KDE桌面系统所谓的类Unix家族指的是一族种类繁多的OS,此族包含了System V、BSD与Linux。由于Unix是TheOpen Group的注册商标,特指遵守此公司定义的行为的操作系统。而类Unix通常指的是比原先的Unix包含更多特征的OS。

  Unix系统可在非常多的处理器架构下执行,在服务器系统上有很高的使用率,例如大专院校或工程应用的工作站。自由软件Unix变种,例如Linux与BSD近来越来越受欢迎,它们也在个人桌面电脑市场上大有斩获,例如Ubuntu系统,但大部分都是电脑高手在使用。

  某些Unix变种,例如HP的HP-UX以及IBM的AIX仅设计用于自家的硬件产品上,而SUN的Solaris可安装于自家的硬件或x86电脑上。苹果电脑的MacOSX是一个从NeXTSTEP、Mach以及FreeBSD共同派生出来的微内核BSD系统,此OS取代了苹果电脑早期非Unix家族的MacOS。经历数年的披荆斩棘,自由开源的Unix系统逐渐蚕食鲸吞以往专利软件的专业领域,例如以往电脑动画运算巨擘──SGI的IRIX系统已被Linux家族及Plan9[3]丛集所取代。

  Linux系统

  Linux的是一套免费的32位和64位的多人多工的操作系统,运行方式同UNIX系统很像,但Linux系统的稳定性、多工能力与网络功能已是许多商业操作系统无法比拟的,Linux还有一项最大的特色在于源代码完全公开,在符合GNUGPL(General Public License)的原则下,任何人皆可自由取得、散布、甚至修改源代码。
LINUX吉祥物

  就Linux的本质来说,它只是操作系统的核心,负责控制硬件、管理文件系统、程序进程等。LinuxKernel(内核)并不负责提供用户强大的应用程序,没有编译器、系统管理工具、网络工具、Office套件、多媒体、绘图软件等,这样的系统也就无法发挥其强大功能,用户也无法利用这个系统工作,因此有人便提出以LinuxKernel为核心再集成搭配各式各样的系统程序或应用工具程序组成一套完整的操作系统,经过如此组合的Linux套件即称为Linux发行版。

  国内Linux发行版做的相对比较成功是红旗和中软两个版本,界面做得都非常的美观,安装也比较容易,新版本逐渐屏蔽了一些底层的操作,适合于新手使用。两个版本都是源于中国科学院软件研究所承担的国家863计划的Linux项目,但无论稳定性与兼容性与国外的版本相比都有一定的差距,操作界面与习惯与Windows越来越像,提供一定技术支持和售后服务,适宜于国内做低价的操作系统解决方案。

  微软Windows

  Microsoft Windows系列操作系统是在微软给IBM机器设计的MS-DOS的基础上设计的图形操作系统。现在的Windows系统,如Windows2000、Windows XP皆是建立于现代的Windows NT内核。NT内核是由OS/2和OpenVMS等系统上借用来的。
Windows 可以在32位和64位的Intel和AMD的处理器上运行,但是早期的版本也可以在DECAlpha、MIPS与PowerPC架构上运行。虽然由于人们对于开放源代码作业系统兴趣的提升,Windows的市场占有率有所下降,但是到2004年为止,Windows操作系统在世界范围内占据了桌面操作系统90%的市场。[4]

  Windows系统也被用在低阶和中阶服务器上,并且支持网页服务的数据库服务等一些功能。最近微软花费了很大研究与开发的经费用于使Windows拥有能运行企业的大型程序的能力。

  WindowsXP在2001年10月25日发布,2004年8月24日发布最新的升级包WindowsXP Service Pack2。

  微软最新的操作系统 Windows Vista(开发代码为Longhorn)于2007年1月30日发售[5]。WindowsVista增加了许多功能,尤其是系统的安全性和网络管理功能。Windows Vista拥有界面华丽的Aero Glass。

  苹果Mac OS

  苹果Mac OS系列操作系统是苹果公司 (原称苹果电脑)给苹果个人电脑系列设计的OS。

  其他

  大型主机以及嵌入式操作系统均与Unix或Windows家族关系不大,除了Windows CE、Windows NTEmbedded 4.0及Windows XPEmbedded是Windows的血亲产品,以及数种*BSD和嵌入式Linux包为例外。

  少数较旧的OS今日依然在一些需要稳定性的市场中活跃,例如IBM的OS/2[6]BeOS以及XTS-400。

  在达康时代狂潮过后,如AmigaOS与RISC OS等少数人使用的OS依然持续建立,以满足狂热的爱好者社群与特殊专业使用者。

  未来

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

同名图书

基本信息

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

  出 版 社电子工业出版社

  
出版时间: 2009-11-1

  开 本: 16开

  引 ISBN : 9787121088582 包

  定价:¥34.00

内容简介

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

实用操作

  让操作系统不再假死机的高招

  一、修改注册表,远离假死机困扰

  很多假死机是由于运行的程序没有响应造成的。比如你在同一时间打开或启动的程序过多,导致系统资源消耗严重,就会出现程序停止响应的情况,这时我们可以按下“Ctrl+Alt+Del”组合键,在弹出的列表中选定标注为“没有响应”的程序项(如果有两个,则首先关闭上级程序),点击“结束任务”令其强行关闭即可让系统恢复正常运行,不过有时即使出现了“正在关闭……(该程序)”提示窗口,也会很长时间没有反应,遇到这种情况,我们可以修改注册表以达到快速关闭没有响应的程序以及允许强行关机的目的。

  1.快速关闭没有响应的程序

  在“开始”“运行”框中输入“Regedit”,打开“注册表编辑器”,在“HKEY_CURRENT_USER”下新建串值“Waittokillapptimeout”,将其键值设为“1000”(ms)或更小。如果采用了上述办法仍很长时间没有反应,就只得强行关机或重新启动了,不过最好先进行以下修改,以最大限度地减小死机对机器的损伤。

  2.允许强行关机

  进入“HEKY_USERS.DEFAULTControlPaneldesktop”,创建一个字符串“AutoEndTask”,将其键值设为“1”即可。对于真正的死机,一般只能两次按下“Ctrl+Alt+Del”组合键或按主机箱上的“Reset”键来重新启动了。

  3.系统死机时自动重新启动

  进入“HKEY_LOCAL_MACHINESystemCurrentControlSetControlCrashControl”主键,在右边的窗口中修改“AutoReboot”,将其键值改为“1”

  小提示:上述注册表的修改在Windows的不同版本中情况可能不一样,如果没有相应键值,请勿随意添加。

  二、采取相应对策,远离假死机困扰

  相信任何朋友在计算机应用中,都或多或少地遭遇过各种各样“假死”这一严重影响运行效率的“顽疾”。但“假死”并非是解不开的魔咒,采取相应的手段可以减缓、甚至避免这一现象的发生。

  关于对付较大AVI视频文件假死现象

  一些朋友下载了不少电影,但有时在单击较大的AVI视频文件时,WinXP SP1往往会停止响应(WinXPSP1以上版本此问题已有较大改观),在进程中察看,发现Explorer.exe进程的CPU占用率100%,占用时间居然长达两个小时!

  其实这是微软系统的缺陷:在资源管理器中单击较大的AVI文件时,系统需要先扫描该文件,执行一次循环来检查文件的所有部分,以便建立索引,假如文件较大(超过700MB)且文件中没有索引信息,系统查询该文件的索引所需的时间也较长,CPU使用率也较高。目前微软已经有针对WinXPSP1以上版本的修复工具,但只有正版用户可以到指定地址下载。

  如何才能有效解决这一问题?方法很简单:右键单击目标文件夹,选择“属性-常规-高级”,去掉“为了快速搜索,允许索引服务编制该文件夹的索引”前面复选框的对勾,然后点击确定并应用,系统会问你是否将更改应用到所有文件夹和文件,假如实在受不了这项索引服务,就选择应用到所有文件夹,问题就会迎刃而解。

  关于系统的任务栏假死现象

  有时用户再操作过程中想在任务栏中切换窗口时,忽然发现点击任务栏中的图标没有任何反应了,就像系统死机一样,这就是WindowsXP中常见的任务栏失去响应,又被称为“任务栏假死现象”。

  原来这是Windows XP的“高级文字服务”功能出错造成的。WindowsXP的“高级文字服务”包括了语音、手写和中文键盘输入服务,我们常用的输入法在WindowsXP中也被归入高级文字服务。但是某些服务,如手写或语音功能可能与某些软件存在冲突,最明显的反映就是任务栏失去响应。例如我们清除文档记录点击“确定”或者打开多个IE快速关闭时,任务栏假死现象就很可能发生。

  其实高级文字服务中的语音、手写功能使用的人并不多,我们完全可以将其关闭。打开“控制面板”,点击“切换到经典视图”,双击“区域和语言选项”,在对话框中点击“语言”标签,再单击“详细信息”按钮,在打开的“文字服务和输入语言”对话框中点击“语言栏”,选中“关闭高级文字服务”选项后保存设置即可

  由于中文输入法也属于高级文字服务的一部分,因此关闭服务后导致的结果就是输入法切换栏消失,我们就只能用快捷键“Ctrl+Shift”来切换输入法了。

个人工具
名字空间

变换
查看
操作
导航
工具箱