- •История операционных систем
- •Понятие интерфейсной оболочки
- •Обобщённая процедура программного обеспечения
- •Операционные системы и среды
- •Файловая система fat
- •Серверные (сетевые) операционные системы
- •Основные понятия операционной системы
- •Предназначение и функции операционной системы
- •Операционная система как диспетчер ресурсов
- •Файловая система
- •Операционная система как интерфейс между пользователем и компьютером
- •Классификация операционных систем
- •Центральный процессор
- •Операционная среда
- •Регистр – счётчик команд
- •Многопроцессорные ос (кластеры)
- •Ос для Smart-карт (smart-cards - разумные карты)
- •Регистр "Слово состояния цп"
- •Процесс конвейер
- •Система памяти компьютера
- •Оперативное запоминающее устройство
- •Режимы работы центрального процессора
- •Устройство ввода и вывода
- •Режим работы центрального процессора «Режим ядра»
- •Виртуальная память
- •Контроллер
- •Драйвер устройства
- •Защита информации и безопасность
- •Утилита
- •Процессы
- •Планирование и управление ресурсами
- •Структура ос
- •Трансляция программ
- •Владение ресурсами
- •Защита адресного пространства задач
- •Планирование/выполнение (scheduling/execution)
- •Уровни привилегий для защиты адресного пространства задач
- •Способы организации виртуальной памяти
- •Реальные и защищенные режимы работы процессора
- •Сегментный способ организации виртуальной памяти.
- •Идентификатор и дескриптор процесса
- •Секции драйверов
- •Основные системные таблицы ввода/вывода
- •Прямой доступ к памяти
- •Режимы управления вводом/выводом
- •Драйверы,
- •Страничный способ организации виртуальной памяти
- •Файловая система ntfs
Идентификатор и дескриптор процесса
Создать процесс – это, прежде всего, означает создать описатель процесса, в качестве которого выступает одна или несколько информационных структур, содержащих все сведения о процессе, необходимые операционной системе для управления им. В число таких сведений могут входить, например, идентификатор процесса, данные о расположении в памяти исполняемого модуля, степень привилегированности процесса (приоритет и права доступа) и т. п. Примерами описателей процесса являются блок управления задачей (ТСВ – Task Control Block) в OS/360, управляющий блок процесса (РСВ – Process Control Block) в OS/2, дескриптор процесса в UNIX, объект-процесс (object-process) в Windows NT.
При управлении процессами операционная система использует два основных типа информационных структур: дескриптор процесса и контекст процесса. Дескриптор процесса содержит такую информацию о процессе, которая необходима ядру в течение всего жизненного цикла процесса независимо от того, находится он в активном или пассивном состоянии, находится образ процесса в оперативной памяти или выгружен на диск (образом процесса называется совокупность его кодов и данных). В общем случае дескриптор процесса содержит следующую информацию:
1) идентификатор процесса (так называемый PID – process identifier);
2) тип (или класс) процесса, который определяет для супервизора некоторые правила предоставления ресурсов;
3) приоритет процесса, в соответствии с которым супервизор предоставляет ресурсы. В рамках одного класса процессов в первую очередь обслуживаются более приоритетные процессы;
4) переменную состояния, которая определяет, в каком состоянии находится процесс (готов к работе, в состоянии выполнения, ожидание устройства ввода/вывода и т. д.);
5) защищенную область памяти (или адрес такой зоны), в которой хранятся текущие значения регистров процессора, если процесс прерывается, не закончив работы;
6) информацию о ресурсах, которыми процесс владеет и/или имеет право пользоваться (указатели на открытые файлы, информация о незавершенных операциях ввода/вывода и т. п.);
7) место (или его адрес) для организации общения с другими процессами;
8) параметры времени запуска (момент времени, когда процесс должен активизироваться, и периодичность этой процедуры);
9) в случае отсутствия системы управления файлами – адрес задачи на диске в ее исходном состоянии и адрес на диске, куда она выгружается из оперативной памяти, если ее вытесняет другая (для диск-резидентных задач, которые постоянно находятся во внешней памяти на системном магнитном диске и загружаются в оперативную память только на время выполнения).
Дескрипторы отдельных процессов объединены в список, образующий таблицу процессов. Память для таблицы процессов отводится динамически в области ядра. На основании информации, содержащейся в таблице процессов, операционная система осуществляет планирование и синхронизацию процессов. В дескрипторе прямо или косвенно (через указатели, на связанные с процессом структуры) содержится информация о состоянии процесса, о расположении образа процесса в оперативной памяти и на диске, о значении отдельных составляющих приоритета, а также о его итоговом значении – глобальном приоритете, об идентификаторе пользователя, создавшего процесс, о родственных процессах, о событиях, осуществления которых ожидает данный процесс, и некоторая другая информация.
DMA – контроллеры
Прямой доступ к памяти (англ. Direct Memory Access, DMA) — режим обмена данными между устройствами или же между устройством и основной памятью (RAM) без участия Центрального Процессора (ЦП). В результате скорость передачи увеличивается, так как данные не пересылаются в ЦП и обратно.
Кроме того, данные пересылаются сразу для многих слов, расположенных по подряд идущим адресам, что позволяет использование т. н. «пакетного» (burst) режима работы шины — 1 цикл адреса и следующие за ним многочисленные циклы данных. Аналогичная оптимизация работы ЦП с памятью крайне затруднена.
В оригинальной архитектуре IBM PC (шина ISA) был возможен лишь при наличии аппаратного DMA-контроллера (микросхема с индексом Intel 8237).
DMA-контроллер может получать доступ к системной шине независимо от центрального процессора. Контроллер содержит несколько регистров, доступных центральному процессору для чтения и записи. Регистры контроллера задают порт (который должен быть использован), направление переноса данных (чтение/запись), единицу переноса (побайтно/пословно), число байтов, которое следует перенести.
ЦП программирует контроллер DMA, устанавливая его регистры. Затем процессор даёт команду устройству (например, диску) прочитать данные во внутренний буфер. DMA-контроллер начинает работу, посылая устройству запрос чтения (при этом устройство даже не знает, пришёл ли запрос от процессора или от контроллера DMA). Адрес памяти уже находится на адресной шине, так что устройство знает, куда следует переслать следующее слово из своего внутреннего буфера. Когда запись закончена, устройство посылает сигнал подтверждения контроллеру DMA. Затем контроллер увеличивает используемый адрес памяти и уменьшает значение своего счётчика байтов. После чего запрос чтения повторяется, пока значение счётчика не станет равно нулю. По завершении цикла копирования устройство инициирует прерывание процессора, означающее завершение переноса данных.
Контроллер может быть многоканальным, способным параллельно выполнять несколько операций.
[Хотите понятней?!]
