Linux 內核學習筆記整理。

Unix

unix 已有40歷史,但計算機科學家仍認為其是現存操作系統(tǒng)中最大和最優(yōu)秀的系統(tǒng),它已成為一種傳奇的存在,歷經時間的考驗卻依然聲名不墜。

1973 年,在用 C 語言重寫了 Unix 系統(tǒng)后,大量的Unix衍生版本開始出現,許多公司把 unix 移植到新的機型上,開發(fā)者們都按照自己的方式不斷增強系統(tǒng)的功能。Unix 系統(tǒng)設計簡潔并在發(fā)布時提供源代碼,所以許多團體都對其進行了進一步的開發(fā)。加州大學伯克利分校便是其中影響最大的一個。在BSD基礎上,很多廠商也推出了自己的unix ,如 SunOS、HP-UX 等。1991 年,linus 在Internet 上發(fā)布了它的 Unix 。從此 linux 便起航了,Linux很快吸引了眾多開發(fā)者、黑客對其代碼進行修改和完善,由于其開源性,Linux 迅速成為多人合作的開源項目。

操作系統(tǒng)與內核

操作系統(tǒng)包括內核、設備驅動程序、啟動引導程序、命令行shell、基本系統(tǒng)工具等部分。內核是操作系統(tǒng)的真正核心,負責硬件設備管理、分配系統(tǒng)資源等任務。內核一般處于系統(tǒng)態(tài),擁有受保護的內存空間和訪問硬件設備的所有權限,這種系統(tǒng)態(tài)和被保護起來的空間統(tǒng)稱為內核空間。應用程序在用戶空間只能看到允許它們訪問的部分系統(tǒng)資源、只能使用某些特定的系統(tǒng)功能,無法直接訪問硬件、也不能訪問內核劃給別人的內存范圍,還有一些其他的限制。應用程序通過 系統(tǒng)調用 與內核通信,讓內核代其完成不同的任務。

內核還負責管理系統(tǒng)的硬件設備。當硬件設備想要和系統(tǒng)通信的時候,它會發(fā)出一個異步的中斷信號以打斷處理器執(zhí)行,繼而打斷內核執(zhí)行。中斷通常對應著一個中斷號,內核通過中斷號查找相應的中斷服務程序,并調用這個程序響應和處理中斷。中斷服務程序在一個與所有進程都無關的、專門處理中斷的上下文中運行,以保證中斷服務程序能在第一時間響應和處理中斷請求并快速退出。

網友評論