Как уже упоминалось, операционная система MS DOS была разработана в конце 1970-х гг. для 16-разрядных процессоров фирмы Intel (x86). Эта система, по сравнению с предшествующими ей по времени операционными системами для mainframe-компьютеров MULTICS, ОS IBM 360 и др., была значительно проще по возможностям, в частности, она была однозадачной. Это сознательное упрощение было вызвано жесткими ограничениями по памяти: объем основной памяти, предоставляемый задаче для выполнения, был равен всего 640 килобайт. Схема распределения памяти при выполнении программ в системе MS DOS изображена на рис. 6.2.
Рис. 6.2. Выполнение программ в MS DOS.
Автор со своей командой в конце 1980-х – начале 1990-х гг. выполнял большие программные разработки для MS DOS в интегрированной среде Турбо Паскаль. Если размер программы или одного ее модуля превышал 640 K, приходилось организовывать оверлейную структуру (overlay)– разбиение программы на группы взаимосвязанных модулей, таких, что различные группы одновременно в памяти не нужны, и поочередно загружать в выделенную для задачи область памяти необходимые группы модулей, к которым происходило обращение. Такой метод был вынужденным и типичным для многих программистов при разработке больших программ в среде MS DOS.