原创 (萊昂氏unix源代碼分析導讀-17)系統初啓(10)

小結 本章的內容到此結束。 由於我們跳過了一些專題,啓動代碼中仍有一些未解之謎,但它的神祕面紗已經揭開,這是一個好的開始。   最後,給出fuibyte(0)的分析結果: 0814 _fuibyte: 0815 _fubyte: 08

原创 (萊昂氏unix源代碼分析導讀-29) swap in/out (下)

                                                                              by cszhao1980 最後,看一下我們的老朋友sched(),上次看到它還是

原创 (萊昂氏unix源代碼分析導讀-22) trap函數(2693)

萊昂的分析比較清晰。在這裏我只說明幾個容易讓人感到迷惑的問題。   首先是trap函數的長長的參數列表,同clock函數一樣,這些參數來自於入口處的設置, 回頭看一下棧圖,這些參數的容易理解了。   函數開頭就檢查進程的“前狀態”——絕大

原创 (萊昂氏unix源代碼分析導讀-16)系統初啓(9)

回到start   現在,繼續#1進程之旅。 main() 1627 if(newproc()) {                         1628      expand(USIZE+1);                  

原创 (萊昂氏unix源代碼分析導讀-21)時鐘中斷處理

時鐘中斷是系統中最重要的中斷,每個時鐘滴答都會產生時鐘中斷,它的中斷矢量爲(0100)或(0103)。   0533: . = 100^. 0534:       kwlp; br6 0535:       kwlp; br6   056

原创 Linux線程模型概述

                                                By cszhao1980 1. 輕量進程(LWP) 我們知道進程擁有大量資源,如: (1)寄存器信息,如pc等; (2)Data段 (3)S

原创 (萊昂氏unix源代碼分析導讀-19)再談進程swtch

我們已經涉及到了部分進程切換的概念,在本章中,我們會從更一般的意義上考察進程切換的行爲。 首先,進程切換(也稱作context switch)一定是在內核中完成的。 比如,以下爲發生進程切換的最常見的情況: (1)    active進

原创 linux下tty,控制檯,虛擬終端,串口,console(控制檯終端)詳解

首先: 1。終端和控制檯都不是個人電腦的概念,而是多人共用的小型中型大型計算機上的概念。一臺主機,連很多終端,終端爲主機提供了人機接口,每個人都通過終端使用主機的資源.。 終端有字符啞終端和圖形終端兩種.   控制檯是另一種人機接口,,不

原创 (萊昂氏unix源代碼分析導讀-24)signal(上)

                                                                          by cszhao1980 signal更確切的稱呼應該是soft interruptio

原创 (萊昂氏unix源代碼分析導讀-23) 若干系統調用的實現

                                                                                                       By cszhao1980  

原创 (萊昂氏unix源代碼分析導讀-18) 再談中斷與陷入

  從產生原因看,中斷和陷入也有巨大的差別。   硬件中斷由外部事件造成,屬於異步事件,往往與當前進程毫無關係; 陷入則不同,它常常都是同步的(如除0錯),並與當前進程上下文相關。   除此之外,陷入還用來實現系統調用——內核爲user進

原创 (萊昂氏unix源代碼分析導讀-28) swap in/out (中)

                                               by cszhao1980 換出時,使用函數xswap(),它有三個參數,前兩個參數很容易理解: (1)p——指向進程表項; (2)ff—— f

原创 (萊昂氏unix源代碼分析導讀-26) trace

                                                         by:cszhao1980 trace是unix提供的一種是父進程可以跟蹤子進程進展的手段,子進程被跟蹤時,當子進程 收到s

原创 (萊昂氏unix源代碼分析導讀-31) “緩存頭”初探

                                 By cszhao1980 struct buf結構,又被稱爲“緩存頭”結構,而buf[NBUF]數組被稱爲“緩存頭”數組。 顧名思義,“緩存頭”結構應該是用於緩存處理的,

原创 (萊昂氏unix源代碼分析導讀-27) Swap in/out (上)

                                                     By   cszhao1980 Swap in/out指的是進程在物理內存(core空間)和磁盤交換文件間的雙向移動過程,進程在ac