"Азбука РС"

Операционные
системы

 

 

OS компании Мicrosoft

 

OS для Mac-ов
     · OS карманных ПК
   · файловая система

Unix-ные OS
     · пакет исправлений
   · Boot Manager

Прочие OS


  Операционная система (OS) контролирует и координирует действия аппаратного обеспечения ПК, а также осуществляет взаимодействие аппаратного обеспечения с программным. К главным функциям OS относятся:   Каждая операционная система имеет свой командный язык. Для управления внешними устройствами компьютера используются специальные системные программы — драйверы. Драйверы стандартных устройств образуют в совокупности базовую систему ввода-вывода (Bios), которая заносится в память ПК.


  Все, что хорошо начинается, кончается плохо. Все, что плохо начинается, кончается еще хуже
(Закон Паддера)  

  Единой классификации операционных систем не существует, но в зависимости от разных факторов все OS можно разделить на классы:
      · Client / Server
      · бесплатные / платные
      · версия оригинальная / локализованная
      · интерфейс Text Mode / Graphic Mode
      · архитектура 16-bit / 32-bit / 64-bit
      · объем большой / маленький
      · версия сетевая / псевдо-сетевая & локальная
      · память процесса с защитой / без защиты
      · загрузка программы экономная / не экономная
      · однозадачные / многозадачные
      · однопользовательские / многопользовательские
      · стабильная / нестабильная
      · virus friendly / no virus friendly
  Таких критериев много. Рассмотрим самые важные:

  · Client / Server. Универсального разделения OS на клиентскую и серверную части не существует. Как правило, компания либо выпускает серию OS, позиционируя каждую отдельно (напр. серия Windows 2000), либо создает единый (глобальный) дистрибутив для личного выбора пользователя во время установки (напр. Linux). Конечно второй вариант удобнее. Формально Client ставится домой и/или на рабочие места, а Server служит для размещения многочисленных серверов (сервер приложений, web-сервер, почтовый сервер, сервер базы данных, etc.). Обычно Client не поддерживает более одного процессора, а Server имеет огромный набор встроенных утилит (в т.ч. администрирования и нескольких мониторов сразу), шифрование и разделение доступа. Поддержка "железа" (драйвера) должна быть одинаковой.

  · бесплатные / платные. Большая часть OS распространяются за деньги (о пиратах помолчим). Пример - Windows. Т.е. уплатив некую сумму, Вы получаете
    * CD-Rom с дистрибутивом;
    * книгу-брошюру ("Руководство пользователя");
    * сетрификат подлинности (Certificate of Authenticity) с номером (Product ID:);
    * инсталляционные дискеты (иногда);
  Но есть и бесплатно распространяемые OS - напр. Linux. Вы можете бесплатно получить Linux у того, кто им уже обладает, скачать его из Internet-a, купить CD-Rom у дистрибьютора (деньги берутся за "болванку" CD-Rom-а и/или тех.поддержку).
  При сравнении платных OS следует помнить, что суммарная цена состоит не только из разовой оплаты (стоимости лицензии). В минимальный расчет стоимости OS входит:
    1. стоимость лицензии(ий) на OS;
    2. стоимости аппаратного обеспечения (нового или upgrade старого);
    3. стоимость технической поддержки;
    4. стоимость услуг upgrade/обслуживания;
    5. прибыль, потерянная за каждый час не работы OS;
    6. оплаты персонала за восстановление данных, потерянных из-за дефектов OS;
    7. зарплата системных администраторов;
  Какая же из платных OS в результате окажется дешевле? Считайте...

  · Оригинальная / Локализованная. Это язык OS (английский, русский, etc.). Грамотные пользователи всегда ставят оригинальную (английскую) версию. Причин много, в т.ч.: неизбежные для локализованных продуктов задержки выхода новых версий, новые ошибки от локализации, просто отсутствие русской версии, неудобный способ переключения клавиатуры (между русской и латинской раскладкой), плохой перевод, etc...

  · Интерфейс. Бывают OS с командным интерпретатором (текстовый интерфейс, Text Mode) или OS с графическим интерфейсом (Graphic Mode). Если OS с Text Mode, то после входа пользователя в систему для него запускается один из командных интерпретаторов. Обычно в системе поддерживается несколько командных интерпретаторов с похожими, но различающимися своими возможностями командными языками. Часто их называют консолями. Общее название для любых консолей-интерпретаторов - shell (оболочка), поскольку любой интерпретатор представляет внешнее окружение ядра системы. Графический интерфейс - это окошки, картинки, поддержка мыши и т.п. Его также называют Presentation Manager (PM). В современной OS обычно есть несколько Graphic Mode (любая Windows - мерзкое исключение, там PM один).

  Виртуальная мультиконсоль. Дает возможность на одном дисплее организовать работу нескольких консолей (т.е. одновременное выполнение многих программ). Пример из UNIX:
  На первой консоли запускается связь с корпоративной базой данных. Комбинацией клавиш Alt-F2 следует переход на вторую консоль. Трансляция продолжается, но при этом первая консоль на экране монитора заменяется новой картинкой второй консоли. В которой запускается обработка текста (напр. редактор, переводчик, словарь, etc.). Комбинацией Alt-F3 следует переход на третью консоль, в которой запускается отладчик программ. На четвертой консоли - играете в DOOM. Ну и т.д. Обычно в системе 8 консолей, но можно установить до 64-х. В любой момент времени можно переключиться на любую консоль. На отдельной консоли может работать как текстовая, так и графическая программа. На одной из свободных консолей можно запустить оконную графическую систему X Window System. Открываете окно и напр. выход в Internet (звонилка, браузер, etc.). Можно ICQ через сеть. А в других окнах - база данных, почта, редактор, трансляция и т.д. Таким образом, одновременно работает много консолей, а на одной из консолей еще и много окон X Window System.

  · Архитектура. Бывают 16-разрядные OS (16-bit), 32-разрядная OS (32 бита, 32-bit), 64-разрядная OS (64-bit). Зависит от того, сколько одновременно OS может обрабатывать единиц информации. Самая распространенная - 32-разрядная операционная система.
  Кстати, практически все производители, выпустив новую 32-разрядную OS, полностью переписывали 16-разрядный код (честно на 32-bit). Но вот один 6 лет выпускал 16-bit-ные OS под рекламой 32-bit. Исключение обычное - Microsoft (кусков 16-разрядного кода нет только в Windows XP).

  · Псевдо-сетевые OS. Проблема не в чисто локальных OS - они безнадежно устарели и их уже нет, а в OS, имитирующих сеть. Операционные системы, подобные Windows, изначально строились в расчете на управление внутренними процессами. Операции, относящиеся к сетевому взаимодействию, надстраиваются в них поверх структуры OS и соответствующие прерывания имеют низкий приоритет. Т.е. управление прерываниями реального времени (напр. нажатие на кнопку мыши или воспроизведение видеоклипа), осуществляется по приоритетной схеме, а сетевые службы (напр. модем или сетевой интерфейс) рассматриваются как дополнительная функция, которую OS должна поддерживать параллельно. Получается, что в таких OS нет способа гарантировать сетевой программе все необходимое время процессора для обработки реальных событий. А от сетевых устройств удаленный ПК ждет только определенного поведения. Если сетевая программа сделает чуть не так, связь будет нарушена или разорвана. Не говоря уж о том, что структура OS становится дико громоздкой, а иерархия уровней еще более усложняется.
  Частично проблема решается на аппаратном уровне (напр. Intel - новые инструкции для процессора). Большие объемы памяти и сверхбыстрые процессоры способны замаскировать проблему, но не решить. Поэтому нужно или покупать новые процессоры или ставить нормальную OS (напр. UNIX).

  · Защита памяти процесса. Есть OS (большинство), в которых сбой одной (какой-нибудь) программы не вызывает "зависание" всей системы (напр. UNIX), а есть OS, у которых от сбоя программы "виснет" вся система (напр. Windows).

  · Загрузка программы. Для работы программы можно считать с диска только те части программы, которые действительно используются для выполнения, а можно все подряд. Соответственно есть - экономная загрузка (напр. Linux), а есть не-экономная (напр. Windows).

  · однозадачные / многозадачные (или многопользовательский режим и его поддержка). Однозадачные OS могут работать только с одной (в данный момент времени) программой, т.е. выполняют функцию предоставления пользователю виртуальной машины. Пример - MS-DOS. Многозадачность - это способность OS одновременно выполнять много программ (любых!) на одном ПК. Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов: вытесняющая / невытесняющая многозадачность. Основные различия между этими вариантами многозадачности определяются:
  1 определение: способом распределения процессорного времени между несколькими одновременно существующими в системе процессами (или нитями).
  2 определение: степенью централизации механизма планирования работы. При невытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам не отдаст управление OS для того, чтобы та выбрала из очереди другой готовый к выполнению процесс. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается самой OS, вне зависимости от готовности первого процесса.
  После объявления Windows многозадачной, у других OS появился термин "истинная многозадачность". К невытесняющая многозадачности относятся NetWare, Windows 95/98; а к вытесняющей многозадачности - Windows NT4-2000, OS/2, все UNIX.
  Нельзя многозадачность путать с режимом переключением задач, который допускает запуск нескольких программ, но не позволяет работать этим программам на одном компьютере одновременно.

  · однопользовательские / многопользовательские. Здесь OS делят по числу одновременно работающих пользователей. Многопользовательский режим OS - много пользователей одновременно работают на одном и том же ПК. Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. Чтобы начать работать, человек должен "войти" в систему, введя свое учетное имя (account name) и пароль (password). Человек, зарегистрированный в учетных файлах системы (имеющий учетное имя), называется зарегистрированным пользователем системы. Регистрацию новых пользователей выполняет администратор системы. Пользователь не может изменить свое учетное имя, но может установить и/или изменить свой пароль. Пароли хранятся в отдельном файле в закодированном виде. Есть OS:
    · однопользовательские однозадачные (например MS-DOS), которые поддерживают одну клавиатуру и могут работать только с одной (в данный момент) задачей;
    · однопользовательские многозадачные (например OS/2), которые обеспечивают одному пользователю параллельную обработку нескольких задач;
    · многопользовательские многозадачные (например UNIX), позволяющие на одном компьютере запускать несколько задач нескольким пользователям;
  Внимание: не всякая многозадачная система является многопользовательской, и не всякая однопользовательская OS является однозадачной.

  · стабильная / нестабильная. Любой пользователь Windows сталкивался с фразой на экране "Программа выполнила недопустимую операцию и будет закрыта. Если эта ошибка будет повторяться, обратитесь к разработчику.". Вы наверное, уже привыкли "зависать" в день по два-три раза и переустанавливать свои "винды" каждые полгода? Вот поэтому Windows и называется крайне нестабильной OS. Вам не обидно читать после перезагрузки "повисших виндов" фразу на экране "Из-за того, что работа Windows не была завершена должным образом, у Вас могут быть ошибки."? Т.е. сначала Windows сама "виснет", а потом еще и портит.
  Кстати, так мучаетесь только Вы. Альтернативный пример: автор за 3 года в Linux не "повис" ни разу.

  · virus friendly / no virus friendly. Есть OS (большинство), в которых не только активация, но и само существование вируса затруднено (напр. UNIX), а есть отдельные OS, "дружественные по отношению к вирусам" (напр. Windows, которая вообще стала своего рода базовой системой для техно-крыс. И такое положению MS устранивает, судя по тому, что реальных мер не предпринимается).


  99,9% пользователей на самом деле не используют операционную систему. Повторяю - не используют!. Т.к. работают с приложениями. Именно прикладные программы и используют операционную систему. И любая OS (даже самая привлекательная) хороша лишь в той мере, в какой хороши программы, работающие под ее управлением. Если Вам необходимо использовать (или Вы к нему привыкли) программу, которая доступна только для одной OS, Вам нельзя заменять операционную систему. Но есть вероятность, что эта (или похожая) программа существует для другой OS.


  Никогда не испpавляйте найденные ошибки, ибо это повлечет за собой появление неизвестного числа не найденных (совет начинающему)  

  · Service Pack (SP, пакет исправлений, "заплатки"). Большая часть широко распространенных OS глюкава, но это еще полбеды, ибо они содеpжат ошибки. Hастоящие сбоpники имеют своей целью испpавление того, чего не в состоянии сделать производители OS сразу. Все пакеты SP инкpементальны, т.е. каждый последующий содеpжит все пpедыдущие. Достаточно ставить испpавления из последнего SP.
  Стандартная реклама-описание с ремарками-переводом: SP представляет собой набор дополнений и обновлений для системы и не содержит новых модулей (т.е. только исправление существующих ошибок). Обновления, вошедшие в состав SP, обеспечивают улучшение совместимости приложений и аппаратного обеспечения (т.е. что-то не работало вообще), более высокую защищенность данных (т.е. хакеры уже успели взломать) и дальнейшее повышение надежности операционной системы (т.е. были официальные претензии). Ну и т.д.
  К сожалению, каждый SP не только устраняет найденные старые ошибки (не все, правда), но и создает при этом новые... Поэтому не ставьте их без крайней необходимости!
  Производители с большим количеством ошибок даже создают отдельные сайты в Internet-e по обновлениям. Хороший пример - Microsoft Download Center.
  SP также называется Fixpack, FIX ("пофиксить" систему).

  · Несколько OS на ПК одновременно. При наличии на одном ПК нескольких операционок ставят менеджер загрузки (Boot Manager). Система управления загрузкой Boot Manager устанавливается в отдельный раздел диска (как правило) и получает управление после инициализации компьютера. Boot Manager выводит на экран меню, при помощи которого пользователь может выбрать необходимую OS. Пример возможных схем расположения Boot-раздела (для использования OS/2 Boot Manager или системы LInux LOader Boot)- на рисунке:

Т.е. раздел Boot Manager можно разместить не только в середине, но и в конце первого диска. Обычно возможность выбора нескольких операционных систем получается, если пользователь установил новую OS, но при этом сохранил и старую. Реально есть всего три популярных (и бесплатных) Boot Manager-а и полтора десятка прочих. Главная проблема в том, что большинство этих программ создается только для загрузки разных версий Windows и не могут работать с другими OS. Другие проблемы - ограничение количества OS, убогий интерфейс, скромные возможности. Небольшой список (лучшие выделены синим цветом):
Boot Easy (FreeBSD) ] [ BootIt Next Generation ] [ BootStar Boot Manager  ] [ Lilo (LInux LOader) ] [ MasterBooter ] [ MATTsoft Boot Manager ] [ MSTBOOT Boot Manager  ] [ My Boot Manager ] [ NZBoot ] [ OS/2 Boot Manager ] [ OS-BS (FreeBSD) ] [ OSLoader 2000 ] [ Paragon Ext2FS Anywhere ] [ Partition Boot Manager ] [ Sleepy ] [ Smart Boot Manager ] [ SyMon (R3 References) ] [ Windows Boot Manager (NT-2000) ] [ XBOOT ]
  * - Boot Easy, OS/2 Boot, Lilo, NZBoot, SyMon и Sleepy бесплатны.
  Следует отметить тот факт, что встроенный в W2K Windows Boot Manager при каждом своем запуске уничтожает загрузочные данные других OS, блокируя т.о. их запуск. Дело дошло до того, что в популярной утилите dfsee (анализ строения диска, разделов и файловых систем) появилось встроенное средство борьбы с отродьем фирмы Microsoft.
  Рекомендация: ставьте SyMon (при выборе между Windows) или универсальный OS/2 Boot Manager.

  VMWare: кроме менеджера загрузки есть еще возможность создать виртуальный ПК. 15 марта 2001г. компанией VMWare выпущен одноименный продукт. Эта программа представляет собой диспетчер виртуальных машин, работающий под управлением хост-системы (напр. под Linux). VMWare может создавать до 254 (!!!) виртуальных машин под своим управлением (конечно, если "железо" хост-система позволяет) и при этом каждая виртуальная машина получает в свое распоряжение свой биос, свою память, свою сетевую карточку и считает, что она работает в системе совсем одна. Т.е. не надо перезагружаться в нее, а достаточно запустить VMWare, указать ему параметры виртуальной машины, указать откуда загружать OS и получить в свое распоряжение полностью работоспособную систему, но работающую в окне хост-системы. Пример: одновременно Win2000, WinME, Win98 в окнах под Linux-ом...

·  Кроме работы программ под Windows, есть различные проекты работы Windows-программ под другими OS. Отметим два популярных:

  1. проект Odin под OS/2.
  2. Wine (API WineX). Канадская компания Transgaming Technologies в феврале 2002г. выпустила пресс-релиз о успешной разработке нового API WineX, который позволяет работать с Windows-приложениями под OS Unix, в т.ч. играть в DirectX 8-игры на Linux-платформе. Первой игрой, которая про-тестировалась под Linux - API WineX, стала Max Payne. На момент написания главы в базе первого сайта содержится более 2700 Windows-приложений, которые протестированы и работают. Можно протестировать нужное приложение на «запускаемость» или воспользоваться поиском на одном из двух сайтов: Wine Development HQ, CodeWeavers Wine Application Database.
      Ложка дегтя для "простых" пользователей: скачать бесплатно можно только исходники WineX, а за уже откомпилированную версию API и соответствующие добавления, улучшения и модули поддержки новых игр придется заплатить (правда месячная подписка обойдется всего в $5). Или учитесь компилировать сами...

·  Немного статистики по используемым сейчас OS (от мая 2002г, статистика Netstat-а и Hotlog-а):

OS, как серверы (для Internet-a)OS, для дома (в России)
  • Linux - 37.9%
  • FreeBSD - 37.09%
  • Windows (любой) - 15.27%
  • Solaris - 6.17%
  • BSDi - 1.22%
  • AIX - 0.82%
  • SCO - 0.66%
  • OpenBSD - 0.54%
  • Irix - 0.15%
  • Other - 0.12%
  • OS/2 - 0.06%
  • Windows 98 - 60.35%
  • Windows 2000 - 21.29%
  • Windows NT4 - 7.47%
  • Windows XP - 6.18%
  • Windows 95 - 3.74%
  • Other - 0.49%
  • Windows ME - 0.22%
  • Linux - 0.18%
  • FreeBSD - 0.04%
  • Macintosh - 0.04%
  Во-первых, наглядно видно различие в OS у профессиналов и обычных пользователей (слева Unix - 84,55%, справа Windows - 99,25%) и про-Мicrosoft-ское "прогибание" России... (во-вторых). Впрочем, это уже к психиатру, ибо "...компьютер без Windows как морожение без кетчупа...".

  Вместо эпилога: перед установкой любой OS желательно знать конфигурацию аппаратных средств компьютера. В процессе установки Вам может потребоваться такая информация, как тип видеоадаптера, тип звукового и сетевого адаптера, адреса портов ввода/вывода, номера прерываний и каналов прямого доступа, диапазоны адресов памяти, используемых периферийными устройствами для выполнения операций ввода/вывода и т.п.

© Dmitry Belousov
http://www.orakul.spb.ru
ноябрь 2001г.-июнь 2002г.


[ оглавление | предыдущая глава | OS | следующая глава | глоссарий | обновить ]