- •Промежуточные системы
- •А ппаратные средства
- •1.4.2. Загрузка ос
- •Построение и запуск задач
- •2. Основные компоненты операционных систем.
- •2.1. Понятия вычислительного процесса и ресурса
- •2.2. Понятия потока («нити») и многопоточности
- •2.2.1. Макросы и подпрограммы
- •2.2.2. Связывание информации
- •2.3. Основные принципы построения операционных систем
- •2.4. Архитектурные особенности проектирования операционных систем
- •2.5. Управление памятью
- •2.6. Управление вводом-выводом
- •3. Управление файлами и файловая система
- •4. Краткий обзор операционных систем
- •4.1.1. Операционная система unix. Общие понятия
- •4.1.2. Операционные системы реального времени
А ппаратные средства
Рис. 1.2. Объектно-ориентированная ОС
В объектно-ориентированных системах чаще используются потоки, чем процессы. Это связано с тем, что эти системы в основном являются узкоспециализированными и в них относительно редко добавляют новое программное обеспечение. Почтовый ящик- это объект, включающий в себя:
в качестве данных - три очереди: очередь процессов, ожидающих сообщения, очередь сообщений, ожидающих процессы, очередь процессов, пославших сообщения и ожидающих подтверждения;
в качестве методов — функции работы с очередью и операции чтения и записи.
Такая организация почтового ящика позволяет организовать обмен сообщениями между процессами без потери данных. Представители данного класса: OZONE, OS/400.
1.4.2. Загрузка ос
Чтобы операционная система могла функционировать, ее необходимо, как и любое программное обеспечение, однократно установить и загружать всякий раз для использования раньше, чем остальные программы. Загрузка - процесс подготовки программы к работе, заключающийся в пересылке программы из внешней памяти в оперативную память, ее настройке и дальнейшем запуске. Загрузка- это период высокой уязвимости системы. Ошибки в файлах конфигурации, сбои оборудования могут сильно осложнить этот процесс. Для различных ОС процессы различаются, но можно описать ход данной процедуры в общем случае.
Английское название процесса загрузки — bootstrapping (от англ. «pull itself up by its own bootstraps»), - система поэтапно «поднимет себя за шнурки ботинок». Действительно, основные средства ОС в момент запуска еще недоступны, приходится постепенно подтягивать нужные силы.
Загрузка операционной системы на IBM-совместимом компьютере начинается с того, что BIOS считывает программу начальной загрузки (MBR) с первого сектора накопителя (первые 512 байт накопителя, MBS) в оперативную память по адресу 0000:7с00 и передает ей управление. MBR начинает со сканирования таблицы разделов в поисках раздела, где находится начальный загрузчик ОС (он помечен особым флагом). Этот флаг показывает, что данный раздел является загрузочным. Как только MBR обнаружит хотя бы один такой флаг, она считывает в память загрузочный код из первого сектора раздела, помеченного флагом, и передает ему управление или же загружается ядро ОС.
Загрузочный код содержит программу загрузчик ОС, который:
обеспечивает необходимые средства для диалога с пользователем компьютера (например, загрузчик позволяет выбрать ядро операционной системы для загрузки);
приводит аппаратуру компьютера в состояние, необходимое для старта ядра операционной системы;
загружает ядро операционной системы в ОЗУ;
формирует параметры, передаваемые ядру операционной системы;
• передает управление ядру операционной системы. Наиболее популярная схема загрузки конкретной ОС [12];
■ загрузка и инициализация ядра;
■ распознавание и конфигурирование устройств; " создание необходимых системных процессов;
выполнение командных файлов запуска системы;
авторизация.
При «аварийной» (в специальном режиме) или ручной загрузке некоторые действия могут быть пропущены.
Проще всего происходит загрузка систем, ядро которых вместе со всеми дополнительными модулями (драйверами устройств, файловых систем и др.) собрано в единый загрузочный модуль. При переконфигурации системы, добавлении или удалении драйверов и других модулей необходима пересборка ядра, которая может производиться либо стандартным системным редактором связей, либо специальными утилитами генерации системы. Для такой пересборки в поставку системы должны входить исходные тексты (Linux) или объектные модули ядра.
Большинство современных ОС используют схему, при которой дополнительные модули подгружаются уже после старта самого ядра. Список модулей, которые необходимо загрузить, а также параметры настройки ядра, собраны в специальных файлах. У DOS этот файл называется CONFIG.SYS, у MS Windows - реестром. Сложность при таком способе загрузки состоит в том, что ядро, еще не до конца инициализировавшись, уже должно работать с файловой системой.
Большинство современных систем после основной загрузки требуют авторизованного входа в систему, и только после этого загрузка будет считаться завершенной.
Распространенные загрузчики (по материалам www.wikipedia.ru): •NTLDR - ядра Windows NT;
•Windows Boot Manager (bootmgr.exe, winload.exe) - ядра Windows Vista; ■LILO (Linux LOader) - ядра Linux;
•GRUB (Grand Unified Bootloader) - ядра Linux и Hurd (StartUp Manager); •OS/2 BootManager - загрузчик ядра OS/2; •RedBoot — для встраиваемых систем;
■SILO (SPARC Improved bootLOader) — Linux и Solaris для машин с архитектурой SPARC.
■Loadlin - Linux из под DOS или Windows; ■Syslinux - Linux из под DOS или Windows; •BOOTP - для загрузки по сети; ■Yaboot - Linux на PowerPC; ■BootX - Mac OS X.