3 ms·
By that logic, there is nothing wrong with having a flat memory address space. With access control, the OS can ensure that one application never access another’
by satyenr 7y ago
By that logic, there is nothing wrong with having a flat memory address space. With access control, the OS can ensure that one application never access another’s memory area. Why do we need isolated virtual address spaces so that application always believes it is the only application running?
- zrm 7y ago> Why do we need isolated virtual address spaces so that application always believes it is the only application running? Historically mostly because of swap, so the OS can move a page from memory to disk and then back to a different physical memory location without modifying the application's pointers. On large systems with 32-bit applications it was advantageous because the system may have had more memory than 32-bit pointers can address and then each application can have its own address space. ASLR nowadays. But filesystems already have the equivalent abstraction. If you run out of space on /dev/sda you can add /dev/sdb, copy /home to it and then mount /dev/sdb1 /home and the application that reads /home/alice/file is blissfully unaware that anything has changed. Heck, half the time you're not even reading from the physical drive, the data is cached in memory and you're really reading it out of the page cache.