Лекция "Классическая архитектура"

  • Лекции
  • docx
  • 15.03.2017
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы: • ядро – модули, выполняющие основные функции операционной системы; • модули, выполняющие вспомогательные функции операционной системы. Модули ядра выполняют такие базовые функции операционной системы, как управление процессами, памятью, устройствами ввода-вывода и т. п. Ядро составляет сердцевину операционной системы, без него она является полностью неработоспособной и не сможет выполнить ни одну из своих функций.
Иконка файла материала тема 3 вопрос 3.docx
тема 3 вопрос 4 Классическая архитектура Наиболее общим подходом к структуризации операционной системы является разделение всех  ее модулей на две группы: ∙  ядро – модули, выполняющие основные функции операционной системы; ∙  модули, выполняющие вспомогательные функции операционной системы. Модули ядра выполняют такие базовые функции операционной системы, как управление  процессами, памятью, устройствами ввода­вывода и т. п. Ядро составляет сердцевину  операционной системы, без него она является полностью неработоспособной и не сможет  выполнить ни одну из своих функций. В состав ядра входят функции, решающие внутрисистемные задачи организации  вычислительного процесса, такие как переключение контекстов, загрузка/выгрузка станиц,  обработка прерываний. Эти функции недоступны для приложений. Другой класс функций ядра  служит для поддержки приложений, создавая для них так называемую прикладную программную среду. Приложения могут обращаться к ядру с запросами – системными вызовами – для  выполнения тех или иных действий, например для открытия и чтения файла, вывода  графической информации на дисплей, получения системного времени и т. д. Функции ядра,  которые могут вызываться приложениями, образуют интерфейс прикладного программирования  – API. Функции, выполняемые модулями ядра, являются наиболее часто используемыми функциями  операционной системы, поэтому скорость их выполнения определяет производительность всей  системы в целом. Для обеспечения высокой скорости работы операционной системы все модули  ядра или большая их часть постоянно находятся в оперативной памяти, то есть являются  резидентными. Некоторые компоненты операционной системы оформлены как обычные приложения, то есть в  виде исполняемых модулей стандартного для данной операционной системой формата, поэтому  очень сложно провести четкую грань между операционной системой и приложениями. Вспомогательные модули операционной системы обычно подразделяются на следующие группы: ∙  утилиты – программы, решающие отдельные задачи управления и сопровождения  компьютерной системы, такие, например, как программы сжатия дисков, архивирования данных  на магнитную ленту; ∙  системные обрабатывающие программы – текстовые или графические редакторы,  компиляторы, компоновщики, отладчики; ∙  программы предоставления пользователю дополнительных услуг – специальный вариант  пользовательского интерфейса, калькулятор и даже игры; ∙  библиотеки процедур различного назначения, упрощающие разработку приложений, например  библиотека математических функций, функций ввода­вывода и т. д. Для надежного управления ходом выполнения приложений операционная система должна иметь  по отношению к приложениям определенные привилегии. Иначе некорректно работающее  приложение может вмешаться в работу системы и, например, разрушить часть ее кодов.  Обеспечить привилегии операционной системе невозможно без специальных средств аппаратной  поддержки. Аппаратура компьютера должна поддерживать как минимум два режима работы —  пользовательский режим (user mode) и привилегированный режим, который также называют  режимом ядра (kernel mode). На рисунке 5 представлено такое разделение режимов. Приложения ставятся в подчиненное положение за счет запрета выполнения в пользовательском  режиме некоторых критичных команд, связанных с переключением процессора с задачи на  задачу, управлением устройствами ввода­вывода, доступом к механизмам распределения и  защиты памяти. Уровней привилегий может быть несколько – 2, 3, 4 и т. д. Между количеством уровней  привилегий, реализуемых аппаратно, и количеством уровней привилегий, поддерживаемых  операционной системой, нет прямого соответствия. Так, на базе четырех уровней,  обеспечиваемых процессорами компании Intel, операционная система OS/2 строиттрехуровневую систему привилегий, а операционные системы Windows NT, UNIX и некоторые  другие ограничиваются двухуровневой системой. Повышение устойчивости операционной системы, обеспечиваемое переходом ядра в  привилегированный режим, достигается за счет некоторого замедления выполнения системных  вызовов. Системный вызов привилегированного ядра инициирует переключение процессора из  пользовательского режима в привилегированный, а при возврате к приложению – переключение  из привилегированного режима в пользовательский (Рисунок 6). Во всех типах процессоров из­за  дополнительной двукратной задержки переключения переход на процедуру со сменой режима  выполняется медленнее, чем вызов процедуры без смены режима. Вычислительную систему, работающую под управлением операционной системы на основе ядра,  можно рассматривать как систему, состоящую из трех иерархически расположенных слоев:  нижний слой образует аппаратура, промежуточный – ядро, а утилиты, обрабатывающие  программы и приложения, составляют верхний слой системы Каждый слой обслуживает  вышележащий слой, выполняя для него некоторый набор функций, которые образуют  межслойный интерфейс. Поскольку ядро представляет собой сложный многофункциональный комплекс, то  многослойный подход обычно распространяется и на структуру ядра. Ядро может состоять из следующих слоев. ∙  Средства аппаратной поддержки операционной системы. К операционной системе относят,  естественно, не все аппаратные устройства компьютера, а только средства её аппаратной  поддержки, то есть те, которые прямо участвуют в организации вычислительных процессов:  средства поддержки привилегированного режима, систему прерываний, средства переключения  контекстов процессов, средства защиты областей памяти и т. п. ∙  Машинно­зависимые компоненты операционной системы. Этот слой образуют программные  модули, в которых отражается специфика аппаратной платформы компьютера. В идеале этот  слой полностью экранирует вышележащие слои ядра от особенностей аппаратуры. ∙  Базовые механизмы ядра. Этот слой выполняет наиболее примитивные операции ядра, такие  как программное переключение контекстов процессов, диспетчеризацию прерываний,  перемещение страниц из памяти на диск и обратно и т. п. ∙  Менеджеры ресурсов. Этот слой состоит из мощных функциональных модулей, реализующих  стратегические задачи по управлению основными ресурсами вычислительной системы. Обычно  на данном слое работают менеджеры (называемые также диспетчерами) процессов, ввода­ вывода, файловой системы и оперативной памяти. ∙  Интерфейс системных вызовов. Этот слой является самым верхним слоем ядра и  взаимодействует непосредственно с приложениями и системными утилитами, образуя  прикладной программный интерфейс операционной системы. Функции API, обслуживающие  системные вызовы, предоставляют доступ к ресурсам системы в удобной и компактной форме,  без указания деталей их физического расположения. Приведенное разбиение ядра операционной системы на слои является достаточно условным. В  реальной системе количество слоев и распределение функций между ними может быть и иным. Архитектура операционной системы, основанная на привилегированном ядре и приложениях  пользовательского режима, стала, по существу, классической. Ее используют многие популярные операционные системы, в том числе многочисленные версии UNIX, IBM OS/390, OS/2, и с  определенными модификациями – Windows NT. 6.Классическая архитектура ОС. Любая сложная система должна иметь понятную и рациональную структуру, или делиться на  модули, имеющие законченное функциональное назначение с четко оговоренными правилами  взаимодействия. Ясное понимание каждого модуля существенно упрощает его понимание и  развитие.  Широкая функциональность ОС неизбежно приводит к сложности ее архитектуры, под которой  понимают структурную организацию ОС на основе различных модулей. Обычно в состав ОС  входят исполняемые модули и объектные модули стандартных для данной ОС форматов,  библиотеки разных типов, программные модули специальных формата (например, загрузчик и  драйверы), конфигурационные файлы, документация и т.д.Большинство современных ОС представляют собой хорошо структурированные модульные  системы, способные к развитию, расширению и переносу на другие платформы. Какой либо  единой архитектуры ОС не существует, но есть универсальные подходы к структурированию  ОС.  Ядро и вспомогательные модули  В состав ядра входят функции решающие внутрисистемные задачи организации вычислительного процесса, такие как переключение контекстов, загрузка станиц, обработка прерываний. Эти  функции недоступны для приложений. Другой задачей ядра является поддержка приложений,  использую так называемую прикладную программную среду. Приложения могут обращаться к  ядру с запросами ­ системными вызовами ­ для выполнения тех или иных действий. Функции  ядра которые могут быть вызваны приложениями образуют интерфейс прикладного  программирования ­API.  Функции которые выполняет ядро наиболее часто востребованы, поэтому скорость их  выполнения определяет производительность системы в целом. Для обеспечения высокой  скорости работы ОС все модули ядра или большая их часть находятся постоянно в памяти, то  есть являются резидентными.  Обычно ядро оформляется в виде программного модуля некоторого специального формата,  отличающегося от формата пользовательских приложений.  Остальные модули ОС выполняют полезные, но менее обязательные функции. Решение о  принадлежности программы к ОС принимает производитель.  Вспомогательные модули ОС обычно подразделяют на следующие группы:  Утилиты ­ программы, решающие задачи управления и сопровождения компьютерной системы.  Системные обрабатывающие программы ­текстовые и графические редакторы, компиляторы и  т.д.  Программы предоставления пользователю дополнительных услуг­ специальный вариант  пользовательского интерфейса или игры.  Библиотеки процедур различного назначения, упрощающие разработку приложений. Разделение  ОС на ядро и модули обеспечивает легкую расширяемость.  Дополнительные модули ОС обычно загружаются в оперативную память только на время  выполнения, т.е. являются транзитивными.  Важным свойством ОС основанной на ядре, является возможность защиты кодов и данных ОС за счет выполнения функций ядра в привилегированном режиме.  Ядро  Работает в привилегированном режиме, защищено от приложений пользователя  Распределяет основные ресурсы системы  Выполняет роль арбитра в споре приложений за ресурсы  Аппаратура компьютера должна поддерживать как минимум два режима работы:  Режим пользователя  Режим супервизора  ОС должна работать с исключительными полномочиями, для того чтобы играть роль арбитра в  споре приложений за ресурсы компьютера в мультипрограммном режиме.  Для обеспечения уровней привилегий, без поддержки аппаратуры ­ не обойтись. Аппаратура  должна поддерживать как минимум для режима ­ пользовательский и привилегированный  режим.      o o