《Linux内核完全剖析-基于0.12内核》head.s中的疑问
在阅读《Linux内核完全剖析-基于0.12内核》中的第四章提供的多任务内核代码head.s的时候,有几处不明白的地方。希望高手能够帮我解惑:
1、在timer_interrupt中有如下代码:
上面的jmp 2f似乎是一条无用的语句,始终不会执行。不知道是否正确?
2,在57行开始的地方有如下代码:
iret指令会弹出栈中的的数据来设置CS, EIP以及EFLAGS,即CS=$task0, EIP=0x0f,那么pushl $0x17;pushl $init_stack这两条入栈语句干什么用的啊,在task0,和task1中没有使用pop指令啊,难道这两条语句压入堆栈中的数据没有被使用?
1、在timer_interrupt中有如下代码:
movl $1, %eax
cmpl $eax, current
je 1f
movl %eax, current
ljmp $TSS1_SEL, $0
jmp 2f
1: movl $0, current
ljmp $TSS0_SEL, $0
2: popl %eax
pop %ds
iret
上面的jmp 2f似乎是一条无用的语句,始终不会执行。不知道是否正确?
2,在57行开始的地方有如下代码:
pushl $0x17
pushl $init_stack
pushl
pushl $0x0f
pushl $task0
iret
iret指令会弹出栈中的的数据来设置CS, EIP以及EFLAGS,即CS=$task0, EIP=0x0f,那么pushl $0x17;pushl $init_stack这两条入栈语句干什么用的啊,在task0,和task1中没有使用pop指令啊,难道这两条语句压入堆栈中的数据没有被使用?
...全文
相关推荐
Linux内核0.11完全注释
### Linux内核0.11完全注释:深入解析与理解#### 1. Linux内核的历史背景与重要性Linux内核0.11完全注释,是针对Linux早期操作系统内核版本的一次深度剖析。
Linux 内核0.11 完全注释
### Linux 内核0.11 完全注释#### 一、核心知识点概览本书《Linux 内核0.11 完全注释》是一部深度解析早期Linux内核版本(v0.11)的著作,旨在帮助读者深入理解Linux的工作原理和内部机制
Linux内核完全注释
### Linux内核完全注释——深入理解Linux操作系统#### 一、引言《Linux内核完全注释》是一本详尽解读Linux操作系统内核源代码的书籍,它以Linux内核0.11版本为基础,对源代码进行了深度剖析
Linux0.11内核完全注释
例如,在第三章中,作者详细解析了BOOTSECT.S、SETUP.S和HEAD.S等程序的作用和实现机制,这些都是Linux启动过程中的关键步骤。
Linux内核完全注释0.11
### Linux内核完全注释0.11:深入解析与学习指南#### 一、Linux内核0.11版本背景及意义《Linux内核完全注释0.11》是一本专为Linux初学者设计的指南书籍,它详细剖析了Linux


