Любая сложная система должна иметь понятную и рациональную структуру, то есть разделяется на части — модули, имеющие вполне законченное функциональное назначения с чётко оговоренными правилами взаимодействия. Ясное понимание роли каждого отдельного модуля существенно упрощает работу по модификации и развитию системы. Напротив, сложную систему без хорошей структуры чаще проще разработать заново, чем модернизировать.
Функциональная сложность операционной системы неизбежно приводит к сложности её архитектуры, под которой понимают структурную организацию ОС на основе различных программных модулей. Обычно в состав входят ОС исполняемые и объектные модули стандартных для ОС форматов, библиотеки разных типов, модули исходного текста программ, программные модули специального формата (например, загрузчик ОС, драйверы ввода- вывода), конфигурационные файлы, файлы документации, модули справочной системы и т. д.
Большинство современных ОС представляет собой хорошо структурированные модульные системы, способные к развитию, расширению и переносу на новые платформы. Какой-либо единой архитектуры ОС не существует; Цо существуют универсальные подходы к структурированию ОС.
ELMA365 Проекты — комплексное решение по управлению проектами на потоке | Вебинар ELMA365 Проекты
Ядро и вспомогательные модули ос
Наиболее общим подходом к структуризации операционной системы является разделение всех её модулей на две группы:
— Ядро — модули, выполняющие основные функции ОС > Модули, выполняющие вспомогательные функции ОС.
— Модули ядра выполняют такие базовые функции ОС, как управление процессами, памятью, устройствами ввода-вывода и т.п. Ядро составляет сердцевину операционной системы, без него ОС является полностью неработоспособной и не сможет выполнить ни одну из своих функций.
В состав ядра входят функции, решающие внутрисистемные задачи организации вычислительного процесса, такие как переключение контекстов, загрузка/выгрузка страниц, обработка прерываний. Эти функции недоступны для приложений. Другой класс функций ядра служит для поддержки приложений, создавая для них так называемую прикладную программную среду. Приложения могут обращаться к ядру с запросами – системными вызовами — для выполнения тех или иных действий, например для открытия и чтения файла, вывода графической информации на дисплей, получения системного времени и т.д. Функции ядра, которые могут вызываться приложениями, образуют интерфейс прикладного программирования — API.
Функции, выполняемые модулями ядра, являются наиболее часто используемыми функциями операционной системы, поэтому скорость их выполнения определяет производительность всей системы в целом. Для обеспечения высокой скорости работы ОС все модули ядра или большая их часть постоянно находятся в оперативной памяти, то есть являются резидентными.
Ядро является движущей силой всех вычислительных процессов в компьютерной системе, и крах ядра равносилен краху всей системы. Поэтому разработчики операционной системы уделяют особое внимание надёжности кодов ядра, в результате процесс их отладки может растягиваться на многие месяцы.
Вебинар «Процессы, задачи, согласование в 1С:Управление холдингом 3.1»
Обычно ядро оформляется в виде программного модуля некоторого специального формата, отличающегося от формата пользовательских приложений.
Остальные модули ОС выполняют весьма полезные, но менее обязательные функции. Например, к таким вспомогательным модулям могут быть отнесены программы архивирования данных на магнитной ленте, дефрагментации диска, текстового редактора. Вспомогательные модули ОС оформляются либо в виде приложении, либо в виде библиотек процедур.
Поскольку некоторые компоненты ОС оформлены как обычные приложения, то есть в виде исполняемых модулей стандартного для данной ОС’ формата, то часто бывает очень сложно провести чёткую грань между операционной системой и приложениями.
Решение о том, является ли какая-либо программа частью ОС или нет, принимает производитель ОС. Среди многих факторов, способных повлиять на это решение, немаловажными являются перспективы того, будет ли программа иметь массовый спрос у потенциальных пользователей данной ОС.
Некоторая программа может существовать определённое время как пользовательское приложение, а потом стать частью ОС, или наоборот. Ярким примером такого изменения статуса программы является WEB-браузер компании Microsoft, который сначала поставлялся как отдельное приложение, затем стал частью операционных систем Windows NT 4.0 и Windows 95/98, а сегодня существует большая вероятность того, что по решению суда этот браузер снова превратится в самостоятельное приложение.
Вспомогательные модули ОС обычно подразделяются на следующие группы:
— Утилиты — программы, решающие отдельные задачи управления и сопровождения компьютерной системы, такие, например, как программы сжатия дисков, архивирования данных на магнитную ленту;
— Системные обрабатывающие программы — текстовые или графические редакторы, компиляторы, компоновщики, отладчики;
— Программы предоставления пользователю дополнительных услуг -специальный вариант пользовательского интерфейса, калькулятор и даже игры;
— Библиотеки процедур различного назначения, упрощающие разработку приложений, например библиотека математических функций, функций ввода-вывода и т.д.
Как и обычные приложения, для выполнения своих задач утилиты, обрабатывающие программы и библиотеки ОС, обращаются к функциям ядра посредством системных вызовов.
Рис. 2 Взаимодействие между ядром и вспомогательными модулями ОС
Разделение операционной системы на ядро и модули-приложения обеспечивает лёгкую расширяемость ОС. Чтобы добавить новую высокоуровневую функцию, достаточно разработать новое приложение, и при этом не требуется модифицировать ответственные функции, образующие ядро системы. Однако внесение изменений в функции ядра может оказаться гораздо сложнее, и сложность эта зависит от структурной организации самого ядра. В некоторых случаях каждое исправление ядра может потребовать его полной перекомпиляции.
Модули ОС, оформленные в виде утилит, системных обрабатывающих программ и библиотек, обычно загружаются в оперативную память только на время выполнения своих функций, то есть являются транзитными. Постоянно в оперативной памяти располагаются только самые необходимые коды ОС, составляющие её ядро. Такая организация ОС экономит оперативную память компьютера.
Важным свойством архитектуры ОС, основанной на ядре, является возможность защиты кодов и данных операционной системы за счёт выполнения функций ядра в привилегированном режиме.
Источник: studfile.net
Итоговый тест с ответами по дисциплине «Операционные системы» , страница 8
Вопрос: Длина операнда в команде программного прерывания, который указывает на нужную подпрограмму (при 256 адресах), ###, чем в команде CALL перехода на эту подпрограмму (2 или 4 байта).
Варианты ответов: меньше |
Вопрос: Пользователь может воспринимать виртуальную машину в одном из двух вариантов: языковое представление, ### представление.
Варианты ответов: структурн#$#
Вопрос: Главное внимание пользователя сосредоточено на языке программирования, а виртуальная машина воспринимается им как «черный ящик», выполняющий его программы, ### виртуальной машины его не интересует.
Варианты ответов: структура
Вопрос: Основным конструктивным и согласующим элементом при реализации той или иной дисциплины диспетчеризации, куда заносятся и откуда извлекаются запросы, является:
Варианты ответов:
Вопрос: Часть программного обеспечения, осуществляющая планирование и организацию процесса обработки данных, ввод-вывод, управление данными, распределение ресурсов, подготовку и отладку программ и другие вспомогательные операции, называется:
Варианты ответов:
операционной системой
Вопрос: ОС — комплекс ### и данных, организующих решение задач и взаимодействие пользователя с техническими средствами САПР.
Варианты ответов:
Вопрос: Комплекс системных управляющих и обрабатывающих программ, предназначенных для наиболее эффективного использования всех ресурсов вычислительной системы и удобства работы с ней, называется:
Варианты ответов:
операционной системой
Вопрос: При возникновении фрагментации оперативной памяти программные средства ОС должны объединять все малые свободные ее участки в единственную ### область на основе известных алгоритмов устранения «дыр».
Варианты ответов: непрерывн#$#
Вопрос: Командный язык ОС включает директивы управления пакетными:
Варианты ответов:
Вопрос: Программы, решающие отдельные задачи управления и сопровождения компьютерной системы, называются .
Варианты ответов:
Вопрос: Группы, на которые обычно подразделяются вспомогательные модули ОС:
Варианты ответов:
системные обрабатывающие программы
сервисные программы
библиотеки процедур различного назначения
Вопрос: Как и обычные приложения, все ### модули ОС обращаются к функциям ядра посредством системных вызовов.
Варианты ответов: вспомогательн#$#
Вопрос: Чтобы добавить новую высокоуровневую функцию ОС, достаточно разработать соответствующее ###, не модифицируя важнейших функций ядра.
Варианты ответов: приложение
Вопрос: При работе важных приложений ОС в привилегированном режиме производительность .
Варианты ответов:
не имеет значения
Вопрос: При работе важных приложений ОС в привилегированном режиме защита ОС от них .
Варианты ответов:
не имеет значения
Вопрос: При работе важных приложений ОС в ### режиме повышается производительность, но ослабляется защита ОС от работающих приложений, надежность которых в этом случае должна равняться надежности самой ОС.
Варианты ответов: привелегирован#$#
Вопрос: В многослойной структуре ОС строгие правила касаются только взаимодействия между слоями системы, между модулями внутри слоя связи могут быть .
Варианты ответов:
Источник: vunivere.ru
Ядро и вспомогательные модули ОС
Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:
ядро — модули ОС, выполняющие основные функции;
модули, выполняющие вспомогательные функции ОС.
Модули ядра выполняют такие базовые функции ОС, как управление процессами, памятью, устройствами ввода-вывода и т. п. Ядро составляет сердцевину операционной системы. Без него ОС является полностью неработоспособной и не сможет выполнить ни одну из своих функций.
В состав ядра входят функции, решающие внутрисистемные задачи организации вычислительного процесса, такие, как переключение контекстов, загрузка/выгрузка страниц, обработка прерываний. Эти функции недоступны для приложений. Другой класс функций ядра служит для поддержки приложений, создавая для них так называемую прикладную программную среду. Приложения могут обращаться к ядру с запросами — системными вызовами — для выполнения тех или иных действий, например, для открытия и чтения файла, вывода графической информации на дисплей, получения системного времени и т. д. Функции ядра, которые могут вызываться приложениями, образуют интерфейс прикладного программирования — API.
Функции, выполняемые модулями ядра, являются наиболее часто используемыми функциями операционной системы, поэтому скорость их выполнения определяет производительность всей системы в целом. Для обеспечения высокой скорости работы ОС все модули ядра или большая их часть постоянно находятся в оперативной памяти, то есть являются
резидентными.
Ядро является движущей силой всех вычислительных процессов в компьютерной системе, и крах ядра равносилен краху всей системы. Поэтому разработчики операционной системы уделяют особое внимание надежности кодов ядра, в результате процесс их отладки может растягиваться на многие месяцы.
Обычно ядро оформляется в виде программного модуля некоторого специального формата, отличающегося от формата пользовательских приложений. Термин «ядро» в разных ОС трактуется по-разному. Одним из определяющих свойств ядра является работа в привилегированном
режиме.
Остальные модули ОС выполняют весьма полезные, но менее обязательные функции. Например, к таким вспомогательным модулям могут быть отнесены программы архивирования данных на магнитной ленте, дефрагментации диска, текстового редактора. Вспомогательные модули ОС оформляются либо в виде приложений, либо в виде библиотек про-цедур.
Поскольку некоторые компоненты ОС оформлены как обычные приложения, то есть в виде исполняемых модулей стандартного для данной ОС формата, то часто бывает очень сложно провести четкую грань между операционной системой и приложениями. Решение о том, является какая-либо программа частью ОС или нет, принимает производитель ОС. Среди многих факторов, способных повлиять на это решение, немаловажными являются перспективы того, будет ли программа иметь массовый спрос у потенциальных пользователей данной ОС.
Вспомогательные модули ОС обычно подразделяются на следующие группы:
утилиты -программы, решающие отдельные задачи управления и сопровождения компьютерной системы, такие, например, как программы сжатия дисков, архивирования данных на магнитную ленту;
системные обрабатывающие программы — текстовые или графи-ческие редакторы, компиляторы, компоновщики, отладчики;
программы предоставления пользователю дополнительных услуг – специальный вариант пользовательского интерфейса, калькулятор и даже игры;
библиотеки процедур различного назначения, упрощающие разработку приложений, например библиотека математических функций, функций ввода-вывода и т. д.
Как и обычные приложения, утилиты, обрабатывающие программы и библиотеки ОС для выполнения своих задач, обращаются к функциям ядра посредством системных вызовов.
Разделение операционной системы на ядро и модули-приложения обеспечивает легкую расширяемость ОС. Чтобы добавить новую высокоуровневую функцию, достаточно разработать новое приложение, и при этом не требуется модифицировать ответственные функции, образующие ядро системы. Однако внесение изменений в функции ядра может оказаться гораздо сложнее, и сложность эта зависит от структурной организации самого ядра. В некоторых случаях каждое исправление ядра может потребовать его полной перекомпиляции.
Модули ОС, оформленные в виде утилит, системных обрабатывающих программ и библиотек, обычно загружаются в оперативную память только на время выполнения своих функций, то есть являются транзитными. Постоянно в оперативной памяти располагаются только самые необходимые коды ОС, составляющие ее ядро. Такая организация ОС экономит оперативную память компьютера.
Важным свойством архитектуры ОС, основанной на ядре, является возможность защиты кодов и данных операционной системы за счет выполнения функций ядра в привилегированном режиме.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru