操作系統(tǒng):有了操作系統(tǒng)之后,任何一個(gè)進(jìn)程要跟硬件打交道,都得經(jīng)過操作系統(tǒng)。操作系統(tǒng)通過最底層的調(diào)用:systemcall(系統(tǒng)調(diào)用)。然后封裝之后,形成了庫。shell:人機(jī)交互接口
用戶進(jìn)程利用系統(tǒng)調(diào)用在對(duì)設(shè)備文件進(jìn)行諸如read/write操作時(shí),系統(tǒng)調(diào)用通過設(shè)備文件的主設(shè)備號(hào)找到相應(yīng)的設(shè)備驅(qū)動(dòng)程序,然后讀取這個(gè)數(shù)據(jù)結(jié)構(gòu)相應(yīng)的函數(shù)指針,接著把控制權(quán)交給該函數(shù)。這是linux的設(shè)備驅(qū)動(dòng)程序工作的基本原理。既然是這樣,則編寫...
用戶進(jìn)程利用系統(tǒng)調(diào)用在對(duì)設(shè)備文件進(jìn)行諸如read/write操作時(shí),系統(tǒng)調(diào)用通過設(shè)備文件的主設(shè)備號(hào)找到相應(yīng)的設(shè)備驅(qū)動(dòng)程序,然后讀取這個(gè)數(shù)據(jù)結(jié)構(gòu)相應(yīng)的函數(shù)指針,接著把控制權(quán)交給該函數(shù)。這是linux的設(shè)備驅(qū)動(dòng)程序工作的基本原理。既然是這樣,則編寫...
在對(duì)設(shè)備文件進(jìn)行諸如read/write***作時(shí),系統(tǒng)調(diào)用通過設(shè)備文件的主設(shè)備號(hào)找到相應(yīng)的設(shè)備驅(qū)動(dòng)程序,然后讀取這個(gè)數(shù)據(jù)結(jié)構(gòu)相應(yīng)的函數(shù)指針,接著把控制權(quán)交給該函數(shù).這是linux的設(shè)備驅(qū)動(dòng)程序工作的基本原理.既然是這樣,則編寫設(shè)備驅(qū)動(dòng)程序的主要...
計(jì)算機(jī)啟動(dòng)后,BIOS從磁盤引導(dǎo)扇區(qū)加載系統(tǒng)引導(dǎo)程序,它將Linux系統(tǒng)裝入內(nèi)存,并跳到內(nèi)核處執(zhí)行,Linux內(nèi)核就執(zhí)行初始化工作:初始化硬件、初始化內(nèi)部數(shù)據(jù)結(jié)構(gòu)、建立進(jìn)程0。進(jìn)程0創(chuàng)建進(jìn)程1,進(jìn)程1是以后所有創(chuàng)建的進(jìn)程的祖先,它...
數(shù)據(jù)結(jié)構(gòu)、重定位及實(shí)現(xiàn)原理,文件的邏輯結(jié)構(gòu)、物理結(jié)構(gòu)及文件系統(tǒng)的構(gòu)成,操作系統(tǒng)對(duì)設(shè)備的控制、分配、緩沖區(qū)的管理等,Linux系統(tǒng)的網(wǎng)絡(luò)功能,現(xiàn)代流行的UNIX、Windows2000操作系統(tǒng)的特點(diǎn)、原理以及分布式操作系統(tǒng)的概況,...
Linux根據(jù)policy的值將進(jìn)程總體上分為實(shí)時(shí)進(jìn)程和普通進(jìn)程,提供了三種調(diào)度算法:一種傳統(tǒng)的Unix調(diào)度程序和兩個(gè)由POSIX.1b(原名為POSIX.4)操作系統(tǒng)標(biāo)準(zhǔn)所規(guī)定的“實(shí)時(shí)”調(diào)度程序。但這種實(shí)時(shí)只是軟實(shí)時(shí),不滿足諸如中斷等待時(shí)間等硬實(shí)時(shí)要求,...
在Linux系統(tǒng)的緩存I/O機(jī)制中,操作系統(tǒng)會(huì)將I/O的數(shù)據(jù)緩存在頁緩存(內(nèi)存)中,也就是數(shù)據(jù)先被拷貝到內(nèi)核的緩沖區(qū)(內(nèi)核地址空間),然后才會(huì)從內(nèi)核緩沖區(qū)拷貝到應(yīng)用程序的緩沖區(qū)(用戶地址空間)。這種方式很明顯的缺點(diǎn)就是...
總體來說呢,android采用了linux系統(tǒng)的開發(fā)思想跟工作原理。lib這個(gè)中間層很多都是照搬linux核心lib重新定制開發(fā)的。所以,說android是一種嵌入式定制的linux系統(tǒng)也是可以的,并列于任何一個(gè)linux系統(tǒng)下的小眾設(shè)備系統(tǒng)。
我們一起學(xué)習(xí)了文件系統(tǒng)和磁盤I/O的工作原理,以及相應(yīng)的性能分析和優(yōu)化方法。接下來,我們將進(jìn)入下一個(gè)重要模塊——Linux的網(wǎng)絡(luò)子系統(tǒng)。由于網(wǎng)絡(luò)處理的流程最復(fù)雜,跟我們前面講到的進(jìn)程調(diào)度、中斷處理、內(nèi)存管理以及I/O等都密...