操作系統面試題
操作系統面試題
哪些面試題涉及到操作系統的呢?下面是學習啦小編為大家帶來的操作系統面試題,相信對你會有幫助的。
操作系統面試題(一)
1、使用多進程與多線程有什么區別?
用多進程時,每個進程有自己的地址空間,線程則共享地址空間。所有其他區別都由此而來:
* 速度:線程產生的速度快,線程間的通信、切換快等,因為他們在同一個地址空間內。
* 資源利用率: 線程的資源利用率比較好,也是因為它們在同一個地址空間中
* 同步問題: 線程使用公共變量/內存時,需要使用同步機制,還是因為他們在同一個地址空間內。
2、 在Windows 編程中互斥器(mutex)的作用和臨界區(critical section)類似,請說一下二者區別。
mutex 可以用于進程之間互斥,critical section是線程之間的互斥。
3、垃圾回收的優點和原理是什么?
java語言中一個顯著的特點就是引入了垃圾回收機制,使C++程序員最頭疼的內存管理問題迎刃而解,而Java程序員不再需要考慮內存管理。垃圾回收可以有效防止內存泄露。
4、CPU中的緩存 和 OS 中的緩存分別是什么?
* 塊表——Cache在OS 中運用的典型范例。
小結:快表是聯想寄存器訪問速度比內存快,不用快表要兩次訪問內存;用了快表只需要一次訪問內存。
在OS中,為提高系統的存取速度,在地址映射機制中增加一個小容量的聯想寄存器,即塊表。用來存放當前訪問最頻繁的少數活動頁面的頁號。先訪問快表中是否有需要的邏輯頁號,加上頁內地址得到物理地址。如果快表中沒有才訪問內存中的頁表這樣兩次訪問內存。
* 高速緩沖存儲器: Cache 在CPU中運用的典型范例。
引入原因:內存的存取速度跟不上CPU的執行速度
它的容量比內存小,但是交換速度快! Cache對CPU的性能影響很大。
5、DOS 與 Windows NT 的權限區別是什么?
DOS 是個單任務、單用戶的操作系統。打開裝有DOS操作系統的計算機時,就擁有了該操作系統的管理員權限,且該權限無處不在。所以只能說,DOS不支持權限的設置。
在Windows NT里,用戶被分成許多組,組和組之間有不同的權限。當然一個組的用戶和用戶之間也可以有不同的權限。NT中常見的用戶組:Administrators 管理員組、 Users 普通用戶組、Guests 來賓組、Everyone計算機上所有用戶
操作系統面試題(二)
1、進程和線程有什么區別?
進程間是獨立,這體現在內存空間,上下文環境上,線程運行在進程空間內;
一般而言(不使用特殊技術),進程無法突破進程邊界存取其他進程內的存儲空間,而線程由于處于進程空間內,所以同一進程所產生的線程共享同一內存空間;
同一進程中的兩段代碼不能夠同時執行,除非引入線程;
線程是屬于進程的,當進程退出時該進程所產生的線程都會被強制退出并清除。線程占用的資源要少于進程所占用的資源。進程和線程都可以有優先級。
2、AND信號量集機制的基本思想是什么,它能解決什么問題?
AND同步機制的基本思想是,將進程在整個運行過程中所需要的所有臨界資源一次性全部分配給進程,待該進程使用完后在一起釋放。只要尚有一個資源未能分配 給該進程,其他所有可能為之分配的資源也不分配給它。亦即,對若干個臨界資源的分配采取原子操作方式,要么全部分配到進程,要么一個也不分配。它能解決的 問題:避免死鎖的發生。
3、進程間的通信方式?
信號量、信號、socket、管道、共享內存、消息隊列
4、在網絡編程中設計并發服務器,使用多進程與多線程有什么區別?
用多進程時每個進程有自己的地址空間,線程則共享地址空間。所有其他區別都是由此而來:
速度:線程產生的速度快,線程間的通信快、切換快等,因為它們在同一個地址空間內;
資源利用率:線程的資源利用率比較好也是因為它們在同一個地址空間內;
同步問題:線程使用公共變量/內存時需要使用同步機制,還是因為它們在同一個地址空間內。
5、進程進入等待狀態有哪幾種方式?
調用P操作,而信號量小于0;進程申請資源不能被分配;
6、CPU中的緩存和操作系統中的緩存分別是什么?
操作系統的緩存是指快表。在操作系統中,為提高系統的存取速度,在地址映射機制中增加一個小容量的聯想寄存器,即快表,用來存放當前訪問最頻繁的少數活動 頁面的頁號。當某用戶需要存取數據時,根據數據所在的邏輯頁號在快表中找到其對應的內存塊號,再聯系頁內地址,形成物理地址。如果在快表中沒有相應的邏輯 頁號,則地址映射仍可以通過內存中的頁表進行,得到空閑塊號后必須將該塊號填入快表的空閑塊中。如果快表中沒有空閑塊,則根據淘汰算法淘汰某一行,再填入 新的頁號和塊號。快表查找內存塊的物理地址消耗的時間大大降低了,使得系統效率得到了極大的提高。
CPU中的緩存是指高速緩存。CPU的執行速度越來越快,系統架構越來越先進,而主存的結構和存取速度改進則較慢,因此,高速緩存技術將越來越重要。
高速緩沖存儲器是位于CPU和內存之間的臨時存儲器,它的容量比內存小但交換速度快。在高速緩沖存儲器中的數據是內存中的一小部分,但這一小部分是短時間內CPU即將訪問的。當CPU調用大量數據時,就可避開內存直接從高速緩沖存儲器中調用,從而加快讀取速度。
看過“操作系統面試題”的人還看了:
1.安卓面試題及答案
3.C#面試題大全