操作系統&Linux 錯題集(一)

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等命令查看

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章