GDT和LDT在當今的作業系統中被廢棄了嗎?

時間 2021-08-11 16:21:10

1樓:望山

GDT、LDT是供分段式記憶體使用的設施,Intel/AMD的64位模式下記憶體並不分段(硬體保證所有段的基址都是0),所以它們就用不上了。32位模式下還是需要的,雖然當今主流32位作業系統也是flat記憶體模型,但是作業系統是以軟體將每個段都設定為0基址,也就是通過正確初始化GDT、LDT來實現的。

2樓:xiedidan

研究生做計算機安全的,對這個東西不陌生,那個時候還是IA32的天下64位應該有不同的記憶體分段了

當時的系統引導要從實模式跳進32位保護模式,也會先用到實模式的一些東西;現在要進64位模式,估計也要用到32位的東西吧

作業系統是跟著CPU體系架構來的

3樓:薛進

能想到的幾個還有用到的地方:

首先每個 CPU 至少要有個 TSS 指定中斷時核心棧的位址 (sp0/IST)這樣起碼要在 GDT 裡面設定一項才能 ltr

然後 32 位 x86 下面要給 percpu 設定一項static

inline

void

setup_percpu_segment

(int

cpu)

還有 32 位下面使用者區的 TLS 也是

extern

"C"__LIBC_HIDDEN__

int__set_tls

(void

*ptr);

__init_user_desc(&

tls_descriptor

,true

,ptr

);intrc=

__set_thread_area(&

tls_descriptor

);if(rc

!=-1)

returnrc;

}不過大概也沒有多少人還在用 32 位 x86 就是了IDT 沒有被廢棄,32/64 位都在用的

4樓:xiang

破案了,GDT被X86廢棄了。

Global Descriptor Table

為什麼中中國人還在大學學這個玩意,真tm落後。。。

linux 作業系統和 windows 作業系統哪個對科研更有效,有前輩能詳細講講嗎?

小島上的黑桃六 各有千秋吧。Linux 比較適合做伺服器 自建雲等,處理效率高 自由度強。適合有一定經驗的同學。Windows 的優點是工具齊全。適合不想操心各種環境管理維護的朋友。小島上的黑桃六 個人雲 手把手搭建自己的雲服務而且,你可以在 Linux 系統裡開乙個虛擬機器,上面跑windows。...

作業系統和 CPU 哪個研發更難?

不會開車的老司機 當然是cpu 作業系統你可能要熬很久但你總能做出來有優點就會有人用 Cpu 君不見Pc端兩位大佬其中一位能活著靠的是什麼?某A 我要破產啦!我不幹了!某牙膏 小老弟差啥你說!錢不是問題 變色龍 都可以簡單啊,啥也不做,也可叫作業系統,玩票性質的作業系統唄,只列印一行hellowor...

如何學好 Linux 作業系統的日常操作?

carlo 當然首先必須要經常使用 用的過程中遇到的問題想辦法看看能不能在linux下解決 日常操作也沒幾個,如果是桌面版會更方便。所以要想學會命令列需要強迫自己盡量使用命令完成,而不要用圖形化的工具。每天學習一到兩個新命令,一年能學好多 既然是想學 日常操作 就把它當用日常來用唄,經常用,自然就學...