АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Управление процессами

Читайте также:
  1. II. Управление персоналом структурного подразделения организации
  2. VI: Организация и управление торгово-посреднической деятельностью на рынке товаров
  3. Автоматическое генерирующее управление
  4. АВТОМАТИЧЕСКОЕ УПРАВЛЕНИЕ В ЭНЕРГЕТИКЕ
  5. Автоматическое управление памятью ссылочных данных
  6. Анализ и управление дебиторской задолженностью
  7. Анализ персонала организации (для профиля «Управление человеческими ресурсами»)
  8. Бюджетный дефицит и государственный долг. Финансирование бюджетного дефицита. Управление государственным долгом.
  9. Бюджетный дефицит и государственный долг. Финансирование бюджетного дефицита. Управление государственным долгом.
  10. В тот момент, когда управление передается на Except, в программе считается, что ошибка обработана.
  11. Виды государственного долга: внутренний и внешний. Управление государственным долгом.
  12. Внешнее управление

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

Планирование – это распределение ресурсов центрального процессора между конкурирующими процессами, путем передачи или управления согласно некоторой стратегии планирования.

Процесс может находится в ряде состояний, и каждому состоянию в ОС соответствует примитив, обрабатывающий это состояние

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

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

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

В любой ОС существуют очереди:

- активных процессов;

- очередь процессов в состоянии готовности;

- очередь блокированных процессов.

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

Любой процесс характеризуется словом состояния процесса (PSW).Это структура, состоящая из полей:1)Состояние процесса

2)Область сохранения машинных регистров. 3)Информация о системных ресурсах (начальный адрес кодового сегмента, его длина и др.). 4)Номер в очереди. 5)Номер дескриптора процесса

Процессы обмениваются между собой сигналами.

Сигнал – это объект, данные в котором представляют собой следующую структуру:

1) Номер дескриптора процесса, к которому направлен сигнал;

2) Номер дескриптора процесса, от которого идёт сигнал;

3)…n) информация о состоянии передаваемым сигналом (номера семафоров, их активность, номера очередей)

Управляет процессами (нитями) – диспетчер процессов.

Алгоритм работы диспетчера:

PROCEDURE DISPACH:

<обновить PSW активного процесса, если он есть>;

<выбрать следующий готовый процесс для передачи ему управления>.

Выбор процесса осуществляется в соответствии с некоторой стратегией LIFO, FIFO.

if <готовый процесс найден>

Then

Begin

<пометить выбранный процесс как активный>;

<выделить квант времени, установив привилегированной командой таймер>;

<передать управление выбранному процессу>

End

Else

<перевести центральный процессор привилегиванной командой в состояние простоя>;

WINDOWS 7

Начальная, домашняя базовая, дом расширенная, профессиональная, корпоративная, максимальная.

Компонентами пользовательского интерфейса Windows 7 являются окна с элементами управления, панель задач и контекстное меню, а основными устройствами ввода являются манипулятор мышь, клавиатура, джойстик, (если в компьютере используется сенсорный экран, то средством ввода является дисплей, который преобразует нажатие или прикосновение к экрану в команду).
В Windows 7 впервые полностью представлена мультисенсорная технология. Функция Windows Touch доступна в выпусках Windows 7: Домашняя расширенная, Профессиональная и Максимальная.

5.Управляет процессами (нитями) – диспетчер процессов.

Алгоритм работы диспетчера:

PROCEDURE DISPACH:

<обновить PSW активного процесса, если он есть>;

<выбрать следующий готовый процесс для передачи ему управления>.

Выбор процесса осуществляется в соответствии с некоторой стратегией LIFO, FIFO.

if <готовый процесс найден>

Then

Begin

<пометить выбранный процесс как активный>;

<выделить квант времени, установив привилегированной командой таймер>;

<передать управление выбранному процессу>

End

Else

<перевести центральный процессор привилегиванной командой в состояние простоя>;

Как выбирается процесс для активизации:

1) круговая стратегия (в мультипрограммных системах) – в этом случае все процессы считаются равноценными, и диспетчер циклически просматривает PSW всех процессов и выделяет им по очереди квант времени.

2) Выбор процессов по приоритету – приоритеты могут назначаться пользователем, либо их устанавливает ОС в целях повышения производительности всей системы. Приоритеты делятся на классы, внутри класса может быть градация, и они могут быть статическими, либо динамическими в зависимости от загрузки системы. Любой процесс обменивается с диспетчером процессов запросами о наступлении некоторого события. Для этого используют специальные внутри системные запросы.

Событие, которое ожидалось, или о наступлении которого было сообщено, определяется посредством задания соответствующего адреса блока состояния события (Event Status Block-ESB)

Процессы могут порождать родственные процессы, которые наследуют все ресурсы родительского процесса.

Обработка запроса

Wait:

Procedure Wait (ESB);

if ESBFlag Procedure Wait (ESB);

If ESBFlag

=1 {событие уже наступило}

then <возвратить управление запрашивающего процесса специальной командой>

else

begin

<пометить запрашивающий процесс как blocked>;

< поместить запрашивающий процесс в очередь: ESBQUEUE>;

<передать управление диспетчеру>;

end;

В этой процедуре скрыта обработка сигналов.

Процедура SIGNAL обработки сигнала:

Procedure SIGNAL (ESB);

ESBFlag=1; {отметить, что событие наступило}

for <каждый процесс в ESBQUEUE> do

begin

<пометить процесс как готовый>;

<убрать процесс из очереди>

end;

<возвратить управление запрашивающему процессу>.

Если метод диспетчеризации основан на приоритетах, то для обработки сигнала используется другой алгоритм:

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

Это означает, что в зависимости от приоритета процессы могут перехватывать управление у процессов с меньшим приоритетом.

Singularity

супер мега проект от Microsoft - новая операционная система Singularity. Microsoft решила с нуля попробовать написать ОСь используя "безопасное программирование", которое на корню будет пресекать баги различного рода. Для этого решили использовать "безопасные" языки программирования C#, Sing#, ну и кое-где си и ассемблер.

Главной особенностью операционки является модель SIP (Software-Isolated Process). Каждый процесс изолирован друг от друга, но сообщения между ними могут передаваться посредством двунаправленных, строго типизированных высокоуровневых каналов.
Теперь что касается ПО. Сами исходники Singularity. Интересной особенностью является то, что есть возможность отладки ядра операционной системы, поэтому будет не лишне проинсталлировать комплект утилит для этого дела. Т.к. ОСь завязана на Framework'e, то и его необходимо будет поставить, если конечно же он у вас уже не стоит. Работать всё будет на виртуальной машине, поэтому ставим ещё систему виртуализации Microsoft Virtual PC 2007. Тем, кто уже сталкивался с виртуальными ОС, наверняка знаком такой продукт как VMware - это тоже самое, только от Microsoft. Если ещё будет желание попробовать написать первые программы или вири и тем самым прославиться, то ещё нужно поставить Microsoft Visual Studio 2005 или Microsoft Visual Studio 2008. На этом всё, больше ничего не понадобится.

6.Обслуживание ввода-вывода

Это группа процессов, которые инициируются программами или самой ОС, и которые связаны с передачей информации между оперативной памятью и дисками, магнитными лентами и между магнитными лентами и магнитными дисками.

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

Канал – это специализированная на вводе-выводе машина. Канал работает на специальной канальной программе, в которой используются привилегированные команды (внутренние команды ЦП).

Каналы делятся на три типа:

А) мультиплексные (навешано много устройств ввода-вывода, действующих медленно: поэтому канальная программа должна переключаться от одного канала к другому(принтеры));

Б) селекторные (одно устройство быстрое, с большим объёмом (винчестер));

В) DMA (Direct Memory Access – прямой доступ к памяти) – канал, выполняющий канальную программу без вмешательства центрального процессора. По окончанию программы канал генерирует прерывания по вводу-выводу, которые могут работать параллельно.

В мультипрограммной системе одновременно могут существовать процессы пользователя Ui,они обрабатываются диспетчером заданий(SuperVisor). Диспетчер задания имеет – загрузчик заданий, который обеспечивает загрузку заданий с дискового накопителя в ОП. Функции:

1)определяет, какое задание надо выбрать для загрузки в ОП;

2)формирует процесс Ui пользователя, а именно его слово состояния PSW;

3)завершает выполнение очередного задания.

В любой ОС есть 2 важных процесса: спулер ввода и спулер вывода.

Спулер – процесс ввода-вывода в режиме реального времени.

Диспетчер спулинга это программа, которая формирует Pool (пул) буфер, т.е. структуру, соответствующую каждому буферу (занят – незанят). Из этих структур формируются очереди пустых буферов, готовых к вводу.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |

Поиск по сайту:



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