Архитектура операционных систем
Простейшая структуризация операционной системы состоит в разделении всех компонентов операционной системы на модули, выполняющие основные функции, называемые вместе ядром операционной системы, и дополнительные модули, выполняющие сервисные или просто вспомогательные функции.
Вспомогательные модули могут быть оформлены либо в виде приложений, либо в виде дополнительной библиотеки процедур. Вспомогательные модули загружаются в оперативную память только во время выполнения своих функций, то есть являются транзитными.
Файлы, составляющие ядро операционной системы, постоянно находятся в оперативной памяти, то есть являются резидентными. Наличие ядра операционной системы в оперативной памяти является обязательным, так как все функции, связанные с управлением аппаратными средствами и с загрузкой самой операционной системы, являются приоритетными.
При наличии аппаратной поддержки режимов с разными уровнями полномочий, устойчивость операционной системы может быть повышена путем выполнения функций ядра в привилегированном режиме. При этом вспомогательные модули операционной системы и программные приложения будут функционировать в пользовательском режиме. Организация работы операционной системы в двух режимах позволяет защитить коды и данные от влияния различных приложений и несанкционированного доступа. В этом случае операционная система может выступать в роли «арбитра» при распределении ресурсов вычислительной системы.
Ядро, являясь структурным элементом операционной системы, может быть разложено на следующие слои, или менеджеры:
1. Машинно-зависимые компоненты операционной системы;
2. Базовые механизмы ядра;
3. Менеджеры ресурсов;
4. Интерфейс системных вызовов.
При такой организации ядра операционной системы каждый слой обслуживает вышележащий слой, выполняя для него некоторый набор функций, которые образуют межслойный интерфейс. На основе функций нижележащего слоя следующий по иерархии слой ядра строит свои функции, более сложные и более мощные, которые в свою очередь оказываются примитивами для создания новых функций следующего, вышележащего слоя. Многослойная организация операционных систем упрощает их разработку и организацию.
Любая операционная система для решения своих задач взаимодействует с аппаратными средствами ЭВМ, а именно со средствами поддержки привилегированного режима, со средствами трансляции адресов, переключения процессов и защиты областей памяти, а также с системой прерываний и с системным таймером. Выполнение этих функций делает операционные системы машинно-зависимыми и привязанными к определенной аппаратной платформе.
Переносимость операционных систем может быть достигнута за счет выполнения следующих правил:
1. Большая часть кода операционной системы должна быть написана на языке, трансляторы которого имеются на всех компьютерах, куда предполагается переносить операционную систему;
2. Объем машинно-зависимых частей кода, которые непосредственно взаимодействуют с аппаратными средствами, должен быть по возможности минимизирован;
3. Аппаратно-зависимый код должен быть надежно локализован в нескольких модулях.
Микроядерная архитектура является альтернативой классическому способу построения операционной системы. В микроядерных операционных системах в привилегированном режиме работает небольшая часть системных программ, называемая микроядром. Все остальные высокоуровневые функции ядра оформляются в виде приложений, работающих в пользовательском режиме. Микроядерные операционные системы удовлетворяют большинству требований и сочетают в себе высокие переносимость, расширяемость, надежность, а также обеспечивают поддержку распределенных приложений. Вместе с тем, микроядерная архитектура снижает производительность операционной работы, так как большинство ее дополнительных функций не входит в состав операционной системы.
Каждая операционная система может создавать, как минимум, одну прикладную программную среду. Прикладная программная среда – это совокупность средств операционной системы, предназначенных для организации и выполнения работы приложений , использующих определенную систему машинных команд, а также определенный формат исполняемой команды.
В рамках одной операционной системы необходимо обеспечить совместимость различных программных сред. Для реализации этой функции могут использоваться различные операционные системы, концепции эмуляции двоичного кода, а также трансляция дополнительных программных продуктов, позволяющих совместить приложения.
Компьютерные сети
Первые компьютерные сети появились в конце 60-х гг., они были выполнены американскими фирмами IBM и DEC. Одна из самых успешных среди первых компьютерных сетей – Arpanet – была разработкой военного министерства США. Она связала научные центры США с военными учреждениями. В то время в качестве среды передачи данных использовались телефонные и телеграфные каналы. В рамках этого проекта впервые были разработаны протоколы семейства TCP/IP, которое позволило обеспечить передачу данных в глобальных и локальных сетях. В дальнейшем семейство протоколов TCP/IP было положено в основу сетевых взаимодействий операционных систем Unix.
Существует множество классификаций компьютерных сетей. Например, по типу топологии сети. Топология – это способ размещения узлов в сети и структура соединений между ними.
К базовым сетевым топологиям относят:
1. Произвольную
2. Иерархическую
3. Звездообразную
4.
|
5. Шинную
6. Сотовую
7.
|
Дата добавления: 2016-07-22; просмотров: 3031;