Основные плюсы и минусы ОС Windows и Linux




Плюсы MS Windows:

· Поддержка очень большого ассортимента компьютерного оборудования. Какое бы экзотическое устройство вам не попалось, почти наверняка вы сможете его использовать под Windows. Хотя быть может вам и потребуется время на поиски нужной программы-драйвера.

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

· Большое количество специалистов, которые более или менее хорошо знают семейство ОС Windows. То есть, если вам потребуется помощь, вы ее найдете легко и за умеренную цену.

Минусы MS Windows:

· Сравнительно высокая стоимость. В самом дешевом варианте это более 50 долларов США, притом, что такая "дешевая" Windows, приобретаемая в комплекте с новым компьютером, "привязана" к этому компьютеру. А это значит, что, меняя компьютер, вам снова придется тратить деньги на Windows. Варианты Windows независимые от компьютера имеют цену ближе к двумстам долларов США и выше. И это стоимость Windows для одного компьютера. И если вам нужна ОС, например, на пять компьютеров, которые уже у вас есть (не новые), то придется выложить за пять копий Windows около тысячи долларов.

· Очень большое количество вредоносных программ (так называемые компьютерные вирусы). Для версии Windows XP это особо серьезная проблема, которая вынуждает конечного пользователя нести дополнительные расходы. Либо на покупку хорошей антивирусной программы либо на обращение к специалистам в случаях, когда вредоносные программы делают невозможной нормальную работу ОС Windows. Эту проблему можно уменьшить за счет квалифицированной настройки ОС Windows и аккуратного ее использования в ситуациях риска, главная из которых Интернет.

· Жесткая зависимость от разработчика. ОС Windows распространяется только в бинарном виде, который труднодоступен для изменения, но более того, компания Microsoft вообще запрещает вносить какие-либо изменения в рабочие коды ОС Windows. Так что если вам потребуется какая-то функциональность, которой сейчас нет в ОС Windows, то остается лишь надеяться на, то, что Microsoft когда-нибудь эту функциональность реализует либо искать некие "заплатки" от сторонних разработчиков. Впрочем, для среднестатистического пользователя это несущественный недостаток.

 

Плюсы Linux:

· Сравнительно низкая стоимость. В более или менее большом городе вполне реально получить диск с каким-либо дистрибутивом Linux по цене чистого CD\DVD диска, обратившись к энтузиастам, распространяющим Linux. Если таковых в вашем городе нет, то за 200-300 рублей можно купить наиболее популярные дистрибутивы через Интернет, с доставкой по почте и это можно сделать в любом населенном пункте, где работает почта. Также по почте можно совсем бесплатно получить CD диск с дистрибутивом Ubuntu Linux. При этом, имея всего одну физическую копию дистрибутива Linux, вы получаете право установить его на любое количество компьютеров. То есть, возвращаясь, к примеру, о пяти компьютерах, если вы купите одну копию дистрибутива Linux за 300 рублей это будут все ваши расходы на пять компьютеров - вам не нужно будет покупать пять копий. Итак, с одной стороны (Windows) около тысячи долларов, с другой стороны (Linux) примерно 300 рублей (или даже меньше этого).

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

· Независимость от разработчика. Если вам потребовалась какая-то функциональность, отсутствующая в ОС Linux, вы может ее добавить своими собственными усилиями. Такая возможность есть благодаря тому, что ОС Linux распространяется не только в бинарном виде, но и в исходных кодах, причем нет никаких запретов на модификацию этих исходных кодов.

 

Минусы Linux:

· Значительно худшая, чем для платформы Windows, поддержка компьютерного оборудования, в особенности внешнего, такого как, например, принтеры или USB устройства. Пожалуй, хуже всего дело обстоит со сканерами и USB, а также внутренними HSF/HCF модемами. Вполне реальна ситуация, когда вам не удастся использовать какое-то оборудование под ОС Linux. Но проблема в значительной степени решаема, за счет более тщательного подхода к выбору оборудования. Перед приобретением "железки" можно, в Интернет, поискать информацию о возможности ее работы под ОС Linux.

· Значительно меньшее, чем для платформы Windows, количество прикладных программ. Более того, если речь идет о некоторых программах - безусловных лидерах в своих прикладных областях, то под ОС Linux нет ни соответствующих версий самих этих программ, ни других, сопоставимых по функциональности программ. К таким прикладным программам относятся продукты компании Adobe, экономические программы 1С, программа инженерного проектирования AutoCAD, программы распознавания текстов (FineReader). Конечно, под ОС Linux есть и графические редакторы, и программы моделирования/проектирования, но они сильно уступают лидерам. Однако программы уровня Adobe PhotoShop или AutoCAD необходимы далеко не всем и для распространенных случаев, программ под ОС Linux вполне хватает. Частично этот недостаток можно компенсировать за счет того, что некоторые Windows-программы можно запустить на платформе Linux. Это возможно не для всех Windows-программ, но быть может именно та Windows-программа, которая вам нужна, будет работать под Linux.

· Меньшее, чем для платформы Windows, количество хороших или приличных специалистов. То есть, если вам потребуется помощь, то найти человека, достаточно хорошо разбирающегося в Linux, будет не так просто. Вполне возможно, что и стоимость услуг такого специалиста будет выше, чем в случае с Windows.

 

Далее рассмотрим подробнее процесс загрузки обоих операционных систем.

 

Загрузка MS Windows

В начале загрузки любого компьютера происходит старт BIOS. BIOS – это набор микропрограмм, записанных в ПЗУ компьютера и служащих для инициализации устройств на материнской плате, их проверки и настройки, загрузки операционной системы.

При включении компьютера BIOS проверяет “железо” и если есть проблемы, то информирует нас звуковыми сигналами (набор длинных и коротких гудков). Вот таблица звуковых сигналов BIOS:

Сигналы AMI

Сигнал Возможная неисправность
Отсутствует Неисправен блок питания
Ошибка четности ОЗУ
Ошибка в первых 64 кБ ОЗУ
Неисправность системного таймера
Неисправен CPU
Неисправен контроллер клавиатуры
Неисправна системная плата
Неисправна память видеокарты
Ошибка контрольной суммы BIOS
10к Невозможна запись в CMOS
11к Неисправен кэш на системной плате
1д+2к Неисправна видеокарта
1д+3к Неисправна видеокарта
1д+8к Не подключен монитор

Сигналы AWARD

Сигнал Возможная неисправность
Обычно – проблемы в CMOS Setup или с системной платой (мелкие ошибки)
Ошибка контроллера клавиатуры
1д+1к Ошибки в ОЗУ
1д+2к Неисправна видеокарта
1д+3к Ошибка инициализации клавиатуры
1д+9к Ошибка при чтении из ПЗУ
к, повторяющийся Неисправен блок питания
д, повторяющийся Проблемы с ОЗУ
непрерывный Неисправен блок питания

 

Если загрузка прервалась на этом этапе, то по сигналу находим вышедшую из строя деталь и заменяем. В случаях с оперативной памятью и видеокартами иногда помогает их извлечение и очистка контактов от пыли.

После проверки BIOS считывает настройки из CMOS и в соответствии с ними стартует загрузчик с указанного носителя (CD, HDD, Flash карта). Если загрузка производится с жёсткого диска, то система считывает первые 512 байт Master Boot Record (MBR) и передаёт ему управление.

Если MBR не найден, то загрузка останавливается. Восстановить MBR можно с помощью консоли восстановления Windows (Recovery Console) командой fixmbr.

Составить полное представление о загрузке Windows можно с помощью набора Windows Performance Toolkit. Утилиты командной строки xbootmgr и xperf позволяют создать подробный отчет о запуске системы и представить его в графическом и текстовом виде для всестороннего анализа загрузки.

После завершения процесса сбора данных о загрузке получаем следующие данные. График Boot Phases отражает длительность основных этапов загрузки, которые мы будем рассматривать подробнее дальше. На нем видно, что последний этап, Post Boot занял 26 секунд (Duration), а общее время загрузки составило 64 секунды (End Time).

 

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

Давайте рассмотрим все этапы подробно.

Этап OSLoader

На этапе OSLoader:

· загрузчик Windows (winload.exe) загружает основные системные драйверы, которые необходимы для считывания минимально необходимого набора данных с диска

· затем загрузчик инициализирует систему до момента, с которого становится возможной загрузка ядра

· когда ядро начинает загружаться, winload.exe помещает в оперативную память системный раздел реестра и дополнительные драйверы, помеченные в качестве BOOT_START

Длительность этапа отражает значение параметра osLoaderDuration в узле timing XML-файла. Обычно, она находится в пределах 2-3 секунд.

Этап MainPathBoot

Визуально этап MainPathBoot начинается с экрана «Загрузка Windows» и завершается при появлении рабочего стола. Если не настроен автоматический вход в систему, длительность этого этапа увеличивается за счет времени, которое требуется для ввода пароля.

Во время этапа MainPathBoot происходит основная работа по загрузке операционной системы:

· инициализируется ядро

· происходит определение устройств Plug and Play (PnP)

· запускаются службы

· выполняется вход в систему

· инициализируется Explorer, т.е. система готовится к загрузке рабочего стола

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

Фаза PreSMSS

Визуально фаза PreSMSS начинается примерно с экрана «Загрузка Windows», но ее окончание невозможно определить на глаз.

Фаза PreSMSS (в графическом представлении WPT она обозначена как Pre Session Init) начинается с инициализации ядра. Во время нее:

· ядро инициализирует структуры данных и компоненты, а затем запускает диспетчер PnP

· диспетчер PnP в свою очередь инициализирует драйверы BOOT_START, которые были загружены с помощью winload.exe на этапе OSLoader

· когда диспетчер PnP обнаруживает устройство, он загружает необходимый драйвер и выполняет его инициализацию

Фаза SMSSInit

Визуально начало фазы SMSSInit невозможно определить. Ее частью является пустой экран, который отображается между заставкой и экраном входа в систему, чье появление сигнализирует о завершении фазы.

Фаза SMSSInit (в графическом представлении WPT она обозначена как Session Init) начинается с того, что ядро передает контроль диспетчеру сессий (smss.exe). Во время этой фазы система:

· инициализирует реестр

· загружает и запускает устройства и вторую волну драйверов, которые не помечены как BOOT_START

· запускает процессы подсистемы

Фаза завершается с передачей контроля процессу winlogon.exe.

Фаза WinLogonInit

Визуально фаза WinLogonInit начинается перед появлением экрана приветствия, а завершается перед появлением рабочего стола.

Фаза WinLogonInit начинается сразу после запуска winlogon.exe. Во время этой фазы:

· отображается экран приветствия

· диспетчер управления службами запускает сервисы

· происходит запуск сценариев групповой политики

Фаза завершается запуском оболочки Windows — процесса explorer.exe.

Фаза ExplorerInit

Визуально фаза ExplorerInit начинается перед загрузкой рабочего стола, но ее окончание определить на глаз невозможно.

В фазе ExplorerInit:

· сначала запускается процесс explorer.exe

· затем система создает процесс диспетчера окон рабочего стола (DWM)

· DWM инициализирует рабочий стол и отображает его

Инциализация DWM и рабочего стола происходит на переднем плане, но в это же время в фоне диспетчер управления службами (SCM) запускает службы, а диспетчер памяти кеширует данные. Поэтому на многих системах эта фаза сопровождается нагрузкой на процессор, и нередко задержки при загрузке на этом этапе можно отнести на счет слабости аппаратных ресурсов.

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

 

Этап PostBoot

Этап PostBoot начинается после появления рабочего стола и завершается после того, как будет определено бездействие системы.

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

 

Рассмотрим далее подробности процесса загрузки ОС Linux.

 

Загрузка Linux

Процесс загрузки в системе Linux включает в себя несколько стадий. Однако вне зависимости от того, выполняется ли загрузка на стандартном персональном компьютере с архитектурой x86 или же во встраиваемой системе на основе PowerPC®, процесс загрузки оказывается в значительной степени одинаковым. Рассмотрим процесс загрузки в системе Linux от начальной bootstrap-загрузки до запуска первого приложения, работающего в пользовательском пространстве. Кроме этого, рассмотрим и другие вопросы, имеющие отношение к процессу загрузки, такие как имеющиеся загрузчики, распаковка ядра, начальный RAM-диск и другие элементы загрузки Linux.

Когда-то давно термин bootstrapping (загрузка) в компьютерной области означал загрузку бумажной ленты, на которой хранилась программа начальной загрузки, или же ввод программы начальной загрузки вручную при помощи расположенных на передней панели переключателей адреса/данных/управления. Современные компьютеры оборудованы устройствами, которые значительно упрощают процесс первоначальной загрузки – однако это не означает, что этот процесс является простым.

Давайте сначала бросим самый общий взгляд на процесс начальной загрузки Linux, чтобы охватить картину полностью. Затем мы более подробно рассмотрим, что происходит на каждом этапе процесса.

При первоначальной загрузке системы или при ее перезагрузке системы процессор выполняет код, который расположен в хорошо известном месте. В персональном компьютере это место соответствует базовой системе ввода/вывода (BIOS), которая хранится в расположенной на системной плате микросхеме энергонезависимой flash-памяти. Центральный процессор (CPU) встраиваемой системы обращается к reset-вектору для получения адреса программы, которая хранится по известному адресу в flash/ROM-памяти. В любом случае это приводит к одному и тому же результату. Так как персональные компьютеры отличаются намного большей универсальностью, BIOS должна определить, какие именно устройства являются кандидатами на выполнение начальной загрузки. После того, как устройство, с которого будет осуществляться начальная загрузка, найдено, начальный загрузчик первой ступени загружается в оперативную память и начинается его выполнение. Этот начальный загрузчик имеет размер менее 512 байт (один сектор), и его задачей является загрузка начального загрузчика второй ступени.

После того, как в оперативную память загружается и начинает выполняться начальный загрузчик второй ступени, на экране обычно отображается заставка и в память загружаются Linux вместе с необязательным начальным RAM-диском (временная система корневых файлов). После того как эти образы будут загружены, начальный загрузчик второй ступени передает управление ядру и выполняется декомпрессия и инициализация ядра. На этой стадии начальный загрузчик второй ступени проверяет аппаратное обеспечение системы, выполняет нумерацию подключенных устройств, монтирует корневое устройство и затем загружает необходимые модули ядра. После завершения этих задач запускается первая пользовательская программа (init) и затем выполняется инициализация системы высокого уровня.

Таков в общих чертах процесс начальной загрузки в Linux. Теперь давайте углубимся чуть далее и рассмотрим некоторые подробности начальной загрузки в Linux.

Запуск системы

Запуск системы определяется той аппаратной платформой, на которой выполняется начальная загрузка Linux. На встраиваемых платформах при включении питания системы или при перезагрузке используется bootstrap-среда. В качестве примеров можно привести U-Boot, RedBoot и MicroMonitor от компании Lucent. Эти программы хранятся в специальной области flash-памяти, расположенной во встраиваемой системе: они предоставляют средства для загрузки образа ядра Linux во flash-память и в дальнейшем обеспечивают выполнение этого ядра. В дополнение к функциям по хранению и загрузке образа Linux эти мониторы загрузки также выполняют тестирование системы на каком-то уровне и инициализацию аппаратного обеспечения. Во встраиваемых системах подобные мониторы загрузки обычно объединяют функции загрузчиков первой и второй ступени.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: