[理工] 107交大計組 多題QAQ

作者: kaidi620 (萬能屎哥)   2019-02-11 21:52:19
不好意思 問題有點多 想請問一下
https://imgur.com/8gCIQU7.jpg
(1)請問一下21,page的數量要怎麼求呢?
題目的page frame為page大小對嗎? 那virtual 它也沒有給pagetable那要怎麼計算數量阿???
https://imgur.com/zJ0n8ZA.jpg
(2)想請問一下這個程式有什麼問題呢?
(a)要怎麼看 (b)又要怎麼看呢
小弟想說buffer size為256,夠大,將輸入的文字如果大於二則複製到 buffer 裡面
這樣有哪裡錯嗎QAQ
https://imgur.com/3tVcU1C.jpg
(3)為什麼deadlock 會造成(C)(D)??
如果不讓程式造成死結 那應該不會減少 thread的平行處理吧
priority iversion要怎麼解釋呢??
e03vu,42842841; a;6cjo6zj4 vu,4vu,4
~~`
作者: cutearia (らちけん)   2019-02-11 23:06:00
1應該是20bit拿去當tag 2^20=1M?
作者: gama79530 (Perfect Man)   2019-02-11 23:27:00
1個frame或page 4K要12bits,page number有2^(32-12)frame number = 2GB/4KB = 512Kpage size 是4KB少打一個字deadlock avoidance會去偵測必須要分配資源之後還是在safety才會准許resource request,如果不ok的話thread就要停下來等拿resource所以會降低thread level平行化priority inversion就是說有一個優先權比較高的thread要wait某個資源,但這個資源已經被priority比他低的thread拿走了,這樣子等於是高優先權的thread要等低優先權的
作者: cutearia (らちけん)   2019-02-11 23:41:00
2 沒檢查argv[1]長度 可能超出buffer 大概吧
作者: S2067030 (Ep.Yao)   2019-02-12 00:10:00
請問b選項 more mem leak , leak在這邊是什麼意思
作者: Rioronja (想show幹話組)   2019-02-12 00:49:00
C裡面srtcpy 如果輸入大於一個字串的大小 他會依照stack的性質覆蓋掉記憶體空間所以可能造成崩潰 是一個很有名的bug如果是用srtncpy的話 如果輸入超過設定空間大小 他就只會存到該大小 後面省略https://i.imgur.com/BUZDHCn.jpg
作者: plsmaop (plsmaop)   2019-02-12 07:42:00
Memory leak我舉個例子好了,你寫c的時候如果一直malloc但是沒有free,os以為你會用到這塊記憶體所以不會分配給別人,但是你其實用完了,應該還給系統,這樣的情況下造成你實際沒有用到這麼多記憶體,但記憶體卻不夠用,這就是memory leak,現代的語言(python, js, java, golang等等)有自己的GC,不需要使用者自己去管理記憶體,相對的能降低memory leak的機會,但是你也不能百分之百的保證他的GC完全不會有memory leak
作者: S2067030 (Ep.Yao)   2019-02-12 07:43:00
明白了!感謝大大細心解釋!
作者: plsmaop (plsmaop)   2019-02-12 07:50:00
至於stackoverflow,如同上面說的,因為c的字串實際上是直接對記憶體做操作,會從要覆蓋的位置開始一路覆蓋下去,萬一傳進來的參數爆幹長,比整個程式的stack空間還長,就會stackoverflow,讓惡意程式有機會在沒有權限的地方亂塞東西
作者: kaidi620 (萬能屎哥)   2019-02-12 09:22:00
請問大大 為什麼參數爆了 還有機會讓惡意程式塞東西呢?
作者: plsmaop (plsmaop)   2019-02-12 09:26:00
https://bit.ly/2tj9xHG有興趣可以參考,不過我覺得考前別看了,記住概念就好
作者: gaowei16 (啾啾人)   2019-02-12 22:25:00
如果剛好在隔壁會覆蓋
作者: GeniusPuddin (GeniusPudding)   2019-02-13 10:40:00
例如可以蓋掉stack上function call的return address影響程式執行流程之類ㄉ

Links booklink

Contact Us: admin [ a t ] ucptt.com