Почему в 64-битных операционных системах Cant работают 16-битные приложения?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если вам нравятся классические игры для DOS

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

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

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

Кристиан подробно рассказал, как установить и настроить DOSBox для запуска старых ретро-игр

на вашем компьютере с Windows.

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

VirtualBox — одно из самых известных и простых в настройке приложений для этого. У нас есть полное руководство по настройке и использованию VirtualBox

Таким образом, вы можете начать использовать этот подход прямо сейчас.

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

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

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

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

Ссылка на основную публикацию
Adblock
detector