1. 中斷和陷入有什麼異同?編程
外中斷時指來自處理機和內存外部的中斷,如I/O中斷、定時器中斷、外部信號中斷等。狹義上也叫中斷;
內中斷主要指在處理機和內存內部產生的中斷,也稱陷入,如校驗錯、頁面失效、溢出、除數爲零等;
中斷和陷阱的主要區別:
(1) 陷入一般由處理機正在執行的現行指令引發,而中斷則是由與現行指令無關的中斷源引發的。
(2) 陷阱處理程序提供的服務爲當前進程所用,而中斷處理程序提供的服務則不是爲了當前進程的。
(3) CPU 在執行完一條指令以後,下一條指令開始以前響應中斷,而在一條指令執行中也能夠響應陷阱。
2. 父子進程是否能夠併發運行?
能夠多線程
3. 在沒有程序運行時, CPU在作什麼?
只要計算機打開着,CPU 必定都在不停處理進程。在 Windows 系統下至少 rundll32.exe 這個程序是持續運行的。併發
在 Linux 下 kernel 也是會持續運行的。運行進程個數爲零的時候有沒有呢?有,那就是計算機關機的時候。性能
4. 設備驅動器是否屬於操做系統,它的做用是什麼?
不是,驅動程序是另外安裝的軟件,是操做系統控制而且和硬件之間通信的橋樑(程序)spa
5. 線程、進程、程序和任務的區別?
任務是最抽象的, 是一個通常性的術語, 指由軟件完成的一個活動。一個任務既能夠是一個進程,也能夠是一個線程。操作系統
簡而言之,它指的是一系列共同達到某一目的的操做。例如,讀取數據並將數據放入內存中。.net
這個任務能夠做爲一個進程來實現,也能夠做爲一個線程(或做爲一箇中斷任務)來實現。
進程經常被定義爲程序的執行。能夠把一個進程當作是一個獨立的程序,在內存中有其完備的數據空間和代碼空間。線程
一個進程所擁有的數據和變量只屬於它本身。
線程則是某一進程中一路單獨運行的程序。也就是說,線程存在於進程之中。blog
一個進程由一個或多個線程構成,各線程共享相同的代碼和全局數據,但各有其本身的堆棧。進程
因爲堆棧是每一個線程一個,因此局部變量對每一線程來講是私有的。因爲全部線程共享一樣的代碼和全局數據,
它們比進程更緊密,比單獨的進程間更趨向於相互做用,線程間的相互做用更容易些,
由於它們自己就有某些供通訊用的共享內存:進程的全局數據進程的全局數據進程的全局數據進程的全局數據。
程序只是一組指令的有序集合,它自己沒有任何運行的含義,它只是一個靜態的實體。
6. 處理中斷的過程
7. 分頁、分段、段頁式的特色,爲何要引入?
分頁是爲了提升內存的利用率,提升計算機性能,且分頁經過硬件機制來實現,對用戶徹底透明。
分段是爲了方便編程,信息保護和共享、動態增加及動態連接等多方面的須要。
段頁式是二者的結合。
8. 計算機系統怎樣實現存儲保護?
防止地址越界(對進程所產生的地址必須加以檢查,發生越界時產生中斷,由操做系統
進行相應處理)
防止操做越權(對屬於本身區域的信息,可讀可寫:對公共區域中容許共享的信息或得到受權可以使用的信息,可讀而不可修改;
對未受權使用的信息,不可讀,不可寫)
9. MMU
MMU 是 Memory Management Unit 的縮寫,中文名是內存管理單元,它是中央處理器(CPU)中用來
①管理虛擬存儲器、物理存儲器的控制線路,
②同時也負責虛擬地址映射爲物理地址,
③以及提供硬件機制的內存訪問受權。
10. 多線程,真的提升了效率嗎?
多線程效率,我認爲未必會高,並且有時候相反會低。
多線程並非爲了提升效率,而是沒必要等待,能夠並行執行多條數據。
能夠這麼想:咱們經過 xp 系統複製文件。你能夠複製一份文件 —— 這叫是單線程。可是你要等這個複製完了才能複製另外一份文件,並且不能多複製,這樣很難受。因此你能夠選擇多複製文件,這就是多線程。但複製多份文件用的時間未必會比一份一份文件所用時間少。只是它合理利用了時間進行了多個操做。
若是是買票系統,就會用到多線程。買票是同時進行的,若是一個用戶一個用戶等下去不是辦法,因此能夠多個用戶同時買票,效率也就提升了。這裏的效率不是執行的效率 而是時間的合理利用,多個線程同時進行。
11. 中斷的做用
中斷是計算機系統結構一個重要的組成部分。在中斷機制中的硬件部分(中斷裝置)的做用就是在 CPU 每執行完一條指令後,
判別是否有事件發生。若是沒有事件發生,CPU繼續執行;如有事件發生,中斷裝置①中斷原先佔用 CPU 的程序的執行,
②把被中斷程序的斷點保存起來,③讓操做系統的處理服務程序佔用 CPU 對事件進行處理,④處理完後,再讓被中斷的程序繼續佔用 CPU 執行下去。
12. DMA 的優先級爲何比 CPU 的優先級高?
由於 DMA 請求得不到及時響應,I/O 傳輸數據可能會丟失。
13. 虛擬內存容量由什麼決定?
虛擬存儲區的容量與物理主存大小無關,而受限於計算機的地址結構和可用磁盤容量。
14. RAID 的工做原理
RAID(獨立磁盤冗餘陣列(Redundant Array of Independent Disks))經過條帶化存儲和奇偶校驗兩個措施來實現其冗餘和容錯的目標。條帶化存儲意味着能夠一次寫入一個數據塊的方式將文件寫入多個磁盤。條帶化存儲技術將數據分開寫入多個驅動器,從而提升數據傳輸速率並縮短磁盤處理總時間。這種系統很是適用於交易處理、但可靠性卻不好,由於系統的可靠性等於最差的單個驅動器的可靠性 【木桶效應】。
奇偶校驗經過在傳輸後對全部數據進行冗餘校驗能夠確保數據的有效性。利用奇偶校驗,當 RAID 系統的一個磁盤發生故障時,其它磁盤可以重建該故障磁盤。在這兩種狀況中,這些功能對於操做系統都是透明的。由磁盤陣列控制器(DAC)進行條帶化存儲和奇偶校驗控制。
參考:https://blog.csdn.net/kkm09/article/details/105136235