Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции.doc
Скачиваний:
43
Добавлен:
30.04.2013
Размер:
16.33 Mб
Скачать

/Понятие прерываний в ос

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

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

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

Особые ситуации (разновидности прерываний) связаны с возникновением незапланированных событий, вызванных процессом, таких как недо­пустимая адресация, использование привилегированных команд, деление на ноль и т.д. Они отличаются от прерываний тем что, вызываются собы­тиями, внешними по отношению к процессу.

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

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

/Структура ос

Для чего же предназначено ядро ОС UNIX? Как и в других ОС, ядро поддерживает работу с дисками, занимается запуском программ и их оста‑

новкой, переключением процессора и другого оборудования между рабо‑

тающими программами,

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

  • Командный процессор, называемый shell, который считывает команды, введенные пользователем, и транслирует их в ядро.

  • Ядро которое взаимодействует с аппаратным обеспечением напрямую. Кроме того, ядро ОС UNIX разделяется по функциональным признакам (и не только Unix) на следующие компоненты:

Планировщик (Process Manager, Process Scheduler) — предназначен для управления процессами в системе. Он планирует время запуска и выполнения всех процессов в системе: прикладных, пользовательских и системных. Кроме того, он также осуществляет управление дочерними процессами и регулирует отношения между ними. В алгоритмы функционирования планировщика могут быть заложены возможности управления мультипроцессорной системой с симметричными несимметричным использованием процессоров.

Контроллер памяти (Memory Manager) — реализует организацию виртуальной памяти, которая позволяет исполнять процессы в пространстве, значительно превышающем размеры физической оперативной памяти.

Виртуальная файловая система (Virtual Fi1e System) — управляет реальной иерархической файловой системой на долговременных носителях с обеспечением управления доступа к файлам и директориям. Важной осо­бенностью VFS ОС UNIX является возможность поддержки множества файловых систем разного типа.

Сетевая подсистема (Abstract network services, NЕТ) — основана на использовании модели сокетов (sockets), введенных в ОС 4.3 BSD, обеспечивающей полную поддержку различных стекав протоколов, в том числе и TCP/IP.