Suppose a user wants to do a system call. Assume that the service routine of this system call is at physical address 500.
Suppose the user knows this address of the service routine. So instead of executing a system call, the user simply jumps to this location 500
(by executing “JMP 500”).
Assume that logical and physical addresses are the same and no memory protection is in place, i.e., cpu does not check that this address 500 is beyond the user’s memory space.
Will something go wrong while the service routine executes?
Explain in less than 100 words.
Here, Few situations may arise. case 1: if their is subroutine
or a part of a program to be executed at address 500 and is under
the range of physical address capacity(or not used by another
program currently in running or rest state), then simply nothing
will happen and program will execute as normal. case 2:
The address is out of range. Operating system are their to manage
memory ,protect memory, as here there's exists no concept of
logical and physical address, our physical address is directly
exposed to faulties ie,the system or memory may get corrupt as the
JMP 500 instruction will try to access the address which is not
part of its executable program range.
Get Answers For Free
Most questions answered within 1 hours.