操作系统中的一些数据结构

1 GDT

GDT(Global Descriptor Table)全局描述符表,又叫段描述符表。

下图是段描述符表的一个表项,可以看到每个表项有8个字节。

在整个系统中,只有一张GDT表,GDT可以被放在内存的任何位置,但CPU必须知道GDT的入口。

GTDR寄存器便是存放GDT的入口地址。

GDT表可以提供段基址和段界限,以及像DPL(段特权级)这些标志位,起到一些限制作用。

下图是一个关于特权级的图,数字越小权限越高,权限低的无法访问权限高的。

2 IDT

IDT(interrupt Descriptor table)中断描述符表,下图是表中的一个表项。

中断描述符表IDT将每个异常或中断向量分别与它们的处理过程联系起来。

3 PCB

PCB(Process Control Block)进程控制块。

为了便于系统控制和描述进程的活动过程,在操作系统核心中为进程定义了一个专门的数据结构,

称为进程控制块。

PCB是为进程服务的。

进程基本概念:进程的产生是为了使程序能并发执行,且为了对并发执行的程序加以描述和控制。

进程的结构:程序段、相关的数据段和 PCB (进程控制块Process Control Block)。

4 TCB

TCB(Thread Control Block,TCB)线程控制块。

多个线程可以组合成一个进程。

参考

操作系统篇-调用门与特权级(CPL、DPL和RPL)

https://www.cnblogs.com/chenwb89/p/operating_system_004.html

操作系统之GDT和IDT(三)

https://blog.csdn.net/ice__snow/article/details/50654629

操作系统学习(十四) 、中断描述符表和中断描述符

https://www.cnblogs.com/ay-a/p/9191051.html

操作系统——进程以及PCB介绍(一)

https://blog.csdn.net/qq_33544335/article/details/60468045

原文地址:https://www.cnblogs.com/QQ2962269558/p/13284288.html