Рефераты, контрольные, курсовые, дипломы в Плавске и по всей России

smmscore.com

Принципы построения ОС

СОДЕРЖАНИЕ

 

1. Введение  3

2. Принципы построения ОС: принцип независимости программ от внешних устройств и принцип совместимости  3

3. Подсистемы помощи в Linux  5

4. Заключение  9

Список литературы  10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

 

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

 

Принципы построения ОС: принцип независимости программ от внешних устройств и принцип совместимости

 

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

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

Принцип функциональной избыточности - проведение работы различными средствами имеющимися в системе.

Принцип генерируемости ОС - возможность изменения конфигурации системы, в зависимости от функций ВС и назначения ОС.

Принцип виртуализация - построение виртуальных ресурсов различных уровней, от виртуальной машины до виртуальных устройств с новыми или улучшенными характеристиками.

Принцип независимости программ от внешних устройств - связь программ с устройствами в производится не на уровне трансляции, а в период ее исполнения. При этом перетрансляция программы для работа с другим или новым устройством не требуется.

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

Принцип открытости и наращиваемости ОС - использует не только настройки и конфигурации но и доступна для анализа специалистами на всех уровнях и ввода в состав новых модулей (функций).

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

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

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

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

Принцип совместимости. Одним из аспектов совместимости является способность ОС выполнять программы, написанные:

· для других ОС;

· для более ранних версий данной операционной системы;

· для другой аппаратной платформы.

Совместимость подразделяется на два аспекта: двоичная совместимость; совместимость на уровне исходных текстов приложений.

При двоичной совместимости можно взять исполняемую программу и выполнить ее в среде другой ОС. Для этого необходимо:

· совместимость на уровне команд процессора;

· совместимость на уровне системных вызовов;

· совместимость на уровне библиотечных вызовов, если они являются динамически связываемыми.

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

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

 

Подсистемы помощи в Linux

 

Больше всего различной полезной информации содержится в страницах руководства (manpages). Каждая страница руководства посвящена какому-нибудь одному объекту системы. Для того, чтобы посмотреть страницу руководства, нужно дать команду системе man объект. Полный список того, что можно делать с текстом в less, выводится по команде «H» (Help).

Страница руководства состоит из полей стандартных разделов, с разных сторон описывающих заинтересовавший Мефодия объект команду cal. В поле NAME содержится краткое описание объекта (такое, чтобы его назначение было понятно с первого взгляда). В поле SYNOPSIS даётся формализованное описание способов использования объекта данном случае того, как и с какими параметрами запускать команду cal). Как правило, в квадратные скобки в этом поле заключены необязательные параметры команды, которые можно ей передать, а можно и опустить. Например, строка «[[month] year]» означает, что в это месте командной строки параметров у команды может не быть вообще, может быть указан год или пара месяц и год. Наконец, текст в поле DESCRIPTION это развёрнутое описание объекта, достаточное для того, чтобы им воспользоваться.

Одно из самых важных полей руководства находится в конце текста. Если в процессе чтения NAME или DESCRIPTION пользователь понимает, что не нашёл в руководстве того, что искал, он может захотеть посмотреть, а есть ли другие руководства или иные источники информации по той же теме. Список таких источников содержится в поле SEE ALSO.

Команда whatis, как и команда apropos, whatis ищет подстроку в некоторой базе данных, состоящей из полей NAME всех страниц помощи в системе. Различие между ними в том, что whatis ищет только среди имён объектов левых частях полей NAME), а apropos по всей базе. В результате у whatis получается список кратких описаний объектов с именами, включающими в себя искомое слово, а у apropos список, в котором это слово упоминается. В системе может встретиться несколько объектов разного типа, но с одинаковым названием. Часто совпадают, например, имена системных вызовов (функций ядра) и программ, которые позволяют пользоваться этими функциями из командной строки (т. н. утилит).

Описания объектов, выводимые whatis, отличаются числом в скобках номером раздела. В системе руководств Linux девять разделов, каждый из которых содержит страницы руководства к объектам определённого типа. Все разделы содержат по одному руководству с именем «intro», в котором в общем виде и на примерах рассказано, что за объекты имеют отношение к данному разделу. Ниже рпедставлены названия разделов в переводе на русский:

  • Команды пользователя.
  • Системные вызовы (пользовательские функции ядра Linux; руководства рассчитаны на программиста, знающего язык Си).
  • Библиотечные функции (функции, принадлежащие всевозможным библиотекам подпрограмм; руководства рассчитаны на программиста, знающего язык Си).
  • Внешние устройства и работа с ними Linux они называются специальными файлами, см. лекцию Работа с внешними устройствами).
  • Форматы различных стандартных файлов системы (например конфигурационных).
  • Игры, безделушки и прочие вещи, не имеющие системной ценности.
  • Теоретические положения, договорённости и всё, что не может быть классифицировано.
  • Инструменты администратора (часто недоступные обычному пользователю).
  • Интерфейс ядра (внутренние функции и структуры данных ядра Linux, необходимы только системному программисту, исправляющему или дополняющему ядро).

По умолчанию man просматривает все разделы и показывает первое найденное руководство с заданным именем. Чтобы посмотреть руководство по объекту из определённого раздела, необходимо в качестве первого параметра команды man указать номер раздела.

Если в качестве первого параметра man использовать «-a», будут последовательно выданы все руководства с заданным именем. Внутри страниц руководства принято непосредственно после имени объекта ставить в круглых скобках номер раздела, в котором содержится руководство по этому объекту: man(1), less(1), passwd(5) и т. д. Другой источник информации о Linux и составляющих его программах справочная подсистема info. Страница руководства, несмотря на обилие ссылок различного типа, остаётся «линейным» текстом, структурированным только логически. Документ info структурирован прежде всего топологически это настоящий гипертекст, в котором множество небольших страниц объединены в дерево. В каждом разделе документа info всегда есть оглавление, из которого можно перейти сразу к нужному подразделу, откуда всегда можно вернуться обратно. Кроме того, info-документ можно читать и как непрерывный текст, поэтому в каждом подразделе есть ссылки на предыдущий и последующий подразделы.

Программа info использует весь экран: на большей его части она показывает текст документа, а первая и две последних строки отведены для ориентации в его структуре. Одна или несколько страниц, которые можно перелистывать клавишей Пробел или Page Up/Page Down это узел (node). Узел содержит обычный текст и меню (menu) список ссылок на другие узлы, лежащие в дереве на более низком уровне. Ссылки внутри документа имеют вид «* имя_узла::» и перемещать по ним курсор можно клавишей Tab, а переходить к просмотру выбранного узла клавишей Enter. Вернуться к предыдущему просмотренному узлу можно клавишей «l» (oт «Last»). И, главное, выйти из программы info можно, нажав «q» (Quit). Более подробную справку об управлении программой info можно в любой момент получить у самой info, нажав «?».

Узлы, составляющие документ info, можно просматривать и подряд, один за другим помощью команд «n», Next, и «p», Previous), однако это бывает нужно нечасто. В верхней строке экрана info показывает имя текущего узла, имя следующего узла и имя родительского (или верхнего) узла, в котором находится ссылка на текущий. Иимя узла Top и имя верхнего узла (dir) означают, что просматривается корневой узел документа, выше которого только каталог со списком всех info-деревьев. В нижней части экрана расположена строка с информацией о текущем узле, а за ней строка для ввода длинных команд (например, для поиска текста с помощью команды «/»).

Команде info можно указывать в параметрах всю цепочку узлов, приводящую к тому или иному разделу документации. Система info может содержать больше, чем man, поэтому в неё часто включают и учебники (принято называть учебник термином «tutorial»), и т. н. «howto» (примеры постановки и решения типовых задач), и даже статьи по теме. Таким образом info-документ может стать, в отличие от страницы руководства, полным сводом сведений. Разработка такого документа дело трудоёмкое, поэтому далеко не все объекты системы им сопровождаются. Кроме того, и прочесть большой info-документ целиком зачастую невозможно. Поэтому имеет смысл начинать именно и руководства, а если его недостаточно изучать info.

 

Заключение

 

Каждая ОС является сложной и уникальной программной системой. Однако в их основу положены общие принципы:

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

Все утилиты Linux, все функции ядра и библиотек, структура большинства конфигурационных файлов и т. д. описаны либо в руководствах, либо в info-страницах, либо в несистематизированной сопроводительной документации.

Список литературы

 

  • Прошлякова Н. В. Перспективы развития сетевых операционных систем // Роль бизнеса в трансформации общества 2014. Москва, 2014. С. 256-257
  • Семенов А. Проектирование сетевых операционных систем. Практический курс. - Вузовская книга, 2018. 224 с.
  • Яковлев В. В., Первов С. Г. Электронный учебно-методический комплекс по дисциплине "сетевые ОС" в среде дистанционного образования moodle // Информатика и вычислительная техника. Чебоксары. 2017. С. 215-218