Операционная система QNX 4. Архитектура системы


   Дерматологические препараты купить в Украине        

Операционная система QNX 4.Архитектура системы

Основным назначением любой операционной системы (ОС) является управление ресурсами компьютера. Все процессы в системе: планирование выполнения прикладных программ, запись файлов на диск, пересылка данных по сети и т.д., - должны выполняться как можно более единообразно и бесконфликтно.
Некоторые прикладные системы могут предъявлять повышенные требования к управлению ресурсами и планированию процессов. Например, работа приложений реального времени зависит от того, как операционная система управляет большим количеством событий, возникающих за конечные интервалы времени. Чем больше функций берет на себя ОС, тем более свободно "чувствуют" себя эти приложения при возникновении конфликтных ситуаций.
Для приложений, работающих в режиме реального времени, QNX является идеальной операционной системой. Она удовлетворяет всем основным требованиям, предъявляемым к системам реального времени: в ней реализован многозадачный режим, приоритетно-управляемое планирование и быстрое переключение контекста.

Архитектура ядра системы QNX
Ядро системы QNX
Системные процессы
Системные процессы и процессы пользователя
Драйверы устройств
Связь между процессами
Операционная система с передачей сообщений
QNX как сеть
Однокомпьютерная модель
Гибкая сетевая обработка

Unix - статьи

Демонами в мире Unix традиционно называются процессы, которые не взаимодействуют с пользователем напрямую. У процесса-демона нет управляющего терминала и нет, соответственно, пользовательского интерфейса. Для управления демонами приходится использовать другие программы. Само название «демоны» возникло благодаря тому, что многие процессы этого типа большую часть времени проводят в ожидании какого-то события. Когда это событие наступает, демон активизируется (выпрыгивает, как чертик из табакерки), выполняет свою работу и снова засыпает в ожидании события. Следует отметить, что многие демоны, такие как, например, Web-сервер или сервер баз данных, могут отбирать на себя практически все процессорное время и другие ресурсы системы. Такие демоны гораздо больше работают, чем спят.

Демоны
Область применения демонов – создание таких приложений, которые могут, и должны, выполняться без участия пользователя. Обычно это разного рода серверы. Тем не менее, демоны задействуют многие важные элементы системы и понимание принципов работы демонов способствует пониманию принципов работы Unix/Linux в целом (помимо прочего, добрый демон поможет нам изучить некоторые особенности применения сигналов, с которыми мы ранее не сталкивались).

Демоны
Демоны - 2
Демоны - 3
Демоны - 4
Демоны - 5
Демоны - 6

Linux API – Введение в межпроцессное взаимодействие
Наличие в Unix-системах простых и эффективных средств взаимодействия между процессами оказало программирование в Unix не менее важное влияние, чем представление объектов системы в виде файлов. Благодаря межпроцессному взаимодействию (Inter-Process Communication, IPC) разработчик (и пользователь) может разбить решение сложной задачи на несколько простых операций, каждая из которых доверяется отдельной небольшой программе.

Неименованные каналы
Неименованные каналы - 2
Неименованные каналы - 3
Неименованные каналы - 4
Неименованные каналы - 5
Неименованные каналы - 6

Linux API – работаем с файловой системой
Управление хранением данных на диске – одна из самых важных задач любой ОС, настолько важных, что система DOS так и называлась – дисковая операционная система. Вероятно, читатель этой статьи, желающий стать Linux- программистом, уже знает, как устроена файловая система Linux с точки зрения пользователя. Мы рассмотрим эту систему с точки зрения программиста. Один из основополагающих принципов Unix/Linux – everything is a file – в вольном переводе означает: «файлы - наше все».

Управление файлами устройств
Управление файлами устройств - 2
Управление файлами устройств - 3
Файловая система /proc
Два способа прочесть содержимое директории
Разреженные файлы
Блокировка областей файла
Литература:

Процессы и потоки
Понятие процесса играет ключевую роль в современных ОС. Существует много определений процессов, я воспользуюсь простым определением, данным в [] – процесс, это выполняющийся экземпляр программы. Хотя это определение, в общем, «работает», оно не совсем подходит к многопоточным программам Linux, о которых мы поговорим в следующей статье. Важный аспект процессов с точки зрения ОС – неделимость процесса относительно выделения ресурсов.

Процессы и потоки
Процессы и потоки - 2
Процессы и потоки - 3
Процессы и потоки - 4
Процессы и потоки - 5
Процессы и потоки - 6

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

Сигналы
Сигналы - 2
Сигналы - 3
Сигналы - 4
Сигналы - 5
Список реентерабельных функций

Сокеты
В конкурсе на лучшую компьютерную идею всех времен и народов сокеты, без сомнения, могли бы рассчитывать на призовое место. Как и другие средства межпроцессного взаимодействия, рассмотренные в этой серии статей, сокеты впервые были реализованы именно на платформе Unix (4.2BSD), однако, концепция сокетов, как универсального средства обмена данными между процессами, оказалась настолько удачна, что все современные системы поддерживают, по крайней мере, некоторое подмножество сокетов.

Сокеты в файловом пространстве имен
Сокеты в файловом пространстве имен - 2
Парные сокеты
Сетевые сокеты
Сетевые сокеты - 2
Сетевые сокеты - 3
Сетевые сокеты - 4
Литература:

Объекты SVID IPC
Интерфейсы трех механизмов SVID IPC подобны. Для того, чтобы разные процессы могли получить доступ к одному объекту системы, они должны «договориться» об идентификации этого объекта. Роль идентификатора для всех объектов System V IPC выполняет ключ - уникальное число-идентификатор объекта. Для того, чтобы использовать один и тот же объект, программы должны использовать один и тот же ключ.

Объекты SVID IPC
Объекты SVID IPC - 2
Объекты SVID IPC - 3
Разделяемая память
Разделяемая память - 2
Разделяемая память - 3
Семафоры
Семафоры - 2

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

Потоки
Потоки и процессы
Потоки и процессы - 2
Потоки и процессы - 3
Потоки и процессы - 4
Потоки и процессы - 5
Досрочное завершение потока
Досрочное завершение потока - 2

Средства синхронизации потоков
Изучая взаимодействие между процессами, мы много внимания уделили средствам синхронизации процессов. У потоков тоже есть свои специальные средства синхронизации. Вернемся к первому примеру из предыдущей статьи, - программе threads. Напомню, что в том примере мы создавали два потока, используя одну и ту же функцию потока. В процессе создания каждого потока этой функции передавалось целочисленное значение (номер потока).

Средства синхронизации потоков
Средства синхронизации потоков - 2
Атрибуты потоков
Литература:

Управление ресурсами в ОС UNIX

Работая на командном языке, пользователь может вводить переменные, присваивать им значения, выполнять простые команды, строить составные команды, управлять потоком выполнения команд, объединять последовательность команд в процедуры (командные файлы). На уровне командного языка доступны такие свойства системы как соединение процессов через программный канал, направление стандартного ввода/вывода в конкретные файлы, синхронное и асинхронное выполнение команд.
Если указанный интерпретатору файл является текстовым и содержит команды командного языка (командный файл) и при этом имеет разрешение на выполнение (помечен "х"), Shell-интерпретатор интерпретирует и выполняет команды этого файла. Другой способ вызова командного файла - использование команды sh (вызов интерпретатора), в котором первым аргументом указывается имя командного файла.

Цель работы
Содержание работы
Методические указания к лабораторной работе
Методические указания к лабораторной работе - 2
Варианты заданий
Контpольные вопpосы
Цель работы
Содержание работы
Методические указания к лабораторной работе
Возвращают дескриптор файла Преобразуют

Операционная система UNIX. Инсталляция

Программное обеспечение System V может быть установлено на двух жестких дисках. Например, корневая файловая система и файловая система /usr могут располагаться на разных жестких дисках. Оба диска должны быть совместимы (либо оба диска должны отвечать интерфейсу SCSI, либо оба интерфейсу ESDI).
Если вы имеете жесткий диск, отвечающий стандарту SCSI и хотите восстановить System V с ленты, ваша система должна использовать драйвер ленты SCSI.
Если вы имеете систему не отвечающую стандарту SCSI, то контроллер ленты должен быть построен как показано в табл. 1. Когда система загружается, то производится проверка этих номеров и если обнаруживается несоответствие, то инсталляция прерывается. Адреса и вектора прерываний могут быть изменены после того, как инсталляция будет выполнена.

Базовая операционная система
Необязательные пакеты программ
Дополнительные пакеты программ
Общие требования
Специальные требования
Общие сведения о процедуре инсталляции
Общие комментарии к инсталляции
Восстановление файлов System V версии 2
Новая инсталляция
Загрузка системы

Установка операционной системы UNIX SYSTEM V

Этот раздел описывает как инсталировать базовую операционную систему. Здесь будет описано:
* как загружать операционную систему с загрузочных дискет;
* как указывать тип файловой системы для логических дисков и файловых систем по умолчанию;
* как установить необходимые вам наборы модулей в вашей системе;
* как инсталировать базовую операционную систему на ваш жесткий диск.

Загрузка системы
Загрузка системы - 2
Загрузка системы - 3
Восстановление пакетов с ленты
Восстановление пакетов с ленты - 2
Восстановление пакетов с дискеты
Восстановление пакетов с дискеты - 2
Восстановление пакетов с дискеты - 3
Установка базовой системы
Использование интерфейса OAM

Администрирование групп

В основном, группы (юзеров) используются при определении прав доступа к различным файлам и директориям. Не вдаваясь в подробности, можно сказать, что для каждого файла (директории) в Unix'е существует его владелец (это один из юзеров) и группа "особо допущенных" к этому файлу (директории). При этом владелец файла может задать права доступа к нему (чтение, запись и т.п.) разные для себя, группы "допущенных" и для всех остальных (не входящих в эту группу).
Естественно, сам состав групп (список индивидуальных юзеров, входящих в группу) хранится в соответствующей базе данных (пусть, даже и очень примитивной), а к файлам "привязывается" только номер группы (groupID).

Продолжение

Руководство администратора Linux по безопасности

Самый надежный способ защититься от сетевых атак: открывать порты и запускать сервисы только при необходимости (уж сколько было проникновений через игры типа MUD...), своевременно обновлять программы и защитить все, что только можно firewallом.
К счастью в Linux эти инструментальные средства свободны и легко доступны, я буду рассматривать opensource инструментальные средства, так как идея относительно firewall с закрытыми исходниками довольно подозрительна. Первая линия защиты должна быть хорошим firewall, сопровождаемого фильтрами пакета на всех Internet-машинах, либеральное использование TCP-WRAPPERS, подробная регистрация событий и автоматический анализ протоколов.

Административные инструментальные средства
Безопасность файлов и файловых систем
Безопасность маршрутизации
Виртуальные частные сети


Психологические игры и упражнения - перейти
Технология ведения тренинга - перейти
Упражнения схемы и стратегии - перейти
Психологические тренинги - перейти
Психологические тесты - перейти
Тест жизнестойкости - перейти
Тесты и психологические игры - перейти
Ваши скрытые резервы - перейти
Delphi для профессионалов - перейти
ООП - перейти
Компоненты VCL и базовые классы - перейти
Обработка исключительных ситуаций - перейти
Программирование для Linux - перейти
Элементы управления Win32 - перейти
Элементы управления Windows XP - перейти