多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > php開源 > 綜合技術(shù) > 為什么計(jì)算機(jī)的學(xué)生要學(xué)習(xí) Linux 開源技術(shù)

為什么計(jì)算機(jī)的學(xué)生要學(xué)習(xí) Linux 開源技術(shù)

來源:程序員人生   發(fā)布時(shí)間:2015-05-28 09:15:00 閱讀次數(shù):4122次

by falcon of TinyLab.org
2013/08/25

Linux開源相干技術(shù)對(duì)學(xué)生來講,特別是計(jì)算機(jī)專業(yè)的學(xué)生來講,非常重要,下面就幾個(gè)方面進(jìn)行討論:

研究平臺(tái)

由于開源的優(yōu)勢(shì),有非常多的開放的文案可以參考,有很多有趣的點(diǎn)子可以拿來做深入的研究。任何1個(gè)點(diǎn)挖進(jìn)去都是1片天地。

專業(yè)視野

通過那些開放的項(xiàng)目,你可以通過郵件列表、Linkedin、Google Group接觸到來自全球各地的天才,不但可以提升英文讀寫能力,認(rèn)識(shí)國(guó)際友人,還可以掌控領(lǐng)域前沿,乃至還有機(jī)會(huì)得到大佬們的指導(dǎo)迷津。

工作機(jī)會(huì)

就像2004年左右,自己在學(xué)校決然而然地選擇轉(zhuǎn)到Linux平臺(tái)1樣,現(xiàn)在有一樣的預(yù)見,Linux和相干的開源技術(shù)由于它包括人類雙贏(Open, Free, Share)的”大同”理念,融會(huì)了全球眾多企業(yè)和天才的智慧,和它不斷更新?lián)Q代地自我革新,她將延續(xù)繁華下去。

目前的Linux人材看似很多,剛從學(xué)校畢業(yè)沒甚么編碼經(jīng)驗(yàn)的學(xué)生也能夠很快寫個(gè)小驅(qū)動(dòng),看似門坎很低,但是真正能夠從系統(tǒng)層面解決問題,做了工作不用他人搽屁股的高端人材很少。如果從大學(xué)開始抓取,畢業(yè)的時(shí)候就比其他同學(xué)多了4年的使用經(jīng)驗(yàn)和思惟培養(yǎng)。對(duì)后續(xù)的研究和工作來講,都會(huì)是非常重要的競(jìng)爭(zhēng)力。

課程實(shí)踐

幾近從硬件到軟件,Linux平臺(tái)能夠提供從下而上的所有觸及“靈魂”的學(xué)習(xí)案例,讓所有課程從紙上談兵轉(zhuǎn)變成疆場(chǎng)實(shí)戰(zhàn),會(huì)極大地提升工程實(shí)踐的效力和技能。

硬件方面

硬件摹擬已是趨勢(shì),不可阻擋。包括處理器摹擬、系統(tǒng)摹擬,大名鼎鼎的Qemu,和它的偉大的派生者:Android emulator提供了易用的案例,支持4大,不是律師事務(wù)所,是ARM, X86, PPC和MIPS。這東西不但能夠摹擬處理器指令,還支持系統(tǒng)級(jí)(各種外設(shè))的摹擬,還支持直接在1個(gè)架構(gòu)上履行另外一個(gè)架構(gòu)的可履行文件(通過qemu-user-static翻譯)。有了它,你不用花錢買開發(fā)板,有了它,你可以研究如何摹擬設(shè)計(jì)和實(shí)現(xiàn)1個(gè)硬件系統(tǒng),1套處理器指令,還可以研究虛擬化技術(shù),虛擬化集群。

跟GNU序列工具的首創(chuàng)者Stallman和Linux的首創(chuàng)者Linus1樣,Qemu的首創(chuàng)者也是1個(gè)偉大的先驅(qū),看看他的簡(jiǎn)介和個(gè)人主頁(yè)吧:http://bellard.org/,和那個(gè)用Javascript寫的可以直接通過閱讀器跑Linux的摹擬器吧:http://bellard.org/jslinux/

法布里斯?貝拉 是1位法國(guó)著名的計(jì)算機(jī)程序員,因FFmpeg、QEMU等項(xiàng)目而聞名業(yè)內(nèi)。他也是最快圓周率算法貝拉公式、TCCBOOT和TCC等項(xiàng)目的作者。 1972年生于法國(guó)Grenoble。在高中就讀期間開發(fā)了著名的可履行緊縮程序LZEXE,這是當(dāng)年DOS上第1個(gè)廣泛使用的文件緊縮程序。

接觸開源,讓我們有機(jī)會(huì)了解和認(rèn)識(shí)這些瘋狂的先輩,這無疑是1件非常勵(lì)志和讓人血脈賁張的趣事。

引導(dǎo)程序/BIOS

我們大學(xué)的時(shí)候?qū)W習(xí)了BIOS,基本輸入輸出系統(tǒng),是個(gè)啥玩意,感覺得到,看得到面紗,看不到她真實(shí)的模樣。但是有了Uboot:http://www.denx.de/wiki/U-Boot,你可以。

可以直接在Qemu里頭做Uboot的實(shí)驗(yàn):Using QEMU for Embedded Systems Development, Part 3 或 使用Qemu摹擬Cortex-A9運(yùn)行U-boot和Linux

操作系統(tǒng)

Linux本身絕大部份都是Open的,操作系統(tǒng)課程如果在上課的同時(shí)能夠讀1讀Linux 0.11的源代碼:http://oldlinux.org/,你會(huì)發(fā)現(xiàn)操作系統(tǒng)不是干巴巴的電梯調(diào)度算法之類算法描寫。你可以看到實(shí)實(shí)在在的活生生的場(chǎng)景,可以說話的場(chǎng)景。

甚么調(diào)度算法,甚么同步機(jī)制,甚么中斷管理,甚么文件系統(tǒng),甚么各類外設(shè)的驅(qū)動(dòng)等等,統(tǒng)統(tǒng)可以看到源代碼實(shí)現(xiàn)并允許親身去修改,調(diào)試和完善,乃至可以通過郵件列表提交Patch到官方Linux社區(qū),然后有機(jī)會(huì)接觸Linux社區(qū)的那些印象中“神1般”現(xiàn)實(shí)里“平易近人”的大佬們。

你還可以自己制作1個(gè)完全的操作系統(tǒng)。看看Building Embedded Linux System這本書, 從Linux官方社區(qū): http://www.kernel.org下載1份源代碼,編譯1下,然后用Busybox,Buildroot、LFS或Openembedded制作自己的文件系統(tǒng),然后就是1個(gè)完全的操作系統(tǒng)。然后你會(huì)知道甚么是1個(gè)完全的操作系統(tǒng),甚么僅僅是1個(gè)操作系統(tǒng)Kernel。然后你會(huì)了解,用戶交互的界面,除GUI,其實(shí)它最最本質(zhì)的東西還是Shell Terminator,GUI只是換上了1襲花衣裳。你會(huì)真正地理解,當(dāng)按下1個(gè)鍵盤上的按鍵的時(shí)候,這個(gè)背后產(chǎn)生了甚么樣的故事和演化。作為計(jì)算機(jī)的學(xué)生,我們不應(yīng)當(dāng)被這些蒙在鼓里,應(yīng)當(dāng)掀開那襲花衣裳,刺探背后的細(xì)枝末節(jié),然后,等到哪1天,閉上眼睛,當(dāng)全部故事情節(jié)在腦海里像放電影1樣清晰不再模糊的時(shí)候,你就如償所愿了,那種美好的滋味在出現(xiàn)Bug需要解決的時(shí)候會(huì)得到印證。

做這些實(shí)驗(yàn),根本不需要買開發(fā)板,Qemu就綽綽有余了,可以參考:

Using QEMU for Embedded Systems Development, Part 1

Using QEMU for Embedded Systems Development, Part 2

如果想看Linux 0.11的源代碼,可以到http://oldlinux.org/下載開放的書籍和源代碼,在Ubuntu下用Qemu做實(shí)驗(yàn)就行了。記得下載可以在Ubuntu下用最新編譯器編譯的Linux 0.11代碼: https://gitlab.com/tinylab/tinylinux.git

另外,這里有1份比較詳細(xì)的文章,介紹了相干用法:可供GDB源碼調(diào)試的用GCC 4.X編譯的Linux 0.11實(shí)驗(yàn)環(huán)境

匯編語(yǔ)言

估計(jì)學(xué)校還在用王老師的書吧,這個(gè)是我大2的時(shí)候有寫的《匯編語(yǔ)言 王爽著》課后實(shí)驗(yàn)參考答案。

Share在這里是非常想強(qiáng)調(diào)實(shí)踐的重要性,不知道有幾個(gè)同學(xué)認(rèn)真地做完了所有或絕大部份大學(xué)計(jì)算機(jī)課程課后的實(shí)驗(yàn),實(shí)驗(yàn)真地非常重要。另外1個(gè)緣由是,真地希望大家能夠在Linux平臺(tái)下學(xué)X86的匯編,用gas匯編器,用AT&T的語(yǔ)法,用gcc看C語(yǔ)言寫的東西是怎樣用匯編語(yǔ)言實(shí)現(xiàn)的。非常美好的事情。固然,還可以用qemu-user-static跑1個(gè)debootstrap制作的Debian for ARM, MIPS or PPC,學(xué)習(xí)ARM,MIPS和PPC匯編。特別推薦學(xué)習(xí)MIPS匯編,精簡(jiǎn)指令集,最優(yōu)美的純天然的匯編語(yǔ)言。

結(jié)合上面的操作系統(tǒng)課程,特別推薦1個(gè)國(guó)外的貌似是舊金山東大學(xué)學(xué)的課程,叫CS630,本來這個(gè)老師(Allan B. Cruse)是在I386真機(jī)上做實(shí)驗(yàn)的,我完善了他的Makefile,然后直接在Qemu上做實(shí)驗(yàn)。分享1個(gè)趣事:我給那個(gè)老師分享了在Qemu上做實(shí)驗(yàn)的方法,人家說這個(gè)學(xué)生不錯(cuò),可以直接給個(gè)A了,呵呵。具體用法和源代碼請(qǐng)參考:Learn CS630 on Qemu in Ubuntu。

BTW:上面Linux 0.11的課程,為了可以直接用現(xiàn)在流行的標(biāo)準(zhǔn)gas和gcc,那個(gè)boot引導(dǎo)的16bit匯編代碼我有用AT&T重寫。

如果想學(xué)ARM匯編:推薦《ARM System Developers’ Guide: Designing and Optimizing System Software》,如果想學(xué)MIPS匯編: 推薦《See MIPS Run Linux》

如果想學(xué)X86匯編,不要錯(cuò)過那個(gè)CS630課程和Allan B. Cruse的個(gè)人主頁(yè),有蠻多相干的資料。

C語(yǔ)言

就語(yǔ)言本身來講,她太有生命力了,而且現(xiàn)在和可以預(yù)知的未來,她還會(huì)保持她獨(dú)有的生命力。

語(yǔ)言本身我們是否是還在學(xué)譚老師的課程呢?建議還是要自學(xué)C語(yǔ)言作者的書:

The C programming Language

然后,不要忘記把基礎(chǔ)打扎實(shí)1下,下面幾個(gè)內(nèi)容基本可以作為往后學(xué)習(xí)和工作的持久參考書,最好是在大學(xué)階段系統(tǒng)地全部瀏覽和實(shí)踐1遍,你會(huì)收獲頗豐的:

C Traps and Pitfalls

C FAQ: http://c-faq.com/

Advanced Unix Programming

特別推薦Jserv黃的大作《深入

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 欧美污污网站 | 在线高清观看 | 中文成人在线 | 免费一级国产生活片 | 伊人网在线观看 | 日韩理论片在线观看 | 高清国产一区二区三区 | 精品尤物 | 羞羞网站在线看 | 24小时中文乱码字幕在线观看 | 中文精品久久久久国产网站 | 无码精品一区二区三区免费视频 | 日韩亚洲色图 | 免费爱爱网 | 欧美福利在线播放 | 91亚洲影院 | 噜噜私人影院 | 免费人成在线观看视频色 | 2021精品国产综合久久 | 免费又黄又爽又猛大片午夜 | 中文乱码字字幕在线第5页 中文欧美日韩 | 亚洲精彩视频 | 成人午夜精品久久久久久久小说 | 欧美一区二区三区男人的天堂 | 自拍偷拍亚洲视频 | 伊人福利网 | 免费jizz大全| 国产精品69白浆在线观看免费 | 久久免费精品国产72精品剧情 | 最近最新中文字幕1页 | 亚洲国产成人精品一区91 | 亚洲午夜片 | 国产日韩一区二区三区在线观看 | 爱爱网站免费 | 亚洲偷怕| 日本爱爱免费视频 | 国产成人精品午夜在线播放 | 91精品国产福利在线观看 | 一二三四在线手机观看视频 | 手机在线看片国产日韩生活片 | 色优影院 |