Основные принципы построения операционных систем.
Принцип модульности
Под модулем в общем случае понимают функционально законченный элемент системы, выполненный в соответствии с принятыми межмодульными интерфейсами. По своему определению модуль предполагает возможность без труда заменить его на другой при наличии заданных интерфейсов. Способы обособления составных частей ОС в отдельные модули могут существенно различаться, но чаще всего разделение происходит именно по функциональному признаку. В значительной степени разделение системы на модули определяется используемым методом проектирования ОС (восходящее или нисходящее проектирование).
Особо важное значение при построении ОС имеют привилегированные, повторно входимые и реентерабельные модули, так как позволяют более эффективно использовать ресурсы вычислительной системы. Достижение реентерабельности реализуется различными способами. В некоторых системах реентерабельность программы получается автоматически, благодаря неизменяемости кодовых частей программ при исполнении (из-за особенностей системы команд машины), а также автоматическому распределению регистров, автоматическому отделению кодовых частей программ от данных и помещению последних в системную область памяти. Естественно, что для этого необходима соответствующая аппаратная поддержка. В других случаях это достигается программистами за счет использования специальных системных модулей.
Принцип модульности отражает технологические и эксплуатационные свойства системы. Наибольший эффект от его использования достижим в случае, когда принцип распространен одновременно на операционную систему, прикладные программы и аппаратуру.
Принцип функциональной избирательности
В ОС выделяется некоторая часть важных модулей, которые должны постоянно находиться в оперативной памяти для более эффективной организации вычислительного процесса. Эту часть в ОС называют ядром, так как это действительно основа системы. При формировании состава ядра требуется учитывать два противоречивых требования. В состав ядра должны войти наиболее часто используемые системные модули. Количество модулей должно быть таковым, чтобы объем памяти, занимаемый ядром, был бы не слишком большим. В состав ядра, как правило, входят модули по управлению системой прерываний, средства по переводу программ из состояния счета в состояние ожидания, готовности и обратно, средства по распределению таких основных ресурсов, как оперативная память и процессор. Помимо программных модулей, входящих в состав ядра и постоянно располагающихся в оперативной памяти, может быть много других системных программных модулей, которые получают название транзитных. Транзитные программные модули загружаются в оперативную память только при необходимости и в случае отсутствия свободного пространства могут быть замещены другими транзитными модулями. В качестве синонима к термину "транзитный" можно использовать термин "диск-резидентный".
Принцип генерируемости ОС
Основное положение этого принципа определяет такой способ исходного представления центральной системной управляющей программы ОС (ее ядра и основных компонентов, которые должны постоянно находится в оперативной памяти), который позволял бы настраивать эту системную супервизорную часть, исходя из конкретной конфигурации конкретного вычислительного комплекса и круга решаемых задач. Эта процедура проводится редко, перед достаточно протяженным периодом эксплуатации ОС. Процесс генерации осуществляется с помощью специальной программы-генератора и соответствующего входного языка для этой программы, позволяющего описывать программные возможности системы и конфигурацию машины. В результате генерации получается полная версия ОС. Сгенерированная версия ОС представляет собой совокупность системных наборов модулей и данных.
Упомянутый раньше принцип модульности положительно проявляется при генерации ОС. Он существенно упрощает настройку ОС на требуемую конфигурацию вычислительной системы. В наши дни при использовании персональных компьютеров с принципом генерируемости ОС можно столкнуться разве что только при работе с Linux. В этой UNIX-система имеется возможность не только использовать какое-либо готовое ядро ОС, но и самому сгенерировать (скомпилировать) такое ядро, которое будет оптимальным для данного конкретного персонального компьютера и решаемых на нем задач. Кроме генерации ядра в Linux имеется возможность указать и набор подгружаемых драйверов и служб, то есть часть функций может реализовываться модулями, непосредственно входящими в ядро системы, а часть - модулями, имеющими статус подгружаемых, транзитных.
В остальных современных распространенных ОС для персональных компьютеров конфигурирование ОС под соответствующий состав оборудования осуществляется на этапе инсталляции, а потом состав драйверов и изменение некоторых параметров ОС может быть осуществлено посредством редактирования конфигурационного файла.
Принцип функциональной избыточности
Принцип функциональной избыточности: Этот принцип учитывает возможность проведения одной и той же работы различными средствами. В состав ОС может входить несколько типов мониторов (модулей супервизора, управляющих тем или другим видом ресурса), различные средства организации коммуникаций между вычислительными процессами. Наличие нескольких типов мониторов, нескольких систем управления файлами позволяет пользователям быстро и наиболее адекватно адаптировать ОС к определенной конфигурации вычислительной системы, обеспечивать максимально эффективную загрузку технических средств при решении конкретного класса задач, получать максимальную производительность при решении заданного класса задач.
Принцип виртуализации
Принцип виртуализации: построение виртуальных ресурсов, их распределение и использование в настоящее время применяется практически в любой ОС. Этот принцип позволяет представить структуру системы в виде определенного набора планировщиков процессов и распределителей ресурсов (мониторов) и использовать единую централизованную схему распреде-ления ресурсов.
Наиболее естественным и законченным проявлением концепции виртуальности является понятие виртуальной машины. Виртуальная машина, предоставляемая пользователю, воспроизводит архитектуру реальной машины, но архитектурные элементы в таком представлении выступают с новыми или улучшенными характеристиками, как правило, упрощающими работу с системой. Характеристики могут быть произвольными, но чаще всего пользователи желают иметь собственную «идеальную» по архитектурным характерис-тикам машину в следующем составе:
- единообразная по логике работы виртуальная память практически неограниченного объема.
- произвольное количество виртуальных процессоров, способных работать параллельно и взаимодействовать во время работы.
- произвольное количество внешних виртуальных устройств, способных работать с памятью виртуальной машины параллельно или последовательно, асинхронно или синхронно по отношению к работе того или иного виртуального процессора, инициирующего работу этих устройств.
Одним из аспектов виртуализации является организация возможности выполнения в данной ОС приложений, которые разра-батывались для других ОС. Другими словами, речь идет об организации нескольких операционных сред.
Принцип независимости программ от внешних устройств
Принцип совместимости
Одним из аспектов совместимости является способность ОС выполнять программы, написанные для других ОС или для более ранних версий данной ОС, а также для другой аппаратной платформы. Необходимо разделять вопросы двоичной совмести-мости и совместимости на уровне исходных текстов приложений.
Двоичная совместимость достигается в том случае, когда можно взять исполняемую программу и запустить ее на выполнение на другой ОС. Для этого необходимы совместимость на уровне команд процессора, и совместимость на уровне системных вызовов, и даже на уровне библиотечных вызовов, если они являются динамически связываемыми.
Совместимость на уровне исходных текстов требует наличия соответствующего транслятора в составе системного программного обеспечения, а также совместимости на уровне библиотек и системных вызовов. При этом необходима перекомпиляция имеющихся исходных текстов в новый выполняемый модуль.
Гораздо сложнее достичь двоичной совместимости между процессорами, основанными на разных архитектурах. Для того чтобы один компьютер выполнял программы другого (например, программу для ПК типа IBM PC желательно выполнить на ПК типа Macintosh фирмы Apple), этот компьютер должен работать с машинными командами, которые ему изначально непо-нятны. В таком случае процессор типа 680×0 (или PowerPC) должен исполнять двоичный код, предназначенный для процессора i80×86. Процессор 80×86 имеет свои собственные дешифратор команд, регистры и внутреннюю архитектуру. Процессор 680×0 не понимает двоичный код 80×86, поэтому он должен выбрать каждую команду, декодировать ее, чтобы определить, для
чего она предназначена, а затем выполнить эквивалентную подпрограмму, написанную для 680×0.
Одним из средств обеспечения совместимости программных и пользовательских интерфейсов является соответствие стан-дартам POSIX, использование которого позволяет создавать программы в стиле UNIX, легко переносимых впоследствии из одной системы в другую.
Принцип открытости и наращиваемости
Принцип открытости и наращиваемости : Открытая операционная система доступна для анализа как пользователям, так и системным специалистам, обслуживающим вычислительную систему. Наращиваемая (модифицируемая, развиваемая) ОС позволяяет не только использовать возможности генерации, но и вводить в ее состав новые модули, совершенствовать существующие и т.д. Другими словами, следует обеспечить возможность легкого внесения дополнений и изменений в необходимых случаях без нарушения целостности системы. Прекрасные возможности для расширения предоставляет подход к структурированию ОС по типу клиент-сервер с использованием микро-ядерной технологии. В соответствии с этим подходом ОС строится как совокупность привилегированной управляющей программы и набора непривилегированных услуг (серверов). Основная часть ОС остается неизменной, и в то же время могут быть добавлены новые серверы или улучшены старые. Этот принцип иногда трактуют как расширяемость системы.
Принцип мобильности
Принцип мобильности: операционная система относительно легко должна перено-
ситься с процессора одного типа на процессор другого типа и с аппаратной платформы одного типа, которая включает наряду с типом процессора и способ организации всей аппаратуры компьютера (архитектуру вычислительной системы), на аппаратную платформу другого типа. Заметим, что принцип переносимости очень близок принципу совместимости, хотя это и не одно и то же. Создание переносимой ОС аналогично написанию любого перено-симого кода, при этом нужно следовать некоторым правилам:
- большая часть ОС должна быть выполнена на языке, имеющемся на всех системах, на которые планируется в дальнейшем ее переносить. Это, прежде всего, означает, что ОС должна быть написана на языке высокого уровня, предпочтительно стандартизованном, например на языке С. Программа, написанная на ассемблере, не является в общем случае переносимой.
- важно минимизировать или, если возмож-но, исключить те части кода, которые непосредственно взаимодействуют с аппаратными средствами. Зависимость от аппаратуры может иметь много форм. Некоторые очевидные формы зависимости включают прямое манипулирование регистрами и другими аппаратными средствами. Наконец, если аппаратнозависимый код не может быть полностью исключен, то он должен быть изолирован в нескольких хорошо локализуемых модулях. Аппаратнозависимый код не должен быть распределен по всей системе. Например, можно спрятать аппаратно-зависимую структуру в програмно задаваемые данные абстрактного типа.
Принцип обеспечения безопасности вычислений
Принцип обеспечения безопасности вычислений: обеспечение безопасности при выполнении вычислений является желательным свойством для любой многопользовательской системы. Правила безопасности определяют такие свойства, как защиту ресурсов одного пользователя от других и установление квот по ресурсам для предотвращения захвата одним пользователем всех системных ресурсов таких например как память.
Обеспечение защиты информации от несанкционированного доступа является обязательной функцией сетевых операци-онных систем.
- Основные понятия информатики: информационные технологии, информатизация общества, информационные ресурсы. Информатика как наука и как прикладная дисциплина
- Федеральный закон Об информации, информационных технологиях и о защите информации от 8 июля 2006 года
- История развития компьютерной техники.
- Понятие информации, ее классификация, свойства информации, представление информации, единицы измерения информации.
- Формулы измерения информации Чартли и Шеннона, примеры вычислений.
- Системы счисления. Позиционные системы счисления, их представление.
- Двоичная, восьмеричная, шестнадцатеричная системы счисления.
- Правила преобразования чисел из одной системы счисления в другую.
- Примеры
- 2. Из двоичной и шестнадцатеричной систем счисления - в десятичную.
- 4. Из шестнадцатеричной системы счисления в двоичную:
- Правила перевода правильных дробей
- 1. Из десятичной системы счисления - в двоичную и шестнадцатеричную:
- 2. Из двоичной и шестнадцатеричной систем счисления - в десятичную.
- 3. Из двоичной системы счисления в шестнадцатеричную:
- 4. Из шестнадцатеричной системы счисления в двоичную:
- Понятие информационной системы. Структура ис.
- Процессы, обеспечивающие работу ис.
- Классификация информационных систем, свойства ис. Классификация по архитектуре
- Классификация по степени автоматизации
- Классификация по характеру обработки данных
- Классификация по сфере применения
- Классификация по охвату задач (масштабности)
- Типы информационных процедур.
- 1. Поиск.
- 2. Сбор и хранение.
- 3. Передача.
- 4. Обработка.
- 5. Использование.
- 6. Защита.
- Классификация ис по направлению деятельности
- Направления анализа функционирования корпоративной сети
- Экспертные системы их классификация
- Базовые функции экспертных систем
- Приобретение знаний
- Представление знаний
- Управление процессом поиска решения
- Разъяснение принятого решения
- Представление знаний. Классификация модеклей представления знаний.
- Понятие операционной системы. История развития ос.
- 1946 Г. – eniac (Electronic Numerical Integrator and Computer) – полное отсутствие какого-либо по, программирование путем коммутации устройств.
- 1952 Г. – Первая ос создана исследовательской лабораторией фирмы General Motors для ibm-701.
- 1955 Г. – ос для ibm-704. Конец 50-х годов: язык управления заданиями и пакетная обработка заданий.
- Основные принципы построения операционных систем.
- Классификация по компьютерной системы.
- Состав компонентов и функций ос
- Особенности алгоритмов управления ресурсами.(см. 27).
- Классификация ос Классификация ос
- Особенности алгоритмов управления ресурсами
- Особенности аппаратных платформ
- Особенности областей использования
- Особенности методов построения
- Сетевые ос. Варианты построения сетевых ос.
- Основные принципы построения системы информационной безопасности.
- Перечень и содержание огрганизационно-распорядительных документов иб.
- Основные механизмы доступа к информационным ресурсам.
- Способы и методы аутентификации.
- Средства защиты ис от потери информации.
- Брандмауэры и антивирусные пакеты.
- Базы и банки данных.
- Информационные сети. История развития информационных сетей.
- Классификация сетей
- Основные топологии лвс
- Понятие логической структуры сети. Элементы логической структуры.
- Основные понятия: интернет, провайдер, хост, сетевой протокол, ip-адрес, домен.
- Архитектура клиент-сервер, одноранговые сети и сети с выделенным сервером, их преимущества и недостатки.
- Понятие сервис ориентированной архитектуры.
- Алгоритм, свойства алгоритма, формы записи алгоритма, скорость выполнения алгоритма.
- Рекурсивные алгоритмы. Сущность рекурсии
- Алгоритмы сортировки.
- Понятие модели, численного метода. Подходы к реализации численных методов
- Этапы реализации решения численных задач. Методы решения численных задач.
- Алгоритмы решения задачи нахождения корней полинома: шаговый метод, метод половинного деления, метод Ньютона, метод простой итерации.
- Численные методы решения задач аппроксимации.
- Методы численного интегрирования.
- Методы одномерной оптимизации.