INT 0x80;
系统启动时 初始化 0x80 处为,System_call
在 IDT的 0x80 处去寻找 中断描述符,找到中断处理函数。
IDT:中断表, 找到 内核函数地址,并将CPL从3改为0,进入内核态。
GDT: 通过 段选择子 和 偏移地址 来找到要执行的指令的真正地址。(其中 GDT 中的 DPL 如果 > 段选择子 的CPL)则硬件不允许执行这条指令。
INT 0x80;
系统启动时 初始化 0x80 处为,System_call
在 IDT的 0x80 处去寻找 中断描述符,找到中断处理函数。
IDT:中断表, 找到 内核函数地址,并将CPL从3改为0,进入内核态。
GDT: 通过 段选择子 和 偏移地址 来找到要执行的指令的真正地址。(其中 GDT 中的 DPL 如果 > 段选择子 的CPL)则硬件不允许执行这条指令。