4GB的线性地址空间怎么做到保护又共享?,一个任务拥有一个GDT和一个LDT.我知道GDT
让每个进程共享相同的数据。LDT虽然每次都要重写。但是线性地址不是都一样么?,怎么
保护呢。反复看了x86和操作系统。还是不明白。

解决方案 »

  1.   

    每個進程擁有4G的虛擬地址空間,不是物理地址空間.
    也就是說,進程A的地址0x12345678和進程B在地址0x12345678對應的物理地址是不同的,內容當然也不同,那麼進程B當然無法訪問進程A地址空間內的東西,從而實現了保護.
    當需要共享是,如只讀文件,系統dll等,進程A的地址0x12345678和進程B的地址0x01234567可以指向相同的物理地址空間,從而實現了共享.
    建議你看<<windows核心編程>>.