原文:嵌入式100題(005):進程的空間模型

進程的空間模型 Linux下使用虛擬內存空間給每一個進程, 位操作系統下,每個進程都有獨立的 G虛擬內存空間。其中包括: 內核區:用戶代碼不可見的區域,頁表就存放在這個區域中。 用戶區:a 代碼段:只可讀,不可寫,程序代碼段。b 數據段:保存全局變量,靜態變量的區域。c 堆區:就是動態內存,通過malloc,new申請內存,有一個堆指針,可以通過brk系統調用調整堆指針。d 文件映射區域:通過mm ...

2021-02-25 08:25 0 275 推薦指數:

查看詳情

嵌入式100(007):父進程、子進程的關系以及區別

進程、子進程的關系以及區別 關系:fork出子進程后,子進程都會繼承父進程以下信息: 文件描述符 實際用戶ID,實際組ID,有效用戶ID,有效組ID 進程組ID 添加組ID 對話期ID 控制終端 設置-用戶-ID標志和設置-組-ID標志 當前工作目錄 ...

Thu Feb 25 16:29:00 CST 2021 0 570
嵌入式100(004):多進程、多線程同步(通訊)的方法

進程、多線程同步(通訊)的方法 進程間通訊: 管道( pipe):管道是一種半雙工的通信方式,數據只能單向流動,而且只能在具有親緣關系的進程間使用。進程的親緣關系通常是指父子進程關系 有名管道 (named pipeline) :有名管道也是半雙工的通信方式,但是它允許無親緣關系 ...

Thu Feb 25 16:24:00 CST 2021 0 381
嵌入式100(008):什么是進程上下文、中斷上下文

什么是進程上下文、中斷上下文 進程上下文: 進程上文:其是指進程由用戶態切換到內核態是需要保存用戶態時cpu寄存器中的值,進程狀態以及堆棧上的內容,即保存當前進程進程上下文,以便再次執行該進程時,能夠恢復切換時的狀態,繼續執行。 進程下文:其是指切換到內核態后執行的程序,即進程運行 ...

Thu Feb 25 16:30:00 CST 2021 0 264
嵌入式100(009):一個進程可以創建多少線程,和什么有關

一個進程可以創建多少線程,和什么有關 理論上,一個進程可用虛擬空間是2G,默認情況下,線程的棧的大小是1MB,所以理論上最多只能創建2048個線程。如果要創建多於2048的話,必須修改編譯器的設置。一個進程可以創建的線程數由可用虛擬空間和線程的棧的大小共同決定,只要虛擬空間足夠,那么新線程的建立 ...

Thu Feb 25 16:31:00 CST 2021 0 468
嵌入式100(76):中斷和異常的區別

中斷和異常的區別 1、異常:   是指CPU內部出現的中斷,即在CPU執行特定指令時出現的非法情況。同時異常也稱為同步中斷,因此只有在一條指令執行后才會發出中斷,不可能在指令執行期間發生異常。 ...

Sat Feb 27 01:24:00 CST 2021 0 325
嵌入式100(88):什么是異步串口和同步串口

什么是異步串口和同步串口   串行通信進行數據傳送時是將要傳送的數據按二進制位,依據一定的順序逐位發送到接收方。其有兩種通信方式:異步通信和同步通信。   異步通信,是指數據傳送以字符為單位,字符 ...

Sat Feb 27 23:14:00 CST 2021 0 310
嵌入式100(90):嵌入式系統中經常要用到無限循環,你怎么樣用C編寫死循環呢?

嵌入式系統中經常要用到無限循環,你怎么樣用C編寫死循環呢?   一、while(1) { } 沒有划定初始化、更新區域的代碼塊(位置)。這兩項代碼的書寫,就由作者來隨意設置(完成)。后人接手程序,就要花精力查找,無形中增添了工作量。 用圓括號括起的判斷部分,要求的不是代碼塊,而是一個 ...

Wed Mar 03 01:09:00 CST 2021 0 276
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM