第3 章操作系统 计算机只有在软件和硬件结合起来时才可以完成某种应用。但在纯粹的计算机硬件 上,无论程序设计人员设计应用程序,还是普通用户使用应用程序都是非常困难的,这样 造成的后果就是计算机的工作效率低下,使用范围受到极大限制,因此需要在计算机上安 装操作系统。操作系统在一定程度上代表了计算机技术的发展。由于它是直接安装在计 算机硬件设备上的一种基础软件,是其他软件得以使用的前提和支持,所以在计算机科学 领域里,操作系统具有举足轻重的基础作用。 3.1 操作系统概述 3.1.1 操作系统的分类发展 当计算机刚被发明出来时人们没有操作系统的概念,那时处理程序全靠工作人员 手动设置开关和按键来完成。当有了冯·诺依曼的存储程序思想后,操作系统也就顺 理成章地被提出来,并逐渐发展。到现在为止,操作系统已经经历了单道批处理系统、 多道批处理系统、分时系统、实时系统、微型计算机操作系统、网络操作系统等几个发 展过程。 1.无操作系统时代 第一代计算机的大部分产品是没有操作系统的。整个计算机在人工操作的情况下, 用户一个挨一个地轮流使用计算机。每个用户使用过程大致如下:先把手编的机器语言 程序(二进制代码序列)穿成纸带或卡片,装到输入机上,然后将程序和数据输入到计算 机,接着通过命令行开关启动程序运行。待计算完毕,用户拿走打印结果并卸下纸带或卡 片。在这个过程中,装纸带、控制程序运行、卸纸带等操作都由人工完成。这样操作在早 期的计算机中是可以容忍的,因为计算机本身计算所花时间要比这些工作所花时间多得 多。到了晶体管时代,计算机硬件设备的性能以几十倍甚至上百倍的速度提高,使得手工 操作的慢速与计算机运算的快速之间的矛盾成为不得不解决的问题。于是人们开始寻求 不用人工干预就能实现计算的方法。这样就出现了成批处理的理论,批处理系统也就随 之诞生了。 2 . 单道批处理系统 单道批处理系统出现于20 世纪50 年代中期,它与晶体管计算机的出现相对应。其 原理就是为了充分利用昂贵的计算机硬件资源,尽量减少人的干预,设计一个专门管理和 调度用户作业且独立于用户程序的程序,这个程序称为监督程序。在计算机启动时首先 装入监督程序,然后利用监督程序来管理和调度用户作业。这里的用户作业指的是用户 要求计算机完成的工作(用户需要完成的程序)和运行用户程序的步骤,换句话说,就是用 户程序和所需数据及运行用户程序的操作命令的集合。在单道批处理系统中,程序员只 需把写有程序的磁带交给计算机管理员,由计算机管理员统一把写好的若干用户的作业 排队输入计算机,然后启动计算机,计算机就在监督程序的控制下按照输入的顺序和先进 先出的原则对各个作业分别计算并输出结果。在运算过程中,监督程序首先从作业队列 中取出一个作业,然后把这个作业调入内存,最后把控制权交给用户程序,由计算机运行 用户程序,用户程序运行结束后再把控制权交还给监督程序,监督程序再次运行调入下一 个作业,并运行该作业。如此反复运行,直到所有作业都运行完毕为止。由于这种处理方 式对作业是成批处理的,并且不管在什么时候内存中只保持一道作业,所以称为单道批处 理系统。 单道批处理系统解决了每个作业在提交时所造成的硬件资源浪费,在一定程度上提 高了计算机的使用效率。 3. 多道批处理系统 在计算机处理作业的程序时,时间消耗主要是CPU 处理数据所用的时间和数据输 入输出所用的时间。由于输入输出设备的速度比CPU 的速度慢很多,这就造成在单道 批处理系统中,CPU 经常要处在闲置状态以等待输入输出设备把数据输入或输出。为解 决这一问题。在20 世纪60 年代出现了多道批处理系统。 多道批处理系统的核心是一个调度程序,该调度程序每次把若干个作业从作业队列 中调入内存,并选择一个作业,将CPU 资源分配给它,让它开始运行。若当前正在处理 的作业要进行输入输出操作时,就释放对CPU 资源的占有权,调度程序则再从其他调入 内存的程序中重新选择一个作业来运行。这样在作业程序进行输入输出操作时CPU 也 不会闲置。这种系统由于在某一时段,CPU 可同时处理多个作业,所以称为多道批处理 系统。 4. 分时系统 多道批处理系统只适合运行与用户交互很少的作业程序。交互是指作业程序在运行 时与用户之间的数据输入与数据输出的过程,也称为人机交互。对于人机交互较多的作 业程序来说,多道批处理系统的效率并不是很高。于是在20 世纪60 年代末期出现了分 时系统。 分时系统的原理是把CPU 的使用时间分成非常短的时间片,多个用户的程序可同 时驻留在内存中,当轮到某个用户的程序使用CPU 时,该程序能在限定的时间片内运 第 3 章操作系统 行。当用户的时间片用完时,操作系统就暂停该用户程序的运行,并按某种策略调出内存 中的另一个用户程序开始运行。直到下一次该用户获得时间片后,他的程序才可以继续 运行,如此轮换直到程序运行结束。 分时系统可以方便地为人机交互频繁的程序 提供服务,当一个用户与计算机交互时不会独占 CPU,使其能够为其他用户服务,这样就大大提高 了CPU的使用率。另外,由于CPU运算速度很 快,时间片很短,使得每个用户都感觉不出等待时 间。对于程序员来说,他们就像独自操纵计算机 一样。一般来说,一个具有分时系统的计算机都图3.1 多终端的计算机系统 会有很多终端供用户使用,如图3. 1所示。 5.实时系统 虽然多道批处理和分时系统能获得较为令人满意的资源利用率和用户响应时间,但 计算机系统仍不能满足一些实时控制的要求。实时控制是指把计算机系统应用于生产过 程的控制、航天测控系统、生产线的测控系统等方面。这种应用要求计算机系统对所控制 的参数变化及时采集,并且要马上做出正确的调整控制。为解决这一问题,20世纪70年 代初期出现了实时系统。 实时系统为保证数据处理的及时,一般都采用及时性和稳定性很高的计算机系统,并 且有多个备份,以免一个系统崩溃后整个实时系统都瘫痪。 6.微型计算机操作系统 自从IBM公司的第一台PC诞生后,微型计算机技术有了很快的发展,与它相对应 的微型计算机操作系统也迅速发展起来,从单任务、单用户的DOS逐渐发展到多用户、多 任务并且具有图形界面的Windows,功能也逐渐完善,已经成为当今个人用户所使用的 主流操作系统。 7.网络操作系统 随着计算机网络的迅速发展,一种主要用在网络服务器上,为其他用户提供各种服务 的多用户、多任务的操作系统逐渐发展完善起来,这就是网络操作系统。网络操作系统的 主要任务是管理网络传输,以及对网络用户的权限管理,使用户能够透明地共享网络的资 源,如Novel 公司的NetWare、微软公司的WindowsServer、SCO 公司的SCO UNIX等。 8.其他操作系统 随着计算机硬件和软件技术的发展,为了满足各个领域更高的需求,从20世纪70年 代中期至今,又发展出许多新操作系统,如并行操作系统、分布式操作系统和嵌入式操作 系统等。这些操作系统可以支持复杂应用环境下的系统管理和软件运行。 52大学计算机基础(第 3 版) 从20世纪50年代中期第一个操作系统问世至今,几十年来操作系统取得了重大进 展。总结操作系统的发展过程可以看出,推动操作系统发展的主要有以下几个因素。 .提高计算机资源利用率的需要。每种系统的推出都在一定程度上提高了硬件资 源的利用率。 .方便用户使用的需要。每种系统的推出都进一步简化用户的使用和操作。比如 从命令行界面的DOS到图形界面的Windows的变革。 .适应不断扩大和增加的新应用方式和应用领域的需要。计算机在每种新领域里 使用都会催生出与它相适应的操作系统。例如,计算机的平民化使得微型计算机 操作系统的出现,工业生产的计算机化使得实时系统的出现等。 硬件技术的不断发展刺激了操作系统的不断变革。一方面,操作系统的发展需要硬 件技术发展作为基础;另一方面,硬件和计算机体系结构的不断发展,也要求不断推出新 的操作系统来有效地管理这些性能发生变化的硬件。比如,网络的迅速发展促使了网络 操作系统和分布式操作系统的诞生和发展等。 3.2 常用的操作系统 1. 随着计算机硬件设备的长足发展,现在人们使用的计算机除了大型机、中小型计算机 和PC以外,还广泛使用一些智能设备,如智能手机、平板电脑等。这些设备由于具有不 同的硬件结构,导致安装在这些设备上面的操作系统也互不相同。典型的有大型计算机 和中小型计算机中使用的UNIX系统,PC上常用的Windows和MacOS系列操作系统, 智能手机和平板电脑上常用的Android、iOS 、Symbian和WindowsPhone等。 其中大型、中型和小型计算机的操作系统通常是由计算机硬件的生产厂商在用户购 买相应的计算机硬件时,作为产品的一部分由计算机生产厂商提供给用户。这些操作系 统名称各异,但基本上均是以UNIX操作系统为原型开发的,且针对各自厂商所设计的 计算机硬件芯片和微命令,做了一定程度的优化后开发出来的专门用于那些计算机设备 的系统。 对于用在工业生产线上的工控机,由于这些设备的工作环境恶劣,工作时间长,需要完 成的功能相对单一,所以在工控机上使用的操作系统通常有实时性、高可靠性和占用存储空 间小等一系列要求。为了满足这些要求,在工控机上使用的操作系统通常是一些命令行界 面的操作系统的简化版,如早期的51系列单片机用在核心的工控机中,常常使用DOS操作 系统的核心程序再辅以一些相应的应用程序作为工控机的操作系统,现在的工控机中逐渐 使用FreBSD系统的核心再辅以一些应用程序作为相应工控机上所使用的操作系统。 手机和平板电脑在近年大行其道,因其重量轻、上网方便、易携带等特点,大有取代低 端个人计算机和低端笔记本电脑的趋势。手机和平板电脑上使用的操作系统需要稳定, 系统所占存储空间较少,对硬件要求低等特点。由于这部分产品的市场需求极大,所以各 个生产厂商纷纷在推出自己的智能手机或平板电脑产品时,同步推出了与之相符的操作 系统。其中尤以WindowsPhone、iOS和Android表现抢眼。下面我们分别介绍一下这 些手机操作系统。 第 3 章操作系统 35 1.WindowsPhone WindowsPhone是微软公司推出的用于移动设备的操作系统。在此之前微软公司 投入了很大精力在手机操作系统上,并想有所作为,从WindowsCE 、WindowsMobile一 直到WindowsPhone,但情况一直不太好,从来没有达到微软公司期望的市场份额,甚至 未来有被挤垮的危险。出现这样的情况,最重要的一点,微软公司在手机操作系统上,一 直没有形成突破性的思维,而是沿袭了Windows的思路,一方面这个系统臃肿,用户体验 不好;另一方面在用户界面的设计上,还是Windows多层菜单式,这完全不符合手机的特 点。这可以说微软公司没有创新,只有守旧。WindowsPhone可圈点之处,就是与PC 的 同步非常强大,也比较方便。 2.iOS iOS 是苹果公司专门为苹果系列产品开发的操作系统。它是基于Linux操作系统为 智能手机专门开发的。它无论是在外观和设计,还是在操作系统效率和用户界面上都具 有很多创新。我们都知道,iPhone产品的硬件配置都不高,尤其是CPU,无法与现在高端 智能手机相比,但是它的稳定性和反应速度,却比非常多的智能手机要好。其中的道理就 在于操作系统,这是一个架构简单、反应速度快、稳定性高的系统,它的出现,使智能手机 操作的体验和感受发生了质的变化。它的用户界面设计也革命性地打破了菜单与层级, 用平铺式的多屏设计,把每一个应用都平铺在用户的面前,让用户能以最快的速度找到自 己喜欢的应用。应该说,到目前为止,对于智能手机的理解,还是iPhone系统做得较好。 iPhone最大的问题,就是iPhone系统是一个封闭的系统,只有苹果自己用这个产品,支 持的手机非常少。 3.Android Android已经成为当前移动设备操作系统中的霸主,在智能手机和平板电脑市场上 稳稳地站在第一的位置。这是一个充满了潜力的操作系统。首先,这是一个为智能手机 开发的操作系统;其次,它是没有带着旧的思维定式的操作系统;最后,它是一个开放的操 作系统。Android系统具有架构简洁,用户界面设计友好等特点,它基本采用了平铺式的 结构,而不是采用层级菜单。它的核心开发者Google公司并不是手机制造商,这使 Android系统兼容性更好,手机厂商使用这个系统,不会有心理上的压力。 总体来说,由于操作系统作为计算机硬件系统的第一层扩充,是与硬件结构和型号息 息相关的,但由于几乎全部的计算机和智能设备所采用的硬件体系结构均没有超出冯· 诺伊曼体系结构的范畴,所以虽然不同设备所使用的操作系统有所不同,但大体结构仍然 具有很多相通之处,比如,都有文件管理模块、进程管理模块和界面等。 1.操作系统的功能 3.3 操作系统之所以能作为各种计算机必须配置的最基本的系统软件,主要是因为它的 45 大学计算机基础(第 3 版) 功能。操作系统是以提高系统资源利用率和方便用户使用为其最高目标。也就是说,操 作系统的功能主要有两大部分,硬件资源的管理,以及软件和用户接口界面的管理。为此 它的首要任务就是调度、分配系统资源,管理各个设备使之能够正常高效地运转,另外还 要为用户提供一个友好的操作界面,使用户可以方便快捷地操作计算机。为达到这一目 的,操作系统主要从以下4方面功能来设计。 1. 处理机的管理 处理机管理的核心是解决如何合理利用处理机时间和资源,使其最大限度地发挥作 用,完成作业和进程。 ①处理机:是计算机系统中能够独立处理程序作业或进程的硬件资源的总和。它 一般包括CPU 和部分存储器。 ②作业:是用户提交给计算机系统的独立运行单位,它由用户程序(系统程序)及其 所需的相关数据和命令组成。 ③进程:指一个程序(或程序段)在给定的工作空间和数据集合上的一次执行过程。 它是操作系统进行资源分配和调度的一个独立单位。 总体来说,计算机操作系统的处理机的主要任务是,高效地完成进程控制、进程同步、 进程间的通信、作业调度和进程调度等功能。 2. 存储器的管理 存储器的管理对象是主存储器。存储器管理的主要任务是为多道程序的运行提供良 好的环境,方便用户使用存储器,提高存储器的利用率以及能从逻辑上扩充内存。为此, 存储器管理应具有内存分配、内存保护、地址映射和内存扩充等功能。 3. 设备管理 设备管理用于管理计算机系统中的所有外围设备,其主要任务是:完成用户进程提 出的I/O请求;为用户进程分配其所需的I/O设备;提高CPU 和I/O设备的利用率;提 高I/O速度;方便用户使用I/O设备。为实现上述任务,设备管理应具有缓冲管理、设备 分配和设备处理以及虚拟设备等功能。 4. 文件管理 在现代计算机管理中,总是把程序和数据以文件的形式存储在磁盘和磁带上,供所有 的或指定的用户使用。为此,在操作系统中必须配置文件管理机构。文件管理的主要任 务是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。为此,文 件管理应具有对文件存储空间的管理、目录管理、文件的读/写管理,以及文件的共享与保 护等功能。 第 3 章操作系统 55 3.2 文件、目录及路径 3.1 文件 2. 1.文件 文件是指用统一的名字命名的一个相关数据的集合。文件包含文件名和文件内容两 部分。文件名是操作系统访问和检索文件的标识,文件内容包含文件中的所有数据。 2.文件名 每个文件都有一个名称,称为文件名,文件名一般由主文件名和扩展名两部分组成, 主文件名和扩展名之间由分隔符句点“”分隔开。其中主文件名就像我们的名字,而扩展 名就像我们的姓,它主要表示文件的类型(.) 。比如ABC.x其中 ABC是主文件名,exe是扩展名。 ee就是一个合法的文件名, 文件的命名规则:通常,不同种类的操作系统,其文件的命名规则也不尽相同,但大 部分的操作系统都支持长文件名命名法,即主文件名和扩展名可以由中文、英文和特殊符 号等任意字符构成,只要其中不包含少量的系统保留符号(如/、\、:、*、?、“、<、>、|等) 就可以了。Windows10的文件名(包含文件名所在的路径)最长可以由255个字符组成, 并且文件名中可以使用多个分隔符“”,文件名中可以使用空格,如“adoc”“123.张三” c(“) hnsaghihnyn” 文件名。由于扩展名用来表示的类型, ia.hnaseag都是合法的(.) 文件(.) 所以 我们一般都采用一些(.) 约定俗成的字符组合来作为文件的扩展名。这些扩展名已经在全世 界广泛使用多年。表3.1列出了一些常用文件的扩展名,当我们使用他人的文件时,通过 扩展名就很容易知道使用什么程序才能打开该文件。 表3.文件扩展名类型表 1 文件类型扩展名文件类型扩展名文件类型扩展名 文档文件docx DBase数据文件dbf Flash动画文件swf 应用程序文件exe 数据库文件dbc 数据文件dat 命令文件com 日志文件log 视频文件avi 文本文件txt Java程序文件java MP3音乐文件mp3 C程序文件c Java编译后字节码文件clas 图标文件ico 演示文稿文件pptx 目标文件obj 压缩图片文件jpg 工作簿文件xlsx 汇编语言程序asm 网页文件html 值得注意的是,文件的扩展名仅仅是表示文件的类型,而不能决定文件的类型。也就 是说,一个扩展名为docx的文档文件,并不是只要把扩展名改为avi就会变成视频文件。 56大学计算机基础(第 3 版) 实际上,决定文件类型的是创建文件的软件和文件中数据的存储格式。只有通过适当的 软件把文件内容的存储格式更改为其他的类型,文件的类型才会改变。 3. 文件的属性 每个文件都具有自己的特征,我们称其为文件的属性。不同的操作系统定义的文件 属性会稍有不同,常见的文件属性如下。 ①类型:可以从不同的角度来规定文件的类型,如源文件、目标文件及可执行文 件等。 ②长度:文件长度指文件在外存储器中所占存储空间的大小,长度的单位通常是 字节。 ③创建时间:指文件创建的时间。 ④修改时间:这是指文件最后一次的修改时间等。 ⑤只读:指文件是否只能读取和使用,而不能修改。 ⑥隐藏:指文件在文件系统中是否能被普通用户看到。 4. 文件的基本操作 ①创建文件:在创建一个新文件时,系统首先要为新文件分配必要的外存空间,并 在文件系统的目录中,为之建立一个目录项。目录项中应记录新文件的文件名及其在外 存的地址等属性。 ②删除文件:当已不再需要某文件时,可将它从文件系统中删除。在删除时,系统 应先从目录中找到要删除文件的目录项,使之成为空项,然后回收该文件所占用的存储 空间。 ③读文件:在读一个文件时,应在相应系统调用中给出文件名以及应读入的内存目 标地址。此时,系统同样要查找目录,找到指定的目录项,从中得到被读文件在外存中的 位置。在目录项中,还有一个指针用于对文件的读/写。 ④写文件:在写一个文件时,须在相应系统调用中给出该文件名及该文件在内存中 的(源)地址。为此,也同样须先查找目录,找到指定文件的目录项,再利用目录中的写指 针进行写操作。 ⑤打开文件:指用户通过适当的软件读文件,并显示文件内容。 ⑥检索文件:指根据指定的一些文件信息(如文件名、扩展名或文件建立时间等)在 文件系统中查找与这些信息相匹配的文件,并列出文件名和存储位置的操作。 ⑦更改文件属性:指更改文件的一些特定属性,如只读属性、隐藏属性和系统属 性等。 3.2 目录和路径 2. 如果所有文件都简单地存储在外存储器上,可想而知,一个外存储器中保存几亿、几 十亿个文件会是一种多么糟糕的情况。为了提高文件的访问和操作的效率,操作系统提 第 3 章操作系统 出了目录和文件系统的概念。 目录在图形界面的操作系统中也称为文件夹,是文件的容器。在目录中可以存放若 干文件或其他目录。 文件系统是对大量文件按照某一规则进行管理的方法、规则以及涉及的文件的总和。 操作系统对外存的管理其主要任务就是对文件系 统的管理。大部分的操作系统对文件系统的管理方法, 采用的都是基于多级树形目录结构的文件系统管理方 法。多级树形目录结构如图3. 2所示。 操作系统把数据以文件的形式存储,并且创建文件 在外存上的实际物理存储位置与逻辑存储位置的对应 表(文件分配表FAT),以达到用户在存取外存上的数 据时,不必关心数据在外存上的具体物理存储位置的 目的。 操作系统在逻辑上认为所有外存储器具有一个或图3. 2 多级树形目录结构示意图 多个根目录。每个根目录就是寻找文件的起点。每个 根目录中可以存放若干子目录和文件,在子目录中又可以存放若干子目录和文件。 在多级目录存储的过程中,我们称在同一个目录下的文件和目录为处在同一级的目 录和文件。如图3.2所示,根目录是第0级。子目录1、子目录2和文件1等处在第1级, 属于同级的目录和文件;子目录11和子目录12处在第2级,这两个目录属于同一级目 录;而子目录121和子目录21则不属于同一级的目录。 同一个子目录下的文件名和子目录名不可以相同,比如,在根目录下不可以有两个 “文件1”。不同子目录下的文件和目录名则可以相同,比如子目录21下的“文件1”和“文 件2”,与根目录下的“文件1”和“文件2”名称就可以相同。不同的操作系统对一个目录 下可以有多少级,有不同的规定。 根据以上的存储方法,用户若要使用某个文件,只需告诉计算机该文件在哪个根目录 下的哪个子目录中,操作系统就可以根据用户所指出的存储位置自动找到该文件。在文 件系统中,文件和目录的位置是通过路径描述的。 路径是指在多级树形文件系统中,说明文件从某个目录到目标文件或目录所经过的 子目录的名称序列。根据路径的起点不同,路径又可以分为绝对路径和相对路径两种。 ①绝对路径:如果路径的起点是根目录就称这种路径为绝对路径。 ② 相对路径:如果路径的起点是用户正在操作的文件所在的目录,就称为相对 路径。例 如,在图3.假设用户当前正在操作“ 中(”) 的文件,现在要 2的目录结构下, 子目录21 打开“文件3,(”) 则可以使用如下两种路径表示形式。 绝对路径: \子目录1\子目录12\子目录121\ 相对路径: . \ . \ . \子目录1\子目录12\子目录121\ 58大学计算机基础(第 3 版) 在大部分操作系统中都有一些用来表示特殊意义的字符。常用的有如下几种。 ①盘符:用来表示磁盘或磁盘分区的名字,一般由一个英文字母和一个冒号“:”组 成,如“C:”表示C盘。盘符一般代表磁盘的根。 ②根目录:通常用反斜杠“\”表示,而且“\”必须是在路径的第一个字符才表示根 目录,否则它仅是目录的分隔符。 ③当前位置(目录):指用户所在的位置,即用户正在操作的文件所在的文件夹。通 常用句点“”表示,在路径的书写过程中,当前目录可以省略。 ④ 目录的上一级目录:通常用两个句点“ . ”表示。它主要用于相对路径的 书写。当前(.) ⑤通配符:通配符“?”用来指定任意一个字符,而“*”用来指定任意多个字符。通 常我们用“*” 扩展名、“c表示所 表示一个主文件名、目录名或它们的一部分。比如,w?.” 有以字母“w”开头且主文件名有两个字符的、扩展名为“c”的所有文件,而“w*.*”表示 以字母“w”开头的所有文件。 下面看一个路径表示的例子 。 【1】3所示, ais” , 例3.如图3.假设当前文件夹为“ddn分别用绝对和相对路径两种方 法表示“stp” tt的位置。 eu文件夹中的文件a. x 用绝对路径表示文件位置:\Winow\ytstp\txt dsssem\eua. 用相对路径表示文件位置: . \ytstp\txt ssem\eua. 图3. 3 文件夹结构图 3.命令行操作 3 3.1 命令行模式 3. 命令行操作类似于Windows以前版本的MS-DOS方式,虽然随着计算机技术的发 展,图形界面的操作系统应用越来越广泛,但以文本命令来完成计算机应用的命令行模 式,是一种快捷的运行模式,仍有其不可替代的作用。 一般的操作系统都会提供命令行模式操作,在命令行模式下,用户通过输入命令来完 第 3 章操作系统 大学计算机基础(第3 版) 成对计算机的控制。在Windows中,当用户需要使用命令行时,可以在“开始”界面输入 “cmd”命令并按回车键,也可以选择“命令提示符”磁贴,即可启动命令行,如图3.4所示。 图3.4 “命令提示符”窗口 这时用户可以执行命令行命令来完成日常工作。编辑命令时,用户可在工作区域内 图3.5 “命令提示符” 窗口快捷菜单 右击鼠标,会出现一个编辑快捷菜单,如图3.5所示,用户可以先选 择对象,然后可以进行“复制”“粘贴”“查找”等编辑工作。 在命令行中,用户可以在系统提示符后输入各种命令。系统提 示符是在命令行的界面中,用来提示用户当前位置信息的提示性文 字称为系统提示符。它们一般以盘符开始,以“>”结束。在盘符和 “>”之间是从磁盘的根到用户当前位置所经过的文件夹名称序列 (即当前路径)。如图3.4所示,“命令提示符”窗口中的“C:\Users\ f>”就是系统提示符。 退出命令行模式的方法可以使用鼠标单击命令行窗口右上角的“关闭”按钮,也可以 输入exit命令后按回车键退出。 3.3.2 常用命令行命令 在命令行界面中,可以使用的命令有两种,其中一种称为内部命令,它们是系统启动 时自动装入主存的命令。对于内部命令,用户可以在系统提示符下直接按照命令格式输 入这些命令再按回车键来执行命令。另一种称为外部命令,它们是系统中可执行文件的 文件名。在Windows系列的操作系统中,可执行文件以扩展名exe、com 和bat来标识, 对于非Windows系列的操作系统,可执行文件通常由其属性来标识。对于外部命令,用 户可以通过输入这些文件的带有完整盘符路径和文件名的形式来执行这些命令。如果这 些外部命令所对应的文件不存在,系统将无法执行这些外部命令。外部命令的一般格式 如下: [盘符:路径]<命令名>[命令参数表] 其中[盘符:路径]指的是,如果<命令名>是应用程序名或命令文件名(扩展名为 exe或com 的文件名),就用[盘符:路径]向计算机指出该文件所在的位置。如果<命令 名>不是应用程序名或命令文件名,则不需要写出[盘符:路径]。 <命令名>指的是命令的名称,它可以是应用程序名或命令文件名,也可以是专有的 60 第3 章 操作系统 命令行命令,我们称其为内部命令。 根据命令的不同,有的命令没有参数,则可以省略[命令参数表]部分;如果有参数,则 依次写在<命令名>的后面,以空格作为分隔符。在以后的命令说明中遵循以下约定。 “[]”内的部分为可选项,根据功能的不同可有可无。 “<>”内的部分为必选项,不可省略。 【例3.2】 假如在计算机C盘上Windows文件夹下的System32文件夹中有一个应 用程序文件freecell.exe,如果要运行它,可以使用如下命令。 C:\Windows\system32\freecell.exe 或 C:\Windows\system32\freecell 在上面命令中,C:\Windows\system32\是[盘符:路径],freecell或freecell.exe是命 令名,没有参数,所以没写参数表部分。由于在命令行中执行命令文件可以省略文件的扩 展名,所以只写freecell也可以。 在这里我们主要以Windows系列操作系统为例介绍一些内部命令。 常用的命令一般都是用来对磁盘、文件夹和文件进行操作的。下面分别按磁盘操作 命令、目录操作命令以及文件操作命令三部分,为大家介绍常用的命令。 1.磁盘操作命令 磁盘操作命令的作用范围为整个磁盘,主要包括磁盘格式化、磁盘分区转换两个 命令。① format(磁盘格式化命令)。 命令格式:format<盘符> [/s][/q] 功能:格式化磁盘并删除磁盘分区上的所有数据。 命令说明:<盘符>是指磁盘分区的盘符或移动存储器的驱动器符。如果有[/s]参 数,系统会在格式化磁盘后把系统启动文件复制到磁盘上,使其成为系统启动磁盘。如果 有[/q]参数,系统会快速格式化磁盘,但[/q]参数只能在曾经做过格式化的磁盘上使用。 【例3.3】 指出命令“formatD:”和“formatD:/q”的功能。 “formatD:/q”的功能是在该分区曾经进行过格式化操作的前提下,快速格式化硬盘 的D分区(或外部D盘所对应的外部存储器)。 ② 磁盘分区转换命令。 命令格式:<盘符:> 功能:将用户转到指定的磁盘上工作。 命令说明:“盘符:”可以是任何存在的磁盘分区、光盘或网络映射的驱动器符。 2.目录操作命令 ① md(目录建立命令)。 . 命令格式:md[盘符:][路径]<目录名> 61 . 功能:在指定的盘符路径下以指定的目录名建立新目录。 .命令说明:如果缺省“[盘符:]系统会把目录建在当前盘的指定路径下。如果 缺省“[路径]”,则系统会在当前目录下建立指定的目录。另外注意,系统不能把新目录建 立在不存在的目录下。,(”) 【例3.假设用户的当前目录在C盘的根目录下, 4】指出下列命令的功能 。 mdC:\Windows\AA:该命令在C盘的Windows目录内建立AA目录 。 mdAA:该命令在C盘的根目录下建立AA目录 。 mdD:\AA:该命令在D盘的根目录下建立AA目录 。 ②cd(更改当前位置命令) 。 .命令格式:cd [盘符:]<路径> .功能:把当前目录转换到“[盘符:][路径]”所指定的位置。 .命令说明:如果“[盘符:]省,系统会把当前目录转到当前盘的指定路径下。 “<路径>”代表用户需要作为当前目录的位置。在路径中可以使用“”代表当前目录; “ . ”代表当前目录的父目录;“\”代表根。例如,d. ”代表返回上一级缺(”) c(“) 目录。(.) 【例3.说明下面命令的功能。 5】 CDC:\Windows\AA:该命令把当前目录设为C盘的Windows目录内的AA 目录。 CDAA:该命令把当前目录设为当前目录下的AA目录。 CD:\AA:该命令把当前目录设为D盘的根目录下的AA目录。 ③rd(删除空目录命令)。 .命令格式:rd[盘符:][路径]<目录名> .功能:删除用户指定的目录。 .命令说明:如果缺省“[盘符:]系统会把当前盘下的指定目录删除。如果缺省 “[盘符:][路径]系统会删除当前目录下的指定目录,<目录名>为将被删除的目录 名。另外注意,系统无法删除非空的目录。,(”) ,(”) ④tre(显示当前路径下的目录树结构)。 .命令格式:tre[/F] .功能:显示当前目录下的结构。 .命令说明:如果省略参数“F则只显示文件夹树形结构;如果加上参数“F”,则显,(”) 示文件夹与文件。 【例3.假如有如图3. 6】6的目录结构。 图3. 6 目录结构图 62大学计算机基础(第 3 版) 第3 章 操作系统 其中bb1目录中有文件,cc目录中为空。当前目录为c盘的根目录。如果要删除cc 目录,用命令“rdC:\aa\cc”或“rd\aa\cc”都可以。其中“rd\aa\cc”命令中的第一个“\” 代表当前盘的根目录。如果要删除bb目录,则必须删除bb1目录后才可删除bb目录。 具体操作如下: del c:\aa\bb\bb1\*.* rd C:\aa\bb\bb1 rd C:\aa\bb 以上三条命令中的第一条用于删除bb1目录下的所有文件,第二条命令用于删除 bb1,使得bb目录成为空目录,第三条命令用于删除bb。如果没有前两条命令,第三条命 令是不能被执行的。 3.文件操作命令 文件操作命令的主要操作对象是文件和目录。 ① dir(文件列表命令)。 . 命令格式:dir[盘符:路径][文件名][/s][/w][/p] . 功能:显示指定目录或文件列表。 . 命令说明: . 如果不加任何参数,该命令显示当前目录中的所有文件和文件夹。 . 如果只加“[盘符:路径]”,系统将显示指定位置的文件及目录列表。 . 如果加“[盘符:路径][文件名]”,系统将只显示指定位置的指定文件名。其中 文件名可以使用通配符来代表多个文件。 . 如果加“[/s]”参数,系统将显示指定位置的文件和目录以及其子目录中的文件 和目录的内容。 . 如果加“[/w]”参数,系统在显示结果时将用每行显示5个的格式,只显示文件 和目录的名称。 . 如果加“[/p]”参数,当系统显示结果时,如果显示内容多于一屏,则以分页的形 式显示。 【例3.7】 请说明下面命令的功能。 dirC:\Windows/s:该命令列出C盘Windows目录下所有的文件和目录。 dirC:\/w/p:该命令以每行显示5个名称的格式分页显示C盘根目录下的所有文 件和目录。 dirC:\Windows\system32\*.exe:该命令显示“C:\Windows\system32\”目录下 的所有扩展名为“exe”的文件。 ②copy(文件复制命令)。 . 命令格式:copy [盘符:路径]<源文件名> [盘符:路径][目标文件名] . 功能:把用户指定的“<源文件>”复制到用户指定位置。 . 命令说明:源文件名和目标文件名前的“[盘符:路径]”分别指用户复制时,源文 63 大学计算机基础(第3 版) 件的位置和把文件复制到的目标位置。 . 如果源文件的“[盘符:路径]”省略,说明被复制的文件在当前目录下。 . 目标文件名前的“[盘符:路径]”省略,说明文件将被复制到当前目录下。 . 如果“[目标文件名]”省略,说明文件在复制的过程中不改名,如果不省略,源文 件将目标文件名作为新的文件名存储在指定目标位置上。 . 源文件名可以使用通配符来表示复制一批文件或目录,其中“?”代表一个字符, “*”代表多个字符。 【例3.8】 已知目录结构如图3.6所示,其中bb1中有三个文件“a.txt”“ab.c”“aaa. java”。当前目录在C盘根目录下。请分别说明下面命令的意义。 copy c:\aa\bb\bb1\ab.c c:\aa\cc\cc.c:该命令把bb1目录下的ab.c文件,复制 到cc目录下,并改名为cc.c。 copy c:\aa\bb\bb1\ab.c c:\aa\cc:该命令把bb1目录下的ab.c文件,复制到cc 目录下,文件名不变。 copy c:\aa\bb\bb1\a?.c c:\aa\cc:该命令把bb1目录下的主文件名只有两个字 符且第一个字符为“a”,扩展名为“c”的所有文件,复制到cc目录下。 copy c:\aa\bb\bb1\a*.* c:\aa\cc:该命令把bb1目录下的主文件名第一个字 符为“a”的所有文件,复制到cc目录下。 ③type(显示文本文件内容命令)。 . 命令格式:type[盘符:路径]<文件名> . 功能:显示指定文件的内容。 . 命令说明:[盘符:路径]用来指定需要显示文件内容的文件所在的位置。该命令 只能显示文本文件的内容。 ④ del(删除文件命令)。 . 命令格式:del[盘符:路径]<文件名> . 功能:删除指定位置的文件。 . 命令说明:如果没有“[盘符:路径]”,系统将删除当前目录中的指定文件。 4.网络操作命令 ① ping(网络连通探测命令)。 . 命令格式:ping [-n探测包数] . 功能:ping可以用来检查网络是否通畅或者网络连接速度。 . 命令说明:“”表示用户希望探查连通的主机的IP地址,在没有“[-n 回显次数]”时,系统默认只发4个探测包,回显数据也只有4行。如果在命令中 加入“[-n探测包数]”时,系统会根据探测包数发出对应个数的探测数据包,回 显数据也有对应的行数。 【例3.9】 测试本机的网卡回转时间。 ping 127.0.0.1 64 第3 章 操作系统 【例3.10】 发送5个测试包测试本机到192.168.1.110主机是否连通。 ping 192.168.1.110 -n 5 ②ipconfig(网络配置查看命令)。 . 命令格式:ipconfig[/all][/renew][/release] . 功能:显示所有当前的TCP/IP 网络配置值。 . 命令说明:如果没有参数,那么ipconfig 实用程序将向用户提供所有当前的 TCP/IP配置值,包括IP 地址和子网掩码。该使用程序在运行DHCP 的系统 上特别有用,允许用户查看由DHCP配置的值。当命令中带有“/all”参数命令, 将产生完整显示。当命令中带有“/renew”参数,系统将更新DHCP 配置参数。 当命令带有“/release”参数命令,将释放全部(或指定)适配器的由DHCP分配 的动态IP 地址。其中“[/renew]”和“[/release]”参数只在DHCP 客户端上 有效。 【例3.11】 查看本机网络配置。 ipconfig ipconfig /all 【例3.12】 释放本机网络配置。 ipconfig /release 3.4 批处理文件 3.4.1 批处理文件的概念与创建 在命令行模式下,默认命令执行方式是用户输入一条命令后按回车键,然后系统执行 该命令并给出命令的执行结果,然后等待用户输入下一条命令。这种命令执行方式适用 于简单的操作,如果用户需要对计算机进行复杂操作,这种操作方式的效率是非常低的, 为此,产生了批处理的概念和批处理文件。 批处理,顾名思义就是进行批量地处理。批处理文件是无格式的文本文件。在 Windows系列的操作系统中,批处理文件是扩展名为.bat或.cmd的文本文件,它包含一 条或多条命令,由操作系统内嵌的命令解释器来解释运行。在命令行模式下键入批处理 文件的名称,或者双击批处理文件,系统就会按照该文件中各个命令出现的顺序来逐个运 行它们。使用批处理文件,可以简化日常或重复性任务。批处理的本质,是一系列命令按 一定顺序排列而形成的集合。 批处理文件的内容没有固定格式,只要遵守以下几条就可以。 . 批处理文件的扩展名必须是.bat。 . 批处理文件的文件内容由命令组成。每一行视为一个命令,每个命令里可以含多 65 大学计算机基础(第3 版) 个参数或子命令。 . 批处理文件在执行时,从第一行开始执行,直到最后一行结束。 . 批处理文件运行的平台是命令行模式。 由于批处理文件是纯文本文件,所以我们通常通过文本编辑器创建批处理文件。其 具体步骤可总结为: . 打开文本编辑器,如记事本等。 . 输入批处理命令。 . 保存为扩展名为.bat的批处理文件。 批处理文件类似于程序文件,它在没有执行时是无法控制计算机完成相应任务的。 只有在执行它以后,计算机才能完成批处理文件中的所有命令。 批处理文件的执行方式有两种,一种是在命令行界面下执行,一种是在图形界面下执行。 ① 命令行界面下执行。其执行方法是在命令提示符后把批处理文件当作一个外部 命令来执行。其执行的命令格式如下。 [盘符][路径]<批处理文件名> [参数] 其中当批处理文件的位置在当前盘下时可以省略盘符,在当前目录下时可以省略盘 符和路径。当批处理文件的内容不需要从外部输入时可以省略参数。 ② 图形界面下执行。批处理文件在图形界面下表现为一个应用程序图标,在图形界 面下,只需代表批处理文件的图标就可以执行它。不过需要注意的是,此种执行方法的默 认当前目录为批处理文件所在的目录。 3.4.2 批处理文件中使用的命令 批处理文件的内容主要分两部分,一种是命令行的命令,它用于描述批处理文件的功 能;另一种是批处理文件中可以使用的专属命令,它们主要用于完成一些辅助性的工作, 如注释、控制命令的执行次数和流程等。由于命令行命令已经在3.3.2节中详细介绍过, 本节则重点介绍批处理文件中的专属命令。 ①rem 或::(注释命令)。 . 命令格式1:rem [说明性文字] . 命令格式2:::[说明性文字] . 功能:rem 为注释命令,一般用来给程序加上注解,该命令后的内容不被执行。 . 命令说明:rem 命令注释的文字能回显。但“::”后的说明文字不会回显。 ②echo和@。 . 命令格式1:@ <命令> . 命令格式2:echo[{on|off}] . 功能:打开或关闭回显。 . 命令说明:@字符放在命令前将关闭该命令回显,无论此时echo是否为打开状 态。echoon为打开回显,echooff为关闭回显。如果想关闭“echooff”命令行自 66 身的显示,则需要在该命令行前加上“@”。当echo后没有参数时显示当前echo 设置状态。 ③pause。 .命令格式:pause .功能:停止系统命令的执行并显示“请按任意键继续……” 。 .命令说明:该命令可以使批处理执行过程中中断等待用户操作。 ④cal 。 .命令格式:cal[[Drive:][Path]FileName] .功能:从一个批处理程序调用另一个批处理程序,并且不终止当前批处理程序。 .命令说明:该命令可以使一个批处理在执行过程中调用另一个批处理的功能,当 被调用的批处理执行结束后,再回到调用处继续执行批处理下面的命令。 ⑤start。 .命令格式:start[[Drive:][Path]FileName] .功能:在批处理中执行其他可执行文件。 .命令说明:Drive和Path分别指明可执行文件的盘符和路径,可执行文件可以是 以.com和.x ⑥if。 ee为扩展名的文件。 .命令格式1:if[not]string1==string2Command .功能:条件判断语句,判定string1和string2是否相等,相等则执行后面的 Command命令,否则不做任何操作。 .命令说明:string1和string2都是字符的数据,英文字符的大小写将看作不同,这 个条件中的等于号必须是两个代表绝对相等的意思。如果使用NOT参数,则 string1和string2不相等时才执行后面的Command命令。 .命令格式2:if[not]existFileNameCommand .功能:条件判断语句,判定FileName指定的文件是否存在,如果存在则执行后面 的Command命令,否则不做任何操作。 .命令说明:参数FileName可以包含盘符路径和文件名,如果NOT参数存在则判 定指定的文件是否不存在,不存在指定文件时执行后面的Command命令。 ⑦for。 .命令格式:for%%variablein(set)doCommand .功能:循环遍历集合set中的所有项,并针对这些项执行Command命令。 .命令说明:参数variable表示循环变量,它的值是参数set所指定的集合中的任 意一项。在命令中需要注意如下几点: .for、in和do是for语句的关键字,它们三个缺一不可; .%%variable是for语句中对形式变量的引用,就算它在do后的语句中没有参 与语句的执行,也是必须出现的 ; .in之后,do之前的括号不能省略 ; .Command表示被反复执行的命令语句 ; 第 3 章操作系统 大学计算机基础(第3 版) . 在单命令行时执行for命令时,表示变量的%%variable参数只需使用一个百分 号引导即可,而在批处理文件中,需要使用两个百分号引导,且两个%之间没有 空格。 比如在批处理文件中,下面的语句的功能是把“bbs.bathome.net”显示在屏幕上。 for %%i in (bbs.bathome.net) do echo %%i 再如下面的语句的功能是在当前目录下分别创建a1、a2和a3目录。 for %%i in (1, 2, 3) do md a%%i 【例3.13】 建立批处理文件aa.bat完成在C盘根目录下建立例3.6所示的结构并显 示该结构。 aa.bat文件内容如下: @ echo off c: cd \ md aa md \aa\bb md \aa\bb\bb1 md \aa\cc pause dir aa /s 【例3.14】 建立批处理文件bb.bat完成在D盘根目录下建立20个目录,其目录名 分别为bb1,bb2,…,bb20。并判断C根目录下是否存在文件aa.bat,如果存在则执行它。 bb.bat文件内容如下: @ echo off d: cd \ for %%i in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20) do md bb%%i if exist c:\aa.bat call c:\aa.bat 在此批处理中,for语句可以一次创建20个目录,而if语句则先判断C盘根目录下 是否存在aa.bat文件,如果存在则执行它如果不存在,则不做任何操作。 3.5 Windows操作系统概述 3.5.1 Windows的发展与版本 Windows操作系统是美国微软公司继DOS(DiskOperationSystem,磁盘操作系统) 后开发的基于图形界面的新一代窗口式操作系统。由于其简单的操作方式、友好的图形 68 窗口和操作界面以及强大的系统功能,目前已经成为微型计算机领域广泛使用的主流操 作系统。从1983 年微软公司推出Wi0开始,陆续推出了不同的Wis版本, ndows1.ndow 以适合不同时期不同应用环境的微型计算机操作系统。具体发展情况如表3. 2所示。 表3.微软公司操作系统发展表 2 操作系统名称推出时间说明 DOS1.0 1981 年与IBMPC 捆绑销售 DOS3.3 1987 年较成功地支持其他语言字符集的版本 DOS5.0 1991 年开始具有扩展内存管理功能 DOS6.2 1993 年出现早期的图形界面,功能完善 Windows1.0 1985 年不成功的图形界面产品 Windows3.2 1994 年第一个有中文版的Windows WindowsNT3.1 1993 年基于OS/2NT 编写的服务器产品 Windows95 1995 年非常成功的独立图形界面操作系统 WindowsNT4.0 1996 年较完善的图形界面服务器产品 Windows98 1998 年开始与IE 捆绑销售 WindowsME 2000 年完全去除DOS 影响的版本 Windows2000 2000 年完善的多用户网络操作系统 WindowsXP 2001 年使用NT 内核的微型计算机操作系统 WindowsServer2003 2003 年WindowsXP 界面的网络服务器操作系统 WindowsVista 2007 年新一代Windows操作系统的过渡产品 Windows7 系列2009 年稳定的Vista结构操作系统 Windows8 系列2012 年除了适用于PC 外还兼容平板电脑 Windows10 系列2015 年微软公司发布的最近Windows版本操作系统 Windows10 系列操作系统作为现在主流的Windows操作系统,分别面向不同用户 和设备,共有家庭版、专业版、企业版、教育版、移动版、移动企业版和物联网核心版7个 版本。 另外,Windows根据程序运行时所支持的字长不同可以分为32 位版本和64 位版本 两类。这两类没有外观或者功能上的区别,但是内在有一点不同。64 位版本Windows7 最大支持128GB 内存,而32 位版本只能支持最大4GB 内存。目前所有新的和较新的 CPU 都是64 位兼容的,可以使用64 位版本。 第 3 章操作系统 96