在電腦的硬件和軟件的設計上,也會應用到一個很簡單的概念,便是使用緩衝區。簡單來說,緩衝區便是一個特別的地方,通常是設於兩個不相容的部份之間,作為這個部份的中間人。
最明顯的是電腦的處理器內便有一種特別的記憶體,通常名為Cache,它便是設於處理器的運算部份和電腦的主要記憶體之間。處理器的運算部份運作得很快,但是如果每每到主記憶體去提取資料,記憶體的運作速度是跟不上處理器的速度,如果這個問題不能解決,高速的處理器運算部份,便會被主記憶體拖慢,電腦的整體運作效率也因此大大降低。為了解決這個問題,電腦科學家便提出使用一種比主記憶體為快,但價錢較高的Cache記憶體,放置在電腦處理器之內;因為這種記憶體成本高,所以容量不大,通常由1M到8M之間,相對於主記憶體的容量由4G到32G之間,容量實在不是很高。
當電腦處理器運算部份處理數據時,數據會先由主記憶體抄到處理器之內的Cache,之後處理器的運算部份便只會處理這裡的數據,處理完成之後,Cache內數據便會抄回主記憶體內。主記憶體和Cache之間的數據運送速度,比每次由處理器直接到主記憶體提取的速度為高,而Cache的設計和位於電腦處理器之內,令處理器內的運算部份能高速提取數據來處理。由此可見,Cache同時以最好的運作模式和主記憶體和運算部份整合,間接令這兩個部份「看似」一同運作。
軟件的開發方面也有應用差不多的技巧。例如某一軟件要將數據寫到硬盤上的某一擋案,如果軟件寫每一個位元(byte),電腦也真的將它寫到硬盤上,硬盤要轉動磁碟,移動讀寫頭,這個運作相對電腦的運作來說是非常慢的,所以這樣做會大大降低電腦的效率。因此,在開發作業系統時,每當應用軟件要開啟某個擋案來讀寫,它便會在記憶體內設置一個緩衝區給這個檔案。如果軟件要寫數據到檔案去,作業系統便會先把數據寫在記憶體之內,直到這個緩衝區也寫滿了,又或軟件要求作業系統把數據寫到硬盤上,作業系統才真正將整個緩衝區內的數據寫到硬盤上。這樣,軟件既不用等硬盤的運作,作業系統亦可以把每次讀寫的數據量盡量提高,從而改善電腦整體的運作。
其實在我們日常的生活裡,也有不少例子是運用了緩衝區的理念。最明顯的便是我們的錢包。我們的錢放於銀行之內,如果我們每花一元,也要到銀行或提款機去提款,那麼我們每天不知要花多少時間在銀行之內。因此,我們身上便有一個錢包,每次我提款,便提取能足以花某一段時間的金額,期間我們便只會從我們的錢包拿錢出來花。我們從我們的錢包拿錢出來,效率很高,而每次我們走到銀行或提款機拿錢,之後放在錢包內,所花的時間也是有限的。由此可見,我們本身和銀行或提款機之間,我們的錢包其實便是一個緩衝區。再宏觀一點,我們作打工仔的,錢是從顧主而來,我們不可能每次花錢的時間,才走到顧主「出糧」,在我們和顧主之間,這次銀行便是兩者之間的緩衝區了。
緩衝區的應用能令兩個不相容的東西連結在一起,試想想我們的人生,是否也在某些方面也需要某種緩衝呢?對於在職人士,尤其是自顧人士,他們的收入可能是不穏定,但是他們每天的開支卻是差不多固定的,所以在這兩者之間,我們也得找一個緩衝的方法,而想一想,這個緩衝區便是我們的儲畜了,我們能否平穏生活,還是朝不保夕,便要看我們這個緩衝有多大了。我們在工作上被要求以少做多、提高效率,而在私人家庭生活裡,我們卻期望能舒服一點、節奏慢一點,所以我們也得去想想,在這兩者之間,我們能怎樣緩衝,也許我們得善用交通時間,在上班時漸漸將自己的節奏加快,而到放工時,我們也要好好善用時間給自己放鬆下來,如此,我們的工作和家庭生活才不會互相影響。
人生的緩衝也許不是只為了提高效率,而是要讓我們生活得更舒適、更長和更健康。如果覺得生活得不太理想,試想想有否需要找個方法來緩衝吧。
筆者任職資訊科都界多年,亦曾於不同大專院校任教資訊科技相關課程,了解不同計算機科學的理論,明白如何運用這些理論來開發軟件以及不同的解決方案。這些看似艱深的計算機科學理論,其實背後的概念並不複雜,某些更只是把一些接近常識的道理量化,變成了不同的計算機科學理論。因此,筆者於2013年應網台《創動力》之邀,連載了多篇有關如何從計算機科學理論的角度,啟發我們思考人生或日常生活的道理的文章。這些文章現在還能在《創動力》網站上找到。但為了更妥善維護這些文章,筆者便把這些文章於2022年開始,再次在自己的網誌上連載,直到把當日所寫的文章全部都在這裡刊登為止。
2022年1月29日星期六
訂閱:
發佈留言 (Atom)
千言萬語
電腦這個詞語,給我們的感覺是一件像我們人類腦袋的東西,擁有記憶,懂得思考,但是在英文原字Computer,其實只指是一部懂得運算的設備而已,能令一部只懂得運算的設備變成一部像我們人類般思考,懂得完成無數的工作,是隨著電腦發展而被研發出來的程式語言。到了今天,已經有數以千計的程式...
-
筆者於資訊科技界工作多年,眼見新科技不斷湧現,某些新科技的出現,更帶出一個新時代,舊有科技便如過眼雲煙,漸漸被人們遺忘。每項新科技都嘗試解決人們一個現有問題,可視為用家之福,但是想深一層,卻暗藏禍根,正如中國道家思想「禍兮福之所倚,福兮禍之所伏。」 例如早期當視窗系統開始流行時...
-
電腦這個詞語,給我們的感覺是一件像我們人類腦袋的東西,擁有記憶,懂得思考,但是在英文原字Computer,其實只指是一部懂得運算的設備而已,能令一部只懂得運算的設備變成一部像我們人類般思考,懂得完成無數的工作,是隨著電腦發展而被研發出來的程式語言。到了今天,已經有數以千計的程式...
-
筆者記得二十多年前在大學就讀計算機科學時,部分學生的畢業項目是光學字元識別(Optical Character recognition),那時要用當時最快的電腦來運算才能有合理的運算效率,但是到了今天,我們的手提電話也可以做到。這件事給筆者的啟示是,今天我們覺得很困難的事,到將來...
沒有留言:
發佈留言