① linux操作系統有什麼技術特色
一、 Linux的誕生
Linux的興起可以說是Internet創造的一個奇跡。 1991年初,當年輕的芬蘭大學生Linus Torvalds在開始其Linux 操作系統的設計時,他的目的只不過是想看一看Intel 386存儲 管理硬體是怎樣工作的,而絕對沒有想到這一舉動會在計算機界 產生如此重大的影響。他的設計進展得很順利,只花了幾個月時 間就在一台Intel 386微機上完成了一個類似於Unix 的操作系統, 這就是最早的Linux版本。1991年底,Linus Torvalds首次在Internet 上發布了基於Intel 386體系結構的Linux源代碼,從此以後,奇跡開始 發生了。由於Linux具有結構清晰、功能簡捷等特點,許多大專院校的學 生和科研機構的研究人員紛紛把它作為學 習和研究的對象。他們在更正原 有Linux版本中錯誤的同時,也不斷地為Linux增加新的功能。在眾多熱心者的 努力下,Linux逐漸成為一個穩定可靠、功能完善的操作系統。一些軟體公司, 如Red Hat、InfoMagic等也不失時機地推出了自己的以Linux為核心的操作系統 版本,這大大推動了Linux的商品化。在一些大的計算機公司的支持下,Linux還 被移植到以Alpha APX、PowerPC、Mips及Sparc等為處理機的系統上。Linux的使 用日益廣泛,其影響力直逼Unix。
Linux的成功得益於如下因素:
(1) 具有良好的開放性。Linux及其生成工具的源代碼均可通過Internet免費獲取,linux愛 好者能非常 容易地建立一個Linux開發平台。
(2) Internet的普及使熱心於Linux的開發者們能進行高效、快捷的交流,從而為Linux 創造了一個優良的分布式開發環境。
(3) Linux具有很強的適應性,能適應各種不同的硬體平台。
Linux的版本更新很快。在短短的七年時間里,其版本已升至2.1.x。這里之所以用"x"表示,是因為 x的值變化太快,很難准確地定位它的值。這也從側面反映了從事Linux的研究者之多。不過,Linux用得最 多的版本還是2.0.30,許多商品化的操作系統都以它為核心。
二、 Linux的主要特點
作為一個操作系統,Linux幾乎滿足當今Unix操作系統的所有要求,因此,它具有Unix操作系統的基本 特徵。
1.符合POSIX 1003.1標准
POSIX 1003.1標準定義了一個最小的Unix操作系統介面,任何操作系統只有符合這一標准,才有可能運 行Unix程序。考慮到Unix具有豐富的應用程序,當今絕大多數操作系統都把滿足POSIX 1003.1標准作為實現 目標,Linux也不例外,它完全支持POSIX 1003.1標准。另外,為了使Unix System V和BSD上的程序能直接在 Linux上運行, Linux還增加了部分System V和BSD的系統介面,使Linux成為一個完善的Unix程序開發系統。
2.支持多用戶訪問和多任務編程
Linux是一個多用戶操作系統,它允許多個用戶同時訪問系統而不會造成用戶之間的相互干擾。另外, Linux還支持真正的多用戶編程,一個用戶可以創建多個進程,並使各個進程協同工作來完成用戶的需求.
3.採用頁式存儲管理
頁式存儲管理使Linux能更有效地利用物理存儲空間,頁面的換入換出為用戶提供了更大的存儲空間。
4.支持動態鏈接
用戶程序的執行往往離不開標准庫的支持,一般的系統往往採用靜態鏈接方式,即在裝配階段就已將 用戶程序和標准庫鏈接好,這樣,當多個進程運行時,可能會出現庫代碼在內存中有多個副本而浪費存儲 空間的情況。Linux 支持動態鏈接方式,當運行時才進行庫鏈接,如果所需要的庫已被其它進程裝入內存, 則不必再裝入,否則才從硬碟中將庫調入。這樣能保證內存中的庫程序代碼是唯一的。
5.支持多種文件系統
Linux能支持多種文件系統。目前支持的文件系統有:EXT2、EXT、XIAFS、ISOFS、HPFS、MSDOS、UMSDOS、 PROC、NFS、SYSV、MINIX、SMB、UFS、NCP、VFAT、AFFS。Linux最常用的文件系統是EXT2,它的文件名長度可 達255字元,並且還有許多特有的功能,使它比常規的Unix文件系統更加安全。
6.支持TCP/IP、SLIP和PPP
在Linux中,用戶可以使用所有的網路服務,如網路文件系統、遠程登錄等。SLIP和PPP能支持串列線上的 TCP/IP協議的使用,這意味著用戶可用一個高速Modem通過電話線連入Internet網中。
除了上述基本特徵外,Linux還具有其獨有的特色:
支持硬碟的動態Cache 這一功能與MSDOS中的Smartdrive相似。所不同的是,Linux能動態調整所用的 Cache存儲器的大小,以適合當前存儲器的使用情況,當某一時刻沒有更多的存儲空間可用時,Cache將被減少, 以增加空閑的存儲空間,一旦存儲空間不再緊張,Cache的大小又將增加。
支持不同格式的可執行文件 Linux具有多種模擬器,這使它能運行不同格式的目標文件。其中,DOS和 MSWindows正在開發之中,iBCS2模擬器能運行SCO Unix的目標程序。(iBCS2 模擬器不是Linux標准核心的 一部分,但可從ftp.informatik.huberlin.de:/pub/os/linux下載)
三、 Linux的主要構成
Linux主要由存儲管理、進程管理、文件系統、進程間通信等幾部分組成,在許多演算法及實現策略上, Linux借鑒了Unix的成功經驗,但也不乏自己的特色。
1.存儲管理
Linux採用頁式存儲管理機制,每個頁面的大小隨處理機晶元而異。例如,Intel 386處理機頁面大小 可為4KB和2MB兩種,而Alpha處理機頁面大小可為8KB、16KB、32KB和64KB。頁面大小的選擇對地址變換算 法和頁表結構會有一定的影響,如Alpha的虛地址和物理地址的有效長度隨頁面尺寸的變化而變化,這種變 化必將在地址變換和頁表項中有所反映。
在Linux中,每一個進程都有一個比實際物理空間大得多的進程虛擬空間,為了建立虛擬空間和物理空 間之間的映射,每個進程還保留一張頁表,用於將本進程空間中的虛地址變換成物理地址。頁表還對物理頁 的訪問許可權作出了規定,定義了哪些頁可讀寫,哪些頁是只讀頁,在進行虛實變換時,Linux將根據頁表中規 定的訪問許可權來判定進程對物理地址的訪問是否合法,從而達到存儲保護的目的。
Linux存儲空間分配遵循的是不到有實際需要的時候決不分配物理空間的原則。當一個程序載入執行時, Linux只為它分配了虛空間,只有訪問某一虛地址而發生了缺頁中斷時,才為它分配物理空間,這樣就可能 出現某些程序運行完成後,其中的一些頁從來就沒有裝進過內存。這種存儲分配策略帶來的好處是顯而易見的,因為它最大限度地利用了物理存儲器。
盡管Linux對物理存儲器資源的使用十分謹慎,但還是經常出現物理存儲器資源短缺的情況。Linux有一 個名為kswapd的進程專門負責頁面的換出,當系統中的空閑頁面小於一定的數目時,kswapd將按照一定的淘 汰演算法選出某些頁面,或者直接丟棄(頁面未作修改),或者將其寫回硬碟(頁面已被修改)。這種換出方式不 同於較舊版本Unix的換出方式,它是將一個進程的所有頁全部寫回硬碟。相比之下,Linux的效率更高。
2.進程管理
在Linux中,進程是資源分配的基本單位,所有資源都是以進程為對象來進行分配的。 在一個進程的生 命期內,它會用到許多系統資源,會用CPU運行其指令,用存儲器存儲其指令和數據,它也會打開和使用文件 系統中的文件,直接或間接用到系統中的物理設備,因此,Linux設計了一系列的數據結構,它們能准確地描 述進程的狀態和其資源使用情況,以便能公平有效地使用系統資源。Linux的調度演算法能確保不出現某些進程 過度佔用系統資源而導致另一些進程無休止地等待的情況。
進程的創建是一個十分復雜的過程,通常的做法需為子進程重新分配物理空間,並把父進程空間的內容全 盤復制到子進程空間中,其開銷非常大。為了降低進程創建的開銷,Linux採用了Copyonwrite技術,即不 拷貝父進程的空間,而是拷貝父進程的頁表,使父進程和子進程共享物理空間,並將這個共享空間的訪問許可權 置為只讀。當父進程和子進程的某一方進行寫操作時,Linux檢測到一個非法操作,這時才將要寫的頁進行復制 。這一做法免除了只讀頁的復制,從而降低了開銷。
Linux目前尚未提供用戶級線程,但提供了核心級線程,核心線程的創建是在進程創建的基礎上稍做修改, 使創建的子進程與父進程共享虛存空間。從這一意義上講,核心線程更像一個共享進程組。
3.文件系統
Linux最重要的特徵之一就是支持多個不同的文件系統,前面我們已經看到,Linux目前支持的文件系統 多達十餘種,隨著時間的推移,這一數目還在不斷增加。在Linux中,一個分離的文件系統不是通過設備標識 (如驅動器號或驅動器名)來訪問,而是 把它合到一個單一的目錄樹結構中,通過目錄來訪問,這一點與Unix十分相似。Linux用 安裝命令將一個新的文件系統安裝到系統單一目錄樹的某一目錄下,一旦安裝成功,該目錄下的所有內容將 被新安裝的文件系統所覆蓋,當文件系統被卸下後,安裝目錄下的文件將會被重新恢復。
Linux最初的文件系統是Minix。該文件系統對文件限制過多,並且性能低下,如文件名長度不能超過14 個字元、文件大小不能超過64MB。為了解決這些問題,Linux的開發者們設計了一個Linux專用的文件系統EXT。 EXT對文件的要求放鬆了許多,但在性能上並沒有大的改觀,於是就有了後面的EXT2文件系統。EXT2文件系統 是一個非常成功的文件系統,它無論是對文件的限制還是在性能方面都大大優於EXT文件系統,所以,EXT2自 從推出就一直是Linux最常用的文件系統。
為了支持多種文件系統,Linux用一個被稱為虛擬文件系統(VFS)的介面層將真正的文件系統同操作系統及 系統服務分離開。VFS掩蓋了不同文件系統之間的差異,使所有文件系統在操作系統和用戶程序看來都是等同的。VFS允許用戶同時透明地安裝多個不同的文件系統。
4.進程間通信
Linux提供了多種進程間的通信機制,其中,信號和管道是最基本的兩種。除此以外,Linux也提供 System V的進程間通信機制,包括消息隊列、信號燈及共享內存。為了支持不同機器之間的進程通信, Linux還引入了BSD的Socket機制。
四、 Linux的不足及發展趨勢
Linux從出現到現今只經歷了短短七年的時間,但其發展速度是驚人的,這與它的開放性和優良的性能 是密不可分的。不過我們應該看到,作為一個由學生開發的系統,Linux還有許多先天不足,它的設計思想 過多地受到傳統操作系統的約束,沒有體現出當今操作系統的發展潮流,具體表現在以下幾個方面:
不是一個微內核操作系統;
是一個分布式操作系統;
不是一個安全的操作系統;
沒有用戶線程;
不支持實時處理;
代碼是用C而不是C++這樣的現代程序設計語言編寫的。
盡管Linux有這樣和那樣的不足,但其發展潛力不容低估,其發展的動力就是遍布全球、為數眾多的 Linux熱心者。今後Linux將會朝著完善功能、提高效率的方向發展,包括允許用戶創建線程、增加實時處 理功能、開發適合多處理機體系結構的版本。我們相信,Linux、Unix及NT三足鼎立的時代將為期不遠。
② linux系統文件系統上有哪些特點
一般linux常用的文件系統有
1、ext2、ext3、ext4
2、SWAP
特點:
1、Linux ext2/ext3文件系統使用索引節點來記錄文件信息,作用像windows的文件分配表。索引節點是一個結構,它包含了一個文件的長度、創建及修改時間、許可權、所屬關系、磁碟中的位置等信息。
Linux之前預設情況下使用的文件系統為Ext2,ext2文件系統的確高效穩定。但是,隨著Linux系統在關鍵業務中的應用,Linux文件系統的弱點也漸漸顯露出來了:其中系統預設使用的ext2文件系統是非日誌文件系統。
Ext3文件系統是直接從Ext2文件系統發展而來,目前ext3文件系統已經非常穩定可靠。它完全兼容ext2文件系統。用戶可以平滑地過渡到一個日誌功能健全的文件系統中來。這實際上了也是ext3日誌文件系統初始設計的初衷。
Linux
kernel 自 2.6.28 開始正式支持新的文件系統 Ext4。 Ext4 是 Ext3 的改進版,修改了 Ext3
中部分重要的數據結構,而不僅僅像 Ext3 對 Ext2 那樣,只是增加了一個日誌功能而已。Ext4
可以提供更佳的性能和可靠性,還有更為豐富的功能:
與 Ext3 兼容。
更大的文件系統和更大的文件。Ext4 分別支持 1EB(1,048,576TB, 1EB=1024PB, 1PB=1024TB)的文件系統,以及 16TB 的文件。
無限數量的子目錄。
多塊分配
延遲分配
日誌校驗
在線碎片整理
持久預分配
2、swap是交換分區的文件系統,類似windows的虛擬內存
虛擬內存的實現:兩種方式。第一種是進行內存的排列像內存池一樣,進行一個優化。第二種是把硬碟上的空間模擬成內存。
swap是Linux的虛擬內存,在安裝時要設好大小,是物理內存的2倍(安裝紅帽會進行設置)
③ Linux系統中系統文件有什麼特點
Linux系統中系統文件有什麼特點?
第1個特點:內核相關文件在/boot目錄下
其它也沒啥了。
④ linux文件系統採用哪種物理結構,有什麼優點和缺點
一、順序結構
優點:
1、支持順序存取和隨機存取。
2、順序存取速度快。
3、所需的磁碟尋道次數和尋道時間最少。
缺點:
1、需要為每個文件預留若干物理塊以滿足文件增長的部分需要。
2、不利於文件插入和刪除。
二、鏈式結構
優點:
1、提高了磁碟空間利用率,不需要為每個文件預留物理塊。
2、有利於文件插入和刪除。
3、有利於文件動態擴充。
缺點:
1、存取速度慢,不適於隨機存取。
2、當物理塊間的連接指針出錯時,數據丟失。
3、更多的尋道次數和尋道時間。
4、鏈接指針佔用一定的空間,降低了空間利用率。
三、索引結構
優點:
1、不需要為每個文件預留物理塊。
2、既能順序存取,又能隨機存取。
3、滿足了文件動態增長、插入刪除的要求。
缺點:
1、較多的尋道次數和尋道時間。
2、索引表本身帶來了系統開銷。如:內外存空間,存取時間等。
拓展資料:
文件存取方法:
順序存取:順序存取是按照文件的邏輯地址順序存取。
固定長記錄的順序存取是十分簡單的。讀操作總是讀出上一次讀出的文件的下一個記錄,同時,自動讓文件記錄讀指針推進,以指向下一次要讀出的記錄位置。如果文件是可讀可寫的。再設置一個文件記錄指針,它總指向下一次要寫入記錄的存放位置,執行寫操作時,將一個記錄寫到文件 末端。允許對這種文件進行前跳或後退N(整數)個記錄的操作。順序存取主要用於磁帶文件,但也適用於磁碟上的順序文件。
可變長記錄的順序文件,每個記錄的長度信息存放於記錄前面一個單元中,它的存取操作分兩步進行。讀出時,根據讀指針值先讀出存放記錄長度的單元 。然後,得到當前記錄長後再把當前記錄一起寫到指針指向的記錄位置,同時,調整寫指針值 。
由於順序文件是順序存取的,可採用成組和分解操作來加速文件的輸入輸出。
直接存取(隨機存取法):
很多應用場合要求以任意次序直接讀寫某個記錄。例如,航空訂票系統,把特定航班的所有信息用航班號作標識,存放在某物理塊中,用戶預訂某航班時,需要直接將該航班的信息取出。直接存取方法便適合於這類應用,它通常用於磁碟文件。
為了實現直接存取,一個文件可以看作由順序編號的物理塊組成的,這些塊常常劃成等長,作為定位和存取的一個最小單位,如一塊為1024位元組、4096位元組,視系統和應用而定。於是用戶可以請求讀塊22、然後,寫塊48,再讀塊9等等。直接存取文件對讀或寫塊的次序沒有限制。用戶提供給操作系統的是相對塊號,它是相對於文件開始位置的一個位移量,而絕對塊號則由系統換算得到。
索引存取:
第三種類型的存取是基於索引文件的索引存取方法。由於文件中的記錄不按它在文件中的位置,而按它的記錄鍵來編址,所以,用戶提供給操作系統記錄鍵後就可查找到所需記錄。通常記錄按記錄鍵的某種順序存放,例如,按代表健的字母先後次序來排序。對於這種文件,除可採用按鍵存取外,也可以採用順序存取或直接存取的方法。信息塊的地址都可以通過查找記錄鍵而換算出。實際的系統中,大都採用多級索引,以加速記錄查找過程。
⑤ 簡述Linux有技術特點 急
一、Linux伺服器版本的關鍵技術特點 1.中文平台 以前的中文平台在X Window下著重於截取X的函數或通訊協議,紅旗Linux 2.0在紅旗Linux1.1.2的基礎上有了重大突破,完全在國際化的基礎上架構了全新的中文顯示技術,沒有對X的函數及通信協議作任何修改就完全能夠顯示漢字,支持TrueType顯示,並且支持TrueType的無級縮放與字型變換等。 長期以來Linux的中文輸入處於非常混亂的局面,其實在X Window上很早就有一套國際規范來解決X上的輸入問題,這就是XIM。Rfinput是紅旗Linux利用Imdkit開發的遵循XIM的輸入法,她支持智能ABC、GBK拼音、區位、鄭碼,以及在香港很有聲望的九方輸入法,並可以方便地對它進行擴充。 紅旗Linux伺服器版支持三種語言,即簡體中文、繁體中文和英文,用戶可自由在三種語言之間進行切換。 2.日誌文件系統 盡管Linux可以支持種類繁多的文件系統,但是幾乎所有的Linux發行版都用ext2作為默認的文件系統。ext2在寫入文件內容的同時並沒有寫入文件的meta-data和文件有關的信息,如果在寫入文件內容之後但在寫入文件的meta-data之前,突然斷電,文件系統就會處於不一致的狀態。在一個需要大量文件操作的系統中,出現這種情況會導致很嚴重的後果。重新啟動的時候,Linux會運行一個叫做「fsck」(file system check)的程序,掃描整個文件系統。修復不了是經常的事。如果文件系統很大,fsck掃描要費很長時間。在一個有數十億個文件的計算機上,fsck可能要運行10個小時以上。在這段時間內,系統是不可用的。 日誌文件系統可以幫助解決這個問題。目前正在開發的有三種日誌文件系統:ReiserFS、ext3、jfs,其中已經完成且應用較多的是ReiserFS文件系統,一直被用在SGI的高端Unix上面。據說在Linux內核2.4.0以上的版本可能將採用ReiserFS作為它的文件系統。當前的ReiserFS只能在Intel結構體繫上使用,支持其他體系結構的版本正在積極開發中。 ReiserFS文件系統與ext2相比有很多特點: (1)搜尋方式 ReiserFS是基於平衡樹的文件系統結構,尤其對於大量文件的巨型文件系統,如伺服器上的文件系統,搜索速度要比ext2快;ext2使用局部的二分查找法,綜合性能比不上ReiserFS。 (2)空間分配和利用情況 ReiserFS里的目錄是完全動態分配的,因此不存在ext2中常見的無法回收巨型目錄佔用的磁碟空間的情況。ReiserFS里小文件(<4kB)可以直接存儲進樹,小文件讀取和寫入的速度更快。 (3)先進的日誌機制 ReiserFS有先進的日誌(Journaling/logging)機制,在系統意外崩潰的時候,未完成的文件操作不會影響到整個文件系統結構的完整性。對於較大型的伺服器文件系統,ext2「文件系統檢查」可能要持續好幾個小時。在日誌的幫助下,每個對數據結構的改變都被記錄下來,日誌機制保證了在每個實際數據修改之前,相應的日誌已經寫入硬碟。在系統突然崩潰後,下次啟動只需幾秒鍾就能恢復成一個完整的系統。 (4)支持海量磁碟和優秀的綜合性能 ReiserFS的出現,使Linux擁有了像Irix/AIX那樣的高檔商用Unix才有的高級文件系統,可輕松管理上百GB的文件系統。 ReiserFS一個最受人批評的缺點是每升級一個版本,都將要將磁碟重新格式化一次,這個缺點也正在改進中。 3.伺服器集群(Cluster) Cluster是將兩個(或更多)系統(節點)協調起來一起工作,提供相同服務或實現相同目的的一種計算機機群;在外面看來,整個像一個系統一樣,這樣可用來提高服務的穩定性和/或核心網路服務的性能。Cluster已經發展多年,但原來都需要專業的軟/硬體設備才能實現,只有少數公司才能用得起。隨著Linux的流行,出現了許多基於Linux、基於PC的Cluster解決方案,使更多的人有機會構建自己的Cluster,而且這些基於Linux的軟體大多都是遵循GPL協議的。 許多自由軟體的程序員在Linux集群技術方面作了許多卓越的工作,使Linux具有強大的集群能力。而其中引以自豪的是LVS(Linux Virtual Server)項目組,負責人是中國人—張文嵩,他們的成果已被廣為接受。紅旗Linux伺服器版2.0整合了這些技術成果,將其成功的引進到紅旗Linux中,為用戶提供了這種Linux虛擬伺服器的解決方案。 (1)集群技術的分類 ①基於雙機系統的集群 這種方式的特點是利用硬體的方式來提高系統的高可用性,嚴格地講還不能稱為真正意義的集群,實際上是兩台(或更多台)計算機通過一定方式互相監聽,實現熱備份。當其中主節點出現問題時,備用機能夠自動立即接替工作,使用戶感覺不出停機。在主節點恢復正常之後,備用機又會把工作還給主節點。 ②基於負載均衡(Load Balance)的集群 Load Balance應用在Web Server上比較多。用戶訪問一個地址,但實際上後台有若乾颱伺服器在提供服務。而當服務請求達到飽和時,還可以很容易地再添加新的節點而不用停掉整個Cluster,實現所謂的「熱插拔」。而且,Cluster還會查詢真實節點的情況,當某台真實節點沒有響應時,就不再把任務分配到那裡,直到這台節點恢復正常。
⑥ 簡述Linux有技術特點 急
一、 Linux的主要特點 1.符合POSIX 1003.1標准POSIX 1003.1標準定義了一個最小的Unix操作系統介面,任何操作系統只有符合這一標准,才有可能運 行Unix程序。考慮到Unix具有豐富的應用程序,當今絕大多數操作系統都把滿足POSIX 1003.1標准作為實現 目標,Linux也不例外,它完全支持POSIX 1003.1標准。另外,為了使Unix System V和BSD上的程序能直接在 Linux上運行, Linux還增加了部分System V和BSD的系統介面,使Linux成為一個完善的Unix程序開發系統。 CT6itug
CT6itug
2.支持多用戶訪問和多任務編程Linux是一個多用戶操作系統,它允許多個用戶同時訪問系統而不會造成用戶之間的相互干擾。另外, Linux還支持真正的多用戶編程,一個用戶可以創建多個進程,並使各個進程協同工作來完成用戶的需求. CT6itug
CT6itug
3.採用頁式存儲管理 頁式存儲管理使Linux能更有效地利用物理存儲空間,頁面的換入換出為用戶提供了更大的存儲空間。 CT6itug
CT6itug
4.支持動態鏈接用戶程序的執行往往離不開標准庫的支持,一般的系統往往採用靜態鏈接方式--即在裝配階段就已將 用戶程序和標准庫鏈接好,這樣,當多個進程運行時,可能會出現庫代碼在內存中有多個副本而浪費存儲 空間的情況。Linux 支持動態鏈接方式,當運行時才進行庫鏈接,如果所需要的庫已被其它進程裝入內存, 則不必再裝入,否則才從硬碟中將庫調入。這樣能保證內存中的庫程序代碼是唯一的。 CT6itug
CT6itug
5.支持多種文件系統 Linux能支持多種文件系統。目前支持的文件系統有:EXT2、EXT、XIAFS、ISOFS、HPFS、MSDOS、UMSDOS、 PROC、NFS、SYSV、MINIX、SMB、UFS、NCP、VFAT、AFFS。Linux最常用的文件系統是EXT2,它的文件名長度可 達255字元,並且還有許多特有的功能,使它比常規的Unix文件系統更加安全。 CT6itug
CT6itug
6.支持TCP/IP、SLIP和PPP在Linux中,用戶可以使用所有的網路服務,如網路文件系統、遠程登錄等。SLIP和PPP能支持串列線上的 TCP/IP協議的使用,這意味著用戶可用一個高速Modem通過電話線連入Internet網中。 CT6itug
CT6itug
除了上述基本特徵外,Linux還具有其獨有的特色: CT6itug
CT6itug
1.支持硬碟的動態Cache 這一功能與MS DOS中的Smartdrive相似。所不同的是,Linux能動態調整所用的 Cache存儲器的大小,以適合當前存儲器的使用情況,當某一時刻沒有更多的存儲空間可用時,Cache將被減少, 以增加空閑的存儲空間,一旦存儲空間不再緊張,Cache的大小又將增加。2.支持不同格式的可執行文件 Linux具有多種模擬器,這使它能運行不同格式的目標文件。其中,DOS和 MS Windows正在開發之中,iBCS2模擬器能運行SCO Unix的目標程序。(iBCS2 模擬器不是Linux標准核心的 一部分,但可從ftp.informatik.hu berlin.de:/pub/os/linux下載) CT6itug
CT6itug
二、 Linux的主要構成 CT6itug
CT6itug
Linux採用頁式存儲管理機制,每個頁面的大小隨處理機晶元而異。例如,Intel 386處理機頁面大小 可為4KB和2MB兩種,而Alpha處理機頁面大小可為8KB、16KB、32KB和64KB。頁面大小的選擇對地址變換算 法和頁表結構會有一定的影響,如Alpha的虛地址和物理地址的有效長度隨頁面尺寸的變化而變化,這種變 化必將在地址變換和頁表項中有所反映。在Linux中,每一個進程都有一個比實際物理空間大得多的進程虛擬空間,為了建立虛擬空間和物理空 間之間的映射,每個進程還保留一張頁表,用於將本進程空間中的虛地址變換成物理地址。頁表還對物理頁 的訪問許可權作出了規定,定義了哪些頁可讀寫,哪些頁是只讀頁,在進行虛實變換時,Linux將根據頁表中規 定的訪問許可權來判定進程對物理地址的訪問是否合法,從而達到存儲保護的目的。 Linux存儲空間分配遵循的是不到有實際需要的時候決不分配物理空間的原則。當一個程序載入執行時, Linux只為它分配了虛空間,只有訪問某一虛地址而發生了缺頁中斷時,才為它分配物理空間,這樣就可能 出現某些程序運行完成後,其中的一些頁從來就沒有裝進過內存。這種存儲分配策略帶來的好處是顯而易見的,因為它最大限度地利用了物理存儲器。盡管Linux對物理存儲器資源的使用十分謹慎,但還是經常出現物理存儲器資源短缺的情況。Linux有一 個名為kswapd的守護進程專門負責頁面的換出,當系統中的空閑頁面小於一定的數目時,kswapd將按照一定的淘 汰演算法選出某些頁面,或者直接丟棄(頁面未作修改),或者將其寫回硬碟(頁面已被修改)。這種換出方式不 同於較舊版本Unix的換出方式,它是將一個進程的所有頁全部寫回硬碟。相比之下,Linux的效率更高。 CT6itug
CT6itug
2.進程管理在Linux中,進程是資源分配的基鏡ノ唬 凶試炊際且越 濤 韻罄唇 蟹峙淶摹?在一個進程的生 命期內,它會用到許多系統資源,會用CPU運行其指令,用存儲器存儲其指令和數據,它也會打開和使用文件 系統中的文件,直接或間接用到系統中的物理設備,因此,Linux設計了一系列的數據結構,它們能准確地描 述進程的狀態和其資源使用情況,以便能公平有效地使用系統資源。Linux的調度演算法能確保不出現某些進程 過度佔用系統資源而導致另一些進程無休止地等待的情況。 CT6itug
CT6itug
進程的創建是一個十分復雜的過程,通常的做法需為子進程重新分配物理空間,並把父進程空間的內容全 盤復制到子進程空間中,其開銷非常大。為了降低進程創建的開銷,Linux採用了Copy on write技術,即不 拷貝父進程的空間,而是拷貝父進程的頁表,使父進程和子進程共享物理空間,並將這個共享空間的訪問許可權 置為只讀。當父進程和子進程的某一方進行寫操作時,Linux檢測到一個非法操作,這時才將要寫的頁進行復制 。這一做法免除了只讀頁的復制,從而降低了開銷。Linux目前尚未提供用戶級線程,但提供了核心級線程,核心線程的創建是在進程創建的基礎上稍做修改, 使創建的子進程與父進程共享虛存空間。從這一意義上講,核心線程更像一個共享進程組。CT6itug
CT6itug
3.文件系統Linux最重要的特徵之一就是支持多個不同的文件系統,前面我們已經看到,Linux目前支持的文件系統 多達十餘種,隨著時間的推移,這一數目還在不斷增加。在Linux中,一個分離的文件系統不是通過設備標識 (如驅動器號或驅動器名)來訪問,而是 把它合到一個單一的目錄樹結構中,通過目錄來訪問,這一點與Unix十分相似。Linux用 安裝命令將一個新的文件系統安裝到系統單一目錄樹的某一目錄下,一旦安裝成功,該目錄下的所有內容將 被新安裝的文件系統所覆蓋,當文件系統被卸下後,安裝目錄下的文件將會被重新恢復。CT6itug
CT6itug
Linux最初的文件系統是Minix。該文件系統對文件限制過多,並且性能低下,如文件名長度不能超過14 個字元、文件大小不能超過64MB。為了解決這些問題,Linux的開發者們設計了一個Linux專用的文件系統EXT。 EXT對文件的要求放鬆了許多,但在性能上並沒有大的改觀,於是就有了後面的EXT2文件系統。EXT2文件系統 是一個非常成功的文件系統,它無論是對文件的限制還是在性能方面都大大優於EXT文件系統,所以,EXT2自 從推出就一直是Linux最常用的文件系統。為了支持多種文件系統,Linux用一個被稱為虛擬文件系統(VFS)的介面層將真正的文件系統同操作系統及 系統服務分離開。VFS掩蓋了不同文件系統之間的差異,使所有文件系統在操作系統和用戶程序看來都是等同的。VFS允許用戶同時透明地安裝多個不同的文件系統。 CT6itug
CT6itug
4.進程間通信Linux提供了多種進程間的通信機制,其中,信號和管道是最基本的兩種。除此以外,Linux也提供 System V的進程間通信機制,包括消息隊列、信號燈及共享內存。為了支持不同機器之間的進程通信, Linux還引入了BSD的Socket機制。 CT6itug
CT6itug
三、 Linux的不足及發展趨勢Linux從出現到現今只經歷了短短七年的時間,但其發展速度是驚人的,這與它的開放性和優良的性能 是密不可分的。不過我們應該看到,作為一個由學生開發的系統,Linux還有許多先天不足,它的設計思想 過多地受到傳統操作系統的約束,沒有體現出當今操作系統的發展潮流,具體表現在以下幾個方面: CT6itug
CT6itug
不是一個微內核操作系統;是一個分布式操作系統;不是一個安全的操作系統;沒有用戶線程;不支持實時處理; CT6itug
CT6itug
代碼是用C而不是C++這樣的現代程序設計語言編寫的。盡管Linux有這樣和那樣的不足,但其發展潛力不容低估,其發展的動力就是遍布全球、為數眾多的 Linux熱心者。今後Linux將會朝著完善功能、提高效率的方向發展,包括允許用戶創建線程、增加實時處 理功能、開發適合多處理機體系結構的版本。我們相信,Linux、Unix及NT三足鼎立的時代將為期不遠。 Linux主要由存儲管理、進程管理、文件系統、進程間通信等幾部分組成,在許多演算法及實現策略上, Linux借鑒了Unix的成功經驗,但也不乏自己的特色。 CT6itug
CT6itug
1.存儲管理 作為一個操作系統,Linux幾乎滿足當今Unix操作系統的所有要求,因此,它具有Unix操作系統的基本特徵。
⑦ linux 文件系統 是什麼意思
文件系統是操作系統用於明確存儲設備(常見的是磁碟,也有基於NANDFlash的固態硬碟)或分區上的文件的方法和數據結構;
即在存儲設備上組織文件的方法。
操作系統中負責管理和存儲文件信息的軟體機構稱為文件管理系統,簡稱文件系統。
文件系統由三部分組成:文件系統的介面,對對象操縱和管理的軟體集合,對象及屬性。
從系統角度來看,文件系統是對文件存儲設備的空間進行組織和分配,負責文件存儲並對存入的文件進行保護和檢索的系統。