作者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