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

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

— ядро — модули, выполняющие основные функции ОС;

— модули, выполняющие вспомогательные функции ОС.

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

В состав ядра входят функции, решающие внутрисистемные задачи организации вычислительного процесса, такие как переключение контекстов, загрузка/выгрузка страниц, обработка прерываний. Эти функции недоступны для приложений. Другой класс функций ядра служит для поддержки приложений, создавая для них прикладную программную среду. Приложения могут обращаться к ядру с запросами — системными вызовами — для выполнения тех или иных действий, например, для открытия файла, вывода информации на дисплей и т.д. Функции ядра, которые могут вызываться приложениями, образуют интерфейс прикладного программирования — Application Programming Interface (API).

Программное обеспечение компьютера | Информатика 7 класс #13 | Инфоурок

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

— утилиты — программы, решающие отдельные задачи управления и сопровождения компьютерной системы, такие, например, как программы сжатия дисков, архивирования и т.п.;

— системные обрабатывающие программы — текстовые или графические редакторы, компиляторы, компоновщики, отладчики;

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

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

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

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

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

Назначение и функции операционных систем

Рисунок 1 — Слоистая структура ВС

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

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

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

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

Базовые механизмы ядра — программное переключение контекстов процессоров, диспетчеризацию прерываний, перемещение страниц памяти на диск и обратно и т.п. Модули этого слоя не принимают решений о распределении ресурсов — они только отрабатывают принятые «наверху» решения, что и дает повод называть их исполнительными механизмами для модулей верхних слоев.

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

Интерфейс системных вызовов — самый верхний слой ядра, взаимодействующий непосредственно с приложениями и системными утилитами.

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

Читайте также:
Как спрятать программу в программах и компонентах

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

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

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

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

Источник: megalektsii.ru

Ядро системы и вспомогательные модули ОС.

Наиболее общим подходом к структуризации ОС является разделение всех её модулей на две группы:

· Ядро -модули, выполняющие основные функции ОС;

· Вспомогательные модули –выполняют вспомогательные функции ОС.

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

К важнейшим функциям ОС, выполнение которых обычно возлагают на ядро, принадлежат:

Эти функции недоступны для приложе­ний.

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

Функции ядра, которые могут вызываться приложениями, образуют интерфейс прикладного программирования — API.

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

Ядро является движущей силой всех вычислительных процессов в компьютер­ной системе, и крах ядра равносилен краху всей системы. Поэтому разработчики операционной системы уделяют особое внимание надежности кодов ядра.

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

Читайте также:
Цели и задачи программы успех каждого ребенка

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

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

Вспомогательные модули ОС обычно подразделяются на следующие группы:

• утилиты — программы, решающие отдельные задачи управления и сопрово­ждения компьютерной системы, такие, например, как программы сжатия дис­ков, архивирования данных на магнитную ленту;

• системные обрабатывающие программы — текстовые или графические редак­торы, компиляторы, компоновщики, отладчики;

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

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

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

Рис.1.1-Взаимодействие между ядром и вспомогательными модулями ОС

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

Чтобы добавить новую высокоуровневую функцию, достаточно разработать новое приложение, и при этом не требуется модифици­ровать ответственные функции, образующие ядро системы.

Однако внесение из­менений в функции ядра может оказаться гораздо сложнее, и сложность эта зависит от структурной организации самого ядра.

Источник: infopedia.su

Машинно –зависимые компоненты ОС

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

Обычно в состав операционной системы входит:

а) исполняемые и объектные модули стандартных для данной операционной системы форматов;

б) библиотеки разных типов;

в) модули исходного текста программ;

г) программные модули специального формата (например, загрузчик ОС, драйверы ввода – вывода);

д) конфигурационные формулы;

е) файлы документации;

ж) модули справочной системы и т.д.

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

Ядро и вспомогательные модули ОС

Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на 2 группы:

1) ядро – модули, выполняющие основные функции ОС;

2) модули, выполняющие вспомогательные функции ОС.

Модули ядра выполняют такие базовые функции ОС, как

— управление устройствами ввода – вывода и т.п.

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

В состав ядра входят функции, решающие внутрисистемные задачи организации ВП:

Например: – переключение контекстов,

(Эти функции недоступны для приложений).

– создание прикладной программной среды.

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

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

Крах ядра равносилен краху всей системы.

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

Остальные модули ОС выполняют весьма полезные, но менее обязательные функции.

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

Вспомогательные модули ОС обычно подразделяются на следующие группы:

· утилиты – программы, решающие отдельные задачи управления и сопровождения компьютерной системы. Например, программа сжатия дисков, архивирование данных на МЛ;

Читайте также:
Программа fatsecret платная или бесплатная

· системные обрабатывающие программы – текстовые или графические редакторы компиляторы, компоновщики, отладчики;

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

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

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

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

Привилегированный режим

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

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

Обеспечить привилегии операционной системе невозможно без специальных средств аппаратной поддержки. Аппаратура компьютера должна поддерживать как минимум два режима работы – пользовательский режим (user mode) и привилегированный режим, который называют режимом ядра (kernel mode) или режимом супервизора (supervisor mode).

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

Иногда это свойство служит основным понятием ядра.

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

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

Многослойная структура ОС

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

– нижний слой образует аппаратура;

утилиты, обрабатывающие программы и приложения составляют верхний слой системы.

Рис. 5. Структура ОС

Структура ядра ОС

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

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

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

Рис. 6. Структура ядра ОС.

В данной схеме выделены следующие слои.

Интерфейс системных вызовов

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

Менеджеры ресурсов

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

Каждый из менеджеров ведет учет свободных и используемых ресурсов определенного типа и планирует их распределение в соответствии с запросами приложений.

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

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

Базовые механизмы ядра

Этот слой выполняет модулей наиболее примитивные операции ядра, такие как • программное переключение контекстов процессов;

· перемещение страниц памяти на диск и обратно и т.п.

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

Машинно –зависимые компоненты ОС

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

Дата добавления: 2018-11-24 ; просмотров: 2448 ; Мы поможем в написании вашей работы!

Источник: studopedia.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru