What is the different between the intrasegment and intersegment jump?
Answers
Answered by
0
In the IA32 (or x86) architecture, before paging, Intel had introduced the concept of memory segmentation to isolate program code & data, and different processes. It was done with the help of a GDT (Global Descriptor Table), which had entries for each segment in physical memory.
Let's say the OS creates a kernel-code segment at base-address (in physical memory), 0x1000 then the first instruction in the segment would be accessed by 0x8:[0].
Now let's say you want to jump to an instruction in another segment, then you execute intersegment jump, i.e. jump into other process's address space
But if you want to say in same segment then intrasegment jump - i.e. JMP while executing if statement in C, while loop, etc.
Let's say the OS creates a kernel-code segment at base-address (in physical memory), 0x1000 then the first instruction in the segment would be accessed by 0x8:[0].
Now let's say you want to jump to an instruction in another segment, then you execute intersegment jump, i.e. jump into other process's address space
But if you want to say in same segment then intrasegment jump - i.e. JMP while executing if statement in C, while loop, etc.
Similar questions