27
Современные Современные операционные системы операционные системы UNIX UNIX Linux Linux QNX QNX

Современные операционные системы

  • Upload
    sian

  • View
    60

  • Download
    1

Embed Size (px)

DESCRIPTION

Современные операционные системы. UNIX Linux QNX. Операционная система Linux. Linux — это современная POSIX -совместимая и UNIX -подобная операционная система для персональных компьютеров и рабочих станций. - PowerPoint PPT Presentation

Citation preview

Page 1: Современные операционные системы

Современные Современные операционные системыоперационные системы

UNIXUNIX LinuxLinux QNXQNX

Page 2: Современные операционные системы

Операционная система Операционная система LinuxLinux

LinuxLinux — это современная — это современная POSIXPOSIX-совместимая и -совместимая и UNIXUNIX-подобная операционная система для -подобная операционная система для персональных компьютеров и рабочих станций.персональных компьютеров и рабочих станций.

Как известно, Как известно, LinuxLinux — это свободно — это свободно распространяемая версия распространяемая версия UNIXUNIX, которая , которая первоначально была разработана Линусом первоначально была разработана Линусом Торвальдсом (Торвальдсом (Linus TorvaldsLinus Torvalds) () (totoккvaldsvalds@@ kruunakruuna..helsinkihelsinki..fifi) в университете Хельсинки ) в университете Хельсинки (Финляндия). Все компоненты системы, (Финляндия). Все компоненты системы, включая исходные тексты, распространяются с включая исходные тексты, распространяются с лицензией на свободное копирование и лицензией на свободное копирование и установку для неограниченного числа установку для неограниченного числа пользователей.пользователей.

Page 3: Современные операционные системы

Операционная система Операционная система LinuxLinux

LinuxLinux был создан с помощью многих был создан с помощью многих UNIXUNIX--программистов и энтузиастов из Интернета. программистов и энтузиастов из Интернета. Большинство программ Большинство программ LinuxLinux разработано в разработано в рамках проекта рамках проекта GNUGNU из из Free Software FoundationFree Software Foundation в в Кембридже, Массачусетс. Кембридже, Массачусетс.

Изначально Изначально LinuxLinux создавался как «самодельная» создавался как «самодельная» UNIXUNIX-подобная реализация для ПК типа -подобная реализация для ПК типа IBM PCIBM PC с с процессором i80386. процессором i80386. ВВ настоящее время имеется настоящее время имеется реализация этой ОС практически для всех типов реализация этой ОС практически для всех типов процессоров и компьютеров на их основе. На базе процессоров и компьютеров на их основе. На базе ОС ОС LinuxLinux создаются и встроенные системы, и создаются и встроенные системы, и суперкомпьютеры. Система поддерживает суперкомпьютеры. Система поддерживает кластеризацию и большинство современных кластеризацию и большинство современных интерфейсов и технологий.интерфейсов и технологий.

Page 4: Современные операционные системы

Операционная система Операционная система LinuxLinux

LinuxLinux — это полноценная многозадачная — это полноценная многозадачная многопользовательская операционная система. многопользовательская операционная система. Это означает, что одновременно много Это означает, что одновременно много пользователей могут работать на одной пользователей могут работать на одной машине, одновременно выполняя много машине, одновременно выполняя много программ. программ. LinuxLinux достаточно хорошо совместим достаточно хорошо совместим с рядом стандартов для с рядом стандартов для UNIXUNIX на уровне на уровне исходных текстов, включая исходных текстов, включая IEEE POSIXIEEE POSIX.1, .1, System System VV и и BSDBSD. Такая совместимость учитывалась при . Такая совместимость учитывалась при его создании. Большинство свободно его создании. Большинство свободно распространяемых по сети Интернет программ распространяемых по сети Интернет программ для для UNIXUNIX может быть откомпилировано для может быть откомпилировано для LINUXLINUX практически без особых изменений. практически без особых изменений.

Page 5: Современные операционные системы

Операционная система Операционная система LinuxLinux

Кроме того, все исходные тексты для Кроме того, все исходные тексты для LinuxLinux, включая ядро, драйверы устройств, , включая ядро, драйверы устройств, библиотеки, пользовательские программы библиотеки, пользовательские программы и инструментальные средства и инструментальные средства распространяются свободно. Другие распространяются свободно. Другие специфические внутренние черты специфические внутренние черты LinuxLinux включают контроль работ по стандарту включают контроль работ по стандарту POSIXPOSIX (используемый оболочками, такими (используемый оболочками, такими как как cshcsh и и bashbash), псевдотерминалы (), псевдотерминалы (ptypty), ), поддержку национальных и стандартных поддержку национальных и стандартных клавиатур динамически загружаемыми клавиатур динамически загружаемыми драйверами клавиатур.драйверами клавиатур.

Page 6: Современные операционные системы

Операционная система Операционная система LinuxLinux

LinuxLinux поддерживает различные типы файловых поддерживает различные типы файловых систем для хранения данных. систем для хранения данных. ФФайловая айловая система система extext22fsfs, , былбылаа создан созданаа специально для специально для LinuxLinux. Поддерживаются другие типы файловых . Поддерживаются другие типы файловых систем, например систем, например MinixMinix-1 и -1 и XenixXenix. Реализована . Реализована система управления файлами на основе система управления файлами на основе FATFAT. . Поддерживается и файловая система Поддерживается и файловая система ISOISO 9660 9660 CDCD--ROMROM для работы с дисками для работы с дисками CDCD--ROMROM. . Имеются системы управления файлами и на Имеются системы управления файлами и на томах с томах с HPFSHPFS и и NTFSNTFS, правда, они работают , правда, они работают только на чтение файлов. Созданы варианты только на чтение файлов. Созданы варианты системы управления файлами и для доступа к системы управления файлами и для доступа к FATFAT32.32.

Page 7: Современные операционные системы

Операционная система Операционная система LinuxLinux

LinuxLinux, как и все , как и все UNIXUNIX-системы, обеспечивает полный -системы, обеспечивает полный набор протоколов стека TCP/IP для сетевой работы. набор протоколов стека TCP/IP для сетевой работы. Это включает драйверы устройств для многих Это включает драйверы устройств для многих популярных сетевых адаптеров технологии популярных сетевых адаптеров технологии EthernetEthernet, протоколы , протоколы SLIPSLIP ( (serial line Internet protocolserial line Internet protocol, , обеспечивающий доступ по TCP/IP при обеспечивающий доступ по TCP/IP при последовательном соединении), последовательном соединении), PPPPPP ( (pointpoint--toto--point point protocolprotocol), ), NFSNFS ( (network file systemnetwork file system) и т. д. ) и т. д. Поддерживается весь спектр клиентов и услуг Поддерживается весь спектр клиентов и услуг TCP/IP, таких как TCP/IP, таких как FTPFTP, , telnettelnet, , NNTPNNTP и и SMTPSMTP. Очень . Очень часто на компьютерах, работающих под часто на компьютерах, работающих под управлением управлением LinuxLinux, реализуют , реализуют DNSDNS-сервер, -сервер, WWWWWW--серверы (серверы (ApacheApache), файерволы для защиты ), файерволы для защиты локальных сетей при работе в Интернете, почтовые локальных сетей при работе в Интернете, почтовые серверы, сервер серверы, сервер DHCPDHCP..

Page 8: Современные операционные системы

Операционная система Операционная система LinuxLinux

Выполняемые программы используют Выполняемые программы используют динамически связываемые динамически связываемые библиотеки, то есть выполняемые библиотеки, то есть выполняемые программы могут совместно программы могут совместно использовать библиотечную использовать библиотечную программу, представленную одним программу, представленную одним физическим файлом на диске. Это физическим файлом на диске. Это позволяет выполняемым файлам позволяет выполняемым файлам занимать меньше места на диске, занимать меньше места на диске, особенно тем, которые многократно особенно тем, которые многократно используют библиотечные функции. используют библиотечные функции.

Page 9: Современные операционные системы

Операционная система Операционная система LinuxLinux

Есть также статические связываемые Есть также статические связываемые библиотеки для тех, кто желает библиотеки для тех, кто желает пользоваться отладкой на уровне пользоваться отладкой на уровне объектных кодов или иметь «полные» объектных кодов или иметь «полные» выполняемые программы, которые не выполняемые программы, которые не нуждаются в разделяемых нуждаются в разделяемых библиотеках. В библиотеках. В LinuxLinux разделяемые разделяемые библиотеки динамически связываются библиотеки динамически связываются во время выполнения, позволяя во время выполнения, позволяя программисту заменять библиотечные программисту заменять библиотечные модули своими собственными.модули своими собственными.

Page 10: Современные операционные системы

Сетевая ОС реального Сетевая ОС реального времени QNXвремени QNX

Операционная система Операционная система QNXQNX является является мощной операционной системой, мощной операционной системой, позволяющей проектировать сложные позволяющей проектировать сложные программные системы, работающие в программные системы, работающие в реальном времени как на одном-реальном времени как на одном-единственном компьютере, так и в единственном компьютере, так и в локальной вычислительной сети. локальной вычислительной сети. Встроенные средства операционной Встроенные средства операционной системы системы QNXQNX обеспечивают поддержку обеспечивают поддержку многозадачного режима на одном многозадачного режима на одном компьютере и взаимодействие параллельно компьютере и взаимодействие параллельно выполняемых задач на разных выполняемых задач на разных компьютерах, работающих в среде компьютерах, работающих в среде локальной вычислительной сети. локальной вычислительной сети.

Page 11: Современные операционные системы

Сетевая ОС реального Сетевая ОС реального времени QNXвремени QNX

Основным языком программирования в Основным языком программирования в системе является язык С. Основная системе является язык С. Основная операционная среда соответствует операционная среда соответствует стандартам стандартам POSIXPOSIX-интерфейса. Это -интерфейса. Это позволяет с небольшими доработками позволяет с небольшими доработками перенести необ ходимое накопленное перенести необ ходимое накопленное программное обеспечение в среду программное обеспечение в среду операционной системы операционной системы QNXQNX для для организации их работы в среде организации их работы в среде распределенной обработки.распределенной обработки.

Page 12: Современные операционные системы

Сетевая ОС реального Сетевая ОС реального времени QNXвремени QNX

ОС ОС QNXQNX является сетевой, является сетевой, мультизадачной, многопользовательской мультизадачной, многопользовательской (многотерминальной) и масштабируемой. (многотерминальной) и масштабируемой. С точки зрения пользовательского С точки зрения пользовательского интерфейса и интерфейса и APIAPI она очень похожа на она очень похожа на UNIXUNIX. Однако . Однако QNXQNX была разработана «с была разработана «с нуля», канадской фирмой нуля», канадской фирмой QNX Software QNX Software Systems LimitedSystems Limited в 1989 году по заказу в 1989 году по заказу Министерства обороны США. Причем эта Министерства обороны США. Причем эта система построена на совершенно других система построена на совершенно других архитектурных принципах, архитектурных принципах, чемчем ОС ОС UNIXUNIX..

Page 13: Современные операционные системы

Сетевая ОС реального Сетевая ОС реального времени QNXвремени QNX

QNXQNX была первой коммерческой ОС, была первой коммерческой ОС, построенной на принципах построенной на принципах микроядра и обмена сообщениями. микроядра и обмена сообщениями. Система реализована в виде Система реализована в виде совокупности независимых (но совокупности независимых (но взаимодействующих через обмен взаимодействующих через обмен сообщениями) процессов различного сообщениями) процессов различного уровня (менеджеры и драйверы), уровня (менеджеры и драйверы), каждый из которых реализует каждый из которых реализует определенный вид сервиса. определенный вид сервиса.

Page 14: Современные операционные системы

ППреимущества QNXреимущества QNX

Предсказуемость, Предсказуемость, означающая ее применимость к означающая ее применимость к задачам жесткого реального времени.задачам жесткого реального времени.

Масштабируемость Масштабируемость и и эффективность, эффективность, достигаемые достигаемые оптимальным использованием ресурсовоптимальным использованием ресурсов..

Расширяемость Расширяемость и и надежность надежность одновременно, одновременно, поскольку написанный вами драйвер не нужно поскольку написанный вами драйвер не нужно компилировать в ядро, рискуя вызвать компилировать в ядро, рискуя вызвать нестабильность системы. нестабильность системы.

Быстрый сетевой протокол Быстрый сетевой протокол FLEETFLEET, , прозрачный для прозрачный для обмена сообщениями, автоматически обмена сообщениями, автоматически обеспечивающий отказоустойчивость, обеспечивающий отказоустойчивость, балансирование нагрузки и маршрутизацию.балансирование нагрузки и маршрутизацию.

Компактная графическая подсистема Компактная графическая подсистема PhotonPhoton - - вместе с ОС всего 4вместе с ОС всего 4 Мбайт памятиМбайт памяти! !

Page 15: Современные операционные системы

Архитектура системы QNXАрхитектура системы QNX Микроядро Микроядро системысистемы имеет объем имеет объем отот 10 10 додо

32 Кбайт, то есть это одно из самых 32 Кбайт, то есть это одно из самых маленьких ядер среди всех маленьких ядер среди всех существующих операционных систем. В существующих операционных систем. В этом объеме помещаются:этом объеме помещаются:

механизм передачи сообщений между механизм передачи сообщений между процессами (процессами (IPCIPC););

редиректор (от редиректор (от redirectredirect - - перенаправлять) прерываний;перенаправлять) прерываний;

блок планирования выполнения задач;блок планирования выполнения задач; сетевой интерфейс для перенаправления сетевой интерфейс для перенаправления

сообщений (менеджер сообщений (менеджер NetNet).).

Page 16: Современные операционные системы

Архитектура системы QNXАрхитектура системы QNX Механизм передачи межпроцессных сообщений Механизм передачи межпроцессных сообщений

занимается пересылкой сообщений между занимается пересылкой сообщений между процессами, в том числе и системнымипроцессами, в том числе и системными..

Редиректор прерываний Редиректор прерываний является частью ядра и является частью ядра и занимается перенаправлением аппаратных занимается перенаправлением аппаратных прерываний в связанные с ними процессы.прерываний в связанные с ними процессы.

Блок планирования выполнения задач Блок планирования выполнения задач (диспетчер (диспетчер задач) занимается обеспечением задач) занимается обеспечением многозадачности. К выполнению функций многозадачности. К выполнению функций диспетчера ядро приступает в следующих диспетчера ядро приступает в следующих случаях:случаях: какой-либо процесс вышел из блокированного какой-либо процесс вышел из блокированного

состояния; состояния; истек квант времени для процесса, владеющего истек квант времени для процесса, владеющего CPUCPU; ; работающий процесс прерван каким-либо событием.работающий процесс прерван каким-либо событием.

Page 17: Современные операционные системы

Архитектура системы QNXАрхитектура системы QNX В В QNXQNX существуют три метода существуют три метода

диспетчеризации: диспетчеризации: FIFOFIFO, , roundround--robinrobin и и адаптивный адаптивный -- наиболее наиболее используемыиспользуемыйй.. Процесс, Процесс, работающий с адаптивным методом, ведет работающий с адаптивным методом, ведет себя следующим образом:себя следующим образом: Когда процесс полностью использовал выделенный Когда процесс полностью использовал выделенный

ему квант времени, его приоритет снижается на 1, ему квант времени, его приоритет снижается на 1, если в системе есть процессы с тем же уровнем если в системе есть процессы с тем же уровнем приоритета, готовые к исполнению.приоритета, готовые к исполнению.

Если процесс с пониженным приоритетом остается Если процесс с пониженным приоритетом остается не обслуженным в течение секунды, его приоритет не обслуженным в течение секунды, его приоритет увеличивается на 1.увеличивается на 1.

Если процесс блокируется, ему возвращается Если процесс блокируется, ему возвращается оригинальное значение приоритета.оригинальное значение приоритета.

Page 18: Современные операционные системы

Архитектура системы QNXАрхитектура системы QNX Сетевой интерфейс Сетевой интерфейс в системе в системе QNXQNX является является

частью ядра. Он взаимодействует с сетевым частью ядра. Он взаимодействует с сетевым адаптером через сетевой драйвер, но адаптером через сетевой драйвер, но базовые сетевые сервисы реализованы на базовые сетевые сервисы реализованы на уровне ядра. Передача сообщения процессу, уровне ядра. Передача сообщения процессу, находящемуся на другом компьютере, ничем находящемуся на другом компьютере, ничем не отличается не отличается для для приложения от передачи приложения от передачи сообщения процессу, выполняющемуся на сообщения процессу, выполняющемуся на том же компьютере. том же компьютере. ДДля приложений не ля приложений не имеет значения, с какого компьютера они имеет значения, с какого компьютера они были запущены, на каком исполняются и были запущены, на каком исполняются и куда поступают результаты их работы. куда поступают результаты их работы.

Page 19: Современные операционные системы

ММеханизмы организации еханизмы организации распределенных вычисленийраспределенных вычислений

Для организации сети на каждой Для организации сети на каждой машине, называемой узлом, помимо машине, называемой узлом, помимо ядра и менеджера процессов должен ядра и менеджера процессов должен быть запущен менеджер быть запущен менеджер NetNet. Менеджер . Менеджер NetNet не зависит от аппаратной не зависит от аппаратной реализации сети. Данная аппаратная реализации сети. Данная аппаратная независимость обеспечивается за счет независимость обеспечивается за счет использования сетевых драйверов. использования сетевых драйверов.

Кроме этого, имеется возможность Кроме этого, имеется возможность организации сети через организации сети через последовательный канал или модем. последовательный канал или модем.

Page 20: Современные операционные системы

ММеханизмы организации еханизмы организации распределенных вычисленийраспределенных вычислений

В В QNXQNX четвертой версии полностью четвертой версии полностью реализовано встроенное сетевое реализовано встроенное сетевое взаимодействие «точка-точка». взаимодействие «точка-точка». Например, находясь на машине А, вы Например, находясь на машине А, вы можете скопировать файл с гибкого можете скопировать файл с гибкого диска, подключенного к машине В, на диска, подключенного к машине В, на жесткий диск, подключенный к машине жесткий диск, подключенный к машине С. По существу, сеть из машин С. По существу, сеть из машин QNXQNX действует как один мощный компьютер. действует как один мощный компьютер. Любые ресурсы (модемы, диски, Любые ресурсы (модемы, диски, принтеры) могут быть добавлены к принтеры) могут быть добавлены к системе простым их подключением к системе простым их подключением к любой машине в сети. любой машине в сети.

Page 21: Современные операционные системы

ММеханизмы организации еханизмы организации распределенных вычисленийраспределенных вычислений

Каждому узлу в сети соответствует уникальный Каждому узлу в сети соответствует уникальный целочисленный идентификатор — логический целочисленный идентификатор — логический номер узла. Любой поток в сети номер узла. Любой поток в сети QNXQNX имеет имеет прозрачный доступ (при наличии достаточных прозрачный доступ (при наличии достаточных привилегий) ко всем ресурсам сети, то же самое привилегий) ко всем ресурсам сети, то же самое относится и к взаимодействию потоков. Для относится и к взаимодействию потоков. Для взаимодействия потоков, находящихся на взаимодействия потоков, находящихся на разных узлах сети, используются те же самые разных узлах сети, используются те же самые вызовы ядра, что и для потоков, выполняемых вызовы ядра, что и для потоков, выполняемых на одном узле. В том случае, если потоки на одном узле. В том случае, если потоки находятся на разных узлах сети, ядро находятся на разных узлах сети, ядро переадресует запрос менеджеру сети. переадресует запрос менеджеру сети.

Page 22: Современные операционные системы

ММеханизмы организации еханизмы организации распределенных вычисленийраспределенных вычислений

Для организации обмена в сети используется Для организации обмена в сети используется надежный и эффективный протокол надежный и эффективный протокол транспортного уровня транспортного уровня FLEETFLEET. Каждый из . Каждый из узлов может принадлежать одновременно узлов может принадлежать одновременно нескольким нескольким QNXQNX-сетям. В -сетям. В ээтом случае для том случае для передачи выбирается незагруженная и более передачи выбирается незагруженная и более скоростная сеть.скоростная сеть.

Этот протокол не базируется ни на одном из Этот протокол не базируется ни на одном из распространенных сетевых протоколов и распространенных сетевых протоколов и обладает рядом качеств, которые делают его обладает рядом качеств, которые делают его уникальным. Основные его качества уникальным. Основные его качества зашифрованы в аббревиатуре зашифрованы в аббревиатуре FLEETFLEET, которая , которая расшифровывается следующим образом.расшифровывается следующим образом.

Page 23: Современные операционные системы

Протокол Протокол FLEETFLEETFault-Tolerant Fault-Tolerant NetworkingNetworking

QNXQNX может одновременно может одновременно использовать несколько использовать несколько физических сетей. При физических сетей. При выходе из строя любой из выходе из строя любой из них данные будут них данные будут автоматически автоматически перенаправлены «на лету» перенаправлены «на лету» через другую сеть через другую сеть

Load-Load-Balancing on Balancing on the Fly the Fly

При наличии нескольких При наличии нескольких физических соединений физических соединений QNXQNX автоматически автоматически распараллеливает передачу распараллеливает передачу пакетов по соответствующим пакетов по соответствующим сетям сетям

Page 24: Современные операционные системы

Протокол Протокол FLEETFLEETEfficient Efficient Performance Performance

Специальные драйверыСпециальные драйверы для для широкого спектра сетевоширокого спектра сетевогого оборудования, позволяют с оборудования, позволяют с максимальной эффективностью максимальной эффективностью использовать использовать егоего

Extensible Extensible Architecture Architecture

Любые новые типы сетей могут Любые новые типы сетей могут быть поддержаны путем быть поддержаны путем добавления соответствующих добавления соответствующих драйверов драйверов

Transparent Transparent Distributed Distributed Processing Processing

Благодаря отсутствию разницы Благодаря отсутствию разницы между передачей сообщений в между передачей сообщений в пределах одного узла и между пределах одного узла и между узлами нет необходимости узлами нет необходимости вносить какие-либо изменения в вносить какие-либо изменения в приложения для того, чтобы они приложения для того, чтобы они могли взаимодействовать через могли взаимодействовать через сеть сеть

Page 25: Современные операционные системы

ММеханизмы организации еханизмы организации распределенных вычисленийраспределенных вычислений

Благодаря этой технологии сеть Благодаря этой технологии сеть компьютеров с компьютеров с QNXQNX фактически можно фактически можно представлять как один виртуальный представлять как один виртуальный суперкомпьютер. Все ресурсы любого из суперкомпьютер. Все ресурсы любого из узлов сети автоматически доступны узлов сети автоматически доступны другим, и для этого не нужны специальные другим, и для этого не нужны специальные «фокусы» с использованием технологии «фокусы» с использованием технологии RPCRPC. Это значит, что любая программа . Это значит, что любая программа может быть запущена на любом узле, при может быть запущена на любом узле, при этом ее входные и выходные потоки могут этом ее входные и выходные потоки могут быть направлены на любое устройство на быть направлены на любое устройство на любых других узлах.любых других узлах.

Page 26: Современные операционные системы

ММеханизмы организации еханизмы организации распределенных вычисленийраспределенных вычислений

Например, утилита Например, утилита makemake в в QNXQNX автоматически автоматически распараллеливает компиляцию пакетов из распараллеливает компиляцию пакетов из нескольких модулей на все доступные узлы нескольких модулей на все доступные узлы сети, а затем собирает исполняемый модуль сети, а затем собирает исполняемый модуль по мере завершения компиляции на узлах. по мере завершения компиляции на узлах. Специальный драйвер, входящий в комплект Специальный драйвер, входящий в комплект поставки, позволяет использовать для поставки, позволяет использовать для сетевого взаимодействия любое устройство, с сетевого взаимодействия любое устройство, с которым может быть ассоциирован файловый которым может быть ассоциирован файловый дескриптор, например последовательный дескриптор, например последовательный порт, что открывает возможности для порт, что открывает возможности для создания глобальных сетей.создания глобальных сетей.

Page 27: Современные операционные системы

Дополнительная Дополнительная информацияинформация

http://www.swd.ruhttp://www.swd.ru - - официальный официальный представитель представитель QNX QNX в России. в России. Распространяет литературу и Распространяет литературу и некоммерческие версии ОС.некоммерческие версии ОС.

http://qnx.org.ruhttp://qnx.org.ru - - сайт сайт сообщества разработчиков и сообщества разработчиков и пользователей ОС.пользователей ОС.