Конфликт расширений
Эта статья нуждается в дополнительных цитатах для проверки . ( сентябрь 2018 г. ) |
Конфликты расширений иногда были обычной неприятностью на Apple Macintosh компьютерах под управлением классической Mac OS , особенно System 7 . Расширения представляли собой пакеты кода, которые расширяли возможности операционной системы путем непосредственного исправления вызовов ОС , таким образом получая управление вместо операционной системы, когда приложения (включая Finder ) выполняли системные вызовы. Обычно после того, как расширение завершило свою задачу, оно должно было передать (возможно, измененный) системный вызов подпрограмме операционной системы. Если несколько добавочных номеров хотят исправить один и тот же системный вызов, они в конечном итоге получают вызов по цепочке: первый добавочный номер в очереди передает его следующему и так далее в порядке загрузки, пока последний добавочный номер не перейдет к Операционная система. Если расширение не передает следующему расширению то, что оно ожидает, возникают проблемы; начиная от неожиданного поведения и заканчивая полным сбоем системы. Это вызвано несколькими факторами, такими как небрежно запрограммированные и вредоносные расширения, которые изменяют или нарушают работу части системного программного обеспечения. [1]
Кроме того, расширения иногда конкурировали за системные ресурсы с приложениями , утилитами и другими расширениями, что приводило к сбоям и общей нестабильности. Некоторые пользователи с радостью загружали все расширения, которые могли найти на своем компьютере, практически без последствий. Другие старательно избегали любых несущественных расширений, чтобы избежать проблемы. Многие были разумны в добавлении расширений.
Эта проблема усилилась в середине 1990-х годов, когда в качестве расширений были установлены ресурсоемкие мультимедийные технологии, такие как QuickTime . Кроме того, ряд приложений, особенно Microsoft Office , требовал большого количества расширений. Многие пользователи Macintosh имели в своих системах сотни расширений разного возраста и качества. Глючные , поврежденные и устаревшие расширения были наиболее распространенной причиной проблем. Некоторым пользователям приходилось не забывать отключать проблемные расширения при запуске определенных программ.
Более поздние версии System 7 включали Extension Manager , который позволял пользователям отключать определенные расширения или группы расширений при запуске при устранении конфликта путем нажатия клавиши пробела во время загрузки компьютера. [2] Доступ к этому инструменту также можно было получить, открыв Extensions CDEV на панелях управления в меню Apple . Conflict Catcher и Now Startup Manager были сторонними утилитами, которые автоматически обнаруживали конфликты и проблемные расширения и другое программное обеспечение, выполняющееся при загрузке, в противном случае это была трудоемкая задача, требующая от пользователей отключать расширения в наборах до тех пор, пока они не обнаружат конфликт, а также разрешать загрузку. порядок изменения без переименования элементов. [3] Расширения загружались только во время запуска, а это означает, что любая попытка изменения требовала перезагрузки.
Наиболее частым моментом возникновения конфликтов расширений был выпуск новой версии операционной системы, за которым следовала установка сложного нового приложения, которое либо конфликтовало с существующими расширениями, либо устанавливало расширения, конфликтующие с существующим набором.
Все это было смягчено легкостью, с которой расширения и сама операционная система могли быть заменены и удалены: вместо изменения файлов конфигурации, как в других операционных системах, расширения и другое автоматически запускаемое программное обеспечение просто должны были находиться в определенной подпапке Системная папка, которую нужно выбрать. Их порядок загрузки можно изменить, переименовав элементы в Finder на основе убывания ASCII-порядка для каждой системной подпапки. Кроме того, Mac был вполне доволен наличием двух (или более) системных папок на жестком диске. При запуске загружалась только «благословенная» системная папка. Таким образом, когда должна была быть установлена новая версия операционной системы или новое приложение, пользователь мог легко скопировать системную папку, выполнить установку, а затем вернуться к ней, если возникнет проблема.
Конфликты расширений прекратились с выпуском Mac OS X , в которой используется другой механизм расширений. Программное обеспечение по-прежнему может добавлять новые функции в Mac, но вместо того, чтобы требовать расширения ядра , новый метод позволил Apple внедрять все больше и больше расширений в пользовательское пространство , что является более безопасным и более организованным подходом, который не может дестабилизировать всю машину. [4]
См. также
[ редактировать ]- Управление конфигурацией
- Управление зависимостями
- Ад зависимости
- DLL ад
- JAR ад
- Портативное приложение
- Создатели портативных приложений
Ссылки
[ редактировать ]- ^ Стауффер, Тодд; МакЭлхерн, Кирк (2004). Освоение Mac OS X. Альмеда, Калифорния: SYBEX. стр. 776 . ISBN 0782142834 .
- ^ Энгст, Адам; Пог, Дэвид (1999). Пересечение платформ. Разговорник для Macintosh/Windows: словарь для незнакомцев в чужой стране . Севастополь, Калифорния: O'Reilly & Associates, Inc., стр. 307 . ISBN 1565925394 .
- ^ Теперь Startup Manager 7.0 против Conflict Catcher 3
- ^ Пог, Дэвид (2003). Мак ОС Х. Севастополь, Калифорния: О'Рейли. стр. 7 . ISBN 0596004508 .