成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關(guān)注微信公眾號(hào)

Solaris的啟動(dòng)和初始化過(guò)程
2008-09-12   IT168

Sun公司的Solaris系統(tǒng)能提供完整的端到端服務(wù),Solaris建立在高端的SPARC CPU體系結(jié)構(gòu)上,那是專(zhuān)為Solaris工作而設(shè)計(jì)的。其他的硬件改進(jìn),包括開(kāi)發(fā)OpenBoot監(jiān)視器和集成的電源管理,其能力遠(yuǎn)遠(yuǎn)超過(guò)PC機(jī)的 BIOS。另外,Solaris的早期版本引入了對(duì)于對(duì)稱(chēng)多處理機(jī)的支持,并且實(shí)現(xiàn)了網(wǎng)絡(luò)文件系統(tǒng),以及基于X11圖形系統(tǒng)的OpenWindows圖形用戶(hù)環(huán)境。后來(lái),Solaris通過(guò)遵循相關(guān)的標(biāo)準(zhǔn),以及改善NFS性能,開(kāi)發(fā)高可用性和集群解決方案,并提供增強(qiáng)的卷管理,從而站在UNIX業(yè)界趨勢(shì)的前列。此外,隨著64位內(nèi)核、Java和JumpStart安裝的引入,以及將Kerberos認(rèn)證集成到其安全體系結(jié)構(gòu)中,Solaris用戶(hù)和管理員得到了極大的好處。Solaris目前開(kāi)發(fā)一系列的標(biāo)準(zhǔn)工具,比如數(shù)據(jù)包、補(bǔ)丁和存儲(chǔ)管理,它們由POSIX兼容的開(kāi)發(fā)環(huán)境所支持。

Solaris從磁盤(pán)啟動(dòng)的方式和其他的操作系統(tǒng)差別很大,這個(gè)差別在軟件和硬件層次上都有所表現(xiàn)。SPARC系統(tǒng)有一個(gè)啟動(dòng)監(jiān)視應(yīng)用程序(即所謂的OpenBoot監(jiān)視器),可以讓用戶(hù)使用boot命令來(lái)啟動(dòng)系統(tǒng);但是實(shí)際上它內(nèi)置了Forth語(yǔ)言解釋器,以及一系列的診斷工具。因此,就可以構(gòu)建小型的程序,使用獨(dú)立于操作系統(tǒng)的固件,進(jìn)行各種標(biāo)準(zhǔn)測(cè)試。所以,即使決定在SPARC系統(tǒng)上安裝Linux系統(tǒng),仍然需要理解 OpenBoot監(jiān)視器及其操作過(guò)程。

在PC的BIOS中,一般可以自動(dòng)檢測(cè)硬盤(pán)并進(jìn)行一些系統(tǒng)配置任務(wù)。使用OpenBoot監(jiān)視器可以完成比這更多的工作,比如使用本地磁盤(pán)、磁帶或CD-ROM以及通過(guò)網(wǎng)絡(luò)啟動(dòng)。可以使用watch-net命令截獲和檢查來(lái)自任何一個(gè)以太網(wǎng)接口的通信量。

就軟件來(lái)說(shuō),Solaris和Microsoft Windows及Linux有一些相似的地方,盡管它沒(méi)有AUTOEXEC.BAT或者CONFIG.SYS文件。Solaris有一些腳本文件,它們以某種特定的順序執(zhí)行來(lái)啟動(dòng)服務(wù)。這些腳本一般在/etc/init.d目錄中創(chuàng)建,如Bourne shell腳本,然后,符號(hào)鏈接到“運(yùn)行級(jí)別”目錄。正如Microsoft的Windows有“安全模式”一樣,Solaris支持一些不同的操作模式,從嚴(yán)格的單用戶(hù)模式到完全的多用戶(hù)運(yùn)行級(jí)別。

Soalris 9啟動(dòng)過(guò)程和Linux有許多相似。首先,從硬盤(pán)讀取內(nèi)核代碼,在初始進(jìn)程中運(yùn)行,它是所有其他系統(tǒng)和用戶(hù)進(jìn)程的最終父進(jìn)程。其次,為了確定在運(yùn)行級(jí)別 1、2、3上執(zhí)行啟動(dòng)腳本的規(guī)則,需要讀取/etc/inittab中的定義。最后,當(dāng)系統(tǒng)執(zhí)行完第3級(jí)運(yùn)行的啟動(dòng)腳本時(shí),將授予NFS的多用戶(hù)訪問(wèn)權(quán)。如下圖1(①→②→③→④→⑤)所示。

圖1 Soalris 9啟動(dòng)過(guò)程

從上面我們可以看出,Solaris 啟動(dòng)管理器與Linux有許多相似之處,它們都啟動(dòng)一個(gè)內(nèi)核,這將創(chuàng)建一個(gè)init進(jìn)程,作為其他所有系統(tǒng)進(jìn)程的父進(jìn)程,還將讀取/etc目錄中的rc腳本文件(圖2),以自動(dòng)啟動(dòng)所有系統(tǒng)服務(wù),這個(gè)過(guò)程與windows是很不相同的,盡管為了引導(dǎo)各自的系統(tǒng),Soalris和Windows都讀取并執(zhí)行引導(dǎo)區(qū)代碼。
圖2

在任意一個(gè)時(shí)刻,一個(gè)Solaris系統(tǒng)都有一個(gè)特定的初始狀態(tài)或者運(yùn)行級(jí)別。運(yùn)行級(jí)別是由初始程序控制的----超級(jí)用戶(hù)可以執(zhí)行初始程序來(lái)改變運(yùn)行級(jí)別或者可以在啟動(dòng)過(guò)程中被調(diào)用。當(dāng)系統(tǒng)改變運(yùn)行級(jí)別時(shí),存儲(chǔ)在目錄中的對(duì)應(yīng)于相應(yīng)運(yùn)行級(jí)別的腳本會(huì)被調(diào)用。這些腳本是典型的符號(hào)鏈接指向存儲(chǔ)在 /etc/init.d目錄中的其他腳本,如圖3所示;完整的運(yùn)行級(jí)別以及它們相應(yīng)的運(yùn)行控制腳本目錄如表1所示。
圖3
 
表1

inittab 文件說(shuō)明

/etc/inittab定義了系統(tǒng)缺省運(yùn)行級(jí)別,系統(tǒng)進(jìn)入新運(yùn)行級(jí)別需要做什么。Solaris中init進(jìn)程的主要任務(wù)是按照inittab文件所提供的信息創(chuàng)建進(jìn)程,由于進(jìn)行系統(tǒng)初始化的那些進(jìn)程都由init創(chuàng)建,所以init進(jìn)程也稱(chēng)為系統(tǒng)初始化進(jìn)程(圖8)。

圖8


inittab文件的格式:inittab文件中每一記錄都從新的一行開(kāi)始,每個(gè)記錄項(xiàng)最多可有512個(gè)字符,每一項(xiàng)的格式通常如下:id:rstate:action:process,下面分別解釋。其中id字段是最多4個(gè)字符的字符串,用來(lái)唯一標(biāo)志表項(xiàng)。

rstate(run state)字段定義該記錄項(xiàng)被調(diào)用時(shí)的運(yùn)行級(jí)別,rstate可以由一個(gè)或多個(gè)運(yùn)行級(jí)別構(gòu)成,也可以是空,空則代表運(yùn)行級(jí)別0~6。當(dāng)請(qǐng)求init改變運(yùn)行級(jí)別時(shí),那些rstate字段中不包括新運(yùn)行級(jí)別的進(jìn)程將收到SIGTERM警告信號(hào),并且最后被殺死;只有a、b、c啟動(dòng)的命令外(a、b、c不是真正的運(yùn)行級(jí)別)。

action字段告訴init執(zhí)行的動(dòng)作,即如何處理process字段指定的進(jìn)程,action字段允許的值及對(duì)應(yīng)的動(dòng)作分別為:

1)respawn:如果process字段指定的進(jìn)程不存在,則啟動(dòng)該進(jìn)程,init不等待處理結(jié)束,而是繼續(xù)掃描inittab文件中的后續(xù)進(jìn)程,當(dāng)這樣的進(jìn)程終止時(shí),init會(huì)重新啟動(dòng)它,如果這樣的進(jìn)程已存在,則什么也不做。
2)wait:?jiǎn)?dòng)process字段指定的進(jìn)程,并等到處理結(jié)束才去處理inittab中的下一記錄項(xiàng)。
3)once:?jiǎn)?dòng)process字段指定的進(jìn)程,不等待處理結(jié)束就去處理下一記錄項(xiàng)。當(dāng)這樣的進(jìn)程終止時(shí),也不再重新啟動(dòng)它,在進(jìn)入新的運(yùn)行級(jí)別時(shí),如果這樣的進(jìn)程仍在運(yùn)行,init也不重新啟動(dòng)它。
4)boot:只有在系統(tǒng)啟動(dòng)時(shí),init才處理這樣的記錄項(xiàng),啟動(dòng)相應(yīng)進(jìn)程,并不等待處理結(jié)束就去處理下一個(gè)記錄項(xiàng)。當(dāng)這樣的進(jìn)程終止時(shí),系統(tǒng)也不重啟它。
5)bootwait:系統(tǒng)啟動(dòng)后,當(dāng)?shù)谝淮螐膯斡脩?hù)模式進(jìn)入多用戶(hù)模式時(shí)處理這樣的記錄項(xiàng),init啟動(dòng)這樣的進(jìn)程,并且等待它的處理結(jié)束,然后再進(jìn)行下一個(gè)記錄項(xiàng)的處理,當(dāng)這樣的進(jìn)程終止時(shí),系統(tǒng)也不重啟它。
6)powerfail:當(dāng)init接到斷電的信號(hào)(SIGPWR)時(shí),處理指定的進(jìn)程。
7)powerwait:當(dāng)init接到斷電的信號(hào)(SIGPWR)時(shí),處理指定的進(jìn)程,并且等到處理結(jié)束才去檢查其他的記錄項(xiàng)。
8)off:如果指定的進(jìn)程正在運(yùn)行,init就給它發(fā)SIGTERM警告信號(hào),在向它發(fā)出信號(hào)SIGKILL強(qiáng)制其結(jié)束之前等待5秒,如果這樣的進(jìn)程不存在,則忽略這一項(xiàng)。
9)ondemand:功能通respawn,不同的是,與具體的運(yùn)行級(jí)別無(wú)關(guān),只用于rstate字段是a、b、c的那些記錄項(xiàng)。
10)sysinit:指定的進(jìn)程在訪問(wèn)控制臺(tái)之前執(zhí)行,這樣的記錄項(xiàng)僅用于對(duì)某些設(shè)備的初始化,目的是為了使init在這樣的設(shè)備上向用戶(hù)提問(wèn)有關(guān)運(yùn)行級(jí)別的問(wèn)題,init需要等待進(jìn)程運(yùn)行結(jié)束后才繼續(xù)。
11)initdefault:指定一個(gè)默認(rèn)的運(yùn)行級(jí)別,只有當(dāng)init一開(kāi)始被調(diào)用時(shí)才掃描這一項(xiàng),如果rstate字段指定了多個(gè)運(yùn)行級(jí)別,其中最大的數(shù)字是默認(rèn)的運(yùn)行級(jí)別,如果rstate字段是空的,init認(rèn)為字段是0123456,于是進(jìn)入級(jí)別6,這樣便陷入了一個(gè)循環(huán),如果inittab文件中沒(méi)有包含initdefault的記錄項(xiàng),則在系統(tǒng)啟動(dòng)時(shí)請(qǐng)求用戶(hù)為它指定一個(gè)初始運(yùn)行級(jí)別。

Process字段中進(jìn)程可以是任意的守候進(jìn)程、可執(zhí)行腳本或程序。另外,在任何時(shí)候,可以在文件inittab中添加新的記錄項(xiàng),級(jí)別Q/q不改變當(dāng)前的運(yùn)行級(jí)別,重新檢查inittab文件,可以通過(guò)命令init Q或init q使init進(jìn)程立即重新讀取并處理文件inittab。

熱詞搜索:

上一篇:Solaris 10安裝命令sys-uncofig用法介紹
下一篇:Solaris 10的十大特點(diǎn)

分享到: 收藏
主站蜘蛛池模板: 康熙微服第二部免费版第24集| 流浪地球2演员表| 火舞俪人 电影| 延边卫视节目表今天| 澳门风云2演员表| 混沌行走| 电影《exotica》完整版观看| ymxk| 禁忌爱情| 打开双腿扒开打屁股羞辱惩罚视频| 辩论赛作文| 廊桥遗梦演员表| 红海行动2蛟龙行动电影在线观看 范海辛电影原声在线观看免费 | 红灯区未删减版| 法格| fate动漫免费观看| 一起来看流星雨剧照| 原千岁电影| 热天午后| 安全员c证考试免费题库| 美女写真视频网站| 顺风| 电影喜剧明星演员表| 短篇500篇 合集大结局| 艳女十八式无删减版| 夜生活女王之霞姐| 虐猫视频哪里可以看| 性欧洲高跟长靴靴交视频| 水浒传新| 茅山道士在线观看| 妻子出轨| 小姐诱心国语未删减版| 山东教育电视台直播在线观看| 光荣之路| 何国强| 二丫的美好生活[年代]| 一个馒头引起的血案| 袁隆平电影| 八年级上册英语课文| 啪啪电影网址| 电影土耳其狂欢|