在電腦的硬件和軟件的設計上,也會應用到一個很簡單的概念,便是使用緩衝區。簡單來說,緩衝區便是一個特別的地方,通常是設於兩個不相容的部份之間,作為這個部份的中間人。

最明顯的是電腦的處理器內便有一種特別的記憶體,通常名為Cache,它便是設於處理器的運算部份和電腦的主要記憶體之間。處理器的運算部份運作得很快,但是如果每每到主記憶體去提取資料,記憶體的運作速度是跟不上處理器的速度,如果這個問題不能解決,高速的處理器運算部份,便會被主記憶體拖慢,電腦的整體運作效率也因此大大降低。為了解決這個問題,電腦科學家便提出使用一種比主記憶體為快,但價錢較高的Cache記憶體,放置在電腦處理器之內;因為這種記憶體成本高,所以容量不大,通常由1M到8M之間,相對於主記憶體的容量由4G到32G之間,容量實在不是很高。

當電腦處理器運算部份處理數據時,數據會先由主記憶體抄到處理器之內的Cache,之後處理器的運算部份便只會處理這裡的數據,處理完成之後,Cache內數據便會抄回主記憶體內。主記憶體和Cache之間的數據運送速度,比每次由處理器直接到主記憶體提取的速度為高,而Cache的設計和位於電腦處理器之內,令處理器內的運算部份能高速提取數據來處理。由此可見,Cache同時以最好的運作模式和主記憶體和運算部份整合,間接令這兩個部份「看似」一同運作。

軟件的開發方面也有應用差不多的技巧。例如某一軟件要將數據寫到硬盤上的某一擋案,如果軟件寫每一個位元(byte),電腦也真的將它寫到硬盤上,硬盤要轉動磁碟,移動讀寫頭,這個運作相對電腦的運作來說是非常慢的,所以這樣做會大大降低電腦的效率。因此,在開發作業系統時,每當應用軟件要寫開啟某個擋案來讀寫,它便會在記憶體內設置一個緩衝區給這個檔案。如果軟件要寫數據到檔案去,作業系統便會先把數據寫在記憶體之內,直到這個緩衝區也寫滿了,又或軟件要求作業系統把數據寫到硬盤上,作業系統才真正將整個緩衝區內的數據寫到硬盤上。這樣,軟件既不用等硬盤的運作,作業系統亦可以把每次讀寫的數據量盡量提高,從而改善電腦整體的運作。

其實在我們日常的生活裡,也有不少例子是運用了緩衝區的理念。最明顯的便是我們的錢包。我們的錢放於銀行之內,如果我們每花一元,也要到銀行或提款機去提款,那麼我們每天不知要花多少時間在銀行之內。因此,我們身上便有一個錢包,每次我提款,便提取能足以花某一段時間的金額,期間我們便只會從我們的錢包拿錢出來花。我們從我們的錢包拿錢出來,效率很高,而每次我們走到銀行或提款機拿錢,之後放在錢包內,所花的時間也是有限的。由些可見,我們本身和銀行或提款機之間,我們的錢包其實便是一個緩衝區。再宏觀一點,我們作打工仔的,錢是從顧主而來,我們不可能每次花錢的時間,才走到顧主「出糧」,在我們和顧主之間,這次銀行便是兩者之間的緩衝區了。

緩衝區的應用能令兩個不相容的東西連結在一起,試想想我們的人生,是否也在某些方面也需要某種緩衝呢?對於在職人士,尤其是自顧人士,他們的收入可能是不穏定,但是他們每天的開支卻是差不多固定的,所以在這兩者之間,我們也得找一個緩衝的方法,而想一想,這個緩衝區便是我們的儲畜了,我們能否平穏生活,還是朝不保夕,便要看我們這個緩衝有多大了。我們在工作上被要求以少做多、提高效率,而在私人家庭生活裡,我們卻期望能舒服一點、節奏慢一點,所以我們也得去想想,在這兩者之間,我們能怎樣緩衝,也許我們得善用交通時間,在上班時漸漸將自己的節奏加快,而到放工時,我們也要好好善用時間給自己放鬆下來,如此,我們的工作和家庭生活才不會互相影響。

人生的緩衝也許不是只為了提高效率,而是要讓我們生活得更舒適、更長和更健康。如果覺得生活得不太理想,試想想有否需要找個方法來緩衝吧。

圖片來源:互聯網

逢星期五上載

此文章之主持/專欄作家介紹:Herbert
資訊科技界資深工作者,學生時代受蘋果二代所啟蒙,沉迷電腦科技,尤其是軟件編程,大學時代主修計算機科學,最後以獲得哲學博士作完美終結。從事資訊科技行業超過二十年,對資訊科技界充滿憧憬和好奇,至今仍在追趕各項電腦新知,盼望能以資訊科技知識,令這個世界更美好。

版權所有©2013 創動力媒體 Dynamix