十分鍾了解計算機系統


《深入理解計算機系統》筆記

計算機系統是由硬件和軟件相配合,運行應用程序的。

通過hello.c程序的生命周期:創建編譯運行,打印結果,結束,來了解計算機系統的內部工作機制。

1,創建

對於計算機來說,所有的信息均以 bit 來存儲。

1,創建hello.c文件

#include <stdio.h>

int main()
{
    printf("hello world!\n");
    return 0;
}

2,以十進制ascii形式查看文件內容

2,編譯

普通人比較容易理解hello.c的內容。這個程序,最終是要交給計算機去運行的。因此,運行之前,需要通過中間商,將我們編寫的 hello.c 轉換為低層次的機器語言。轉換的結果就是可執行目標文件(executable object file)。簡而言之,就是 C 文件通過編譯器生成二進制可執行文件。

# 編譯命令
gcc -o hello hello.c

3,運行

./hello

3.1 硬件結構

3.2 運轉流程:

步驟一:讀取./hello命令到內存

步驟二:加載可執行文件hello到內存

步驟三:顯示執行結果

4,優化

程序運行時,存在多次復制信息的操作。首先,將 hello 可執行文件從硬盤加載到內存,然后 CPU 運行程序時,從內存中加載指令到 CPU。我們可以通過提高信息的加載速度來優化程序。

一條物理定律:容量大的存儲設備,價格便宜,但讀取速度慢;硬盤比內存大 1000 倍,但是讀取速度比內存慢 10,000,000 倍

5,軟件對硬件的抽象

參考資料:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM