An interesting operating systems/ computer architecture question

Status
Not open for further replies.

threeonethree

Journeyman
Why is the interrupt vector stored in the low memory? can it be stored in high memory?

This is the question my teacher asked the very first day in operating systems class.

I studied whole day but cudnt come to a conclusion .. i think its because the high memory is used for user space.. But then the question arises why is high memory used for userspace and why is low memory for interrupt vector and o/s?
 

infra_red_dude

Wire muncher!
I studied whole day but cudnt come to a conclusion .. i think its because the high memory is used for user space..
Bingo! You got it :)

But then the question arises why is high memory used for userspace and why is low memory for interrupt vector and o/s?
Consider 2 machines, one with a total virtual memory of 512K and another with 256K (hypothetical scenario). Lets say the interrupt vectors are stored in the higher end - 512K. On the first machine, its fine but what on the second machine? The IVs don't exist! Isn't that a problem??? A flaw???

This was true during the olden days of 8-bit and 16-bit processors. These guys looked into the future and said, surely the memory addressing capacity will increase so lets make sure that the IVs are stored in a safe place which is future proof and hence the tradition. Most of the IVs and pointers are stored on the lower end of the address space. This is also the reason why the system space (or the kernel space) is at the start of the address space.
 
Status
Not open for further replies.
Top Bottom