當前位置:
首頁 > 最新 > 考一考!嵌入式操作系統面試題3道

考一考!嵌入式操作系統面試題3道

題一:

進程和線程以及它們的區別。

思考過後,再到下方尋找答案

題二:

進程間的通信的幾種方式。

思考過後,再到下方尋找答案

題三:

線程同步的方式。

思考過後,再到下方尋找答案

題一答案:

l 進程是對運行時程序的封裝,是系統進行資源調度和分配的的基本單位,實現了操作系統的並發;

l 線程是進程的子任務,是CPU調度和分派的基本單位,用於保證程序的 實時性,實現進程內部的並發;

l 一個程序至少有一個進程,一個進程至少有一個線程,線程依賴於進程而存在;

l 進程在執行過程中擁有獨立的內存單元,而多個線程共享進程的內存。

題二答案:

管道(pipe)及命名管道(named pipe):管道可用於具有親緣關係的父子進程間的通信,有名管道除了具有管道所具有的功能外,它還允許無親緣關係進程間的通信;

信號(signal):信號是一種比較複雜的通信方式,用於通知接收進程某個事件已經發生;

消息隊列:消息隊列是消息的鏈接表,它克服了上兩種通信方式中信號量有限的缺點,具有寫許可權得進程可以按照一定得規則向消息隊列中添加新信息;對消息隊列有讀許可權得進程則可以從消息隊列中讀取信息;

共享內存:可以說這是最有用的進程間通信方式。它使得多個進程可以訪問同一塊內存空間,不同進程可以及時看到對方進程中對共享內存中數據得更新。這種方式需要依靠某種同步操作,如互斥鎖和信號量等;

信號量:主要作為進程之間及同一種進程的不同線程之間得同步和互斥手段;

套接字:這是一種更為一般得進程間通信機制,它可用於網路中不同機器之間的進程間通信,應用非常廣泛。

題三答案:

互斥量 Synchronized/Lock:採用互斥對象機制,只有擁有互斥對象的線程才有訪問公共資源的許可權。因為互斥對象只有一個,所以可以保證公共資源不會被多個線程同時訪問

信號量 Semphare:它允許同一時刻多個線程訪問同一資源,但是需要控制同一時刻訪問此資源的最大線程數量

事件(信號),Wait/Notify:通過通知操作的方式來保持多線程同步,還可以方便的實現多線程優先順序的比較操作。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嵌入式ARM 的精彩文章:

TAG:嵌入式ARM |