Re: [問題] dos為何要有記憶體配置的中斷指令?

看板Programming作者 (我不會C++)時間17年前 (2007/04/02 22:46), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/24 (看更多)
※ 引述《Qoo2 (Qoo)》之銘言: : 請問一下 : dos有int 21h function 4ah的記憶體重配置指令 : 但是dos的原理不是 當一個task被執行時 他的base address以上 : 一直到physical address的末端都可以無限制的被該task使用嗎?? ==>yes, 這是因為DOS沒有使用到CPU的MMU,所以一個程式可以讀取 系統上任意位址的記憶體(雖然這很危險)。 : 如此依來,為何要畫蛇添足的加上記憶體配置指令呢?? ==>DOS下有常駐程式,要使普通AP跟長駐程式所使用的Memory不重疊, 就要有一個管理程式:OS。 DOS也是作業系統的一種。 : 我的想法是:會不會是在該記憶體區,還有使用者不想被覆蓋(刪除)的資料或程式?? : 才會有這樣的指令?? ==>yes, 理由同上。 : 請問他予malloc的原理相比,是如何達成的?? ==>DOS和Windows NT/2k/XP、Linux、Free BSD呼叫系統函數的方式大體一樣。 DOS呼叫int 21h Windows呼叫int 2Eh Free BSD、Linux呼叫int 80h 呼叫Interrupt後,OS會根據相對應的參數Register AX,BX,CX,DX做相對的服務。 在DOS下呼叫malloc,malloc最後也會呼叫int 21h 48h ..........realloc,realloc最後也會呼叫int 21h 4Ah : thx. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.73.175.134
文章代碼(AID): #164HT533 (Programming)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 24 篇):
文章代碼(AID): #164HT533 (Programming)