作者ms6163 ()
看板LinuxDev
标题[问题] GDT的限制
时间Thu Jun 14 11:47:45 2007
※ [本文转录自 Linux 看板]
作者: ms6163 () 看板: Linux
标题: [问题] GDT的限制
时间: Wed Jun 13 20:42:56 2007
在linux里面有一个GDT放在RAM里面 而GDT的base addess则存放在CPU的gdtr里
当我们要得到某个segment时 可以从segment register取得
我们知道segment register的前13个bit可以表示GDT里 2^13 - 1 个不同的segment
也就是说在linux下面全部的segment数最多为8191个(2^13-1)
但是我们知道一个process在跑的时候 同时会有很多segment
像是code segment, stack segment, data segment等
想要问的问题是在整个system中 是不是最多就是8191个segments呢??
还有segment是不是可以swap out到secondary storage里呢?
那GDT是不是不能被swap out到RAM以外的地方呢??
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 70.162.73.236
1F:推 qerter:可以去LinuxDev问 06/14 11:44
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 70.162.73.236
2F:推 andytzeng:GDT 的确不能 swap out, 另外我记得 Linux 只用两个 seg 06/14 21:34
3F:→ andytzeng:其他都是开 page 而已..只有 windows 才是 seg & page 06/14 21:34
4F:→ andytzeng:都用.. 06/14 21:35
5F:推 ms6163:用两个是指只用code 和data 然後不用tss吗? 06/15 00:23
6F:推 elpam:你好像搞错了...还有LDT啊 06/15 21:01