Главная

Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Слишком высокая общая стоимость владения.


Слишком высокая общая стоимость владения - один из основных аргументов сторонников MS Windows. Тут стоит не верить наслово, а просто взять и посчитать самому.
Все цены на программы взяты с сайта softkey.ua в мае 2010.

 

 

минимум для офисного компьютера:
Операционная система MS Windows 7 Professional Ukrainian 1867.50 грн Kubuntu Desktop
офис MS Office Pro 2007 Ukrainian 3894.36 грн Open Office
архиватор WinRAR 288.84 грн Arc
Антивирус Kaspersky BusinessSpace Security 432.43 грн ClamAV
Запись на диск Nero 9 Box version 1215.00 грн K3B
Разница в стоимости - 7698,13 грн

 

 

 

 

Минимум для сервера:
Операционная система Microsoft Windows Server Standard Edition 2008 10076.70 грн Ubuntu Server
Антивирус Kaspersky Anti-Virus for File Server 1825.92 грн ClamAV
Резервное копирование Symantec Backup Exec System Recovery 8.0 9776.24 грн. Bacula
Почта Exchange Svr 2007 Russian OLP NL   6 444.87 грн + 477.67 грн за каждую лицензию Postfix + Dovecot
Разница в стоимости - не менее 28601,40 грн

Разница в стоимости очень хорошо заметна. Вот только какая же зарплата должна быть у сисадмина, что бы Windows обходился дешевле?
Да и доверять администрирование Windows-серверов непрофессионалу я бы не рискнул - может обойтись намного дороже. А зарплата у настоящих профессионалов что в Windows, что в Linux будет примерно одинаковая.

 

Отсутствие вирусов и троянов связано исключительно с малым распространением Linux.

Для начала просто посмотрим статистику уязвимостей за 2009 год в ядре Linux 2.6.x и Windows Server 2008

Вся статистика взята с сайта http://secunia.com

Обратите внимание на то, что в Windows они не все уязвимости были исправлены. Да и уязвимости бывают разные.
Посмотрим на графики критичности найденных уязвимостей:

Вот тут и начинается самое интересное. В ядре Linux не было обнаружено НИ ОДНОЙ уязвимости двух высших категорий, а в Windows их оказалось в сумме 41%. Но и это еще не все. Уязвимости могут приводить к разным последствиям. Взглянем на статистику категорий уязвимостей:

В Linux только 5% уязвимостей могут предоставить доступ к системе. В Windows эта цифра выросла уже до 51%.
Но, как оказалось, и это еще не предел "надежности" Windows. Уязвимости могут эксплуатироваться по-разному. Одно дело когда для того, что бы воспользоваться ошибкой программистов нужен локальный доступ к системе и совсем другое - когда достаточно видеть машину в сети. Посмотрим и на эти графики:

Вот тут уже нечего добавить... 72% уязвимостей для удаленного доступа в Windows - это просто отлично.
Итого. Сведем все данные в одну таблицу для наглядности:

 

 

  Windows Linux
Процент неисправленных уязвимостей 3% 0%
Суммарный процент уязвимостей двух высших степеней опасности 41% 0%
Процент уязвимостей, дающих доступ к системе 51% 5%
Процент уязвимостей, которые можно эксплуатировать удаленно 72% 13%

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

4 Состав и компоненты ОС. Требования, предъявляемые к ОС. Принципы разработки архитектуры ОС.

Состав операционной системы

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

Большинство ОС состоит из следующих основных модулей: базовая система ввода-вывода (BIOS – Basic Input Output System); загрузчик операционной системы (Boot Record); ядро ОС; драйверы устройств; командный процессор; внешние команды (файлы).

Базовая система ввода-вывода (BIOS) – это набор микропрограмм, реализующих основные низкоуровневые (элементарные) операции ввода-вывода. Они хранятся в ПЗУ компьютера и записываются туда при изготовлении материнской платы. Данная система, по сути, «встроена» в компьютер и является одновременно его аппаратной частью и частью операционной системы.

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

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

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

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

Ядро ОС реализует основные высокоуровневые услуги, загружается в ОЗУ и остается в ней постоянно. В ядре ОС выделяют несколько подсистем, каждая из которых отвечает за выполнение той или иной задачи:

- файловая система (отвечает за размещение информации на устройствах хранения);

- система управления памятью (размещает программы в памяти);

- система управления программами (осуществляет запуск и выполнение программ);

- система связи с драйверами устройств (отвечает за взаимодействие с внешними устройствами);

- система обработки ошибок;

- служба времени (предоставляет всем программам информацию о системном времени).

Модуль расширения BIOS придает гибкость операционной системе, позволяя добавлять драйверы, обслуживающие дополнительные устройства.

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

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

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

Основные компоненты операционной системы.Основные типы операционных систем

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

К системным компонентам относятся ядро системы, обеспечивающее взаимодействие всех компонент, загрузчик программ, подсистемы, обеспечивающие диалог с человеком — оконная система и интерпретатор команд и, наконец, файловая система. Именно системные компоненты ОС определяют основные свойства операционной системы.

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

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

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

Традиционно к ОС предъявлялись следующие дополнительные требования:

- прозрачность (незаметность работы) служебных программ;

- гарантированная надежность;

- максимальная скорость выполнения;

- минимальный машинный код;

- использование стандартных средств для связи с проблемными программами.

Кроме этого, современная операционная система должна обладать свойствами:

Расширяемости, совместимости, переносимости, безопасности, надежности и отказоустойчивости.

Расширяемость

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

Расширяемость может достигаться за счет:

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

- использования Объектов для представления системных ресурсов. Добавление новых объектов не разрушает существующие объекты и не требует изменений существующего кода;

- структурирования ОС по типу клиент-сервер с использованием Микроядерной технологии;

- использования средств вызова удаленных процедур (RPC). Новые программные процедуры могут быть добавлены в любую машину сети и немедленно поступить в распоряжение прикладных программ на других машинах сети.

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

Переносимость

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

- использовать язык высокого уровня. Большинство переносимых ОС написано на языке С потому, что он стандартизован и С-компиляторы широко доступны;

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

- изолировать платформу. Зависимость от платформы заключается в различиях между рабочими станциями разных производителей, построенными на одном и том же процессоре). Должен быть введен программный уровень, абстрагирующий аппаратуру (КЭШи, контроллеры прерываний ввода-вывода и т. п.) вместе со слоем низкоуровневых программ таким образом, чтобы высокоуровневый код не нуждался в изменении при переносе с одной платформы на другую.

Совместимость

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

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

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

- поддержке вызовов API-функций новой ОС;

- соответствии внутренней структуры исполняемого файла правилам новой ОС.

Для достижения двоичной совместимости в случае различных архитектур кроме этих мер необходимы либо:

- эмуляция (довольно просто, но обычно очень медленно), либо

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

- система виртуальных машин (СВМ) (см. рис. 1.1).

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

Рис. 1.1 Вариант виртуальной машины

Первой реальной системой такого рода была система CP/CMS или VM/370, как ее называют сейчас, для семейства машин IBM/370.

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

Архитектура – это базовая организация системы, воплощенная в ее компонентах, их отношениях между собой и с окружением, а также принципы, определяющие проектирование и развитие системы [IEE[1471] .

Именно архитектура ОС должна обеспечить:

¾ расширяемость ОС

¾ переносимость ОС

¾ совместимость различных ОС

Существует два способа структуризации ОС:

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

В соответствии с этим способом структуризации выделяют следующий состав компонентов (подсистем) ОС:

1. управление процессами

2. управление памятью

3. управление файлами

4. управление внешними устройствами

5. защита данных

6. администрирование

7. интерфейс прикладного программирования

8. пользовательский интерфейс

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

Остальные (вспомогательные) модули ОС являются транзитивными (т.е. подгружаются в память с диска по мере необходимости на время своей работы).

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

¾ привилегированный (он же режим ядра) kernel mode

¾ непривилегированный (режим задачи пользователя) user mode

Программы, работающие в режиме ядра, имеют полный, неограниченный доступ ко всем ресурсам компьютера:

· его командам

· адресам

· регистрам

· портам ввода-вывода

В режиме задачи возможности программы ограничены, она, в частности, не может выполнять некоторые специальные команды.

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

Смена режимов при выполнении функции ядра

       
       

 

Работа Пользовательский t – время переключения

приложения режим режимов

t Работа t

ядра

 

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

Ядро включает модули, выполняющие основные функции ОС:

1. управление процессами

2. управление памятью

3. управление вводом-выводом и файловая система

4. прочее

К транзитным частям ОС относятся:

- утилиты (отдельные системные программы, решающие частные задачи, такие например, как форматирование и проверка диска, поиск данных в файлах, мониторинг работы системы и многое другое)

- системные библиотеки подпрограмм (они позволяют прикладным программам использовать различные специальные возможности, которые поддерживаются системой, например: библиотеки для графического вывода, для работы с мультимедиа)

- интерпретатор команд (программа, выполняющая ввод команд пользователя, их анализ и вызов других модулей для выполнения команд)

- системный загрузчик (программа, которая при запуске ОС (включение питания) обеспечивает загрузку системы с диска, ее инициализацию и старт)

- другие виды программ (системные обрабатывающие программы (редакторы, отладчики, компиляторы), а также программы дополнительных услуг (игры, калькулятор) и библиотеки процедур (математические функции).

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

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

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

 

5 Множественные прикладные среды. Совместимость.



Последнее изменение этой страницы: 2016-06-09

headinsider.info. Все права принадлежат авторам данных материалов.