Презентация

Download Report

Transcript Презентация

Современные
операционные системы
UNIX
 Linux
 QNX

Операционная система
Linux
Linux — это современная POSIX-совместимая и
UNIX-подобная операционная система для
персональных компьютеров и рабочих станций.
 Как
известно,
Linux
—
это
свободно
распространяемая
версия
UNIX,
которая
первоначально была разработана Линусом
Торвальдсом
(Linus
Torvalds)
(toкvalds@
kruuna.helsinki.fi) в университете Хельсинки
(Финляндия). Все компоненты системы, включая
исходные тексты, распространяются с лицензией
на свободное копирование и установку для
неограниченного числа пользователей.

Операционная система
Linux


Linux был создан с помощью многих UNIXпрограммистов и энтузиастов из Интернета.
Большинство программ Linux разработано в рамках
проекта GNU из Free Software Foundation в
Кембридже, Массачусетс.
Изначально Linux создавался как «самодельная»
UNIX-подобная реализация для ПК типа IBM PC с
процессором i80386. В настоящее время имеется
реализация этой ОС практически для всех типов
процессоров и компьютеров на их основе. На базе
ОС Linux создаются и встроенные системы, и
суперкомпьютеры.
Система
поддерживает
кластеризацию
и
большинство
современных
интерфейсов и технологий.
Операционная система
Linux

Linux — это полноценная многозадачная
многопользовательская операционная система.
Это
означает,
что
одновременно
много
пользователей могут работать на одной машине,
одновременно выполняя много программ. Linux
достаточно
хорошо
совместим
с
рядом
стандартов для UNIX на уровне исходных
текстов, включая IEEE POSIX.1, System V и BSD.
Такая совместимость учитывалась при его
создании.
Большинство
свободно
распространяемых по сети Интернет программ
для UNIX может быть откомпилировано для
LINUX практически без особых изменений.
Операционная система
Linux

Кроме того, все исходные тексты для Linux,
включая
ядро,
драйверы
устройств,
библиотеки, пользовательские программы
и
инструментальные
средства
распространяются
свободно.
Другие
специфические внутренние черты Linux
включают контроль работ по стандарту
POSIX (используемый оболочками, такими
как csh и bash), псевдотерминалы (pty),
поддержку национальных и стандартных
клавиатур динамически загружаемыми
драйверами клавиатур.
Операционная система
Linux

Linux поддерживает различные типы файловых
систем для хранения данных. Файловая система
ext2fs, была создана специально для Linux.
Поддерживаются другие типы файловых систем,
например Minix-1 и Xenix. Реализована система
управления
файлами
на
основе
FAT.
Поддерживается и файловая система ISO 9660
CD-ROM для работы с дисками CD-ROM. Имеются
системы управления файлами и на томах с HPFS
и NTFS, правда, они работают только на чтение
файлов. Созданы варианты системы управления
файлами и для доступа к FAT32.
Операционная система
Linux

Linux, как и все UNIX-системы, обеспечивает полный
набор протоколов стека TCP/IP для сетевой работы.
Это включает драйверы устройств для многих
популярных сетевых адаптеров технологии Ethernet,
протоколы SLIP (serial line Internet protocol,
обеспечивающий
доступ
по
TCP/IP
при
последовательном соединении), PPP (point-to-point
protocol), NFS (network file system) и т. д.
Поддерживается весь спектр клиентов и услуг
TCP/IP, таких как FTP, telnet, NNTP и SMTP. Очень
часто
на
компьютерах,
работающих
под
управлением Linux, реализуют DNS-сервер, WWWсерверы
(Apache),
файерволы
для
защиты
локальных сетей при работе в Интернете, почтовые
Операционная система
Linux

Выполняемые программы используют
динамически связываемые библиотеки,
то есть выполняемые программы могут
совместно использовать библиотечную
программу, представленную одним
физическим файлом на диске. Это
позволяет
выполняемым
файлам
занимать меньше места на диске,
особенно тем, которые многократно
используют библиотечные функции.
Операционная система
Linux

Есть также статические связываемые
библиотеки
для
тех,
кто
желает
пользоваться
отладкой
на
уровне
объектных кодов или иметь «полные»
выполняемые программы, которые не
нуждаются в разделяемых библиотеках. В
Linux
разделяемые
библиотеки
динамически
связываются
во
время
выполнения,
позволяя
программисту
заменять библиотечные модули своими
собственными.
Сетевая ОС реального
времени QNX

Операционная система QNX является
мощной
операционной
системой,
позволяющей
проектировать
сложные
программные системы, работающие в
реальном
времени
как
на
одномединственном компьютере, так и в
локальной
вычислительной
сети.
Встроенные
средства
операционной
системы QNX обеспечивают поддержку
многозадачного
режима
на
одном
компьютере
и
взаимодействие
параллельно выполняемых задач на
разных компьютерах, работающих в среде
Сетевая ОС реального
времени QNX

Основным языком программирования в
системе является язык С. Основная
операционная
среда
соответствует
стандартам
POSIX-интерфейса.
Это
позволяет с небольшими доработками
перенести
необходимое
накопленное
программное
обеспечение
в
среду
операционной
системы
QNX
для
организации
их
работы
в
среде
распределенной обработки.
Сетевая ОС реального
времени QNX

ОС QNX является сетевой, мультизадачной,
многопользовательской
(многотерминальной) и масштабируемой. С
точки
зрения
пользовательского
интерфейса и API она очень похожа на
UNIX. Однако QNX была разработана «с
нуля», канадской фирмой QNX Software
Systems Limited в 1989 году по заказу
Министерства обороны США. Причем эта
система построена на совершенно других
архитектурных принципах, чем ОС UNIX.
Сетевая ОС реального
времени QNX

QNX была первой коммерческой ОС,
построенной
на
принципах
микроядра и обмена сообщениями.
Система
реализована
в
виде
совокупности
независимых
(но
взаимодействующих через обмен
сообщениями) процессов различного
уровня (менеджеры и драйверы),
каждый
из
которых
реализует
определенный вид сервиса.
Преимущества QNX





Предсказуемость, означающая ее применимость к
задачам жесткого реального времени.
Масштабируемость и эффективность, достигаемые
оптимальным использованием ресурсов.
Расширяемость
и
надежность
одновременно,
поскольку написанный вами драйвер не нужно
компилировать
в
ядро,
рискуя
вызвать
нестабильность системы.
Быстрый сетевой протокол FLEET, прозрачный для
обмена
сообщениями,
автоматически
обеспечивающий
отказоустойчивость,
балансирование нагрузки и маршрутизацию.
Компактная графическая подсистема Photon - вместе
с ОС всего 4 Мбайт памяти!
Архитектура системы QNX





Микроядро системы имеет объем от 10 до
32 Кбайт, то есть это одно из самых
маленьких ядер среди всех существующих
операционных систем. В этом объеме
помещаются:
механизм передачи сообщений между
процессами (IPC);
редиректор (от redirect - перенаправлять)
прерываний;
блок планирования выполнения задач;
сетевой интерфейс для перенаправления
сообщений (менеджер Net).
Архитектура системы QNX



Механизм
передачи
межпроцессных
сообщений
занимается
пересылкой
сообщений
между
процессами, в том числе и системными.
Редиректор прерываний является частью ядра и
занимается
перенаправлением
аппаратных
прерываний в связанные с ними процессы.
Блок планирования выполнения задач (диспетчер
задач) занимается обеспечением многозадачности.
К выполнению функций диспетчера ядро приступает
в следующих случаях:



какой-либо процесс вышел из блокированного состояния;
истек квант времени для процесса, владеющего CPU;
работающий процесс прерван каким-либо событием.
Архитектура системы QNX

В QNX существуют три метода диспетчеризации:
FIFO, round-robin и адаптивный - наиболее
используемый.
Процесс,
работающий
с
адаптивным методом, ведет себя следующим
образом:



Когда процесс полностью использовал выделенный
ему квант времени, его приоритет снижается на 1,
если в системе есть процессы с тем же уровнем
приоритета, готовые к исполнению.
Если процесс с пониженным приоритетом остается не
обслуженным в течение секунды, его приоритет
увеличивается на 1.
Если процесс блокируется, ему возвращается
оригинальное значение приоритета.
Архитектура системы QNX

Сетевой интерфейс в системе QNX является
частью ядра. Он взаимодействует с сетевым
адаптером через сетевой драйвер, но
базовые сетевые сервисы реализованы на
уровне ядра. Передача сообщения процессу,
находящемуся на другом компьютере, ничем
не отличается для приложения от передачи
сообщения процессу, выполняющемуся на
том же компьютере. Для приложений не
имеет значения, с какого компьютера они
были запущены, на каком исполняются и куда
поступают результаты их работы.
Механизмы организации
распределенных вычислений
Для организации сети на каждой машине,
называемой узлом, помимо ядра и
менеджера
процессов
должен
быть
запущен менеджер Net. Менеджер Net не
зависит от аппаратной реализации сети.
Данная
аппаратная
независимость
обеспечивается за счет использования
сетевых драйверов.
 Кроме
этого,
имеется
возможность
организации сети через последовательный
канал или модем.

Механизмы организации
распределенных вычислений

В QNX четвертой версии полностью
реализовано
встроенное
сетевое
взаимодействие «точка-точка». Например,
находясь на машине А, вы можете
скопировать файл с гибкого диска,
подключенного к машине В, на жесткий
диск, подключенный к машине С. По
существу, сеть из машин QNX действует
как один мощный компьютер. Любые
ресурсы (модемы, диски, принтеры) могут
быть добавлены к системе простым их
подключением к любой машине в сети.
Механизмы организации
распределенных вычислений

Каждому узлу в сети соответствует уникальный
целочисленный идентификатор — логический
номер узла. Любой поток в сети QNX имеет
прозрачный доступ (при наличии достаточных
привилегий) ко всем ресурсам сети, то же самое
относится и к взаимодействию потоков. Для
взаимодействия потоков, находящихся на
разных узлах сети, используются те же самые
вызовы ядра, что и для потоков, выполняемых
на одном узле. В том случае, если потоки
находятся на разных узлах сети, ядро
переадресует запрос менеджеру сети.
Механизмы организации
распределенных вычислений
Для организации обмена в сети используется
надежный
и
эффективный
протокол
транспортного уровня FLEET. Каждый из узлов
может принадлежать одновременно нескольким
QNX-сетям. В этом случае для передачи
выбирается незагруженная и более скоростная
сеть.
 Этот протокол не базируется ни на одном из
распространенных
сетевых
протоколов
и
обладает рядом качеств, которые делают его
уникальным.
Основные
его
качества
зашифрованы в аббревиатуре FLEET, которая
расшифровывается следующим образом.

Протокол FLEET
Fault-Tolerant
Networking
QNX
может
одновременно
использовать
несколько
физических сетей. При выходе из
строя любой из них данные будут
автоматически перенаправлены
«на лету» через другую сеть
Load-Balancing
on the Fly
При
наличии
нескольких
физических
соединений
QNX
автоматически распараллеливает
передачу
пакетов
по
соответствующим сетям
Протокол FLEET
Efficient
Performance
Специальные драйверы для широкого
спектра
сетевого
оборудования,
позволяют
с
максимальной
эффективностью использовать его
Extensible
Architecture
Любые новые типы сетей могут быть
поддержаны
путем
добавления
соответствующих драйверов
Transparent
Distributed
Processing
Благодаря отсутствию разницы между
передачей сообщений в пределах
одного узла и между узлами нет
необходимости вносить какие-либо
изменения в приложения для того,
чтобы они могли взаимодействовать
Механизмы организации
распределенных вычислений

Благодаря
этой
технологии
сеть
компьютеров с QNX фактически можно
представлять как один виртуальный
суперкомпьютер. Все ресурсы любого из
узлов
сети
автоматически
доступны
другим, и для этого не нужны специальные
«фокусы» с использованием технологии
RPC. Это значит, что любая программа
может быть запущена на любом узле, при
этом ее входные и выходные потоки могут
быть направлены на любое устройство на
любых других узлах.
Механизмы организации
распределенных вычислений

Например, утилита make в QNX автоматически
распараллеливает компиляцию пакетов из
нескольких модулей на все доступные узлы
сети, а затем собирает исполняемый модуль по
мере завершения компиляции на узлах.
Специальный драйвер, входящий в комплект
поставки, позволяет использовать для сетевого
взаимодействия любое устройство, с которым
может
быть
ассоциирован
файловый
дескриптор, например последовательный порт,
что открывает возможности для создания
глобальных сетей.
Дополнительная
информация
http://www.swd.ru - официальный
представитель
QNX
в
России.
Распространяет
литературу
и
некоммерческие версии ОС.
 http://qnx.org.ru - сайт сообщества
разработчиков и пользователей ОС.
