Рекламное объявление

Когда компьютеры начали использовать современную 64-разрядную архитектуру, пользователи вскоре поняли, что запуск этих старых 16-разрядных приложений не будет работать. Почему 64-битные машины не могут запускать 16-битные приложения?

Ответ на этот вопрос может сбивать с толку, в зависимости от того, кого вы спрашиваете. Во-первых, на самом деле невозможно запускать 16-битные приложения. Это просто сложно. Во-вторых, причина этой трудности заключается как в архитектуре процессора и операционная система.

Смущены еще? Не волнуйся, ты не один. Но к тому времени, когда вы дойдете до конца этой статьи, вы уже не будете смущены.

История архитектуры процессора

Я знаю, последнее, что вы хотите прочитать, это урок истории, верно? Не волнуйтесь, это короткий. Также важно понять, почему 64-битные системы не могут работать с 16-битными приложениями.

Если вы пережили 80-е и 90-е годы, то, вероятно, вы помните тех старых 16-битных динозавров, которые, как считали все, были передовыми технологиями.

instagram viewer
почему 64-битные не могут запускать 16-битные приложения

В то время это было. Эти старые машины управляли Intel 8086 процессор в 1978 году. Процессор смог получить доступ к адресному пространству размером 1 Мбайт с помощью 16-битной адресации. С более ранними машинами, работающими на 64 КБ памяти, это было огромным достижением и ознаменовало начало новой эры в области персональных компьютеров.

В этом режиме (называется Реальный режим), часть была зарезервирована для оперативной памяти, а остальная часть использовалась BIOS и компьютерным оборудованием, таким как графическая карта.

Чуть позже появилось дальнейшее улучшение архитектуры ЦП с процессором 80286, способным адресовать 16 МБ с использованием 16-разрядной адресации. С архитектурой 286 появился «Защищенный режим» с функциями, которые не только позволяли адресовать больше памяти, но и многозадачны. Запуск старых 16-битных приложений в «реальном режиме» не всегда был простым, но это было возможно.

Конец 16-битного, вроде…

В 1985 году Intel представила процессор следующего поколения: Intel 386. Это был первый процессор Intel, который мог адресовать память, используя 32-битные за раз, и мог обращаться к колоссальным 4 ГБ адресуемой памяти. В то время это показалось пользователям компьютеров большим прорывом. Компьютерные игры были на пороге своего расцвета.

почему 64-битные не могут запускать 16-битные приложения

Наряду с появлением 32-битной архитектуры вышла расширенная версия Защищенный режим это не только позволяло получить доступ к большему объему памяти, но и включало в себя набор функций, позволяющих программному обеспечению указывать системе, был ли это 16-битный или 32-битный код. Это стало возможным благодаря тому, что известно как Виртуальный 86 режимЭто была встроенная виртуализированная система 8086.

Как вы можете видеть, от одной эволюции архитектуры ЦП к другой, как аппаратное обеспечение (программирование ЦП), так и программное обеспечение (функционирование). системы и приложения), поддерживала обратную совместимость для всех тех пользователей, у которых все еще было очень старое программное обеспечение, которое они хотели запустить. Для отдельных пользователей компьютеров это было полезно, но для многих корпораций и малых предприятий это было важно для устаревших систем.

64-битная архитектура все испортила

Ограничение в 4 ГБ адресуемой памяти оставалось опорой для 32-битных систем в течение многих лет. Однако с изобретением 64-битных процессоров произошел еще один прорыв. Эти системы включили новый режим (известный как Длинный режим) способен обрабатывать до 16 миллионов терабайт памяти. Вероятно, пройдет много времени, прежде чем это станет ограничивающим фактором для компьютерных приложений.

Тем не менее, с этим огромным прогрессом пришел значительный компромисс. Когда пользователи пытались запустить 16-разрядные приложения, для которых требовался длительный поддерживаемый «реальный режим» или «Виртуальный режим 8086», они обнаружили сообщение об ошибке «Program.exe не является действительным Win32 приложение."

почему 64-битные не могут запускать 16-битные приложения

Это было неприятно, но это был не конец света. пользователей мог бы использовать эмуляторы Как запустить старые игры и программное обеспечение в Windows 10Старые игры и программы для ПК могут бороться с Windows 10. Попробуйте эти советы, чтобы ваши старые игры и программы для Windows работали в Windows 10. Подробнее или же установить виртуальные машины VirtualBox против VMware Player: лучшая виртуальная машина для WindowsВы пытаетесь решить, какое программное обеспечение виртуальной машины использовать? VirtualBox и VMware Workstation Player являются бесплатными. Но какой из них лучше для вас? Позвольте нам помочь вам узнать! Подробнее под управлением 32-разрядной архитектуры и операционных систем, способных поддерживать устаревшие 16-разрядные приложения.

Поэтому, хотя для 64-разрядных систем «невозможно» запускать 16-разрядные приложения MS-DOS, пользователи не могут сделать это, используя обходной путь. Но почему это случилось?

64-битная архитектура удаляет NTVDM

На протяжении многих лет 32-разрядные процессоры каждого поколения прилагали немало усилий для того, чтобы система могла обрабатывать более старые 16-разрядные приложения DOS. Это было сделано с использованием так называемой NTVDM или NT Virtual DOS Machine.

Это 32-разрядное приложение работало в операционной системе Windows и имитировало архитектуру 486, способную обрабатывать 16-разрядную адресацию с использованием виртуального 8086. К сожалению, адресация в «длинном режиме» не может обеспечить это безопасно. Вместо этого потребовалось бы эмулировать полноценный процессор 8086 просто для поддержки запуска приложений DOS.

почему 64-битные не могут запускать 16-битные приложения

Microsoft явно приняла решение прекратить эту работу, чтобы поддержать быстрый выпуск своей первой 64-разрядной операционной системы. На своей странице поддержки, Microsoft четко заявляет что «16-разрядные утилиты MS-DOS и Microsoft Windows 3.x не запускаются».

Без извинений. Это просто не поддерживается.

Поскольку на рынке имеется множество продуктов для виртуализации, способных достичь этого в любом случае, Microsoft явно не чувствовала, что в ее интересах было заново изобрести колесо.

Как запускать 16-битные приложения в 64-битных системах

Тот факт, что запуск 16-разрядных приложений DOS изначально не поддерживается в 64-разрядных системах Windows, не означает, что это невозможно. Вам просто нужно установить дополнительные инструменты для настройки.

Если вам нравится классические игры для DOS 7 сайтов, чтобы найти лучшие классические игры для DOS Подробнее или использовать любые другие ретро-приложения из старых добрых времен компьютеров, есть варианты. Вот четыре способа, которыми вы можете запустить их на своем новом компьютере с Windows.

1. Играй в Ретро Игры с DOSBox

Одним из самых простых способов запуска старых приложений DOS на вашем компьютере является использование эмулятора. Одним из самых популярных из них является DOSBox.

Кристиан подробно рассказал, как установить и настроить DOSBox для запустить старые ретро-игры Как играть в ретро-игры на любой платформе с DOSBoxХотите играть в ретро-компьютерные игры на своем компьютере, телефоне или игровой консоли? Вот все, что вам нужно знать, чтобы начать работу с DOSBox, включая лучшие игры для подражания! Подробнее на вашем компьютере с Windows.

почему 64-битные не могут запускать 16-битные приложения

Самое замечательное в том, что большинство этих игр настолько стары, что они считаются брошенными 7 сайтов, чтобы найти лучшие классические игры для DOS Подробнее , так что вы можете легально скачать и играть в них бесплатно.

2. Запускать приложения внутри VirtualBox

Поскольку операционные системы, такие как Windows XP и Windows 7, могут запускать 16-разрядные приложения собственными силами, вы можете запустить одни и те же приложения в вашей 64-битной системе, создав виртуальную машину с одной из этих операционных систем Это.

Одним из наиболее известных и простых в настройке приложений для этого является VirtualBox. У нас есть полное руководство по как настроить и использовать VirtualBox Как использовать VirtualBox: руководство пользователяС VirtualBox вы можете легко установить и протестировать несколько операционных систем. Мы покажем вам, как настроить Windows 10 и Ubuntu Linux в качестве виртуальной машины. Подробнее Таким образом, вы можете начать использовать этот подход прямо сейчас.

почему 64-битные не могут запускать 16-битные приложения

Просто убедитесь, что выбрали правильную операционную систему для установки. Придерживайтесь Windows 7 или более ранней версии, и вы сможете мгновенно загрузить и установить старые приложения DOS в своей виртуальной системе.

3. Используйте Linux

Что бы вы ни говорили о Linux, единственное, на что имеет право большинство дистрибутивов Linux, - это поддержка 16-битных приложений. В дистрибутивах с ядром PAE вы не ограничены 4 ГБ 32-битных систем, поэтому другой дистрибутив - это запуск соответствующего дистрибутива Linux в качестве двойной загрузки в вашей системе.

почему 64-битные не могут запускать 16-битные приложения

Два варианта сделать это: решение с двойной загрузкой или виртуальная машина Каков наилучший способ запуска нескольких операционных систем на вашем компьютере?Не определились между Windows и Linux? Можно запустить несколько ОС на одной машине либо с помощью двойной загрузки, либо с помощью виртуальной машины. Давайте выясним, какой из них лучше для вас. Подробнее . Или вы можете просто полностью сбросить Windows, и пойти с Linux 6 вещей, которые Ubuntu делает лучше, чем WindowsНекоторые думают, что Ubuntu для ботаников, но правда в том, что Ubuntu так же легко использовать, как и Windows. На самом деле, есть несколько вещей, которые Ubuntu делает лучше, чем Windows 10. Подробнее . Все, что работает для вас.

4. Используйте Эмуляторы

DOSBox - не единственный эмулятор, доступный для запуска старых приложений DOS. Есть много отличных эмуляторов, которые работают так же хорошо. Это особенно верно, если вы геймер.

Кристиан рассказал, как подражать Коммодор Амига, Raspberry Pi, Android, и даже классические SNES на любом ПК.

почему 64-битные не могут запускать 16-битные приложения

Это только верхушка айсберга. Если вы будете искать в Интернете, вы найдете целую библиотеку различных эмуляторов, которые позволят вам запустить практически любое ретро-приложение, которое вы можете себе представить. Возможно, Microsoft уже давно отказалась от старых 16-битных приложений, но у вас все еще есть варианты.

Не сдавайся на 16 бит

Нет никаких оснований думать, что это невозможно запускать 16-битные приложения на 64-битной машине. Это может быть невозможно изначально, но, как вы можете видеть, есть много решений для решения этой задачи.

Райан имеет степень бакалавра в области электротехники. Он 13 лет проработал в области автоматизации, 5 лет - в сфере информационных технологий, а сейчас - инженер приложений Бывший управляющий редактор MakeUseOf, он выступал на национальных конференциях по визуализации данных и был представлен на национальном телевидении и радио.