- 相關(guān)推薦
操作系統面試題
1、 在Windows 編程中互斥器(mutex)的作用和臨界區(critical section)類(lèi)似,請說(shuō)一下二者區別。

mutex 可以用于進(jìn)程之間互斥,critical section是線(xiàn)程之間的互斥。
2、垃圾回收的優(yōu)點(diǎn)和原理是什么?
java語(yǔ)言中一個(gè)顯著(zhù)的特點(diǎn)就是引入了垃圾回收機制,使C++程序員最頭疼的內存管理問(wèn)題迎刃而解,而Java程序員不再需要考慮內存管理。垃圾回收可以有效防止內存泄露。
3、CPU中的緩存 和 OS 中的緩存分別是什么?
* 塊表——Cache在OS 中運用的典型范例。
小結:快表是聯(lián)想寄存器訪(fǎng)問(wèn)速度比內存快,不用快表要兩次訪(fǎng)問(wèn)內存;用了快表只需要一次訪(fǎng)問(wèn)內存。
在OS中,為提高系統的存取速度,在地址映射機制中增加一個(gè)小容量的聯(lián)想寄存器,即塊表。用來(lái)存放當前訪(fǎng)問(wèn)最頻繁的少數活動(dòng)頁(yè)面的頁(yè)號。先訪(fǎng)問(wèn)快表中是否有需要的邏輯頁(yè)號,加上頁(yè)內地址得到物理地址。如果快表中沒(méi)有才訪(fǎng)問(wèn)內存中的頁(yè)表這樣兩次訪(fǎng)問(wèn)內存。
* 高速緩沖存儲器: Cache 在CPU中運用的典型范例。
引入原因:內存的存取速度跟不上CPU的執行速度
它的容量比內存小,但是交換速度快! Cache對CPU的性能影響很大。
4、DOS 與 Windows NT 的權限區別是什么?
DOS 是個(gè)單任務(wù)、單用戶(hù)的操作系統。打開(kāi)裝有DOS操作系統的計算機時(shí),就擁有了該操作系統的管理員權限,且該權限無(wú)處不在。所以只能說(shuō),DOS不支持權限的設置。
在Windows NT里,用戶(hù)被分成許多組,組和組之間有不同的權限。當然一個(gè)組的用戶(hù)和用戶(hù)之間也可以有不同的權限。NT中常見(jiàn)的用戶(hù)組:Administrators 管理員組、 Users 普通用戶(hù)組、Guests 來(lái)賓組、Everyone計算機上所有用戶(hù).
5、進(jìn)程和線(xiàn)程的差別。
線(xiàn)程是指進(jìn)程內的一個(gè)執行單元,也是進(jìn)程內的可調度實(shí)體.
與進(jìn)程的區別:
(1)調度:線(xiàn)程作為調度和分配的基本單位,進(jìn)程作為擁有資源的基本單位
(2)并發(fā)性:不僅進(jìn)程之間可以并發(fā)執行,同一個(gè)進(jìn)程的多個(gè)線(xiàn)程之間也可并發(fā)執行
(3)擁有資源:進(jìn)程是擁有資源的一個(gè)獨立單位,線(xiàn)程不擁有系統資源,但可以訪(fǎng)問(wèn)隸屬于進(jìn)程的資源.
(4)系統開(kāi)銷(xiāo):在創(chuàng )建或撤消進(jìn)程時(shí),由于系統都要為之分配和回收資源,導致系統的開(kāi)銷(xiāo)明顯大于創(chuàng )建或撤消線(xiàn)程時(shí)的開(kāi)銷(xiāo)。
6、談?wù)処A32下的分頁(yè)機制
小頁(yè)(4K)兩級分頁(yè)模式,大頁(yè)(4M)一級
7、在IA32中一共有多少種辦法從用戶(hù)態(tài)跳到內核態(tài)?
通過(guò)調用門(mén),從ring3到ring0,中斷從ring3到ring0,進(jìn)入vm86等等
8、網(wǎng)絡(luò )編程中設計并發(fā)服務(wù)器,使用'多進(jìn)程'與'多線(xiàn)程',請問(wèn)有什么區別?
進(jìn)程:子進(jìn)程是父進(jìn)程的復制品。子進(jìn)程獲得父進(jìn)程數據空間、堆和棧的復制品。
線(xiàn)程:相對與進(jìn)程而言,線(xiàn)程是一個(gè)更加接近與執行體的概念,它可以與同進(jìn)程的其他線(xiàn)程共享數據,但擁有自己的?臻g,擁有獨立的執行序列。
兩者都可以提高程序的并發(fā)度,提高程序運行效率和響應時(shí)間。
線(xiàn)程和進(jìn)程在使用上各有優(yōu)缺點(diǎn):線(xiàn)程執行開(kāi)銷(xiāo)小,但不利于資源管理和保護;而進(jìn)程正相反。同時(shí),線(xiàn)程適合于在SMP機器上運行,而進(jìn)程則可以跨機器遷移。
9、列舉幾種進(jìn)程的同步機制,并比較其優(yōu)缺點(diǎn)。
原子操作
信號量機制
自旋鎖
管程,會(huì )合,分布式系統
10、進(jìn)程之間通信的途徑
共享存儲系統
消息傳遞系統
管道:以文件系統為基礎
11、描述實(shí)時(shí)系統的基本特性
在特定時(shí)間內完成特定的任務(wù),實(shí)時(shí)性與可靠性
12、Windows消息調度機制是:
A.指令隊列;B.指令堆棧;C.消息隊列;D.消息堆棧;
13、線(xiàn)程與進(jìn)程的區別和聯(lián)系? 線(xiàn)程是否具有相同的堆棧?dll是否有獨立的堆棧?
進(jìn)程是死的,只是一些資源的集合,真正的程序執行都是線(xiàn)程來(lái)完成的,程序啟動(dòng)的時(shí)候操作系統就幫你創(chuàng )建了一個(gè)主線(xiàn)程。
每個(gè)線(xiàn)程有自己的堆棧。
DLL中有沒(méi)有獨立的堆棧,這個(gè)問(wèn)題不好回答,或者說(shuō)這個(gè)問(wèn)題本身是否有問(wèn)題。因為DLL中的代碼是被某些線(xiàn)程所執行,只有線(xiàn)程擁有堆棧,如果DLL中的代碼是EXE中的線(xiàn)程所調用,那么這個(gè)時(shí)候是不是說(shuō)這個(gè)DLL沒(méi)有自己獨立的堆棧?如果DLL中的代碼是由DLL自己創(chuàng )建的線(xiàn)程所執行,那么是不是說(shuō) DLL有獨立的堆棧?
以上講的是堆棧,如果對于堆來(lái)說(shuō),每個(gè)DLL有自己的堆,所以如果是從DLL中動(dòng)態(tài)分配的內存,最好是從DLL中刪除,如果你從DLL中分配內存,然后在EXE中,或者另外一個(gè)DLL中刪除,很有可能導致程序崩潰。
【操作系統面試題】相關(guān)文章:
組件機制與操作系統的實(shí)現03-18
操作系統專(zhuān)業(yè)簡(jiǎn)歷模板12-27
嵌入式操作系統的功能02-23
linux操作系統目錄結構詳解02-26
面試題精選02-18
分享面試題目 教育職業(yè)面試題11-20
淺析組件機制和操作系統的實(shí)現12-11
淺談組件機制和操作系統的實(shí)現11-30
計算機操作系統試題及答案03-10