程序的生命從一個源程序開始的,該程序經過編輯器建立並保存爲文本文件,文件名命爲***.c,由0和1組成的位序列。緩存
在Unix系統上,從源文件到目標文件的轉化是由編譯器驅動程序完成的安全
unix > gcc -o hello hello.c多線程
gcc編譯器讀取源文件***.c,並把它翻譯成一個可執行的目標文件,執行四個階段的程序(預處理器、編譯器、彙編器和連接器)併發
1.優化程序性能 編輯器
2.理解連接時出現的錯誤性能
3.避免安全漏洞優化
總線:貫徹整個系統的電子管,它攜帶信息字節並負責各個部件間傳遞。一般總線被設計成傳送定長的字節塊,即字。操作系統
I/O設備: 即輸入/輸出設備,是系統與外界的聯繫通道。線程
主存: 是一個臨時的存儲設備,處理程序時,用來存放程序和程序處理的數據。物理上說由一組DRAM(動態隨機存取存儲器)組成的。翻譯
處理器:即cpu,是解釋(或執行)存儲在主存中指令的引擎,處理器的核心是一個被稱爲程序計數器pc的字長大小的存儲設備。
1.從鍵盤上讀取hello命令
2.從磁盤加載可執行文件到主存
3從存儲器寫輸出串到顯示器
程序的機器指令最初存放在磁盤上,當程序加載時,他們被拷貝到主存,當處理器運行程序時,指令又從主存拷貝處處理器。
全部應用程序對硬件的操做必須經過操做系統
操做系統的兩個基本功能:一、防止硬件被失控的應用程序濫用 二、位應用程序提供簡單一致的方法。
進程是操做系統對運行程序的一種抽象,一個系統能夠同時運行多個進程,而每一個進程
都好像獨佔硬件,稱爲併發運行。
進程的上下文切換
一個進程能夠由多個線程組成,由於多線程比多進程之間更容易分享數據,也由於進程通常都比進程更高效。
文件是字節序列。每一I/O設備均可以當作文件。