讀《精通Regex》序言–硬體和軟體的本質

來源:互聯網
上載者:User

硬體體繫結構中所有的一切都會被歸結為緩衝,這個思想是一本《精通Regex》的序言裡面引用的,真正的作者是Sun的科學家Bill Joy,他的這個思想是很有道理的,電腦出現以前,幾乎所有的機器都是自己完成所有的任務,即使有若干台合作的機器,它們離的也不遠,並且耦合度及其高,因此本質上它們還是一台機器,可是電腦的出現改變了這一切,電腦系統幾乎都是獨立的系統,耦合性低了,從此一台機器分成了若干台,然而這隻是機器本身的變革,對於人的使用來講,人們所需要的並不是機器如何如何,更在意的是機器生產的產品,比如資料,人們當然還是希望造一台巨大的機器一次性完成這一切,只不過是因為這台巨大的機器成本太高了而只能採取電腦網路系統這樣的分布式策略來分而治之。分布式的策略導致的直接結果就是疏遠了產品加工的各個環節,產品不再一下子成為成品,而是要經過很多半成品的狀態,如何盡量的減少半成品狀態的個數,或者說如何盡量加快從一個半成品狀態到另一個半成品狀態所需的時間就成了整合分布式機器的重要問題,其實並不是電腦分布式系統遇到了這樣的問題,早在汽車剛開始批量製造的時候就有這樣的問題。之前,汽車都是定製的,可以說就是一台機器完成的,批量生產機器就是一種分布式的機器,於是產生了流水線作業系統,不再一個完成之後另一個再生產,而是將過程進程分割,這就是流水線作業,提高了機器各個組件的工作效率,這其實就是將過程再次進行分散式處理,以上的問題更加嚴重了,如此細微的流水線步驟都要考慮從一個半成品到另一個半成品狀態轉換的效率。

這些問題怎麼解決呢?解決方案就是使用緩衝系統,本質上就是儘力將所有的機器合并成一個機器,雖然不可能,但是儘力而為的將半成品進行合攏,使得它們離的不再那麼遠,下一個工作步驟或者稱加工中的一個環節的機器可以最快的獲得上一個環節的半成品,這就是緩衝的本質。電腦緩衝也是如此,比如一個處於擁有乙太網路卡機器上的進程需要發送一個網路資料包,首先要得到對端機器的mac地址,然而該機器並不是直接發送arp請求,而是首先在本地尋找arp緩衝,目的就是盡量忽略遠端合作者的存在,盡量在自己這裡完成一切任務。優先順序就是遠端是必不可少的,負責本端資料的輸入,本端使用時,首先查看本端緩衝,若不存在則向遠端要,一旦要到則緩衝。分布式硬體架構中遠端永遠都是最終輸入源,緩衝是一種儘力而為的整合措施,並不是絕對的整合,它只是為了滿足作為人的希望整合的心理需求而確實帶來了很大的收益,如果實現了絕對的整合,那麼遠端也就不需要了,分布式也就失去了意義。

既然緩衝是硬體的根本,那麼軟體呢?軟體的根本在於結構化和關聯式模式(特指電腦軟體),目前的電腦硬體系統只提供記憶體和處理器,引申意義上還有硬碟,那麼記憶體是一個平坦的定址空間,如何在這個平坦的資料定址空間構造出形形色色的軟體,這就需要用一些結構將這個物理上平坦的空間分割成邏輯上有意義的結構,然後交由處理器去識別這些結構,當然處理器是不認識這些結構的,處理器之所以知道如何去處理這些結構是因為這些結構之間是有關係的,這就是關聯式模式的意義,比如當代大多數處理器中內建的位元組,字,int,double等結構,通過這些內建的結構體,程式員構造出了自己的更複雜的結構,程式是什麼,程式就是這些結構的相互作用。正如《精通Regex》的序言中所說,不管上層的軟體多麼神奇,歸根到底還是處理位元組序列,處理器在處理位元組序列的同時識別資料結構並且產生軟體應有的邏輯。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.