歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux 簡介——Linux 系統概述

Linux 簡介——Linux 系統概述

日期:2017/2/25 10:39:59   编辑:Linux教程
 本章概述Linux系統。首先描述操作系統提供的主要服務。然後說明實現這些服務的程序 with a considerable lack of detail。本章的目的是理解系統整體,以後再詳細說明每個部分。

一個操作系統的不同部分

  一個UNIX操作系統包括一個核心程序kernel和一些系統程序system programs。還有一些做某件事情的應用程序application programs。核心是操作系統的心髒 。它跟蹤磁盤上的文件,啟動程序並運行它們,給不同的進程分配內存和其他資源,從網絡接收和向網絡發送包,等等。核心很少自己干活,但它提供工具,用這些工具可以建立所有服務。它還阻止任何人直接存取硬件,強制每個人使用它提供的工具。這樣,核心給每個用戶與其他用戶之間提供保護。核心提供的工具通過系統調用system calls使用;要了解關於這的更多的信息,看手冊頁第二節。

  系統程序使用核心提供的工具實現操作系統要求的不同的服務。系統程序和所有其他程序運行在核心之上,叫做用戶模式user mode。系統程序和應用程序的區別是目的:應用程序意圖完成一些有用的工作(或游戲),而系統程序則為系統工作而需要。字處理器是應用;telnet 是系統程序。區別經常有些模糊,也許,只是為了強制分類。

  雖然編程語言不必是操作系統的一部分,操作系統也可以包括編譯器及其相關的庫(Linux下是gcc和C庫)。文檔、有時甚至游戲,可以是操作系統的一部分。傳統上,操作系統被定義為安裝磁帶或磁盤上的內容;對於Linux就更不清楚,因為它分布在全世界的FTP站點上。

核心的重要部件

  Linux核心包括幾個重要部分:進程管理、存儲器管理、硬件設備驅動、文件系統驅動、網絡管理和其他不同的部分。圖2.1顯示了它們的一些。

  可能核心最重要的部分(沒有它們什麼也不能工作)是存儲器管理和進程管理。存儲器管理負責分配進程的存儲器區域和對換空間區域、核心的部件及buffer cache。進程管理產生進程,用切換處理器上的活動進程來實現多任務。

  在最低級,核心對它支持的每種硬件包含一個硬件設備驅動。因為世界上存在大量不同的硬件,硬件設備驅動的數量極大。有許多不同的硬件,因此軟件控制方法不同。但其相似性可能分類驅動,支持相似的操作;每類的每個成員有相同的與核心其他部分接口,但具體實現是不同的。例如,所有的硬盤驅動與核心其他部分接口相同,即他們都有初始化驅動器、讀N扇區、寫N扇區。

  核心自己提供的有些軟件服務有類似的抽象屬性,因此可以抽象分類。例如,不同的網絡協議已經被抽象為一個編程接口:BSD socket庫。另一個例子是虛擬文件系統virtual filesystem(VFS)層,它從文件系統操作實現中抽象出文件系統操作。每個文件系統類型提供了每個文件系統操作的實現。當一些實體企圖使用一個文件系統時,請求通過VFS送出,它將請求發送到適當的文件系統驅動。

郵件

  電子郵件通常是通過計算機通信的最重要的方法。一封電子信件用特定的格式存儲在一個文件中,使用特定的郵件程序來收發郵件。


  每個用戶有一個收件箱incoming mailbox(一個特定格式的文件),所有新郵件存在這裡。當什麼人發送郵件時,郵件程序定位收件人的郵箱,並在郵箱文件中添加信件。如果收件人的郵箱在另一台機器上,信件就被發送到那台機器,由它用它覺得最合適的方法來投遞郵箱。

  郵件系統包括很多程序。投遞郵件到本地或遠程郵箱使用一個程序(mail transfer agent或MTA,例如,sendmail 或smail ),而用戶使用的則有很多不同的程序(mail user agent或MUA,例如pine 或elm )。郵箱一般存在/var/spool/mail 中。

打印

  同時只能有一個人使用某一台打印機,但各用戶不共享打印機是不經濟的。因此打印機由軟件來管理,實現一個打印隊列print queue:所有的打印任務放進一個隊列,打印機完成一個任務後,自動再打印下一個。這無須用戶來組織打印隊列,回避了直接控制打印機。

  打印隊列軟件也把打印輸出spools到磁盤,即,當任務在隊列中時,打印輸出存在一個文件中。這允許應用程序快速地完成一個打印任務到打印隊列程序,應用程序無須等到打印任務真正完成就可以繼續下去。這真的很方便,因為它允許打印出一個版本,無須打印完成,就繼續修改一個新版本。

文件系統布局

  文件系統分為許多部分,通常從根文件系統有: /bin , /lib , /etc , /dev , 及一些其他; /usr 文件系統包含程序和不改變的數據; /var 文件系統包含改變的數據(例如log文件); /home 文件系統包含每個用戶的個人文件。依賴於硬件配置和系統管理員的決定,方法不同,甚至所有東西可能在一個文件系統中。

  3章將更詳細地說明文件系統布局,Linux文件系統標准(Linux Filesystem Standard)中有更詳細的說明。
Copyright © Linux教程網 All Rights Reserved