Linux系統程式設計(1)

2021-09-20 13:03:01 字數 595 閱讀 8240

馮諾依曼體系結構:

cpu(核心)、儲存器(記憶體+外存)、輸入裝置、輸出裝置

注:記憶體記憶體小,速度快,成本高,斷電之後丟失資料;外存記憶體大,速度慢,成本低,斷電之後不掉資料。

cpu也是能夠儲存少量的資料的,上面存資料的元件「暫存器」,訪問速度特別快。

馮諾依曼:計算機祖師爺之一

作業系統(os):乙個管理的軟體

管理硬體裝置:類似搭配驅動來執行什麼硬體

管理軟體資源

作業系統的大體結構框架(自下向上):

硬體裝置——>驅動程式——>作業系統核心(最核心的)——>系統呼叫——>應用程式庫+應用程式

問題:系統呼叫  vs  庫函式?

不用太區分,但是還是要知道有不同的。很多的人會把系統呼叫封裝成庫函式,供人們使用,就是標頭檔案。因此要明確二者含義,明確是有不同的。

管理的兩個要素:

描述:通過某些手段把客觀資訊記錄下來

組織:借助資料結構的方式進行組織資料(基於大量資料)

linux 系統程式設計1

在linux系統中一切皆檔案,在linux系統中一共有7種檔案型別 1.普通檔案 2.目錄檔案 3.字元裝置檔案 4.塊裝置檔案 5.鏈結檔案 6.管道檔案 7.套接字檔案 開啟 建立乙個檔案 int open const char pathname,int flags int open const...

Linux系統程式設計 1

1.open與fopen,write與fwrite等等的區別 1 乙個是系統呼叫,乙個是c庫函式 2 前者依賴於linux平台,後者只要有c庫就可以使用。3 前者直接軟中斷到核心態執行,i o操作頻繁,效率不高,後者在程序結束後將虛擬記憶體中的快取通過一次性的i o讀寫儲存到硬碟,效率高。2.檔案建...

Linux 系統程式設計

1 i o操作 2 檔案和目錄管理 3 記憶體管理 1 建立匿名記憶體對映 2 對映 dev zero檔案 類unix 作業系統中,dev zero是乙個特殊的檔案,當你讀它的時候,它會提供無限的空字元 null,ascii nul,0x00 其中的乙個典型用法是用它提供的字元流來覆蓋資訊,另乙個常...