Большинство сравнений этих операционных систем проводится по принципам: свободное – несвободное, платное – бесплатное. Мы попробуем заглянуть глубже, разобрав основные принципы работы Windows и Linux.
Основа, сердце и мозг любой операционной системы — это ее ядро. Его архитектура определяет принципы взаимодействия приложений с аппаратными ресурсами компьютера и периферийными устройствами.
Актуальные версии ОС Microsoft (7, 8.1 и 10) построены на гибридном ядре NT. Оно имеет модульную структуру и включается в себя микроядро, уровень аппаратных абстракций, драйверы и службы, работающие в режиме kernel-mode. Ядро работает в защищенной области и имеет полный доступ к системным и аппаратным ресурсам. Пользовательский режим состоит из двух подсистем: внутренней (интегральной) и внешней (подсистема окружения). Первая контролирует такие аспекты работы ОС, как авторизация, доступ к учетной записи, подключение к сети, использование сетевых сервисов и протоколов. Подсистема окружения отвечает за запуск программного обеспечения и графический интерфейс. Для операций пользовательского режима непосредственное обращение к аппаратной части исключается. Любой программный запрос предварительно обрабатывается ядром и передается дальше уже от его имени.
Схематическая модель ядра NT с разделением по режимам работы
В семействе операционных систем Linux используется монолитное ядро с динамически подключаемыми модулями. В нем собраны все базовые сервисы – драйверы устройств, сетевые протоколы, управление дисковыми пространствами и файловой системой. На схеме показано условное разделение модулей по основным выполняемым задачам. Динамический механизм подключения позволяет вводить их в работу по мере необходимости, к примеру, при обнаружении нового устройства или по желанию пользователя. Добавление и удаление компонентов выполняется без остановки системы. Главным достоинством монолитного ядра считается скорость работы.
Схема ядра Linux с кольцом решаемых различными модулями задач
В последние годы наблюдается картина взаимной интеграции ОС на уровне ядер. Microsoft осуществляет поддержку виртуализации, разместив дистрибутивы Ubuntu, openSUSE и Debian в магазине MS Store, а в 2020 году обещает внедрить ядро Linux в дистрибутив Windows 10. С другой стороны, свободное сообщество реализовало KVM (kernel-based virtual machine). С помощью этой виртуальной машины Linux может запускать Windows поверх своего ядра.
В обеих операционных системах пользователь имеет свою домашнюю директорию с набором папок для хранения мультимедийных файлов, документов или фото. На этом сходство заканчивается. Windows использует иерархическую систему адресации. Жесткие диски, CD или DVD-ROM, а также другие внешние носители информации обозначаются буквами латинского алфавита. На HDD располагаются системные и пользовательские директории. Физические устройства (например, мышь и клавиатура) вынесены в отдельную категорию.
Древовидная файловая структура Windows от жесткого диска до конечного файла
В Linux буквенной адресации нет, а любое устройство система способна воспринимать как файл. Вместо диска «С» используется понятие корневая директория, обозначаемое символом «/». К ней монтируются все остальные папки как системные, так и пользовательские. Устройства также попадают в эту иерархию. К примеру, CD-ROM будет смонтирован как /dev/cdrom, а мышь как /dev/mouse.
Точки монтирования каталогов в Linux расходящиеся от корневой директории
Кардинальные различия в подходе требуют и разных файловых систем. В Windows по умолчанию используется NTFS (NT File System), а в семействе Linux наибольшее распространение получила EXT (Extended File System). Четвертая редакция, обозначаемая как ext4 или ext4fs, основная в современных дистрибутивах.
В Windows основным местом хранения конфигураций и параметров является реестр операционной системы. Часть программ дополнительно создает файлы INI для записи пользовательских настроек и их быстрого редактирования. Повреждение реестра может привести к краху ОС, но внесение в него правок не требует повышенных привилегий. С другой стороны, централизованное хранение параметров дает необходимую гибкость при удаленном администрировании.
Вид редактора реестра Windows и диалогового окна с командой его запуска
В Linux хранение конфигураций децентрализовано. Системные конфигурации хранятся в каталоге /ext, а пользовательские в скрытых папках домашней директории. Редактирование настроек доступно в обычном текстовом редакторе, но требует повышенных привилегий. Не зная пароля root (главного администратора), пользователь не сможет вносить правки, и, следовательно, нарушить работу системы.
Обе рассматриваемые ОС способны работать в многопользовательском режиме, но имеют серьезные различия в механизме его реализации. В Windows по умолчанию используются три категории доступа для пользователей: обычный, гостевой и административный. Наибольшими правами обладает администратор, наименьшими – гость. Обычный пользователь изначально сильно урезан в возможностях. В дополнение к этому существует система квотирования дискового пространства, инструменты управления групповой политикой и родительский контроль. При грамотном подходе администратор может ограничить возможности пользователя настолько, что для него компьютер станет большой пишущей машинкой или калькулятором с экраном. Такой подход удобен для организаций, но мало применим к домашнему ПК. По этой причине разграничение прав в Windows используется в основном в корпоративной среде.
В Linux, которая, как мы знаем, способна все воспринимать как файл, реализована единая сквозная система разграничений. В общем виде принцип ее работы показан на следующей картинке.
Структурная схема распределения прав доступа пользователей в ОС Linux
Каждый файл имеет разрешения на чтение, запись и запуск, обозначаемые буквами RWX. Права дублируются для владельца-создателя, группы, в которую он входит, и остальных пользователей. Права могут комбинироваться в широком диапазоне.
Неограниченным доступом ко всей системе обладает root – суперпользователь. Он единственный имеет право открывать любой файл, вносить изменения в конфигурацию и запускать все программы. Образно говоря, если в своей директории пользователь – царь, то root в системе – бог.
В Windows на домашнем ПК быть администратором явление естественное. Только таким образом можно устанавливать программы и конфигурировать систему. Мало кто добровольно ограничит себя в правах. В Linux, наоборот, даже продвинутому пользователю никогда не придет в голову постоянно работать в режиме root.
Обе операционные системы имеют двойственную систему установки ПО: на выбор можно использовать локальный инсталлятор или сетевой магазин приложений. Для Windows это файлы EXE/MSI и магазин Microsoft Store. В Linux используются пакеты RPM или DEB и разветвленная система репозиториев.
С программами для Windows все просто. Это самая распространенная операционная система в мире, и выбор ПО для нее не просто богат, он огромен. Найти подходящее приложение не составляет особого труда.
В семействе Linux все сложнее. Во-первых, существует две основные ветки – дистрибутивы семейства Red Hat (пакеты RPM) и семейства Debian (пакеты DEB). Во-вторых, внутри этих веток существует еще несколько десятков направлений. Разобраться в сложившейся картине сложно, и это отпугивает многих пользователей. Особенно если учесть, что для Windows линия развития будет практически прямой с небольшой тупиковой ветвью, заканчивающейся версией Millennium Edition в далеком 2003 году.
Дерево развития дистрибутивов Linux c выделением веток Red Hat и Debian
С уверенностью можно сказать только одно – Windows и Linux разные. Невозможно полноценно сравнивать единственного ребенка какого-нибудь английского лорда, получившего хорошее образование и воспитание, и череду отпрысков вождя африканского племени. В семействе Linux есть выдающиеся экземпляры систем, но бороться на равных с гигантом мировой индустрии им не под силу.
Если говорить о том, какие лучшие дистрибутивы Linux мы знаем, то этот список может быть…
Хотя Ubuntu и поставляется со встроенным обозревателем Firefox многие пользователи считают что это не самая…
Что такое Remmina? Remmina — это совершенно бесплатный и свободный клиент так называемого удаленного рабочего…
Как мы знаем, Ubuntu это самая популярная сборка из систем на базе ядра Linux. У…
Выбор ноутбука для каждого пользователя это довольно кропотливый процесс. Люди стараются подобрать ноутбук который будет…
Если вы решили ознакомиться с операционной системой Linux более детально и задались вопросом как установить…