Покажите важность учета принципов построения ОС.
1. Частотный принцип. В алгоритмах и массивах ОС выделяют действия и данные по частоте использования. Для частых действий обеспечиваются условия их быстрого выполнения:
· программы частых действий постоянно находятся в ОП и активно поддерживаются специальными средствами;
· частые операции стараются делать более короткими;
· к часто используемым данным обеспечивается наиболее быстрый доступ.
2. Принцип модульности отражает развитие технологии разработки ПО «снизу-вверх». Части ОС обосабливаются в отдельные модули. Модуль – функциональный элемент ОС, имеющий законченное оформление и унифицированные средства сопряжения с другими. Модули затем объединяются в обобщенные модули, группы обобщенных модулей так же – в один и так далее. Легко заменять данный модуль новым. При построении модулей учитывают характер их будущего использования, выделяя разновидности:
· однократные – модули, которые могут испортить себя после окончания работы и не восстанавливаются;
· многократные – восстанавливаются;
· реентерабельные – параллельно используемые одновременно несколькими программами при их исполнении.
3. Принцип функциональной избирательности – логическое продолжение рассмотренных принципов. В ОС выделяется некоторая часть важных модулей, которые должны быть всегда «под рукой» для эффективной организации вычислительного процесса. Эта основа ОС называется ядром. При формировании состава ядра требуется выполнить два противоречивых требования:
· включить в ядро все наиболее часто используемые системные модули;
· объем ОП, занимаемый ядром, должен быть минимальным.
Как правило, в состав ядра ОС входят: модули управления системой прерываний, средства управления процессами, средства распределения важнейших ресурсов. Программы ядра перед работой ОС загружаются в ОП, где постоянно хранятся и доступны все время. Они называются резидентными. Кроме них существуют еще транзитные системные программы, которые постоянно хранятся на диске, они загружаются в ОП только по мере необходимости и в случае отсутствия свободного пространства ОП могут перекрывать друг друга, используя механизм оверлеев (overlay – перекрытие).
4. Принцип генерации. ОС создается и представляется так, чтобы можно было настраивать (генерировать) ее, исходя из конкретной конфигурации компьютера и круга решаемых проблем. Эта процедура проводится достаточно редко и на долгий период эксплуатации. Процесс генерации реализует программа-генератор (setup, install), она может использовать специальный язык или панели ввода для описания требуемых возможностей, конфигурации компьютера, необходимых компонент ОС. Для генерации используется дистрибутивный комплект (Distribution Kit) на дискетах или CD, в результате на жестком диске получается сгенерированная (рабочая) версия ОС.
5. Принцип функциональной избыточности предполагает наличие в составе ОС альтернативных однотипных компонент (мониторов, драйверов, загрузчиков и т.д.).
6. Принцип умолчания используется для облегчения организации связей с системой при генерации и работе ОС. ОС хранит базовые описания процессов, модулей, ресурсов, условий выполнения программ и т.п. Значения этих данных считаются заданными по умолчанию, если администратор или пользователь забыл указать или сознательно не указал их. В любом случае ОС сама установит известные ей значения либо воспримет вводимые. Конкретные значения умалчиваемых параметров общеизвестны или установлены и описаны фирмой-изготовителем ОС. Достоинство: меньше значений параметров надо помнить и устанавливать. Недостаток: в англоязычных версиях ОС так могут быть неверно установлены значения некоторых параметров, смысл которых пользователь не понял.
7. Принцип перемещаемости. Исполнение модуля не должно зависеть от места его расположения в ОП. Для этого в модулях используются относительные адреса операндов, а ОС должна иметь средства настройки текста модуля по месту его выполнения. Настройка может производиться перед выполнением или во время выполнения, и заключается в определении фактических адресов операндов в ОП для всех команд модуля. Настройка зависит от используемого способа адресации и алгоритма распределения ОП для данной ОС.
8. Принцип защиты определяет необходимость разработки мер, ограждающих программы и данные пользователей от искажений или нежелательных влияний друг на друга, пользователей на ОС и наоборот. Программы должны быть гарантированно защищены как при своем выполнении, так и при хранении. Способов влияния (умышленных или случайных) чрезвычайно много. Не все их можно предотвратить чисто техническими средствами. Особенно трудно обеспечить защиту, когда используется разделение ресурсов. Примеры способов защиты: двухконтекстная работа процессора (привилегированный режим для системных программ ОС и непривилегированный – для приложений), контекстная защита, парольная защита [2].
9. Принцип независимости программ от внешних устройств позволяет одинаково управлять УВВ независимо от их конкретных физических характеристик. Связь программ с конкретными УВВ производится не на уровне трансляции программы, а в период планирования ее исполнения. Наиболее последовательно этот принцип реализован в ОС UNIX.
10. Принцип открытости (прозрачности). Открытая ОС доступна для анализа пользователями и специалистами. Тем больше приложений можно разработать для такой открытой и понятной среды.
Принцип наращиваемости (развития). Наращиваемая (модифицируемая, развиваемая) ОС позволяет не только использовать возможности генерации, но и вводить в ее состав новые модули, совершенствовать существующие.