Реферат: Архитектура операционных систем
Название: Архитектура операционных систем Раздел: Рефераты по коммуникации и связи Тип: реферат |
Лекция 2 Требования к современным ОС - Главные требования: - выполнение основных функций эффективного управления ресурсами - обеспечение удобного интерфейса для пользователя и прикладных программ Требования к современным ОС - Расширяемость - Переносимость или многоплатформенность - Совместимость - Надежность и отказоустойчивость - Безопасность - Производительность 1. Расширяемость ОС - ОС всегда изменяются со временем эволюционно, и эти изменения более значимы, чем изменения аппаратных средств - Если код ОС написан таким образом, что дополнения и изменения могут вноситься без нарушения целостности системы, то такую ОС называют расширяемой - Расширяемость достигается за счет модульной структуры ОС (программы строятся из набора отдельных модулей, взаимодействующих только через функциональный интерфейс) 2. Переносимость или многоплатформенность - В идеале код ОС должен легко переноситься с процессора одного типа на процессор другого типа и с аппаратной платформы одного типа на аппаратную платформу другого типа - Переносимые ОС имеют несколько вариантов реализации для разных платформ 3. Совместимость - Для пользователя, переходящего с одной ОС на другую, очень привлекательна возможность запуска в новой ОС привычного приложения. - Если ОС имеет средства для выполнения прикладных программ, написанных для других ОС, то про нее говорят, что она обладает совместимостью с этими ОС - Понятие совместимости включает также поддержку пользовательских интерфейсов других ОС 4. Надежность и отказоустойчивость - ОС должна быть защищена как от внутренних, так и от внешних ошибок, сбоев и отказов. - Действия ОС должны быть всегда предсказуемыми, а приложения не должны иметь возможности наносить вред ОС. - Надежность и отказоустойчивость ОС прежде всего определяются архитектурными решениями, положенными в ее основу, а также качеством ее реализации - Важно, включает ли ОС программную поддержку аппаратных средств обеспечения отказоустойчивости, таких, например, как дисковые массивы или источники бесперебойного питания. 5. Безопасность - Современная ОС должна защищать данные и другие ресурсы вычислительной системы от несанкционированного доступа. - средства аутентификации — определения легальности пользователей - авторизации — предоставления легальным пользователям дифференцированных прав доступа к ресурсам - аудита — фиксации всех «подозрительных» для безопасности системы событий - В сетевых ОС к задаче контроля доступа добавляется задача защиты данных, передаваемых по сети. 6. Производительность - ОС должна обладать настолько хорошим быстродействием и временем реакции, насколько это позволяет аппаратная платформа - На производительность ОС влияют: - архитектура ОС - многообразие функций - качество программирования кода - возможность исполнения ОС на высокопроизводительной (многопроцессорной) платформе Основные принципы построения операционных систем - Модульности - Функциональной избирательности - Генерируемости - Функциональной избыточности - Виртуализации - Независимости программ от внешних устройств - Совместимости - Открытой и наращиваемой ОС - Мобильности (переносимости) - Обеспечения безопасности вычислений Принцип модульности ОС - Под модулем в общем случае понимают функционально законченный элемент системы, выполненный в соответствии с принятыми межмодульными интерфейсами. - Модуль предполагает возможность без труда заменить его на другой при наличии заданных интерфейсов - Наибольший эффект от его использования достижим, когда принцип распространен одновременно на операционную систему, прикладные программы и аппаратуру Принцип функциональной избирательности - В ОС выделяется некоторая часть важных модулей, которые должны постоянно находиться в оперативной памяти для более эффективной организации вычислительного процесса (ядро) - При формировании состава ядра требуется учитывать два противоречивых требования. - 1) В состав ядра должны войти наиболее часто используемые системные модули. - 2) Количество модулей должно быть таковым, чтобы объем памяти, занимаемый ядром, был бы не слишком большим. - Транзитные программные модули загружаются в оперативную память только при необходимости и в случае отсутствия свободного пространства могут быть замещены другими транзитными модулями. Принцип генерируемости ОС - Этот принцип позволяет настраивать центральную системную управляющую программу ОС, исходя из конкретной конфигурации конкретного вычислительного комплекса и круга решаемых задач. - Эта процедура проводится редко, перед протяженным периодом эксплуатации ОС. - Процесс генерации осуществляется с помощью специальной программы-генератора и соответствующего входного языка для этой программы, позволяющего описывать программные возможности системы и конфигурацию машины. - Принцип генерируемости существенно упрощает настройку ОС на требуемую конфигурацию вычислительной системы Принцип функциональной избыточности - Этот принцип учитывает возможность проведения одной и той же работы различными средствами - Позволяет: - быстро и наиболее адекватно адаптировать ОС к определенной конфигурации вычислительной системы - обеспечить максимально эффективную загрузку технических средств при решении конкретного класса задач - получить максимальную производительность при решении заданного класса задач Принцип виртуализации - Этот принцип позволяет представить структуру системы в виде определенного набора планировщиков процессов и распределителей ресурсов (мониторов) и использовать единую централизованную схему распределения ресурсов. - Наиболее естественным и законченным проявлением концепции виртуальности является понятие виртуальной машины . - Любая ОС скрывает от пользователя и его приложений реальные аппаратные и иные ресурсы, заменяя их некоторой абстракцией. Принцип виртуализации - Виртуальная машина, предоставляемая пользователю, воспроизводит архитектуру реальной машины, но архитектурные элементы в таком представлении выступают с новыми или улучшенными характеристиками: - единообразная по логике работы память (виртуальная) практически неограниченного объема. - произвольное количество процессоров (виртуальных), способных работать параллельно и взаимодействовать во время работы. - произвольное количество внешних устройств (виртуальных), способных работать с памятью виртуальной машины параллельно или последовательно, асинхронно или синхронно по отношению к работе того или иного виртуального процессора, которые инициируют работу этих устройств. Принцип независимости программ от внешних устройств - Связь программ с конкретными устройствами производится не на уровне трансляции программы, а в период планирования её исполнения - В результате перекомпиляция при работе программы с новым устройством, на котором располагаются данные, не требуется. - Принцип позволяет одинаково осуществлять операции управления внешними устройствами независимо от их конкретных физических характеристик Принцип совместимости - Это способность ОС выполнять программы, написанные для других ОС или для более ранних версий данной операционной системы, а также для другой аппаратной платформы. - Двоичная совместимость достигаетс, когда можно запустить исполняемую программу на выполнение на другой ОС. Для этого необходимы: - совместимость на уровне команд процессора, - совместимость на уровне системных вызовов и даже на уровне библиотечных вызовов, если они являются динамически связываемыми. - Совместимость на уровне исходных текстов требует наличия соответствующего транслятора в составе системного программного обеспечения, а также совместимости на уровне библиотек и системных вызовов. При этом необходима перекомпиляция имеющихся исходных текстов в новый выполняемый модуль. Принцип открытой и наращиваемой ОС - Открытая ОС доступна для анализа как пользователям, так и системным специалистам, обслуживающим вычислительную систему. - Наращиваемая (модифицируемая, развиваемая) ОС позволяет не только использовать возможности генерации, но и вводить в ее состав новые модули, совершенствовать существующие и т. д. - Необходимо, чтобы можно было внести дополнения и изменения, и не нарушить целостность системы. Принцип мобильности (переносимости) - Операционная система относительно легко должна переноситься с процессора одного типа на процессор другого типа и с аппаратной платформы одного типа на аппаратную платформу другого типа. - Большая часть ОС должна быть написана на языке, который имеется на всех системах, на которые планируется в дальнейшем ее переносить. То есть ОС должна быть написана на языке высокого уровня, предпочтительно стандартизованном. - Важно минимизировать или исключить части кода, которые непосредственно взаимодействуют с аппаратными средствами. - Если аппаратно-зависимый код не может быть полностью исключен, то он должен быть изолирован в нескольких хорошо локализуемых модулях. Аппаратно-зависимый код не должен быть распределен по всей системе. Принцип обеспечения безопасности вычислений - Правила безопасности определяют свойства: - защита ресурсов одного пользователя от других - установление квот по ресурсам для предотвращения захвата одним пользователем всех системных ресурсов - Более безопасные системы не только снижают эффективность, но и существенно ограничивают число доступных прикладных пакетов, которые соответствующим образом могут выполняться в подобной системе Классификация ОС по числу одновременно выполняемых задач - однозадачные (MS DOS) и - многозадачные - Системы пакетной обработки (ОС ЕС) - Системы с разделением времени (Unix, Linux, Windows) - Системы реального времени (RT11, QNX) Классификация ОС по числу одновременно работающих пользователей на ЭВМ ОС разделяются на - однопользовательские (MS DOS); - многопользовательские (Unix, Linux, Windows 95 - XP) Классификация ОС по типу лицензии: - проприетарная (семейство Windows) - открытая (большинство Linux и UNIX систем). Классификация ОС по архитектуре: - микроядерные (VxWorks, QNX); - монолитные (Windows XP); - гибридные (Windows NT, большинство Linux); Классификация ОС по использованию процессора: - однопроцессорные; - многопроцессорные системы (начиная с OS/2, Net Ware, Widows NT, большинство современных ОС). Классификация ОС по применению: - рабочих станций (DOS, МАС OS, Windows 98, XP, Vista), - серверов (AIX, Windows 2000, Windows Server 2003, Windows Vista Server 2008), - ОС реального времени; - встроенные ОС (VxWorks, QNX, Nucleus), - для мобильных устройств (Windows CE, Pocket PC, Windows Mobile, Palm OS, Symbian OS), - для сетевых маршрутизаторов (IOS от Cisco), Классификация ОС по возможности сетевого взаимодействия: - локальные (DOS); - сетевые (Netware 3.x – 6.x, UNIX, Linux, FreeBSD). ОС как система управления ресурсами основные ресурсы современных вычислительных систем: - Процессоры - Основная память - Таймеры - Наборы данных - Диски - Принтеры - Сетевые устройства - и др. Ресурсы распределяются между процессами. Процесс - Процесс (задача) – базовое понятие большинства современных ОС. - Процесс – программа в стадии выполнения. - Программа – это статический объект, представляющий собой файл с кодами и данными. - Процесс — это динамический объект, который возникает в ОС после того, как пользователь или ОС решает «запустить программу на выполнение», то есть создать новую единицу вычислительной работы. Задачи ОС по управлению ресурсами Управление ресурсами вычислительной системы с целью наиболее эффективного их использования является назначением ОС. Управление ресурсами включает решение следующих общих, не зависящих от типа ресурса задач: - планирование ресурса — то есть определение, какому процессу, когда и в каком количестве (если ресурс может выделяться частями) следует выделить данный ресурс; - удовлетворение запросов на ресурсы; - отслеживание состояния и учет использования ресурса — то есть поддержание оперативной информации о том, занят или свободен ресурс и какая доля ресурса уже распределена; - разрешение конфликтов между процессами. |