DIGITAL UNIX

DIGITAL UNIX

DIGITAL UNIX系統核心是一個支持多CPU進行分散式并行處理的可擴展系統核心。系統核心提供基本的操作系統服務,它支持CPU的使用規劃,虛存管理以及進程間通訊。

概述


一、系統管理員的職責
1.安裝和配置系統
2.打開和關閉系統
3.控制用戶訪問系統
·增加信用戶
·修改或刪除賬號
·維護系統的保密級別
4.管理磁碟空間
·維護文件系統
·檢查磁碟的使用情況
·建立磁碟限額
5.備份文件系統
6.監控和調試系統

配置核心


一、核心及核心子系統
1.核心
UNIX系統核心是一個支持多CPU進行分散式并行處理的可擴展系統核心。系統核心提供基本的操作系統服務,它支持CPU的使用規劃,虛存管理以及進程間通訊。
2.核心子系統
核心子系統是一些內核模塊,提供中心核心以外的擴展核心服務。核心子系統包括文件系統,網路協議服務,物理和模擬設備驅動程序,S TREAMS驅動程序和各類模塊。
二、配置核心
配置核心就是核心根據系統配置文件巴核心子系統與核心連接起來。
1.配置策略
/傳統方式:修改系統配置文件。用doconfig命令重配核心。
靜態配置<
\自動安裝方式:當層次產品安裝到系統中時,使用kreg命令可以把這個層次產品紀錄到/usr/sys/conf/.product.list文件中,核心工具根據該文件把層次產品加到核心中去。
動態配置 動態安裝子系統
2.系統配置文件
用於配置核心。
系統配置文件有:
·/usr/sys/conf/NAME
定義了系統做到核心中的功能。核心子系統(文件系統,網路協議,設備及虛擬設備驅動,STREAMS驅動等)都可以在配置文件中加以定義。
·/usr/sys/conf/NAME.list
·/usr/sys/conf/.product.list
這兩個文件是配置文件的擴展,包含了層次產品的核心選項,即存儲了關於第三方廠商的靜態子系統的信息。這兩個文件格式相同。
·/usr/sys/NAME/param.c
·/usr/sys/conf/param.c
包含了一些系統參數的預設值。要修改系統預設參數,編輯/usr/sys/conf/param.c文件即可。
·/etc/rc.config
包含了建立子系統的配置參數。
3.配置核心
何時配置核心:
·添加設備后
·修改了系統配置后
文件/usr/sys/GENERIC
/genvmunix
·自動配置核心
·手工建立核心

層次結構


______________________________
| ________應用程序________ |
| | ______shell_______ | |
| | | ____核心____ | | |
| | | |設備驅動程序| | | |
| | | | ______ | | | |
| | | | | 硬體 | | | | |
__|__|__|__|__|______|__|__|__|__|__
UNIX 操作系統主要由下列部分組成:
1.設備驅動程序
與外部設備通訊的專用軟體
2.核心
操作系統的主要部分,負責控制系統資源。他是可執行文件/vmunix。
3.其它使用程序和程序。

系統監視


·了解你的用戶環境
·你所運行的應用程序
·應用程序涉及到的各個子系統
一、初步監視工具
1、ps
顯示系統各個進程的狀態,包括進程如何使用cpu和虛存信息。
# ps aux
%cpu 佔用cpu的百分比
%MEM 使用實際存儲器的百分比
VSZ 進程使用虛存的地址大小,也就是分配給進程的虛存數量
RSS 進程的真實存儲器(定位集)大小,這是虛頁映像的物理存儲器的總量(應用程序實際使用的存儲器數量)
S 進程的狀態。
R 運行態
U 步中斷眠態
S 睡眠態
I 閑置態
T 暫停態
H 停止態
W 進程能交換出去
>; 進程超過了存儲器要求極限
+ 是控制終端的進程組中的頭進程
N 優先順序降低了
< 優先順序升高了
TIME 當前CPU使用時間
2、vmstat
顯示關於進程的線程、虛擬存儲器、中斷以及某個特定的時間內CPU的使用情況的信息。
# vmstat 1
虛存信息:act 活動頁的數量
free 位於自由頁列表中頁的數量
wire 束縛頁的數量
總和=物理存儲器
如果free值<100,就可能有虛存問題,<128,交換將會發生。
pout 被交換出去的頁的數量
中斷信息:in 每秒非時鐘中斷的次數
sy 每秒系統調用的數量
cs 每秒任務和線程內容變化的數量
CPU使用信息:us 常規和優先進程佔用事件的百分比
sy 系統運行事件的百分比
id 閑置時間的百分比
3、swapon
顯示交換空間配置和加交換空間
# swapon -s
# swapon -a /dev/rz1b
4、iostat
監視磁碟空間。該命令紀錄了終端、磁碟以及CPU的I/O的統計數據。
對於每個磁碟: bps 每秒轉換的直接(千位元組)數
tps 每秒轉換的次數
對於系統:
/us 在預設優先順序
用戶狀態運行進程所花的時間的百分比< 或高優先順序
\ni 在低優先順序
sy 系統態
id 空閑態
# netstat -i 顯示輸入錯誤、輸出錯誤、衝突
# netstat -is 查明上述例子中輸入和輸出錯誤的原因
6、sysconfig
監視系統參數。
# sysconfig -s 顯示所有子系統
# sysconfig -q 子系統 顯示指定子系統有關的所有屬性值

系統的引導及關閉


一、控制台上的一些參數和命令
控制台命令提示符:>;>;>;
1.主要控制台參數
auto_action 設置機器自檢后處於何種狀態。可取halt或boot
boot_osflags 設置引導時進入單用戶或多用戶方式。可取s或a
bootdef_dev 設置預設引導設備。
ewa0_mode 設置網卡走哪種介質。可取twi,aut,fast等。
2.常用的控制台命令
set
show
boot
help
二、運行級的概念
系統的運行級也就是系統所處的運行狀態。UNIX系統可以在不同的狀態下運行。以完成不同的工作。Digital UNIX支持的運行級有:
0級 停機方式
s或S級 單用戶方式
2級 無網路功能的多用戶方式
3級 有網路功能的多用戶方式
三、系統的引導過程
______________
| 把核心裝入 |
|__內存________|
|
_____\|/______
|__初始化核心__| __________
| | |
_____\|/______ | _____\|/______
| 檢查硬體配 | | | 執行初始化 |
|__置__________| | |__腳本文件____|
| | |
____________ _____\|/______ | _____\|/______
| 手動啟動 |<_____| 創建系統進 |__| | 進入多用戶 |
|____________| |__程__________| |__操作方式____|

引導過程


分為七個階段:
1.把核心裝入內存
(1)控台軟體裝入0號邏輯塊(引導塊)
(2)引導塊從1-15號邏輯塊中讀取第一引導程序碼
(3)第一引導程序裝入第二引導程序/osfboot
(4)第二引導程序獲取引導方式、引導設備等,裝入指定核心。
2.初始化核心
(1)檢查在裝入核心后還剩多少內存空間
(2)為緩存區和內部靜態表保留內存空間
(3)建立頁表和啟動存儲管理
(4)啟動0號進程和其他系統進程
(5)初始化緩存區
3.檢查硬體設備
4.創建系統進程
(1)0號進程(核心任務)
由許多線程組成,完成諸如葉面的調入和調出,作業映像的換入和換出,調度以及提供設備中斷服務和核心空閑服務。
(2)1號進程(init)
這是所有用戶進程的父進程,為每台終端產生出一個login進程。init進程也負責單用戶-多用戶的轉換。
(3)2號進程(設備服務程序)
處理緩存區的管理。
(4)3號進程(異常處理程序)
同步等待異常信息並把它轉換成UNIX信號。
5.單用戶方式
6.執行初始化腳本文件
在這個過程中,init進程讀取/etc/inittab文件中的內容,並執行相應運行級的rc腳本文件。
rc*腳本完成的任務有:
(1)設置系統名字
(2)用fsck命令檢查磁碟
(3)安裝列在/etc/fstab山的文件系統
(4)刪除/tmp目錄的文件
(5)通知核心另一個Swap分區
(6)啟動守護程序和網路服務
(7)打開系統賬號和磁碟限額
(8)配置網路介面
(9)允許登錄
7.進入多用戶方式

初始化文件和目錄


1./etc/inittab
文件格式:
標識符:運行級:運行條件:命令
(1)標識符
他是每一行的標誌。這個域最多14個字元
(2)運行級
它定義了這一行命令在哪個運行級執行。這個域最多20個字元。
(3)運行條件
這個與最多20個字元。init通過運行條件來決定如何對待後面的進程。這個域可以取以下值:
respawn 如果這個進程不存在或終止,則init重新啟動它。如果進程已經存在,則繼續掃描inittab文件。
wait 如果系統正在進入與本項匹配的運行級,這啟動該進程,並等待進程終止。以後在此掃描inittab文件時,如不改變運行級,本項將被忽略。
bootwait init只在系統啟動時才被處理。當該項的進程終止,init不再啟動它。
initdefault 系統啟動時init處理此項,通過這一項來決定進入哪一個運行級。如果本項中運行級一欄為空,則系統選擇運行級中最高的狀態來運行。如果根本沒有此項,那麼系統在引導時會要求管理員輸入運行級。
(4)命令
標出所要運行的shell命令。每一行可以用\換行。這個域最多1024個位元組。
2./etc/securettys
3./sbin/bcheckrc
檢查和裝載文件系統的命令文件
4./sbin/rc0,/sbin/rc2,/sbin/rc3
用於控制進入0,s,2或3運行級的主要腳本文件(是sh程序)
5./sbin/rc0.d,/sbin/rc2.d,/sbin/rc3.d目錄
/sbin/rc0腳本運行/sbin/rc0.d目錄里的命令或程序
/sbin/rc2腳本運行/sbin/rc2.d目錄里的命令或程序
/sbin/rc3腳本運行/sbin/rc3.d目錄里的命令或程序
6./sbin/init.d目錄
7./etc/rc.config
該文件包含系統配置參數。/sbin/init.d目錄中的命令文件用這些參數配置不同的子系統。這個文件中的參數可以用rcmgr命令顯示或設置。
8./usr/sbin/getty
用於設置和管理終端的可執行文件。
9./etc/gettydefs
該文件用於定義終端屬性,由/usr/sbin/getty讀取。
10./var/spool/cron/contabs
該目錄包含了定義定期執行進程的文件,這些文件分別屬於不同的用戶。
11./var/spool/cron/atjobs
該目錄包含了定義執行一次特別進程的文件。

關閉和重新啟動系統


UNIX提供了幾種關閉系統的方法:
·shutdown命令
命令格式:shutdown 參數 time (警告信息)
·halt命令
·init命令
1.在多用戶方式下關閉系統
shutdown -h now
shutdown
shutdown -r
2.在單用戶方式下關閉系統
# sync
# sync
# halt
3.其他關機和重啟動命令
init
reboot
第四章 添加設備
設備驅動程序是硬體設備的軟體介面
_______________________________
__|塊設備驅動程序 |
| | |
| |以塊為單位進行輸入輸出操作。 |
______________ | |它使用核心支持的塊緩存器進行 |
|_設備驅動程序_|___| |讀取。磁碟和磁帶機是典型的塊 |
| |設備。_________________________|
|
| _______________________________
|__|字元設備驅動程序 |
| |
|分為輸入和輸出兩類。不使用緩 |
|存區進行I/O操作。印表機、鍵盤、|
|顯示器等是字元設備。___________|
_______________________________
__|傳統靜態設備驅動程序—— |
| | |
| |Digital公司的硬體設備 |
| | |
| |用MAKEDEV命令建設備文件。 |
| |_______________________________|
______________ | _______________________________
|_設備驅動程序_|___|__|自動靜態設備驅動程序—— |
| | |
| |第三方廠商的硬體設備 |
| |kmknod命令從核心得到所需信息並 |
| |建立設備文件。_________________|
| _______________________________
|__|動態可裝載的驅動程徐—— |
| |
|在上載時建立特殊文件,在下 |
|載時刪除這個文件。由kfgmgr |
|命令建立特殊文件。_____________|
二、設備特殊文件
是對特殊特徵的描述。設備文件在/dev目錄下,它們為核心中的驅動程序提供訪問。
_______________________________________
__|主設備號major number——指出設備的種類 |
| | |
__________ | |主設備號用於設備種類的索引,字元設備 |
|__設備號__|___| |紀錄在cdevsw表中,塊設備紀錄在 |
| |bdevsw中,表中的每一項指向相應的設備 |
| |驅動程序。_____________________________|
| _______________________________________
|__|次設備號minor number——指出特定的設備 |
| |
|次設備號是具體的設備號。_______________|
添加磁帶、磁帶機、模擬終端、第三方廠家的磁帶機和磁帶設備。

磁碟和文件系統


一、磁碟
扇區是磁碟的存儲單位,是可進行一次I/O操作的磁碟上的最小單位。每個扇區為512個位元組。扇區的地址由邏輯塊號(LBN)決定,LBN是用戶可以訪問的基本磁碟數據區。
2.分區
__________________________________________________________
| |
| 物 理 磁 盤 |
|__________________________________________________________|
<---------------------------c------------------------------>;
<----a---->;<-----b----->;<--------g------->;<--------h------->;
<-----d----->;<----e----->;<----f---->;
·分區由一組扇區組成
·最多8個分區
·每個分區大小可以不同
·分區的符號:a-h
·每個分區都有一個塊設備文件和一個字元設備文件
·每個分區有時要覆蓋另一個分區,c區覆蓋了所有分區
·每種磁碟都有預設的分區大小值,放在/etc/disktab文件里
·分區的用法:
放文件系統
(作交換區——進行分頁和交換的操作)
·對磁碟進行分區——使用disklabel命令
使用disklabel命令來檢查或改變分區大小——分區表
# disklabel -wr rz1 rz29
# disklabel -r rz0
# disklabel -er rz1
3.分頁和交換
·分頁和交換是對內存進行擴充和管理的技術,是對虛存的管理技術。
·虛擬內存對物理內存和交換區進行統一編址
具有虛擬內存地址的頁可能在物理內存內,也可能臨時存儲在交換區內。
·虛存的使用
物理內存存放進程最近將要用到的頁和具有高優先順序的進程所需的頁。
交換區存放已修改的不常用的頁。
/調入頁page in
·靜態配置<
\調出頁page out
分頁操作時磁碟和物理內存之間少量的頁操作。
調入頁:當某一進程所需的頁不在物理內存時,系統把這個頁從其磁碟上的存儲處或交換區中拷貝到物理內存中,這個過程叫做調入頁。當進程訪問一個以前系統沒有訪問過的頁時,一定會發生調入頁操作。
調出頁:當系統運行某一進程時,發現物理內存中可用頁數的數量低於系統正常運行的要求時,它會把一些不常用的或者是優先順序低的進程的修改過的頁寫到交換區,同時釋放內存空間,這個過程叫做寫修改頁或調出頁。
/交換調入swap in
·交換操作<
\交換調出swap out
交換過程涉及了磁碟和物理內存之間大量的頁交換。
交換調出:當通過調出頁操作仍不能使系統得到足夠的可用頁時,系統將選擇一些物理內存中低優先順序的進程,把其所有的已經修改的頁寫到交換區,並釋放這些進程的也佔據的所有內存空間,這個過程叫做交換調出。當系統的物理內存不夠用時才會發生交換調出。
交換調入:隨著那些低優先順序的進程等待時間的增長,這些進程的優先順序會逐漸高於其他進程,這時系統再把它們調入內存來執行,這叫做交換調入。
/交換調入swap in
·交換區的定位方式<
\交換調出swap out
立即定位方式:是物理內存中修改頁一建立就定位交換區。
優點:比延遲方式可靠
缺點:定位的交換區比延遲方式多(因為對每個修改頁都定位一個交換區空間,而並不是所有修改的頁都需要寫到交換區)
會降低系統性能(因為系統要花費額外的時間去進行交換區紀錄)
延遲定位方式:在需要把已經修改的頁寫到交換區之前不定為交換區,直到系統要去寫修改頁時才定位交換區空間。
缺點:不可靠。(因為有時會發生交換區的大小不足,這是系統將終止與不能寫入交換區的已修改頁相關的進程。此修改頁如果不能寫入交換區而被刪除的話,以後執行該進程時會出現找不到該頁的錯誤從而使系統啟動該頁沒修改前的狀態,這樣就會發生錯誤的結果。)
·監視交換區的使用情況,增加交換區:
# swapon
# swapon -a /dev/rz1b
·選擇交換區的定位方式
立即方式:有文件/sbin/swapdefault存在
# ln -s /dev/rz0b /sbin/swapdefault
延遲方式:刪去文件/sbin/swapdefault
二、文件系統
Digital UNIX支持下列類型的文件系統:
·UNIX文件系統(ufs)
·System V文件系統(s5fs)
·網路文件系統(nfs)
·小型磁碟文件系統(CDFS)(ISO9660)
Digital UNIX通過使用虛擬文件系統(vfs)來達到支持多種文件系統的目的。Vfs以Berkerley4.3的虛擬文件系統為基礎,它提供了一個統一的文件系統介面,從而使系統可以透明地訪問文件而不用管它是屬於哪種文件系統。
_______________________________________________
| |
| |
|___________ ___________ ___________ ___________|
| | | | |
| UFS | S5FS | NFS | CDFS |
|___________|___________|___________|___________|
1.System V文件系統的結構
________________________________________________
| | | | |
|Boot |Super |Inode | Data |
|Block |block |Table | |
|_______|_______|_______|________________________|
2.UNIX文件系統結構
_________________________________________________________ ...
| | |Alternate|cylinder | | |
|Boot |Super |super |group |Inode | Data |
|Block |block |Block |Block |Table | |
|_______|_______|_________|_________|_______|__________|__ ...
|<-------------------Cylinder group 0----------------->;|
... __ ______________________________________
|Alternate|cylinder | | |
|super |group |Inode | Data |
|Block |Block |Table | |
... __|_________|_________|_______|__________|
|<----------Cylinder group n---------->;|
·引導塊
用於引導和初始化
·超級塊
它包括下列信息
——文件系統的大小(以塊為單位)
——inodes使用的塊
——文件系統的名稱
——最近一次超級塊升級日期
——自由塊隊列頭
——自由inodes隊列,這些自由inodes可以分配給新建立的文件
·I節點(inodes)塊
每個I節點塊種包含了一定數量的I節點,每個I節點都有一個I節點號。每個I節點包含了文件系統中一個獨立文件的信息:
——文件類型
——文件屬主和屬組
——文件的存取權
——連接數:這一項是文件所連接的路徑號。當這個域為0時,表示這個文件被刪去,然後這個I節點被釋放到自由inode隊列中去。
——文件的大小(以位元組為單位)
——最後一次文件被訪問的日期
——最近一次文件被修改的日期
——最近一次inode被修改日期
——數據塊指針:指向數據塊實際存放的物理位置
·數據塊
用戶數據和系統文件
3.ufs與s5fs主要存在兩點不同
(1)ufs使用了block和fragment的概念
block和fragment是存儲文件的存儲單位,預設的block大小為8192個位元組(8k),預設的fragment大小為1024位元組(1k)。Block和fragment的大小可以根據自己的文件系統的需要進行調整。
由於文件系統中同時存在的大文件和小文件,對於比較大的文件以block為單位,對於較小的文件以fragment為存儲單位。
採用block和fragment為存儲單位可以節省存儲空間,可以提高系統性能。
(2)ufs採用了扇區組的磁碟管理方法
ufs的每個扇區內都有一個Alternate super block,它是超級塊的備份,因此,在超級塊毀壞時,系統仍可以正常工作。
4.建立文件系統
# newfs -T fstype device
5.檢查和恢復文件系統
文件系統遭到破壞的原因:
·不正當的shutdown
·硬體錯誤或電源失效
·關機時沒同步磁碟
fsck命令對文件系統進行檢查和修改,以確保系統的正常運行。
#fsck [option] [file-system...]
6.訪問文件系統
裝載文件系統:
# mount [-o option] [-t type] [file-system] [mount-point]
下載文件系統:
# umount mount-point
/etc/fstab文件
7.文件系統的保密
存取權 r w x
文件 可讀文件內容 可修改文件內容 執行文件
目錄 可列目錄 可在目錄中創建 可進入或搜索目
刪除和重命名 錄;可使用目錄
文件 名作為路徑名的
一部分
8.監視磁碟的使用
df 檢查文件系統的磁碟空間使用情況
du 監察文件或目錄的磁碟空間使用情況
# df -k
# du
第六章 高級文件系統
一、AdvFS的特徵和好處
1.引入靈活性
·系統管理員可以在文件系統正在活動的同時增加或取消磁碟。
·最終用戶可以從預先定義的垃圾目錄中取回它們自己不小心刪除的文件。
2.維護兼容性
·從用戶的觀點看,advfs象任何UNIX文件系統那樣工作。最終用戶可以使用mkdir、cd、ls、等命令。應用程序遇到的是建立在UNIX上的編輯介面:o pen()、close()、create()等等。
·advfs符合POSIX 1003.1
·advfs替代或消除了若干標準命令,如newfs,dump,restore,fsck等。
3.提高數據可用性
·在系統中斷後的重新引導是
advfs採用提前寫登記來替代fsck使用程序,作為在不可預測的系統崩潰或電源故障期間發生系統部一致性的檢查和恢復。
·系統管理員無需將系統離線即可實現回收、文件系統的配置和文件系統的調整。
4.提供高性能
·以片(extent)為基礎的文件分配模式允許較小的和較大的I/O傳輸,從而提高順序讀/寫的吞吐量和簡化了大的數據傳輸。
·advfs支持多卷文件系統。多個卷支持文件層的分條和遷移。文件層分條通過把I/O展開於若干磁碟來提高文件的傳輸率。文件遷移允許負載和容量的平衡和減少文件分成碎片。
二、advfs的組成
advfs由兩個不同的層組成:每層包含不同的文件系統機制。
·物理存儲層(文件域)
物理存儲層實現提前寫登記、高速緩存、文件分配和物理磁碟I/O功能。
·目錄譜系層(由文件集組成)
目錄普系層實現文件命令模式和Digital UNIX文件系統一致的功能,如創建和打開文件,或者讀寫文件。
1.文件域
文件域是一個或多個卷的命名集合,提供物理存儲的共享池。
卷可以是:
·一個整個的磁碟
·一個盤分區
·用邏輯存儲管理程序配置的邏輯卷
2.文件集
文件集代表文件系統目錄譜系的一個部分:每個具有唯一名字的文件集是形成子樹結構的目錄和文件的一個集合。
文件集和文件系統在許多方面是等價的:
·安裝文件集好像安裝文件系統那樣
·文件集也是使能限額於回收數據的單位

高級文件系統命令


命令說明
chfile 改變文件屬性
chfset 改變文件集屬性
chvol 改變卷的屬性
mkfdmn 創建文件域
mkfset 在文件域中創建文件集
renamefset 對已存文件集重新命名
rmfset 從文件域取消文件集
showfdmn 顯示文件域屬性
showfile 顯示文件的屬性
showfset 顯示文件域中文件集屬性
vdump 實現增長回收
vedquota 編輯用戶和組限額
vncheck 列印文件系統中每個文件的標記和全路徑名
vquota 小結文件集的佔有關係,顯示用戶或組的磁碟是用和限額
vquotacheck 檢查文件系統限額的一致性
vquotaon 打開限額
vquotaoff 關閉限額
vrepquota 小結文件系統用的限額
vrestore 從用vdump命令寫的磁碟上恢復文件
POLYCENTER高級文件系統使用程序

實用程序說明


addvol 在已有文件域中增加卷
blance 在兩個卷間平衡已使用空間的百分比
clonefset 創建只讀文件集
defragment 是域中文件更加連接
dxadvfs 啟動advfs圖形用戶介面
migrate 在文件域中移動文件的位置
mktrashcan 附加目錄到存儲刪除文件的垃圾目錄中
rmfdmn 取消不用的文件域
rmtrashcan 從垃圾目錄去掉指定目錄的附屬關係
Rmvol 從已存文件系統中取消一個卷
shtrashcan 顯示垃圾目錄,如果由的話,被附屬到指定目錄
stripe 把文件分條跨文件域中若干卷