русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Процесс


Дата добавления: 2013-12-23; просмотров: 809; Нарушение авторских прав


Алгоритмы планирования процессов и нитей

Лекция №13

 

 
 

 


При выборке нитей просматриваются те, которые готовы.

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

Ожидание – какие – либо ресурсы заняты.

Для определения смены порядка выполнения нитей используются алгоритмы, основанные на квантовании и приоритете (32-приоритетный).

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

Нить покидает процесс, если:

Ø переходит в состояние ……..

Ø заканчивается

Ø заканчивается квант времени

Ø более приоритетная нить

 

Win 32 API (application programming interface)

API содержит совокупность функций, использующихся для приложений.

Реализован на 4-х платформах:

1. Win 32S

2. Windows NT

3. Windows 95

4. Windows CM (для работы с 4 Мб памяти, дополнительные функции)

Win 32S – 32- разрядная настройка, 16- разрядные функции. Наиболее полный набор реализован для NT.

5. многопроцессорная NT.

Структура:

Тип объекта определяет данные и набор действий, которые можно производить. Диспетчер объектов поддерживает несколько полей данных.

Объект состоит из:

заголовок (содержит поля:

ü имя объекта

ü директории

ü дескриптор безопасности

ü кванты (набор ограничений на использование процессами объектов)

ü счетчик дескриптора (счетчик одновременно открытых)

ü база данных (список процессов, получающих дескриптор)

ü временный или постоянный тип (определяет время жизни объекта)

ü ядро или пользователи

ü указатель типа)

тело

 

 

Процесс задается функцией:

 

Create Process (

LPCTSTR Lpsz Application name

LPCTSTR Lpsz Command Line



LPSECURITY ATRIBUTES l’psa Process

LPSECURITY ATRIBUTES l’psa Thread

BOOL fInherit Mandles

PWORD fdw create

LPVOID Ipv Environment

LPTSIR Ipsz CurDir

LPSTARTUPINFO IpsiStartInfo

LPPROCESS INFORMATION Ippriproc Info

)

LP – указатель

STR – структура

1 параметр – имя, командная строка, переданная файлу. Можно указать полную строку; (системный каталог Windows, основной каталог Windows).

2 параметр – объекты ядра, с ними связаны атрибуты защиты (SECURITY ATRIBUTES).

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

1. DEBUG PROCESS (позволяет родительскому процессу проводить отладку дочернего; если флаг установлен, родительский процесс – отладчик)

2. DEBUG ONLY_THUS_PROCESS (аналогичен; родительский процесс уведомляется только об одном дочернем процессе)

3. CREATE_SUSPENDED (позволяет создавать процесс и приостанавливать его текущий поток)

4. CREATE_NEW_CONSOLE (приводит к созданию нового консольного приложения)

5. CREATE_NEW_WINDOW (приводит к созданию нового консольного кольца для нового процесса)

6. CREATE_SEPARATE_WOW_VDM (позволяет запускать без окон)

Только при запуске 16-разрядного Windows – приложения.

3 параметр – поставить свое переменное окружения.

4 параметр – позволяет изменить строку окружения.

5 параметр – текущий каталог

6 параметр – указатель на структуру

 

 

Структура содержит:

X-size

Y-size

Атрибуты и т.д.

7 параметр – указывает на структуру (2 описания – процесс и поток:

§ идентификатор процесса

§ идентификатор потока).

Структура:

PROCESS INFORMATION {

HANDLE hPROCESS

Handle hTHREAD

DWORD dw PROCESS ID

DWORD dw THREAD ID

}

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

 

Завершение процесса:

2 функции:

VOID EXIT PROCESS (UINT fv EXIT code)

TER mihate PROCESS (handle hprocess

VINT fv EXIT code)

Функция:

GetExit Process (Handle hProcess

LPOWORD lpdwEXIT code)

Функция:

Create Read – создание первичного потока

Завершение потока:

EXIT THREAD

TERMINATThread – завершение потока

 



<== предыдущая лекция | следующая лекция ==>
Процессы и нити | Лекция №14


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.3 сек.