640 килобайт
«640 Кб должно быть достаточно для каждого» (640K ought to be enough for anybody) — легендарная фраза, приписывается Биллу Гейтсу, основателю Microsoft, 1981 год, времена создания первых IBM PC и MS DOS 1.0.
Между прочим, сам Билл неоднократно утверждал, что он эту фразу не говорил — увы, истину установить уже не представляется возможным, но мы-то знаем!
640 Кб на Башорге[править]
— У моего начальника первый компьютер был слабее, чем мой первый смартфон :) Всё течёт, всё меняется. БГ когда-то говорил: «640 килобайт хватит всем».
— не сразу понял что речь о БГ из microsoft :)
— а для кого-то БГ — это Bill Gilbert =)
— О да! Легендарная личность. Кстати для некоторых БГ это Борис Гребенщиков. Я минуты 2 вспоминал в какой он песне спел «640 килобайт хватит всем» :)
Пояснения от Капитана Очевидность[править]
Суть такова[править]
Кто не в курсе или уже забыл — исходя из особенностей ранних микропроцессоров Intel (а именно — 20 адресных линий на выходе, и можете откусить, больше мегабайта напрямую они адресовать не могли физически), в первом и единственном мегабайте адресного пространства реального режима процессоров 8086/8088 и 80186/80188 выделялось 640Кб под ОЗУ, а остальное шло под видеопамять, ПЗУхи, БИОС и прочее. Под влиянием устройства первых РС и ХТ довольно быстро сложилась стандартная организация этого самого первого мегабайта с фиксированными адресами видеопамяти и прочего, которую стали копировать все клоны.
Веселье не замедлило воспоследовать[править]
Впрочем, надо отметить, что во время разработки первого IBM PC более-менее дешёвых микропроцессоров более мощных, чем 8086/8088 просто не было (m68k вышел только в 79-м, за год с небольшим до выпуска РС, да и стоил всё ещё слишком дорого), а память щеголяла ценой от самолёта и выдаивалась откуда возможно по цене золота, 640К казались невероятно огромным объёмом. В дописишные времена, когда например СМ ЭВМ (клон расовой PDP-11) мог, занимая машинный зал, иметь 64, 128, 256, 512 Кб и это казалось много. К этой машине могло быть подключено десяток терминалов на которых можно было решать вполне реальные задачи (например, обсчитывать квартирную плату миллионного города), и одновременно с расчётами играть в Тетрис в режиме реального времени. Так что, 640Кб — это много, очень много.
Да и позже это всё равно была астрономическая величина. Например, самые распространённые в те годы процессоры — i8080 и Z-80, были вообще 8-битными, и традиционно для своего времени имели 16 бит адреса, так что могли адресовать не более 64Кб памяти (а в самой первой серии Спектрумов было вообще всего лишь 16Кб). Вся веселуха началась позже, после выхода 80286, который мог в защищённом режиме адресовать до 16Мб памяти (ибо имел уже 24 ноги на адрес), да и цены на неё значительно упали, так что 1-2 мегабайта уже мало кого пугали.
Ограничение, тем не менее, осталось, так как воспользоваться расширенным адресным пространством можно было только в защищённом режиме, с которым DOS принципиально не дружила. Беда была в том, что благодаря некоторой багофиче 286-й процессор раз переключившись в защищённый режим намертво в нём залипал, и вернуться в реальный мог только через перезагрузку — а интерфейс DOS-а, реализованный не через вызовы подпрограмм, а через программные прерывания (это позволяло сэкономить немаловажные в те годы несколько тактов), нормально работал только в режиме реальном.
Отсюда и величайшее множество программных и аппаратных костылей, вроде плат расширения памяти, работающих через 64Кб окошечко в основном адресном пространстве (тот самый EMS) и первых попыток написать (тормозной и глючный) менеджер расширенной памяти, работающий в защищённом режиме, — что работало очень плохо из-за вышеописанной багофичи, ибо перезагружать процессор надо было долго и печально через контроллер клавиатуры.
С выходом 80386 всё вообще встало с ног на голову. Это был действительно прорывной процессор, обеспечивающий аппаратную поддержку многозадачности и защиты памяти, но, увы, всё это опять-таки работало только в защищённом режиме. Поэтому в те годы получили широчайшее распространение всякие надстройки и расширители, типа QEMM, HIMEM (который уже работал более-менее сносно), PharLap’овских DOS/16M (собственно, это была версия для 286) или DOS/4G, или даже Windows 2.х (имевшей отдельные версии для 286 и 386 процессоров).
Юмор оцените сами. Ибо из-за этой особенности пошли следующие костыли со всякими EMS, HMA, XMS типами памяти и VCPI и DPMI интерфейсами.
Линус таки да[править]
Через 10 лет после предполагаемого рождения сабжевой фразы, Линус Торвальдс, обьявляя всему миру о рождении линукса, заявил следующее:
It's the segmentation that makes it REALLY 386
dependent (every task has a 64Mb segment for code & data - max 64 tasks
in 4Gb. Anybody who needs more than 64Mb/task - tough cookies).
Как и в случае с сабжем, тому тоже были веские причины технического характера. Которые точно так же впоследствии были преодолены внедрением swapping’а.
Тонкий юмор от программистов IE[править]
Вначале был только один Internet Explorer. По крайней мере, Майкрософт хотел, чтобы мир так думал. С этой целью в рамках Первой Великой Войны браузеров Майкрософт изобрел очень много вещей и включил их в свой браузер-который-завершил-войну — Internet Explorer. Одна из этих вещей была названа DHTML Behaviors, а одна из форм поведения называется userData.
UserData позволяет веб-странице хранить до 64 Кб данных на каждый домен в иерархической XML-подобной структуре. Доверенные домены, такие как интранет-сайты могут хранить в десять раз больше. И эй, 640 Кб должно быть достаточно для всех. IE не представил какой-либо способ изменить эти соглашения, поэтому нет способа увеличить объем доступной памяти.
А ещё …[править]
- Мем продолжает своё существование и по сей день. Был запилен ежегодный конкурс под знаковым названием «the 64k contest». В рамках оного на суд публики принимается абсолютно любой креатив, вы уже догадались, размером не больше 64 кб. И понеслось: 3D анимация, компиляторы, трактаты о смысле жизни, только между принявшими участие шахматными программами был устроен отдельный турнир, результаты доставляют.
- Windows Explorer и Windows Power Shell считали, что 260 байт в пути к файлу хватит всем вплоть до выхода Windows 10.
См. также[править]
- Билли в викицитатнике, кричит, что он этого не говорил. Поздняк метаться, все ходы записаны.
- Маздай
- x86
- DOS
- Демосцена