可能有朋友會好奇,前兩天剛發佈了數據結構,如今忽然又發佈網絡編程,那此刻的我到底在學些神馬?哈哈,我這學期的目標就是學數據結構和網絡編程,至於學的前後,我想你應該猜到了,沒錯,兩不誤,我就是要同步進行,世上無難事,只要肯攀登,趁我學習熱情依舊高漲,學習就是我最大的樂趣。
在學習網絡編程以前,我以爲有必要對計算機的硬件、軟件、操做系統作一些簡單的瞭解,你也不用去百度,我都給你安排好了,先看一篇《編程常識知多少》,等你看完後再緊接着看我下面要說的內容,包教包會,咱就穩穩的,不給失敗找藉口,只給成功找方法,我們一塊兒奔大廠。程序員
若是你已經看了剛纔推薦的文章,那接下來我給你普及一下計算機基礎。首先來講咱們學Java、Python、C、C++等編程語言的目的是爲了幹什麼?無非就是寫代碼,編寫程序。好比說你學完Java、學完Python之後你就能寫像暴風影音,QQ、微信、瀏覽器等各類各樣的應用軟件。好,那咱們買來一臺新電腦就能立馬裝這些軟件嗎?知道的朋友都會說,得先在電腦上裝操做系統,好比Windows系統,等裝好了操做系統而後才能裝那些軟件。在沒裝操做系統以前,你的電腦就是一堆硬件,是死的,那如今你應該明白一臺完整的計算機系統應該由三層結構構成(以下圖)編程
如今咱們想想,一個完整的計算機系統是如何從無到有的發展起來的。咱們知道,在早期社會有奴隸制度,一些生活在高層的人會指使奴隸去作一些事,不事後來被奴隸給推翻了。你們想想,奴隸是否是也須要吃喝拉撒,你就算控制奴隸幹活你也得管奴隸的生活需求。可是若是控制一臺機器的話,機器不須要吃喝,一直工做就能夠了,所以人們開始把注意力分散到了如何奴隸機器上,跟奴隸人同樣,要想奴隸機器,就要找到能跟機器交流的表達方式,把個人思想傳達給機器,讓機器去執行。實際上這個機器就指計算機,因此說計算機的發展歷程就是人類不斷想用機器去取代或者說解放人力,最終極的理想是可以讓計算機變的跟人腦同樣,因此計算機也叫「電腦」。瀏覽器
我在剛纔說我要找到一種機器所能理解的表達方式,這是否是咱們學習編程語言的目的啊。編程語言就是機器所能識別的表達方式,基於編程語言把你的思想寫給機器,寫出來的結果就叫程序或者軟件。因此如今你們應該明白,硬件是死的,你如今要想讓硬件「活」起來,你得給它寫好軟件,可是軟件不能單獨運行,軟件是必定要交給硬件去執行的,但硬件又是死的,硬件包含了內存、硬盤、CPU等,咱們要想讓這些硬件運做起來,你得控制硬盤轉起來,得控制CPU工做起來,得控制內存也能工做起來,機器本身是不能控制本身的,那你得用程序控制它,就跟人的思惟同樣跟機器說你應該怎樣,那你就得先寫一段控制程序去讓硬件「動」起來,而後再寫應用軟件,好比說QQ,這時候QQ須要用硬件,就先去找控制程序,而後讓控制程序去調用相應的硬件,從硬件中拿到東西后再經過控制程序返還給QQ,這就是控制程序的做用。那如今又有一個應用軟件Word,它的功能和QQ不一樣吧,它想從硬盤中讀取信息,也要用到硬盤,那它的操做過程是否是和剛纔的QQ同樣,都要先找控制程序,經過控制程序操做硬件,達到目的。微信
這個控制程序好寫嗎?不見得吧,可能光給你一個硬盤都夠你研究一生的,這時候有一批專業的程序員站出來了,他們說要專門寫控制程序來控制硬件,控制好硬件以後提供一堆接口給應用程序調就能夠了。那這個控制程序就是操做系統。網絡
計算機硬件是負責執行具體幹活的,操做系統的功能是在應用軟件和硬件之間起承上啓下的做用,軟件其實就是咱們給計算機傳輸的思想。數據結構
可能我不必寫這麼詳細,但換個角度想,卻以爲越是沒有必要的東西越是有必要寫,由於你們都這樣想了以後就會產生一種都懂了的錯覺,這樣給新人就形成了一些困難,勿以善小而不爲,從小事作起,從我作起。編程語言
看完有收穫?那麼但願老鐵別吝嗇你的三連擊哦
一、點個推薦,讓更多的人看到這篇文章
二、關注個人原創微信公衆號【泰斗賢若如】,第一時間閱讀個人文章
三、歡迎關注個人博客學習
【原創聲明】:本人原創:https://www.cnblogs.com/zyx110/spa