[問題] GDT的限制

看板LinuxDev作者時間18年前 (2007/06/14 11:47), 編輯推噓3(302)
留言5則, 3人參與, 最新討論串1/1
※ [本文轉錄自 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

06/14 11:44,
可以去LinuxDev問
06/14 11:44
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 70.162.73.236

06/14 21:34, , 1F
GDT 的確不能 swap out, 另外我記得 Linux 只用兩個 seg
06/14 21:34, 1F

06/14 21:34, , 2F
其他都是開 page 而已..只有 windows 才是 seg & page
06/14 21:34, 2F

06/14 21:35, , 3F
都用..
06/14 21:35, 3F

06/15 00:23, , 4F
用兩個是指只用code 和data 然後不用tss嗎?
06/15 00:23, 4F

06/15 21:01, , 5F
你好像搞錯了...還有LDT啊
06/15 21:01, 5F
文章代碼(AID): #16SBfYMA (LinuxDev)
文章代碼(AID): #16SBfYMA (LinuxDev)