Многоуровневые системы. Виды и монтаж сборно монолитных перекрытий своими руками

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

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

  • герметичность;
  • высокий уровень защиты помещений от шума;
  • низкая теплопроводность;
  • готовность к облицовке без изготовления второго слоя стяжки – прямо на перекрытия настилают линолеум, клеят кафель и плитку, монтируют ламинат, паркет;
  • уменьшение удельного веса по сравнению с обычной железобетонной монолитной плитой в среднем на 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 часа), балочные подпорки убирают.

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

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

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

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

ТЕНДЕНЦИИ В СТРУКТУРНОМ ПОСТРОЕНИИ ОС

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

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


Риcунок 38 - Монолитная структура ОС

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

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

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

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

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

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


Рисунок 39 - Простая структуризация монолитной ОС

МНОГОУРОВНЕВЫЕ СИСТЕМЫ

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



Первой системой, построенной таким образом была простая пакетная система THE, которую построил Дейкстра и его студенты в 1968 году.

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

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

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

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

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

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

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

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

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



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

Устройство фундаментов под средний продольный ряд колонн;

Подготовка опор под ригели в наружных кирпичных стенах;

Монтаж колонн, ригелей, стенок жесткости и плит перекрытий;

Монтаж санитарно-технических кабин, вентиляционных блоков, лестничных маршей и площадок, стен лифтовых шахт.

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

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

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

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

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

Если в реконструируемом без надстройки здании сохраняется старая расчетная схема, то встроенный монолитный каркас будет представлять собой двух- и трехпролетную систему

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

Основные преимущества монолитного варианта:

Снижение расхода материалов за счет более полного использования неразрезных систем;

Отсутствие стыковых соединений;

Высокая гибкость объемно-планировочных решений зданий;

Механизация работ без применения самоходных и башенных кранов;

Объемно-планировочное решение здания не является основным при принятии решения о его реконструкции.

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

операционная система – это обычная программа, поэтому было бы логично и организовать ее так же, как устроено большинство программ, то есть составить из процедур и функций. В этом случае компоненты операционной системы являются не самостоятельными модулями, а составными частями одной большой программы. Такая структура операционной системы называется монолитным ядром (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.

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

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

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

Лекция 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.

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



Понравилась статья? Поделиться с друзьями: