當前位置:首頁 » 操作系統 » linuxgetty

linuxgetty

發布時間: 2022-05-11 23:29:16

linux系統的文字登錄界面tty1~tty6終端有什麼區別各有什麼優劣之處

1、tty1~tty6各終端之間沒有區別的,是為了方便用戶的登錄。

同時利用其同一用戶或其他用戶同時登錄,切換用戶的時候,只需要使用alt+ctrl+fn切換即可,方便管理。

2、當tty1 登錄後,出現死機時,可切換到tty2(alt+ctrl+f2),利用另一個用戶登錄。

利用root用戶登錄,ps -aux | grep program_name查詢到剛才的那個讓系統死機的進程,然後kill pid掉即可。

這時系統就會恢復正常,可通過service program_name start再次啟動這個進程。

3、通過w命令,或who命令可以查看當前登錄的用戶。

其中line那個欄位就表示用戶所使用的登錄終端,tty1表示虛擬控制台,通過ALT+CTRL+FN。

pts/n,遠程登錄的用戶,使用securecrt,putty等遠程登錄工具登錄的用戶,終端顯示的就是pts/n,比如說pts/0,在本機上,的xwindow下,打開的那個終端,也顯示為pts/n。

4、可以更改ttyn虛擬控制台virtual console的數量,在/etc/inittab文中

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

這6行,就表示可以啟動的tty了。

第一個欄位(1-6)表示編號。

第二個欄位,表示在那種運行級別啟動ttyn,其中2345就表示在runlevel為2345都啟動此ttyn。如果你只想在指定的運行級別啟動某個ttyn的話,可以修改這個欄位的值,

比如,tty4隻能在運行級別為35時(是runlevel 3 和runlevel 5),刪除24即可。

如果想啟動某個運行級別只需要注視掉對應的行即可。要重新開啟時,刪除#即可。

(1)linuxgetty擴展閱讀:

ubuntu終端命令:

sudo: Executing Commands with Elevated Privileges 執行命令特權 sudo是允許系統管理員讓普通用戶執行一些或者全部的root命令的一個工具,如halt,reboot,su等等。

這樣不僅減少了root用戶的登陸 和管理時間,同樣也提高了安全性。Sudo不是對shell的一個代替,它是面向每個命令的。

㈡ 為什麼linux的TTY登錄程序getty/agetty一般都會設置一個

getty是Unix類操作系統啟動時必須的三個步驟之一,用來開啟終端,進行終端的初始化。 目前一般常用的getty程序有如下幾種: 1.agetty(有時直接稱為getty):容易設置,無須配置文件。適用於直接連接的終端; 2.getty(getty_ps的一部分):

㈢ getty進程和tomcat里的bin有什麼關系

應該沒有關系,不過對於linux/unix系統來說,用終端登錄(例如telnet)就會起getty的進程。
getty是用來初始化終端的。

㈣ Linux如何啟動流程Linux啟動流程詳解

當用戶打開電源後,BIOS開機自檢,確定啟動設備,安裝啟動設備,啟動設備上面安裝的GRUB開始引導Linux,Linux首先先進行內核引導,通過跟切換,執行init程序,init程序確定啟動級別,根據啟動級別進行系統初始化和運行的服務,然後返回init啟動終端,用戶通過驗證成功登陸Shell,這就是一個從開機到登陸的啟動過程。

一、硬體引導啟動
當用戶打開電源後POST開始自檢,檢測硬體設備是否確實或者存在故障(是否影響正常開機),如果不影響正常開機,就把任務交給BIOS。BIOS通過搜索,安裝啟動確定啟動設備,啟動項為硬碟,BIOS去讀取硬碟的前512位元組到內存,找到BootLoader,確定GRUB

二、GRUB引導啟動內核
這一部分概況起來就是:GRUB程序載入執行並開始引導kernel程序

Boot Loader就是在操作系統內核運行之前運行的一小段程序。通過GRUB引導可以確定內核程序,因為引導扇區只有446位元組,GRUB只是一個小的程序安裝在裡面,真正使用的在MBR後面的扇區存放,我們想使用Bootloader GRUB功能必須讀取後面的文件,Bootloader GRUB功能程序的運行和載入配置選項分為三個階段

Stage1階段:
Stage1階段其實就是執行系統安裝時預先寫入到MBR的Bootloader中的程序。

Stage1階段的任務僅是將硬碟0柱面0磁軌2扇區的內容讀入內存並執行,它是Stage1.5階段或Stage2階段的入口,引導進入Stage1.5階段或Stage2階段。 在此Stage1階段,還沒有識別文件系統的能力。

Stage1.5階段:
stage1.5階段是stage1階段和stage2階段的中間橋梁。stage1.5階段具有識別啟動分區文件系統的能力,此後GRUB程序便有能力去訪問/boot分區下/grub目錄下的 stage2文件,並將stage2載入內存執行。

Stage2階段
Stage2階段執行時,首先會解析GRUB程序的配置文件grub.conf,並依配置文件決定是否顯示系統啟動菜單。然後載入內核鏡像到內存中,通過initrd程序建立RAMDisk內存虛擬根文件系統。此時控制權將轉交給內核程序。

三、內核引導啟動
這一部分主要是通過在內存中建立虛擬根文件系統實現相關設備的驅動並建立和切換到真正的根文件系統。

解壓內核鏡像載入到內存,以及initrd程序建立RAMDisk內存虛擬根文件系統後,內核開始驅動基本硬體,並調用虛擬根文件系統中的init程序載入驅動模塊初始化系統中各種設備的相關配置工作,其中包括CPU、I/O、存儲設備等。當所需的驅動程序載入完後,會根據grub.conf配置文件中「root=XXX」部分所指定的內容創建一個根設備,然後將根文件系統以只讀的方式掛載,並切換到真正的根文件系統上,同時調用系統進程的/sbin/init程序,進入系統初始化階段。

四、系統初始化
這一步是通過/sbin/init,init程序准備軟體運行壞境,啟動系統服務

通過/etc/inittab文件確定運行級別,然後去執行系統初始化腳本/etc/rc.sysinit,為用戶初始化用戶空間環境,在完成初始化後,根據運行級別,系統開始對應級別的目錄啟動服務,關閉那些不要的服務(裡面S99local -> ../rc.local)用戶自動服務啟動腳本

運行級別:為系統運行或維護等目的而設定;0-6:7個級別
0:關機
1:單用戶模式(root自動登錄), single, 維護模式
2: 多用戶模式,啟動網路功能,但不會啟動NFS;維護模式
3:多用戶模式,正常模式;文本界面
4:預留級別;可同3級別
5:多用戶模式,正常模式;圖形界面
6:重啟
默認級別:3, 5
切換級別:init #
查看級別:runlevel ; who -r
五、啟動終端,用戶登錄
這一步是用戶登錄shell過程

如果沒有改變級別,默認情況執行/sbin/mingetty打開6個純文本終端,讓用戶輸入用戶名和密碼。輸入完成後,再調用login程序,核對密碼。如果密碼正確,就從文件 /etc/passwd 讀取該用戶指定的shell,然後啟動這個shell。更多Linux介紹請查看《Linux就該這么學》。

㈤ 請問Linux作為伺服器操作系統都是嵌入式的嗎

zt
我幫你查找了兩個資料,你看看對你是否可以有點幫助;
嵌入式Linux系統的設計與應用
摘要:隨著嵌入式Linux系統的迅速發展,嵌入式Linux已發展成為嵌入式操作系統的一個重要分支。本文介紹了嵌入式Linux的設計和幾種流行的嵌入式Linux系統。

關鍵詞:嵌入式Linux

一、引言

嵌入式系統(Embedded Systems)是根據應用的要求,將操作系統和功能軟體集成於計算機硬體系統之中,從而實現軟體與硬體一體化的計算機系統。嵌入式系統出現於60年代晚期,它最初被用於控制機電電話交換機,如今已被廣泛的應用於工業製造、過程式控制制、通訊、儀器、儀表、汽車、船舶、航空、航天、軍事裝備、消費類產品等眾多領域。嵌入式系統在數量上遠遠超過了各種通用計算機系統:計算機系統核心CPU,每年在全球范圍內的產量大概在二十億顆左右,其中超過80%應用於各類專用性很強的嵌入式系統。

一般的說,凡是帶有微處理器的專用軟硬體系統都可以稱為嵌入式系統。和通用的計算平台相比,嵌入式系統往往具有功能單一、體積小、功耗低、可靠性高、剪裁性好、軟硬體集成度高、計算能力相對較低等特點。多年來,嵌入式設備中沒有操作系統,其主要原因有二:首先,諸如洗衣機、微波爐、電冰箱這樣的設備僅僅需要一道簡單的控製程序,以管理數量有限的按鈕和指示燈,沒有使用操作系統的必要;其次,它往往只具有有限的硬體資源,不足以支持一個操作系統。

然而,隨著硬體的發展,嵌入式系統變得越來越復雜,最初的控製程序中逐步的加入了許多功能,而這些功能中有很多可以由操作系統提供。於是,在70年代末期出現了嵌入式操作系統(Embedded Operating Systems),它的出現大大簡化了應用程序設計,並可以有效的保障軟體質量和縮短開發周期。簡單的ES一般並不使用操作系統,只包含一些控制流程,但是隨著嵌入式操作系統在復雜性上的增長,簡單的流程式控制制就不能滿足系統的要求,這是就必須考慮使用操作系統做系統軟體。因此,嵌入式操作系統就應運而生。

隨著EOS的廣泛應用,業界已推出一些應用比較成功的EOS產品。歸納起來EOS應該具有以下幾個特點:小巧、實時性、可裝卸、固化代碼、弱交互性、強穩定性和統一的介面。目前使用最多的EOS產品包括有:Vxwork、QNX、PalmOS、WindowsCE、pSOS、Hopen OS(國內凱思集團公司自主研製開發)等。其中,Vxwork使用最為廣泛、市場佔有率最高,其突出特點是實時性強(採用優先順序搶占和輪轉調度等機制),除此之外,其可靠性和可剪裁性也相當不錯。QNX是一種伸縮性極佳的系統,其核心加上實時POSIX環境和一個完整的窗口系統還不到一兆。相比之下,Microsoft WinCE的核心體積龐大,實時性能也差強人意,但由於Windows系列友好的用戶界面和為程序員所熟悉的API,並捆綁IE、Office等應用程序,正逐漸獲得更大的市場份額。而與這些商業化的操作系統相比,Linux已經越來越受到人們的注意。

二、嵌入式Linux概述

Linux是一個成熟而穩定的網路操作系統。將Linux植入嵌入式設備具有眾多的優點。首先,Linux的源代碼是開放的,任何人都可以獲取並修改,用之開發自己的產品。其次,Lirmx是可以定製的,其系統內核最小隻有約134kB。一個帶有中文系統和圖形用戶界面的核心程序也可以做到不足1MB,並且同樣穩定。另外,它和多數Unix系統兼容,應用程序的開發和移植相當容易。同時,由於具有良好的可移植性,人們已成功使Linux運行於數百種硬體平台之上。

然而,Linux並非專門為實時性應用而設計,因此如果想在對實時性要求較高的嵌入式系統中運行Linux,就必須為之添加實時軟體模塊。這些模塊運行的內核空間正是操作系統實現進程調度、中斷處理和程序執行的部分,因此錯誤的代碼可能會破壞操作系統,進而影響整個系統的可靠性和穩定性。Linux的眾多優點還是使它在嵌入式領域獲得了廣泛的應用,並出現了數量可觀的嵌入式Linux系統。其中有代表性的包括:uClinux、ETLinux、ThinLinux、LOAF等。ETLinux通常用於在小型工業計算機,尤其是PC/104模塊。ThinLinux面向專用的照相機伺服器、X-10控制器、MP3播放器和其它類似的嵌入式應用。LOAF是Linux On A Floppy的縮略語,它運行在386平台上。

三、Linux作為嵌入式操作系統的優勢

Linux作為嵌入式操作系統的優勢主要有以下幾點:

1、 可應用於多種硬體平台。Linux已經被移植到多種硬體平台,這對於經費,時間受限制的研究與開發項目是很有吸引力的。原型可以在標准平台上開發後移植到具體的硬體上,加快了軟體與硬體的開發過程。Linux採用一個統一的框架對硬體進行管理,從一個硬體平台到另一個硬體平台的改動與上層應用無關。Linux可以隨意地配置,不需要任何的許可證或商家的合作關系,源代碼可以免費得到。這使得採用Linux作為操作系統不會遇到任何關於版權的糾紛。毫無疑問,這會節省大量的開發費用。本身內置網路支持,而目前嵌入式系統對網路支持要求越來越高。Linux的高度模塊化使添加部件非常容易。

2、 Linux是一個和Unix相似、以內核為基礎的、具有完全的內存訪問控制,支持大量硬體(包括X86,Alpha、ARM和Motorola等現有的大部分晶元)等特性的一種通用操作系統。其程序源碼全部公開,任何人可以修改並在GUN通用公共許可證(GNU General Public License)下發行。這樣,開發人員可以對操作系統進行定製,適應其特殊需要。

3、 Linux帶有Unix用戶熟悉的完善的開發工具,幾乎所有的Unix系統的應用軟體都已移植到了Linux上。Linux還提供了強大的網路功能,有多種可選擇窗口管理器(X Windows)。其強大的語言編譯器GCC,C++等也可以很容易得到,不但成熟完善,而且使用方便。

四、嵌入式Linux的建立

完整的嵌入式Linux解決方案應包括嵌入式Linux操作系統內核、運行環境、圖形化界面和應用軟體等。由於嵌入式設備的特殊要求,嵌入式Linux解決方案中的內核、環境、GUI等都與標准Linux有很大不同,其主要挑戰是如何在狹小的FLASH、ROM和內存中實現高質量的任務實時調度、圖形化顯示、網路通信等功能。

1、 精簡內核

Linux內核有自己的結構體系,其中進程管理、內存管理和文件系統是其最基本的3個子系統。圖1簡單表示了它的框架。用戶進程可直接通過系統調用或者函數庫來訪問內核資源。正因為Linux內核具有這樣的結構,因此修改內核時必須注意各個子系統之間的協調。

嵌入式Linux內核一般由標准Linux內核裁剪而來。用戶可根據需求配置系統,剔除不需的服務功能、文件系統和設備驅動。經過裁剪、壓縮後的系統內核一般只有300k左右,十分適合嵌入式設備。同標准Linux不同的是嵌入式Linux必須要實現從FLASH或ROM的啟動。標准Linux啟動代碼實現了系統初始化和從軟盤、硬碟O盤區引導內核。嵌入式Linux一般保存在FLASH或ROM中,標准LILO無法引導。在支持直接從FLASH設備引導的系統中,如華恆公司的uClinux,引導程序主要完成對硬體系統的初始化工作和操作系統的解壓、移位工作。在不支持直接從FLASH引導的系統中,FLASH設備只能作為非引導磁碟使用。此時,可採用先從硬碟或軟盤載入一個小操作系統,如嵌入式DOS,然後再執行"Loadlin"載入程序從FLASH引導嵌入式Linux。

對標准Linux的修改主要是虛擬內存和調度程序部分的改動。因為標准Linux系統使用虛擬內存管理的目的是為了能同時運行多個進程,但是這樣每個待運行的進程所能分配的CPU時間片就受限制,資源的使用效率就低。這樣對於實時性要求較高的嵌入式系統來說,實時任務往往要求CPU具有很高的突發處理能力,即在有些時候需要極高的處理效率,因此需要屏蔽內核的虛擬內存管理機制。對於無硬碟設備的嵌入式系統,不必採用虛存管理。強實時需求的嵌入式應用可以通過修改任務調度模塊實現,主要是在內核和設備驅動程序中加入了許多切換點。在該點處,系統檢測是否存在未處理的緊急中斷,有則剝奪內核的運行,及時處理中斷。實現實時性服務的一個較好的方法是在標準的Linux內核上增加一個實時內核,標准Linux內核作為一個任務運行於實時內核上,強實時性任務也直接運行在實時內核上,如RT-Linux等。

文件系統是嵌入式Linux操作系統必不可少的。但標准Linux支持大量的文件系統,因此除了滿足系統的正常運行需要而保留一種外,其它的全部可以刪除,利用原有的設置選項可以移除。一般嵌入式設備文件系統主要使用RamDisk技術和網路文件系統技術。RamDisk可駐留於Flash,運行時載入到內存中。

2、 精簡運行環境

Linux通常的運行環境指用戶運行任何應用的基礎設施,主要包括函數庫和基本命令集等。標准Linux系統同時向用戶提供了靜態和動態函數庫。靜態函數庫在生成應用時直接鏈接到用戶應用中。動態庫在應用運行時才鏈接。由於嵌入式系統應用一般都是在開發平台上預先生成的,因此嵌入式系統只需向應用提供動態函數庫。Linux應用運行所需的函數庫主要有C庫、數學庫、線程庫、加密庫、網路通信庫等。其中最基本的是C語言的運行庫glib。這個庫主要完成基本的輸入輸出,內存訪問,文件處理。一個標準的glib庫大約要1200kB存儲空間,考慮到嵌入式Linux內核往往很小,這種運行庫實在太大,我們做了一些精簡的工作,方法有兩種:(1)、使用靜態連接的方法,完全不使用運行庫動態連接;(2)、對這個庫的函數進行精簡。

在一個桌面系統上,使用動態連接可以帶來許多好處。使用動態連接庫,可以讓應用程序跟函數庫的更新、升級分離,便於維護,可以讓同時運行的多個程序共享一段代碼。但是,在嵌入式系統中,很少有多個程序並行的可能,程序的維護,尤其是庫函數的維護更新是不常見的。這時,使用靜態連接的優勢就極為明顯。因為靜態連接可以只將庫中用到的部分連接進程序。在應用程序較少(小於5)的情況下,靜態連接可以達到較好的結果。為了便於將來擴充的需要,我們也採用第二種方法,針對我們的需要,對庫函數的內容進行精簡,只保留一些基本功能,還有一種方法是採用其它的C語言運行庫。但是這些庫對兼容性影響很大。

基本命令集同樣是運行用戶應用的基礎,主要包括初始化進程init,終端獲取getty、Shell和基本命令等。嵌入式系統的啟動過程可能與標准Linux不同,例如跳過登錄過程直接啟動GUI等。這就要求修改init,getty等。標准Linux命令集同樣由於體積問題無法直接應用於嵌入式環境。目前,小命令集的解決方法主要有集成方法和匯編方法兩種。集成方法採用集成公共部分減少命令集整體體積,用C實現,有較好的平台移植性;匯編方法則採用匯編編程減少每個命令的體積.這樣可使體積很小但其平台移植性較差。

3、 嵌入式Linux下的GUI

GUI在嵌入式系統或者實時系統中的地位越來越重要,比如PDA、DVD播放機、WAP手機等,都需要一個完整.漂亮的圖形用戶界面。這些系統對GUI的基本要求包括:(1)、輕型、佔用資源少;(2)、高性能;(3)、高可靠性;(4)、可配置。這些也成為評價嵌入式系統的重要指標。目前,嵌入式Linux上的GUI主要有winCE、Micro Window、緊縮的X Window、MiniGUI(國內做得較好的自由軟體之一)。標准Linux的Xfree86由於體積龐大,運行環境要求高,無法運行於嵌入式環境。嵌入式GUI主要通過削減功能,降低性能來實現體積小和佔用資源少。目前嵌入式Linux上的GUI環境主要有兩類:X類和win32類。X類GUI分為服務方和客戶方兩方。伺服器方提供滑鼠、鍵盤處理和顯示功能,客戶方是用戶應用,服務方和客戶方通過socket介面和X協議通信。採用該方式十分有利於遠程網路圖形化服務,客戶方和服務方可通過網路實現X協議和圖形顯示。典型的X類GUI有Micro Window、緊縮的X Window等。win32類的GUI不存在客戶方和服務方,每個任務都自成一體,任何任務間的切換、事件分發由專門的管理任務負責。如wiCE、MiniGUI就是類似於win32類的GUI。

五、當前流行的幾種嵌入式Linux系統

除了智能數字終端領域以外,Linux在移動計算平台、智能工業控制、金融業終端系統,甚至軍事領域都有著廣泛的應用前景。這些Linux被統稱為"嵌入式Linux"。

1、RT-Linux

這是由美國墨西哥理工學院開發的嵌入式Linux操作系統。到目前為止,RT-Linux已經成功地應用於太空梭的空間數據採集、科學儀器測控和電影特技圖像處理等廣泛領域。RT-Linux開發者並沒有針對實時操作系統的特性而重寫Linux的內核,因為這樣做的工作量非常大,而且要保證兼容性也非常困難。為此,RT-Linux提出了精巧的內核,並把標準的Linux核心作為實時核心的一個進程,同用戶的實時進程一起調度。這樣對Linux內核的改動非常小,並且充分利用了Linux下現有的豐富的軟體資源。

2、uClinux

uCLinux是Lineo公司的主打產品,同時也是開放源碼的嵌入式Linux的典範之作。uCLinux主要是針對目標處理器沒有存儲管理單元MMU(Memory Management Unit) 的嵌入式系統而設計的。它已經被成功地移植到了很多平台上。由於沒有MMU,其多任務的實現需要一定技巧。uCLinux是一種優秀的嵌入式Linux版本,是micro-Conrol-Linux的縮寫。它秉承了標准Linux的優良特性,經過各方面的小型化改造,形成了一個高度優化的、代碼緊湊的嵌入式Linux。雖然它的體積很小,卻仍然保留了Linux的大多數的優點:穩定、良好的移植性、優秀的網路功能、對各種文件系統完備的支持和標准豐富的API。它專為嵌入式系統做了許多小型化的工作,目前已支持多款CPU。其編譯後目標文件可控制在幾百KB數量級,並已經被成功地移植到很多平台上。

3、Embedix

Embedix是由嵌入式Linux行業主要廠商之一Luneo推出的,是根據嵌入式應用系統的特點重新設計的Linux發行版本。Embedix提供了超過25種的Linux系統服務,包括Web伺服器等。系統需要最小8MB內存,3MB ROM或快速快閃記憶體。Embedix基於Linux 2.2內核,並已經成功地移植到了Intel x86和PowerPC處理器系列上。像其它的Linux版本一樣,Embedix可以免費獲得。Luneo還發布了另一個重要的軟體產品,它可以讓在Windows CE上運行的程序能夠在Embedix上運行。Luneo還將計劃推出Embedix的開發調試工具包、基於圖形界面的瀏覽器等。可以說,Embedix是一種完整的嵌入式Linux解決方案。

4、Xlinux

XLinux是由美國網虎公司推出,主要開發者是陳盈豪。他在加盟網虎幾個月後便開發出了基於XLinux的、號稱是世界上最小的嵌入式Linux系統,內核只有143KB,而且還在不斷減小。XLinux核心採用了"超字元集"專利技術,讓Linux核心不僅可能與標准字元集相容,還含蓋了1 2個國家和地區的字元集。因此,XLinux在推廣Linux的國際應用方面有獨特的優勢。

5、PoketLinux

由Agenda公司採用、作為其新產品"VR3PDA"的嵌入式Linux操作系統。它可以提供跨操作系統構造統一的、標准化的和開放的信息通信基礎結構,在此結構上實現端到端方案的完整平台。PoketLinux資源框架開放,使普通的軟體結構可以為所有用戶提供一致的服務。PoketLinux平台使用戶的視線從設備、平台和網路上移開,由此引發了信息技術新時代的產生。在PoketLinux中,稱之為用戶化信息交換(CIE),也就是提供和訪問為每個用戶需求而定製的"主題"信息的能力,而不管正在使用的設備是什麼。

6、MidoriLinux

由Transmeta公司推出的MidoriLinux操作系統代碼開放,在GUN普通公共許可(GPL)下發布,可以在http://midori.transmeta.com上立即獲得。該公司有個名為"MidoriLinux計劃"。"MidoriLinux"這個名字來源於日本的"綠色"---Midori,用來反映其Linux操作系統的環保外觀。

7、紅旗嵌入式Linux

由北京中科院紅旗軟體公司推出的嵌入式Linux是國內做得較好的一款嵌入式操作系統。目前,中科院計算所自行開發的開放源碼的嵌入式操作系統---Easy Embedded OS(EEOS)也已經開始進入實用階段了。該款嵌入式操作系統重點支持p-Java。系統目標一方面是小型化,另一方面能重用Linux的驅動和其它模塊。由於有中科院計算所的強大科研力量做後盾,EEOS有望發展成為功能完善、穩定、可靠的國產嵌入式操作系統平台。

六、結束語

由於Linux是一個內核源代碼開放、具備一整套工具鏈、有強大的網路支持及成本低廉的操作系統,因此嵌入式Linux自誕生起就秉承了這眾多獨特優勢,這使它正在並越來越多地受到人們的關注。據Even Data數據顯示,期望使用嵌入式Linux的用戶從2001年的11%增到2002年27%,而同期Vxwork只是從16%到18%,Win CE從9%到14%。另外,在嵌入式Linux的各種應用市場中,通信(語音和數據)名列第一,2000年的銷售額是1300萬美元,而2005年預計將達到1.26億美元,可以預見,嵌入式Linux將在未來的通信用嵌入式操作系統中占據強有力的地位

Linux是目前十分火爆的操作系統。它是由芬蘭赫爾辛基大學的一個大學生Linus B. Torvolds在1991年首次編寫的。標志性圖標是一個可愛的小企鵝。

Linux是一種類Unix系統,Linus當時編寫它的目的是為了替代一種名叫Minix的操作系統。Minix是由一個名叫Andrew Tannebaum的計算機教授編寫的,當時由於Unix是一個商業軟體,其源代碼是不能拿來進行教學的,Andrew教授就自己編寫了一個系統用於教學。最
初的Minix用一張軟盤就能裝下,麻雀雖小、五臟俱全,Minix具有一般操作系統的特徵,它同時兼容Unix系統。

Linux是一個免費的操作系統,用戶可以免費獲得其源代碼,並能夠隨意修改。它是在共用許可證GPL(General Public License)保護下的自由軟體,也有好幾種版本,如Red Hat Linux、Slackware,以及國內的Xteam Linux等。

Linux具有許多Unix系統的功能和特點,能夠兼容Unix,但無需支付Unix高額的費用。比如一個Unix程序員在單位可以在Unix系統上進行工作,回到家裡在Linux系統上也能完成同樣的工作,而不必重新購買Unix。要知道Unix的價格比常見的Windows要高出若干倍,和Linux的低廉更是相距甚遠。

Linux的應用也十分廣泛。Sony最新的PS2游戲機就採用了Linux作為系統軟體,使PS2搖身一變,成為了一台Linux工作站。著名的電影《泰坦尼克號》的數字技術合成工作就是利用100多台Linux伺服器來完成的。

2001年8月17日,Linux發布了最新的Linux 2.4.9版,它也已經十歲了。

Linux的優點

Linux的流行是因為它具有許多誘人之處。

1、完全免費

Linux是一款免費的操作系統,用戶可以通過網路或其他途徑免費獲得,並可以任意修改其源代碼。這是其他的操作系統所做不到的。正是由於這一點,來自全世界的無數程序員參與了Linux的修改、編寫工作,程序員可以根據自己的興趣和靈感對其進行改變。這讓Linux吸收了無數程序員的精華,不斷壯大。

2、完全兼容POSIX 1.0標准

這使得可以在Linux下通過相應的模擬器運行常見的DOS、Windows的程序。這為用戶從Windows轉到Linux奠定了基礎。許多用戶在考慮使用Linux時,就想到以前在Windows下常見的程序是否能正常運行,這一點就消除了他們的疑慮。

3、多用戶、多任務

Linux支持多用戶,各個用戶對於自己的文件設備有自己特殊的權利,保證了各用戶之間互不影響。多任務則是現在電腦最主要的一個特點,Linux可以使多個程序同時並獨立地運行。

4、良好的界面

Linux同時具有字元界面和圖形界面。在字元界面用戶可以通過鍵盤輸入相應的指令來進行操作。它同時也提供了類似Windows圖形界面的X-Windows系統,用戶可以使用滑鼠對其進行操作。在X-Windows環境中就和在Windows中相似,可以說是一個Linux版的Windows。

5、豐富的網路功能

互聯網是在Unix的基礎上繁榮起來的,Linux的網路功能當然不會遜色。它的網路功能和其內核緊密相連,在這方面Linux要優於其他操作系統。在Linux中,用戶可以輕松實現網頁瀏覽、文件傳輸、遠程登陸等網路工作。並且可以作為伺服器提供WWW、FTP、E-Mail等服務。

6、可靠的安全、穩定性能

Linux採取了許多安全技術措施,其中有對讀、寫進行許可權控制、審計跟蹤、核心授權等技術,這些都為安全提供了保障。Linux由於需要應用到網路伺服器,這對穩定性也有比較高的要求,實際上Linux在這方面也十分出色。

7、支持多種平台

Linux可以運行在多種硬體平台上,如具有x86、680x0、SPARC、Alpha等處理器的平台。此外Linux還是一種嵌入式操作系統,可以運行在掌上電腦、機頂盒或游戲機上。2001年1月份發布的Linux 2.4版內核已經能夠完全支持Intel 64位晶元架構。同時Linux也支持多處理器技術。多個處理器同時工作,使系統性能大大提高。

Linux的不足

由於在現在的個人電腦操作系統行業中,微軟的Windows系統仍然佔有大部分的份額,絕大多數的軟體公司都支持Windows。這使得Windows上的應用軟體應有盡有,而其他的操作系統就要少一些。許多用戶在換操作系統的時候都會考慮以前的軟體能否繼續使用,換了操作系統後是否會不方便。雖然Linux具有DOS、Windows模擬器,可以運行一些Windows程序,但Windows系統極其復雜,模擬器所模擬的運行環境不可能完全與真實的Windows環境一模一樣,這就使得一些軟體無法正常運行。

許多硬體設備面對Linux的驅動程序也不足,不少硬體廠商是在推出Windows版本的驅動程序後才編寫Linux版的。但一些大硬體廠商在這方面做得還不錯,他們的Linux版驅動程序一般都推出得比較及時。

軟體支持的不足是Linux最大的缺憾,但隨著Linux的發展,越來越多的軟體廠商會支持Linux,它應用的范圍也越來越廣。這只小企鵝的前景是十分光明的。

㈥ 在UNIX或Linux中TTY是什麼意思

TTY設備包括虛擬控制台,串口以及偽終端設備。
TTY是TeleTYpe的一個老縮寫。Teletypes,或者teletypewriters,原來指的是電傳打字機,是通過串列線用列印機鍵盤通過閱讀和發送信息的東西,和古老的電報機區別並不是很大。之後,當計算機只能以批處理方式運行時(當時穿孔卡片閱讀器是唯一一種使程序載入運行的方式),電傳打字機成為唯一能夠被使用的「實時」輸入/輸出設備。最終,電傳打字機被鍵盤和顯示器終端所取代,但在終端或TTY接插的地方,操作系統仍然需要一個程序來監視串列埠。一個getty「Get TTY」的處理過程是:一個程序監視物理的TTY/終端介面。
在Linux中,TTY也許是跟終端有關系的最為混亂的術語。TTY是TeleTYpe的一個老縮寫。Teletypes,或者teletypewriters,原來指的是電傳打字機,是通過串列線用列印機鍵盤通過閱讀和發送信息的東西,和古老的電報機區別並不是很大。之後,當計算機只能以批處理方式運行時(當時穿孔卡片閱讀器是唯一一種使程序載入運行的方式),電傳打字機成為唯一能夠被使用的「實時」輸入/輸出設備。最終,電傳打字機被鍵盤和顯示器終端所取代,但在終端或TTY接插的地方,操作系統仍然需要一個程序來監視串列埠。一個getty「Get TTY」的處理過程是:一個程序監視物理的TTY/終端介面。對一個虛擬網路伺服器(VNC)來說,一個偽裝的TTY(Pseudo-TTY,即假冒的TTY,也叫做「PTY」)是等價的終端。當你運行一個xterm(終端模擬程序)或GNOME終端程序時,PTY對虛擬的用戶或者如xterm一樣的偽終端來說,就像是一個TTY在運行。「Pseudo」的意思是「plicating in a fake way」(用偽造的方法復制),它相比「virtual」或「emulated」更能真實的說明問題。而在的計算中,它卻處於被放棄的階段。
tty也是一個Unix命令,用來給出當前終端設備的名稱。
終端是一種字元型設備,它有多種類型,通常使用tty來簡稱各種類型的終端設備。

在Linux系統的設備特殊文件目錄/dev/下,終端特殊設備文件一般有以下幾種:

串列埠
串列埠終端(Serial Port Terminal)是使用計算機串列埠連接的終端設備。計算機把每個串列埠都看作是一個字元設備。有段時間這些串列埠設備通常被稱為終端設備,因為那時它的最大用途就是用來連接終端。這些串列埠所對應的設備名稱是/dev/tts/0(或/dev/ttyS0),/dev/tts/1(或/dev/ttyS1)等,設備號分別是(4,0),(4,1)等,分別對應於DOS系統下的COM1、COM2等。若要向一個埠發送數據,可以在命令行上把標准輸出重定向到這些特殊文件名上即可。例如,在命令行提示符下鍵入:echo test > /dev/ttyS1會把單詞」test」發送到連接在ttyS1(COM2)埠的設備上。

偽終端
偽終端(Pseudo Terminal)是成對的邏輯終端設備(即master和slave設備,對master的操作會反映到slave上)。
例如/dev/ptyp3和/dev/ttyp3(或者在設備文件系統中分別是/dev/pty /m3和 /dev/pty/s3)。它們與實際物理設備並不直接相關。如果一個程序把ptyp3(master設備)看作是一個串列埠設備,則它對該埠的讀/ 寫操作會反映在該邏輯終端設備對應的另一個ttyp3(slave設備)上面。而ttyp3則是另一個程序用於讀寫操作的邏輯設備。telnet主機A就是通過「偽終端」與主機A的登錄程序進行通信。

控制終端
如果當前進程有控制終端(Controlling Terminal)的話,那麼/dev/tty就是當前進程的控制終端的設備特殊文件。可以使用命令」ps –ax」來查看進程與哪個控制終端相連。對於你登錄的shell,/dev/tty就是你使用的終端,設備號是(5,0)。使用命令」tty」可以查看它具體對應哪個實際終端設備。/dev/tty有些類似於到實際所使用終端設備的一個聯接。

控制台
在Linux 系統中,計算機顯示器通常被稱為控制台終端(Console)。它模擬了類型為Linux的一種終端(TERM=Linux),並且有一些設備特殊文件與之相關聯:tty0、tty1、tty2 等。當你在控制台上登錄時,使用的是tty1。使用Alt+[F1—F6]組合鍵時,我們就可以切換到tty2、tty3等上面去。tty1–tty6等稱為虛擬終端,而tty0則是當前所使用虛擬終端的一個別名,系統所產生的信息會發送到該終端上(這時也叫控制台終端)。因此不管當前正在使用哪個虛擬終端,系統信息都會發送到控制台終端上。/dev/console即控制台,是與操作系統交互的設備,系統將一些信息直接輸出到控制台上。只有在單用戶模式下,才允許用戶登錄控制台。

虛擬終端
在Xwindow模式下的偽終端.如在Kubuntu下用konsole,就是用的虛擬終端,用tty命令可看到/dev/pts/name,name為當前用戶名。

其它類型
Linux系統中還針對很多不同的字元設備存在有很多其它種類的終端設備特殊文件。例如針對ISDN設備的/dev/ttyIn終端設備等。
tty設備包括虛擬控制台,串口以及偽終端設備。
/dev/tty代表當前tty設備,在當前的終端中輸入 echo 「hello」 > /dev/tty ,都會直接顯示在當前的終端中。
Text Telephones (TTY)
聾啞人電話,在手機插入專用設備後支持收發文本,需網路支持,中國網路不支持TTY.
除聾啞模式外,還支持只聽不說(HCO)和只說不聽(VCO)兩種模式。

㈦ 什麼是linux里的終端和偽終端

1)、首先明確:
控制終端(/dev/tty) 這是個在應用程序中的一個概念,前台進程有個控制終端,就對應這個。不過它並不指任何物理意義上的終端,其實/dev/tty會映射到當前的設備(通過tty命令可以看到),比如你如果在控制台界面下(即字元界面下)那麼dev/tty就是映射到dev/tty1-6之間的一個(取決於你當前的控制台號),但是如果你現在是在圖形界面(Xwindows),那麼你會發現現在的/dev/tty映射到的是/dev/pts的偽終端上。比如你可以輸入命令 #tty 那麼將顯示當前映射終端如:/dev/tty1或者/dev/pts/0等。

控制台終端:控制台是一種人機介面, 不通過終端與主機相連, 而是通過顯示卡-顯示器和鍵盤介面分別與主機相連, 這是人控制主機的第一人機介面。一般PC機只有控制台沒有終端。
如同其他UNIX類系統,Linux本身也是基於命令行的。試試「Ctrl」+「Alt」+「Fx」。這就是控制台,算是Linux的本來面目。

2)、tty0是tty1或者ttyn的一個別名或者鏈接,為什麼這么說呢?
當我們使用tty0的時候,我們得到他的子設備號是0,於是在宏TTY_TABLE中,我們會得到tty_table[fg_console]這個終端設備。fg_console是當前的終端設備在tty_table數組中的下標。
通過這個宏,找到了tty0對應的ttyn,然後讀鍵盤,寫顯示器這些操作都是對ttyn進行的。
所以說tty0隻是一個別名,幫助你映射當前正在使用的某個ttyn。而tty1-tty6是控制台終端,是你用控制台上通過getty軟體虛擬出來的(數量可以在/etc/inittab里自己調)。

㈧ linux下的etc是什麼意思

etc:
初期:早期UNIX中,貝爾實驗室的解釋是:etcetra directory 。 etc. 就是Et cetra。表示其他、等等什麼的,英語里能常常看都這個縮寫的。是用來放其他不能歸類到其他目錄中的內容。
後來FHS規定用來放配置文件,就解釋為:"Editable Text Configuration" 或者 "Extended Tool Chest"。
linux下/etc為系統配置文件目錄,該目錄包含系統啟動腳本、啟動配置文件、用戶登陸配置文件、網路配置文件、httpd 配置文件、IPSec 配置文件和其他文件等。可參考《Linux就該這么學》了解更多關於Linux的知識。

㈨ 請問linux操作系統是免費的嗎

linux系統一般分為伺服器版和桌面版,
伺服器版一般由企業單獨發行,系統的安裝使用本身不收費,但升級,維護的服務收費,但還是蠻公道,比windows server 2003便宜好多。
桌面版有企業和社區聯合發行,完全免費,可以升級,而且也不提供專業的維護,使用過程問題中遇到的問題需要用戶自己在論壇等地方尋求解決方案。不過,linux桌面版都有企業支持的論壇,可以有效的解決問題。

但是,linux系統的話費並不只在於系統本身的授權使用費用,因為它的難以操作,需要專業人員維護,以及系統的遷移都是有花費的。
盡管說linux桌面版本的使用越來越簡單,以致於普通的電腦達人(只要不是小白,對計算機技術多少有點興趣的)都可以熟練的操作。但伺服器的運維還是需要專業人員的。

㈩ LINUX、UNIX系統啟動不成功,要如何解決

A 內核引導
當計算機打開電源後,首先是BIOS開機自檢,按照BIOS中設置的啟動設備(通常是硬碟)來啟動。緊接著由啟動設備上的grub程序開始引導linux,當引導程序成功完成引導任務後,Linux從它們手中接管了CPU的控制權,然後CPU就開始執行Linux的核心映象代碼,開始了Linux啟動過程。也就是所謂的內核引導開始了,在內核引導過程中其實是很復雜的,我們就當它是一個黑匣子,反正是linux內核做了一些列工作,最後內核調用載入了init程序,至此內核引導的工作就完成了。交給了下一個主角init。
B 運行init
init
進程是系統所有進程的起點,你可以把它比擬成系統所有進程的老祖宗,沒有這個進程,系統中任何進程都不會啟動。init 程序首先是需要讀取配置文件
/etc/inittab。inittab是一個不可執行的文本文件,它有若干行指令所組成。具體內容如下:(你可以在你的linux上執行命令 cat
/etc/inittab 這樣獲得)

復制代碼
代碼如下:
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Author: Miquel van Smoorenburg,
# Modified for RHS Linux by Marc Ewing and Donnie Barnes
#
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not havenetworking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
###表示當前預設運行級別為5(initdefault);
id:5:initdefault:
###啟動時自動執行/etc/rc.d/rc.sysinit腳本(sysinit)
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
###當運行級別為5時,以5為參數運行/etc/rc.d/rc腳本,init將等待其返回(wait)
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
###在啟動過程中允許按CTRL-ALT-DELETE重啟系統
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
# When our UPS tells us power has failed, assume we have a few minutes
# of power left. Schele a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
###在2、3、4、5級別上以ttyX為參數執行/sbin/mingetty程序,打開ttyX終端用於用戶登錄,
###如果進程退出則再次運行mingetty程序(respawn)
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
###在5級別上運行xdm程序,提供xdm圖形方式登錄界面,並在退出時重新執行(respawn)
# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm -nodaemon

以上面的inittab文件為例,來說明一下inittab的格式。其中以#開始的行是注釋行,除了注釋行之外,每一行都有以下格式:
代碼如下:
id:runlevel:action:process

對上面各項的詳細解釋如下:
1. id
id是指入口標識符,它是一個字元串,對於getty或mingetty等其他login程序項,要求id與tty的編號相同,否則getty程序將不能正常工作。
2. Runlevel
runlevel是init所處於的運行級別的標識,一般使用0-6以及S或s。0、1、6運行級別被系統保留:其中0作為shutdown動作,1作為重啟至單用戶模式,6為重啟;S和s意義相同,表示單用戶模式,且無需inittab文件,因此也不在inittab中出現,實際上,進入單用戶模式時,init直接在控制台(/dev/console)上運行/sbin/sulogin。在一般的系統實現中,都使用了2、3、4、5幾個級別,在CentOS系統中,2表示無NFS支持的多用戶模式,3表示完全多用戶模式(也是最常用的級別),4保留給用戶自定義,5表示XDM圖形登錄方式。7-9級別也是可以使用的,傳統的Unix系統沒有定義這幾個級別。runlevel可以是並列的多個值,以匹配多個運行級別,對大多數action來說,僅當runlevel與當前運行級別匹配成功才會執行。
3. action
action是描述其後的process的運行方式的。action可取的值包括:initdefault、sysinit、boot、bootwait等:initdefault是一個特殊的action值,用於標識預設的啟動級別;當init由核心激活以後,它將讀取inittab中的initdefault項,取得其中的runlevel,並作為當前的運行級別。如果沒有inittab文件,或者其中沒有initdefault項,init將在控制台上請求輸入runlevel。sysinit、boot、bootwait等action將在系統啟動時無條件運行,而忽略其中的runlevel。其餘的action(不含initdefault)都與某個runlevel相關。各個action的定義在inittab的man手冊中有詳細的描述。

熱點內容
android音源 發布:2024-10-09 14:55:19 瀏覽:118
預編譯sql怎麼模糊查詢 發布:2024-10-09 14:31:24 瀏覽:217
我的世界伺服器被占違法嗎 發布:2024-10-09 14:27:50 瀏覽:390
資源配置如何發生作用 發布:2024-10-09 14:27:48 瀏覽:685
next數組演算法 發布:2024-10-09 14:25:38 瀏覽:138
存儲錄制視頻失敗 發布:2024-10-09 14:24:12 瀏覽:87
演算法結合硬體 發布:2024-10-09 14:11:37 瀏覽:997
安卓驅動編譯進內核 發布:2024-10-09 13:59:30 瀏覽:604
ubuntunginx編譯 發布:2024-10-09 13:27:36 瀏覽:725
怎麼查伺服器ip段 發布:2024-10-09 13:08:04 瀏覽:152