MS-DOS is a 16-bit operating system that limits its inherent ability to handle large amounts of memory. I believe that the limit for address memory is 16 megabytes in protected mode, using extended memory (processors 80286 and higher).
See here: http://en.wikipedia.org/wiki/RAM_Limit
, , Linux, .