Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

64 kB was the limit for a single process, but most PDP-11 had a memory-management unit with paging that extended the address space to either 18-bit (256 kB) on the older models or to 22-bit (4 MB) on the later models.

So you could execute in parallel multiple processes even if each process used its entire 64 kB space.

Moreover, it was possible to have distinct 64 kB address spaces for code (the UNIX "text" segment) and for data (the unix "data" and "bss" segments + the heap + the stack).

Therefore you could have simultaneously in a 4 MB memory at least 32 processes using the maximum 64 kB code + 64 kB data. It is likely that typically around 100 processes could be resident in the main memory.

Because on PDP-11 each process was limited to a small fraction of the main memory it did not make sense to enforce any additional memory limits.

On other computers where a single process could access all the memory, e.g. on DEC VAX for which most BSD versions were developed, enforcing memory limits became necessary.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: