期末這次的範圍大很多
雖然上課也很努力聽
不過LINUX果不其然是LINUX
複雜度往上提升不少
再加上期末爆炸
我機率竟然跟OS連著考........
OS整個被我擺爛掉了
但是我還是很努力寫了
雖然沒有讀很熟
但是我發覺我依著課堂上的印象
大致知道題目在問甚麼
也知道大概要回什麼
但是關鍵性的答題部分
卻也還是有點過於模糊
成績大概不太好看.....
2009年6月19日 星期五
systemtap
一開始真的很模糊
完全不知道期末RPOJECT要怎麼起手
control path??
後來上網google了很久
才知道是system call
去做的interrupt function、exception function、或是一般的function
但是看著助教的範例CODE
怎麼若有似無的感覺
只TRACE了一層.C
照這個模式下去大概能TRACE出的function
少之又少
之後看到投影片
教授說那個"*"是錯的
所以我再去查查
有了驚人的發現!
原來那個放的是function 名稱
不一定要針對.C檔
腦海瞬間閃過RE的概念
果不其然
我才加上"_"開頭的function
就TRACE出很多function
進度瞬間增加很多
我想要跟一步的TRACE
所以再去翻翻其它CODE
發現了caller() 、 callee()這兩個function
整個如虎添翼阿
可以輕鬆看出缺了哪些function
雖然要手動trace也不輕鬆啦
不過就把system call trace得很完整了!
完全不知道期末RPOJECT要怎麼起手
control path??
後來上網google了很久
才知道是system call
去做的interrupt function、exception function、或是一般的function
但是看著助教的範例CODE
怎麼若有似無的感覺
只TRACE了一層.C
照這個模式下去大概能TRACE出的function
少之又少
之後看到投影片
教授說那個"*"是錯的
所以我再去查查
有了驚人的發現!
原來那個放的是function 名稱
不一定要針對.C檔
腦海瞬間閃過RE的概念
果不其然
我才加上"_"開頭的function
就TRACE出很多function
進度瞬間增加很多
我想要跟一步的TRACE
所以再去翻翻其它CODE
發現了caller() 、 callee()這兩個function
整個如虎添翼阿
可以輕鬆看出缺了哪些function
雖然要手動trace也不輕鬆啦
不過就把system call trace得很完整了!
Lazy Context Stitch
緣由:
大部分的 process 不需用到 FPU instruction
而存取 FPU 會耗掉取多 cpu cycle
為了省下不必要的 context switch 而產生的技術
做法:
1.主要會去分辨 process 是否會用到 FPU instruction
若不會用到則將 FPU 相關的
context switch 給關閉省下置換的麻煩
2.若是屬於用到 FPU instruction 的 process
則硬體會有一個記錄目前 registers 中
的資料是屬於哪一個 process 的暫存器 "fpu_owner"
若 fpu_owner == 該 process
則不需要做 FPU 相關的 context switch
若不同才改變
大部分的 process 不需用到 FPU instruction
而存取 FPU 會耗掉取多 cpu cycle
為了省下不必要的 context switch 而產生的技術
做法:
1.主要會去分辨 process 是否會用到 FPU instruction
若不會用到則將 FPU 相關的
context switch 給關閉省下置換的麻煩
2.若是屬於用到 FPU instruction 的 process
則硬體會有一個記錄目前 registers 中
的資料是屬於哪一個 process 的暫存器 "fpu_owner"
若 fpu_owner == 該 process
則不需要做 FPU 相關的 context switch
若不同才改變
訂閱:
文章 (Atom)