Recent Comments

This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

2008年1月30日 星期三

stack、heap、swap

在C++裡, int p[labl][labw], 這種陣列是屬於在動態陣列和靜態陣列之間的一種陣列. 原因是此陣列讓你在執行時宣告其大小(靜態陣列要在寫時宣告其大小)但宣告其大小過後卻不能改變其大小(動態陣列可改). 在電腦裡有兩種記憶體, 一是stack, 另一種是heap. stack是所有變數所在的地方. heap是所有new和malloc()回傳的記憶體所在的地方. 一般來講, 靜態陣列是存在於stack而動態陣列是存在於heap. 而這種陣列的記憶體是存在於stack. 當你把labl和labw設為1000時, p的大小是1000*1000*sizeof(int) = 1000*1000*4 = 4,000,000. 所以當在執行這程式時當執行到int p[labl][labw], 電腦要從stack中拿出4,000,000個記憶體時因stack裡沒這麼多記憶體, 所以出錯. 如果你改成用動態陣列則無此問題. 因動態陣列是用heap而不是stack. heap比stack大. 不過雖然heap比stack大, 但仍有其限制.

在kernel space不可能超過heap的極限的. 因在將近heap的極限時會thrashing(電腦會變的很慢). 不過在user space(你在user space), 也很難超過. 對初學者來說根本不可能. 因為heap的極限跟你的paging space和physical memory有關. 若將近heap的極限時也會thrashing(電腦會變的很慢).

在 Linux 上的 『Swap 空間』是在當實體記憶體(RAM)用完時才會使用到,假如系統需要更多的記憶體資源,而實體記憶體已經用完,記憶體上不活動的頁面將會被移到 swap 空間。 雖然 swap 空間可以幫助系統增加一小部份容量的 RAM,不過不能將它當作更多記憶體的替代品。 Swap 空間是位於硬碟上,它的存取速度比起實體記憶體慢了很多。

2008年1月16日 星期三

找工作@@|||  

從1月初開始找工作到現在,也面試了幾家
有個CIM工程師月薪32000,勞退6%另外加
出差還有補助,感覺不錯,不過就是要常出差
可能還要去大陸、南部,有時就是1個月,所以嘍!
就給他放棄,接著又去5吉不動產,算是個網頁設計
及管理的工作內容,可能還要做一些美工之類的
不過就是一開始才20000元,如果有寫出程式或貢獻後
就會調薪,也是在竹北……,最近就是一個程式設計師
一個月28K左右,不過全公司就一個軟體工程師
其他的有硬體……算小公司,之前的人也要閃了!
主要是顧客會一直問一堆和本身寫的系統沒啥相關
所以有點受不鳥,就不幹了!唉…
每個都不是很完美的工作,真不知道該怎麼選
如果到過年又還找不到工作那不就很……唉…:(
可能就是先去做交通工程的這個吧!
下午還要去一次和董事長見面一下!所以嘍!
再看看嘍!