歡迎來到 常識(shí)詞典網(wǎng) , 一個(gè)專業(yè)的常識(shí)知識(shí)學(xué)習(xí)網(wǎng)站!
[ Ctrl + D 鍵 ]收藏本站
答案 1:
對(duì)于某些人來說,比如我,是絕對(duì)完全不可以的。我讀大一的時(shí)候,復(fù)習(xí)《大學(xué)物理》曾經(jīng)企圖像中學(xué)一樣把所有結(jié)論都自己推導(dǎo)一遍。結(jié)果差點(diǎn)因?yàn)闀r(shí)間不夠沒及格,還連累了其它科目的復(fù)習(xí)。不過這也讓我認(rèn)清了自己的學(xué)習(xí)方式。我不能容忍沒有銜接的知識(shí)斷鏈。如果兩段代碼之間的部分我不知道它們做了些什么,那我就不舒服。我可以因?yàn)楫?dāng)前的主要目標(biāo)不是這個(gè)而不去了解,但是我不能容忍我不了解的原因是我居然不會(huì)那門語言。我經(jīng)常遇到這樣的情況,面試的對(duì)象知識(shí)有明顯的斷鏈。他們的眼神里充滿了『你問這個(gè)有用嗎』的神情。而我的頭腦里充滿了『你不懂這個(gè)怎么看得下去第二章教材』的疑問。不懂匯編,學(xué)到的東西注定是夾生的。比如,kenel里到處都是的偏移量到底是什么?讓它滑過去也能大概搞個(gè)一知半解。我的做法是看了ELF格式的說明,然后又都忘了。但是從此那些偏移量再也沒有什么神秘感。學(xué)會(huì)匯編,不在于你真的看懂每一句kernel里的匯編代碼,而在于你明白自己忽略的到底是什么。出了問題你能意識(shí)到去什么地方尋求答案。答案 2:
可以的,Linux內(nèi)核里大部分都是C語言。建議先看《Linux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)(Linux Kernel Development)》,Robert Love,也就是LKD。通過該書可以對(duì)Linux內(nèi)核有個(gè)大體的把握。Linux內(nèi)核有很多方面,全弄懂不大現(xiàn)實(shí)。通過LKD有個(gè)大體印象,再深入學(xué)習(xí)感興趣的模塊,這樣比較實(shí)際。不會(huì)匯編、硬件完全可以跳過這些部分。答案 3:
Linux內(nèi)核中有一些匯編實(shí)現(xiàn)的內(nèi)容,不懂匯編的話這個(gè)部分可能會(huì)不容易看懂,進(jìn)而影響你深入理解其他部分。如果你只是想對(duì)內(nèi)核有個(gè)大體了解和初步印象,就可以選擇忽略這些內(nèi)容,或者直接看《Linux內(nèi)核完全剖析——基于0.12內(nèi)核》關(guān)于這部分的解釋。實(shí)際上我覺得看內(nèi)核源碼如果不是要做底層開發(fā)就不必要看太多細(xì)節(jié)的東西,有個(gè)宏觀把握就可以了。因?yàn)?.12內(nèi)核的代碼很少,如果想完全搞明白這些代碼,還是建議你看下匯編知識(shí),學(xué)起來不是很難,而且你有組成原理的基礎(chǔ),學(xué)習(xí)匯編完全沒有障礙,內(nèi)核源碼都看了,應(yīng)該也不會(huì)在乎學(xué)習(xí)匯編花的那點(diǎn)時(shí)間了吧。答案 4:
匯編不必完全懂,AT&T寫法的x86匯編懂點(diǎn)最好了,我當(dāng)初看ULK的時(shí)候,光第二章講頁(yè)表的,就看了兩遍,還要結(jié)合intel的手冊(cè),才能徹底搞清楚頁(yè)表是怎么映射的,段頁(yè)式管理是怎么做的。當(dāng)然,太細(xì)節(jié)的東西,現(xiàn)在都忘的差不多了。。。答案 5:
如果你只是研究linux內(nèi)核,以后做基于linux內(nèi)核的驅(qū)動(dòng)程序開發(fā),你讀懂那本書就可以了,不用太去理匯編的。但是如果以后你要做基于硬件的開發(fā),還是懂點(diǎn)匯編會(huì)比較容易理解一點(diǎn)。匯編其實(shí)很簡(jiǎn)單,是很基礎(chǔ)的語言,多讀幾個(gè)程序就能懂了。答案 6:
linux內(nèi)核就是管硬件的. 匯編就是用來管硬件的接口. 上面2個(gè)不懂雖然可以看, 但是會(huì)遇到很多問題. 還是先去弄懂點(diǎn)吧. 不算太復(fù)雜.答案 7:
當(dāng)然可以咯。下一篇:ubuntu ocelot"Hybrid CD/USB ISO鏡像"如何安裝 下一篇 【方向鍵 ( → )下一篇】
上一篇:人有沒有死的權(quán)利? 上一篇 【方向鍵 ( ← )上一篇】
快搜