1.有m個進程共享同一臨界資源,若使用信號量機制實現對一臨界資源的互斥訪問,則信號量的變化範圍是( )
1至 –(m-1)
臨界資源應互斥使用,互斥信號量m的初值爲1。當沒有進程使用臨界資源時,m值爲1;有一個進程使用臨界資源且無進程等待使用該資源時,m值爲0;有一個進程使用臨界資源且有一個進程等待使用該資源時,m值爲 -1;依此類推,最多可能有m -1個進程等待使用該臨界資源。本題答案爲:1~- (m -1)。
2. 進程和程序的本質區別在於( )
前者存儲在內存,後者存儲在外存
3.在UNIX中,通常把設備作爲(特殊)文件來處理。
按組織形式和處理方式可將文件分爲以下幾類:
1.普通文件:有ASCII碼或二進制碼組成的字符文件。
2.目錄文件:由文件目錄組成的,用來管理和實現文件系統功能的系統文件,通過目錄文件可以對其他文件的信息進行檢索。
3.特殊文件:特指系統中的各類 I/O設備
4. 一個臨界資源可以對應多個臨界區。(√)
首先我們需要搞懂臨界區和臨界資源的概念,所謂臨界區是指每個進程中訪問臨界資源的那段代碼,臨界資源是指一次僅允許一個進程使用的共享資源。通過概念我們可以很清晰的知道,我們可以把臨界區想象爲一個一個的線程,臨界資源就是這一個個線程想要使用的共享資源。一個共享資源是可以對應多個線程的,因此一個臨界資源可以對應多個臨界區是正確的。
5.具有很多C語言的功能,又稱過濾器的是?(awk)
csh:調用 C shell。
Tcsh是csh的增強版,並且完全兼容csh。它不但具有csh的全部功能,還具有命令行編輯、拼寫校正、可編程字符集、歷史紀錄、 作業控制 等功能,以及C語言風格的語法結構。
AWK 是一種優良的文本處理工具, Linux 及 Unix 環境中現有的功能最強大的數據處理引擎之一, AWK 提供了極其強大的功能:可以進行樣式裝入、 流控制 、數學 運算符 、進程 控制語句 甚至於內置的變量和函數。
SED: Stream EDitor
6.
下列關於管道(Pipe)通信的敘述中,正確的是()
正確答案: C 你的答案: D (錯誤)
一個管道可以實現雙向數據傳輸
管道的容量僅受磁盤容量大小限制
進程對管道進行讀操作和寫操作都可能被阻塞
一個管道只能有一個讀進程或一個寫進程對其操作
管道實際上是一種固定大小的緩衝區,管道對於管道兩端的進程而言,就是一個文
件,但它不是普通的文件,它不屬於某種文件系統,而是自立門戶,單獨構成一種文件系統,並且只存在於內存中。它類似於通信中半雙工信道的進程通信機制,一個管道可以實現雙向 的數據傳輸,而同一個時刻只能最多有一個方向的傳輸,不能兩個方向同時進行。管道的容 量大小通常爲內存上的一頁,它的大小並不是受磁盤容量大小的限制。當管道滿時,進程在 寫管道會被阻塞,而當管道空時,進程讀管道會被阻塞,因此選 C。
7.
下列關於 clone 和 fork 的區別描述正確的有?
正確答案: C 你的答案: D (錯誤)
clone和fork最大不同在於fork不再複製父進程的棧空間,而是自己創建一個新的。
clone和fork最大不同在於clone不再複製父進程的棧8空間,而是自己創建一個新的。
clone是fork的升級版本,不僅可以創建進程或者線程,還可以指定創建新的命名空間(namespace)、有選擇的繼承父進程的內存、甚至可以將創建出來的進程變成父進程的兄弟進程等等
fork是clone的升級版本,不僅可以創建進程或者線程,還可以指定創建新的命名空間(namespace)、有選擇的繼承父進程的內存、甚至可以將創建出來的進程變成父進程的兄弟進程等等
fork() 函數複製時將父進程的所以資源都通過複製數據結構進行了複製,然後傳遞給子進程,所以 fork() 函數不帶參數; clone() 函數則是將部分父進程的資源的數據結構進行復制,複製哪些資源是可選擇的,這個可以通過參數設定,所以 clone() 函數帶參數,沒有複製的資源可以通過指針共享給子進程
8.
以下說法正確的是()
正確答案: A D 你的答案: A D (正確)
linux系統中的/var/log/lastlog日誌記錄了所有用戶最後登錄的記錄,可以用lastlog命令查看
linux系統中的/var/log/last日誌可以用last命令查看
/var/log/wtmp日誌記錄了登錄過本系統的用戶信息,可以用`tail -f`命令查看
/var/run/utmp日誌記錄了正在登錄本系統中的用戶信息,可以用`last -f`命令查看
/var/log/lastlog:記錄系統中所有用戶最後一次的登錄時間的曰志。這個文件也是二進制文件.不能直接用Vi 查看。而要使用lastlog命令查看
/var/log/wtmp :永久記錄所有用戶的登陸、註銷信息,同時記錄系統的後動、重啓、關機事件。同樣,這個文件也是二進制文件.不能直接用Vi查看,而要使用last命令查看.
/var/log/utmp:記錄當前已經登錄的用戶的信息。這個文件會隨着用戶的登錄和註銷而不斷變化,只記錄當前登錄用戶的信息。同樣,這個文件不能直接用Vi查看,而要使用w、who、users等命令查看