為什么我們要學(xué)習(xí)計(jì)算機(jī),為什么我們要學(xué)習(xí)編程,有很多很多的原因,但當(dāng)我們踏進(jìn)計(jì)算機(jī)的世界里的時(shí)候
,我們找到了可以任由我們發(fā)揮,任由我們施展拳腳的天地,我們有了一種對(duì)學(xué)習(xí)計(jì)算機(jī),甚至是學(xué)好計(jì)算機(jī)的渴望,
但是任何一門(mén)學(xué)科都不是那么容易學(xué)的好的,計(jì)算機(jī)更是如此,我想我們大多數(shù)人都是從編程開(kāi)始學(xué)習(xí)的,逐漸形成了
對(duì)學(xué)習(xí)編程的興趣,但是如果想真正的學(xué)好計(jì)算機(jī),單單學(xué)習(xí)高級(jí)語(yǔ)言是不能達(dá)到效果的,就算你說(shuō)我只想學(xué)好一門(mén)高
級(jí)語(yǔ)言,把它學(xué)的精通就可以了,但問(wèn)題就是那么的簡(jiǎn)單么,我想不是吧。
計(jì)算機(jī)是一個(gè)整體,學(xué)習(xí)任何一門(mén)計(jì)算機(jī)課都是和其他課程聯(lián)系在一起的,要學(xué)習(xí)就要有足夠的深度和廣度,不然不可能有深入的了解就像學(xué)習(xí)c語(yǔ)言一樣,如果你想知道他是怎樣在計(jì)算機(jī)的內(nèi)存中分布的,具體是怎么運(yùn)行的,就要學(xué)習(xí)匯編語(yǔ)言,當(dāng)然計(jì)算機(jī)體系結(jié)構(gòu),計(jì)算機(jī)組成原理,是你理解計(jì)算機(jī)的基礎(chǔ),計(jì)算機(jī)大師knuth都非常重視匯編語(yǔ)言(匯編語(yǔ)言和機(jī)器語(yǔ)言是一一對(duì)應(yīng)的)
,要想學(xué)好軟件,脫離硬件是不可能,因?yàn)檐浖罱K要靠硬件來(lái)運(yùn)轉(zhuǎn)的。當(dāng)然了如果是初學(xué)者還是要一步步學(xué)的,如果你
想知道c語(yǔ)言是怎么運(yùn)行的,想了解指針和數(shù)組的真正區(qū)別,那多學(xué)一門(mén)語(yǔ)言匯編語(yǔ)言吧,人們都說(shuō)匯編語(yǔ)言是與機(jī)器相關(guān)的,不能移植的,但想在的pc機(jī)上用的幾乎都是AMD,和intel的處理器,他們有都是互相兼容的,所以指令集的體系結(jié)構(gòu)都是IA-32當(dāng)然了現(xiàn)在都有64位的處理器了,但是這并沒(méi)有什么很大的區(qū)別,僅僅是位數(shù)變多了,所能表達(dá)的數(shù)字變
大了,精度也變的更長(zhǎng)了等等。就像學(xué)習(xí)高級(jí)語(yǔ)言一樣學(xué)習(xí)匯編語(yǔ)言也是相通的,因?yàn)樗麄兊墓δ芏疾畈欢?,而且更?br>
簡(jiǎn)單,你會(huì)發(fā)現(xiàn)在高級(jí)語(yǔ)言中的語(yǔ)法會(huì)在匯編語(yǔ)言中消失,僅存的就只是指令的書(shū)寫(xiě)格式(相當(dāng)如詞法吧,當(dāng)然了我可能也說(shuō)的不太對(duì),因?yàn)閷?duì)匯編語(yǔ)言學(xué)的不是很深入,所以現(xiàn)在也正在有計(jì)劃的去學(xué)習(xí))。如果你學(xué)習(xí)的java,vb,c#等等那
么就請(qǐng)您多多看看c和c++吧,我們常常聽(tīng)說(shuō)某種語(yǔ)言實(shí)現(xiàn)了垃圾回收機(jī)制,用某種算法不定期的把你程序中不再使用的內(nèi)存回收掉,最好的例子就是JAVA
了(關(guān)于它的一句話說(shuō)的挺好,一次編譯到處運(yùn)行,非常適用于嵌入式計(jì)算機(jī)程序的編寫(xiě)),不過(guò)你能用JAVA語(yǔ)言寫(xiě)出
內(nèi)存回收的程序么
我想應(yīng)該是不可能,JAVA對(duì)于這方面做了太多的限制,但在c/c++中卻沒(méi)有,你可以用庫(kù)函數(shù)malloc等等去分配內(nèi)存,
free去釋放內(nèi)存,
c++中對(duì)應(yīng)的是(new,delete)實(shí)現(xiàn)的跟方便些,你也可以用系統(tǒng)調(diào)用brk(其實(shí)庫(kù)函數(shù)也是調(diào)用了他,只不過(guò)做了一些
更加完善的工作而已)去分配,而且他可以直接去操作數(shù)據(jù)到位(&,|,~),如果說(shuō)
高級(jí)語(yǔ)言是匯編語(yǔ)言的一個(gè)子集的話,那么JAVA在這方面就是C/C++的一個(gè)子集,我并沒(méi)有說(shuō)java不用學(xué),不好,而
是在學(xué)習(xí)他之前
應(yīng)該多去學(xué)學(xué)C/C++,(注意語(yǔ)法不是特別的重要,重要的是你怎么能在學(xué)完語(yǔ)言以后去靈活的運(yùn)用他),計(jì)算機(jī)體系
結(jié)構(gòu)對(duì)于你理解
軟硬件非常的重要給大家推薦一本書(shū),書(shū)名 :計(jì)算機(jī)組成與設(shè)計(jì)——硬件/軟件接口 作者:David A.Patterson
John L. hennessy
出版社:機(jī)械工業(yè)出版社 ,這本書(shū)很不錯(cuò),能夠很好的把軟硬件的關(guān)系數(shù)清楚,而且不像一些國(guó)內(nèi)的體系結(jié)構(gòu)教材,
看的非常的費(fèi)勁
誰(shuí)然講的都是很清楚,但不能從讀者的角度去考慮問(wèn)題,這本書(shū)會(huì)讓你看的愛(ài)不釋手的,恩,對(duì)于我來(lái)說(shuō)卻是如此,不
適合初學(xué)c語(yǔ)言的
,要有一定的c語(yǔ)言基礎(chǔ)。我想還有一點(diǎn)要和大家分享一下,就是學(xué)習(xí)計(jì)算機(jī)切忌浮躁,不要像追星族一樣,看到一項(xiàng)
新出的技術(shù)就去
學(xué)習(xí),新技術(shù)會(huì)不斷的變的,而且很容易讓你迷失方向,一定要打好基礎(chǔ),關(guān)于計(jì)算機(jī)基礎(chǔ)的書(shū)一定要多看,不要死記
硬背,但你發(fā)現(xiàn)
你需要死記硬背去記住書(shū)中的知識(shí)的時(shí)候,那么我可以給你個(gè)建議把此書(shū)放在書(shū)架里,去看一些能夠引導(dǎo)你一步步的從
本質(zhì)上理解知識(shí)
的書(shū),首選一些計(jì)算機(jī)科學(xué)叢書(shū),圖靈叢書(shū)(機(jī)械工業(yè)出版社,人民郵電出版社,電子工業(yè)出版社),我們學(xué)校用的是
清華大學(xué)自己出版
的計(jì)算機(jī)書(shū)籍,雖說(shuō)清華大學(xué)在工科方面很不錯(cuò),但是出版的計(jì)算機(jī)書(shū)籍就我個(gè)人來(lái)說(shuō)真的不怎么好,相對(duì)于國(guó)外的計(jì)算機(jī)書(shū)籍來(lái)說(shuō)
差的真是太遠(yuǎn)了,我很不明白為什么要用清華出的,有一本關(guān)于Linux/unix內(nèi)核的書(shū)我覺(jué)得挺好的,書(shū)名是 Linux內(nèi)核源代碼情景分析
浙江大學(xué)出版的,我目前正在潛心學(xué)習(xí)這本書(shū),雖然很難,但真的不錯(cuò),很少有由我們自己寫(xiě)的關(guān)于Linux內(nèi)核這方面
的好書(shū),這本就是
不可多得的好書(shū)。說(shuō)了太多關(guān)于計(jì)算機(jī)書(shū)籍的話題了,但我認(rèn)為一本好的書(shū)籍真的能給我們很大的幫助
還能從中得到快樂(lè)。
如果你只想學(xué)習(xí)計(jì)算機(jī)去賺錢(qián)的話,那么你大可以不必去學(xué)習(xí)很多東西,對(duì)于你也沒(méi)有用處,如果你是對(duì)計(jì)算機(jī)有著非常濃厚的
興趣的話,那么就塌下心來(lái),一步一步去在計(jì)算機(jī)的海洋里傲游吧,真是一件美妙的事情。
現(xiàn)在我告訴大家自己認(rèn)為的關(guān)于學(xué)習(xí)計(jì)算機(jī)的路程
(1) c語(yǔ)言(可以去學(xué)譚浩強(qiáng)寫(xiě)的c語(yǔ)言的書(shū),如果能找到K&R C 那就更好,自己是沒(méi)有找到,要想進(jìn)一步去學(xué)習(xí)的話
去看 c缺陷與陷阱,c專(zhuān)家編程
,這兩本書(shū)很經(jīng)典的)
(2)c++語(yǔ)言(c和c++其實(shí)并不一樣,可以說(shuō)c++是繼承了c,增加了面向?qū)ο蟮乃枷?,如果能找到c++program language
c++之父寫(xiě)的就很好,不過(guò)自己沒(méi)有找到,要想進(jìn)一步去學(xué)習(xí)的話去看 effective c++
more effective c++,挺不容易懂的,因?yàn)樽约阂碙inux內(nèi)核所以沒(méi)有多少時(shí)間去看,c++沉思錄(c缺陷與陷阱 的作者
與他的妻子)也非常的不錯(cuò),還是沒(méi)有時(shí)間去看,只看了200多頁(yè),講的太好了,有時(shí)間自己一定會(huì)去看完的,這本書(shū)
講的主要是教你怎么運(yùn)用C++語(yǔ)言去寫(xiě)出好的文章)
算法和數(shù)據(jù)之間的結(jié)構(gòu)的理解也很重要,我想如果你有了c++的學(xué)習(xí)經(jīng)驗(yàn)學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)應(yīng)該不太
困難,一直以來(lái)我都不是很明白抽象的數(shù)據(jù)結(jié)構(gòu)(abstract data type ADT)的抽象是怎么回事是什么意思,之后看
了c++沉思錄才恍然大悟,抽象就是把想關(guān)注事務(wù)的部分拿出來(lái),不關(guān)心的不去考慮,就像我們?nèi)祟?lèi),人有很多屬性,
姓名,年齡,體重等等,當(dāng)我們研究具體問(wèn)題是
也許只關(guān)心人的屬性的某些方面,例如姓名,年齡,那么就把它拿出來(lái)也就是術(shù)語(yǔ)抽象,在c/c++語(yǔ)言
就用用戶(hù)自定義的數(shù)據(jù)類(lèi)型來(lái)去定義人:
struct people{
char name[10];
int age;
};
struct 是structure(結(jié)構(gòu))的縮寫(xiě),這樣理解就非常簡(jiǎn)單了么,所以c++沉思錄非常的好。
(3)算法與數(shù)據(jù)結(jié)構(gòu)(有很多好的書(shū)籍,大家可以去找找,反正清華出的不敢恭維)
(4)匯編語(yǔ)言,計(jì)算機(jī)組成原理,計(jì)算機(jī)體系結(jié)構(gòu) 微機(jī)原理(我認(rèn)為剛才我說(shuō) 計(jì)算機(jī)組成與設(shè)計(jì)——硬件/軟件接口
就很好的包含了這些內(nèi)容挺不錯(cuò)的,當(dāng)然了學(xué)習(xí)是無(wú)止境的。
)
之后才能開(kāi)始o(jì)s的學(xué)習(xí),我認(rèn)為OS是讓你在學(xué)習(xí)計(jì)算機(jī)上有一個(gè)質(zhì)的飛躍,因?yàn)楝F(xiàn)代的程序設(shè)計(jì)一般都是基于OS的,如
果不了解OS,那么就不可能學(xué)好程序設(shè)計(jì),就像建造房子一樣,房子要建在地上,如果你不了解當(dāng)?shù)氐沫h(huán)境,地質(zhì),這
么怎么能建造好的房子呢(5)操作系統(tǒng)原理的學(xué)習(xí),數(shù)據(jù)庫(kù)原理的學(xué)習(xí)(有一本挺好的書(shū),自己是看完了一遍,電子
工業(yè)出版社
的操作系統(tǒng)設(shè)計(jì)與精髓 作者 stalling 忘了具體怎么拼了,理論性很強(qiáng),不過(guò)是一本好書(shū),要理解性的看)
至于網(wǎng)絡(luò)原理,軟件工程,通信安全,鑒于尚在學(xué)習(xí)中,就不說(shuō)了。
哦,還有編譯原理,是一門(mén)教你怎么把語(yǔ)言翻譯成匯編語(yǔ)言,機(jī)器語(yǔ)言的一門(mén)課,有很多很難的算法,LR算法就很不好
理解,至于要什么時(shí)候?qū)W那就在學(xué)好語(yǔ)言和算法的基礎(chǔ)上去學(xué)習(xí)吧。記住千萬(wàn)不要趕時(shí)髦去學(xué)什么VC,BC,包括MFC之類(lèi)的,他們只是開(kāi)
發(fā)程序的工具而已
幫你做了一些輔助性的工作,所以好好學(xué)習(xí)語(yǔ)言吧!還有就是對(duì)于什么等級(jí)考試一點(diǎn)作用都沒(méi)有,如果要是我說(shuō)現(xiàn)在的
等級(jí)考試
只是人家賺錢(qián)的一種方式,已經(jīng)變質(zhì)了,我不知道為什么不跟上時(shí)代的腳步,把它們給取消了,不止是計(jì)算機(jī)等級(jí)考試
,英語(yǔ)等級(jí)考試也沒(méi)有用,不管怎么說(shuō)他都是一門(mén)紙上的考試,對(duì)于提高自己沒(méi)有作用,反而會(huì)有反作用。如果你只是
為了拿一個(gè)計(jì)算機(jī)
考試的憑證,那我勸你還是止步吧,我們是為了學(xué)習(xí)計(jì)算機(jī)而學(xué)習(xí)計(jì)算機(jī)而不是為了學(xué)習(xí)計(jì)算機(jī)而去拿那個(gè)一文不值得
證,不然我真不知道你學(xué)習(xí)計(jì)算機(jī)還有什么意思。如果真的是對(duì)計(jì)算機(jī)感興趣那就塌下心來(lái),一步一個(gè)腳印的去探索計(jì)算機(jī)世界的奧秘,多么美好的事情呀。很多人開(kāi)始學(xué)習(xí)的人都是夢(mèng)想成為黑客,用幾個(gè)程序去攻擊別人的漏洞,但什么
是黑客,天才的程序員才能配的上,就像Linus等一樣,我們的目的是去建造宏偉的建筑,而不是去炸毀他那是駭客所
做的事情,如果你認(rèn)為別人的建筑有不足之處大可以指出來(lái)。這只是我個(gè)人的意見(jiàn),有不足之處請(qǐng)指出,謝謝了!
還有就是談?wù)勛约簩?duì)于Linux學(xué)習(xí)的看法。學(xué)完os以后自己就覺(jué)得應(yīng)該去學(xué)習(xí)os的內(nèi)核了,其實(shí)當(dāng)自己剛學(xué)os的時(shí)
候就特別特別特別的想去自己寫(xiě)一個(gè)os,看了很多東西還是一無(wú)所獲,當(dāng)然了這是必然的,因?yàn)樽约哼Bos有什么功能,
進(jìn)程線程,進(jìn)程調(diào)度,虛擬內(nèi)存,進(jìn)程間的通信,文件系統(tǒng),系統(tǒng)調(diào)用與中斷,都是不知所云,所以當(dāng)時(shí)很是郁悶,
很是茫然,在學(xué)完os之后才對(duì)操作系統(tǒng)有一個(gè)感性的認(rèn)識(shí),但是還是太理論了,沒(méi)有任何源代碼的分析,沒(méi)有任何
設(shè)計(jì)os的細(xì)節(jié),所以自己只好去看linux源代碼了,但是還有一件重要的事沒(méi)有做,寫(xiě)源代碼我要在一個(gè)環(huán)境中去寫(xiě)
在哪去寫(xiě)呢,那就是在類(lèi)UNIX操作系統(tǒng)上(我用的是fedora 9.0的發(fā)行版,內(nèi)核是2.6版的),怎樣去編譯源代碼呢
用的是一種特殊的格式(其實(shí)這種特殊的格式就是在寫(xiě)make命令時(shí),所規(guī)定的make
認(rèn)識(shí)的文件)書(shū)寫(xiě)去告訴編譯器編譯的過(guò)程是什么,也就是用make命令去解釋?zhuān)趙indows上我們所用的
幾乎都是IDE(集成的開(kāi)發(fā)環(huán)境,編輯器,編譯器,調(diào)試器等都組裝在一個(gè)程序中)的開(kāi)發(fā)環(huán)境所以想,對(duì)于編譯的過(guò)程一無(wú)所知,所以當(dāng)初自己看linux內(nèi)核書(shū)籍的時(shí)候很是不理解,為什么
每個(gè)文件目錄下都會(huì)有一個(gè)Makefile文件,原來(lái)但你輸入make命令的時(shí)候他會(huì)自動(dòng)在當(dāng)前的目錄下按照makefile,
Makefile的順序去查找是否有此文件名,然后就讀取文件進(jìn)行解釋?zhuān)⒏嬖Vgcc編譯器怎樣編譯按照什么樣的順序編譯
這些源文件。之后就是去熟悉linux操作系統(tǒng),編寫(xiě)Linux上的c程序(unix環(huán)境高級(jí)編程第二版 是在類(lèi)unix上學(xué)習(xí)的
很好的書(shū)籍,因?yàn)檫@些開(kāi)放源代碼的os都是按照POSIX(開(kāi)放的操作系統(tǒng)接口標(biāo)準(zhǔn))標(biāo)準(zhǔn)寫(xiě)的,所提供的API(通用的應(yīng)用程序編程接口,就是人們把各個(gè)方面常用的函數(shù)用某種語(yǔ)言編寫(xiě)出來(lái)供程序員使用,減少了程序員的負(fù)擔(dān),增加了代碼的可重用性,就像程序中通常都要與輸入輸出打交道,所以Dennis Ritchie 圖靈獎(jiǎng)得主、unix
操作系統(tǒng)、c語(yǔ)言之父,就用c語(yǔ)言寫(xiě)出了標(biāo)準(zhǔn)I/O庫(kù),但我們遇到庫(kù)函數(shù)的時(shí)候也就
能知道其是什么意思有什么功能,為什么呢,都是一樣的嘛,就像向標(biāo)準(zhǔn)的輸入輸出設(shè)備讀寫(xiě)的printf, scanf函數(shù),名字都是一樣的,所以就有很多好處了)c編程接口都是很一致的,不同os上的擴(kuò)展肯定是有的,不過(guò)大致上是差不多的,所以在這些os上編寫(xiě)的程序非常容易移植,有錯(cuò)
誤估計(jì)也只會(huì)做一些小的細(xì)微的修改就可以了)自己也真在學(xué)習(xí)中,最后就是Linux內(nèi)核源代碼了,情景分析那本書(shū)我
覺(jué)的應(yīng)該是本不錯(cuò)的關(guān)于linux內(nèi)核方面的書(shū)了,自己也正在學(xué)習(xí)中,不過(guò)就是太艱難了,不過(guò)任何事情都不會(huì)是輕松
的,因?yàn)樽约合矚g所以去做,只能堅(jiān)持到底了,呵呵。
有一句話說(shuō)的好,要想了解一門(mén)學(xué)科就要先了解他的歷史,在學(xué)習(xí)linux的過(guò)程中我深刻體會(huì)到了這句話的作用,
去看看那Linux的發(fā)展史吧,對(duì)你一定會(huì)有幫助的,我們不僅要知其然還要知其所以然的學(xué)習(xí),知道linux的現(xiàn)狀還要
知道他是怎么來(lái)的,是怎么壯大起來(lái)的,linus是linux的開(kāi)創(chuàng)者,多么令人興奮那,正是有了這些開(kāi)放的源代碼,我們
才得以去學(xué)習(xí),多么好的事情呀!
其實(shí)我并不太喜歡c#和VB因?yàn)樗麄兏揪蜎](méi)有移植性可言,是微軟為了讓更多的人為自己的操作系統(tǒng)編寫(xiě)應(yīng)用
程序而開(kāi)發(fā)的,VS,VC就是這個(gè)環(huán)境嘛,其IDE的人性化確實(shí)不錯(cuò),可卻讓我們忘卻了什么是編輯器,什么是編譯器,什么是調(diào)試器,不能組裝我們自己喜歡的環(huán)境最重要的是c c++ java是不受操作系統(tǒng)限制的,所以又回到了前
面,學(xué)學(xué)不受os限制的語(yǔ)言吧,以至于不會(huì)被微軟牢牢的套住,c#,VB當(dāng)然可以學(xué),但是在學(xué)之前學(xué)學(xué)這些不受操作系統(tǒng)限制的語(yǔ)言吧,
不要受那些書(shū)籍里的言語(yǔ)的迷糊,說(shuō)其(c#, VB, VC++.net, VB.net等等)是怎么怎么的好,可是他怎么沒(méi)有提及他是不可移植性的呢?!
不說(shuō)了,Linux內(nèi)核這樣大的阿房宮還要我去游覽呢,找個(gè)好的導(dǎo)游帶我去探險(xiǎn)吧!
學(xué)習(xí)linux續(xù):
自己也是從今年下半年開(kāi)始了解linux的,這還要感謝的自己的OS老師,如果沒(méi)有他讓我們這些學(xué)生知道了linux,恐怕我現(xiàn)在也不知道linux呢。之前我和大多數(shù)人一樣在用windows,不管是應(yīng)用還是編程,一開(kāi)始總覺(jué)得還是蠻好的,可是學(xué)完了OS原理以后,總覺(jué)得缺點(diǎn)什么,自己當(dāng)初就有想寫(xiě)一個(gè)OS的想法,
可是卻無(wú)從下手,除了基本的語(yǔ)言學(xué)習(xí)外,有太多的東西需要自己去學(xué)習(xí),因?yàn)楫?dāng)初自己在學(xué)習(xí)OS原理
后,沒(méi)有真正的理解,進(jìn)程和線程,SMP,和信號(hào)量都只是泛泛的知道而已,所以自己清楚只有在完全
明白OS的基本概念和算法以后才能進(jìn)一步的去學(xué)習(xí),于是自己用一個(gè)月的時(shí)間看完了 WilliamStallings寫(xiě)的操作系統(tǒng)——精髓與設(shè)計(jì)原理,感覺(jué)和自己當(dāng)初看陳向群寫(xiě)操作系統(tǒng)完全不一樣,雖然在理論了,可是于是自己有進(jìn)一步去學(xué)習(xí)linux內(nèi)核0,11版的完全注釋?zhuān)墒强戳藥滋?br>就看不下去了,什么也看不懂makefile是什么,gcc是什么,它是怎么編譯,以前在windows下自己只知道寫(xiě)完程序然后由TC后VC 去編譯,可是現(xiàn)在卻完全的茫然了,通過(guò)上網(wǎng)和從其他書(shū)籍了解到,要想
理解linux,要先學(xué)會(huì)去用linux,只有這樣才能感性的了解linux,于是自己從網(wǎng)上下載了red hat 的后繼版本
fedora core 9.0內(nèi)核是2.6版的,安完之后,進(jìn)入了GNOME的桌面環(huán)境,我發(fā)現(xiàn)自己來(lái)到了一個(gè)新的世界
自己完全成了一個(gè)陌生人,完全不知道怎么操作,安軟件原來(lái)還有這么多的方法,./configure是什么
make ,makeinstall是什么自己當(dāng)初都快崩潰了,自己想在上面看電影,可是卻什么都看不了RMVB也無(wú)法播放,聽(tīng)說(shuō)mplayer挺不錯(cuò)的,我就下了源碼包,解碼包,皮膚包,然后通過(guò)書(shū)籍和網(wǎng)上教的步驟一步步的去安,花了幾天的時(shí)間才能完全的安上,皮膚也出現(xiàn)了,真是不易呀,但是全屏又有畫(huà)面播放的問(wèn)題于是自己下了個(gè)realplayer 11的rpm包安裝到還是順利,yum到還是用的 不太明白。這些經(jīng)歷以后自己就通過(guò)一本關(guān)于GNU/Linux的書(shū)籍去了解應(yīng)用linux(自己當(dāng)初買(mǎi)這本書(shū)的時(shí)候,還有些猶豫,怎么會(huì)有GNU,這是什么呢,應(yīng)為自己買(mǎi)書(shū)的那個(gè)書(shū)店只有這一本帶linux的,所以自己就買(mǎi)了,后來(lái)才知道,
GNU代表著自由軟件,它是GNU ' s not Unix 的遞歸表示),還是有一點(diǎn)點(diǎn)感覺(jué)的,呵呵。
大概了解了 linux后 ,自己就去看關(guān)于 linux內(nèi)核的API,找到了 advanced programmingin the unix environment,發(fā)現(xiàn)真的和其他人說(shuō)的一樣 ,Richard Stevens寫(xiě) 的 太經(jīng)典了,自己到現(xiàn)在看了有10章了
,還在繼續(xù)學(xué)習(xí)。因?yàn)樽约涸趯W(xué)校有很多時(shí)候不能夠用計(jì)算機(jī),自己覺(jué)得現(xiàn)在可以去看linux內(nèi)核了,
于是我就去看了,linux內(nèi)核源代碼情景分析 ,但自己對(duì)于硬件和計(jì)算機(jī)體系結(jié)構(gòu)根本就是不了解 ,雖然 在學(xué)OS 原理時(shí),學(xué)校也開(kāi)了微機(jī)原理 和體系結(jié)構(gòu),因?yàn)轶w系結(jié)構(gòu)是考查課,自己沒(méi)有完全的重視,所以自己只能重新開(kāi)始計(jì)算機(jī)體系結(jié)構(gòu)的學(xué)習(xí),用的是計(jì)算機(jī)組成原理——硬件與軟件接口,也挺不錯(cuò)的,可以說(shuō)自己通過(guò)這本書(shū)真正的了解了什么是硬件什么是軟件 ,至于微機(jī)原理 ,我真的不想說(shuō)什么,很重要MMU不講,匯編的也沒(méi)有真正的講完 ,可以說(shuō)我是 通過(guò)計(jì)算機(jī)組成原理——硬件與軟件接口這本書(shū),才真正的了解匯編語(yǔ)言雖然是MIPS的體系結(jié)構(gòu)不是intel的 ,真的很不錯(cuò),自己也知道了 c語(yǔ)言是
如何 翻譯成匯編語(yǔ)言的 ,雖然很想去深入的去學(xué)習(xí)匯編語(yǔ)言,但時(shí)間太有限了,還要去應(yīng)付考試,所以
只能以后去看了,真是舍不得呀!
在看完計(jì)算機(jī)組成原理后,自己就繼續(xù)看情景分析看完 存儲(chǔ)管理 以后 ,發(fā)現(xiàn)自己反過(guò)來(lái)再去看這張,自己完全忘記了,我想這種方法太差了,通過(guò)不斷的了解才知道還是應(yīng)該看看linux內(nèi)核設(shè)計(jì)與原理和深入理解linux內(nèi)核,了解linux內(nèi)核是怎么設(shè)計(jì),為什么會(huì)這樣設(shè)計(jì),我結(jié)合自己現(xiàn)在的情況把這兩本書(shū)的關(guān)于存儲(chǔ)管理的基本看完了,然后在去看情景分析的存儲(chǔ)管理的源代碼,發(fā)現(xiàn)原來(lái)自己怎么也不明白的,現(xiàn)在竟然一下子就明白了,這給自己增加了很大的信心,相信自己一定能夠在這條道路上走下去
,現(xiàn)在自己正在學(xué)習(xí)中,不管是應(yīng)用linux,通過(guò)linux編程,還是看linux內(nèi)核,我發(fā)現(xiàn)我越來(lái)越喜歡linux
了, 在linux下一切都變的那么的簡(jiǎn)單,我離不開(kāi)linux了!
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。