Сборно-монолитные системы перекрытий. Введение

Монолитные операционные системы

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

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

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

Опасность возникновения конфликта между различными частями ядра;

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

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

3. Принципы построения интерфейсов операционных систем.

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

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

1) управление процессами, которое включает в себя следующий набор основных функций:

· запуск, приостанов и снятие задачи с выполнения;

· задание или изменение приоритета задачи;

· взаимодействие задач между собой (сигналы, семафоры, очереди, конвейеры, почтовые ящики);

· удаленный вызов подпрограмм;

2) управление памятью:

· запрос на выделение блока памяти;

· освобождение памяти;

· изменение параметров блока памяти;

· отображение файлов на память;

3) управление вводом/выводом:

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

· файловые операции.

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

Имеются два основных подхода к управлению задачами:

1) порождаемая задача наследует все ресурсы задачи-родителя;

2) при порождении нового процесса ресурсы для него запрашиваются у операционной системы.

Обращение к операционной системе в соответствии с имеющимися API может осуществляться:

· посредством вызова подпрограммы с передачей ей необходимых параметров;

· через механизм программных прерываний.

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

Термин API (application program interface, интерфейс прикладного программирования):

· API как интерфейс высокого уровня, принадлежащий к библиотекам RTL (run time library, библиотека во время выполнения);

· API прикладных и системных программ, входящих в поставку операционной системы;

· прочие API.

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

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

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

· операционной системы;

· архитектуры целевой вычислительной системы;

· системы программирования.

Варианты реализации API:

· на уровне ОС;

· на уровне системы программирования;

· на уровне внешней библиотеки процедур и функций.

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

Возможности API можно оценить со следующих позиций:

· эффективность выполнения функций API (скорость выполнения, объем вычислительных ресурсов);

· широта предоставляемых возможностей;

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

В идеале набор функций API должен:

· выполняться с наивысшей эффективностью;

· предоставлять пользователю все возможности современных ОС;

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

4. Требования к операционным системам реального времени (Отрабатывается самостоятельно).

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

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

· одновременность обработки . Даже если возникает более одного события одновременно, временные ограничения для всех событий должны быть выдержаны. В системе реального времени должен присутствовать параллелизм, который достигается использованием нескольких процессоров и/или многозадачного подхода.

Примеры систем реального времени:

· системы управления атомными электростанциями;

· системы управления технологическими процессами;

· системы медицинского мониторинга;

· системы управления вооружением;

· системы космической навигации;

· системы разведки;

· системы управления лабораторными экспериментами;

· системы управления автомобильными двигателями;

· робототехника;

· телеметрические системы управления;

· системы антиблокировки тормозов;

· системы сигнализации и т.д.

Различают системы «мягкого» и «жесткого» реального времени. Различия зависят от требований к системе:

· в «жесткой» системе нарушение временных ограничений не допустимо;



· в «мягкой» системе нарушение временных ограничений нежелательно.

Основные требования к операционной системе реального времени:

1) мультипрограммность и многозадачность (многопоточность) . ОС должна активно использовать прерывания для диспетчеризации. Максимальное время выполнения того или иного действия должно быть известно заранее и соответствовать требованиям приложения;

2) приоритеты задач (потоков). Проблема, какой задаче ресурс требуется больше всего. В идеальной ситуации ОСРВ отдает ресурс потоку или драйверу с ближайшим крайнем сроком завершения. Чтобы реализовать этот принцип ОС должна знать, сколько времени требуется каждому процессу для его завершения. Таких ОС нет, так как их очень сложно реализовать, поэтому вводится понятие уровня приоритета для задачи и временные ограничения сводятся к приоритетам;

3) наследование приоритетов . ОСРВ должна допускать наследование приоритета, то есть повышение уровня приоритета потока до уровня приоритета потока, который его вызывает. Наследование означает, что блокирующий ресурс поток наследует приоритет потока, который он блокирует;

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

5) предсказуемость . Времена выполнения системных вызовов и временные характеристики поведения системы в различных обстоятельствах должны быть известны разработчику.

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

· задержку прерывания, время от момента прерывания до момента запуска задачи;

· максимальное время выполнения каждого системного вызова;

· максимальное время маскирования прерываний драйверами и ОС.

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

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

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

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

Многоуровневые системы (Layered systems)

Продолжая структуризацию, можно разбить всю вычислительную систему на ряд более мелких уровней с хорошо определенными связями между ними, так чтобы объекты уровня N могли вызывать только объекты уровня N-1. Нижним уровнем в таких системах обычно является hardware, верхним уровнем – интерфейс пользователя. Чем ниже уровень, тем более привилегированные команды и действия может выполнять модуль, находящийся на этом уровне. Впервые такой подход был применен при создании системы THE (Technishe Hogeschool Eindhoven) Дейкстрой (Dijkstra) и его студентами в 1968 г. Эта система имела следующие уровни:


Рис. 1.2.

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

Виртуальные машины

В начале лекции мы говорили о взгляде на операционную систему как на виртуальную машину , когда пользователю нет необходимости знать детали внутреннего устройства компьютера. Он работает с файлами, а не с магнитными головками и двигателем; он работает с огромной виртуальной, а не ограниченной реальной оперативной памятью; его мало волнует, единственный он на машине пользователь или нет. Рассмотрим несколько иной подход. Пусть операционная система реализует виртуальную машину для каждого пользователя, но не упрощая ему жизнь, а, наоборот, усложняя. Каждая такая виртуальная машина предстает перед пользователем как голое железо – копия всего hardware в вычислительной системе, включая процессор , привилегированные и непривилегированные команды, устройства ввода-вывода, прерывания и т.д. И он остается с этим железом один на один. При попытке обратиться к такому виртуальному железу на уровне привилегированных команд в действительности происходит системный вызов реальной операционной системы , которая и производит все необходимые действия. Такой подход позволяет каждому пользователю загрузить свою операционную систему на виртуальную машину и делать с ней все, что душа пожелает.


Рис. 1.3.

Первой реальной системой такого рода была система CP/CMS, или VM/370, как ее называют сейчас, для семейства машин IBM/370.

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

Микроядерная архитектура

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


Рис. 1.4.

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

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

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

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

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

  • герметичность;
  • высокий уровень защиты помещений от шума;
  • низкая теплопроводность;
  • готовность к облицовке без изготовления второго слоя стяжки – прямо на перекрытия настилают линолеум, клеят кафель и плитку, монтируют ламинат, паркет;
  • уменьшение удельного веса по сравнению с обычной железобетонной монолитной плитой в среднем на 35 % (230-350 кг/м2);
  • возможность установки на малодоступных участках – это важно, если реконструируется здание без демонтажа кровли;
  • удобство состыковки со стенами сложной формы (имеющими колонны, выступы) – можно купить блоки с выемками или доработать элементы перекрытия прямо на стройплощадке;
  • в пустоты легко укладываются сантехнические и электрические коммуникации.

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

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

  • Железобетонные балки сечением 20х20 см, длиной от 3 до 6 м.
  • Несущие прогоны — облегченные фермы с нижним бетонированным поясом (его сечение 5,5 х 12). В зависимости от несущей способности стержней нижнего пояса, фермы делятся на 2 типа — под суммарную расчетную нагрузку 1300 кг/м2 и 900 кг/м2. Выпускаются прогоны в трех размерных вариантах: длиной 2,86 м (вес 50 кг); 4,36 м (74 кг); 5,86 м (100 кг). Нужное изделие выбирают по размеру пролета и перекрытия (3, 4,5 или 6 м).
  • Блоки. Их чаще всего производят из керамзитобетона или из полистиролбетона.

Популярные сборно-монолитные системы перекрытий

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

1. Teriva. Эти системы польского производства используются в Европе уже более 20 лет и включают в себя железобетонные балки и пустотелые блоки. Несущая способность перекрытия составляет 400 кг/м2, при этом толщина конструкции всего 24 см. Основные параметры системы таковы:

  • длина балок – от 1,2 до 8,6 м;
  • интервал между осевыми линиями балок – 0,6 м;
  • толщина бетонного слоя – 3 м;
  • толщина монолитной плиты перекрытия – 24 см;
  • минимальная величина опирания на стену – 8 см;
  • масса одного блока – 17 кг;
  • удельный вес балок – 12 кг/пог.м;
  • вес готового перекрытия – 260 кг/м2.

Для изготовления 1 м2 перекрывающей конструкции требуется 6,7 блока, 1,7 м балок, 0,6 м3 бетона.

2. Ytong. Основными элементами системы являются легкие балки из железобетона со свободной арматурой и Т-образные блоки, выполненные в виде вкладышей, опирающихся на балки боковыми пазами. Несущая способность перекрытия марки Итонг достигает 450 кг/м2, а вот его основные технические параметры:

  • размеры балки – 4 х 12 см, длина – до 7 м (уже начат выпуск изделий, позволяющих перекрыть 9-метровые пролеты);
  • расстояние между осями балочных элементов – 0,68 м;
  • диаметр арматуры: верхней – 8 мм, нижней – 12 мм, дополнительной – от 6 до 16 мм;
  • удельный вес балки – от 13 до 17,2 кг (зависит от диаметра арматуры);
  • габариты основного блока – 60 х 20 х 25 см; доборного – 60 х 25 х 10 см;
  • удельный вес – 500 кг/м3.

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

Балки. Наибольшая длина изделий — 12 м, высота каркаса – 15 либо 20 см. Габариты бетонного основания балок — 4х12 см. Вес погонного метра фермы — 12,7-17,4 кг/пог.м. Выпускается 2 типа балок: с полностью скрытой верхней и нижней арматурой (для опирания на несущие стены); со свободными арматурными концами – для заделки в монолитный пояс несущей стены.

Арматура: диаметр верхней – 8 мм, нижней – от 6 до 12 мм, дополнительной (для нижнего пояса) – от 6 до 16 мм.

Блоки. Плотность полистиролбетона составляет не более 400 кг/м3, поэтому вес пустотелого изделия невелик – около 7 кг. Производится два варианта по высоте (150; 200 мм) и несколько разновидностей по конфигурации:

  • стандартный (БП-200, БП-150);
  • тонкостенный (БПТС);
  • арочный с радиальной выборкой;
  • арочный с трапециевидной выборкой;
  • заглушка (БПЗ-200, БПЗ-150).

Толщина перекрытия Марко варьируется от 200 до 350 мм. Для увеличения несущей способности согласно проекту применяются доборные пенопластовые плиты толщиной 5 или 10 см, которые приклеивают к блокам любым плиточным клеем.

Монтаж сборных перекрывающих конструкций по шагам

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

1. Стены очищают от мусора, укладывают на них с помощью цементного раствора каркасную основу из железобетонных балок, размещая под них временные опоры. Если длина перекрытия 4,5 м, под балку ставят одну подпорку, для 6-метровой балки их нужно не менее двух. Допускается укладка блоков прямо на каменную кладку стены.

2. На каркасе размещают полые бетонные блоки (опалубку), а между ними — продольные прогоны. При этом блочные элементы располагают поперечными рядами, не допуская односторонней перегрузки прогонов и соблюдая минимальные интервалы между соседними блоками.

3. Поверх опалубки настилают армирующую сетку. В блоках имеются Т-образные пазы, которые можно дополнительно армировать стекловолоконными хлыстами.

4. Полосы сетки укладывают с нахлестом не менее 15 см (согласно регламенту СНиП для индивидуального строительства), крепят их вязальной проволокой к верхней части прогонов.

5. Верх конструкции заливают тяжелым бетоном классом не ниже М250 (марка от В154), приготовленным с добавлением мелкозернистого песка. Состав бетонной смеси должен соответствовать ГОСТ 27006-86.

6. В период застывания монолитную плиту регулярно увлажняют во избежание пересыхания и растрескивания. Когда бетон полностью затвердеет (примерно через 72 часа), балочные подпорки убирают.

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

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

Стоимость сборно монолитных перекрытий

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

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

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

Конец работы -

Эта тема принадлежит разделу:

Операционная система. Определение. Уровни операционной системы. Функции операционных систем. Понятие операционной системы

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

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

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

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

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

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

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

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

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

Системы с гибридным ядром
Гибридное ядро (англ. Hybrid kernel) – модифицированные микроядра (минимальная реализация основных функций ядра операционной системы компьютера), позволяющие для ускорения работы запускать «несущес

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

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

Назначение ядра Linux и его особенности
Linux реализует технологию монолитного ядра. Весь код и структуры данных ядра находятся в одном адресном пространстве. В ядре можно выделить несколько функциональных компонентов: Ø

Модули ядра
Ядро Linux дает возможность по требованию загружать в память и выгружать из нее отдельные секции кода. Такие секции называются модулями ядра и выполняются в привилегированном режиме.

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

Уровень абстрагирования от оборудования
В Windows XP реализован уровень абстрагирования от оборудования (в этой системе его называют HAL, hardware abstraction layer). Для разных аппаратных конфигураций фирма Microsoft или сторонние разр

Компоненты режима пользователя
1. Библиотека системного интерфейса 2. Подсистемы среды 3. Заранее определенные системные процессы 4. Приложения пользователя Лекция 4. Т

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

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

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

Организация информации в файловой системе
Организация дискового пространства для размещения на нем файловой системы выполняется разбиение диска на разделы. Раздел – основа организации больших объемов дискового пространства. Разделы реализу

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

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

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

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

Физическая организация файловой системы FAT
Логический раздел, отформатированный под файловую систему FAT, состоит из следующих областей (рисунок 5).

Физическая организация файловой системы NTFS
Файловая система NTFS была разработана в качестве основной файловой системы для ОС Windows NT в начале 90-х годов. Основными отличительными свойствами NTFS являются: − подде

Физическая организация файловых систем ext2, ext3, ext4
Как и в любой файловой системе UNIX, в составе ext2 можно выделить следующие составляющие: − блоки и группы блоков; − индексный дескриптор; − суперблок.

Лекция 2

Тенденции в структурном построении операционных систем

Монолитные системы

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

Для построения монолитной системы необходимо скомпилировать все отдельные процедуры, а затем связать их вместе в единый объектный файл с помощью компоновщика (примерами могут служить ранние версии ядра UNIX или Novell NetWare). Каждая процедура видит любую другую процедуру (в отличие от структуры, содержащей модули, в которой большая часть информации является локальной для модуля, и процедуры модуля можно вызвать только через специально определенные точки входа).

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

а) главная программа, которая вызывает требуемые сервисные процедуры;

б) набор сервисных процедур, реализующих системные вызовы.

В) набор утилит, обслуживающих сервисные процедуры.

Многоуровневые системы

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

Первой системой, построенной таким образом была простая пакетная система THE, которую построил Дейкстра и его студенты в 1968 году. Система имела 6 уровней. Уровень 0 занимался распределением времени процессора, переключая процессы по прерыванию или по истечении времени. Уровень 1 управлял памятью - распределял оперативную память и пространство на магнитном барабане для тех частей процессов (страниц), для которых не было места в ОП, то есть слой 1 выполнял функции виртуальной памяти. Слой 2 управлял связью между консолью оператора и процессами. С помощью этого уровня каждый процесс имел свою собственную консоль оператора. Уровень 3 управлял устройствами ввода-вывода и буферизовал потоки информации к ним и от них. С помощью уровня 3 каждый процесс вместо того, чтобы работать с конкретными устройствами, с их разнообразными особенностями, обращался к абстрактным устройствам ввода-вывода, обладающим удобными для пользователя характеристиками. На уровне 4 работали пользовательские программы, которым не надо было заботиться ни о процессах, ни о памяти, ни о консоли, ни об управлении устройствами ввода-вывода. Процесс системного оператора размещался на уровне 5.


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

Дальнейшее обобщение многоуровневой концепции было сделано в ОС MULTICS. В системе MULTICS каждый уровень (называемый кольцом) является более привилегированным, чем вышележащий. Когда процедура верхнего уровня хочет вызвать процедуру нижележащего, она должна выполнить соответствующий системный вызов, то есть команду TRAP (прерывание), параметры которой тщательно проверяются перед тем, как выполняется вызов. Хотя ОС в MULTICS является частью адресного пространства каждого пользовательского процесса, аппаратура обеспечивает защиту данных на уровне сегментов памяти, разрешая, например, доступ к одним сегментам только для записи, а к другим - для чтения или выполнения. Преимущество подхода MULTICS заключается в том, что он может быть расширен и на структуру пользовательских подсистем. Например, профессор может написать программу для тестирования и оценки студенческих программ и запустить эту программу на уровне n, в то время как студенческие программы будут работать на уровне n+1, так что они не смогут изменить свои оценки.

Многоуровневый подход был также использован при реализации различных вариантов ОС UNIX.

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: