
- •Введение
- •1. Основные понятия в операционных системах
- •1.1. Классификация и функции операционных систем
- •1.2. Ос общего назначения и реального времени
- •1.3. Выполнение команд в вычислительной системе
- •1.4. Прерывания
- •1.5 Архитектуры операционных систем
- •1.6. Управление оперативной памятью вычислительной системы
- •1.7. Общие сведения о процессах и потоках
- •2. Операционная система windows
- •2.1. Версии операционной системы Windows
- •2.2. Архитектура операционной системы windows
- •2.3. Процессы и потоки в Windows
- •2.4. Взаимодействие процессов
- •2.5. Управление потоками в Windows
- •2.6. Файловые системы Windows
- •2.7. Установка и последовательность загрузки Windows
- •Последовательность загрузки Windows xp
- •2.8. Интерпретатор команд и пакетные файлы
- •2.9. Конфигурирование Windows
- •3. Операционная система qnx neutrino
- •3.1. Версии операционной системы qnx Neutrino
- •3.2. Архитектура операционной системы qnx Neutrino
- •3.3. Процессы в qnx6
- •Завершение процесса
- •3.4. Потоки в qnx6
- •Завершение потока
- •3.5. Управление потоками и процессами в qnx6
- •Механизмы ipc
- •Средства синхронизации в qnx
- •3.6. Файловые системы qnx
- •Типы файлов
- •3.7. Инсталляция и последовательность загрузки qnx
- •3.8. Интерпретаторы команд и пакетные файлы в qnx
- •3.9. Конфигурирование qnx
- •4. Виртуальные машины
- •4.1. Общие сведения о виртуальных машинах
- •4.2. Работа с виртуальной машиной VmWare
- •5. Защита от сбоев и несанкционированного доступа
- •5.1. Принципы построения систем безопасности
- •5.2. Безопасность операционной системы windows
- •6. Сетевые возможности операционных систем
- •6.1. Аппратаное обеспечение локальных сетей
- •6.2. Сети Windows
- •6.3. Локальная сеть на основе qnet
- •6.4. Глобальные сети
- •7. Многопроцессорные системы
- •7.1. Архитектуры многопроцессорных операционных систем
- •7.2. Принципы функционирования smp
- •7.3. Принципы функционирования кластеров
- •Список использованной литературы
- •Компилятор
3.6. Файловые системы qnx
Высокая степень отказоустойчивости благодаря разбиению блоков а основной битовой карте, защита от потерь данных и возможность быстрого восстановления, использование многопоточности, приоритетность. Родной раздел QNX называется QNX4FS (для версий ОС QNX 4.х – 6.3.) и QNX6FS (начиная с версии ОС QNX 6.4.0), новый раздел создается утилитой fdisk [15]. Принято согласование разделов - первое число порядковый номер диска, второе – тип раздела диска.
Раздел имеет компоненты: блок загрузки, ключевой (root), битовая карта, корневой каталог. Блок загрузчика - первичный физический блок в разделе диска. Содержит начальный загрузчик. Корневой блок имеет структуру обычного, содержит следующие в себе: корневой root каталог, файл /.inodes – информационный узел. Если имя файла длиннее 16 символов, содержимое файла помещается в этот файл. Файл /.boot содержит загрузочный образ ОС. Файл /.altboot - содержит резервный загрузочный образ. Файл /.longfilenames – файл, содержащий столько битов, сколько разделов у диска. Каждому физическому разделу соответствует 1 бит.
Типы файлов
В QNX файл - это объект, в который может производиться запись, из которого может производиться чтение, либо и то и другое. QNX поддерживает шесть типов файлов: В QNX поддерживаются следующие типы файлов:
регулярные(обычные) файлы;
каталоги; жёсткие и символические ссылки;
блок- и байт-ориентированные специальные файлы;
специальные именованные устройства (Named Special Device);
именованные программные каналы (pipes).
Регулярные файлы - состоят из последовательности байт с произвольным доступом и не имеют предопределенной структуры. Они составляют большинство файлов в файловых системах. Файловые системы поддерживаются Менеджером файловой системы и реализованы на базе блок-ориентированных файлов, соответствующих разделам диска.
Каталоги - содержат элементы каталога и информацию, необходимую для поиска регулярных файлов; также содержат статус и атрибуты для каждого регулярного файла. Каждый элемент каталога увязывает имя файла с файлом. Имя файла - это символьное имя, которое позволяет идентифицировать файл и работать с ним. Файл может быть идентифицирован несколькими именами.
Символические связи (ссылки) - содержат путь к файлу или каталогу, к которым перенаправляются все запросы; символические связи, часто используются для предоставления множества путей к одному файлу.
Программные каналы (pipes) и FIFO - служат как каналы ввода/вывода между взаимодействующими процессами.
Блок-ориентированные файлы - относятся к устройствам, таким, как диски, ленты и разделы дисков. Доступ к этим файлам обычно осуществляется таким образом, что аппаратные характеристики устройств скрыты от приложений.
Байт-ориентированные специальные файлы-файлы, аналогичные блочным устройствам, с той разницей ,что символьные устройства обеспечивают интерфейс к аппаратуре, осуществляющей посимвольный ввод/вывод. К такой аппаратуре относятся, например, последовательный порт, сетевая карта и т.п. Эти файлы ,так же как и блочные. Создаются драйверами при запуске.
Жесткие ссылки (связи) - дополнительные элементы каталога. При ее создании, во-первых, информация о физическом размещении данных выносится в файл /.inodes, во-вторых, счетчик ссылок (атрибут файла) увеличивается на единицу. При удалении одной из жестких ссылок реально будет удален только соответствующий элемент каталога, а счетчик ссылок на inode-запись будет уменьшен на единицу. Как только счетчик достигнет значения “ноль”, и inode-запись ,и физические данные файла будут уничтожены.
Именованные специальные устройства-специальный дополнительный тип файлов (Named Special Device).
В QNX файл может обозначаться более чем одним именем. Каждое имя файла называется связью. В действительности существует два вида связей: жесткие связи, или просто "связи", и символические связи. Для поддержки связей каждого файла, имя файла отделяется от остальной информации, описывающей файл. Эта информация хранится в структуре, называемой inode (индексным дескриптором).
Если файл имеет только одну связь (т.е. одно имя), то блок inode хранится в элементе каталога для этого файла. Но если файл имеет более чем одну связь, то inode хранится как запись в специальном файле /.inodes, а элемент каталога для файла содержит указатель на запись inode.Можно создать связь для файла, только если файл исвязь находятся в одной и той же файловой системе.
Нельзя создавать жесткие связи для каталога. Однако каждый каталог имеет две жестко определенные связи: «.» («точка»), «..» («точка точка»). Имя файла "точка" соответствует текущему каталогу; "точка точка" соответствует каталогу, предшествующему текущему каталогу.
Доступ к регулярным файлам и каталогам управляется битами режима, хранящимися в inode (индексном дескрипторе) файла. Эти биты разрешают чтение, запись и выполнение в зависимости от эффективных ID пользователя и группы. При этом пользователи делятся на три категории:
владелец файла;
члены группы, к которой принадлежит владелец;
остальные.
Процесс может выполняться с ID пользователя или ID группы файла, а не родительского процесса. Механизм, который позволяет это, называется setuid (установить ID пользователя) и setgid (установить ID группы).
QNX может работать со следующими типами файловых систем:
встраиваемые: образная (ROM/Flash, Execute-in-place), в ОЗУ (временное хранилище), NOR Flash (линейное flash-ППЗУ), NAND Flash (страничное flash-ППЗУ);
дисковые: OC QNX (POSIX (QNX4)), Linux (Ext2), MS-DOS (FAT 12, 16, 32), CD-ROM (ISO9660, Joliet);
специальные: со сжатием (разворачивание «на лету»), пакетная (обновления и откаты на «лету»);
сетевые: NFS (совместимость с UNIX), CIFS ( совместимость Microsoft).
На рис. 54 показана типовая структура каталогов QNX Neutino. Основные каталоги следующие [5]:
Корневой каталог "/" является основой любой файловой системы UNIX. Все остальные файлы и каталоги располагаются в рамках структуры, порожденной корневым каталогом, независимо от их физического местонахождения.
/bin В каталоге /bin находятся наиболее часто употребляемые команды и утилиты системы, как правило, общего пользования.
/dev Каталог /dev содержит специальные файлы устройств, являющиеся интерфейсом доступа к периферийным устройствам.
/etc В этом каталоге находятся системные конфигурационные файлы и многие утилиты администрирования.
Рис. 54 Организация каталогов QNX Neutino
/lib В каталоге /lib находятся библиотечные файлы языка С и других языков программирования.
/lost+found Каталог "потерянных" файлов. Программы проверки и восстановления файловой системы помещают файлы в каталог /lost+found под системными числовыми именами.
/mnt Стандартный каталог для временного связывания (монтирования) физических файловых систем к корневой для получения единого дерева логической файловой системы.
/home Общеупотребительный каталог для размещения домашних каталогов пользователей.
/usr В этом каталоге находятся подкаталоги различных сервисных подсистем -системы печати, электронной почты и т. д. (/usr/spool), исполняемые файлы утилит UNIX (/usr/bin), дополнительные программы, используемые на данном компьютере (/usr/Iocal), файлы заголовков (/usr/include), электронные справочники (/usr/man)n т. д.
/var В UNIX System V этот каталог является заменителем каталога /usr/spool, используемого для хранения временных файлов различных сервисных подсистем — системы печати, электронной почты и т. д.
-/tmp Каталог хранения временных файлов, необходимых для работы различных подсистем QNX.