Лекция № 10. Операционные системы qnx и Linux
Сетевая операционная система реального времени QNX является мощной операционной системой, разработанной для процессоров с архитектурой i32. Она позволяет проектировать сложные программные комплексы, работающие в реальном времени как на отдельном компьютере, так и в локальной вычислительной сети. Встроенные средства QNX обеспечивают поддержку многозадачного режима на одном компьютере и взаимодействие параллельно выполняемых задач на разных компьютерах, работающих в среде локальной вычислительной сети.
Основным языком программирования в системе является C. Основная операционная среда соответствует стандарту POSIX. Это позволяет с небольшими доработками переносить ранее разработанное программное обеспечение в QNX.
Операционная система QNX обладает свойствами предсказуемости и масштабируемости.
Предсказуемость означает применимость системы к задачам жесткого реального времени. QNX является операционной системой, которая дает полную гарантию того, что процесс с наивысшим приоритетом начнет выполняться практически немедленно, и критически важное событие (например, сигнал тревоги) никогда не будет потеряно.
Масштабируемость – свойство, выражающееся в возможности исполнения программы на различных ресурсах (объём памяти, число и производительность процессоров) с пропорциональным изменению ресурсов значением показателей эффективности. Именно способность работать на ограниченных аппаратных ресурсах позволяет использовать QNX во встроенных системах.
С точки зрения пользовательского интерфейса QNX очень похожа на UNIX, поскольку выполняет требования стандарта POSIX. Однако QNX – это не версия UNIX, хотя многие так считают. Операционная система QNX была разработана «с нуля» канадской фирмой QNX Software Systems Limited в 1989 году по заказу Министерства обороны США, причем на совершенно иных архитектурных принципах, нежели использовались при создании операционной системы UNIX.
QNX была первой коммерческой операционной системой, построенной на принципах микроядра и обмена сообщениями. Система реализована в виде совокупности независимых (но взаимодействующих путем обмена сообщениями) процессов различного уровня (менеджеры и драйверы), каждый из которых реализует определенный вид услуг.
Микроядро операционной системы QNX имеет объем всего в несколько десятков килобайтов (в одной из версий – 10 Кбайт, в другой – менее 32 Кбайт, хотя есть вариант и на 46 Кбайт). В этом объеме помещаются:
- Механизм передачи сообщений между процессами IPC (Inter Process Communication).
- Редиректор (redirector) прерываний.
- Блок планирования выполнения задач (диспетчер задач).
- Сетевой интерфейс для перенаправления сообщений (менеджер Net).
10.2. Операционная система Linux
Операционная система Linux, созданная Линусом Торвальдсом в 1991 году лидирует среди UNIX-систем новой школы с открытым исходным кодом, появившихся в 1990 году (в их число также входит FreeBSD, NetBSD, OpenBSD и Darwin), и представляет направление конструирования, принятое данной группой в целом. Linux не включает в себя код из дерева исходных кодов первоначальной UNIX, но данная система была сконструирована на основе UNIX-стандартов и работает подобно UNIX. Многие разработчики и активисты Linux-сообщества стремятся к тому, чтобы данная операционная система заняла прочные позиции на рабочих столах конечных пользователей. Это делает целевую аудиторию Linux несколько шире, чем в случае какой-либо из UNIX-систем старой школы, которые в основном были нацелены на рынки серверов и рабочих станций технических пользователей. Наиболее очевидным новшеством является смена предпочтительных стилей интерфейса. Большинство UNIX-программистов долго оставались прочно привязанными к командной строке. Разработчики Linux перешли к созданию GUI-интерфейсов. Желание склонить на свою сторону конечных пользователей также заставило Linux-разработчиков гораздо больше интересоваться проблемами простоты инсталляции и распространения программного обеспечения, чем это было принято при разработке частных UNIX-систем. Linux-сообщество стремится превратить свое программное обеспечение в некий универсальный канал связи между различными средами. Поэтому Linux предоставляет поддержку чтения и (нередко) записи форматов файловых систем и методов сетевого взаимодействия, характерных для других операционных систем. Linux также поддерживает возможность выбора операционной системы при начальной загрузке на одном и том же аппаратном обеспечении (мультизагрузку), а также программную эмуляцию данных систем внутри самой себя. Долгосрочной целью является поглощение этих систем. Linux-разработчики перенимают конструкторские идеи из операционных систем, не относящихся к семейству UNIX. Примером могут служить Linux-приложения, использующие для конфигурации INI-файлы формата Windows. Внедрение в ядро 2.5 Linux расширенных атрибутов файлов, которые среди прочего можно использовать для эмуляции семантики ветви ресурса в Macintosh, – еще один яркий пример этого. Остальные частные UNIX-системы (такие как Solaris, HP-UX, AIX и другие) разрабатываются как большие продукты для суперкомпьютеров. Их рыночная ниша поддерживает конструкции, оптимизированные под максимальную мощность на высококлассном, инновационном аппаратном обеспечении. Поскольку частично Linux связана со средой энтузиастов PC, особое значение в данной системе уделяется выполнению большего количества задач при меньших затратах.
Операционная система LINUX. Особенности построения и использования.
Систему Linux в 90-м году разработал Линус Торвальд при участии другх производителей. Она стала привлекательной альтернативой для всех, кто работает на персональном компьютере. В ней объединены мощь и гибкость рабочей Unix-станции, возможность использования полного набора приложений Internet и полнофункциональный графический интерфейс. Все это свободно инсталлируется на любом РС, оснащенной процессором 486 или Pentium. Существуют версии для Sun, Macintosh. Знания Unix не требуется. В сети Internet ОС Linux служит платформой для очень мощных приложений: кроме использования возможностей Internet, можно создавать свои собственные узлы для работы сетевых служб. Другие пользователи обращаются к Linux-машине в многопользовательском режиме. Можно задействовать и очень мощные Unix-приложения.
Linux — полнофункциональная система Unix. Она предоставляет все стандартные возможности этой мощной ОС. В частности, в ней имеются оболочки (shell) — интерпрететоры команд пользователя (Bourne Again Shell и TCSH). Любая из них поддерживает развитый язык программирования. ПО включает в себя средства разработки программ, редакторы, текстовые процессоры, специализированные прикладные программы, в том числе предназначенные для работы с графической и аудиоинформацией.
В системе LInux предусмотрен тот же уровень организации системного администрирования, который характерен для Unix. Она обеспечивает возможность работы в многопользовательском и многозадачном режимах, управление правами доступа к ресурсам системы, установление сетевых соединений, конфигурирование пользовательского интерфейса (инсталляция принтеров, подключение пользователей, установление сетевых соединений). В состав Linux входит набор инструментальных средств, с помощью которых можно создавать приложения. С-компилятор, языки Perl, Td/Tk (программы работают и под W95, и под Macintosh).
Система Open-Linux — оконный интерфейс, состоящий из менеджера окон и рабочего стола, управляющего файлами с помощью меню и пиктограмм. Этот интерфейс стабилен и прост в работе.
Причем в Linux можно использовать различные менеджеры окон и рабочего стола. Многие из этих интерфейсов выглядят и работают так же, как другие популярные интерфейсы (например, интерфейс менеджера окон fvwm95 похож на W95).
Базовый набор операций OC Unix нужен для работы с Linux.
Linux — это ОС, отлдичная от других. Большинство ОС РС создавались для небольших ПК, обладавших ограниченными возможностями. Linux же разрабатывалась в совершенно ином контексте: ПС-версия Unix, которая используется на мини-ЭВМ, РС. Поэтому скорость, эффективность, гибкость (от Unix).
Управление файлами, управление программами, взаимодействие с пользователем — это традиционные функции, общие для всех ОС. У Linux, как у всех версий Unix, есть еще 2 особенности: она является многопользовательской и многозадачной. Некоммерческая, распространяется бесплатно в рамках фонда бесплатного программного обеспечения.
О бзор ОС Linux
ОС Linux, как и ОС Unix, можно разделить на основных компонента: ядро, shell, ф.структуру, утилиты.
Ядро — это базовая программа, которая управляет выполнением других программ и аппаратными средствами.
Shell — обеспечивает функционирование интерфейса пользователя, принимая от него команды и посылая их в ядро для исполнения.
Файловая структура — представляет собой систему хранения файлов на ЗУ (каталоги, подкаталоги).
Утилиты — специализированные программы для выполнения тех или иных операций (редакторы, коммуникационные программы. )
Несколько интерпретаторов командной строки + графический интерфейс (GUI) XWindow.
Менеджер окон (самый популярный) — Free Virtual Window Manager (fvwm), Motiv Window Manager (mwm), Open Look Window Manager (olwm).
Shell не только интерпретирует команды, но и создает среду, которую можно конфигурировать, программировать (с помощью специального языка программирования shell).
Особая категория утилит — фильтры. Фильтр считывает входную информацию, поступившую либо от пользователя, либо из файла, либо из другого источника, изучает и обрабатывает ее, а затем выдает результат. Сузествует много типов фильтров. Можно писать свои фильтры — язык программирования Awk.
Одной из важнейших черт Linux, как и всех Unix-систем, является наличие набора инструментальных средств, предназначенных для работы в Internet (эту сеть создавали и развивали именно на основе Unix-систем). Программы FTP, Telnet впервые реализованы на Unix.
Фильтры
Фильтры делятся на 3 категории: фильтры файлов, редактируемые фильтры и фильтры данных. Фильтр файлов выполняет такие базовые операции, как вывод файлов на экран и образцов в файлах. Редактируемый фильтр выполняет операции редактирования, а фильтр данных — манипулирует с полями данных в файлах. Можно указать последовательность фильтров, формировать сложные запросы по образцу — регулярные выражения.
XWindow
Не привязана к какому-либо интерфейсу рабочего стола. Она обеспечивает выполнение базового набора графических операций, которыми пользуются такие компоненты пользовательских интерфейсов, как менеджеры окон и менеджеры файлов.
Менеджер окон с помощью этих операций создает элементы управления окнами — линейки прокрутки, кнопки. Все менеджеры окон делают это по своему, создавая различные пользовательские интерфейсы, но все они работают на базе XWindow. XWindow отличается высокой гибкостью, ее можно по разному конфигурировать. Она совместима со многими видеокартами.
Для ОС Linux есть эмуляторы, которые позволяют выполнить программы DOS и Windows (они находятся на стадии разработки).
В состав ОС Linux входят утилиты электронной почты, утилиты непосредственной связи с пользователем (как радиосвязь и телефон), включены средства доступа в Internet. Linux-машина может работать на Web-сервере.
Linux позволяет осуществить удаленный город к другим Linux и Unix-системам.
Заключение
В целом ОС Linux удобна для пользователя, ее можно конфигурировать и программировать, она является операционной средой.