snmg教学讲义

上传人:小** 文档编号:89127178 上传时间:2019-05-19 格式:DOC 页数:13 大小:51KB
返回 下载 相关 举报
snmg教学讲义_第1页
第1页 / 共13页
snmg教学讲义_第2页
第2页 / 共13页
snmg教学讲义_第3页
第3页 / 共13页
snmg教学讲义_第4页
第4页 / 共13页
snmg教学讲义_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《snmg教学讲义》由会员分享,可在线阅读,更多相关《snmg教学讲义(13页珍藏版)》请在金锄头文库上搜索。

1、UNIX系統管理PART資工四楊曜宗cs860709csie.ncu.edu.tw一、 Linux系統概述二、 開機與關機三、 工作自動化四、 系統安全五、 備份和還原一Linux系統概述UNIX作業系統是由核心(kernel),以及一些系統程式所構成的作業系統。當然不只如此而已,還包括了一些執行使用者工作的應用程式,所謂核心即是作業系統的引擎。系統核心專司連繫儲存媒体上的檔案、啟動程式並且同步執行數個程式、指派記憶体與其它資源給各式各樣的形成(processes)、收發來自網路的資料封包等等。系統核心本身所能執行的工作並不多,主要是協調與控管資源與程式,不過它所提供的工具可以經由建構進而提供

2、各項服務,它也可以防止任何人直接存取硬体,使用強制性的方式要求每一個人,使用它本身所提供的工具進行存取動作,以這種方法,系統核心即能對各別使用者提供一些保護,而系統核心所提供的工具在使用時,則是經由系統呼叫啟用。系統程式藉由使用系統核心所提供的工具,執行作業系統應具備的各式各樣的服務,系統程式及所有其它一般程式執行在系統核心的上層處,而這一層我們一般稱為使用者模式。系統程式與應用程式之間的差異在目的不同:應用程式工作焦點在符合並達成使用者的需求(電玩),然而系統程式專注在使整個系統運作正常,文書處理器即是應用程式;telnet是系統程式,其實兩者之間的差異有時是相當模糊難辨的,不過;可以以對系

3、統的重要性來做大致性的分類。作業系統通常也可以包括編譯器以及他們所對應的函式庫(特定在Linux底下的GCC與C函式庫),然而並不是所有的程式語言皆將納入作業系統体係內,文件、有時甚至是遊戲,也可以成為它的一部分,傳統上,作業系統已經被安裝的磁帶或磁碟所定義,但是Linux卻仍是妾身未明。二開機與關機1. 概略開機開啟電腦系統開關將會把作業載入到主記憶体裡。這就稱為 開機(booting) 。這個名詞的由來是在形容把電腦想像成拉拔自己的鞋帶(bootstrap),其實真實情況沒有這麼簡單。在初期系統啟動階段,電腦首先載入一些程式碼一般稱為啟動載入器(bootstrap loader) ,啟動載

4、入器依序載入並且啟動作業系統,啟動載入器通常在硬碟或軟碟上的固定位址上,為什麼要分成二個步驟原因是作業系統是龐大且複雜的,但是電腦載入第一階段的程式碼必須是非常小的 (幾百個 bytes),為了就是要避免韌体(firmware)太過於複雜。不同的電腦有不同的啟動程序,對於個人電腦而言電腦是讀取(它的 BIOS) 硬碟或軟碟裡面的第一個扇形區 (稱為 啟動磁區)這個磁區裡面包含啟動載入器,它從硬碟的其它地方載入作業系統。在 Linux 被成功載入之後,它就隨即初始化硬体與設備驅動程式,然後執行 init , init 開始準備讓使用者能登入系統的相關行程(processes),其餘的詳細細節解釋

5、如下:2. 深入了解開機程序您可以從軟碟片或者是從硬碟啟動 Linux 系統。當個人電腦被啟動, BIOS 會做各種測試來確認一切是否正常。然後才正式開始啟動系統,它會選擇磁碟機 (傳統是第一個軟碟機,如果您的軟磁機有插入軟碟片,就會選擇軟碟機不然的話是第一個硬碟,如果兩者皆有的話,其實優先順序是可以組態的) 並且讀取第一個扇形區,這個磁區稱為 啟動扇形區;若是硬碟的話,它就被稱為 主要啟動記錄(master boot record) ,由於硬碟可以包含數個分割區,每一個分割區都有它們自己的啟動磁區。啟動磁區包含了一個小程式 (小到剛好可以塞入一個扇形區) 這個小程式的責任就是從硬碟讀取作業系

6、統並且啟動它,如果是從軟碟片啟動 Linux ,這個啟動磁區包含了一小段的程式,而這一小段的程式只是用讀取前幾百個區塊到 (這要依據實際的核心大小而定) 記憶体裡的預設位址上,在 Linux 啟動軟碟片上是沒有檔案系統的,核心只是被儲放在連續性的磁區上,這樣可以簡化啟動程序,若要使用有檔案系統的軟碟片啟動系統也是可以的,那您就使用 Linux 載入器( LInux LOader) LILO。 若是從硬碟啟動系統,儲放在主要啟動記錄的程式碼會去檢查硬碟分割表, (也儲放在主要啟動記錄裡),確認啟動分割區 (這個分割區會被標記成可做為啟動系統的分割區 ),從這個啟動分割區讀取啟動磁區,並且啟動儲放

7、在啟動扇形區裡面的程式碼,這個儲放在啟動分割區裡面的啟動磁區的程式碼,所執行的工作跟軟碟啟動的程式是一樣的:它會從啟動分割區讀取核心並且啟動它,儲放在啟動分割區裡面的啟動磁區的程式碼是無法以連續性的方式讀取磁碟,它必須去找尋檔案系統所放置的啟動磁區位置,解決這個問題可以用好幾種方法解決,但是最普遍使用的方法是使用 LILO , (關於詳細如何做是跟現在討論的話題是無關的,不過;詳請可以請看 LILO 文件,它是最完整的)若是使用 LILO 啟動,它一般是最先被讀取的並且啟動預設核心,當然也可以組態 LILO 在數個核心之間選取其中一個來啟動,或者不是選擇 Linux 而是其它系統也可以,在系統

8、啟動階段時也可以讓使用者選擇那一個核心或是那一種作業系統。 LILO 可以使組態成當某人在啟動階段時按住 alt, shift, 或 ctrl 鍵時 (當 LILO 被載入時), LILO 將會主動詢問要啟動那一個並且立刻不啟動預設的,另一種方式; LILO 可以被組態成每一次都會主詢問,還有一個等待時間(timeout)的參數用來設定 LILO 將等待使用者多少時間去考慮,如果超過等待時間 LILO 就自動啟動預設核心。LILO 也可能給予核心 一行命令列參數 ,在核心或作業系統名稱後面。不管是從軟碟片啟動還是從硬碟啟動都各有它們的優缺點,但是一般從硬碟啟動系統是比較好的,因為硬碟比較穩定而

9、且也比較快,不過;安裝系統用來從硬碟啟動是相當麻煩的,所以許多使用者會先從軟碟片啟動開始,然後當系統安裝好了而且也正常運作了,才開始安裝 LILO 並且從硬碟啟動系統。在 Linux 核心被讀入到主憶体裡之後,不管是用什麼方式,大概會以下的事情: Linux 核心被安裝成壓縮狀,所以首先它自己要先自我解壓縮,核心啟動檔的開頭包含了一個小程式就是專司做這種事的。 如果您有一張 super-VGA 卡 Linux 能夠辨識出,並且就會有一特別的文字模式, Linux 會問您要使用那一種模式,在核心編譯的時候,它可能預設一視訊模式了,那麼它就永遠不會詢問您了,這種可以使用 LILO 或 rdev 命

10、令。 之後;核心檢查是否還有其它的硬体 (硬碟、軟碟、網路卡等等),並且適當的組態一些它自己的設備驅動程式,當在做以上這些動作時,它會顯示出它所找到的東西,例如我啟動的情形;類似如下: LILO boot:Loading linux.Console: colour EGA+ 80x25, 8 virtual consolesSerial driver version 3.94 with no serial options enabledtty00 at 0x03f8 (irq = 4) is a 16450tty01 at 0x02f8 (irq = 3) is a 16450lp_init:

11、 lp1 exists (0), using polling driverMemory: 7332k/8192k available (300k kernel code, 384k reserved, 176k data)Floppy drive(s): fd0 is 1.44M, fd1 is 1.2MLoopback device initWarning WD8013 board not found at i/o = 280.Math coprocessor using irq13 error reporting.Partition check: hda: hda1 hda2 hda3VF

12、S: Mounted root (ext filesystem).Linux version 0.99.pl9-1 (rootsun1) 11/07/2000 14:12:20在不同的系統上數值是有所不同的,這要端賴有什麼樣的硬体而定使用什麼樣的 Linux 版本,以及您如何組態您的系統。 然後核心會試著掛載 root 檔案系統,這個地方可以在核心編譯時加入組態,或者任何時候都可以使用 rdev 或 LILO ,檔案系統型態會自動的被偵測出,如果 root 檔案系統的掛載失敗,例如因為您忘記在核心裡面包含相對應的檔案系統驅動程式,核心會不知所措( kernel panics )並且暫停系統 (

13、也就是系統會當在那裡)。 root 檔案系統通常被掛載成唯讀,這樣使得它在被掛載時可以去檢查檔案系統,如果是掛載成可讀寫去檢查檔案系統是不太妙的。 之後,核心開始 init 程式(儲放在 /sbin/init) 執行在背景裡 (這個行程(process)總是一號行程)。 init 執行各式各樣的啟動事務,會啟開一些重要的背景監督程式。 init 然後切換到多重使用者模式,並且啟動一個 getty 做為虛擬控制台與序列線, getty 是一種程式可以讓使用者以文字模式的控制台登入系統,並且序列程式可以讓使用者以虛擬文字模式控制台及序列終端機登入系統。init 也可能啟動一些其它的程式,不過這要看

14、您是如何組態的而定。 initialization script: init1 rc.S begin rc.serial begin rc.serial end rc.S end init1 enter runlevel 5 rc.M begin rc.inet1 begin rc.inet1 end rc.inet2 begin rc.inet2 end rc.font begin rc.font end rc.local begin rc.local end rc.M end login之後;系統啟動完成,並且系統啟動成功且正常執行。3. Init行程當核心已經自我啟動成功(載入到主記憶体

15、,並且會持續使自己保持在執行狀態,而且已經初始化好所有的設備驅動程式與資料結構),它靠著啟動一個使用者層級的程式完成它自己本身啟動程序的一部分。 init. 於是, init 永遠是第一個行程(process) (它的行程編號總是 1 ).核心尋找一些傳統會使用的位址來搜尋 init 但是存放它的適當位置 (在 Linux 系統上) 是 /sbin/init 。如果核心無法找到 init 它會嘗試執行 /bin/sh ,如果又也失敗,那麼系統啟動就失敗了。當 init 啟動時,它藉由執行許多管理工作而達到完成啟動程序,例如檢查檔案系統,清除 /tmp ,開啟各種服務,並且為每一個終端機與與能讓使用者登入系統的虛擬控制台啟動 getty 程式在系統正常啟動起來之後, init 在使用者登出系統之後為每一個終端機重新啟動 getty (以至

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号