|
|
|
|
|
|
|
|
|
ТЕОРИЯ ОПЕРАЦИОННЫХ СИСТЕМ
Введение. Основные понятия и определения. Операционная система - это программа, которая выполняет функции посредника между пользователем и компьютером.
ОС, выполняя роль посредника, служит двум целям: эффективно использовать компьютерные ресурсы. создавать условия для эффективной работы пользователя В качестве ресурсов компьютера обычно рассматривают: время работы процессора адресное пространство основной памяти
оборудование ввода - вывода файлы, хранящиеся во внешней памяти На рисунке приведены основные компоненты ОС как системы разделения ресурсов. Таким образом, основные компоненты ОС: управление процессами (распределяет ресурс — процессорное время); управление памятью (распределяет ресурс — адресное пространство основной памяти); управление устройствами (распределяет ресурсы) — оборудование ввода - вывода; управление данными (распределяет ресурс — данные или файлы). Функционирование компьютера после включения питания начинается с запуска программы первоначальной загрузки — Boot Track. Программа Boot Track инициализирует основные аппаратные блоки компьютера и регистры процессора (CPU), накопитель памяти, контроллеры периферийного оборудования. Затем загружается ядро ОС, то бишь Operating System Kernel. Дальнейшее функционирование ОС осуществляется как реакция на события, происходящие в компьютере. Наступление того или иного события сигнализируется прерываниями - Interrupt. Источниками прерываний могут быть как аппаратура (HardWare), так и программы (SoftWare). Аппаратура “сообщает” о прерывании асинхронно (в любой момент времени) путем пересылки в CPU через общую шину сигналов прерываний. Программа “сообщает” о прерывании путем выполнения операции System Call. Примеры событий, вызывающих прерывания: попытка деления на 0 запрос на системное обслуживание завершение операции ввода - вывода неправильное обращение к памяти Каждое прерывание обрабатывается соответственно обработчиком прерываний (Interrupt handler), входящим в состав ОС. Главные функции механизма прерываний — это: распознавание или классификация прерываний передача управления соответственно обработчику прерываний корректное возвращение к прерванной программе Переход от прерываемой программы к обработчику и обратно должен выполняться как можно быстрей. Одним из быстрых методов является использование таблицы, содержащей перечень всех допустимых для компьютера прерываний и адреса соответствующих обработчиков. Такая таблица называется вектором прерываний (Interrupt vector) и хранится в начале адресного пространства основной памяти (UNIX/MS DOS). Для корректного возвращения к прерванной программе перед передачей управления обработчику прерываний, содержимое регистров процессора запоминается либо в памяти с прямым доступом либо в системном стеке — System Stack. Обычно запрещаются прерывания обработчика прерываний. Однако, в некоторых ОС прерывания снабжаются приоритетами, то есть работа обработчика прерывания с более низким приоритетом может быть прервана, если произошло прерывание с более высоким приоритетом. 1. УПРАВЛЕНИЕ ПРОЦЕССАМИ. Процесс — это программный модуль, выполняемый в CPU. Операционная система контролирует следующую деятельность, связанную с процессами: создание и удаление процессов планирование процессов синхронизация процессов коммуникация процессов разрешение тупиковых ситуаций 1.1 ПОНЯТИЕ ПРОЦЕСС. СОСТОЯНИЯ ПРОЦЕССА Не следует смешивать понятия процесс и программа. Программа — это план действий, а процесс — это само действие. Понятие процесс включает: программный код данные содержимое стека содержимое адресного и других регистров CPU. Таким образом, для одной программы могут быть созданы несколько процессов, в том случае, если с помощью одной программы в компьютере выполняется несколько несовпадающих последовательностей команд. За время существования процесс многократно изменяет свое состояние.
Различают следующие состояния процесса: новый (new, процесс только что создан) выполняемый (running, команды программы выполняются в CPU) ожидающий (waiting, процесс ожидает завершения некоторого события, чаще всего операции ввода - вывода) готовый (ready, процесс ожидает освобождения CPU) завершенный (terminated, процесс завершил свою работу) Переход из одного состояния в другое не может выполняться произвольным образом. На рисунке приведена типовая диаграмма переходов для состояний процессора. Каждый процесс представлен в операционной системе набором данных, называемых process control block . В process control block процесс описывается набором значений, параметров, характеризующих его текущее состояние и используемых операционной системой для управления прохождением процесса через компьютер. На рисунке схематически показано, каким образом операционная система использует process control block для переключения процессора с одного процесса на другой. выполняемый ожидаемый, готовый выполняемый
готовый выполняемый гото вый
Текущая страница: 1
|
|
|
|
|
|
|
|
|
|