-1

В течение многих лет (долгое время после появления Windows XP) я управлял коллекцией старых настольных ПК с Windows 9x. По сути, эти машины были слишком слабыми в своем оборудовании для обновления до XP (и стоили немалых денег), поэтому я продолжал использовать их с их оригинальным программным обеспечением: различные установки Windows 98SE и Windows ME (все работающие как 32-битные версии).

В случае, я никогда не использовал XP. Машины Win9x были настолько надежны, что работали еще долго после появления XP и Vista. Но мне пришлось со временем перейти на 64-битную Windows 7.

Я не собираюсь делать что-то действительно глупое, например спрашивать, почему такая-то программа не работает на Win7 64bit! :-)

Все без исключения программное обеспечение, которое я запускал на 32-битной Windows 98SE, работало «из коробки» (так сказать) на 64-битной архитектуре Win7 NT. Сегодня я все еще использую различные программы, особенно программы для обработки текста и редакторы HTML, которые я использую регулярно.

Есть ли техническая причина, по которой я никогда не испытывал трудностей, которые я ожидал при запуске программ Windows 9x на 64-битной NT? Мне говорили о настройках «совместимости» в Win7, но мне никогда не приходилось запускать программу в «режиме совместимости».

Я знаю, что Windows 7 хранит 32-разрядные и 64-разрядные программы в разных местах и обрабатывает их по-разному: но я ожидал, что это связано с 32-разрядными и 64-разрядными программами, написанными для Windows 7.

Я удивлен, что 32-битные программы Windows 98, похоже, полностью совместимы с 32-битными программами Windows XP/Vista/7, и хотел бы понять, почему это так. Неужели нет никакой разницы между ними?

Кроме того, многие из старых программ для Windows 9x были / являются переносимыми. У меня была привычка ставить их на USB-накопители или на рабочий стол Windows 7 и просто запускать их. Я не испытывал никаких проблем. Даже если они не запускаются из папки Program Files. Опять же, я хотел бы понять, почему O / S не возражает против этого с технической точки зрения?

Я делаю что-нибудь небезопасное? Операционная система Windows 7 выглядит очень стабильной, но я хотел бы знать, прошу ли я ее делать то, чего не следует делать.

2 ответа2

3

Вы должны быть первым пользователем, который жалуется, потому что он / она не имеет никаких проблем вообще. ;)

В то время как основные средства массовой информации пошли на многое, чтобы дать Windows незаслуженную репутацию в области совместимости приложений, факт заключается в том, что Microsoft вложила значительные средства в обратную совместимость, и подавляющее большинство приложений, написанных для Windows 98, все еще можно использовать в Windows 7. Кроме того, Windows 7 - самая стабильная операционная система, когда-либо разработанная Microsoft. Не делайте ошибок, разница между Windows 7 и Windows 98 огромна, но:

  • Windows 98 использовала богатый Windows API, который Microsoft не переставала переписывать только потому, что! Например, интерфейс для рисования прямоугольника на экране, создания окна или отображения строки меню остается прежним.
  • В Windows 7 реализованы меры, направленные на решение проблем совместимости устаревшего программного обеспечения. Одним из них является виртуализация UAC. Приложения для Windows 98 записывают данные своих приложений в папку установки. Windows 7 не позволяет этого больше; однако для устаревших приложений виртуализация UAC перенаправляет операцию записи данных из папки установки приложения в папку %LOCALAPPDATA%\VirtualStore .

Приложения эпохи Windows 98, которые больше не работают в Windows 7, включают в себя 16-разрядные приложения (которые не работают в 64-разрядной версии Windows, но иногда работают в 32-разрядной версии Windows) и приложения, которые полагаются либо на хаки, либо на устаревшие службы ОС.

2

Вы задаете много вопросов здесь, некоторые довольно сложные, но основной ответ - "Microsoft прилагает массу усилий для поддержания обратной совместимости". Честно говоря, лучшим вопросом может быть «почему это не сработает?", поскольку и Win9x, и NT (включая Win7) используют Win32 API и набор команд x86 (64-разрядные расширения AMD для набора команд Intel x86 обратно совместимы; процессор x64, работающий в 64-разрядном режиме, также может работать 32). программы).

Наиболее вероятная причина, по которой вещи не будут работать, это просто контроль доступа. Win9x вообще не поддерживает какие-либо средства управления доступом; любая программа может делать все, что захочет. Злонамеренное использование сделало написание вредоносного ПО действительно простым. Используется не злонамеренно, но лениво, это означает, что многие разработчики написали свои программы так, что программы записывали данные в свои установочные папки. Это плохая идея по ряду разных причин, не в последнюю очередь это безопасность; в "настоящей" ОС расположение по умолчанию, в которое устанавливаются файлы, не позволяет лицам, не являющимся администраторами, выполнять запись в файлы, и вы должны работать от имени администратора, за исключением случаев установки или обновления программного обеспечения.

Конечно, вся эта «запись в каталог, из которого вы работаете» - это легко (я говорил, что разработчики были ленивы ...) и да, это также делает программное обеспечение "переносимым" в том смысле, что вы можете его поместить на флэш-накопителе (который обычно также полностью лишен контроля доступа, поскольку они используют варианты файловой системы FAT, а FAT не поддерживает права доступа к файлам). Запуск программного обеспечения таким образом , является менее безопасным , чем установить его в зону доступа с ограничением и запустить его оттуда (как пользователь без прав администратора), но это , вероятно , хорошо до тех пор , пока вы не поделитесь компьютером с другими людьми.

Что касается того, почему ОС не возражает ... почему вы ожидаете этого? Program Files - это не особая папка, это просто место, где, по соглашению, вы устанавливаете программы. (На самом деле это действительно глупо условность, потому что некоторые программные перерывы , если вы установите его в папку с пробелами в пути, но , возможно , MS хотел, чтобы разработчики не были достаточно ленивы , что ...) Единственная особенность Program Files заключается в том, что в 64-разрядных системах 32-разрядные процессы запрашивают папку "Program Files", которую они фактически направляют в папку Program Files (x86) . Помимо этого ... ОС позволяет запускать программы из любого места, к которому у вас, пользователя, есть доступ. Некоторые программы намеренно устанавливаются в вашем профиле пользователя или в их собственной папке в корневом каталоге диска (C:\Python27 - это общая папка, которую можно увидеть на компьютере разработчика). Эти программы работают просто отлично.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .