What would you do differently?
ajross: Just had to jump on this: 640k was no more an "artificial" limit than 4G is.  The 8086, like all CPUs, had only a finite amount of die space.  They chose to implement a 20 bit wide bus, because that fit the problem space of a contemporary minicomputer (the biggets PDP/11 had 4MB).  But they didn't have space for paging or mapping hardware, so the operating system needed to reserve some space for hardware (video framebuffers, etc...) to use.  So thus was born the 640k/384k memory mapping of PC-DOS.  It made perfect sense given the limitations of the hardware.Now, IBM could have chosen a different part like the 68000, which was a bigger and more expensive chip that had an internal 32 bit architecture.  But they didn't, for some pretty justifiable reasons (like the need to compete with computers  like the Apple II which were under $2k).