Скачать презентацию П. Сычев Лекция 2 Операционные системы • Архитектура Скачать презентацию П. Сычев Лекция 2 Операционные системы • Архитектура

Операционные системы 2.ppt

  • Количество слайдов: 21

П. Сычев Лекция 2 Операционные системы • Архитектура операционных систем • Пользовательский интерфейс ОС П. Сычев Лекция 2 Операционные системы • Архитектура операционных систем • Пользовательский интерфейс ОС

Архитектура ОС Прикладная программа API оболочки ? Оболочка ОС User mode API ядра Ядро Архитектура ОС Прикладная программа API оболочки ? Оболочка ОС User mode API ядра Ядро ОС Оборудование Kernel mode

Архитектура ОС Архитектура операционной системы определяется ее назначением. Различают несколько различных типов ОС. Монолитные Архитектура ОС Архитектура операционной системы определяется ее назначением. Различают несколько различных типов ОС. Монолитные системы. В этом случае вся операционная система представляет собой единую программу. Перед ее использованием ее необходимо откомпилировать и собрать. Таким образом установка такой системы на определенный компьютер начинается с получения всех модулей, необходимых для обслуживания имеющегося оборудования. Далее, необходимо описать все оборудование в соответствующих файлах. После этого запускается процесс компиляции и сборки ядра. Можно работать. Процедуру необходимо повторить при всяком изменении аппаратуры, например, добавлении нового диска. С одной стороны это очень надежное решение, с другой – мало подходит для начинающих пользователей. Так были устроены ОС IBM/360, ранние версии UNIX, первые версии Novell Netware.

Архитектура ОС Модульные операционные системы. Такие системы имеют четко выстроенную многоуровневую структуру, снизу – Архитектура ОС Модульные операционные системы. Такие системы имеют четко выстроенную многоуровневую структуру, снизу – вверх, от аппаратуры до системных абстракций, таких как файлы и процессы. Как правило, впрочем не всегда, такие системы позволяют динамически подгружать дополнительные модули в четко определенных местах, например драйверы устройств. Такую структуру имеют большинство современных универсальных операционных систем, например Microsoft Windows NT, Linux, большинство версий UNIX. Системы с микроядром. Идея такой системы состоит в том, что в привилегированном (защищенном) режиме работает только минимально необходимая часть ядра ОС. Все остальные подсистемы ОС работают в виде обычных процессов в пользовательском режиме. Общение между микроядром и служебными процессами происходит в архитектуре «клиент - сервер» . Достоинства такой схемы: во-первых, исключительная надежность, во-вторых – гибкость. Недостаток – замедление работы ОС, из -за необходимости обмена сообщениями. Коммерческих универсальных ОС с такой архитектурой нет, но есть много исследовательских.

Архитектура ОС Виртуальные машины. Операционная система предоставляет пользователю некоторую виртуальную машину, например, Windows. В Архитектура ОС Виртуальные машины. Операционная система предоставляет пользователю некоторую виртуальную машину, например, Windows. В принципе, она могла бы представлять виртуальный компьютер, например ПК, с набором соответствующего оборудования. Зачем бы это нужно? Например, чтобы поставить в нее еще одну версию ОС. Такие виртуальные машины часто используются на крупных серверах провайдеров Интернет. При этом пользователи, выставляющие свой сайт в Интернет, получают в свое распоряжение виртуальный компьютер, на который они ставят нужное программное обеспечение. Такой виртуальный компьютер может «упасть» , или «зависнуть» , может быть даже перезапущен без каких либо последствий для ОС сервера и других виртуальных компьютеров. Аналогичная техника используется в современной Java технологии, где Java приложения исполняются на виртуальной Java машине (JVM). Фирма Microsoft разработала свою технологию. NET, во многом похожую на Java.

Архитектура ОС UNIX Общая структура ОС UNIX приведена на следующем слайде. Жирной линией выделено Архитектура ОС UNIX Общая структура ОС UNIX приведена на следующем слайде. Жирной линией выделено ядро системы, работающее в защищенном режиме. Ядро UNIX многоуровневое и состоит из ряда подсистем, находящихся на различных уровнях: Верхний уровень иерархии включает файловую подсистему, систему управления виртуальной памятью, подсистему управления процессами. • Файловая подсистема обеспечивает управление файлами на различных устройствах памяти. • Система управления виртуальной памятью дает возможность исполнять процессы, требующие большей памяти, чем физически доступно на данном компьютере. • Система управления процессами отвечает за создание и сопровождение процессов в компьютере.

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

Архитектура ОС UNIX Следует отметить, что ряд важных, с точки зрения пользователя, компонент в Архитектура ОС UNIX Следует отметить, что ряд важных, с точки зрения пользователя, компонент в UNIX, находятся вне пределов ядра. Например, графический пользовательский интерфейс обеспечивается программой X Window, которая выполняется в отдельном процессе в пользовательском режиме (так называемый демон). Аналогично, в виде отдельных системных процессов, выполнены и ряд других сервисов ОС UNIX. Пользовательские программы обслуживаются UNIX через интерфейс системных вызовов. Этот интерфейс, оформленный как обычная библиотека функций в языке программирования С, образует интерфейс прикладного программирования в UNIX (API – Application Program Interface). Приведенная схема приблизительна и не отражает структуры какой либо конкретной версии UNIX.

Архитектура ОС UNIX Прикладная программа Kernel mode X Window Прикладная программа с GUI Интерфейс Архитектура ОС UNIX Прикладная программа Kernel mode X Window Прикладная программа с GUI Интерфейс системных вызовов Файловая подсистема Управление виртуальной памятью Управление вводом/выводом Драйверы устройств Оборудование Управление процессами Планирование / диспетчеризация процессов UNIX

Архитектура Windows NT Операционная система Windows NT является системой с множественными интерфейсами прикладных программ. Архитектура Windows NT Операционная система Windows NT является системой с множественными интерфейсами прикладных программ. Это означает, что собственный API у нее конечно есть, но он никогда не публиковался и не описывался. Он отличается в различных версиях системы (NT, 2000, XP, Vista, 7). Прикладные программы Windows работают с API Win 32, который опубликован и хорошо описан. В отличии от API UNIX, в котором около 200 функций, в API Win 32 несколько тысяч функций, многие из которых дублируются, а некоторые и вовсе ничего не делают, а сохранились для совместимости с ранними версиями Windows. Win 32 реализован в виде набора библиотек динамической загрузки (DLL). Наряду с API Win 32 ОС Windows NT поддерживает и другие API. Подсистема OS/2 поддерживает API операционной системы OS/2 версии 1. х, подсистема POSIX позволяет исполнять приложения POSIX, т. е. приложения, написанные для ОС UNIX. Подсистемы OS/2 и POSIX реализованы также в виде набора библиотек динамической загрузки. Список поддерживаемых API, при необходимости, может быть расширен.

Архитектура Windows NT Основные особенности архитектуры Windows NT: слой HAL (Hardware Abstraction Layer) преобразует Архитектура Windows NT Основные особенности архитектуры Windows NT: слой HAL (Hardware Abstraction Layer) преобразует оборудование компьютера в некоторую виртуальную машину. Все модули, расположенные выше, аппаратно независимы, что обеспечивает переносимость операционной системы; Ядро (Kernel). Windows NT использует микроядро, реализующее только минимальные функции ОС – диспетчеризация нитей и синхронизация процессоров. Все остальные функции делает исполнительная система; Исполнительная система (Executive services) содержит 6 (в версии 2000 9) подсистем: • Менеджер ввода/вывода (вместе с драйверами устройств); • Менеджер объектов; • Менеджер безопасности; • Подсистема управления процессами; • Подсистема локальных вызовов между процессами; • Подсистема управления виртуальной памятью

Архитектура Windows 2000 Архитектура Windows 2000

Архитектура Apple Mac. OS X Синим цветом выделена часть, работающая в защищенном режиме – Архитектура Apple Mac. OS X Синим цветом выделена часть, работающая в защищенном режиме – микроядро Mach, ядро XNU, системные программы. Все это вместе – ОС Darwin. Все выше – системные компоненты, работающие в пользовательском режиме: - системные сервисы - набор API - пользовательский интерфейс Aqua

Пакетный интерфейс Первые операционные системы имели пакетный интерфейс пользователя. Это значит, что пользователь предварительно Пакетный интерфейс Первые операционные системы имели пакетный интерфейс пользователя. Это значит, что пользователь предварительно готовил задание для исполнение, обычно, в виде колоды перфокарт. Эта колода включала: • Идентификационные данные (JOB карта, заказ времени и т. п. ); • Перечень задач, т. е. программ, которые надо выполнить, вместе с исходными данными. Пример задания для ОС «Дубна» (взято из книги Мазный Г. Л. Программирование на БЭСМ-6 в системе «Дубна» – М. : Наука, 1978. ) *NAME СИДОРОВ *PASS: AB 200 A *TIME: 00. 05 *FORTRAN { программа на фортране } *EXECUTE { исходные данные } *END FILE

Пакетный интерфейс IBM 1401, 1961 Перфокарта с кодом на Фортране Пакетный интерфейс IBM 1401, 1961 Перфокарта с кодом на Фортране

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

Диалоговый интерфейс пользователя появился вместе с первыми терминальными устройствами. Первыми пользовательскими терминалами были телетайпы, Диалоговый интерфейс пользователя появился вместе с первыми терминальными устройствами. Первыми пользовательскими терминалами были телетайпы, т. е. устройство с клавиатурой и электрической пишущей машинкой. Все введенные пользователем символы передавались компьютеру, ответ печатался на пишущей машинке. Как напоминание об этом устройстве, стандартный драйвер терминала в UNIX называется tty. Потом появились видеотерминалы, сейчас в качестве терминала, как правило, используется ПК. Диалоговый интерфейс – это интерфейс командной строки. Например программа cmd. exe в Windows NT, или shell в UNIX. Пользователь вводит команду и получает ответ. Интерфейс командной строки является стандартным для ОС UNIX, и, во многих случаях, очень удобен. Главный его недостаток – недружелюбие. Для того, чтобы им пользоваться необходимо знать все требуемые команды и их параметры.

Диалоговый интерфейс Bash shell интерфейс. Диалоговый интерфейс Bash shell интерфейс.

GUI Графический пользовательский интерфейс (Graphical User Interface) был предложен Д. Энгельбартом в Стэнфордском исследовательском GUI Графический пользовательский интерфейс (Graphical User Interface) был предложен Д. Энгельбартом в Стэнфордском исследовательском институте в конце 70 -х годов. Первым компьютером с GUI стал компьютер Liza фирмы Apple в 1983 году. Хотя, коммерчески, это был неудачный проект, его наследник – Macintosh c ОС Mac. OS имел большой успех и развивается до сих пор. Первая версия ОС Microsoft Windows появилась в 1985 году, под сильным влиянием Mac. OS. Графическая оболочка для UNIX получила название X Window. Графический интерфейс пользователя состоит из четырех основных элементов, из первых букв английских названий которых можно составить слово WIMP (Windows, Icons, Menus, Pointing device). Когда речь идет о подготовке документов, говорят о режиме WYSIWYG (What You See Is What You Get – что вы видите, это и получите). GUI постоянно развивается, достаточно сравнить интерфейс Windows 3. 1 с интерфейсом Windows 7.

GUI XEROX Star Workstation ~$20000. 00, 1981 Apple Macintosh Finder ~$4000, 1985 GUI XEROX Star Workstation ~$20000. 00, 1981 Apple Macintosh Finder ~$4000, 1985

GUI Microsoft Windows 3. 1 1991 Apple Mac. OS X Leopard 10. 5. 3 GUI Microsoft Windows 3. 1 1991 Apple Mac. OS X Leopard 10. 5. 3 (Finder) 2009