引用:
作者kukulcan
program 只是一個檔案,一個 binary file。記憶體當中的稱之為process,兩者是有差異的。將 program 放入到 memory的過程稱之為loading。主要是將程式展開,放入到各自對應的記憶體區段當中。
負責進行loading的程式名為 : loader,不過事實上不是一個獨立的程式,而是屬於kernel內部的東西。
process 若是要呼叫 執行某一個 program,像是
system("dir /w");
編譯器會把 這行指令翻譯成相關的組合指令碼。其中一定會出現 "int"指令,透過中斷程序讓執行權由user program 變成 kernel program,然後由kernel來進行 dir 這個程式的 loading 動作,然後交給 kernel 的 task mnger 給予此process pcb,並交由 task mnger控制。
blah blah blah~~~
老師會問這些,是因為這些都應該是大學教過的東西......是基礎OS知識。
你有沒有考慮去旁聽大學部的 OS ?
是阿,這...
|
哈...可以參考剛剛的網址第三章 第四個投影片 這裡有說到PROCESS的記憶體配置
事實上 PROCESS有包含PROGRAM 那便是TEXT 否則 每次執行到某個指令 就要重新LOAD 那這個OS也沒什麼用
還有 一般不會直接呼叫system call 都是利用API
至於為什麼 可以再看第二章的內容
閣下的答案 也與小弟被老師問之前的答案差不多
看來 閣下似乎對這門學問沒有很透徹
然後呢 並不是只傾向老師->學生 而是希望老師<->學生
再來就是假如一門課只準備3小時 哪可輕鬆了 小弟的老師可是要求準備10-12小時以上才敢上台講
最後 閣下的語氣 調侃味很重 叫小弟看的很不是滋味....