AssetBundle使用,卸載,校驗
920
2025-03-31
有這么一個故事,一個程序員去相親,當女方問他的職業(yè)時,他說自己是一個底層架構工程師,女方聽到“底層”兩個字,很不屑地說:“底層啊,那你什么時候能升到中高層?”男方聽后不知該如何接話。在程序員的世界里,Linux內(nèi)核、底層其實是非?!案叨恕钡膬?nèi)容,普通程序員需要在這個領域里積累多年,才能修煉到從事“底層”工作的層次。
Linux內(nèi)核是當前操作系統(tǒng)領域的絕對霸主,同時也是開源軟件中一顆璀璨的明星。國內(nèi)外眾多的公司和行業(yè)都采用Linux作為首選的操作系統(tǒng),學習Linux操作系統(tǒng)的人員也越來越多。Linux 內(nèi)核開發(fā)是一個讓人聽起來就覺得很了不起的工作,Linux 內(nèi)核開發(fā)領域的程序員與其他領域的程序員相比是少之又少,更別提一些優(yōu)秀的教程和書籍了。
《奔跑吧 Linux內(nèi)核 入門篇》一書從 Linux 發(fā)行版、開發(fā)工具、調試工具入手,講述了如何快速搭建內(nèi)核開發(fā)環(huán)境、如何正確地編寫和運行 Linux 內(nèi)核模塊,以及內(nèi)核開發(fā)中的一些基礎知識。本書有助于讀者在短時間內(nèi)理解內(nèi)核開發(fā)的全貌,從而具備內(nèi)核開發(fā)的能力。本書中實驗+案例,70余個創(chuàng)新實驗貫穿全書,與你分享業(yè)內(nèi)一線項目經(jīng)驗。
《奔跑吧 Linux內(nèi)核 入門篇》
掃描二維碼,一鍵購買
01
為什么要學Linux系統(tǒng)
Linux系統(tǒng)已經(jīng)被廣泛應用在人們的日常用品中,如手機、智能家居、汽車電子、可穿戴設備等,只不過很多人并不知道其使用的電子產(chǎn)品里面運行的是Linux系統(tǒng)。我們來看一下Linux基金會在2017年發(fā)布的一組數(shù)據(jù)。
90%的公有云應用在使用Linux系統(tǒng)。
62%的嵌入式市場在使用Linux系統(tǒng)。
99%的超級計算機在使用Linux系統(tǒng)。
82%的手機操作系統(tǒng)在使用Linux系統(tǒng)。
可能讀者還不知道,全球100萬個頂級域名中超過90%都在使用Linux;全球大部分的股票交易市場都是基于Linux系統(tǒng)來部署的,包括紐交所、納斯達克等;全球知名的淘寶網(wǎng)、亞馬遜網(wǎng)、易趣網(wǎng)、沃爾瑪?shù)入娮由虅掌脚_都在使用Linux。
這足以證明Linux系統(tǒng)是個人電腦操作系統(tǒng)之外的絕對霸主。參與Linux內(nèi)核開發(fā)的開發(fā)人員和公司也是最多、最活躍的,截至2017年有超過1600個開發(fā)人員和200家公司參與Linux內(nèi)核的開發(fā)。
02
如何學Linux內(nèi)核
Linux內(nèi)核采用C語言編寫,因此熟悉C語言是學習Linux內(nèi)核的基礎。讀者可以重溫C語言課程,然后閱讀一些經(jīng)典的C語言著作,如《C專家編程》《C陷阱和缺陷》和《C與指針》等。
對于剛剛接觸Linux的讀者,可以嘗試在自己的電腦中安裝一個Linux發(fā)行版,如優(yōu)麒麟Linux 18.04,并嘗試使用Linux作為操作系統(tǒng)。另外,建議讀者熟悉一些常用的命令,熟悉如何使用Vim和git等工具,嘗試去編譯和更換優(yōu)麒麟Linux的內(nèi)核核心。
然后,開始在Linux機器上做一些編程和調試的練習,如使用QEMU+GDB+Eclipse來單步調試內(nèi)核,熟悉GDB的使用等。
接下來,從一個簡單的設備驅動程序開始。選擇一個簡單的字符設備驅動,如觸摸屏驅動等。從編寫和調試設備驅動到深入Linux內(nèi)核的一些核心API的實現(xiàn)。
對Linux驅動有深刻的理解之后,就可以研究Linux內(nèi)核的一些核心API的實現(xiàn),如malloc()和中斷線程化等。
學習Linux內(nèi)核的過程是枯燥的,但是又那么吸引人,它的魅力只有你深入后才能體會到。Linux內(nèi)核是全球頂級的程序員編寫的,你每看一行代碼,就好像和全球頂級的高手交流和過招,這種體驗是在大學和其他項目上無法得到的。
因此,對于Linux愛好者來說,不要僅停留在會安裝Linux和配置服務的層面,還要深入學習Linux內(nèi)核。
03
本書特色
循序漸進地講述Linux內(nèi)核入門知識。
Linux內(nèi)核龐大而復雜,任何一本厚厚的Linux內(nèi)核書都可能會讓人看得昏昏欲睡。因此,對于初學者來說,Linux內(nèi)核的入門需要循序漸進,一步一個腳印。初學者可以從如何編譯Linux內(nèi)核開始入門,學習如何調試Linux內(nèi)核,動手編寫一個簡單的內(nèi)核模塊,逐步深入Linux內(nèi)核的核心模塊中。
為了降低讀者的學習難度,本書不會分析Linux內(nèi)核的源代碼,要深入理解Linux內(nèi)核源代碼的實現(xiàn),可以參考《奔跑吧 Linux內(nèi)核》。
突出動手實驗。
對于初學者,理解操作系統(tǒng)最好的辦法之一就是動手實驗。因此,本書在每章中都設置了幾個經(jīng)典的實驗,讀者可以在學習基礎知識后通過實驗來加深理解。本書所有的實驗都可以在優(yōu)麒麟Linux 18.04系統(tǒng)中完成。
反映Linux內(nèi)核社區(qū)新發(fā)展。
除了介紹Linux內(nèi)核的基本理論之外,本書還介紹了當前Linux社區(qū)中新的開發(fā)工具和社區(qū)運作方式,比如如何使用Vim 8閱讀Linux內(nèi)核代碼、如何使用git工具進行社區(qū)開發(fā)、如何參與社區(qū)開發(fā)等。
結合QEMU調試環(huán)境講述,并給出大量內(nèi)核調試技巧。
在學習Linux內(nèi)核時,大多數(shù)人都希望有一個功能全面且好用的圖形化界面來單步調試內(nèi)核。本書會介紹一種單步調試內(nèi)核的方法,即Eclipse+QEMU+GDB。另外,本書提供首個采用“-O0”編譯和調試Linux內(nèi)核的實驗,可以解決調試時出現(xiàn)的光標亂跳和
配備豐富的電子教案和視頻資源。
本書會在出版之后陸續(xù)提供配套的電子教案,并錄制相應的配套教學視頻,請關注異步社區(qū)官網(wǎng)和微信公眾號。
04
Linux內(nèi)核實驗入門
實驗1:在虛擬機中安裝優(yōu)麒麟Linux 18.04系統(tǒng)
通過本實驗熟悉Linux系統(tǒng)的安裝過程。首先,要在虛擬機上安裝優(yōu)麒麟18.04版本的Linux。掌握了安裝方法之后,讀者可以在真實的物理機器上安裝Linux。
1)從優(yōu)麒麟官方網(wǎng)站上下載優(yōu)麒麟18.04的安裝程序。
2)到VMware官網(wǎng)下載VMware Workstation Player。這個工具對于個人用戶是免費的,對于商業(yè)用戶是收費的,如圖1.1所示。
圖1.1 免費安裝VMware Workstation Player
3)打開VMware Player。在軟件的主界面中選擇“Create a New Virtual Machine”。
4)在New Virutal Machine Wizard界面中,選擇“Installer disc image file(iso)”單選按鈕,單擊Browse按鈕,選擇剛才下載的安裝程序,如圖1.2所示。然后,單擊“Next” 按鈕。
圖1.2 選擇下載的安裝介質
5)在彈出的窗口中輸入即將要安裝的Linux的用戶名和密碼,如圖1.3所示
圖1.3 輸入用戶名和密碼
6)設置虛擬機的磁盤空間,盡可能設置得大一點。虛擬機的磁盤空間是動態(tài)分配的,如這里設置了200GB,但并不會馬上在主機上分配200GB的磁盤空間,如圖1.4所示。
圖1.4 設置磁盤空間
7)可以在Customize Hardware選項里重新對一些硬件進行配置,如把內(nèi)存設置得大一點。完成VMware Player的設置之后,就會馬上進入虛擬機。
8)在虛擬機中會自動執(zhí)行安裝程序,如圖1.5所示。安裝完成之后,自動重啟并顯示新安裝系統(tǒng)的登錄界面,如圖1.5和1.6所示。
圖1.6 配置硬件
圖1.7 Vmware Workstation 14 Player登錄界面(1)
圖1.8 Vmware Workstation 14 Player登錄界面(2)
實驗2:給優(yōu)麒麟Linux系統(tǒng)更換“心臟”
1)學會如何給Linux系統(tǒng)更換最新版本的Linux內(nèi)核。
2)學習如何編譯和安裝Linux內(nèi)核。
在編譯Linux內(nèi)核之前,需要安裝如下軟件包。
到Linux內(nèi)核的官方網(wǎng)站中下載最新的版本,比如寫作本書時最新并且穩(wěn)定的內(nèi)核版本是Linux 4.16.3,其界面如圖1.9所示。Linux內(nèi)核的版本號分成3部分,第一個數(shù)字表示主版本號,第二個數(shù)字表示次版本號,第三個數(shù)字表示修正版本號。
圖1.9 Linux內(nèi)核
可以通過如下命令對下載的xz壓縮包進行解壓:
解壓完成之后,可以通過make menuconfig來進行內(nèi)核配置,如圖1.10所示。
圖1.10 內(nèi)核配置
除了手工配置Linux內(nèi)核的選項之外,還可以直接復制優(yōu)麒麟Linux系統(tǒng)中自帶的配置文件。
開始編譯內(nèi)核,其中-jn中的“n”表示使用多少個CPU核心來并行編譯內(nèi)核。
為了查看系統(tǒng)中有多少個CPU核心,可以通過如下命令實現(xiàn)。
processor這一項等于7,說明系統(tǒng)有8個CPU核心,因為是從0開始計數(shù)的,所以剛才那個make -jn的命令就可以寫成make -j8了。
編譯內(nèi)核是一個漫長的過程,可能需要幾十分鐘時間,這取決于電腦的運算速度和配置的內(nèi)核選項。
通過make編譯完成之后,下一步需要編譯和安裝內(nèi)核的模塊。
最后一步就是把編譯好的內(nèi)核鏡像安裝到優(yōu)麒麟Linux系統(tǒng)中。
完成之后就可以重啟電腦,登錄最新的系統(tǒng)了。
《奔跑吧 Linux內(nèi)核 入門篇》
掃描二維碼,一鍵購買
原理+基礎,從調試Linux內(nèi)核到動手編寫一個簡單的內(nèi)核模塊,真正從零開始學習Linux內(nèi)核。
實驗+案例,70余個創(chuàng)新實驗貫穿全書,與你分享業(yè)內(nèi)一線項目經(jīng)驗。
課件+視頻,教學資源豐富,視頻講解透徹,與你共享精品在線配套資源。
涵蓋當前Linux社區(qū)中新的開發(fā)工具和社區(qū)運作方式,反映Linux內(nèi)核社區(qū)新發(fā)展。
本書是一本介紹Linux內(nèi)核實踐的入門書,基于Linux 4.0內(nèi)核,重點講解Linux內(nèi)核的理論和實驗。本書分為12章,包括Linux系統(tǒng)入門、Linux內(nèi)核基礎知識、內(nèi)核編譯和調試、內(nèi)核模塊、簡單的字符設備驅動、系統(tǒng)調用、內(nèi)存管理、進程管理、同步管理、中斷管理、調試和性能優(yōu)化,以及如何參與開源社區(qū)等內(nèi)容。此外,本書還介紹了Linux內(nèi)核社區(qū)常用的開發(fā)工具和理論,如Vim 8和git工具等。書中包括70多個實驗,幫助讀者深入理解Linux內(nèi)核。
本文轉載自異步社區(qū)。
原文鏈接:https://www.epubit.com/articleDetails?id=Nca4252b1-8f21-498c-a7af-d336d3580fcd
軟件開發(fā) 高性能計算
版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。
版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。