Фраза билла гейтса про объем памяти

Обновлено: 17.09.2024

«640 Кбайт должно быть достаточно для каждого» (англ. 640K ought to be enough for anybody ) — легендарная фраза, приписывается Биллу Гейтсу, основателю Microsoft, 1981 год, времена создания первых IBM PC и MS DOS 1.0.

Между прочим, сам Билл неоднократно утверждал, что он эти слова не говорил, — увы, истину установить уже не представляется возможным, но мы-то знаем!

Содержание

Кто не в курсе или уже забыл — исходя из особенностей ранних микропроцессоров Intel (а именно — 20 адресных линий на выходе, и можете откусить, больше мегабайта напрямую они адресовать не могли физически), в первом и единственном мегабайте адресного пространства реального режима процессоров 8086/8088 и 80186/80188 выделялось 640 Кбайт под ОЗУ, а остальное шло под видеопамять, ПЗУхи, БИОС и прочее. Под влиянием устройства первых РС и ХТ довольно быстро сложилась стандартная организация этого самого первого мегабайта с фиксированными адресами видеопамяти и прочего, которую стали копировать все клоны.

Впрочем, надо отметить, что во время разработки первого IBM PC более-менее дешёвых микропроцессоров более мощных, чем 8086/8088 просто не было (m68k вышел только в 79-м, за год с небольшим до выпуска РС, да и стоил всё ещё слишком дорого), а память щеголяла ценой от самолёта и выдаивалась откуда возможно по цене золота, 640 Кбайт казались невероятно огромным объёмом. В дописишные времена, когда например СМ ЭВМ (клон расовой PDP-11) мог, занимая машинный зал, иметь 64, 128, 256, 512 Кбайт и это казалось много. К этой машине могло быть подключено десяток терминалов на которых можно было решать вполне реальные задачи (например, обсчитывать квартирную плату миллионного города), и одновременно с расчётами играть в «Тетрис» в режиме реального времени. Так что, 640 Кбайт — это много, очень много.

Ограничение, тем не менее, осталось, так как воспользоваться расширенным адресным пространством можно было только в защищённом режиме, с которым DOS принципиально не дружила. Беда была в том, что благодаря некоторой багофиче 286-й процессор раз переключившись в защищённый режим намертво в нём залипал, и вернуться в реальный мог только через перезагрузку — а интерфейс DOS-а, реализованный не через вызовы подпрограмм, а через программные прерывания (это позволяло сэкономить немаловажные в те годы несколько тактов), нормально работал только в режиме реальном.

Отсюда и величайшее множество программных и аппаратных костылей, вроде плат расширения памяти, работающих через окошечко 64 Кбайт в основном адресном пространстве (тот самый EMS) и первых попыток написать (тормозной и глючный) менеджер расширенной памяти, работающий в защищённом режиме, — что работало очень плохо из-за вышеописанной багофичи, ибо перезагружать процессор надо было долго и печально через контроллер клавиатуры.

С выходом 80386 всё вообще встало с ног на голову. Это был действительно прорывной процессор, обеспечивающий аппаратную поддержку многозадачности и защиты памяти, но увы, всё это опять-таки работало только в защищённом режиме. Поэтому в те годы получили широчайшее распространение всякие надстройки и расширители типа QEMM, HIMEM (который уже работал более-менее сносно), PharLap’овских DOS/16M (собственно, это была версия для 286) или DOS/4G, или даже Windows 2.х (имевшей отдельные версии для 286 и 386 процессоров).

Юмор оцените сами. Ибо из-за этой особенности пошли следующие костыли со всякими типами памяти EMS, HMA, XMS и интерфейсами VCPI и DPMI.

Через 10 лет после предполагаемого рождения сабжевой фразы, Линус Торвальдс, объявляя всему миру о рождении линукса, заявил следующее:

Читайте также: