程序14-22 linux/include/linux/head.h
1 #ifndef _HEAD_H
2 #define _HEAD_H
3
4 typedef struct desc_struct { // 定义了段描述符的数据结构。该结构仅说明每个描述
5 unsigned long a,b; // 符是由8个字节构成,每个描述符表共有256项。
6 } desc_table[256];
7
8 extern unsigned long pg_dir[1024]; // 内存页目录数组。每个目录项为4字节。从物理地址0开始。
9 extern desc_table idt,gdt; // 中断描述符表,全局描述符表。
10
11 #define GDT_NUL 0 // 全局描述符表的第0项,不用。
12 #define GDT_CODE 1 // 第1项,是内核代码段描述符项。
13 #define GDT_DATA 2 // 第2项,是内核数据段描述符项。
14 #define GDT_TMP 3 // 第3项,系统段描述符,Linux没有使用。
15
16 #define LDT_NUL 0 // 每个局部描述符表的第0项,不用。
17 #define LDT_CODE 1 // 第1项,是用户程序代码段描述符项。
18 #define LDT_DATA 2 // 第2项,是用户程序数据段描述符项。
19
20 #endif
21