Как сравнить операционные системы?

Как сравнить операционные системы?

Фон

Несколько лет назад я слышал, как люди говорили, что OSX и Linux лучше Windows. Я также помню, как читал что-то, в чем говорилось, что операционная система Solaris не фрагментирует файлы и что файловая система Linux находится почти на том же уровне, но ни одно из этих утверждений, похоже, не имело под собой никаких оснований или ссылок.

Вопрос

Какие объективные критерии можно использовать для сравнения операционных систем друг с другом?

решение1

Я думаю, можно взять методы сравнения ОС и разделить их на две группы:

  1. Функции
  2. Структурные различия

Во-первых, структурные различия: сегодняшние ОС довольно похожи внутри. В основном все они находятся под влиянием Брайана Кернигана и Денниса Ритчи, двоих, которые работали над языком программирования C, а также UNIX. Фактически, многие из сегодняшних ОС, такие как Linux, Solaris и OS X, классифицируются как «UNIX-подобные», потому что они являются потомками UNIX в том или ином смысле. Философия UNIX в основном заключалась в том, чтобы сделать все простым или, точнее, «базовым», и что каждая программа должна иметь одну и ровно одну функцию. Эти концепции используются и сегодня.

Что касается Windows, то, как ни странно, на нее также повлияла работа K&R. Хотя Windows не является "UNIX-подобной" системой, она написана на языке C, изобретенном K&R, и демонстрирует определенные сходства. Например, "синий экран смерти" — это просто версия Windowsпаника ядра, идея, которая возникла вместе с UNIX.

Все сегодняшние основные ОС основаны на схеме проектирования ядра, называемой «монолитным» ядром. Это просто означает, что ядро ​​запускается как одна программа. Одним из следствий этого является то, что весь код в этой одной программе имеет полный контроль над всеми ресурсами вашего компьютера, что может привести к ошибкам, которые могут нанести серьезный ущерб. Былоизвестные дебатыотносительно возможности "разделения" ядра ОС на отдельные программы для повышения стабильности и безопасности. Такая конструкция называется "микроядро". Как я уже упоминал, все сегодняшние ОС основаны на монолитной конструкции ядра, возможно, из-за их лучшей производительности, а может быть, просто потому, что так было очень долгое время.

Что касается функций, то это, вероятно, самое большое сравнение, поскольку, как упоминалось выше, все основные ОС сегодня очень похожи структурно. И на самом деле, функции, по моему мнению, различаются лишь незначительно. Это действительно зависит от того, кого вы спрашиваете. Например, Mac OS X имеет некоторые довольно изящные функции, такие как XGrid и OpenCL (хотя это теперь работает и на других платформах). Она также очень удобна для пользователя. Но ее также критиковали за то, что она «несет багаж», возможно, имея в виду ее относительно устаревшую файловую систему. Кроме того, она работает только на оборудовании Apple.

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

Затем есть Windows. Windows, как и OS X, поддерживается крупной компанией, и вы найдете множество программного обеспечения для этой платформы. Из разговора о функциях и структуре ОС выше, вы можете увидеть, что они не так уж и отличаются, так что это изобилие доступного программного обеспечения, вероятно, удерживает долю рынка этой ОС на плаву. Помимо этого явного преимущества, есть еще и тот факт, что она будет работать на множестве другого оборудования, в отличие от OS X.

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

решение2

Любое сравнение ОС должно проводиться в контексте «пригодности к использованию». Вы должны определить, что вы хотите, чтобы ОСделатьпрежде чем вы сможете решить, какой вариант лучше всего подходит для конкретного случая использования.

Однако, безусловно, есть объективные точки сравнения. Неполный список включает:

  • Поддержка оборудования
  • Экосистема приложений
  • Развитие экосистемы
  • Поддержка файловой системы
  • Управление ресурсами
    • Управление памятью
    • Планирование процесса
    • Элементы управления вводом/выводом
    • Реализация стека TCP
    • Учет на уровне ресурсов
  • Безопасность
    • Механизмы безопасности на уровне ОС
    • Механизмы безопасности на уровне файловой системы
    • Особенности аудита
    • Учет процессов
    • Управление пользователями/ролями
  • Собственные системные службы
  • Тесты производительности для конкретных приложений

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

Связанный контент