[OS]System Architecture

来源:互联网 发布:芭比布朗和mac化妆刷 编辑:程序博客网 时间:2024/06/06 16:32

这部分主要学习了i386系统编程时的知识。在对i386进行系统编程的时候,其特点主要表现在Register和Instruction上。

System Register

对于系统编程,i386提供下面几类System Register:
  • EFLAGS Register
  • Memory-Management Registers
  • Control Registers
  • Debug Registers
  • Test Registers

Memory-Management Registers

段描述符表
  • GDTR: Global Descriptor Table Register
  • LDTR: Local Descriptor Table Register
中断描述符表
  • IDTR: Interrupt Descriptor Table Register
任务表
  • TR: Task Register

Control Register

cr{0, 2, 3}是80386的Control Register,他们是可以通过MOV指令进行修改的。

cr0:设置System全局的属性,有下面几个现在比较重要

  • PE: set processor to execute in protected mode
  • PG: 使用Page Table去转换linear address到physical address
  • TS: processor set TS 在每次task切换的时候(Chapter 11)

cr2:PG is set, cr2 控制Page Faults,Page fault linear address

cr3:PG is set, cr3 指向Page Table的位置

System Instructions

Verification of pointer parameters——获取一些权限,读写(Protection)
Address descriptor tables——访问段描述符寄存器的值(Memory management)
Multitasking——访问任务寄存器的值(Multitasking)
进程交互和多进程的设置的处理
Input and Output——读口写口的操作
Interrupt Control——中断的开关和IDT的访问
...

0 0