UNIX系统环境与开发课件_第1页
UNIX系统环境与开发课件_第2页
UNIX系统环境与开发课件_第3页
UNIX系统环境与开发课件_第4页
UNIX系统环境与开发课件_第5页
已阅读5页,还剩728页未读 继续免费阅读

下载本文档

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

文档简介

網路管理與網路應用9.1TCP/IP9.1.1TCP/IP協議體系結構9.1.2TCP/IP數據封裝9.1.3IP地址9.1.4網路掩碼9.1.5子網及子網化9.1.6IP路由的實現9.1.7套接字、端口及服務9.1.8客戶機/伺服器(C/S)模型9.1.9物理地址、邏輯地址和主機名9.1.1TCP/IP協議體系結構圖9-1TCP/IP協議體系結構

TCP/IP協議的4層結構應用層:包含各種應用程式和協議,如SMTP、FTP、Telnet等。傳輸層:在主機之間進行數據傳輸。網路層:負責提供基本的數據報傳送功能。網路介面層:也稱資料鏈路層,是TCP/IP協議的最底層。9.1.2TCP/IP數據封裝封裝是指將較高層的通信協議報頭和數據放在一起作為整體再增加一些首部資訊,向下放入較低層通信協議的數據區域。數據封裝過程如圖9-2所示圖9-2數據封裝過程9.1.3IP地址1.IP地址格式為便於主機的尋址,每個IP地址都分為網路號和主機號兩部分,其格式如圖9-3所示。IP地址表示法點分十進位表示:十六進製錶示為:CAC4F008二進位IP地址:110010101100010011110000000010002.IP地址的分類

IP地址按照地址二進位的前四位來進行劃分。可劃分為A,B,C,D,E五個不同的地址類別。三類常用IP地址

IP地址劃分為五個不同的地址類別,其中A,B,C三類最為常用。地址類型起止範圍A類~55B類~55C類~55幾種特殊的IP地址

(1)私有地址私有地址可以用於單位自己組網,但使用私有地址的電腦要上公網必須轉換成合法的IP地址,因為Internet網沒有這些地址的路由。Internet管理委員會規定如下地址段為私有地址:地址類型私有地址範圍網路個數A類1B類~16C類~256(2)網路號為127的地址保留為內部回送地址(3)主機號全為1的IP地址表示一個網路的廣播地址(4)主機號全為0的地址標識一個網路幾種特殊的IP地址(續)9.1.4網路掩碼網路掩碼可以用來區分一個IP地址的網路號和主機號各占多少位。通過用IP地址與相應的網路掩碼進行“與”運算,可以區分出網路號和主機號包含的位數。以區分一個IP是否屬於某個網路。9.1.5子網及子網化子網,是指在分配了一個物理網段的基礎上,通過一定的技術再劃分出多個新的邏輯網段,這樣做可以有效緩解IP地址資源緊張的問題。1.子網化的基本原理把IP地址的主機號再分成一個子網號和一個主機號,即從IP地址的主機部分最高位開始借若干位用於網地址位,剩餘的部分仍為主機地址位。2.子網化方法(1)將主機號進一步劃分為子網號與主機號,未劃分前,網路地址唯一標識一個物理網路,子網劃分後,網路號+子網號唯一標識一個物理子網路。(2)子網個數及每個子網所容納的最大主機數取決於子網號和主機號所占位數。設N為子網號所占位數,n表示主機號所占位數,則: 子網數:2N

每個子網所擁有最大主機數:2n-2網路子網化示例假定某單位有5個部門,擁有電腦100臺。其中:A部門有15臺電腦,B部門有15臺,C部門有30臺,D部門有25臺,E部門有15臺,並申請有一個C類IP地址:。問應該如何構造子網,以滿足業務需要。解答:IP地址是一個C類地址,缺省子網掩碼是,按照子網分割的方法,首先要決定的是子網地址的長度。設子網地址為3位,可構成8個子網,能夠滿足5個部門的需求。決定了子網地址的長度後,便可以知道新的子網掩碼和主機地址的長度。由於使用3位作為子網地址,網路地址變成了24+3=27位。因此,新的子網掩碼為

11111111111111111111111111100000(24)而原先的主機地址有8位,子網地址借用了3位,主機地址只能使用剩下的5位。因此,每個子網可分配的主機地址有25-2=30個,能夠滿足部門組網主機數目需要。表9-3所示為劃分子網後,每個子網IP地址的範圍,我們可以選擇子網中的任意5個。序號子網號第四位元組的二進位值第四位元組的十進位值可用的IP地址範圍100000000001~000111101~30~0200100100001~0011111033~623~2301001000001~0101111065~945~4401101100001~0111111097~1267~26510010000001~10011110129~15829~58610110100001~10111110161~19061~90711011000001~11011110193~22293~22811111100001~11111110225~25425~549.1.6IP路由的實現IP路由路由是確定資訊包從源主機到目的主機所採用的路徑的機制。IP路由就是在網路之間將IP數據報傳送到目的主機的過程。2.IP路由的過程假設現在A網路的A1主機,要把IP數據報傳送給F網路的F1主機(如圖9-4所示)圖9-4路由過程示例3.靜態IP路由和動態IP路由靜態路由是在路由器中設置的固定的路由表,一般由網路管理員手工配置,其原理是將所有路由的資訊存放在每個路由器上的靜態路由表中。靜態路由的好處是網路尋址速度快,安全保密性好,一般適用於比較簡單的網路環境。動態路由是能夠使用路由協議來自動更新主機或路由器中的路由資訊。動態路由對網路變化的適應性強,適用於大型和複雜的網路環境。9.1.7套接字、端口及服務1.端口一個進程和另一個進程進行通信時,需要以某種方式標識自己。對此,TCP/IP用一個被稱作端口(Port)的邏輯結構來實現。一個端口號是一個16位的數字,它唯一地標識一個進程。當一個數據報到達目的地時,IP檢查該數據使用的協議是TCP還是UDP,上交給傳輸層協議的數據包含目的端口號,它告訴傳輸層協議數據應該交給哪一個應用進程。端口號在/etc/services檔中描述。從0~1023的端口號被稱作約定公用端口(well-knownport),保留為標準的應用程式使用。用戶應用程式應使用其他的端口號進行通信。套接字和服務2.套接字套接字(Socket)是IP地址和端口號的組合,它能唯一地決定一個網路進程。3.服務服務是協議和端口的組合。Linux各種服務被定義在檔/etc/services中,此檔規定了服務和端口與通信協議的對應關係。9.1.8客戶機/伺服器(C/S)模型TCP/IP網路中兩個進程間的相互作用採用的是客戶機/伺服器(C/S)模式,目的是為了讓伺服器為客戶提供一些特定的服務。伺服器提供的服務通常分為兩種類型:重複型或併發型。重複型伺服器工作過程(1)等待一個客戶請求到來。(2)處理客戶請求併發送應答信號,此時伺服器不會回應新的客戶請求。(3)返回(1)併發型伺服器工作過程(1)等待一個客戶請求到來。(2)啟動一個新的服務進程(子進程或線程)來處理這個客戶的請求,處理結束後,終止這個新的服務進程。在處理期間可能有多個客戶請求到達,伺服器會啟動多個對應的服務進程,同時為多個客戶服務。(3)返回(1)。9.1.9物理地址、邏輯地址和主機名

1.物理地址(MAC地址)物理地址一般位於網卡中,一個網卡具有唯一的MAC地址,用於標識網路設備,控制對網路介質的訪問。例如,網路設備要訪問傳輸電纜(網線,位於物理層),必須具備一個MAC地址,發送的數據要到達目的地,必須知道目的地的MAC地址。2.邏輯地址(網路地址)邏輯地址即IP地址或網路地址。IPv4使用32位二進位來表示網路地址,稱為IP地址或邏輯地址。邏輯地址用於網路層上對目的主機的尋址。3.主機名儘管通過IP地址可以識別主機上的網路介面,進而訪問主機。但是IP地址不便記憶,對於用戶來講更常用的還是主機名。在TCP/IP中,通過功能變數名稱系統DNS來提供主機名和IP地址之間的映射資訊。UNIX/Linux系統中,通常使用hostname命令來顯示或設置系統的主機名。主機名可以與功能變數名稱相同,也可不同。機名是局部的,而功能變數名稱是全局的。9.2TCP/IP配置9.2.1TCP/IP網路配置9.2.2與網路有關的配置檔

9.2.1TCP/IP網路配置使用netconfig程式設置TCP/IP網路配置netconfig是UNIX傳統的網路配置工具,可以用來設置網卡的IP地址,網路掩碼,缺省網關和首選的功能變數名稱伺服器地址等資訊。netconfig通過交互方式操作,用戶可以利用Tab鍵在選項間切換,利用空格或回車鍵進行確認。9.2.1TCP/IP網路配置2.使用圖形配置工具設置TCP/IP網路配置按步驟“主菜單”→“系統工具”→“網路設備控制”操作,可進入如圖9-5所示介面;或按步驟“主菜單”→“系統設置”→“網路”,或在X終端命令行輸入命令redhat-config-network進入如圖9-6所示的“網路設置”介面。圖9-5“網路設備控制”窗口圖9-6“網路配置”窗口圖9-5所示的窗口中列出了當前連接的所有網路介面設備,在控制窗中選中相應設備,單擊“配置”按鈕,彈出如圖9-6所示的“網路配置”窗口。在該窗口中可以進行網路介面、硬體驅動、DNS伺服器和主機名列表等資訊的配置。9.2.2與網路有關的配置檔/etc/sysconfig/network #最基本的網路資訊,系統啟動時讀取/etc/hosts #IP地址和主機名的映射檔/etc/services #網路服務定義檔/etc/resolv.conf #功能變數名稱伺服器設置檔/etc/rc.d/init.d/network #啟動或關閉網路腳本程式/etc/sysconfig/network-scripts/*#網路設備配置與控制腳本檔/etc/sysconfig/networking #系統網路配置基本目錄1./etc/sysconfig/network該檔用來指定伺服器上的網路配置資訊,包含了控制和網路有關的檔和守護程式的行為的參數。NETWORKING=yesHOSTNAME=localhostGATEWAY=542./etc/hosts/etc/hosts是將IP地址和主機名聯繫起來的簡單文本檔。hosts檔允許用戶將主機名與IP地址對應起來,便於訪問某電腦時使用機名,而不必使用IP。/etc/hosts的結構為:

ip_addrhostnamealias其中ip_addr為IP地址,hostname為主機名或功能變數名稱,alias為別名。3./etc/services/etc/services是服務和端口與協議對應檔,或者叫服務定義檔。其結構為:

servicename port/protocol alias其中servicename為服務名,port為服務使用端口,protocol為服務使用通信協議,alias為服務別名。4./etc/resolv.conf/etc/resolv.conf是功能變數名稱伺服器定義檔,它包含了主機的功能變數名稱搜索順序和DNS伺服器的地址,每一行應包含一個關鍵字和一個或多個的由空格隔開的參數。如果這個檔不存在或是空的,那麼系統就假設名字伺服器在本地的主機上。5./etc/rc.d/init.d/network/etc/rc.d/init.d/network是網路連接的啟動腳本。系統網路的啟動、關閉和重新啟動可分別由以下命令實現:/etc/rc.d/init.d/networkstart #啟動網路/etc/rc.d/init.d/networkstop #停止網路/etc/rc.d/init.d/networkrestart #重啟網路6./etc/sysconfig/network-scripts/*

網路介面配置檔和啟動腳本位於/etc/sysconfig/network-scripts/目錄中。網路介面配置檔的格式為:

ifcfg-interface其中interface為網路介面,例如,第一塊以太網卡的配置檔案名為ifcfg-eth0。

7./etc/sysconfig/networking/目錄目錄/etc/sysconfig/networking/為網路基本配置檔存放的位置。RedHat中不論採用何種配置工具,最終配置結果都將寫入/etc/sysconfig/networking/目錄或其子目錄內的某個檔內。比如/etc/hosts,/etc/resolv.conf和/etc/sysconfig/network等都是其中的硬鏈接或符號鏈接。9.3網路管理命令9.3.1ping9.3.2netstat9.3.3arp9.3.4hostname9.3.5route9.3.6ifconfig9.3.7ifup和ifdown9.3.8nslookup/host9.3.9traceroute9.3.1pingping命令用來檢測和遠程主機間的通訊連接是否正常。其原理是通過向對方發送一些小的數據包,並等待對方應答來確定兩臺電腦之間的網路是否連通。用法:

ping[option]hostname/ip

參數:-ccount:指定發送包的次數為count。默認無限次,可用Ctrl+C終止;-f:極限檢測,每秒鐘發送相當於網路處理能力的數據包;-iinterval:指定收發資訊的間隔秒數;-q:安靜模式,不顯示指令執行過程,開頭和結尾的相關資訊除外;-R:記錄路由過程;-spacketsize:設置數據包的大小;-tTTL:將“存活時間”字段設置成數值TTL的大小。9.3.2netstatnetstat主要用於顯示系統網路資訊,包括網路鏈接、路由表和網路介面通訊統計資訊等。通過這些資訊可以知道開啟的端口、正在為哪些用戶服務以及服務的狀態等。用法為:netstat[-veenNcCF][<Af>]–rnetstat[-vnNcaeol][<Socket>...]netstat{[-veenNac]-i|[-cnNe]-M|-s}[delay]netstat參數與示例參數:-a:顯示所有socket;-Af:顯示協議簇資訊,f可選值為inet,unix和ipx等;-i:顯示所有網路介面資訊;-n/-N:直接使用數字/符號方式,顯示網路連接資訊;-r:顯示核心路由表,格式同“route-e”;-s:協議通訊總量統計;-t:顯示TCP協議的連接情況;-l:顯示監聽socket的資訊;-u:顯示UDP協議的連接情況。示例:netstat-ta #顯示所有TCP端口netstat–i #顯示網路介面使用的統計資訊netstat–nr #顯示路由表9.3.3arparp用於管理內核緩存的內容。ARP緩存中包含一個或多個表,它們用於存儲IP地址及其經過解析的物理地址。用法為:arp[-v][-thwtype]-a[hostname]arp[-v][-thwtype]-shostnamehwaddrarp[-v]-dhostname[hostname...]參數:-n:以數值方式顯示主機資訊,默認為主機名;-a[host]:顯示指定主機資訊。若不指定則顯示所有的;-iIf:顯示與指定網卡相關聯的資訊。9.3.4hostname功能:顯示或設置主機名。用法:hostname[-v]{name|-Ffile} #(從檔file中)設置主機名hostname[-v] #顯示主機名hostname[-v][-d|-f|-s|-a|-i|-y|-n] #按指定格式顯示參數:-d:功能變數名稱;-a:別名;-i:IP地址;-s:短名。9.3.5routeroute工具主要功能是管理Linux系統內核中的路由表。它最大的用途就是用來設定靜態的路由表項,通常是在系統用ifconfig配置網路介面(例如網卡等)後,用它來增加、刪除或修改路由等。其用法為:route[-add][-net|-host]target[-netmaskNm][[dev]if]route[-del][-net|-host]target[gwGw][-netmaskNm][[dev]if]route[-CFnee]route參數-e:將產生包括路由表所有參數在內的大量資訊-n:數字地址形式顯示地址-net:路由到達的是一個網路-host:路由到達的是一臺主機-add:添加一條路由-del:刪除一條路由dev:強制路由與指定的設備關聯,否則內核自己會試圖檢測相應的設備netmask:為添加的路由指定網路掩碼target:配置目的網段或者主機gw:指定路由的網關例1.監視路由表內容:route例2.添加路由記錄:routeadd-netnetmaskdeveth0例3.刪除路由記錄routedel-netnetmaskdeveth0route示例9.3.6ifconfigifconfig的功能是管理網路介面,用於查看、配置、啟用或禁用網路介面。其用法為:

ifconfig[interface] ifconfiginterface[aftype]options|address…參數:參見表9-10ifconfig使用示例1.顯示網卡的配置資訊ifconfig #不帶參數運行ifconfig命令可以顯示所有網卡的配置資訊ifconfigeth0 #顯示指定網路介面資訊ifconfigeth0:12.啟動或停用網卡ifconfigeth0up/down #啟用/停用eth0網卡ifconfig使用示例3.設置網卡配置修改網卡設置ifconfigeth0netmask在指定網卡上增加一個IP地址ifconfigeth0:1up在指定網卡eth0上增加一個網路為地址,網路掩碼長度為26位的網路ifconfigeth0:2/26up9.3.7ifup和ifdownifup、ifdown與ifconfig一起位於目錄/sbin內,是兩個用於網路介面管理的腳本程式,它的直接作用是啟用和停用網卡。ifupeth0 #啟用網卡eth0ifdowneth0 #禁用網卡eth09.3.8nslookup/hostnslookup和host命令的功能是查詢一台網絡主機的IP地址或其對應的功能變數名稱,它通常需要一臺功能變數名稱伺服器來提供服務。其用法為:nslookup[功能變數名稱/IP地址]host[功能變數名稱/IP地址]9.3.9traceroutetraceroute是一個通用的TCP/IP工具,它能顯示出數據包從本地機到達目標機時經過的所有路由器。其基本用法為:traceroute[功能變數名稱/IP地址]9.4Linux系統的服務管理9.4.1網路服務與守候進程9.4.2守護進程工作原理9.4.3Linux系統服務配置9.4.4超級伺服器進程9.4.1網路服務與守候進程Linux系統可以提供的WWW、FTP以及DNS等各種網路服務,就是用守護進程實現的。守護進程(Daemon)是運行在後臺的一種特殊進程。它週期性地執行某種任務或等待處理某些將發生的事件。如果管理員設置了開機時自動啟動某個服務,這個服務的守護程式就會在開機時自動運行,時刻監聽客戶的請求,隨時為客戶提供服務。這類程式的特點是:除非主動退出或人為終止,否則它們會運行直至關機為止。9.4.2守護進程工作原理在C/S模式下,伺服器監聽(Listen)在一個特定的端口上等待客戶連接,連接成功後伺服器和客戶端通過端口進行數據通信。守護進程的工作就是打開一個端口,並且等待進入連接,如果客戶端產生一個連接請求,守護進程就創建一個子伺服器回應客戶連接,而主伺服器繼續監聽其他的服務請求。9.4.3Linux系統服務配置Linux提供了三種不同的守護進程管理工具:圖形介面、字元介面和命令方式,用戶可以根據具體需要而靈活運用之。1.圖形介面的管理工具圖形介面管理工具可通過以下方法啟動:在XWindow下,按以下步驟操作:“主菜單”→“系統設置”→“伺服器設置”→“服務”在X終端上輸入命令:redhat-config-services進入如圖9-7所示的“服務配置”窗口。然後參照介面提示進行配置。

圖9-7“服務配置”窗口

服務配置工具有以下三種功能:(1)立即啟動、停止、或重新啟動某項服務:從列表中選擇某項服務,然後點擊工具欄上的相應按鈕(或從“行動”菜單中選擇行動)。(2)系統啟動時自動運行某個服務:選中服務名旁的複選框,從“檔”中選擇“保存改變”功能,在系統下一次啟動時將會自動啟動該服務。(3)編輯系統運行級別:網路服務通常運行在第2、3、4、5級。選中某伺服器後可單擊“編輯運行級別”來改變其運行級別。2.字元介面的管理工具ntsysvntsysv工具用來啟動或停止服務,也可以用來配置運行級別。按照默認設置,只有當前運行級別會被配置。要配置不同的運行級別,需使用--level選項。例如,命令ntsysv--level345配置運行級別3、4和5。3.命令行介面的管理工具 用戶可以直接使用命令chkconfig和service在終端上或程式中直接對網路服務進行簡便的操作。

(1)chkconfig:用來檢查和設置系統的各種服務。

(2)service:用來改變網路服務的當前狀態,(1)chkconfig1)顯示所有服務啟動狀態

chkconfig--list顯示單個服務(xinetd)的啟動狀態

chkconfig--listxinetd chkconfig--list|grepxinetd2)改變服務的運行級別及啟動資訊:

chkconfig[--level<運行級>]<服務名><狀態>可選項狀態包括有on、off、reset。例如,要在運行級別3、4、5中停止nfs服務,使用下麵的命令:

chkconfig--level345nfsoff3)檢查指定服務在指定運行級別的狀態(碼),格式為:

chkconfig[--level#]<服務名>(2)service功能:用來改變網路服務的當前狀態,其格式為:

service服務名start|stop|restart例如: servicehttpdstart servicehttpdstop servicehttpdrestart9.4.4超級伺服器進程超級伺服器進程xinetd負責監聽它所管理的網路端口,在收到用戶請求時能根據用戶請求端口的不同,啟動不同的網路服務進程來處理客戶請求。在Linux系統中,如果要用xinetd啟動和管理某個服務,則需要使用以下配置檔:(1)/etc/xinetd.conf:控制xinetd程式運行的配置檔,該檔提供了所有服務的缺省配置。(2)/etc/xinetd.d/*:該目錄包括所有由xinetd程式啟動的服務的配置檔,每個服務都有自己單獨的配置檔,配置檔案名與服務名一致。配置或啟動下一個非獨立服務不能用service命令或圖形介面直接啟動一個非獨立服務。以telnet為例,啟動一個非獨立服務的方法是:首先將服務telnet的狀態設為onchkconfigtelneton然後,重新啟動xinetd服務servcexinetdrestart9.5網路應用常用命令介紹9.5.1telnet與ssh9.5.2ftp與tftp9.5.3mail9.5.4wget9.5.5talk、write與mesg9.5.6r-命令9.5.1telnet與sshtelnet和ssh是UNIX/Linux系統用於遠程登錄與訪問的客戶端工具軟體。它們的使用都需要相應網路服務的支持,對應的網路服務分別為telnet和sshd。1.telnet用戶使用telnet命令可以進行遠程登錄,當用戶通過網路成功在遠程系統上登錄後,就像在本地系統上一樣使用系統。命令的一般形式:telnet[主機名/IP地址]其中主機名或IP地址分別是要連接的遠程機的主機名或IP地址。2.sshtelnet是不安全的,因為它的傳輸過程是非加密的,現在較流行且安全的遠程登錄系統為ssh。ssh也像telnet一樣允許用戶在遠程系統上登錄並按許可權使用系統。它使用加密的方式來傳送所有數據,是rlogin和telnet等的安全替代品。該命令的一般應用形式為:ssh主機名/IP地址9.5.2ftp與tftpftp和tftp是網路間用於檔傳輸的基本工具。

1.ftpftp用途是檔傳輸,使用前提是用戶必須知道遠程電腦上的合法用戶名和口令,ftp也提供匿名登錄。其用法為:ftp[選項][主機名/IP地址]2.tftptftp是簡單檔傳輸檔工具程式,它不需要密碼和用戶驗證,因此它的使用受到很多限制。9.5.3mailmail是Linux系統中比較簡單的快速電子郵件用戶端軟體,它需要sendmail伺服器的支持。其用法為:mail[-ssubject][-caddress][-baddress]mail-f[mailbox]mail[-uuser]9.5.4wget功能:wget是一個Linux環境下用於從Internet上提取檔的工具,支持HTTP和FTP協議,也支持代理伺服器和中斷點續傳功能,並能夠自動遞歸遠程主機的目錄,找到合乎條件的檔並將其下載到本地。wget可用於成批量地下載Internet網站上的檔。用法為:wget[options][URLs]參數:-q:安靜方式;-r:遞歸方式;-c:中斷點繼傳。wget可用於成批量地下載Internet網站上的檔。wget示例下載單個檔wget/TechPlan/Linux_os.gz中斷點續傳wget-c/TechPlan/Linux_os.gz 下載一個目錄:wget-r/Linux_os_ppt/* 9.5.5talk、write與mesg1.mesgmesg命令控制系統中的其他用戶是否能夠向用戶所用的終端發送消息,受其影響的命令有wall,talk和write等。在缺省情況下,系統允許向終端寫入消息。不帶參數運行mesg命令,將顯示當前終端許可設置。其用法為:mesg[y|n]talktalk是Unix系統中用於用戶之間聊天或交流的工具。talk命令在每個用戶的終端上打開發送和接收窗口,用戶可在接收窗口接收對方發來資訊的同時,在發送窗口內向對方寫信息。talk使用的服務名為ntalk。talk命令的用法為:talkuser[tty]talkuser@hostttywritewrite命令用於向系統中某一個用戶每次一行地發送資訊,如果對方回答,也應使用write命令,此時可能會出現終端螢幕被打亂的情況。該命令的用法為:write用戶名[終端名稱][<file]9.5.6r-命令傳統的UNIX系統有一簇用於遠程訪問的命令,現在的Linux系統中還保留其中的部分,它們是rlogin(遠程登錄)、rsh(遠程shell)、rcp(遠程拷貝)等命令,因為都以字母r開頭,故稱r-命令。第八章設備管理設備管理概述常用設備及設備檔非即插即用設備的管理與驅動程式的安裝印表機的管理與使用串口的管理與使用交換區管理8.1設備管理概述設備管理是操作系統的主要功能之一。在電腦系統中,除了CPU和記憶體等外,其他的大部分硬體設備稱為外部設備。外設包括常用的I/O設備、外存設備以及終端設備等。這些設備種類繁多,特性各異,操作方式的也有很大區別。Linux系統支持即插即用,使設備管理簡單多了。8.1.1Linux系統支持的設備設備名

設備描述

設備名

設備描述

/dev/mouse

滑鼠設備

/dev/hdXY

IDE硬碟分區設備

/dev/cdrom

CDROM設備

/dev/sdX

SCSI硬碟設備

/dev/cdwriter

刻錄設備

/dev/sdXY

SCSI硬碟分區設備

/dev/scanner

掃描器

/dev/tty?

終端設備

/dev/null

空設備

/dev/ttyS*

串口通訊設備,用於MODEM

/dev/zero

0字元生成設備

/dev/console

主控臺,單用戶時使用

/dev/pts/#

偽終端設備,用於遠程登錄

/dev/lpX

並口設備,用於印表機

/dev/fdX*

軟驅設備

/dev/loopX

loopback設備,用於安裝映像檔

/dev/hdX

IDE硬碟設備,整個硬碟或光驅

8.1.2硬體流覽器按步驟“開始”→“系統工具”→“硬體流覽器”可以打開Linux的硬體流覽器。通過硬體流覽器可以流覽系統中正在使用的設備及屬性。事實上,在系統啟動的時候,程式“/usr/sbin/kudzu”對當前系統的配置資訊進行檢測和搜集,在此過程中將檢測的結果與配置檔/etc/sysconfig/hwconf的內容進行比較,若有變化,則給用戶提供配置或修改的機會。最後將資訊保存到系統硬體配置檔/etc/sysconfig/hwconf。8.1.3系統設置系統設置可通過兩途徑進行設置:“主菜單”→“系統設置子菜單”“桌面”→“從這裏開始”→“系統設置”通過系統的“系統設置子菜單”或Nautilus中的“系統設置”可以對系統的某些硬體或功能進行設置。用戶還可以使用setup命令對系統的部分設備進行設置。8.2非即插即用設備的管理

與驅動程式的安裝即插即用是一種硬體與軟體的結合,允許在一個支持即插即用的操作系統上自動配置相容的即插即用設備。所謂即插即用也不是不需要驅動程式,而是在系統中已經有相關硬體的驅動程式,當有符合條件的硬體被接入後,就會使用內核中的驅動程式驅動設備。Linux在內核配置時已經配置了大多流行硬體設備的驅動程式,這些驅動程式有的是以靜態方式直接配置在內核的,而有的是以可加載模組形式配置的,需要時動態加載。而對於那些內核中沒有配置驅動程式的硬體設備,則必須為它們配置驅動程式後才能使用。8.2.1驅動程式與安裝準備驅動程式是一些用於發現設備、檢測設備參數以及發送和接收數據的例程。當某驅動程式開始運作時,操作系統首先調用檢測例程以發現系統中安裝的設備。如果該設備是即插即用的,檢測例程將會自動檢測到各種參數,如果不是則需要在驅動程式運行前設置好相關的參數供驅動程式使用。一般來說設備都有廠家設置好的缺省配置參數,這些缺省參數在大多情況下是可行的,但也有衝突的時候,若遇這種情況且設備又不支持軟體動態設置,那麼你就要手工進行設置。驅動程式型式與系統內核Linux系統可以定制系統核心,因此把需要經常使用的功能加入核心,把不經常使用功能或驅動配置成可動態加裁模組。採用前者可以大大提高系統的效率。採用後者可以有效減少內核的大小,減少記憶體開銷,但同時也會做出了速度方面的犧牲。一個設備的驅動程式總是以某種軟體包的形式給出。當得到軟體包之後,應根據包的形式將其展開,然後根據其說明文件的要求進行安裝。設置驅動程式有兩種類型:二進位代碼和源代碼。二進位代碼一般是預先編譯好的可加載模組;源代碼可以編譯成可裝載模組,也可以編譯進核心。有了驅動程式,用戶可以選擇是把驅動程式加入到內核或把它配置成可動態加載的獨立模組。設備安裝前的準備在設備安裝前,需要有一定的準備工作。一般應包括:設備與連線和配件等,還應將需要連接的部分連接好,並接通電源;Linux系統的GNU開發工具包(包括編譯器、鏈接器和make工具等),內核開發源代碼等;驅動程式、設備安裝說明書及相關資料,從中以可查閱端口地址和中斷等。8.2.2將驅動程式編譯進核心若要把驅動程式編譯進內核,則可按照內核管理的方法來進行。首先,安裝驅動程式源代碼,並按照安裝說明要求在/usr/src/linux*/driver下創建一個指定目錄,並將驅動程式源代碼複製到該目錄下(參見/usr/src/linux*/Documentation/moxa-smartio.txt)。其次,修改設備配置參數。(不一定是必須的,必要時才做。)再次,運行命令makeconfig或makexconfig或makmconfig進行內核參數配置,將內核對新安裝設備的支持置為“y”後,退出配置程式。以後工作參照內核配置與參數調整部分進行。8.2.3將設備編譯成可加載模組(示例)以Intel®PRO/100SDesktopAdapter的網卡驅動程式來說明具體安裝過程。得到驅動程式包e100-3.5.17.tar.gz,將其解壓展開到目錄e100-3.5.17下,然後按以下步驟進行:(1)進入目錄e100-3.5.17,閱讀README檔查看安裝方法,必要時可閱讀src目錄下Makefile檔,查看安裝過程所做的工作。(2)進入目錄src,然後執行命令makeinstall將源代碼編譯為可獨立加載的目標模組e100.o,然後將其安裝在/lib/modules/<kernel_version>/kernel/drivers/net/e100/目錄下。(3)執行以下命令加載模組modprobee100 或insmode100為了使系統啟動時能在合適的時間加載此模組,還應在模組加載配置檔/etc/modules.conf或/etc/modprobe.conf內增加如下一行:aliaseth0e100

8.3印表機的管理與使用Linux系統使用的CUPS(CommonUNIXPrintingSystem)作為默認的印表機管理程式。CUPS提供了強大的印表機管理功能,可在各種常用的UNIX版本中使用,它能夠支持大多數的常用型號印表機。在現行的RedHatLinux系統的發佈盤上帶有CUPS系統軟體包,用戶可在系統安裝時選擇安裝,也可在安裝之後的系統擴充時安裝。8.3.1cups的安裝可用軟體管理命令rpm來檢查CUPS系統是否已經安裝。方法是:rpm-qa|grepcupscups-1.1.17-13cups-libs-1.1.17-13cups-devel-1.1.17-13輸出說明已經安裝。若沒有安裝,可利用軟體管理的辦法安裝。8.3.2印表機安裝與配置cups軟體包被安裝以後還必須對打印機進行安裝和配置才能使用。首先將印表機連接到系統,打開電源,然後以下方式進入印表機設置程式:“開始”→“系統設置”→“印表機/Printing”或redhat-config-printer或setup->printerconfiguration(TUI或CUI)之後按提示進行操作。包括添加、刪除、修改和設為默認等。8.3.3cups系統的啟動cups是獨立服務,在服務配置成功後,系統啟動時將自動被啟動來為用戶提供服務。管理方法為:1.cups啟動管理servicecupsstart|restart|stop“主菜單”→“系統設置”→“服務”→“cups”→“開始”|“重啟”|“停止”2.配置系統啟動時cups自動啟動chkconfig--level2345cupsonntsysv→選中cups→確定“主菜單”→“系統設置”→“服務”→“cups”→“[檔]保存”→“退出”8.3.4印表機使用1.圖形介面在桌面系統中,用戶可通過以下方法使用印表機(類似Windows系統):在應用程式中,按順序選擇:“檔”->“列印”將文檔拖放進“印表機”2.字元介面字元方式下用於檔列印的命令是lp,lpr。印表機使用命令lp功能:列印檔用法:lp[-ddest_printer][-hserver_name][-ncopies][-Ppage_lists][files]參數:-ddest_printer:指定印表機,若不指定則使用默認的-hserver_name:指定印表機位置或伺服器,默認為本機-ncopies:指定列印份數,若不指定則只列印1份-Ppage_lists:指定檔的列印範圍,若不指定則為全部文檔。指定時可使用頁號或頁範圍,例如:1,4-6,10files:指定列印的檔,若不指定則使用標準輸入lp使用示例lpmyp.c #列印檔myp.cls–l/tmp|lp #列印目錄/tmp的列表lpfile.cfile2.txt #列印多個檔pr-nsh.c|lp #列印pr加工過的資訊#pr以檔案名為標題,並添加行號後分頁列印印表機使用命令lpr功能:列印檔常用方法:lpr[-Pdest_printer][-#copies][files]參數:files:列印的檔;-Pdest_printer:指定印表機,若不指定則為默認;-#copies:指定列印份數。8.3.5印表機管理1.圖形介面按步驟“開始”→“系統工具”→“印表機管理/PrintManager”進入印表機管理介面(如圖8-10)。雙擊打印機圖示,出現如圖8-11所示的印表機任務管理介面,用戶可以選中某個列印任務,擊右滑鼠鍵,而刪除之。2.字元介面在字元介面下,可通過lpstat、cancel和lprm等命令對打印佇列進行管理。說明:在不同Unix系統中,對打印機的管理可能有不同的命令。(1)列印佇列查詢(lpstat)功能:列印佇列查詢用法:lpstat[-a[printers]][-d][-l][-o[printers]][-p[printers]][-r][-s][-t][-u[users]][-v[printers]參數:-a[printers]:顯示指定印表機接收狀態,默認所有印表機-d:顯示默認印表機-l:顯示印表機、佇列等列表-o[printers]:顯示指定印表機上的作業佇列。若不指定則顯示所有佇列-p[printers]:顯示指定印表機是否啟動,默認所有印表機-r:顯示cups服務是否啟動-s:顯示印表機狀態綜合統計資訊-t:顯示所有狀態資訊-u[users]:顯示指定用戶的作業佇列,默認當前用戶-v[printers]:顯示指定印表機所使用的設備檔(2)取消列印任務(cancel,lprm)功能:取消列印任務常用方法:cancel[-a]lp_job…lprmlp_job_num…參數:-a:撤銷所有列印作業說明:cancel使用的是列印作業名,比如pr-12;lprm使用的是列印作業編號,比如12。作業管理示例首先顯示列印佇列lpstat–olp-4root......lp-5gjshao......#刪除列印作業lp-5lp-4cancellp-5lp-4 或lprm54#取消所有列印作業cancel-a8.3.6cups的配置檔1.伺服器配置檔/etc/cupsd.conf:通過該檔可以對cups服務進行配置。檔中的除空行和注釋行的每一行是一個配置命令,使用mancupsd.conf命令可以查閱配置檔中各參數的意義。2.客戶端配置檔/etc/cups/client.conf:通過該檔可以配置客戶端參數,比如默認默認伺服器和加密設置等。3.印表機配置檔/etc/cups/printer.conf:用於定義cups服務所管理的印表機,包括印表機位置和狀態等,可以使用命令manprinters.conf查閱之。4.類配置檔/etc/classes.conf:其中定義了本地可用印表機的類,內容包括接收狀態和位置等,可以通過manclasses.conf閱讀之。8.4串口的管理與使用串行通訊口(SerialCommunicationPort,簡稱串口)在電腦和操作系統的發展過程中起了至關重要的作用,在以太等高速網卡出現之前,大多的聯網或通信工作都是由串口完成的。隨著電腦技術的發展,現在很多微機都不配置串口了,串口應用越來越顯得不那麼重要了,但事實上串口還在電腦通訊中起著一定作用。Linux系統中,串口支持的網路通訊協議有PPP和SLIP等。8.4.1Linux系統的串口設備在DOS/Windows系統使用的串口時所使用的設備名稱為COM1:,COM2:,COM3:,COM4:等,而在Linux系統中所對應的設備名稱依次為:ttyS0、ttyS1、ttyS2和ttys3。它們的命名方式為:8.4.2串口的管理命令setserialminicom8.5交換區管理幾乎所有多任務系統都需要交換區,用於對內存的擴充。由於物理記憶體的容量是有限,而裝入的程式是隨機的,記憶體可能不能全部裝入所有正在運行的程式。系統往往是將那些正在運行的程式放在記憶體,而將那些處於就緒或等待的進程放到外存交換區上。所有的UNIX/Linux系統,都有對交換區swap的要求。交換區的大小是物理記憶體的1.5-2.5倍。交換區由操作系統自動管理,一般不需要用戶或管理員進行過多的干預。但系統管理人員可通過特殊命令對它進行一定範圍的控制或配置。用於交換設備管理的命令有mkswap,swapon,swapoff等。1.mkswap功能:是在設備或普通檔上創建交換區。用法:mkswap[-c][-v0|-v1][-pPAGESZ]swap_name[blocks]參數:swap_name:為檔案名,可是設備或普通檔;-c:用於在創建時做壞塊檢查;blocks:用於指定大小,一般不指定;其他參數可與忽略。說明:若在某個設備上構造交換區,則設備將作為裸設備使用,其上的檔系統將被破壞。2.swapon功能啟用由mkswap創建的交換區。用法:swapon[-aes][-p<優先順序>]swap_name參數:swap_name:由mkswap創建的交換設備檔-a:/etc/fstab檔內的所有交換設備-s:顯示系統交換設備的使用情況-p<優先順序>:設置優先順序(0~32767)3swapoff功能:卸載交換區常用方法:swapoff[-a]special...參數-a:/etc/fstab檔內的所有交換設備8.5.2使用交換設備交換設備的使用方法是:首先使用mkswap命令在獨立分區上創建交換區。然後再使用swapon命令啟動它。如果要讓系統在啟動時自動啟用交換區,則需在檔/etc/fstab中增加一行對交換區管理的內容。交換設備使用示例設有一個獨立分區/dev/sda9,要將它用作系統的交換設備,可按以下步驟進行:1.創建交換區mkswap-c/dev/sda92.啟動交換區swapon/dev/sda93.在檔/etc/fstab中增加如下行:/dev/sda9 none swap defaults008.5.3使用交換檔當外存上無獨立分區時,也可使用檔作為交換設備。交換設備檔必須是一個物理上連續存儲的檔。使用交換檔作為交換區時,也必須首先創建一個檔。由於檔連續性要求,不能使用cp命令,但可使用dd完成連續檔創建工作。交換檔使用示例1.創建連續檔:(20M,名字為/dev/swap_add)ddif=/dev/zeroof=/dev/swap_addbs=1Mcount=202.構造交換設備mkswap/dev/swap_add204803.啟動它供系統使用swapon/dev/swap_add第二章Linux系統入門本章主要內容:系統的開啟與關閉圖形和字元介面及其切換用戶登錄與註銷Linux系統的圖形介面介紹OpenO辦公套件Linux系統的線上幫助與資源2.1Linux系統的開機

2.1.1Linux系統的開機2.1.2Linux系統的兩種操作介面及切換2.1.1Linux系統的開機首先讀取硬碟的第一個Cylinder上的第一個Sector(即MBR),然後將它載入記憶體並予以執行,在它的控制下啟動Grub。Grub(GrandUnifiedBootloader)是一個多重啟動管理器,它可以引導很多PC上常用的操作系統,其中就有Linux。在用戶選擇Linux後,進入Linux系統真正引導過程,裝入系統內核。內核啟動之後,啟動名為init進程,其進程號為1,在此進程的控制下系統繼續引導。啟動完成後進入用戶登錄介面。若系統安裝有自動啟動圖形介面,則系統啟動完成後,停留在圖形登錄介面,否則停留在字元介面,等待用戶登錄。2.1.2Linux系統的兩種操作介面及切換Linux系統安裝過程中,為用戶準備了1個圖形介面(X-Window)和6個字元介面。6個字元介面分別位於F1~F6上,而圖形介面位於F7上。不同Unix版本可能不同。從圖形介面向字元介面切換可以通過組合鍵Ctrl+Alt+Fn(n=1,2,…,6)。從字元介面向圖形介面切換可以通過組合鍵Ctrl+Alt+F7來實現。從字元介面切換到字元介面,可能通過Alt+Fn來實現。2.2Linux系統的登錄與註銷

登錄實際上是用戶向系統做自我介紹,又稱認證。此時需要輸入系統已經註冊過的用戶名和用戶密碼,如果用戶名或密碼不正確,將不允許進入系統。用戶名也叫帳號,密碼也稱為口令。

root用戶是系統的維護者和管理者,它具有至高無上的權力,可以做一切事情,因此在UNIX/Linux系統中root也叫作超級用戶或根用戶。root可以通過用戶管理命令創建新的用戶,並分配它適當的許可權。當用戶使用完系統或暫離開操作位置時,應該即時註銷,需要時重新進入,但是註銷不等於關機或關閉系統。系統註銷是安全的需要,可能防止別有用心的人見縫插針伏案,是制度需要。2.2.1Linux系統的登錄1.圖形介面登錄2.字元介面登錄2.2.2註銷1.圖形介面2.字元介面Ctrl+Dexitlogout

2.3Linux系統的關閉與重啟動

UNIX/Linux採用了非同步寫和延遲寫機制,大部分數據操作都在緩衝區內進行,並沒有即時的寫入設備,如果強行關機會導致數據丟失,重者可引起系統癱瘓。在切斷電腦電源之前請首先關閉Linux系統,決不能斷電了事。Linux系統關閉可以在字元或圖形介面下進行。

2.3Linux系統的關閉與重啟動2.3.1字元介面2.3.2圖形介面2.3.1字元介面1.halt命令2.reboot3.init/telinit4.shutdown1.halt命令功能:關機用法:halt[-n][-w][-d][-f][-i][-p]

參數:-f:不調用shutdown而強制關機或重啟-p:關閉系統時關掉電源-i:關機(或重啟)前,關掉所有的網路介面-n:用在fsck修補根分區之後,以阻止內核用老版本的超級塊2.reboot命令功能:重啟系統用法:與halt同它參數:與halt同說明:參數與halt也基本相同,由於需要重新啟動,故不能使用-p參數。3.init和telinit命令功能:系統初始化或運行級切換用法:initrunleveltelinitrunlevel示例:init0#關機init6#重新啟動

RedHatLinux9的運行級

0:關閉系統;1:單用戶模式;2:多用戶使用模式,但沒有NFS功能;3:完全多用戶模式;4:沒有使用(為用戶保留);5:完全多用戶模式,且支持X-Windows(默認運行級);6:重新啟動。

4.shutdown命令功能:系統關閉用法:shutdown[-krhfFc][-tsecs]time[warn_msg]示例:-tsec:發送通知資訊時間間隔(單位為秒)-r:重啟電腦 -h:關機後關閉電源-k:並不真正關機,只是送警告信號給每位用戶-c:取消目前正在執行的關機程式。此選項不需時間參數,但是可以輸入一個資訊,以送給每個用戶-f:在重啟系統時忽略fsck -F:在重啟系統時強迫fscktime:設定關機時間。絕對時間hh:mm,比如1:20相對時間(單位為分),比如+10表示10分鐘後,+0表示nowwarn_msg:通知資訊。可以使用引號將資訊引起來shutdown示例shutdown-rnow

#立刻重新啟動shutdown-hnow

#立刻關機shutdown-know”Hey!Let’sgonow.”

#發出警告訊息,但沒有真的關機shutdown-h10:42”10:42將關閉系統,請屆時退出”

#10:42分關機shutdown-r+10’10分鐘後將重啟系統,請屆時退出’

#10分鐘後重啟系統shutdown-c

#撤銷已下達的shutdown命令。注:必須在其他終端才能使用此命令shutdownnow

#切換至單用戶模式(不加任何選項時)

2.3.2圖形介面用戶可以通過“主菜單”→“註銷”→“註銷對話框”,選擇“關閉”或“重新啟動”,然後點擊“確認”按鈕來完成系統關閉或重新啟動。

2.4Linux系統的圖形介面介紹

圖形介面(X-Window)就是在Linux操作系統中提供圖形化用戶介面(GUI),支持的視窗系統(WindowSystem),也被稱為X。

X-Window的工作方式跟MicrosoftWindows有著本質的不同:MSWindows的圖形支持是內核級的,而Linux的X-Window則是應用程式級的。X-Window的一個主要的特性就是它採用了“客戶端-伺服器”模式。其組成由X伺服器(XServer,類似於一般C/S模式中的Server)、X客戶端(XClient,類似於一般C/S模式中的Client)和通訊通道(Comunicationchannel)三部分組成,Server和Client可位於同一臺主機上,也可獨立地位於同網路上的不同主機上。

2.4.1桌面桌面環境就是包括窗口管理器、面板、桌面、以及一整套應用程式和系統工具在內的套件。

Linux環境下廣泛使用的桌面環境是GNOME和KDE。RedHatLinux使用的默認桌面環境是GNOME。GNOME包括一個面板、桌面、一系列的桌面工具和應用程式以及一系列的協議。

桌面組成1.GNOME的面板

2.GNOME的桌面

3.使用任務欄

4.使用通知區域5.在面板上添加圖示或小程式6.配置桌面面板7.使用Nautilus8.從這裏開始9.KDE桌面介紹2.4.2開始菜單用戶可以通過點擊GNOME/KDE上的“主菜單”按鈕來打開主菜單。通過該菜單允許用戶使用系統的應用程式。除了當前菜單推薦的應用程式以外,還可以通過級聯菜單啟動每個子菜單中的程式。從“主菜單”中,用戶還可以“註銷”、“行運程式”、“查找檔”、“鎖住螢幕”(這會運行用口令保護的螢幕保護程式),也可以獲得幫助。2.4.3終端仿真器可以通過“主菜單”→“系統工具”→“終端”來打開一個新的終端仿真器;也可以通過右擊桌面選擇“桌面菜單”的“新建終端”來打開一個新的終端仿真器。

2.5OpenO辦公套件

OpenO套件包含幾個用來創建和編輯文檔的應用程式、電子錶格、商業演示文稿和藝術作品。

應用程式檔相容性文檔類型OpenOWriter.sxw,.sdw,.doc,.rtf,.txt,.htm/.html正式公函、商業表格、學術論文、簡歷、新聞簡報、報告OpenOCalc.sxc,.dbf,.xls,.sdc,.slk,.csv,.htm/.html電子錶格、圖表、表格、人事通訊錄、地址簿、收據和帳單、預算、簡單資料庫OpenOImpress.sxi,.ppt,.sxd,.sdd商業和學術演示文稿、萬維網演示、演講、幻燈片放映OpenODraw.sxd,.sda;檔可以被導出到好幾種圖像格式,包括:.jpg,.bmp,.gif,和

.png圖示、線條繪圖、剪貼圖片、機構圖表2.6Linux系統的線上幫助與資源

man是傳統UNIX系統的線上手冊頁,通過它用戶可以獲得線上幫助。textinfoyelpLinux系統的其他幫助和資源

2.6.1man功能:man是傳統UNIX系統的線上手冊頁,通過它用戶可以獲得線上幫助。用法:man[-adfhktwW][sec][-Mpath][-Ppager][-Slist][-msystem][-pstr]name…常用格式:man[-afhw][sec]name…man命令的常用格式為:sec:指定章節name:指定幫助的內容-a:對所有與name相關的內容進行幫助-f:列與name相關的專案的描述資訊,作用與whatis相同(關於whatis的內容略)-w:顯示手冊頁的位置手冊頁的組織

1:普通用戶指令手冊 6:遊戲2:系統調用手冊 7:協議轉換和雜項3:程式庫說明 8:系統指令4:設備說明 9:內核5:檔格式 n:新增部分man的功能鍵Home:首頁End:尾頁Space|PgDn:下翻一頁Enter:下翻一行/|?string:查找字串b|PgUp:上翻一頁n|N:繼續查找q:退出2.6.2textinfo和man相比textinfo具有更好的交互功能。它支持鏈接跳轉功能。通常使用info和pinfo命令來閱讀textinfo文檔。info系統是一個超文本系統。任何高亮度顯示的文字都有一個鏈接導向資訊。使用“Tab”將游標移到鏈接,並按“Enter”進入鏈接。按“p”返回上一頁,“n”翻到下一頁,而“u”回到文檔的上一層,“q”退出info。pinfo相容info的功能,並且支持彩色鏈接文本,滑鼠選定支持等功能。其用法與info基本相同。

2.6.3yelp在GNOME桌面環境下提供有專門的幫助流覽器yelp,通過yelp不僅可以在圖形環境查看手冊頁和texinfo幫助文檔,還可以流覽GNOME桌面本身的聯機幫助文檔。運行yelp的方法是:在GNOME主選單上選擇“幫助”子選單項,或在GNOME圖形環境下打開一個終端輸入yelp。2.6Linux系統的其他線上幫助與資源1.軟體包專案文檔2.HOWTO或miniHOWTO3.RedHatlinux9的手冊頁4.LDP文檔

第六章進程與任務或作業管理

程式、進程、作業和任務的概念Linux操作系統的啟動過程進程狀態及轉換進程調度、信號與軟中斷suid、sgid和sticky屬性進程調度命令作業和任務管理圖形介面下的進程管理6.1程式和進程的概念

操作系統的重要任務之一是使用戶充分、有效地利用系統資源,也就是在系統資源一定或有限的情況下,要同時執行更多程式,高效率地完成更多的任務。進程、作業和任務調度是操作系統的重要任務之一。本章的主要內容是從系統的外部來觀察系統中與進程(process)和作業(job)或任務(task)相關的行為,並實施某些控制讓系統工作的更好,或按照用戶的意圖來完成指定工作。

6.1.1程式、進程、作業和任務

程式(program)是一個存儲在存儲介質上的檔。

進程(proccess)是一個程式的執行過程。作業(job)或任務(task)是用戶需要電腦完成某項任務時要求電腦所做工作的集合,一個作業可能需要幾個程式聯合完成。作業和進程主要的區別與關係如下:作業是用戶向電腦提交的任務實體;一個進程是作業或任務的某個執行過程;一個作業可由多個進程組成。

6.1.2三類進程

前臺進程:是指用戶直接控制的用於完成某個任務的進程,因此也叫終端互動式進程。它從標準輸入讀數據,向標準輸出寫數據,將錯誤資訊輸出到標準錯誤。也可以是用戶直接交互控制的完成某種功能的程式。後臺進程是指在系統後臺運行的、不與用戶交互進程。前臺的進程也可放在後臺運行,這時可能要用到輸入輸出的重定向。守候進程也叫伺服器或精靈進程,它是後臺進程的一種。

批處理進程是用戶按照某種意圖將一批作業和任務通過編程的方法提交給系統,讓系統在某個合適的時間來調度和執行的進程。批處理進程是在某個shell程式的控制下解釋執行的。

6.1.3Linux操作系統的啟動

Linux的啟動是通過加電和系統自檢後,將主引導程式MBR裝入記憶體並把控制權交給它。在MBR的控制下裝入Linux的引導程式LBR並把控制權交給它。在LBR的控制下系統繼續引導,核心裝入記憶體。系統開始進一步的初始化過程:首先初始化系統內部數據結構(比如構造空閒緩衝區、初始化區表結構、頁表項等),然後將根檔系統安裝到根“/”下,並創建系統的0#進程、設置它的運行環境。至此內核啟動完成。接著繼續創建1#進程,然後由1#進程做進一步的初始化工作。

Linux操作系統的啟動(續)1#進程繼續初始化過程,按照/etc/inittab檔的內容和規定啟動服務、管理進程,為每個終端生成一個子進程,等待用戶在終端上註冊,至此啟動過程完畢。

6.1.40#進程與1#進程

在UNIX系統中0#進程是唯一只在核心態下執行的進程。它的功能有三:調度分配處理機;負責進程交換;初始化時創建1#進程。在Linux系統中,0#進程在創建出1#進程後,變成了空閒進程(Idler),當系統中沒有其他進程就緒時運行。

1#(init)進程是系統啟動時創建的創建進程的進程。它的主要作用是根據/etc/inittab的內容創建系統運行所需的進程。系統初始化完成後,1#進程了變成回收進程,專門領養沒有父進程的孤兒進程或回收狀態為ZOMBIE的僵屍進程。

Linux的進程樹0#進程創建了1#進程,它是1#進程的父進程。1#進程在系統啟動過程中創建了系統所需要的其他進程。而子進程又可創建屬

温馨提示

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

评论

0/150

提交评论