由於並非本科系出生,我剛接觸電腦科學這一塊就是開始硬幹C++,在寫過不少程式、應用、軟體後才往下來學習作業系統,我覺得非常有趣,有趣之餘希望能以科普的角度與人分享我所知道的作業系統。
當一個Program被執行起來成為Prcoess的時候,會將instruction和資料都存放在記憶體裡面,交由作業系統去管理每一個Process所使用到的記憶...
昨天提到說記憶體能夠在三個時間點 1) compile time, 2) load time, 3)run time去做address binding,實際把P...
今天我們繼續來看作業系統是如何配置記憶體,實做出來的方法有兩個大種類,一種是連續的(Contiguous),想像記憶體是一條連續的儲存空間,一整個Process...
昨天稍微提了一些有關Paging的觀念,今天要繼續來說明Paging。 Paging是屬於fixed-partition的方法,將記憶體以一個不變的大小切成好幾...
Translation Look-aside Buffer(TLB) 這一切看似美好的機制下藏有一些缺陷,想像一個Process區要去存取一個記憶體位置的值,需...
目前我們知道Process在Access memory時會先去找到page,才去找到frame,但其實中間還會經過一個層級,叫做segment,整體的流程會變成...
在探討完記憶體之後,我們今天接著要探討也跟儲存設備有關的file system(檔案系統)。相信所有人都對檔案這一詞並不陌生,是由作業系統去創造、定義的一個單位...
當檔案數量多的時候,為了方便管理所以產生directory這個概念,對人跟系統來說,檔案(file)皆是放在directory底下。 把一顆新的硬碟做成檔案系統...
前面講述了File System的使用與概念,今天要更深入地去探討其底層的實作內容,先從結構開始,講述如何去切割層級與其之實作。 File system str...
終於到最後一天了,這三十天來真是歷經波折,寫好的文章很難,要有知識、有文筆、懂表達,一樣困難的是明知自己寫的是廢文,卻還要努力去把他寫好寫完,去對抗挫折的心情,...