久久久久久久麻豆,中日韩av在线,麻豆av在线免费,中文字幕二区三区,欧美日韩视频一区二区,亚洲欧美日韩在线一区,国产无毒不卡

走進(jìn)Linux 操作系統(tǒng)


堅(jiān)力量是軟件工程師,因此多以實(shí)用性和效率為出發(fā)點(diǎn),很多地方還考慮了工業(yè)規(guī)范和兼容性等因素,因此不同于教學(xué)性操作系統(tǒng)追求理論上的*********性,linux系統(tǒng)內(nèi)核最注重的問題是實(shí)用和效率?! ∠旅嫖覀兒?jiǎn)要?dú)w納一下linux內(nèi)核的特色?! 〉谝唬琹inux內(nèi)核被設(shè)計(jì)成單巨內(nèi)核(monolithic?)結(jié)構(gòu)(相對(duì)微內(nèi)核而言,微內(nèi)核是一種功能更貼近硬件的核心軟件,它一般僅僅包括初等內(nèi)存管理、同步原語(yǔ)、程間通訊機(jī)制、i/o操作和中斷管理,這樣做有利于擴(kuò)展性和移植性。但是微內(nèi)核與諸如文件管理、設(shè)備驅(qū)動(dòng)、虛擬內(nèi)存管理、進(jìn)程管理等其它上層模塊之間需要有較高的通訊開銷,所以目前多集中在理論教學(xué)領(lǐng)域,對(duì)工業(yè)應(yīng)用效率難以保證。),因此效率高,緊湊性強(qiáng)?!   〉诙?, 2.6版本前l(fā)inux內(nèi)核是單線程結(jié)構(gòu)——所謂但線程結(jié)構(gòu)是說(shuō)同一時(shí)間只有一個(gè)執(zhí)行線程(內(nèi)核中的執(zhí)行程序)允許在內(nèi)核中運(yùn)行,不會(huì)被調(diào)度程序打斷運(yùn)行其它任務(wù),這種內(nèi)核被成為非搶占的,它的好處在于內(nèi)核中沒有并發(fā)任務(wù)(單處理器而言),因此避免了許多復(fù)雜的同步問題,但其不利影響是非搶占特性延遲了系統(tǒng)響應(yīng)速度,新任務(wù)必須等待當(dāng)前任務(wù)在內(nèi)核執(zhí)行退出才能獲得運(yùn)行機(jī)會(huì)。工業(yè)控制領(lǐng)域需要高響應(yīng)速度,因此2.6版本后由于robert love等人的貢獻(xiàn),將搶占技術(shù)引入了linux內(nèi)核,使得其變?yōu)閮?nèi)核搶占系統(tǒng),當(dāng)然付出的代價(jià)是同步操作進(jìn)一步復(fù)雜化了。    第三,為了保證能方便地支持新設(shè)備、新功能,又不會(huì)無(wú)限擴(kuò)大內(nèi)核規(guī)模,linux系統(tǒng)對(duì)設(shè)備驅(qū)動(dòng)或新文件系統(tǒng)等采用了模塊化方式,用戶在需要時(shí)可以現(xiàn)場(chǎng)動(dòng)態(tài)加載,使用完畢可以動(dòng)態(tài)卸載。同時(shí)對(duì)內(nèi)核,用戶也可以定制,選擇適合自己的功能,將不需要的部分剔除出內(nèi)核。這兩種技術(shù)都保證了內(nèi)核的緊湊性和擴(kuò)展性?!   〉谒模琹inux內(nèi)核純粹是一種被動(dòng)調(diào)用服務(wù)對(duì)象,所謂被動(dòng)是因?yàn)樗鼮橛脩舴?wù)的唯一方式是用戶通過(guò)系統(tǒng)調(diào)用來(lái)請(qǐng)求在內(nèi)核空間運(yùn)行某個(gè)函數(shù)。內(nèi)核本身是一種函數(shù)和數(shù)據(jù)結(jié)構(gòu)的集合,不存在運(yùn)行的內(nèi)核進(jìn)程為用戶服務(wù)(雖然linux的確存在一種被稱為內(nèi)核線程的進(jìn)程,但它并不是用來(lái)服務(wù)于用戶的,僅僅作為系統(tǒng)自身的服務(wù)目的)?!   〉谖澹?linux內(nèi)核的采用虛擬內(nèi)存技術(shù)使得內(nèi)存空間虛擬擴(kuò)展到了4gb之多,其中0-3g屬于用戶空間,稱為用戶段,3g-4g屬于用戶空間,稱為內(nèi)核段。這樣使得用戶編寫程序可以使用遠(yuǎn)遠(yuǎn)大于實(shí)際內(nèi)存的存儲(chǔ)空間。    第六, linux的文件系統(tǒng)******特點(diǎn)是實(shí)現(xiàn)了一種抽象文件模型——vfs(虛擬文件系統(tǒng)),該文件系統(tǒng)屬于unix風(fēng)格。使用虛擬文件系統(tǒng)屏蔽了各種不同文件系統(tǒng)的內(nèi)在差別,使得用戶可以使用同樣的方式訪問各種不同格式的文件系統(tǒng),可以毫無(wú)區(qū)別地在不同介質(zhì)不同格式的文件系統(tǒng)之間使用vfs提供的統(tǒng)一接口交換數(shù)據(jù)。這種抽象為linux帶來(lái)了無(wú)限活力。  第七, linux提供了一套很有效的延遲執(zhí)行機(jī)制——下半部分,軟中斷,tasklet和2.6新引入的工作列隊(duì)等,這些技術(shù)保證了系統(tǒng)可以針對(duì)任務(wù)的輕重緩急,更細(xì)粒度的選擇執(zhí)行時(shí)機(jī)。保證了系統(tǒng)運(yùn)行時(shí)盡量在安全時(shí)間(不關(guān)中斷)?!   inux除了以上提到的特色外,還有許多其它突出特點(diǎn),我們將在以后各期的介紹中有序地介紹。如果對(duì)上述特色有疑問的話,請(qǐng)別著急,后面的學(xué)習(xí)將為你解答?! inux 操作系統(tǒng)內(nèi)核結(jié)構(gòu)  linux內(nèi)核雖然實(shí)現(xiàn)和unix系統(tǒng)有很大不同,但是其結(jié)構(gòu)還基本保持和unix雷同,其中功能也和我們前面提到的操作系統(tǒng)內(nèi)核要求大體一致。  請(qǐng)見下圖    下面我們簡(jiǎn)要說(shuō)明一下個(gè)模塊之間的聯(lián)系。    用戶空間的任何程序如果需要使用內(nèi)核提供的服務(wù),都必須經(jīng)過(guò)系統(tǒng)調(diào)用,因此系統(tǒng)調(diào)用層和內(nèi)核中大多數(shù)模塊都留有接口,它們或是用來(lái)控制系統(tǒng)服務(wù)屬性(如sys_fnctl設(shè)置文件操作屬性;sys_nice設(shè)置進(jìn)程時(shí)間片),或是從內(nèi)核提取數(shù)據(jù)(如sys_time獲得由時(shí)間中斷維護(hù)的系統(tǒng)計(jì)時(shí)),或請(qǐng)求內(nèi)核分配資源(brk擴(kuò)展進(jìn)程堆內(nèi)存)?! ∥募到y(tǒng)包含vfs和各種實(shí)際文件系統(tǒng)。vfs為實(shí)際文件系統(tǒng)抽象了統(tǒng)一接口,而實(shí)際文件系統(tǒng)提供自身具體實(shí)例操作方法。另外在linux中和unix一樣設(shè)備被巧妙的歸屬為特殊文件,受文件系統(tǒng)抽象和管理,因此其操作方式和文件系統(tǒng)一致。文件系統(tǒng)將對(duì)設(shè)備的操作遞交給實(shí)際的設(shè)備驅(qū)動(dòng)處理?! inux中設(shè)備管理將設(shè)備被區(qū)分為塊設(shè)備——可以隨機(jī)訪問,如磁盤——和字符設(shè)備——只能順序訪問,如鍵盤。字符設(shè)備結(jié)構(gòu)簡(jiǎn)單,文件系統(tǒng)可將請(qǐng)求直接提交給字符設(shè)備驅(qū)動(dòng)處理,但是對(duì)于塊設(shè)備,由于頻繁的隨機(jī)訪問需要反復(fù)進(jìn)行磁盤尋址操作,這樣會(huì)對(duì)系統(tǒng)載核的帶來(lái)沉重負(fù)擔(dān),因此內(nèi)核對(duì)塊設(shè)備的請(qǐng)求必須加以整合,比如對(duì)請(qǐng)求排隊(duì)、合并、然后有選擇地派發(fā)給物理設(shè)備;另外讀取設(shè)備時(shí)還需要在內(nèi)存中進(jìn)行緩沖磁盤塊。因此在請(qǐng)求被提交給塊設(shè)備前必須經(jīng)過(guò)i/o層處理進(jìn)行預(yù)處理,在磁盤塊被讀取后必須由i/o層進(jìn)行塊緩沖處理?! ≈袛喙芾硐到y(tǒng)負(fù)責(zé)為設(shè)備服務(wù),它相比輪詢等方式節(jié)約了cpu周期,另外時(shí)鐘中斷還要負(fù)責(zé)更新系統(tǒng)時(shí)間,觸發(fā)進(jìn)程調(diào)度?! ?nèi)存是系統(tǒng)中的核心資源之一,是數(shù)據(jù)存儲(chǔ)和傳遞的必被條件,因此管理系統(tǒng)不但系統(tǒng)調(diào)用需要使用,而且?guī)缀跸到y(tǒng)中所有模塊都多多少少地需要使用內(nèi)存管理系統(tǒng)的函數(shù)。文件系統(tǒng)、i/o系統(tǒng)用來(lái)緩沖數(shù)據(jù)都需要分配內(nèi)存,進(jìn)程管理中的進(jìn)程數(shù)據(jù)存儲(chǔ),地址影射都需要內(nèi)存,堆的增長(zhǎng)也需要?jiǎng)討B(tài)請(qǐng)求內(nèi)存;還有就是進(jìn)程通訊中的一個(gè)有效方法就是利用共享內(nèi)存來(lái)實(shí)現(xiàn)的。  進(jìn)程管理除了和內(nèi)存管理和進(jìn)程通訊有關(guān)外,也和文件系統(tǒng)有重要關(guān)聯(lián),因?yàn)檫M(jìn)程資源中文件毫無(wú)疑問屬于最重要的部分之一,因此進(jìn)程管理系統(tǒng)也必須和文件系統(tǒng)交互。  其中個(gè)個(gè)模塊不是孤立的,而是聯(lián)系萬(wàn)千,對(duì)于其中奧秘,希望讀者仔細(xì)咀嚼。

                                                                    linux 操作系統(tǒng)的文件構(gòu)成     內(nèi)核雖說(shuō)是linux操作系統(tǒng)的精華所在,是其它程序賴以運(yùn)行的基礎(chǔ),但是如果一個(gè)實(shí)用的操作系統(tǒng)僅僅只有內(nèi)核,而在其上沒有豐富、強(qiáng)大的系統(tǒng)程序和應(yīng)用程序供用戶使用,就好比大廈建好了,也通了電,但卻沒有電梯、電話和辦公設(shè)備,用戶仍然無(wú)法入住使用。因此linux操作系統(tǒng)的發(fā)行版除了帶有內(nèi)核以外,還帶有大量的系統(tǒng)程序和應(yīng)用程序,比如最新紅帽子系統(tǒng)的發(fā)行版本句需要2-3張光盤,其中絕大部分是應(yīng)用程序。     要想深入學(xué)習(xí)linux內(nèi)核,首先需要能熟練使用linux操作系統(tǒng),了解整個(gè)系統(tǒng)文件構(gòu)成——正所謂,刨丁解牛,始見無(wú)非全牛者——由外至內(nèi)的學(xué)習(xí)linux,再?gòu)膬?nèi)向外推敲;從感性深入理性,再由理性返回感性,才會(huì)獲得最深刻的認(rèn)識(shí)。內(nèi)核的眾多特點(diǎn)最終還是要反映到用戶應(yīng)用上的,所以先熟悉應(yīng)用無(wú)疑會(huì)對(duì)內(nèi)核學(xué)習(xí)有很大裨益。而且學(xué)習(xí)內(nèi)核結(jié)構(gòu)的一個(gè)重要目的就是推動(dòng)我們更有效的使用linux操作系統(tǒng),無(wú)論是從系統(tǒng)管理角度來(lái)說(shuō)或是從程序開發(fā)角度上說(shuō),掌握內(nèi)核級(jí)別的系統(tǒng)調(diào)用、資源分配、中斷控制或進(jìn)程調(diào)度等技術(shù)都是不凡的價(jià)值,可以幫助你有效開發(fā)和駕馭系統(tǒng)。     這節(jié)我們先在這里簡(jiǎn)要介紹一下linux系統(tǒng)的文件構(gòu)成,將linux操作系統(tǒng)的外在全貌展現(xiàn)給大家。我們?cè)谙到y(tǒng)啟動(dòng)后,進(jìn)入系統(tǒng)所能觀察到的就是一系列目錄(使用ls或dir),認(rèn)識(shí)這些目錄構(gòu)成是學(xué)習(xí)使用linux系統(tǒng)的第一步,下面我們就羅列出主要目錄并簡(jiǎn)要描述各自內(nèi)容。linux系統(tǒng)根目錄/下包含包含:bin:該目錄存放最常用的基本命令,比如拷貝命令cp、編輯命令vi、刪除命令rm等。boot:該目錄包含了系統(tǒng)啟動(dòng)需要的配置文件、內(nèi)核(vmliuxz)和系統(tǒng)鏡像(initrd….img)等。dev:該目錄下存放的是linux中使用或未使用的外部設(shè)備文件(fd代表軟盤,hd代表硬盤等),使用這些設(shè)備文件可以用操作文件的方式操作設(shè)備。     etc:該目錄下包含了所有系統(tǒng)服務(wù)和系統(tǒng)管理使用的配置文件;比如系統(tǒng)日志服務(wù)的配置文件syslog.conf,系統(tǒng)用戶密碼文件passwd等     home:該目錄下包含了除系統(tǒng)管理員外的所有用戶的主目錄,用戶主目錄一般以用戶登陸帳號(hào)命名。     lib:該目錄下包含了系統(tǒng)使用的動(dòng)態(tài)連接庫(kù)(*.so)和內(nèi)核模塊(在modules下)。     host+found:該目錄包含了磁盤掃描檢測(cè)到的文件碎片,如果你非法關(guān)機(jī),那么下次啟動(dòng)時(shí)系統(tǒng)會(huì)進(jìn)行磁盤掃描,將損壞的碎片存到該目錄下。     mnt:該目錄下包含用戶動(dòng)態(tài)掛載的文件系統(tǒng)。如果要使用光盤,u盤都一般應(yīng)該將它們安裝到該目錄下的特定位置。     proc:該目錄屬于內(nèi)存影射的一個(gè)虛擬目錄,其中包含了許多系統(tǒng)現(xiàn)場(chǎng)數(shù)據(jù),比如進(jìn)程序數(shù),中斷情況,cpu信息等等,它其中的信息都是動(dòng)態(tài)生成的,不在磁盤中存儲(chǔ)。     root:該目錄是系統(tǒng)管理員(root用戶)的主目錄。     sbin:該目錄下包含系統(tǒng)管理員使用的系統(tǒng)管理命令,比如防火墻設(shè)置命令iptable,系統(tǒng)停機(jī)命令halt等   tmp:該目錄下包含一些臨時(shí)文件。   usr:該目錄下一般來(lái)說(shuō)包含系統(tǒng)發(fā)布時(shí)自帶的程序(但具體放什么東西,并沒有明確的要求),其中最值得說(shuō)明的有三個(gè)子目錄     /usr/src :linux內(nèi)核源代碼就存在這個(gè)目錄     /usr/man :linux中命令的幫助文件     /usr/local : 新安裝的應(yīng)用軟件一般默認(rèn)在該目錄下   var:該目錄中存放著在不斷擴(kuò)充著的信息,比如日志文件。     以上就是linux文件系統(tǒng)的原始構(gòu)成,熟悉它們是應(yīng)用linux操作系統(tǒng)的前提,希望大家親自打開各目錄看看。搭建linux試驗(yàn)系統(tǒng)實(shí)例  進(jìn)入后續(xù)章節(jié)討論的內(nèi)核前,我們先與讀者一同從頭構(gòu)架一個(gè)試驗(yàn)操作系統(tǒng)。這樣既有助大家熟悉linux操作系統(tǒng)的組成結(jié)構(gòu),也會(huì)在構(gòu)建過(guò)程中學(xué)習(xí)介紹一些linux命令和使用技巧,加深理解linux操作系統(tǒng)的運(yùn)作方式?! ?shí)驗(yàn)系統(tǒng)將在保證實(shí)用價(jià)值的基礎(chǔ)上,盡量小巧。希望大家通過(guò)親手構(gòu)建系統(tǒng)的過(guò)程中,能消除對(duì)linux的恐懼感,更希望讀者自己能使用裁減的系統(tǒng),給自己帶來(lái)成就感和學(xué)習(xí)熱情。必備的基礎(chǔ)知識(shí)   對(duì)于第一次接觸linux的朋友,僅僅看下面的內(nèi)容顯然不能指望學(xué)會(huì)linux的操作方法和系統(tǒng)行為,建議你去找本系統(tǒng)一點(diǎn)的linux系統(tǒng)教程慢慢咀嚼吧。對(duì)于像系統(tǒng)管理員這種大牛,跳過(guò)下面內(nèi)容吧,再高的就去看看新浪體育新聞什么的,別在這瞎轉(zhuǎn)了:)?! 〈罱ㄏ到y(tǒng)過(guò)程中將離不開敲擊各種各樣的命令,離不開執(zhí)行大大小小的shell腳本。而最整個(gè)過(guò)程中重要的是理解系統(tǒng)的運(yùn)行思路,一切活動(dòng)的指導(dǎo)思想都要圍繞系統(tǒng)運(yùn)

COPYRIGHT(C) 2011 廈門永宏亞得機(jī)電科技有限公司版權(quán)所有(閩ICP備05025945號(hào)) ALL RIGHTS RESERVED?

電話: 0592-5190891 傳真: 0592-5190720 E-Mail: E-mail:yade8895@163.com
地址: 廈門市海滄區(qū)興港六里17號(hào)2607室 郵編:361009 聯(lián)系人:翟先生