Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Особенности операционной системы UNIX

D

|Режим ядра |Я | | |Я |
|Режим задачи | |З |З | |


Рисунок 1.5. Процессы и режимы их выполнения

Проще говоря, любое взаимодействие с аппаратурой описывается в терминах
режима ядра и режима задачи и протекает одинаково для всех
пользовательских
программ, выполняющихся в этих режимах. Операционная система хранит
внутренние записи о каждом процессе, выполняющемся в системе. На Рисунке
1.5 показано это разделение: ядро делит процессы A, B, C и D,
расположенные вдоль
горизонтальной оси, аппаратные средства вводят различия между режимами вы-

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

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

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

 

5.1 Прерывания и особые ситуации

Система UNIX позволяет таким устройства, как внешние устройства
ввода-вывода и системные часы, асинхронно прерывать работу центрального
процес-
сора. По получении сигнала прерывания ядро операционной системы
сохраняет
свой текущий контекст (застывший образ выполняемого процесса),
устанавливает
причину прерывания и обрабатывает прерывание. После того, как прерывание бу-

дет обработано ядром, прерванный контекст восстановится и работа
продолжится
так, как будто ничего не случилось. Устройствам обычно приписываются приори-

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

ванных процессом, таких как недопустимая адресация, задание привилегирован-

ных команд, деление на ноль и т.д. Они отличаются от прерываний, которые вы-

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

ботки прерываний и особых ситуаций в системе UNIX используется один и тот
же
механизм.

 

5.2 Уровни прерывания процессора


Ядро иногда обязано предупреждать возникновение прерываний во время кри-

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

мер, во время обработки списка с указателями возникновение прерывания
от
диска для ядра нежелательно, т.к. при обработке прерывания можно
запортить
указатели, что можно увидеть на примере в следующей главе. Обычно
имеется
ряд привилегированных команд, устанавливающих уровень прерывания
процессора
в слове состояния процессора. Установка уровня прерывания на
определенное
значение отсекает прерывания этого и более низких уровней, разрешая
обработку только прерываний с более высоким приоритетом. На Рисунке 1.6
показана
последовательность уровней прерывания. Если ядро игнорирует прерывания
от
диска, в этом случае игнорируются и все остальные прерывания, кроме
прерываний от часов и машинных сбоев.

[pic]

Рисунок 1.6. Стандартные уровни прерываний

 

5.3 Распределение памяти


Ядро постоянно располагается в оперативной памяти, наряду с
выполняющимся в данный момент процессом (или частью его, по меньшей мере).
В процессе
компиляции программа-компилятор генерирует последовательность адресов, явля-

ющихся адресами переменных и информационных структур, а также адресами инст-

рукций и функций. Компилятор генерирует адреса для виртуальной машины
так,
словно на физической машине не будет выполняться параллельно с
транслируемой
ни одна другая программа.
Когда программа запускается на выполнение, ядро выделяет для нее место
в
оперативной памяти, при этом совпадение виртуальных адресов,
сгенерированных
компилятором, с физическими адресами совсем необязательно. Ядро, взаимодейс-
твуя с аппаратными средствами, транслирует виртуальные адреса в
физические,
т.е. отображает адреса, сгенерированные компилятором, в физические,
машинные
адреса. Такое отображение опирается на возможности аппаратных средств,
поэтому компоненты системы UNIX, занимающиеся им, являются машинно-
зависимыми.
Например, отдельные вычислительные машины имеют специальное оборудование
для подкачки выгруженных страниц памяти.

 

6. ВЫВОДЫ

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

 

ЛИТЕРАТУРА


1. THE DESIGN OF THE UNIX OPERATING SYSTEM by Maurice J. Bach («Морис Дж.
Бах. Архитектура операционной системы Unix»Перевод с английского к.т.н.
Крюкова А.В.) Copyright c 1986 Корпорация Bell Telephone Laboratories.
Издано корпорацией Prentice-Hall. Отделение Simon & Schuster Энглвуд
Клиффс, Нью-Джерси 07632
2. Кристиан К. Операционная система UNIX. - М., Финансы и статистика,
1985, 320 стр.
3. Баурн С. Операционная система UNIX. - М., Мир, 1986, 464 стр.
4. Aho A.V., Kernighan B.W., Weinberger P.J. Awk - A Pattern Scanning and
Text Processing Language (2d Edition). - Bell Labs, Murray Hill, N.J.
5. Feldman S.I. Make - a program for maintaining computer programs. - Bell
Labs, Murray Hill, N.J. (а также в журнале Software - Practice and
Experience, vol.9).

(() Организации, получившие права на перепродажу с надбавкой к цене за
дополнительные услуги, оснащают вычислительную систему прикладными
программами, касающимися конкретных областей применения, стремясь
удовлетворить требования рынка. Такие организации чаще продают
прикладные программы, нежели операционные системы, под управлением
которых эти программы работают.
((( ) А что же версия IV ? Модификация внутреннего варианта системы
получила название "версия V".
(((() В некоторых реализациях системы UNIX операционная система
взаимодействует с обствен-ной операционной системой, которая, в свою
очередь, взаимодействует с аппаратурой и выполняет необходимые функции по
обслуживанию системы. В таких реализациях допускается инсталляция других
операционных систем с загрузкой под их управлением прикладных программ
параллельно с системой UNIX. Классическим примером подобной реализации
явилась система MERT [Lycklama 78a]. Более новым примером могут служить
реализации для компьютеров серии IBM 370 [Felton 84] и UNIVAC 100
[Bodenstab 84].
((((()Каталог "/bin" содержит большинство необходимых команд и обычно
входит в число каталогов, в которых ведет поиск командный процессор
shell.

Пред.6
скачать работу

Особенности операционной системы UNIX

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ