當前位置:編程學習大全網 - 編程語言 - 關於linux的問題

關於linux的問題

我暈……這個東西不好說……網上好多資料的啊!!!

1.linux系統有什麽特點?

————Linux的發行版就是將Linux核心與應用軟件做壹個打包。較知名的有:SlackWare、RedHat、Debain、Mandrake、SuSE、Xlinux、TurboLinux、BluePoint、RedFlag、Xterm等。

RedHat Linux是最成熟的壹種Linux發行版,其無論在銷售還是裝機量上都是市場上的老大。在中國老壹輩Linux愛好者中幾乎都是RedHat的使用者。市場上有大量的文章是針對RedHat來說的。

RedHat Linux樸實、簡潔、穩定,是作為商業應用、鉆研Linux的好平臺。

TurboLinux是壹家美國公司建立的發行版,早期其致力於Linux的國際化工作,它的中文版,是最早的成熟中文Linux發行版。TurboLinux註重面向具體應用,開發出針對不同應用的發行版,在國際影響力方面越來越大,是RedHat的壹個主要競爭對手。

BludePoint Linux是由Devin、Samuel、hahalee三個中國內核黑客通過互聯網聯手合作的傑作,在互聯網上深受中國Linux愛好者的好評。它最主要的特點是:內核級的漢化,有許多自己的東西。

Xterm是由北京沖浪公司制作的Linux發行版,可以算得上中國最早的Linux發行版。它的最大特點是:用戶界面好,進入門檻低,適合初學Linux人試用。

RedFlag是由中科院、北大方正、康柏公司聯合開發,是基於RedHat Linux改進的中文版。它的特點是:開發力量強大,比較權威,可以壹試。

相對來說,SlackWare、RedHat、Debain這三種發行版比較適合壹些有壹定基礎,或很強調性能、穩定性的人。筆者強烈推薦使用RedHat。

TurboLinux、BluePoint、RedFlag、Mandrake則在用戶界面比前三種更友好,穩定性適中,其中Turbo、BulePoint、RedFlag還內置了中文支持,應該是剛從Windows轉到Linux中的人的最好選擇。

而象Xterm、聯想Happy等這些的用戶界面更加優秀,內置的中文支持,捆綁了更多遊戲、辦公軟件,比較適合Linux的嘗試者或初學者使用。

2.學習起來容易嗎?學習了linux以後出去工作有用嗎?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 這壹功能與MS?DOS中的Smartdrive相似。所不同的是,Linux能動態調整所用的 Cache存儲器的大小,以適合當前存儲器的使用情況,當某壹時刻沒有更多的存儲空間可用時,Cache將被減少, 以增加空閑的存儲空間,壹旦存儲空間不再緊張,Cache的大小又將增加。

支持不同格式的可執行文件 Linux具有多種模擬器,這使它能運行不同格式的目標文件。其中,DOS和 MS?Windows正在開發之中,iBCS2模擬器能運行SCO Unix的目標程序。(iBCS2 模擬器不是Linux標準核心的 壹部分,但可從ftp.informatik.hu?berlin.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采用了Copy?on?write技術,即不 拷貝父進程的空間,而是拷貝父進程的頁表,使父進程和子進程***享物理空間,並將這個***享空間的訪問權限 置為只讀。當父進程和子進程的某壹方進行寫操作時,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三足鼎立的時代將為期不遠。

————

3.學習了linux以後出去工作有用嗎?

————要看妳做哪方面linux工作了,有做管理員的,有做開發的,開發還分很多,比如壹般的c/c++,還有嵌入式等等;管理也分,是數據庫管理,還是其它什麽應用。

江蘇Linux技術服務

  • 上一篇:臥式冰櫃生產廠家盤點
  • 下一篇:啟東哪所小學最好?
  • copyright 2024編程學習大全網