在80386系统中,任务的设置包括哪些工作?如何转去执行第一个任务?
正确答案:任务的设置主要涉及建立4种系统表:GDT、IDT、LDT和TSS。具体地说,主要做如下工作:
①在物理存储器中定义GDT,在GDT中登记(写入)必要的段描述符、门描述符、LDT描述符和TSS描述符。
②把GDT的基地址和边界地址加载到GDTR,使GDT变成可使用状态。
③在物理存储器中定义IDT。根据需要,在IDT中登记中断门、陷阱门或任务门等。
④把IDT的基地址和边界地址加载到IDTR,使IDT变成可使用状态。
⑤从实地址模式转换到保护模式。
⑥在存储器中定义若干LDT,在其中登记必要的段描述符和门描述符。
⑦在存储器中定义若干TSS,在其中登记相应内容。
至此,准备工作基本完成。下面可以转去执行第一任务,具体这样进行:
①给LDTR选择器字段赋一个16位值,以便从GDT中选择第一个任务所对应的LDT描述符,CPU自动将其加载到LDTR的64位描述符寄存器(从而确定当前的LDT所在位置的基地址和边界范围。)。
②给TR选择器字段赋一个16位值,以便从GDT中选择第一个任务所对应的TSS描述符,CPU自动将其加载到TR的64位描述符寄存器。
③把由TR的描述符寄存器所指定的TSS中设置的寄存器初始值传送到CPU各寄存器。
④把控制转移到由TR的描述符寄存器所指定的TSS中所记录的CS和EIP,即转去执行第一个任务。
①在物理存储器中定义GDT,在GDT中登记(写入)必要的段描述符、门描述符、LDT描述符和TSS描述符。
②把GDT的基地址和边界地址加载到GDTR,使GDT变成可使用状态。
③在物理存储器中定义IDT。根据需要,在IDT中登记中断门、陷阱门或任务门等。
④把IDT的基地址和边界地址加载到IDTR,使IDT变成可使用状态。
⑤从实地址模式转换到保护模式。
⑥在存储器中定义若干LDT,在其中登记必要的段描述符和门描述符。
⑦在存储器中定义若干TSS,在其中登记相应内容。
至此,准备工作基本完成。下面可以转去执行第一任务,具体这样进行:
①给LDTR选择器字段赋一个16位值,以便从GDT中选择第一个任务所对应的LDT描述符,CPU自动将其加载到LDTR的64位描述符寄存器(从而确定当前的LDT所在位置的基地址和边界范围。)。
②给TR选择器字段赋一个16位值,以便从GDT中选择第一个任务所对应的TSS描述符,CPU自动将其加载到TR的64位描述符寄存器。
③把由TR的描述符寄存器所指定的TSS中设置的寄存器初始值传送到CPU各寄存器。
④把控制转移到由TR的描述符寄存器所指定的TSS中所记录的CS和EIP,即转去执行第一个任务。
答案解析:有
微信扫一扫手机做题