系统管理-系统的关闭和启动_第1页
系统管理-系统的关闭和启动_第2页
系统管理-系统的关闭和启动_第3页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、UNIX系统管理一第十二章:系统的关闭和启动系统的关闭和启动系统的启动是指从开始引导操作系统直到系统正常工作的过程。在启动之初,操作系统被装入内存并且开始执行,这个执行过程中将进行大量初始化操作以提供某些服务如打印服务, 网络服务等。用户,特别是系统管理员必须详细了解系统启动全过程的各个具体细节。启动是整个系统运行期间最脆弱、最容易出现问题的时候。稍有不慎,整个系统将无法正常启动,或正常启动了,却无法正常工作。虽然UNIX系统被设计成一种可以可以永不关机的系统,但实际操作中却由于各种各样的原因,不得不在一定的时候将机器关闭,如电源出现问题,系统出现严重故障等。UNIX系统的复杂性不允许我们想关

2、机时就直接切断电源,这样做会对整个系统造成极大的破坏,如用户数据丢失,文件系统结构的不一致等。所以关机过程必须遵守一定的规范才行。在这一章中我们主要介绍如下几个问题:'UNIX系统从加电到系统完全可用的全过程中的各个执行细节。系统的关闭介绍关闭系统的方法及关M J系统时应该注意的一此问题。系统的启动过程大多数的UNIX系统的启动都有两种方式:门砒动左这种方式卜.系统叮以不级仔何人工i勺T-Wffi n动芯剧询的仝过私F工口动在系统口动过稈到达某-点吋,系统管IT.WhJ-以进彳些人工的十肌 如对文件系统进行检查,设置系统的日期等等。然后系统将继续进行引导。通常这两种方式的最终效果是一样

3、的。正常情况下,加电后系统均能自动启动至准备好状态。但在系统遇到一些人为破坏,如突然断电,系统发生崩溃或者系统管理员做了某种修改时, 经常会需要手工引导。我们可以把整个UNIX系统的启动过程大致划分为如下几个阶段:操作系统装入程序(PDL)的加载UNIX系统核心程序的装入UNIX系统内核的初始化硬件的检测和配置系统进程的生成管理人员的干预(自动启动时无此阶段)系统初始化shell脚本的执行各终端进程的生成操作系统装入程序的加载大多数计算机系统的操作系统都是驻留在系统的硬盘中的。一般可以把硬盘的存储空间分成几个不同的相互连接的片段,每个片称为一个硬盘分区。绝大多数硬盘都可被划分为四个分 区。在各

4、个分区中可以装载不同的操作系统。(对于专用的工作站或者主机系统,一般只装载一个UNIX系统)在硬盘的多个分区中,有一个分区被称为是系统的活动分区。活动分区中的操作系统会在系统加电的时候被引导。大多数机器在加电时均会转移到一特定的地址去执行存储在ROM中的程序。如果是从软盘上引导,这个程序将读取软盘上引导扇区(0头、0道、1扇区)中操作系统核心代码,再将控制交给核心程序,由此开始核心程序的装入和运行。但对于从硬盘上引导系统的情形, ROM载入程序装入的不是操作系统而是另外一段代码,这段代码在被装入到内存中后将获 得控制权而得以执行,然后由它去装入UNIX系统。一般而言,这段代码将位于硬盘0头、0

5、道、1扇区。该扇区主要包括两部分的信息:主引导程序和分区信息表。其内容是由硬盘分区程序对硬盘进行分区时建立的。在主引导程序被装入之后将获得CPU控制权而得以执行。执行时它会对分区信息表进行扫描,看哪个分区为活动分区, 并试图装入该分区第一扇区的操作系统引导程序,由此开始操作系统核心的引导UNIX系统核心程序的装入在操作系统获得系统控制权之后,我们可以说此时 UNIX系统已经开始运行了, 载入程序在执行时,将从硬盘活动分区中一个特定的地方(该分区的第一个扇区)装入操作系统的源代码:UNIX系统内核。UNIX系统内核实际上是一个程序,其名称一般是/unix或者/vmunix,名称随生产厂家的不同可

6、能会有些差异。在内核被装入的时候,屏幕上会显示:Booting the UNIX system若此时按下任意键,系统核心装入程序将允许用户输入欲装入的其它核心程序的文件名。此时装入程序会显示:boot:用户可以在冒号后输入其它的某个核心程序的名称。为什么要提供这种功能呢?因为在许多情况下我们需要对系统内核进行重新配置,以生成新的核心程序,而老的核心程序可以保留到另外一个文件中。新的核心程序可能不能成功地启动系统,这种情况下我们就可用这种方法装入原来的核心程序引导系统。如果并不想真的装入其它内核,可以不作任何操作或者仅仅按一下回车。稍后,装入程序会装入缺省的内核。系统内核是UNIX常驻内存的部分

7、。内核装入程序从磁盘上装入核心程序之后,将把控制权交给新装入的内核,从而使之得以运行。系统内核的初始化核心程序开始执行时,UNIX系统内核的初始化工作就开始了。内核会检查内存,以前我们 知道,系统内核会占据物理内存的低端并固定在此空间中运行。内核将检查系统中内存的总数,计算出自己占用多少, 剩下多少可以供普通进程使用,这就是启动信息中关于内存的部分。文件系统高速缓冲部分也会占用部分内存空间。内核的各种内部数据结构,如页表,进程结构表(proc结构),所以系统内存并不是仅仅等于内核的大小加上可用的内存的大小。硬件的检测和配置内核完成自身的初始化之后,它将对系统中所安装的各种硬件进行检测。由于每种

8、系统的硬件千差万别,很难对这个过程进行一般性的说明。系统管理员在配置内核时,将告诉系统要处理那些设备, 当内核完成初始化之后,它将开始 寻找这些设备,并且按照系统管理员的设置对这些设备进行初始化配置。大多数情况下,内核将报告它应该找到但是由于种种原因没有找到的设备。在配置内核时候,系统管理员说明的设备信息往往是不充分的。这种情况下,内核将通过检查与设备连接的总线及相应的设备驱动程序来获得关于设备的其它信息。如果某设备未被找到或者用于某种原因未能对内核检测作出响应,内核将标记该设备为不存在, 同时时相应的设备驱动程序不再起作用。此时即使设备和系统连接恢复正常上,该子系统也不能被使用。要想使用这个

9、设备,只有重新启动系统。系统进程的生成在硬件检测、配置完成之后,内核将生成一些系统进程,这些进程并不是系统核心的一部分, 它们将作为一个普通的进程在用户进程空间运行,提供各种系统服务。这些进程的数量和种 类随系统的不同而不同。在AT&T systerm V 中,有如下的进程:调度进程sched(O号进程)初始化进程init(1号进程)虚存管理进程pageout(2号进程)缓冲区至磁盘写进程 fsflush(3号进程)缓冲区映射进程 Rmdaemon(4号进程) 在BSD系统中,相应的进程分别是: 换入换出进程swapper( 0号进程) 初始化进程init( 1号进程)页面守护进程pa

10、gedaemon(2号进程)这三个进程与上面的 0、1、2号进程对应。在所有的这些进程中只有1号进程init才算是真正意义上的进程,而其它的“进程”并不是真正意义上的进程。它们是系统核心的一部分,其作用类似于一个函数调用,只是由于进程 调度的原因才将其设置为同进程类似。在这些系统进程生成之后,内核在系统启动中的任务就完成了,后面的工作将由in it进程来进行,这些工作包括:启动各种服务,生成接受终端注册的getty进程等等。系统初始化shell命令脚本的执行操作系统为了给用户提供各种服务,通常要生成一些提供这些服务的进程。这种服务进程一般被称为守护(daemon)进程。它们不知疲倦地为系统中的

11、用户提供某种特定的服务。通常这些进程是在内核生成各个系统进程之后,由init进程执行一系列特定的shell命令而生成的。init通过/etc/inittab文件对各种守护进程进行管理,init将顺序地读取inittab中的各行并逐个 进行处理。各终端进程的生成随着整个系统初始化的完成,整个系统就已经能够正常工作了,但是此时用户还不能使用计算机,因为我们暂时还没有办法注册到系统中。为了用户能注册到系统中,必须提供getty进程。每个getty进程将分别监视某一个通讯端口以检测来自相应终端或者调制解调器的连接信号,然后getty将首先打印注册提示,等待用户输入用户名,然后调用login命令进行注册

12、,注册成功后,系统会生成一个shell进程,同时相应的getty进程会自动消亡。当用户从系统中注销时,init进程将根据/etc/inittab文件中的相应的数据行重新生成相应的终端上的getty进程。启动过程中的人工干预在内核初始化完成之后、系统初始化开始之前,如果系统进入单用户状态(手工启动方式下) 那么内核在启动init进程时就将通知这一点。这种情况下, init将首先在控制台上生成一个 shell进程,并等待该shell进程中止,再进行其它的系统初始化操作。使用这个shell进程,用户可以以超级用户的身份执行所有的可以执行的命令。但由于此时 系统只安装了根文件系统,这将使得管理员只能执

13、行/bin或/etc目录下的文件。如想执行其它文件系统上的命令,需管理员自己先安装相应的文件系统。一般情况下,系统管理员在此阶段需要做的工作是对文件系统进行检查(fsck),只有在出现某些系统故障的情况下才需要系统管理员对文件系统进行维护。关于文件系统的检查我们将在第10章详细介绍。在了解UNIX系统启动的全过程之后, 我们才可能对系统启动过程中出现的种种问题进行分析,找出故障发生的原因,进而想办法排除故障。一般而言,无法正常启动的原因有:硬件故障启动盘被破坏文件系统被破坏内核配置有问题系统初始化shell脚本出现问题在系统无法正常启动时,借助启动过程中控制台上显示的信息,我们可以大致判断到底

14、哪个阶段出现了问题,从而才能对症下药排除故障。系统的关闭在了解系统的引导过程后我们会知道:系统处于正常工作状态时,系统中会有许多各式各样的进程在运行,如init进程、各种守护进程,如果有用户登录到系统中,还有许多用户进程。 另外我们还知道UNIX系统为提高机器的响应速度引入了缓冲机制。所有的这些都将使得在关闭系统时不能切断电源了事。事实上,系统的关闭和启动过程一样也是一个极为复杂的过程。当然这种复杂指的是系统内部操作上的复杂,而不是用户操作上的复杂。用户只需要按照一定的要求输入几个命令就能将系统正常地关闭下来。在各种UNIX系统中,都提供有多种正常或者不正常的关机方式。例如,鉴于init进程(

15、1号进程)在系统中的特殊地位,我们可以通过终止这个进程来使系统关闭下来:# kill -9 1但是这种方法是不安全的, 其造成的后果可能并不亚于直接关闭电源。为了能够使整个系统正常地停下来,许多系统都提供了专用的关闭系统的命令。下面以AT&T UNIX系统为例来说明这个过程。System V提供了一个名为/etc/shutdown的shell命令。借助这个命令,我们可以将系统安全 关闭。但在关闭系统之前,仍应对系统的运行情况进行检查,你可以使用ps和who命令来进行这种检查。然后,在超级用户提示符下输入:# shutdown -y将启动关闭的过程,此时,在每一个用户的终端屏幕上将出现关于系统即将被关闭的警告信 息,而用户在看到这一信息后应立即中止自己的工作并且从系统中注销退出。shutdown命令并不会立即关闭系统,在开始实际关闭之前先暂停60秒(缺省的时间间隔),给用户一个回旋余地。暂停时间一过,关闭过程就开始了,此时shutdown给仍在系统中的用户发送第二条信息,如用户仍旧不退出,他们正打开的文件可能会损坏。第二条信息发出之后, 系统中所有的活动进程均会被终止, 同时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论