进程,或者是线程数据结构
struct thread_union
内核进程结构,包括一个栈(大小为THREAD_SIZE 一般8kb)以及thread_info
线程信息,包括一个task_struct
gdt,idt的结构
全局描述符表 ,一个cpu有一个;描述符可能有几种类型 段描述符,TSS描述符,LDT描述符
中断描述符表,全系统只有一个
局部描述符表,属于进程内部,但不一定进程有该表
数据结构,gdt描述符或者是idt中断描述符,用于32位机器
数据结构,描述idt中断描述符,用于64位
数据结构,描述ldt,或者tss的描述符,用于64位
tss,一个cpu使用一个tss,同个cpu上的进程使用相同的tss,在cpu_init中初始化,切换使用__switch_to函数,tss中指保留两个指针(ss0,esp0指向内核中的进程数据和栈),寄存器内容放在具体的thread_struct中。切换时候从相应内存位置载入。
初始化:init/main.c
原文:http://www.cnblogs.com/yasmi/p/5210553.html