計算機基本的功能就是: 『接受使用者輸入指令,經由 CPU 的數學與邏輯單元運算處理後, 以產生或儲存成有用的信息』。爲了達成這個功能,固然計算機就必需要有:
• 輸入單元:例如鼠標、鍵盤、卡片閱讀機等等
• 中央處理器(CPU):含有算數邏輯、控制、記憶等單元
• 輸出單元:例如屏幕、打印機等等工具
因爲計算機僅認識 0/1 ,所以計算機主要是以二進制的方式來計算的, 所以,一般計算機的記憶/儲存單位都是以 Byte 或 bits 爲基本單位。他們的單位是這樣的:
• 1 Bytes = 8 bits
• 1 KB = 1024 Bytes
• 1 MB = 1024 KB
• 1 GB = 1024 MBspa
什麼是操做系統 (Operation System, OS) 呢?咱們先想想計算機是如何工做的?舉例來講,若是你想要看 VCD, 就須要 1.)有影音數據的光盤片、 2.)可讀取光盤片的光驅、 3.) 能夠轉換影音數據輸出的中央處理器 (CPU)、 4.)能夠顯示影像的顯示芯片(顯示卡)、 5.) 能夠傳輸聲音的音效芯片(聲卡)、 6.)能夠輸出影像的屏幕以及 7.)能夠發出聲音的喇叭! 也就是說:全部在『工做』的東西都是『硬件』! 對啦!就是硬件在工做!
計算機所進行的工做都是計算機硬件幫咱們達成的,而操做系統能夠管理整部計算機的硬件,他能夠控制 CPU 進行正確的運算, 他能夠分辨硬盤裏頭的數據並進行讀取,他還必需要可以認識全部的適配卡, 這樣,纔可以將全部的硬件統統正確的使用上啊!操做系統雖然能夠掌控全部的硬件,可是,若是使用者沒法與操做系統溝通, 那麼這個操做系統就沒有什麼用處了!操作系統
一個比較『完整的操做系統』應該要包含兩個東西,一個是『核心與其提供的接口工具』、 一個是『利用核心提供的接口工具所開發出來的軟件』。整個硬件是由核心來管理的,而若是核心不認識某個硬件, 那麼咱們將沒法使用該硬件設備。接口
操做系統核心就是『Kernel』, 他是一個操做系統的最底層的東西,由他來掌管整個硬件資源的工做狀態,而 每一個操做系統都有本身的核心。進程
通常來講,Kernel 爲了達成使用者所須要的正確運算結果,他必需要管理的事項有:
• 系統呼叫接口(System call interface) : 爲了方便程序開發者能夠輕易的透過與 kernel 的溝通,將硬件的資源進一步的利用, 因而須要有這個簡易的接口來方便程序開發者。
• 進程管理(Process control) : 『多任務環境』一部計算機可能同時間有不少的工做跑到 CPU 等待運算處理, Kernel 這個時候必需要可以控制這些工做,讓 CPU 的資源做有效的分配才行!
• 內存管理(Memory management) : 控制整個系統的內存管理,若內存不足, Kernel 最好還可以提供虛擬內存的功能!
• 文件系統管理(File system management) : 文件系統的管理,例如數據的輸入輸出 (I/O) 等等的工做啦! 還有不一樣文件格式的支持啦等等,若是你的核心不認識某個文件系統, 那麼您將沒法使用該文件格式的文件囉!例如: Windows 98 就不認識 NTFS 文件格式的硬盤;
• 設備的驅動(Device drivers) : 就如同上面提到的,硬件的管理是 Kernel 的主要工做之一,固然囉,設備的驅動程序就是核心須要作的事情啦! 好在目前都有所謂的『可加載模塊』功能,能夠將驅動程序編輯成模塊, 就不須要從新的編譯核心啦!內存
全部硬件的資源都是 kernel 來管理的,然而要讓整個操做系統更完備的話,那還須要含有至關豐富的核心提供的工具, 以及核心相關的應用軟件來支持。資源