Re: [心得] 資工所準備心得之二

看板graduate作者 (阿飛西雅好好聽)時間15年前 (2009/03/28 13:19), 編輯推噓9(900)
留言9則, 9人參與, 最新討論串1/1
OS: 書單:《Operating System Principle》,7/e (恐龍本的亞洲學生版) 我想說一下關於老師的事。 有上過老師的課的人都知道他很忙,白天要上班,晚上要教課。 雖然他收了補習班的錢當了老師,是應該要敬業一點, 但從另一方面想,也要很感謝他願意花這麼多的時間來教課, 畢竟以常考的基本題而言,他教得真的很不錯! OS這種科目,我覺得因為我們都不是系統設計者, 只能從課本的內容去推敲某些實作的細節背後的原理。 你說老師上課講的,甚至是書本寫的那些細微的概念, 就真的是我們日常用的作業系統設計的方式嗎?倒也未必。 所以我覺得某些題目,尤其是交大、台大電機CS近來很愛考的選擇題, 除了出題老師之外,沒有人知道所謂的「正確答案」是什麼, 拿去問學校教OS的教授,他都不一定答得出來了,更何況是補習班的老師。 當然了,我們是繳錢上課的學生,當然有權利要求老師要解答我們的疑問, 隨時update考情趨勢,但另一方面,大家都已經是要考研究所的學生了, 應該不是用考大學時上補習班的心態在補習, 要求老師什麼都要會,什麼問題都應該給予解答。 我當初會去補習的主要原因是因為這些科目我都沒有碰過, 去補習可以減少自己摸索的時間。 老師只是幫你掌握出題重點方向,真正要致勝的關鍵, 還是在於你自己對於那些老師沒講考試卻會考的部分, 願不願意自己去找出答案。 就拿台大OS來說,有做近幾年考古題的人都知道分散式系統一定考, 而且考得很重,50分中至少會考10分。但洪老師就是不教,你會怎麼辦?放掉? 恐龍14到16章是分散式系統,只要有念就會贏人家5分到10分, 但是有多少人真的會去念? 台大電機CS去年和前年都考的atomic transaction, 鼎x的題庫書連兩年都解錯, 但它就在恐龍第六章的後面,內容只有幾頁,稍微念一下就會了, 又有多少人會花時間去看? 我的意思是, 補習班老師只是用他的經驗帶你念書, 但真正有心要考好學校的人,一定要靠自己。 老師沒教卻會考的東西,就是贏人家的關鍵啦。 接下來分享一下我準備的方式, 我是以恐龍為主,老師上課筆記為輔, 所以我腦海裡的章節順序都是恐龍的順序而不是老師的筆記, 一到二概論,三到五process management,六同步七死結, 八到十memory,十一到十三I/O和Disk,十四到十六分散式系統。 至於題庫書或老師的書,我覺得是沒有什麼用處。 恐龍一到十六章,除了每一章最後的Operating System Example外,幾乎都念過了。 我會在每一段旁邊的空白寫一下這一段的重點, 這個重點其實就差不多是老師上課的重點。 然後上完課後我會拿筆記去對恐龍。 因為老師上課都是憑記憶寫板書的,有些小地方或用詞可能會跟原文有些差異, 在對照的同時就可以順便更正一下筆記的內容。 不是說老師講錯,只是我比較喜歡用和課本一致的詞彙。 差不多在秋季班的時候,我有按照恐龍的內容,針對我認為比較重要的幾章, 再做一次重點筆記,每一章差不多一到兩頁A4。 原本是只有念到I/O,不過做考古題時發現台大會考分散式, 所以差不多到考台大前一個月時才開始念分散式。 至於題目,我是在寫考古題才開始做的,但只要考古題有做足, 解題的感覺就差不多了。老師常說要注重包裝、美觀, 但我覺得那其實不太重要。近年來大家比較喜歡考選擇、是非, 非選擇是非的題型多集中在CPU排班、死結、disk移動距離、memory page table 一類的計算,或者是解釋名詞,比較題型考的比較少, 重點還是在你能不能精簡的用對關鍵字把定義寫出來。 下面想提供一下各個主題我的心得。 第一章主要是各種不同系統的比較,不過現在考得很少, 第二章的重點應該是system call, process的部分,主要還是弄清process、user thread、kernel thread, 還有各種排班。 交大近幾年來很愛考排班,尤其是不同屬性的process在不同排班方式中的表現, 我覺得這好像沒有一定的標準答案,可能就是在考古題做到的時候稍微思考一下, 或者是去對照恐龍的文字推敲一下。 同步好像是大家公認OS中最難的部分,老師上課也上最久, 但是從恐龍和考古題中可以發現這部分已經不考那麼多,也不那麼難了。 像老師上課講的恐龍獨有的critical region,恐龍7版早就拿掉了, 所以我從來沒有念。此外老師也補充一些其他同步問題及演算法, 但看一下考古題,會發現近年考的只有三種, 第一種是兩個process的同步,就是有flag和turn的那一個演算法的變形, 第二種是semaphore的製作,就是wait和signal的題型, 其中最會考的是第一型的reader/writer問題。 第三種就是monitor解哲學家晚餐問題。 我自己是有把比較重要的演算法寫在一張紙上,放在皮夾, 坐捷運無聊就拿出來看一看。 另外這一章最後面老師上課沒教的atomic transaction那一段最好看一下。 死結的話就是四個必要條件,三種處理策略和那幾個演算法。 memory的部分,建議搭配計組一起念,這兩個部分幾乎是完全一樣的, 只是計組在cache著磨比較多, OS在virtual memory和分頁表replacement著磨較多,2nd chance這幾年很愛考, 但是大家都不太會算。 兩邊搭配著念不管是考在計組或考在OS都不用怕。 另外今年台大電機CS和台科大都有考buddy和slab,這也是老師上課沒教過的東西。 I/O和Disk老師講的比較少,但有些重要的概念老師是放在第一章講, 像是spooling, buffering, caching的概念,這個今年台科大有考解釋名詞。 其他像是移動距離的計算,那個是大家都一定要會的題目, 還有polling,interrupt, DMA,計組也有提到,可見非常重要。 RAID部分計組講的很清楚,去看計組就好了。 分散式系統主要都考在同步相關的問題及coordinator election的演算法, 今年台大是多考了死結的部分。 其他的部分就是寫考古題有看見的話就翻一下,像清大考過worm, 交大考過DMA和I/O request的步驟,這個在課本都有圖表可以參考。 拉里拉雜寫太多了,希望對之後要考的人有一點助益。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.84.235.217

03/28 13:26, , 1F
幫推~
03/28 13:26, 1F

03/28 13:46, , 2F
幫推! 很詳細
03/28 13:46, 2F

03/28 13:53, , 3F
推 很詳細 真的是很重點
03/28 13:53, 3F

03/28 14:06, , 4F
幫推,很詳細
03/28 14:06, 4F

03/28 14:09, , 5F
真正的心得
03/28 14:09, 5F

03/28 14:10, , 6F
03/28 14:10, 6F

03/28 15:37, , 7F
幫推一個!
03/28 15:37, 7F

03/28 16:32, , 8F
強 光一顆os就寫一偏文章了
03/28 16:32, 8F

03/28 17:46, , 9F
受益良多!感謝!才發現自己準備的真不足/_\
03/28 17:46, 9F
文章代碼(AID): #19pRDnuS (graduate)