6 ms·
I feel like the 64KB of memory available to processes made it a total non-thought on system designers. Not quite like later architectures where it'd be 2GB, 4GB
by chungy 5y ago
I feel like the 64KB of memory available to processes made it a total non-thought on system designers. Not quite like later architectures where it'd be 2GB, 4GB, or 16EB.
- pantalaimon 5y agothat's how much you can address with 16 bit
- mrjin 5y agoWell, read it again and you'll find out there was nothing non-thought. In the given context, computers with 64kB available to programs were actually pretty high caliber and again that 64kB had nothing to do with system limit but really resource constraint.
- ezekiel68 5y agoOnce upon a time, we used to multi-task (background processes) several programs at a time within that constraint. It was the environment in which we found ourselves, so we just accepted it as all the space in the world.
- adrian_b 5y ago64 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.
- Taniwha 5y agoHave you any idea how much memory cost back then? Individual magnetic cores hand threaded to make small planes if memory. Late 70s we bought 1.5Mb of memory for our mainframe, we paid more than a million dollars. The phone in your pocket is 10,000 times faster, has 2000 times more memory, and is 10,000 times cheaper than that mainframe No one practically worried about supporting 2Gb systems, people wrote small, tight code, spending time to make things fit