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

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


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

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

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

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