Гордеев А.В. Операционные системы (2-е изд., 2004) (1186250), страница 74
Текст из файла (страница 74)
Под генерацией операционной системы понимается ее сборка (компоновка) из отдельных программных модулей. В результате генерации получают скомпонованные двоичные коды операционной системы и построенные системные таблицы, отражающие конкретнуюконфигурацию компьютера. Эта процедура проводится редко перед достаточнопротяженным периодом эксплуатации операционной системы. Процесс генерацииосуществляется с помощью специальной программы-генератора и соответствующего входного языка для этой программы, позволяющего описывать программные возможности системы и конфигурацию машины.
В результате генерацииполучается полная версия операционной системы. Сгенерированная версия операционной системы представляет собой совокупность системных наборов модулей и данных.Упомянутый раньше принцип модульности положительно проявляется при генерации операционной системы. Он существенно упрощает ее настройку на требуемую конфигурацию вычислительной системы. В наши дни при использованииперсональных компьютеров с принципом генерируемости операционной системыможно столкнуться разве что при работе с Linux. В этой UNIX-системе имеетсявозможность не только использовать какое-либо готовое ядро операционной системы, но и самому сгенерировать (скомпилировать) такое ядро, которое будет оптимальным для данного конкретного персонального компьютера и решаемых нанем задач. Кроме генерации ядра в Linux имеется возможность указать и наоорподгружаемых драйверов и служб, то есть часть функций может реализовыватьсямодулями, непосредственно входящими в ядро системы, а часть — модулями, имеющими статус подгружаемых, транзитных.В остальных современных распространенных операционных системах, в том чиле и для персональных компьютеров, конфигурирование системы под соответствующий состав оборудования осуществляется на этапе установки, причем в болшинстве случаев не представляется возможным серьезно вмешаться в этот процеВ дальнейшем, при эксплуатации компьютера, можно изменить состав драйвер <служб, отдельных параметров и режимов работы.
Как правило, внесение п о д 0ных изменений может быть осуществлено посредством редактирования конери УОсновные принципы построения операционных систем287рационного файла или реестра. Например, мы можем отключить ненужное устройство, заменить для какого-нибудь устройства драйвер, отключить или добавить туили иную службу. Более того, для большей гибкости часто вводится механизмподдержки нескольких конфигураций.
Например, такие популярные системы,к а к Windows 98 и Windows NT/2000/XP, предоставляют возможность создаватьдо девяти конфигураций. При загрузке операционной системы пользователю предоставляется возможность выбрать одну из имеющихся конфигураций. Таким образом, имея всего одну операционную систему, за счет нескольких различающихся конфигураций пользователь может получить несколько виртуальных систем,различающихся составом установленного (работающего) оборудования, драйверов и служб, и на выбор запускать одну из этих систем.Принцип открытостиОткрытая операционная система доступна для анализа как пользователям, так и системным специалистам, обслуживающим вычислительную систему. Наращиваемая (модифицируемая, развиваемая) операционная система позволяет не толькоиспользовать возможности генерации, но и вводить в ее состав новые модули, совершенствовать существующие и т.
д. Другими словами, необходимо, чтобы можно было легко внести дополнения и изменения, если это потребуется, не нарушаяцелостности системы. Прекрасные возможности для расширения предоставляетподход к структурированию операционной системы по типу клиент-сервер с использованием микроядерной технологии. В соответствии с этим подходом операционная система строится как совокупность привилегированной управляющейпрограммы и набора непривилегированных служб — «серверов». Основная частьоперационной системы может оставаться неизменной, в то время как добавляютсяновые службы или изменяются старые.Этот принцип иногда трактуют как расширяемость системы.К открытым операционным системам прежде всего следует отнести UNIX-системы и, естественно, системы Linux.Принцип обеспечения безопасности вычисленийОбеспечение безопасности при выполнении вычислений является желаемым свойством для любой многопользовательской системы.
Правила безопасности определяют такие свойства, как защита ресурсов одного пользователя от других и установление квот по ресурсам для предотвращения захвата одним пользователем всехсистемных ресурсов (таких как память).оеспечение защиты информации от несанкционированного доступа является обязательной функцией многих операционных систем. Для решения этой проблемы чащесего используется механизм учетных записей. Он предполагает проведение аутенфикащи пользователя при его регистрации на компьютере и последующую автоизацию, которая определяет уровень полномочий (прав) пользователя (об аутентификации и а в т о Р и з а ц и и пользователей см. главу 1). Каждая учетная запись может°Дить в одну или несколько групп. Встроенные группы, как правило, определяют288Глава 9, Архитектура операционных системправа пользователей, тогда как создаваемые администратором группы (их называютгруппами безопасности) используются для определения разрешений в доступе пользователей к тем или иным ресурсам.
Имеющиеся учетные записи хранятся в специальной базе данных, которая бывает доступна только для самой системы. Для этого файлбазы данных с учетными записями открывается системой в монопольном режиме, идоступ к нему со стороны любого пользователя становится невозможным. Делаетсяэто для того, чтобы нельзя было получить базу данных с учетными записями. Еслиполучить файл с учетными записями, то посредством его анализа можно было бы узнатьпароль пользователя, по которому осуществляется аутентификация.Во многих современных операционных системах гарантируется степень безопасности данных, соответствующая уровню С2 в системе стандартов США.
Основыстандартов в области безопасности были заложены в документе «Критерии оценки надежных компьютерных систем». Этот документ, изданный в США в 1983 году.Национальным центром компьютерной безопасности (National Computer SecurityCenter), часто называют Оранжевой книгой.В соответствии с требованиями Оранжевой книги безопасной считается система,которая «посредством специальных механизмов защиты контролирует доступ к информации таким образом, что только имеющие соответствующие полномочия лицаили процессы, выполняющиеся от их имени, могут получить доступ на чтение, запись, создание или удаление информации».Иерархия уровней безопасности, приведенная в Оранжевой книге, помечает низший уровень безопасности как D, а высший — как А.В класс D попадают системы, оценка которых выявила их несоответствие требованиям всех других классов.Основными свойствами, характерными для систем класса С, являются наличиеподсистемы учета событий, связанных с безопасностью, и избирательный контроль доступа.
Класс (уровень) С делится на два подуровня: уровень С1 обеспечивает защиту данных от ошибок пользователей, но не от действий злоумышленников. На более строгом уровне С2 должны присутствовать:Q средства секретного входа, обеспечивающие идентификацию пользователейпутем ввода уникального имени и пароля перед тем, как им будет разрешендоступ к системе;Q избирательный контроль доступа, требуемый на этом уровне, позволяет владельцу ресурса определить, кто имеет доступ к ресурсу и что он может с нимделать (владелец делает это путем предоставления разрешений доступа пользователю или группе пользователей);• средства аудита (auditing) обеспечивают обнаружение и запись важных сооытий, связанных с безопасностью, или любых попыток создать системные ресурсы, получить доступ к ним или удалить их;а защита памяти заключается в том, что память перед ее повторным использов.нием должна инициализироваться.На этом уровне система не защищена от ошибок пользователя, но поведение его мжет быть проконтролировано по записям в журнале, оставленным средствами ауДИСистемы уровня В основаны на помеченных данных и распределении пользователи по категориям, то есть реализуют мандатный контроль доступа.
КаждомуЛльзователю присваивается рейтинг защиты, и он может получать доступ к дан0ным только в соответствии с этим рейтингом. Этот уровень в отличие от уровня Сзащищает систему от ошибочного поведения пользователя.Уровень А является самым высоким уровнем безопасности, он требует в дополнение ко всем требованиям уровня В выполнения формального математически обоснованного доказательства соответствия системы требованиям безопасности.Различные коммерческие структуры (например, банки) особо выделяют необходимость учетной службы, аналогичной той, что предлагают государственные рекомендации С2.