成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

嵌入式筆試面試題目系列(一)

開發 前端
本系列將按類別對題目進行分類整理,重要的地方標上星星,這樣有利于大家打下堅實的基礎。本文均為嵌入式筆試面試高頻題目

[[375850]]

 本系列將按類別對題目進行分類整理,重要的地方標上星星,這樣有利于大家打下堅實的基礎。

本文均為嵌入式筆試面試高頻題目

一、進程與線程

1、什么是進程、線程,有什么區別?

進程是資源(CPU、內存等)分配的基本單位,線程是CPU調度和分配的基本單位(程序執行的最小單位)。同一時間,如果CPU是單核,只有一個進程在執行,所謂的并發執行,也是順序執行,只不過由于切換速度太快,你以為這些進程在同步執行而已。多核CPU可以同一時間點有多個進程在執行。

2、多進程、多線程的優缺點

說明:一個進程由進程控制塊、數據段、代碼段組成,進程本身不可以運行程序,而是像一個容器一樣,先創建出一個主線程,分配給主線程一定的系統資源,這時候就可以在主線程開始實現各種功能。當我們需要實現更復雜的功能時,可以在主線程里創建多個子線程,多個線程在同一個進程里,利用這個進程所擁有的系統資源合作完成某些功能。

優缺點:1)一個進程死了不影響其他進程,一個線程崩潰很可能影響到它本身所處的整個進程。2) 創建多進程的系統花銷大于創建多線程。3)多進程通訊因為需要跨越進程邊界,不適合大量數據的傳送,適合小數據或者密集數據的傳送。多線程無需跨越進程邊界,適合各線程間大量數據的傳送。并且多線程可以共享同一進程里的共享內存和變量。

3、什么時候用進程,什么時候用線程

1)創建和銷毀較頻繁使用線程,因為創建進程花銷大。2)需要大量數據傳送使用線程,因為多線程切換速度快,不需要跨越進程邊界。3)安全穩定選進程;快速頻繁選線程;

4、多進程、多線程同步(通訊)的方法

進程間通訊:

(1)有名管道/無名管道(2)信號(3)共享內存(4)消息隊列(5)信號量(6)socket

線程通訊(鎖):

(1)信號量(2)讀寫鎖(3)條件變量(4)互斥鎖(5)自旋鎖

5、進程線程的狀態轉換圖

(1)就緒狀態:進程已獲得除CPU外的所有必要資源,只等待CPU時的狀態。一個系統會將多個處于就緒狀態的進程排成一個就緒隊列。

(2)執行狀態:進程已獲CPU,正在執行。單處理機系統中,處于執行狀態的進程只一個;多處理機系統中,有多個處于執行狀態的進程。

(3)阻塞狀態:正在執行的進程由于某種原因而暫時無法繼續執行,便放棄處理機而處于暫停狀態,即進程執行受阻。(這種狀態又稱等待狀態或封鎖狀態)

通常導致進程阻塞的典型事件有:請求I/O,申請緩沖空間等。

一般,將處于阻塞狀態的進程排成一個隊列,有的系統還根據阻塞原因不同把這些阻塞集成排成多個隊列。


(1) 就緒→執行

處于就緒狀態的進程,當進程調度程序為之分配了處理機后,該進程便由就緒狀態轉變成執行狀態。

(2) 執行→就緒

處于執行狀態的進程在其執行過程中,因分配給它的一個時間片已用完而不得不讓出處理機,于是進程從執行狀態轉變成就緒狀態。

(3) 執行→阻塞

正在執行的進程因等待某種事件發生而無法繼續執行時,便從執行狀態變成阻塞狀態。

(4) 阻塞→就緒

處于阻塞狀態的進程,若其等待的事件已經發生,于是進程由阻塞狀態轉變為就緒狀態。

6、父進程、子進程

父進程調用fork()以后,克隆出一個子進程,子進程和父進程擁有相同內容的代碼段、數據段和用戶堆棧。父進程和子進程誰先執行不一定,看CPU。所以我們一般我們會設置父進程等待子進程執行完畢。

7、說明什么是上下文切換?

你可以有很多角度,有進程上下文,有中斷上下文。

進程上下文:一個進程在執行的時候,CPU的所有寄存器中的值、進程的狀態以及堆棧中的內容,當內核需要切換到另一個進程時,它需要保存當前進程的所有狀態,即保存當前進程的進程上下文,以便再次執行該進程時,能夠恢復切換時的狀態,繼續執行。

中斷上下文:由于觸發信號,導致CPU中斷當前進程,轉而去執行另外的程序。那么當前進程的所有資源要保存,比如堆棧和指針。保存過后轉而去執行中斷處理程序,快讀執行完畢返回,返回后恢復上一個進程的資源,繼續執行。這就是中斷的上下文。

 

責任編輯:姜華 來源: 嵌入式Linux系統開發
相關推薦

2021-01-19 07:16:25

嵌入式筆試面試

2021-01-21 08:00:50

嵌入式筆試面試

2021-01-22 07:17:14

嵌入式筆試面試

2021-01-20 07:28:34

嵌入式筆試面試

2021-01-15 07:49:01

嵌入式筆試面試

2021-02-25 16:26:35

嵌入式筆試面試

2018-03-08 18:40:47

Java百度面試題

2011-05-19 16:30:38

軟件測試

2021-10-27 11:00:30

C++語言面試

2009-06-06 18:34:05

java面試題

2009-05-14 09:28:16

嵌入式面試求職

2009-06-18 15:45:55

J2ee筆試

2009-08-01 23:17:19

ASP.NET面試題目ASP.NET

2011-01-14 13:13:23

嵌入式Linux開發

2020-06-04 14:40:40

面試題Vue前端

2009-08-01 22:47:13

ASP.NET筆試題目ASP.NET

2013-11-26 13:54:00

AMD嵌入式

2013-08-01 17:42:08

AMD嵌入式SOC產品

2023-11-13 07:37:36

JS面試題線程

2011-03-24 13:27:37

SQL
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产乱码精品1区2区3区 | 4hu最新网址| 中文字幕在线观看视频网站 | 欧美男人亚洲天堂 | 欧美三级在线 | 天天草天天干 | 欧美v在线观看 | 日韩在线视频播放 | 日韩精品一区二区三区在线观看 | 国产欧美一区二区三区日本久久久 | 天堂av中文在线 | 精品久久久久香蕉网 | 国产精品99久久久久 | 亚洲一区二区av | 日日夜夜免费精品视频 | 欧美一级片在线观看 | 国产精品精品视频一区二区三区 | 国产日韩一区二区 | 亚洲精品一区二区三区丝袜 | 九九精品在线 | 欧美激情国产日韩精品一区18 | 99福利| 国产一区二区小视频 | 国产欧美一区二区三区在线看 | 日韩欧美在线播放 | 午夜免费视频 | 日韩中文字幕高清 | 亚洲97 | 黄色大片免费网站 | 亚洲国产精品久久久 | 精品日本久久久久久久久久 | 日韩高清中文字幕 | 欧美视频三级 | 视频一区在线观看 | 亚洲一区二区三区乱码aⅴ 四虎在线视频 | 黄在线免费观看 | 女人精96xxx免费网站p | 日韩在线免费 | 在线免费观看a级片 | 欧美日韩在线成人 | 久久99成人 |