Защо 64-битовите операционни системи не могат да изпълняват 16-битови приложения?

Защо 64-битовите операционни системи не могат да изпълняват 16-битови приложения?

След като компютрите започнаха да използват съвременната 64-битова архитектура, потребителите скоро разбраха, че стартирането на тези стари 16-битови приложения няма да работи. Защо 64-битовите машини не могат да изпълняват 16-битови приложения?





Отговорът на този въпрос може да бъде объркващ, в зависимост от това кого питате. От една страна, всъщност не е невъзможно да стартирате 16-битови приложения. Просто е трудно. Второ, причината за тази трудност се крие както в архитектурата на процесора и операционната система.





Объркани ли още? Не се притеснявайте, не сте сами. Но докато стигнете до края на тази статия, вече няма да се объркате.





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

Знам, последното нещо, което искате да прочетете, е урок по история, нали? Не се притеснявайте, това е кратко. Също така е от решаващо значение за разбирането защо 64-битовите системи не могат да изпълняват 16-битови приложения естествено.

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



По онова време беше. Тези стари машини управляваха Intel 8086 процесор през 1978 г. Процесорът е имал достъп до адресно пространство от 1Mb, използвайки 16-битово адресиране. С по -ранните машини, работещи с 64 Kb памет, това беше огромен напредък и бележи началото на нова ера в личните компютри.

В този режим (т.нар Истински режим ), част беше запазена за RAM, а останалата част беше използвана от BIOS и компютърен хардуер като графичната карта.





Малко по-късно дойде по-нататъшен напредък в архитектурата на процесора с процесор 80286, способен да адресира 16Mb, използвайки 16-битово адресиране. С архитектурата 286 дойде „защитен режим“, с функции, които не само позволяват адресирането на повече памет, но и многозадачност. Стартирането на по-стари 16-битови приложения в „реален режим“ не винаги беше лесно, но беше възможно.

Краят на 16-битов, нещо като ...

През 1985 г. Intel представи процесора от следващо поколение: Intel 386. Това беше първият процесор на Intel, който можеше да адресира паметта, използвайки 32-битови в даден момент, и имаше достъп до огромните 4 Gb памет с възможност за добавяне. По това време на потребителите на компютри това изглеждаше като голям пробив. PC игрите щяха да навлязат в своя разцвет.





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

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

64-битовата архитектура съсипа всичко

Ограничението от 4GB адресируема памет остава патерица за 32-битовите системи в продължение на много години. С изобретяването на 64-битови процесори обаче се стигна до друг пробив. Тези системи включват нов режим (известен като Дълъг режим ), способни да адресират до 16 милиона терабайта памет. Вероятно ще мине много време, преди това да се превърне в ограничаващ фактор за компютърните приложения.

С този огромен напредък обаче дойде значителен компромис. Когато потребителите се опитаха да стартират 16-битови приложения, които изискват дълго поддържания „реален режим“ или „виртуален режим 8086“, те откриха съобщение за грешка, което гласеше „Program.exe не е валидно приложение Win32“.

Беше разочароващо, но не беше краят на света. Потребители може да използва емулатори или инсталирайте виртуални машини работеща с 32-битова архитектура и операционни системи, способни да поддържат стари 16-битови приложения.

Така че, въпреки че е „невъзможно“ за 64-битовите системи да изпълняват 16-битови MS-DOS приложения, не е невъзможно за потребителите да го направят с решение. Но защо това се случи?

64-битова архитектура Премахва NTVDM

Във всяко поколение 32-битов процесор през годините бяха вложени много усилия в операционната система, за да може системата да се справя с по-стари 16-битови DOS приложения. Това беше постигнато с помощта на това, което е известно като NTVDM или NT Virtual DOS Machine.

Това 32-битово приложение работи в операционната система Windows и симулира 486 архитектура, способна да обработва 16-битово адресиране с помощта на виртуален 8086. За съжаление, адресирането с „дълъг режим“ не може да го приспособи безопасно. Вместо това щеше да е необходимо емулиране на пълен 8086 процесор просто за поддръжка на стартиране на DOS приложения.

Microsoft ясно взе решение да се откаже от това усилие, за да подкрепи бързото пускане на първата си 64-битова операционна система. На страницата си за поддръжка Microsoft ясно заявява, че „16-битовите помощни програми MS-DOS и Microsoft Windows 3.x няма да стартират“.

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

С изобилието от продукти за виртуализация на пазара, способни да постигнат това, Microsoft очевидно не смяташе, че е в най -добрия му интерес да преоткрие колелото.

Как да стартирате 16-битови приложения на 64-битови системи

Само защото изпълнението на 16-битови DOS приложения не се поддържа първоначално в 64-битови Windows системи, това не означава, че е невъзможно. Просто трябва да инсталирате някои допълнителни инструменти, за да настроите нещата.

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

1. Играйте ретро игри с DOSBox

Един от най -лесните начини да стартирате стари DOS приложения на вашия компютър е да използвате емулатор. Един от най -популярните от тях е DOSBox .

друг компютър в тази мрежа има същия ip адрес като този компютър

Кристиан подробно описва как да инсталирате и конфигурирате DOSBox пускайте стари ретро игри на вашата Windows машина.

Най -хубавото в това е, че повечето от тези игри са толкова стари, че те се считат за изоставен софтуер , така че можете законно да ги изтеглите и играете безплатно.

2. Стартирайте Apps Inside VirtualBox

Тъй като операционни системи като Windows XP и Windows 7 могат да изпълняват 16-битови приложения, можете да стартирате същите приложения на вашата 64-битова система, като изградите виртуална машина с една от тези операционни системи.

Едно от най-известните и лесни за настройване приложения за това е VirtualBox . Имаме пълно ръководство как да настроите и използвате VirtualBox , така че можете да започнете да използвате този подход още сега.

Просто не забравяйте да изберете правилната операционна система за инсталиране. Придържайте се към Windows 7 или по -ранна версия и можете да изтеглите и инсталирате стари DOS приложения във вашата виртуална система за нула време.

3. Използвайте Linux

Кажете каквото искате за Linux, едно нещо, което повечето дистрибуции на Linux имат право, е поддръжка за 16-битови приложения. Дистрибуциите с ядрото на PAE не сте ограничени до 4 GB 32-битови системи, така че изпълнението на подходящ дистрибутор на Linux като двойно зареждане на вашата система е друга опция.

Две възможности за това: решение с двойно зареждане или виртуална машина. Или просто можете да изхвърлите Windows изцяло и отидете с Linux . Каквото работи за вас.

4. Използвайте емулатори

DOSBox не е единственият наличен емулатор с цел стартиране на стари DOS приложения. Има много страхотни емулатори, които работят също толкова добре. Това е особено вярно, ако сте геймър.

Кристиан е обхванал как да подражава на a Приятел Комодор , да се Малина Пи , an Android , и дори класически SNES на всеки компютър.

Това е само върхът на айсберга. Ако търсите онлайн, ще намерите цяла библиотека от различни емулатори, които ще ви позволят да стартирате почти всяко ретро приложение, което можете да си представите. Microsoft може да се е отказал от стари 16-битови приложения от онова време, но все още имате опции.

Не се отказвайте от 16-бита

Няма никаква причина да мислите, че е така невъзможен за стартиране на 16-битови приложения на 64-битова машина. Това може да е невъзможно по рождение, но както виждате, има много решения за изпълнение на задачата.

Дял Дял Туит електронна поща 12 видео сайтове, които са по -добри от YouTube

Ето някои алтернативни видео сайтове на YouTube. Всеки от тях заема различна ниша, но си струва да добавите към отметките си.

Прочетете Напред
Свързани теми
  • Игри
  • Обяснена технология
  • Емулация
  • Windows 10
  • 64-битов
За автора Райън Дубе(942 публикувани статии)

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

Още от Райън Дубе

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате