1.說一下什麼是進程?面試
進程是資源分配的的基本單位,啓動一個程序就是一個進程。每一個進程都有彼此獨立的地址空間,不一樣的進程之間沒法訪問彼此的數據。可是能夠經過通道,文件,套接字等進行訪問瀏覽器
2.不一樣進程中哪些資源能夠共享安全
-
堆】因爲堆是在進程空間中開闢出來的,因此它是理所固然地被共享的;所以new出來的都是共享的(16位平臺上分全局堆和局部堆,局部堆是獨享的)多線程
-
全局變量】全局定義的變量單位,所以也是共享的併發
-
局部靜態變量】雖然對於局部變量來講,它在代碼中是「放」在某一函數中的,可是其存放位置和全局變量同樣,存於堆中開闢的.bss和.data段,是共享的函數
-
文件等公用資源】這個是共享的,使用這些公共資源的線程必須同步。Win32 提供了幾種同步資源的方式,包括信號、臨界區、事件和互斥體。spa
3.說一下什麼是線程? 插件
進程的最小單位,一個進程包含多個線程,當關閉進程時線程也會相應被關閉。線程
舉例:blog
一個瀏覽器就至關於一個線程,每一個tab頁是一個進程。關閉瀏覽器以後每一個網頁也會被關閉。
須要頻繁銷燬建立的使用線程,由於進程的銷燬和建立須要消耗大量的資源,須要保證程序穩定安全,推薦使用進程。須要加快執行速度選用線程。
4.說一下什麼是並行?
同一時間節點,多個任務同時進行。好比洗澡的時候能夠唱歌,多核CPU,多個進程能夠運行在不一樣的物理核心上。每一個CPU各司其職執行不一樣的任務。
5.說一下什麼是併發?
一段段時間內,多個任務交替執行,相似多線程。單核cpu,某一時刻只能一個進程執行。可是能夠經過不斷切換的方式(如時間片輪巡),由於cpu執行速度很是快,因此咱們看起來好像是同時進行,其實是快速交替執行
========================================================================================================================================================
附加並行資料
特色
一、各
數據位同時傳輸,傳輸速度快、效率高,多用在實時、快速的場合。
三、並行傳遞的信息不要求固定的格式。
五、並行傳輸的數據寬度能夠是1~128位,甚至更寬,可是有多少數據位就須要多少根數據線,所以傳輸的成本較高。
六、並行通訊抗干擾能力差。
七、在
集成電路芯片的內部、同一插件板上各部件之間、同一機箱內個插件板之間的
數據傳輸都是並行的。
八、以計算機的
字長,一般是8位、16位或32位爲傳輸單位,一次傳送一個字長的數據。
九、適合於
外部設備與微機之間進行近距離、大量和快速的信息交換。
十、並行數據傳輸只適用於近距離的通訊,一般傳輸距離小於30米。
工做原理:
通常地並行接口有 3 個方面的功能:
⑴實現與系統總線的鏈接:提供數據的輸入輸出功能。
⑵實現與
外設鏈接:確保與外設間有效進行數據的接收和發送。
⑶具備
中斷請求處理功能:外設輸入輸出採用中斷的方法來實現。
接口鏈接
典型的雙向並行接口與外設鏈接
⑵讀出寫入信號線:控制數據流向,肯定操做是讀仍是寫。
⑶復位線,準備好狀態線:並行接口數據準備就緒。
⑸地址
譯碼電路:進行選擇不一樣的接口電路,選擇接口電路內部不一樣的
寄存器。
⒉並行接口與外設的鏈接
⑴輸入設備:數據輸入線,設備數據
準備就緒狀態線和接口接收數據回答線。
⒊並行接口
⑵數據輸入緩衝器、數據輸出緩衝器:進行數據的輸入、輸出。
⑶
狀態寄存器:提供接口電路工做狀態供CPU查詢。
傳輸原理
⒈ 並行接口輸入數據的過程
外設將數據送到「數據輸入線」,經過「輸入數據準備好」 狀態線通知並行接口取走,接口將數據鎖存到「輸入緩衝器」,經過「數據輸入回答」線通知外設,接口
數據緩衝器已滿,不要再送數據,接口在其內「
狀態寄存器」 的相應位置 1,便於CPU 查詢和接口向CPU 發
中斷請求之用。
CPU 從接口將數據取走後,接口將「數據輸入準備好」、「數據輸入回答」 信號清除,以便外設輸入下一個數據。
⒉ 並行接口輸出數據的過程
接口「
數據輸出緩衝器」 空,「數據輸出準備好」 狀態線送 1,收到CPU 發的數據,將之復位清0,數據經過「數據輸出」 線送外設,由「數據輸出準備好」 線通知外設取數據。
實例
例如:
系統板上各部件之間,接口電路板上各部件之間