c語言基礎(十二)

1、main函數:一個程序運行起來就是一個進程,我們真實的代碼是先進行鏈接,就是把C文件各個段進行
組合起來,這個需要鏈接器,爲我們程序作引導的那部分代碼此時也就鏈接到我們的.o文件裏(其中最重要的是main函數裏的參數就是此時進入目標文件的)。接着就需要加載器,將我們的代碼加載固定的虛擬地址。這個就是一個進程的 完整步驟。
2、(1)程序正常終止:方式:exit _exit return
(2)程序異常終止:發信號進行終止。外界把你終止了。
3、註冊進程終止函數: 目的就是:當你看到項目(BSP)時,別人是怎麼寫的,你就照着寫,出現的什麼場合,你要結合上下文。
4、環境變量:目前理解就是,操作系統級別的全局變量。有一個變量environ就是存儲所有的環境變量
5、虛擬內存和物理內存
(1)、每個進程都是在獨立的內存空間運行
(2)、邏輯上的內存空間0~4G,指的就是虛擬內存.
(3)、物理內存和虛擬內存之間是有映射關係的
(4)、操作系統調度各進程彼此之間,互相不影響,彼此看不見。
操作OS:讓某個進程先運行或後運行,是有一套算法的,進程任務的輕重緩急來處理
6、進程怎樣產生:太極很像。
7、進程ID號,一旦使用後,下次即使是同一個程序運行依舊分配新的進程號,所以這裏顯示的是,目前爲止,這個系統打開過的所有進程。
調用fork工作流程:一次調用返回兩個效果(一個是父進程、一個是子進程)
(1)、getpid:得到當前進程的PID號 (2)、getppid:得到當前進程父進程的PID號
PS:stdin(0) stdout(1) stderr(2)
8、一個進程結束:操作系統就要回收資源(CPU時間片、各種內存都釋放)。如:wait

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章