操作系統面試題

    時間:2022-10-14 22:29:21 面試問題 我要投稿
    • 相關推薦

    操作系統面試題

      1、 在Windows 編程中互斥器(mutex)的作用和臨界區(critical section)類似,請說一下二者區別。

    操作系統面試題

      mutex 可以用于進程之間互斥,critical section是線程之間的互斥。

      2、垃圾回收的優點和原理是什么?

      java語言中一個顯著的特點就是引入了垃圾回收機制,使C++程序員最頭疼的內存管理問題迎刃而解,而Java程序員不再需要考慮內存管理。垃圾回收可以有效防止內存泄露。

      3、CPU中的緩存 和 OS 中的緩存分別是什么?

      * 塊表——Cache在OS 中運用的典型范例。

      小結:快表是聯想寄存器訪問速度比內存快,不用快表要兩次訪問內存;用了快表只需要一次訪問內存。

      在OS中,為提高系統的存取速度,在地址映射機制中增加一個小容量的聯想寄存器,即塊表。用來存放當前訪問最頻繁的少數活動頁面的頁號。先訪問快表中是否有需要的邏輯頁號,加上頁內地址得到物理地址。如果快表中沒有才訪問內存中的頁表這樣兩次訪問內存。

      * 高速緩沖存儲器: Cache 在CPU中運用的典型范例。

      引入原因:內存的存取速度跟不上CPU的執行速度

      它的容量比內存小,但是交換速度快! Cache對CPU的性能影響很大。

      4、DOS 與 Windows NT 的權限區別是什么?

      DOS 是個單任務、單用戶的操作系統。打開裝有DOS操作系統的計算機時,就擁有了該操作系統的管理員權限,且該權限無處不在。所以只能說,DOS不支持權限的設置。

      在Windows NT里,用戶被分成許多組,組和組之間有不同的權限。當然一個組的用戶和用戶之間也可以有不同的權限。NT中常見的用戶組:Administrators 管理員組、 Users 普通用戶組、Guests 來賓組、Everyone計算機上所有用戶.

      5、進程和線程的差別。

      線程是指進程內的一個執行單元,也是進程內的可調度實體.

      與進程的區別:

      (1)調度:線程作為調度和分配的基本單位,進程作為擁有資源的基本單位

      (2)并發性:不僅進程之間可以并發執行,同一個進程的多個線程之間也可并發執行

      (3)擁有資源:進程是擁有資源的一個獨立單位,線程不擁有系統資源,但可以訪問隸屬于進程的資源.

      (4)系統開銷:在創建或撤消進程時,由于系統都要為之分配和回收資源,導致系統的開銷明顯大于創建或撤消線程時的開銷。

      6、談談IA32下的分頁機制

      小頁(4K)兩級分頁模式,大頁(4M)一級

      7、在IA32中一共有多少種辦法從用戶態跳到內核態?

      通過調用門,從ring3到ring0,中斷從ring3到ring0,進入vm86等等

      8、網絡編程中設計并發服務器,使用'多進程'與'多線程',請問有什么區別?

      進程:子進程是父進程的復制品。子進程獲得父進程數據空間、堆和棧的復制品。

      線程:相對與進程而言,線程是一個更加接近與執行體的概念,它可以與同進程的其他線程共享數據,但擁有自己的棧空間,擁有獨立的執行序列。

      兩者都可以提高程序的并發度,提高程序運行效率和響應時間。

      線程和進程在使用上各有優缺點:線程執行開銷小,但不利于資源管理和保護;而進程正相反。同時,線程適合于在SMP機器上運行,而進程則可以跨機器遷移。

      9、列舉幾種進程的同步機制,并比較其優缺點。

      原子操作

      信號量機制

      自旋鎖

      管程,會合,分布式系統

      10、進程之間通信的途徑

      共享存儲系統

      消息傳遞系統

      管道:以文件系統為基礎

      11、描述實時系統的基本特性

      在特定時間內完成特定的任務,實時性與可靠性

      12、Windows消息調度機制是:

      A.指令隊列;B.指令堆棧;C.消息隊列;D.消息堆棧;

      13、線程與進程的區別和聯系? 線程是否具有相同的堆棧?dll是否有獨立的堆棧?

      進程是死的,只是一些資源的集合,真正的程序執行都是線程來完成的,程序啟動的時候操作系統就幫你創建了一個主線程。

      每個線程有自己的堆棧。

      DLL中有沒有獨立的堆棧,這個問題不好回答,或者說這個問題本身是否有問題。因為DLL中的代碼是被某些線程所執行,只有線程擁有堆棧,如果DLL中的代碼是EXE中的線程所調用,那么這個時候是不是說這個DLL沒有自己獨立的堆棧?如果DLL中的代碼是由DLL自己創建的線程所執行,那么是不是說 DLL有獨立的堆棧?

      以上講的是堆棧,如果對于堆來說,每個DLL有自己的堆,所以如果是從DLL中動態分配的內存,最好是從DLL中刪除,如果你從DLL中分配內存,然后在EXE中,或者另外一個DLL中刪除,很有可能導致程序崩潰。

    【操作系統面試題】相關文章:

    DELL的英文面試題(硬件部分和操作系統)11-06

    組件機制與操作系統的實現03-18

    操作系統專業簡歷模板12-27

    嵌入式操作系統的功能02-23

    linux操作系統目錄結構詳解02-26

    面試題精選02-18

    分享面試題目 教育職業面試題11-20

    淺析組件機制和操作系統的實現12-11

    淺談組件機制和操作系統的實現11-30

    計算機操作系統試題及答案03-10

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      丝袜美腿国产综合久久 | 色yeye在线视频观看 | 欧美人与动甡交欧美精品 | 亚洲国语中文字幕理论片 | 亚洲欧美人另类成在线观看 | 日韩精品一区二区三区在线观看视频 |