рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Вопрос 18. Реализация процессов в ОС Windows.

Вопрос 18. Реализация процессов в ОС Windows. - раздел Образование, Вопрос 1. Поколения операционных систем Внутреннее Устройство Процессов В Ос Windows В 32-Разрядной Версии С...

Внутреннее устройство процессов в ОС Windows

В 32-разрядной версии системы у каждого процесса сеть 4-гигабаит-ное адресное пространство, в котором пользовательский код занимает нижние 2 гигабайта (в серверах — 3 Гб). В своем адресном пространстве, которое представляет собой набор регионов и описывается специальны¬ми структурами данных (см. «Система управления памятью»), процесс содержит потоки, учетную информацию и ссылки на ресурсы, которые обобществляются всеми потоками процесса.

Блок управления процессом (РСВ) реализован в виде набора связан¬ных структур, главная из которых называется блоком процесса EPROCESS. Соответственно, каждый поток также представлен набором структур во главе с блоком потока ETHREAD. Эти наборы данных, за исключением блоков переменных окружения процесса и потока (РЕВ и ТЕВ), существу¬ют в системном адресном пространстве (рис. 2).

Содержимое блока EPROCESS подробно описано в [Руссинович]. Блок PROCESS (на рис. справа), блок переменных окружения про¬цесса (РЕВ) и структура данных, поддерживаемая подсистемой Win32 (блок процесса Win32), содержат дополнительные сведения об объекте «процесс».

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

Создание процесса

Обычно процесс создается другим процессом вызовом WIN32-функции CivateProcess (а также CreateProcessAsUser и CreateProcessWithLogOnW). Созда¬ние процесса осуществляется в несколько этапов.

На первом этапе, выполняемом библиотекой kernel32.dll в режиме пользователя, на диске отыскивается нужный файл-образ, после чего создается объект «раздел» памяти для его проецирования на адресное про¬странство нового процесса.

На втором этапе выполняется обращение к системному сервису NTCreateProcess для создания объекта «процесс». Формируются блоки EPROCESS, KPROCESS и блок переменных окружения РЕВ. Менеджер процессов инициализирует в блоке процесса маркер доступа (копируя аналогичный маркер родительского процесса), идентификатор и другие поля.

На третьем этапе в уже полностью проинициализированном объек¬те «процесс» необходимо создать первичный поток. Это, посредством си¬стемного сервиса NtCreateThread делает библиотека kernel32.dl.

Затем kernel32.dll посылает подсистеме Win32 сообщение, которое содержит информацию, необходимую для выполнения нового процесса. Данные о процессе и потоке помешаются, соответственно, в список про¬цессов и список потоков данного процесса, затем устанавливается при¬оритет процесса, создастся структура, используемая той частью полсисте¬мы Win32, которая работает в режиме ядра, и т. д.

Наконец, запускается первичный поток, для чего формируются его на¬чальный контекст и стек, и выполняется запуск стартовой процедуры пото¬ка режима ядра KiThreadStartup. После этого стартовый код из библиотеки C/C++ передаст управление функции main() запускаемой программы.

Функция CreateProcess

Таким образом, если приложение намерено создать новый процесс, один из его потоков должен обратиться к WIN32-функции CreateProcess.

BOOL CreateProcess(

PCTSTR pszApplicationName, PTSTR pszCommandLine, PSECURITY_ATTRIBUTES psaProcess, PSECURITY_ATTRIBUTES psaThread, BOOL BInheritHandles, DWORD fdwCreate, PVOID pvEnvironment, PCTSTR pszCurDir, PSTARTUPINFO psiStartlnfo, PPROCESS_INFORMATION ppiProcInfo);

Описание параметров функции можно посмотреть в MSDN.

Формально ОС Windows не поддерживает какой-либо иерархии процессов, например, отношений «родительский - дочерний». Однако негласная иерархия, заключающаяся в том, кто чьим дескриптором (описателем) владеет, все же существует. Например, владение дескриптором процесса позволяет влиять на его адресное пространство и функционирование. В данном случае описатель дочернего процесса возвращается создающему процессу в составе параметра ppiProcInfo. Хотя он не может быть напрямую передан другому процессу, тем не менее имеется возможность передать другому процессу его дубликат. Таким путем при необходимости в группе процессов может быть сформирована нужная иерархия.

– Конец работы –

Эта тема принадлежит разделу:

Вопрос 1. Поколения операционных систем

Первое поколение Первые ЭВМ были построены на основе электронных ламп Они не были предназначены для практических целей Одни и те же... Авторами первой вычислительной машины стали... gt Говард Айкен Howard Aiken Гарвард...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Вопрос 18. Реализация процессов в ОС Windows.

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

ОС начали использовать «дружественный» интерфейс, т.е. ОС строятся в расчете на не подготовленных или малоподготовленных пользователей.
1974 год. Intel 8080 - первый универсальный 8-разрядный центральный процессор (ОС CP/M). Начало 80-х годов. IBM , Digital Research и Билл Гейтс (Bill Gates) создают MS-DOS. 1985 г

Вопрос 2. История развития ОС Windows
• История развития В период, предшествующий появлению Windows 2000 (середина-конец 90-х г.г.), ОС Windows фактически имела две различных ветви: Windows 9х как настольная ОС и Windows NT ка

Вопрос 3. История развития ОС UNIX.
История легендарной операционной системы UNIX Середина 1960-х - начало 1970-х Bell Telephone Laboratories, подразделение американского гиганта AT&T, решает создать совершенно

Вопрос 4. Операционная система Linux, версии и производители.
В начале 1990-х начинает набирать обороты проект GNU, организованный Richard'ом Stallman'ом и со-здающий бесплатное программное обеспечение. А в это время появляется новый человек, существенно повл

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

Вопрос 7. Способы реализации процесса ввода-вывода (алгоритмы ввода вывода).
Три способа реализации процесса ввода-вывода данных (алгоритмы ввода-вывода): 1. Пользовательская программа выдает системный запрос, который ядро ОС транслирует в вызов соответствующего др

Вопрос 8. Структура компьютера Pentium. Шины компьютера.
На рис. 13 представлена архитектура компьютера Pentium. Компьютер использу

Вопрос 9. Система “Plug and Play” (“Включи и работай”). Актуальность создания и принцип работы.
При такой архитектуре компьютера (рис. 13) с почти 10 различными шинами операционная система должна уметь распознавать аппаратные средства и уметь их настраивать. Это требование привело компании In

Вопрос 10. Алгоритм начальной загрузки операционной системы
При начальной загрузке компьютера стартует система BIOS. Система BIOS начинает проверку устройств с шин ISA и PCI. Сначала она проверяет количество установленной в системе оперативной памяти, подкл

Вопрос 20. Планирование потоков в ОС Windows.
Приоритеты В ОС Windows реализовано вытесняющее приоритетное планирование, когда каждому потоку присваивается определенное числовое значение – приоритет, в соответствии с которым ему выдел

Вопрос 21. Планирование в условиях многопроцессорности.
Реентерабельность кода ядра позволяет ОС Windows поддерживать симметричные мультипроцессорные системы (процессоры идентичны). Необходимость загрузки нескольких процессоров усложняет задачу планиров

Вопрос 22. ФАЙЛОВЫЕ СИСТЕМЫ FAT И FAT32
ФАЙЛОВЫЕ СИСТЕМЫ FAT И FAT32   Файловые системы прошли долгий путь, усложняясь параллельно с развитием операционных систем и аппаратного обеспечения компьютеров. Так, использ

ФАЙЛОВАЯ СИСТЕМА HPFS
HPFS - сокращенное название высокопроизводительной файловой системы (high performance file system), совместно разработанной в 1989 году корпорациями IBM и Microsoft. Эта система была разра

Вопрос 24. Файловая система NTFS.
Файловая система NTFS (New Technology File System) была разработана еще для Windows NT 3.1, однако долго находилась в тени мейнстрима того времени — FAT, которому Microsoft в каждой новой версии «п

Вопрос 25. Файловая система ОС UNIX
Файловая система ОС Unix имеет иерархическую (древовидную) структуру. В вершинах дерева находятся каталоги (используют также термины - справочники, директории), содержащие списки файлов. Эти файлы

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги