禪,不立文字,直指人心。不立文字,意思是不只從字面上去理解,而是要心領神會。計算機作為人造物,人心必然可以領悟她的奧妙。用禪的思路來了解計算機,是一種探索。計算機的概念和你我的生活中的概念必然類似。
地址的空間
我們生活在空間里,我們在某個時刻必然處于某個地點。如果世界上就你一個人,且你永遠呆在這個地方,故事便結束了。可是,你得移動,世界上還有很多別人。這樣,一個直指人心的東西就會出現,這是一個直接的需求。這里先插一句話,禪沒有那么神秘,她是自然而然的,每個人只要直面自心,就會出現禪。這個需求是什么呢?那就是我們需要知道人在哪里,因為我們之間要來往交流。于是標記人在哪里就很有必要了。人一般都在2個地方,一個是建筑物內,一個是建筑物外。建筑物都會有個門牌號,地圖會標記出你在哪里,就是所謂的經緯度,可以唯一確定你的地址。所有的地址集合,就是人們能活動的地方,這個就叫做你的地址空間。可以看出來,無論何時人們要找東西,地址空間這個概念就會出現。只有有了這個東西,人們才能做接下來的事情。想想一下,打仗如果沒有地圖會怎么樣,你就知道地址空間的價值了。計算機的世界里,地址空間也需要出現,如前面所說,之所以會出現,是因為在這個世界里,也需要找東西。為什么需要找東西呢,找什么東西呢?這個時候,我們就得搞明白計算機是干啥的。一句話就可以總結出來,計算機是執行程序的機器。大家知道,機器都是由各個部件組成的,計算機也不例外。計算機由3個最重要的部件,cpu、內存和外存。cpu就是中央處理器,他是執行程序的部件,那么程序放在那里呢,放在內存中。既然有內存,為啥還要外存呢?因為,內存快,而且是基于電的,電一沒,內存的程序也就沒了。外存是基于機械和磁的,可以永久保存。所以,計算機的程序是存儲在外存的,在需要執行的時候,搬到內存去。內存是一塊空間,程序是一條一條的,程序要放到內存中,每條都要有個地址,這樣cpu才能找到她去執行她。cpu在尋找地址的時候,只要你給他一個開始的地址,他就會
去執行那一條起始位置的程序,執行完后,她會自己用開始地址加上指令長度,所得的值就是第二條執行指令的地址,這樣就一直執行下去。這就像人走路,邁出第一步,就有第二步,直到目的地為止。