




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
會計學1Linux內核分析概述本講內容Linux操作系統內核簡介linux內核分析概論第1頁/共34頁第一節Linux操作系統內核簡介Linux操作系統簡介Linux內核版本簡介第2頁/共34頁什么是linux操作系統Linux是:多任務的多用戶多平臺工作在保護模式下遵守POSIX標準遵守SYSV和BSD擴展遵守GPL許可32位(也有64位)的類UNIX開放源代碼的免費
的操作系統它是由芬蘭赫爾辛基大學的學生LinusTorvalds在1991年開發出來的
第3頁/共34頁POSIX
POSIX表示可移植操作系統接口(PortableOperatingSystemInterface,縮寫為
POSIX是為了讀音更像UNIX)。電氣和電子工程師協會(InstituteofElectricalandElectronicsEngineers,IEEE)
最初開發
POSIX標準,是為了提高
UNIX環境下應用程序的可移植性。然而,POSIX并不局限于
UNIX。
許多其它的操作系統,例如
WinNT,都支持
POSIX標準。POSIX.1已經被國際標準化組織(InternationalStandardsOrganization,ISO)所接受,被命名為
ISO/IEC9945-1:1990標準。SYSV和BSD擴展
可以理解為和SYSV和BSD源代碼級的兼容。簡單一點,就是Linux下的應用程序同時也能在這兩個系統上運行。。GPL(GeneralPublicLicense)
公用許可證。第4頁/共34頁Linux的來歷Linux最早是LinusTorvalds在1991年開始設計開發的。linus是芬蘭人,赫爾辛基是芬蘭的首都,當時他正是赫爾辛基大學計算機系的學生,23歲。1990年的秋天,linus在赫爾辛基大學學習UNIX(一種操作系統,和linux有密切聯系,在后面本章小節中我會詳悉介紹)課程,教材是Andrew
Tanenbaum教授寫的《操作系統:設計與實現》(現在中譯本很多,大家可以找來看看)。《操作系統:設計與實現》是用Minix(Andy
Tanenbaum教授所寫的很小的Unix操作系統,主要用于操作系統教學。第5頁/共34頁Linux的來歷剛開始他是在Minix環境下寫了一個處理多任務切換的程序,用他自己的話來描述這個程序:“這個程序包括兩個進程,都是向屏幕上寫字母,然后用一個定時器來切換這兩個進程。一個進程寫A,另一個進程寫B,所以我就在屏幕上看到了AAAA,BBBB,如此循環重復的輸出結果。”linus在練習使用Minix時,發現其功能很不完善。于是他就有了一個目標:寫一個比Minix更好的Minix。所以Minix是linux的父親第6頁/共34頁Linux的來歷在1991的時候,主觀上有了這樣一個目標,當時linus又需要一個簡單的終端仿真程序來存取Usenet新聞組的內容,于是他就開始在上面兩個草草編寫的進程的基礎上又寫了一個程序。他是這樣描述的:“一個進程是從鍵盤上閱讀輸入然后發送給調制解調器,另一個進程是從調制解調器上閱讀發送過來的信息然后送到屏幕上供人閱讀。”然而要實現這兩個新的進程,他顯然還需要一些別的東西,這就是驅動程序。他必須為不同的顯示器、鍵盤和調制解調器編寫驅動程序。1991年的夏季,也就是他購買了第一臺PC機之后6個月,Linus覺得他還需要從網上下載某些文件,為此他必須讀寫某個磁盤。于是他又不得不寫一個磁盤驅動程序,然后是一個文件系統。而一旦你有了任務切換器、文件系統和設備驅動程序之后,你當然就擁有了一個操作系統,或者至少是它的一個內核。linux也就這樣誕生了。第7頁/共34頁第8頁/共34頁
1994年,Torvalds終于推出了Linux的正式的1.0版本。此時這個操作系統已經變得比較穩定并且擁有很多的高級特性了:支持搶先多任務、對稱多處理和完全的POSIX兼容性等。它甚至有了自己的吉祥物!Torvalds在Linux的聯機文檔里這樣描述到:"它是一只討人喜歡的、讓人一見就想擁抱的、剛剛飽餐了一頓鯡魚的企鵝"。在1998年Linux獲得了廣泛支持,尤為重要的是幾乎所有的大型軟件公司都宣布推出或即將為Linux開發相應的產品。有人預測在2003年之前成為緊隨微軟WindowsNT之后的第二大操作系統。
Linux的吉祥物是Linux企鵝,它是由LinuxTorvalds挑選的代表他所創立的Linux操作系統.Linux的來歷第9頁/共34頁linux名字由來
開始,linux還沒有專門的新聞組。linus只是在赫爾辛基技術大學的一臺FTP服務器上發了一則消息,說可以下載linux的公開版本。Linux是linus的筆名,他擔心如果用Linux來命名的話有人會說他狂妄而且不會認真對它。于是他用了一個很怪的名字Freak(free+freak+X)---free就是自由;freak愿意是怪胎的意思。表示這個系統還有很多不完善的地方。加上X是模仿UNIX和MINIX讓人家一看就知道這是一個操作系統。后來,這臺FTP的管理員不喜歡Freax這個名字,最后選擇了Linux.。第10頁/共34頁自由軟件
RichardStallman在1971年加入MIT的人工智能實驗室,他認為:知識應該與其它能從知識中受益的人一起共享,重要的資源應該被利用。他想把自己開發的軟件與其它人共享,按照法律,他是MIT的員工,他寫的程序是屬于MIT的。為了不冒犯法律,毅然辭職。大約在一年以后,由于個別的公司控制了許多公共軟件的開發項目。自1984年起MIT開始支持RichardStallman的努力。這樣就導致了自由軟件基金會(FreeSoftwareFoundation,FSF)的建立。他認為:計算機系統因該開放,軟件應該自由使用。第11頁/共34頁GNURichardStallman打算組織開發一個完全基于自由軟件的軟件體系——GNU(GNU'sNotUnix,GNU這個單詞含義正好是產于南非州的一種大羚羊,所以我們經常可以看到有些linux書的封面是一只羚羊,就是這個道理。)。它的目標是:寫一個完整的與UNIX兼容的軟件系統。由于剛開始還沒有很好的自由軟件可供使用。所以他們先從系統的應用軟件和工具著手。比如很有名的:emacs(編輯器)gcc(據說是世界上效率最高的編譯器)等等。同時他們也開發GUN體系的操作系統內核:hurd。可是開發得很緩慢。到現在也沒有全部完工。第12頁/共34頁GPL在其它人協作下,Stallman創作了通用軟件許可證(GeneralPublicLicese,GPL)。這對推動自由軟件的發展起了重要作用。GPL主要的規定:
1)GPL保證任何人有共享和修改自由軟件的自由。還可以把修改后的軟件向公眾發布。但是發布者要無條件開放其源代碼。這樣就保證自由軟件的低價。
2)GPL規定自由軟件的衍生作品必須以GPL為重新發布的許可證。這樣就保證了自由軟件的持續性。
3)GPL規定允許公司銷售自由軟件。這就為公司介入自由軟件事業敞開大門。第13頁/共34頁Linux和自由軟件
自從1991Linux發布以來,一直是完全自由擴散的。他要求所有的源碼必須公開且任何人不準從中獲利。這樣它限制了Linux以磁盤或CD-ROM等媒介的發布形式。從而阻礙了Linux得發展。因為沒有哪家公司愿意使用沒有廠商保證和沒有良好技術支持的操作系統。linus想到了GPL。事實也證明,加入GPL之后,許多軟件公司就介入其中,開發了多種Linux的發行版本。如:Redhat
、Mandrake等等。他們增加了許多實用軟件和易用的圖形界面。linus本人也認為:“使Linux成為GPL的一員是我一生中作過最漂亮的一件事”。第14頁/共34頁Linux的發音據說,linux的創始人Linus(LinusTorvalds)針對讀音分歧較多的情況,特意錄了一段他對Linux的發音。這段錄音的內容是這樣的:“Hello,thisisLinusTorvaldsandIpronounceLinuxasLinux”。我聽出來的是/'li:nэks/,綜合網上和linus自己的讀音,概括出幾個自認為最合適也最通用的讀法:/Li'nks/(“里那克斯”)或/'li:nэks/(“里呢克斯”)或/Li'nu:ks?/(“里紐克斯”)。提示:上面的這段錄音可以在RedHat中調試聲卡的時候可以聽到,如果你的聲卡調試成功,系統會播放上面一段聲音以示成功。第15頁/共34頁linux和UNIX的關系
在講UNIX和linux兩者關系之前,我們先了解一下Minix。Minix最初是由AndrewTanenbaum教授在4.3BSD的基礎上,但不通過修改4.3BSD的源代碼而是白手起家幾乎一個人完成了12000行C語言程序的編寫工作。它的特點功能簡單、易懂可以在8086上運行(后來也能在80386上運行),當然我們稱它為UNIX操作系統。但這個Minix的功能也非常的有限,幾乎沒什么實用價值,但它能很好地作為教學使用。后來網上很多人給Tanenbaum教授寄來了改進,可是Tanenbaum教授沒有接受。他想保持Mnix小而簡單的特性。從它的名字中不難看出,Minix是一個迷你型的操作系統。第16頁/共34頁linux和UNIX的關系linux最初是由Minix發展而來,Minix是由4.3BSDUNIX發展而來,4.3BSDUNIX是由AT&T的所謂真正的UNIX發展而來。可以總結出:Minix是linux的父親,而UNIX則是linux的祖父了。雖然UNIX和linux的源代碼完全無關,可是linux中的許多特性和UNIX有很多相等之處。如:
1.Linux采用了SVR4的進程間通信(IPC)機制:共享內存、消息隊列、信號燈
2.Linux支持BSDSocket網絡編程接口
3.許多Linux發行版采用SysVinit機制,支持運行級別
所以我們認為linux是UNIX操作系統。第17頁/共34頁Liux發展的5大支柱第18頁/共34頁Linux的內核版本
Linux的內核版本linux發行版本第19頁/共34頁第20頁/共34頁第21頁/共34頁不同版本的核心源碼的文件數第22頁/共34頁Linux的內核版本Linux內核由其創始人linus帶領的小組維護。這個版本我們就認為是“官方版本”。內核版本號的格式是:主版本號.次版本號.修正號例如:Linux2.4.10,主版本號是2,次版本號是4,第10次修正.內核版本號還有一個規則:次版本號為偶數的是穩定版本,為基數的是發展版本。所謂穩定版本是指內核的特性已經固定,代碼運行穩定可靠,不再增加新的特性,要改進也只是修改代碼中的錯誤。第23頁/共34頁linux發行版本光有內核還不能構成一個完整的操作系統,于是一些組織或公司將內核與一些應用程序包裝起來就構成了一個完整的操作系統,這就是發行套件,不同的公司或組織的發行套件各不相同,版本號也不相同,盡管它們使用了同一版本號的內核。現在的發行公司很多,如:我們常聽說的RedHat,中軟,紅旗。第24頁/共34頁第二節linux內核分析概論Linux內核分析需要的基礎知識Linux0.01內核簡介Linux內核分析的方法、工具、參考書第25頁/共34頁Linux內核分析需要的基礎知識理論操作系統的基本知識LINUX基本操作8086硬件體系結構,接口編程知識語言C語言AT&T匯編和INTEL匯編,GCC內聯匯編第26頁/共34頁參考資料80386Programmer’sReferenceManual198
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國變速蠕動泵行業市場發展趨勢與前景展望戰略研究報告
- 2025-2030中國冰箱行業市場深度調研與發展策略研究報告
- 2025-2030中國全自主送貨機器人行業市場發展趨勢與前景展望戰略研究報告
- 2025-2030中國便攜式電池行業市場發展趨勢與前景展望戰略研究報告
- 2025-2030中國體育行業市場發展分析及前景預判與投資研究報告
- 2025-2030中國兩性離子洗滌劑行業市場發展趨勢與前景展望戰略研究報告
- 審計審核外包合同
- 拍賣質保協議
- 網絡平臺交易保證金合同
- 店鋪轉租協議范本
- 醫療行業移動醫療設備租賃服務方案
- 事業單位工會管理制度
- 零星工程施工合同2024年
- 震后學校維修合同書
- 2023-2024學年廣東省深圳市七年級下冊期中語文質量檢測試卷(附答案)
- 物業工程競標方案
- 新課標課堂教學設計與案例分析
- DB11/T 967-2013-塑料排水檢查井應用技術規程
- 教師與小學生“一對一”談心談話記錄表及文字內容
- KA-T 20.1-2024 非煤礦山建設項目安全設施設計編寫提綱 第1部分:金屬非金屬地下礦山建設項目安全設施設計編寫提綱
- 《機械制圖》期末考試題庫388題(含答案)
評論
0/150
提交評論