1. 程式人生 > >Linux系統發展和運行原理

Linux系統發展和運行原理

檢查 服務器 記載 設備管理 經歷 當代中國 圖片 進程控制 發展史

本文屬作者本人觀點,若理解錯誤,歡迎指正。

操作系統簡介

計算機的出現是因為戰爭的需要,隨著計算機的誕生,操作系統也就應運而生。可以說計算機的發展史,相對來說是比較快速的發展。尤其是在當代中國,計算機更是經歷了飛速的發展。操作系統對於計算機的重要性不言而喻,它是布置在硬件系統上的第一個軟件,也是其他應用軟件運行的基礎,是人與硬件之間的接口。可以說,沒有操作系統,計算機硬件,就是一堆廢鐵。就現在社會,比較主流的操作系統主要有在服務器端運行的Linux,以及桌面操作系統,Windows和MacOS等。本文主要對Linux系統進行介紹。

Linux系統可以說在服務器上,幾乎占據絕大多數市場,這主要取決於系統的高穩定性和占據資源小的特點。可以這樣理解,就服務器而言,我不需要那麽多非常華麗的功能,例如動態桌面等,甚至說,服務器是連桌面本身這個功能也不需要的。因為他只需要向用戶提供服務,當用戶發來請求時,我只需將用戶請求的數據返回回去就行,功能很單一。正是這種特點決定了Linux的地位。Linux系統是一個開源的操作系統,開源就代表著所有人都可以修改,修改過後變成自己的系統,也正是開源,讓Linux融合了來自全世界各地的優秀黑客的智慧。Linux內核是有Linux系統的創始人團隊進行維護,所以所有的Linux系統都是采用這個內核,但我可以在這個內核上集成不同的功能,甚至開發更多好用的功能,於是,便誕生了很多的發行版。Linux發行版大約有100多種,其中主流的有RHEL(紅帽企業版),CentOS(社區操作系統),Ubuntu(好用的桌面系統),Fedora(紅帽實驗版)等。目前最新的紅帽系統是RHEL7版本,但企業來說很多還是跑的6,甚至5版本的系統。

Linux系統運行原理

我們說,任何的操作系統都是為人所服務的,是要讓硬件資源之間更協調。那操作系統就必須包含進程管理,存儲管理,設備管理,文件管理,和用戶接口幾大功能。Linux也提供這些功能。在介紹原理前,我們首先介紹一下上述概念。進程管理,就是對系統中運行的進程進行管理。進程就是一個動態的過程,每一次的進程都是不一樣的,進程是程序和PCB進程控制塊的集合,這樣可以保證每次系統中運行多個進程,實現多任務。當硬件加電時,cpu執行第一條指令,運行BIOS。BIOS進行開機自檢,檢查各部件運行是否正常,如果正常的話,則按照用戶設定的運行順序進行運行操作系統。下面一張圖列出了操作系統的結構技術分享圖片
本圖為引用

在上圖中,我們非常直觀的看到操作體統的結構,最底層是硬件,硬件是沒辦法為人類所直接使用的,他放在那兒就是一對毫無意義的金屬。而操作系統就是用來管理這些硬件的,也就是資源。但要管理這些資源的話,需要一個非常復雜的過程。他需要很多軟件的協調合作才能完成,而操作系統就是那麽一個功能強大的軟件。硬件上的第一層,也就是操作系統的內核(kernel),它是一個操作系統的心臟,是靈魂,他的重要性不言而喻,所以我們不能隨意的對他進行操作。為了我們更好的使用操作系統,我們就要通過一個叫shell的應用程序來對內核進行使用,其中shell程序通過系統調用來實現對內核的使用,還包含其他的一些共享庫的支持。shell程序就類似於windows的桌面,只不過它是通過CLI(命令行)來對內核進行調用的,和windows本質上是一樣的,都是提供一個和用戶的接口,只不過shell程序可能操作上接受度沒桌面的好。


開機自檢完成後,cpu會加載磁盤上的文件到內存中去執行,而首先加載進去的便是/boot 文件夾裏的引導文件,這個文件記載著操作系統的執行順序,加載並執行後,便會將內核也加載中,正常過程是加載完內核,操作系統便啟動完成了,但由於內核我們是沒辦法直接是使用的,所以隨著內核的加載,我們會加載shell程序也一起啟動,方便我們進行操作,這樣操作系統便是我們看到的開機界面了。

Linux系統發展和運行原理