精華區beta Programming 關於我們 聯絡資訊
> ==>發信人: gsj.bbs@bbs.nchu.edu.tw (國王的新衣), 信區: programming > ※ 引述《tester.bbs@bbs.csie.ncu.edu.tw (try or test)》之銘言: > > 1. 電腦能接受 interrupt 而多工執行, 她是循序還是併行 ? > > 2. 多 cpu 的電腦是平行還是循序 ? > > 3. 現代的高階語言程式都建立在 OS 所提供的 time-invariant 的管 > > 4. 這種與時間無關的確定性特點不叫 循序化. > 循序是循著一定的順序 > 多工是交錯執行兩個以上不同的Task,但Task內還是循序的 > 循序與多工議題本來就沒有什麼關連 電腦在執行中斷與多工程式時, 就時間順序言, 就是非循序的. 那麼你的循序與非循序跟硬體的對稱又是指甚麼 ? > > C 語言程式編譯時, 絕對是能列出組語的程式與機器碼出來看的, 而且 > > 也有其一定的規則性, 相對於某個資料或程式的位置, 其相對位置都是 > 那在編輯前你看得出來嗎? 如果每次都列出組語來看, 熟了就能看出規則來, compiler 就是有規則. > 如果你能在事前看出每一段碼編輯後的位置,那我就服了你 服了又有甚麼好處 ? 不服又如何 ? 這是 know how 問題, 這個討論是給想學的初學者. > 還有一個執行檔格式的問題 > 用C Compile 的程式大都是 *.obj 檔,有的環境要的是 Binary file > 有的東西甚至還跳脫傳統的執行檔格式, > 除了Code以外還要加上特殊的Header 1. binary file 也不是不能去頭去尾的 , 放在 disk , 用 dirty program 的概念改用 modify file 的招式不就解了 ? 何況只是要求放在 sector 0 . 2. 真正熟 linker/loader 的就能要他造出想要的格式, 再來修改. > > Boot Sector 的內容是有特定標幟要標明這是一段可執行的 boot > > program , 但並非 C 語言程式就造不出來. > 你去造造看,造得出來我就叫你大爺 > 如果造得出來,那就如你以上所說的 Sun OS 的 Source Code 中 > 將不會再有Assembly 的出現 1. Sun 能用組語輕鬆寫出來, 幹嘛要自找麻煩去限用牛刀 ? 2. 組語就是能寫出在 run-time 才改變原程式裡的 code, data, stack 內容 的碼組合來, 高階語言多數則閹掉這種可能, 以避免不可讀, 不好維護及 不可預期的破壞. -- ◎ Origin: 中央松濤站□bbs.csie.ncu.edu.tw From: 140.115.6.234