OS67 icon indicating copy to clipboard operation
OS67 copied to clipboard

想请教关于 Segmentation 的问题(gdt.c)

Open aesophor opened this issue 6 years ago • 2 comments

大佬您好,我想请问下为什么 gdt.c 里面 kernel/user 的 code/data segment 都是 0~0xfffff 呢? https://github.com/SilverRainZ/OS67/blob/master/kern/gdt.c#L56

这样的话 code 和 data segement 重叠了,是不是就没办法防止code段被其他程序写入?

如果想明确的把他们分开,有没有什么比较好的办法呢?还是大佬觉得初学时先别在意这问题?

谢谢大佬

aesophor avatar Feb 16 '19 02:02 aesophor

具体细节记不太清了……如果你说的「其他程序」是指其他用户进程的话,不同用户进程之间不共享页表,一个进程尝试 读/写 其他进程地址的时候是会触发异常中断的。

SilverRainZ avatar Feb 25 '19 12:02 SilverRainZ

了解,谢谢大佬

aesophor avatar Feb 25 '19 15:02 aesophor