Linux核心分析作業一

2022-08-31 11:30:18 字數 912 閱讀 6419

一、計算機是如何工作的

計算機是按照馮·諾依曼儲存程式的原理,計算機在執行程式時須先將要執行的相關程式和資料放入記憶體儲器中,在執行程式時cpu根據當前程式指標暫存器的內容取出指令並執行指令,然後再取出下一條指令並執行,如此迴圈下去直到程式結束指令時才停止執行。其工作過程就是不斷地取指令和執行指令的過程,最後將計算的結果放入指令指定的儲存器位址中。計算機工作過程中所要涉及的計算機硬體部件有記憶體儲器、指令暫存器、指令解碼器、計算器、控制器、運算器和輸入/輸出裝置等。

實驗截圖

輸出為18

以下是這個堆疊的分析

總結這次實驗的學習將的是計算機的工作原理,即馮諾依曼體系結構。計算機的基本原理是存貯程式和程式控制。預先要把指揮計算機如何進行操作的指令序列(稱為程式)和原始資料通過輸入裝置輸送到計算機內存貯器中。每一條指令中明確規定了計算機從哪個位址取數,進行什麼操作,然後送到什麼位址去等步驟。計算機在執行時,先從記憶體中取出第一條指令,通過控制器的解碼,按指令的要求,從存貯器中取出資料進行指定的運算和邏輯操作等加工,然後再按位址把結果送到記憶體中去。接下來,再取出第二條指令,在控制器的指揮下完成規定操作。依此進行下去,直至遇到停止指令。程式與資料一樣存貯,按程式編排的順序,一步一步地取出指令,自動地完成指令規定的操作是計算機最基本的工作原理。

有關計算機原理的知識從開始學專業課開始基本上每門課多多少少都會有涉及到,所以每次學習都會有一些新的理解,也比以前更熟練。還有希望新的學期可以有進步

Linux核心分析

從根本上看,核心是為了管理好程序來設計的,需要建立各種結構體來描述程序管理過程中需要用到的一切。首先,為什麼要劃分核心空間與使用者空間,出於安全的考慮,需要把使用者程式與核心隔離,這就帶來各種複雜性的東西,當然這是值得的。對於模組與模組的互動,使用者通過系統呼叫進入核心,這裡又包含中斷管理,異常管理...

linux核心分析四

使用庫函式api和c 中嵌入彙編 兩種方式使用同乙個系統呼叫,理解系統呼叫的工作機制。api 第一層是指libc中定義的api,這些api封裝了系統呼叫,使用int 0x80觸發乙個系統呼叫中斷 當然,並非所有的api都使用了系統呼叫,如完成數學加減運算的api就沒有使用系統呼叫 也有可能某個api...

Linux核心Crash分析

每乙個程序的生命週期內,其生命週期的範圍為幾毫秒到幾個月。一般都是和核心有互動,例如使用者空間程式使用系統呼叫進入核心空間。這時使用的不再是使用者空間的棧空間,使用對應的核心棧空間。對每乙個程序來說,linux核心都會把兩個不同的資料結構緊湊的存放在乙個單獨為程序分配的儲存空間中 乙個是核心態的程序...