Windows API
– это системный интерфейс программирования
в семействе операционных систем Microsoft
Windows. Каждая операционная
система реализует разное подмножество
WinAPI. Windows
API включает тысячи
вызываемых функций, которые сгруппированы
в следующие основные категории: базовые
сервисы (Base Services);
сервисы компонентов (Component
Services); сервисы пользовательского
интерфейса (User Interface
Services); сервисы графики и
мультимедиа (Graphics and
Multimedia Services);
коммуникационное взаимодействие и
совместная работа (Messaging
and Collaboration);
сети (Networking); Webсервисы
(Web Services).
Каждый объект ядра — на самом деле
просто блок памяти, выделенный ядром и
доступный только ему. Этот блок
представляет собой структуру данных,
в элементах которой содержится информация
об объекте. Предусмотрен набор функций,
обрабатывающих структуры объектов ядра
по строго определенным правилам. Мы
получаем доступ к объектам ядра только
через эти функции.
Когда Вы вызываете функцию, создающую
объект ядра, она возвращает описатель,
идентифицирующий созданный объект.
Описатель следует рассматривать как
«непрозрачное» значение, которое
может быть использовано любым потоком
Вашего процесса. Этот описатель Вы
передаете Windows-функциям,
сообщая системе, какой объект ядра Вас
интересует.
При инициализации процесса система
создает в нем таблицу описателей,
используемую только для объектов ядра.
Таблица описателей, принадлежащая
процессу – это просто массив структур
данных. Каждая структура содержит
указатель на какой-нибудь объект ядра,
маску доступа и некоторые флаги.
Windows API
подчиняется определенным правилам –
нотации – соглашении об именовании
констант, типов данных, процедур. API
использует венгерскую нотацию: в названии
переменной кодируется ее тип. В настоящее
время венгерская нотация не используется,
т.к. если не известно значение переменной,
ее тип ни о чем не скажет. Частью нотации
является способ именования процедур:
Глагол-Существительное.
-
Понятие пользовательского режима и режима ядра операционной системы Windows. Модель виртуальной памяти процесса в пользовательском режиме и в режиме ядра операционной системы Windows.
Код приложений работает в пользовательском
режиме, тогда как код операционной
системы (например, системные сервисы и
драйверы устройств) — в режиме ядра. В
режиме ядра предоставляется доступ ко
всей системной памяти и разрешается
выполнять любые машинные команды
процессора. Предоставляя операционной
системе более высокий уровень привилегий,
чем прикладным программам, процессор
позволяет разработчикам операционных
систем реализовать такие архитектуры,
которые не дают возможности сбойным
приложениям нарушать стабильность
работы всей системы.
В Windows реализована система виртуальной
памяти, основанная на плоском (линейном)
адресном пространстве. Она создает
каждому процессу иллюзию того, что у
него есть собственное большое и закрытое
адресное пространство. Виртуальная
память дает логическое представление,
не обязательно соответствующее
структуре физической памяти. В период
выполнения диспетчер памяти, используя
аппаратную поддержку, транслирует, или
проецирует (maps), виртуальные адреса на
физические, по которым реально хранятся
данные. Управляя проецированием и
защитой страниц памяти, операционная
система гарантирует, что ни один процесс
не помешает другому и не сможет повредить
данные самой операционной системы.
Хотя каждый Windows-процесс имеет свою
(закрытую) память, код операционной
системы и драйверы устройств, работающие
в режиме ядра, делят единое виртуальное
адресное пространство. Каждая страница
в виртуальной памяти помечается тэгом,
определяющим, в каком режиме должен
работать процессор для чтения и/или
записи данной страницы. Страницы в
системном пространстве доступны лишь
в режиме ядра, а все страницы в
пользовательском адресном пространстве
— в пользовательском режиме. Страницы
только для чтения (например, содержащие
лишь исполняемый код) ни в каком режиме
для записи недоступны.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Базовые концепции и термины
B книге будут часто встречаться ссылки на концепции и структуры, с которыми некоторые читатели, возможно, не знакомы. Здесь мы определимся с используемой в дальнейшем терминологией.
Windows API
Это системный интерфейс программирования в семействе операционных систем Microsoft Windows, включая Windows 2000, Windows XP, Windows Server 2003, Windows 95, Windows 98, Windows Millennium Edition (Me) и Windows CE. Каждая операционная система реализует разное подмножество Windows API. Windows 95, Windows 98, Windows Me и Windows CE в этой книге не рассматриваются.
ПРИМЕЧАНИЕ Windows API описывается в документации Platform Software Development Kit (SDK). (См. раздел «Platform Software Development Kit (SDK)» далее в этой главе.) Этудокументацию можно бесплатно просмотреть на сайте msdn.microsoft.com. Она также поставляется с Microsoft Developer Network (MSDN) всех уровней подписки. (MSDN — это программа Microsoft для поддержки разработчиков. Подробности см. на сайте msdn.microsqft.com.) Отличное описание того, как программировать с использованием базового Windows API, см. в четвертом издании книги Джеффри Рихтера Jeffrey Richter) «Microsoft Windows для профессионалов» (Русская Редакция, 2000).
До появления 64-разрядных версий Windows XP и Windows Server 2003 интерфейс программирования 32-разрядных версий операционных систем Windows назывался Win32 API, чтобы отличать его от исходного 16-разрядного Windows API. B этой книге термин «Windows API» относится к 32-разрядному интерфейсу программирования Windows 2000, а также к 32- и 64-разрядным интерфейсам программирования Windows XP и Windows Server 2003.
Windows API включает тысячи вызываемых функций, которые сгруппированы в следующие основные категории:
• базовые сервисы (Base Services);
• сервисы компонентов (Component Services);
• сервисы пользовательского интерфейса (User Interface Services);
• сервисы графики и мультимедиа (Graphics and Multimedia Services);
• коммуникационное взаимодействие и совместная работа (Messaging and Collaboration);
• сети (Networking);
• Web-сервисы (Web Services).
Основное внимание в нашей книге уделяется внутреннему устройству ключевых базовых сервисов, в частности поддержки процессов и потоков (threads), управления памятью, ввода-вывода и защиты.
Как насчет. NET и WinFX?
NET Framework состоит из библиотеки классов, называемой Framework Class Library (FCL), и общеязыковой исполняющей среды (Common Language Runtime, CLR), которая предоставляет среду для выполнения управляемого кода с такими возможностями, как компиляция по требованию (just-in-time compilation, JIT compilation), верификация типов, сбор мусора и защита по правам доступа кода (code access security). Благодаря этому CLR создает среду разработки, которая повышает продуктивность труда программистов и уменьшает вероятность появления распространенных ошибок программирования. Отличное описание. NET Framework и ее базовой архитектуры см. в книге Джеффри Рихтера «Программирование на платформе Microsoft.NET Frame-work» (Русская Редакция, 2003).
CLR реализована как классический СОМ-сервер, код которой хранится в стандартной Windows DLL пользовательского режима. Фактически все компоненты. NET Framework реализованы как стандартные Windows DLL пользовательского режима, занимающие уровень поверх неуправляемых функций Windows APL (Никакие компоненты. NET Framework не работают в режиме ядра.) Ha рис. 1–1 показаны взаимосвязи этих компонентов.
WinFX — «новый Windows API». Это результат эволюционного развития. NET Framework, которая будет поставляться с версией Windows под кодовым названием «Longhorn», следующим выпуском Windows. WinFX также можно установить в Windows XP и Windows Server 2003. WinFX образует фундамент для приложений следующего поколения, создаваемых для операционной системы Windows.
История создания Win32 API
Интересно, что поначалу Win32 не рассматривался как интерфейс программирования для Microsoft Windows NT. Поскольку проект Windows NT начинался как замена OS/2 версии 2, основным интерфейсом программирования был 32-разрядный OS/2 Presentation ManagerAPI. Однако год спустя на рынке появилась Microsoft Windows 3.0, быстро ставшая очень популярной. B результате Microsoft сменила курс и перенацелила проект Windows NT на будущую замену семейства продуктов Windows, а не OS/2. Вот на этом-то перепутье и встал вопрос о создании Windows API — до этого Windows API существовал только как 16-разрядный интерфейс.
Хотя в Windows API должно было появиться много новых функций, отсутствующих в Windows 3.1, Microsoft решила сделать новый API по возможности совместимым с именами функций, семантикой и типами данных в 16-разрядном Windows API, чтобы максимально облегчить бремя переноса существующих 16-разрядных Windows-приложений в Windows NT Поэтому тот, кто, впервые глядя на Windows API, удивляется, почему многие имена и интерфейсы функций кажутся противоречивыми, должен учитывать, что одной из причин такой противоречивости было стремление сделать Windows API совместимым со старым 16-разрядным Windows API.
Сервисы, функции и процедуры
Несколько терминов в документации Windows для пользователей и программистов имеет разный смысл в разных контекстах. Например, понятие «сервис» (service) может относиться к вызываемой функции операционной системы, драйверу устройства или серверному процессу (в последнем случае сервис часто называют службой). Ниже показано, что означают подобные термины в этой книге.
• Функции Windows API Документированные, вызываемые подпрограммы в Windows API, например CreateProcess, CreateFile и GetMessage.
• Неуправляемые («родные») системные сервисы (или исполняемые системные сервисы) Недокументированные низкоуровневые сервисы операционной системы, которые можно вызывать в пользовательском режиме. Так, NtCreateProcess — это внутрисистемный сервис, вызываемый Windows-функцией CreateProcess при создании нового процесса. (Определение неуправляемых функций см. в разделе «Диспетчеризация системных сервисов» главы 3.)
• Функции (или процедуры) ядра Подпрограммы внутри операционной системы Windows, которые можно вызывать только в режиме ядра (определение мы дадим чуть позже). Например, ExAllocatePool — процедура, вызываемая драйверами устройств для выделения памяти из системных куч (динамически распределяемых областей памяти) Windows.
• Windows-сервисы Процессы, запускаемые диспетчером управления сервисами в Windows. (Хотя в документации на реестр драйверы устройств Windows определяются как сервисы, мы не пользуемся таким термином в этой книге.) Например, сервис Task Scheduler выполняется в процессе пользовательского режима, который поддерживает команду at (аналогичную UNIX-команде at или cron).
• DLL (динамически подключаемая библиотека) Набор вызываемых подпрограмм, включенных в один двоичный файл, который приложения, использующие эти подпрограммы, могут динамически загружать во время своего выполнения. B качестве примера можно привести модули Msvcrt.dll (библиотека исполняющей подсистемы C) и Kernel32.dll (одна из библиотек подсистемы Windows API). DLL активно используются компонентами и приложениями Windows пользовательского режима. Преимущество DLL над статическими библиотеками в том, что приложения могут разделять DLL-модули, a Windows гарантирует, что в памяти будет находиться лишь по одному экземпляру используемых DLL.
Практическая работа
Тема: «Исследование функции API для запуска процессов»
ЦЕЛЬ РАБОТЫ: Выполнить исследование функции API для запуска процессов
Заполнитепропуски
WindowsAPI (Application Programming Interface) — ______________________
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
АРI состоит из большого количества динамических библиотек и содержит множество функций, которые прикладные программы могут использовать для взаимодействия с операционной системой. Каждая операционная система реализует различную подмножество Windows API.
АРI выполняет роль связующего звена между приложениями и операционной системой. Windows API содержит несколько тысяч функций, сгруппированы в следующие основные категории:
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
АРI содержит совокупность функций, которые доступны программистам при разработке программ — их называют _________________________________________ К ним относятся ____________
________________________________________________________________________________________________________________________________________
Функции ядра — _______________________________________________
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
К службам относятся процессы, которые запускаются диспетчером управления служб. Они, как правило, работают в фоновом режиме независимо от других приложений и предназначенны для обслуживания определенных потребностей пользователя или системы. Например, служба Task Scheduler-планировщик, который позволяет управлять запуском других программ.
Windows содержит большой набор функций (подпрограмм), объединенных в отдельные бинарные файлы, которые программы могут динамически загружать во время своего выполнения. Такие библиотеки функций называют ________________________________________________________________________________________________________________________________________
Различные программные механизмы, которые операционная система предоставляет программистам для выполнения определенных действий, называют также сервисами, поскольку они предназначены для обслуживания различных потребностей пользователя системы. К таким сервисам относятся ___________________________________ Отдельное подмножество составляют неуправляемые системные сервисы (или исполнительные системные сервисы). Они охватывают недокументированные низкоуровневые сервисы операционной системы, которые можно вызвать в пользовательском режиме.
Когда в среде Windows запускается прикладная программа, система создает специальный объект — ___________________________, — который ________________________________________________________________________________________________. Может показаться, что программа и процесс — понятие похожие, они фундаментально отличаются. Программа — _____________________________________________________, а процесс — ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Известная утилита для анализа активности процессов-системный Task Manager (_________________________________________). В ядре Windows нет такого понятия, как задачи, поэтому Task Manager ____________________________________________________________________________________________________________________________________________________________________________________________________________
____________________________________________________________________________________________________________________________________________________________________________________________________________
Диспетчер задач Windows отображает список активных процессов. Его можно запустить различными способами:
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________В этом окне процессы идентифицируются по имени образа, экземплярами которого они являются. В отличие от других объектов в Windows процессам нельзя присваивать глобальные имена.
Если вкладка Processes окна диспетчера задач показывает список процессов, то содержание вкладки Applications (приложения) отображает список видимых окон верхнего уровня всех объектов «рабочий стол» интерактивного объекта WindowStation. Столбик Status (состояние) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________. Состояние «Running» («выполняется») _____________________________________________________________________________________________________________________________________________________________________________________________________________________________________, a Not Responding («не отвечает «) — _________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________.
Вкладка Applications позволяет ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Для предотвращения доступа приложений к критически важным данным операционной системы и устранения риска их модификации Windows использует два режима доступа к процессору (даже если он поддерживает более двух
режимов): ___________________________________________________________________. Код программ работает в ___________________________________________, тогда как код операционной системы (например, системные сервисы и драйверы устройств) — в _____________________________. В режиме ядра предоставляется доступ ко всей системной памяти и разрешается выполнять любые машинные команды процессора.
Прикладные программы ________________________________________
_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________. Переключение с пользовательского режима в режим ядра осуществляется __________________________________
________________________________________________________________________. Операционная система __________________________________________
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________. Перед возвращением управления пользовательскому потоку процессор переключается обратно в пользовательский режим. Благодаря этому операционная система ____________________________________________ ____________________________________________________________________________________________________________________________________________________________________________________________________________.
Поэтому ситуация, когда пользовательский поток часть времени работает в пользовательском режиме, а часть — в режиме ядра, обычная. Поскольку подсистема, отвечающая за поддержку графики и окон, функционирует в режиме ядра, то программы, интенсивно работающих с графикой, большую часть времени действуют в режиме ядра, а не в пользовательском режиме. Самый простой способ проверить это – ________________________________
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Часть 2. Практические задания в диспетчере задач.
Задание 1. Просмотр состояния процессов через диспетчер задач.
Просмотр и анализ взаимосвязей процессов и потоков.
Запустите диспетчер задач. Переключитесь на закладку Процессы. В меню Вид выберите пункт Выбрать столбцы… и укажите столбцы согласно рисунка 1. Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 1. Выбор столбцов диспетчера задач»
Рисунок 1. Выбор столбцов диспетчера задач
Потом определите сколько процессов запущено системой. Для этого я передите на закладку Быстродействие и в меню Вид выберите пункт Загрузка ЦП. (см. рис.2) Например: из рисунка мы видим что системой запущено 53 процесса, загрузка ЦП колеблется от 3-5%, файл подкачки загружен на 931 МБ. Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 2. Диспетчер задач. Вкладка «Быстродействие»»
Рисунок 2. Диспетчер задач. Вкладка «Быстродействие»
Теперь запускаем приложение Paint и смотрим на изменения ЦП. Например в примере: загрузка ЦП колеблется в пределах 1-4%, файл подкачки загрузился на 942 МБ. Если сравнить объёмы используемого файла подкачки и доступной физической памяти, то можно сделать вывод что в сумме они дают общий объем физической памяти. (см. рис.3).
Рисунок 3. Результат после запуска приложения Paint
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 3. Результат после запуска приложения Paint». Напишите в каких пределах колеблется загрузка ЦП, как изменился файл подкачки.
Просмотр времени работы системы в пользовательском режиме и режиме ядра.
Переключитесь на закладку Быстродействие и в меню Вид выберите пункт Вывод времени ядра (см. Рисунок 4). Быстро прокручиваем страницы любого текстового документа. На индикаторе Загрузка ЦП процент работы процессора в пользовательском режиме отражается зеленым цветом, в режиме ядра красным. Из рисунка четко видны изменения работы процессора при прокрутке страниц.
Рисунок 4. Состояние системы при прокрутке страниц
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 4. Состояние системы при прокрутке страниц»
Задание 2. Просмотр сведений о поддержке многопроцессорных систем.
Согласно следующему заданию откройте диспетчер устройств (Пуск – Панель управления – Диспетчер устройств). В списке устройств раскройте узел Компьютер. В окне свойств (Правой кнопкой свойства) перейдите на закладку Драйвер и с помощью кнопки Сведения просмотрите сведения о файлах драйверов (см. Рисунок 5).
Рисунок 5. Сведения о файлах поддержки многопроцессорных систем
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 5. Сведения о файлах поддержки многопроцессорных систем»
Задание 3. Изучение отношения процессов родитель-потомок
1. Запустите командную строку (Пуск – Все программы – Стандартные – Командная строка)
2. Потом наберите start cmd для запуска второго окна командной строки.
Рисунок 6. Запуск окон командной строки
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 6. Запуск окон командной строки»
3. Далее я откройте диспетчер задач.
4. Переключился на второе окно командной строки.
5. Ввел mspaint для запуска Microsoft Paint.
Рисунок 7. Запуск приложения Paint
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 7. Запуск приложения Paint»
6. Потом выберите второе окно командной строки.
7. Ввел команду exit, тем самым завершив работу второго окна.
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 8. Завершение работы второго окна»
8. Потом переключитесь в диспетчер задач. Откройте его вкладку Приложения. Щелкнул правой кнопкой мыши задачу Командная строка (cmd.exe) и выбрал Перейти к процессу.
Практическая работа №9. Изучение системного реестра. Команды операционной системы. Диспетчер задач. Консоль восстановления. Восстановление установок компьютера. Встроенные приложения операционной системы.
1. Цель работы: изучить работу диспетчера задач, изучить размещения файлов в файловой системе FAT, исследование методов организации файловых систем
2. Оборудование, приборы, аппаратура, материалы: персональный компьютер с операционной системой семейства Windows.
3. Краткие теоретические сведения.
WindowsAPI (Application Programming Interface) — это системный интерфейс программирования в семействе операционных систем Microsoft Windows. АРI состоит из большого количества динамических библиотек и содержит множество функций, которые прикладные программы могут использовать для взаимодействия с операционной системой. Каждая операционная система реализует различную подмножество Windows API.
АРI выполняет роль связующего звена между приложениями и операционной системой. Windows API содержит несколько тысяч функций, сгруппированы в следующие основные категории: базовые сервисы, сервисы компонентов, сервисы пользовательского интерфейса, сервисы графики и мультимедиа, сервисы коммуникаций, сетевые и Web-сервисы.
Функции, службы и процедуры
АРI содержит совокупность функций, которые доступны программистам при разработке программ — их называют функциями Windows API. К ним относятся документированные подпрограммы, такие, как CreateProcess, CreateFile, GetMessage и другие.
Функции ядра — это подпрограммы внутри операционной системы Windows, которые можно вызвать только в режиме ядра.
К службам относятся процессы, которые запускаются диспетчером управления служб. Они, как правило, работают в фоновом режиме независимо от других приложений и предназначенны для обслуживания определенных потребностей пользователя или системы. Например, служба Task Scheduler-планировщик, который позволяет управлять запуском других программ.
Windows содержит большой набор функций (подпрограмм), объединенных в отдельные бинарные файлы, которые программы могут динамически загружать во время своего выполнения. Такие библиотеки функций называют динамическими библиотеками (DLL).
Различные программные механизмы, которые операционная система предоставляет программистам для выполнения определенных действий, называют также сервисами, поскольку они предназначены для обслуживания различных потребностей пользователя системы. К таким сервисам относятся и функции API. Отдельное подмножество составляют неуправляемые системные сервисы (или исполнительные системные сервисы). Они охватывают недокументированные низкоуровневые сервисы операционной системы, которые можно вызвать в пользовательском режиме.
Процессы, потоки и задания
Когда в среде Windows запускается прикладная программа, система создает специальный объект — процесс, — который предназначен для поддержания ее исполнения. Может показаться, что программа и процесс — понятие похожие, они фундаментально отличаются. Программа — это статический набор команд, а процесс — контейнер для ресурсов, которые используются при выполнении экземпляра программы.
Известная утилита для анализа активности процессов-системный Task Manager (диспетчер задач). В ядре Windows нет такого понятия, как задачи, поэтому Task Manager на самом деле является инструментом для управления процессами.
Диспетчер задач Windows отображает список активных процессов. Его можно запустить различными способами: 1) нажав комбинацию клавиш Ctrl + Shift + Esc, 2) щелкнув на панели задач правой кнопкой мыши и выбрав команду Task Manager (диспетчер задач), 3) нажав клавиши Ctrl + Alt + Del. Для просмотра списка процессов после запуска диспетчера задач следует открыть вкладку Processes (процессы). В этом окне процессы идентифицируются по имени образа, экземплярами которого они являются. В отличие от других объектов в Windows процессам нельзя присваивать глобальные имена. Для просмотра подробных сведений выберите из меню View (вид) команду Select Columns (выбрать столбцы) и выберите любую дополнительную информацию нужно отобразить.
Если вкладка Processes окна диспетчера задач показывает список процессов, то содержание вкладки Applications (приложения) отображает список видимых окон верхнего уровня всех объектов «рабочий стол» интерактивного объекта WindowStation. (По умолчанию существуют два объекта «рабочий стол», но можно создать дополнительные рабочие столы через Windows — функцию CreateDesktop). Столбик Status (состояние) дает представление о том, находится ли поток — владелец окна в состоянии ожидания сообщения. Состояние «Running» («выполняется») означает, что поток ожидает ввода, a Not Responding («не отвечает «) — не ожидает (т.е. занят, или ждет завершения операции ввода-вывода, или освобождение какого-то синхронизирующего объекта).
Вкладка Applications позволяет идентифицировать процесс, которому принадлежит поток, обладающий каким-то окном задачи. Для этого следует щелкнуть правой кнопкой мыши на названии задачи и выбрать команду Go To Process (перейти к процессам).
Для предотвращения доступа приложений к критически важным данным операционной системы и устранения риска их модификации Windows использует два режима доступа к процессору (даже если он поддерживает более двух
режимов): пользовательский режим (user mode) и режим ядра (kernel mode). Код программ работает в пользовательском режиме, тогда как код операционной системы (например, системные сервисы и драйверы устройств) — в режиме ядра. В режиме ядра предоставляется доступ ко всей системной памяти и разрешается выполнять любые машинные команды процессора. Предоставляя операционной системе высший уровень привилегий, чем прикладным программам, процессор позволяет разработчикам операционных систем реализовать архитектуру, которая не дает возможности отдельным программам нарушать стабильность работы всей системы.
Прикладные программы могут переключаться с пользовательского режима в режим ядра, обращаясь к системному сервису. Переключение с пользовательского режима в режим ядра осуществляется специальной командой процессора. Операционная система перехватывает эту команду, обнаруживает запрос системного сервиса, проверяет аргументы, которые поток передал системной функции, и выполняет внутреннюю подпрограмму. Перед возвращением управления пользовательскому потоку процессор переключается обратно в пользовательский режим. Благодаря этому операционная система защищает себя и свои данные от возможной модификации приложениями.
Поэтому ситуация, когда пользовательский поток часть времени работает в пользовательском режиме, а часть — в режиме ядра, обычная. Поскольку подсистема, отвечающая за поддержку графики и окон, функционирует в режиме ядра, то программы, интенсивно работающих с графикой, большую часть времени действуют в режиме ядра, а не в пользовательском режиме. Самый простой способ проверить это — запустить программу типа Adobe Photoshop или Microsoft Pinball и, выполняя в ней какие-то действия, наблюдать за показателями работы в пользовательском режиме и в режиме ядра с помощью Task Manager (диспетчер задач). В его окне на вкладке Performance (производительность), включив в меню View (вид) опцию Kernel Times (вывод времени ядра), можно увидеть, сколько времени процессор проводит в режиме ядра. На графике процент загрузка процессора указано зеленым цветом, а процент работы в режиме ядра — красным.
4. Задания
Задание 1. Заполните пропуски
WindowsAPI (Application Programming Interface) — _________________
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
АРI состоит из большого количества динамических библиотек и содержит множество функций, которые прикладные программы могут использовать для взаимодействия с операционной системой. Каждая операционная система реализует различную подмножество Windows API.
АРI выполняет роль связующего звена между приложениями и операционной системой. Windows API содержит несколько тысяч функций, сгруппированы в следующие основные категории: ____________________
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
АРI содержит совокупность функций, которые доступны программистам при разработке программ — их называют _____________________________________________ К ним относятся __________________________________________________________________
__________________________________________________________________
Функции ядра — _____________________________________________
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
К службам относятся процессы, которые запускаются диспетчером управления служб. Они, как правило, работают в фоновом режиме независимо от других приложений и предназначенны для обслуживания определенных потребностей пользователя или системы. Например, служба Task Scheduler-планировщик, который позволяет управлять запуском других программ.
Windows содержит большой набор функций (подпрограмм), объединенных в отдельные бинарные файлы, которые программы могут динамически загружать во время своего выполнения. Такие библиотеки функций называют _______________________________________________
_________________________________________________________________________________________________________________________________
Различные программные механизмы, которые операционная система предоставляет программистам для выполнения определенных действий, называют также сервисами, поскольку они предназначены для обслуживания различных потребностей пользователя системы. К таким сервисам относятся ___________________________________ Отдельное подмножество составляют неуправляемые системные сервисы (или исполнительные системные сервисы). Они охватывают недокументированные низкоуровневые сервисы операционной системы, которые можно вызвать в пользовательском режиме.
Когда в среде Windows запускается прикладная программа, система создает специальный объект — ___________________________, — который ________________________________________________________________________________________________. Может показаться, что программа и процесс — понятие похожие, они фундаментально отличаются. Программа — _____________________________________________________, а процесс — ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Известная утилита для анализа активности процессов-системный Task Manager (_________________________________________). В ядре Windows нет такого понятия, как задачи, поэтому Task Manager ______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Диспетчер задач Windows отображает список активных процессов. Его можно запустить различными способами: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________В этом окне процессы идентифицируются по имени образа, экземплярами которого они являются. В отличие от других объектов в Windows процессам нельзя присваивать глобальные имена.
Если вкладка Processes окна диспетчера задач показывает список процессов, то содержание вкладки Applications (приложения) отображает список видимых окон верхнего уровня всех объектов «рабочий стол» интерактивного объекта WindowStation. Столбик Status (состояние) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________. Состояние «Running» («выполняется») _____________________________________________________________________________________________________________________________________________________________________________________________________________________________________, a Not Responding («не отвечает «) — _________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________.
Вкладка Applications позволяет ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Для предотвращения доступа приложений к критически важным данным операционной системы и устранения риска их модификации Windows использует два режима доступа к процессору (даже если он поддерживает более двух
режимов): _______________________________________________________. Код программ работает в ___________________________________________, тогда как код операционной системы (например, системные сервисы и драйверы устройств) — в _____________________________. В режиме ядра предоставляется доступ ко всей системной памяти и разрешается выполнять любые машинные команды процессора.
Прикладные программы _______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________. Переключение с пользовательского режима в режим ядра осуществляется _______________
_______________________________________________________________. Операционная система ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________. Перед возвращением управления пользовательскому потоку процессор переключается обратно в пользовательский режим. Благодаря этому операционная система __________________________________________________________________________________________________________________________________________________________________________________.
Поэтому ситуация, когда пользовательский поток часть времени работает в пользовательском режиме, а часть — в режиме ядра, обычная. Поскольку подсистема, отвечающая за поддержку графики и окон, функционирует в режиме ядра, то программы, интенсивно работающих с графикой, большую часть времени действуют в режиме ядра, а не в пользовательском режиме. Самый простой способ проверить это — __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Задание 2. Диспетчере задач.
Задание 2.1. Просмотр состояния процессов через диспетчер задач.
Просмотр и анализ взаимосвязей процессов и потоков.
Запустите диспетчер задач. Переключитесь на закладку Процессы. В меню Вид выберите пункт Выбрать столбцы… и укажите столбцы согласно рисунка 1. Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 1. Выбор столбцов диспетчера задач»
Рисунок 1. Выбор столбцов диспетчера задач
Потом определите сколько процессов запущено системой. Для этого я передите на закладку Быстродействие и в меню Вид выберите пункт Загрузка ЦП. (см. рис.2) Например: из рисунка мы видим что системой запущено 53 процесса, загрузка ЦП колеблется от 3-5%, файл подкачки загружен на 931 МБ. Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 2. Диспетчер задач. Вкладка «Быстродействие»»
Рисунок 2. Диспетчер задач. Вкладка «Быстродействие»
Теперь запускаем приложение Paint и смотрим на изменения ЦП. Например в примере: загрузка ЦП колеблется в пределах 1-4%, файл подкачки загрузился на 942 МБ. Если сравнить объёмы используемого файла подкачки и доступной физической памяти, то можно сделать вывод что в сумме они дают общий объем физической памяти. (см. рис.3).
Рисунок 3. Результат после запуска приложения Paint
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 3. Результат после запуска приложения Paint». Напишите в каких пределах колеблется загрузка ЦП, как изменился файл подкачки.
Просмотр времени работы системы в пользовательском режиме и режиме ядра.
Переключитесь на закладку Быстродействие и в меню Вид выберите пункт Вывод времени ядра (см. Рисунок 4). Быстро прокручиваем страницы любого текстового документа. На индикаторе Загрузка ЦП процент работы процессора в пользовательском режиме отражается зеленым цветом, в режиме ядра красным. Из рисунка четко видны изменения работы процессора при прокрутке страниц.
Рисунок 4. Состояние системы при прокрутке страниц
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 4. Состояние системы при прокрутке страниц»
Задание 2.2. Просмотр сведений о поддержке многопроцессорных систем.
Согласно следующему заданию откройте диспетчер устройств (Пуск – Панель управления – Диспетчер устройств). В списке устройств раскройте узел Компьютер. В окне свойств (Правой кнопкой свойства) перейдите на закладку Драйвер и с помощью кнопки Сведения просмотрите сведения о файлах драйверов (см. Рисунок 5).
Рисунок 5. Сведения о файлах поддержки многопроцессорных систем
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 5. Сведения о файлах поддержки многопроцессорных систем»
Задание 2.3. Изучение отношения процессов родитель-потомок
1. Запустите командную строку (Пуск – Все программы – Стандартные – Командная строка)
2. Потом наберите start cmd для запуска второго окна командной строки.
Рисунок 6. Запуск окон командной строки
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 6. Запуск окон командной строки»
3. Далее я откройте диспетчер задач.
4. Переключился на второе окно командной строки.
5. Ввел mspaint для запуска Microsoft Paint.
Рисунок 7. Запуск приложения Paint
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 7. Запуск приложения Paint»
6. Потом выберите второе окно командной строки.
7. Ввел команду exit, тем самым завершив работу второго окна.
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 8. Завершение работы второго окна»
8. Потом переключитесь в диспетчер задач. Откройте его вкладку Приложения. Щелкнул правой кнопкой мыши задачу Командная строка (cmd.exe) и выбрал Перейти к процессу.
Рисунок 9. Диспетчер задач. Переход к процессу cmd.exe
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 9. Диспетчер задач. Переход к процессу cmd.exe»
11. Щелкните процесс Cmd.exe, выделенный цветом.
12. Щелкнув правой кнопкой мыши, выберите команду Завершить дерево процессов.
13. В окне Предупреждение диспетчера задач щелкните кнопку Завершить дерево процессов.
Рисунок 10. Диспетчер задач. Переход к процессу cmd.exe
Первое окно командной строки исчезнет, но окно Paint по прежнему работает.
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 10. Диспетчер задач. Переход к процессу cmd.exe»
Задание 2.4. Увеличение быстродействия Windows
1. Откройте Диспетчер Задач нажатием (Ctrl+Alt+Del)
Перейдите на вкладку Процессы, щелкните прав на строке Explorer.exe и в контекстном меню выберите команду Завершить Процесс. Опишите в отчете, что вы видите на экране и почему.
2. Закройте окно Диспетчера Задач завершив процесс taskmgr.exe. Внесите в отчет сведения: работает ли компьютер, загружена ли ОС, реагирует ли система на манипуляции мышью, на нажатие клавиш? Почему?
3. Нажмите (Ctrl+Alt+Del) и снова откройте Диспетчер Задач
4. Перейдя на вкладку Приложения, нажмите кнопку Новая задача
5. В окне Создать Новую Задачу наберите Explorer и нажмите OK.
5. Содержание отчета
Отчет должен содержать:
- Название работы.
- Цель работы.
- Задание и его решение.
- Вывод по работе.
6. Контрольные вопросы
- Что такое WindowsAPI
- Что такое процессы
- Что такое потоки
- Что такое задачи
- Что такое диспетчер задач
7. Литература
- Информатика и ИКТ: учебник для начального и среднего профессионального образования. Цветкова Н.С., Великович Л.С. – Академия, 2011 г.
- Информатика и ИКТ. Практикум для профессий и специальностей технического и социально-экономического профилей. Н. Е. Астафьева, С. А. Гаврилова, под ред. М.С. Цветковой, Академия, 2012г.
- Информатика и ИКТ. Базовый уровень: учебник для 10-11 кл. / И.Г.Семакин, Е.К.Хеннер. – 4 изд., испр. – М. – Бином. Лаборатория знаний, 2008г. – 246 с.: ил.
- Информатика и ИКТ. Базовый уровень: практикум для 10-11 кл. / И.Г.Семакин, Е.К.Хеннер. – 4 изд., испр. – М. – Бином. Лаборатория знаний, 2008г.
- Информатика и ИКТ. 10 кл. Базовый уровень под ред. Н.В.Макаровой – Спб – Лидер, 2010г.
- Информатика и ИКТ. 11 кл. Базовый уровень под ред. Н.В.Макаровой – Спб – Лидер, 2010г.
- Энциклопедия школьной информатики / под ред. И.Г.Семакина. – М.: Бином. Лаборатория знаний, 2011г.
- http//www.informatika.ru;
- http//www.student.informatika.ru;
- http://mirgeo.ucoz.ru/.
ФИО_____________________________________ Группа _________ Оценка _________
Практическая работа №9. Изучение системного реестра. Команды операционной системы. Диспетчер задач. Консоль восстановления. Восстановление установок компьютера. Встроенные приложения операционной системы.
Содержание отчёта
1. Цель работы: изучить работу диспетчера задач, изучить размещения файлов в файловой системе FAT, исследование методов организации файловых систем
2. Оборудование, приборы, аппаратура, материалы: персональный компьютер с операционной системой семейства Windows.
Задание 1. Заполните пропуски
WindowsAPI (Application Programming Interface) — _______________________________________
___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
АРI состоит из большого количества динамических библиотек и содержит множество функций, которые прикладные программы могут использовать для взаимодействия с операционной системой. Каждая операционная система реализует различную подмножество Windows API.
АРI выполняет роль связующего звена между приложениями и операционной системой. Windows API содержит несколько тысяч функций, сгруппированы в следующие основные категории: _______________________________________________________________________________________
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
АРI содержит совокупность функций, которые доступны программистам при разработке программ — их называют _____________________________________________ К ним относятся _________________________________________________________________________________________
_________________________________________________________________________________________
Функции ядра — _____________________________________________________________________
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
К службам относятся процессы, которые запускаются диспетчером управления служб. Они, как правило, работают в фоновом режиме независимо от других приложений и предназначенны для обслуживания определенных потребностей пользователя или системы. Например, служба Task Scheduler-планировщик, который позволяет управлять запуском других программ.
Windows содержит большой набор функций (подпрограмм), объединенных в отдельные бинарные файлы, которые программы могут динамически загружать во время своего выполнения. Такие библиотеки функций называют ________________________________________________________
__________________________________________________________________________________________________________________________________________________________________________________
Различные программные механизмы, которые операционная система предоставляет программистам для выполнения определенных действий, называют также сервисами, поскольку они предназначены для обслуживания различных потребностей пользователя системы. К таким сервисам относятся ___________________________________ Отдельное подмножество составляют неуправляемые системные сервисы (или исполнительные системные сервисы). Они охватывают недокументированные низкоуровневые сервисы операционной системы, которые можно вызвать в пользовательском режиме.
Когда в среде Windows запускается прикладная программа, система создает специальный объект — ___________________________, — который ________________________________________________________________________________________________. Может показаться, что программа и процесс — понятие похожие, они фундаментально отличаются. Программа — _____________________________________________________, а процесс — ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Известная утилита для анализа активности процессов-системный Task Manager (_________________________________________). В ядре Windows нет такого понятия, как задачи, поэтому Task Manager ______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Диспетчер задач Windows отображает список активных процессов. Его можно запустить различными способами: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________В этом окне процессы идентифицируются по имени образа, экземплярами которого они являются. В отличие от других объектов в Windows процессам нельзя присваивать глобальные имена.
Если вкладка Processes окна диспетчера задач показывает список процессов, то содержание вкладки Applications (приложения) отображает список видимых окон верхнего уровня всех объектов «рабочий стол» интерактивного объекта WindowStation. Столбик Status (состояние) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________. Состояние «Running» («выполняется») _____________________________________________________________________________________________________________________________________________________________________________________________________________________________________, a Not Responding («не отвечает «) — _________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________.
Вкладка Applications позволяет ______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Для предотвращения доступа приложений к критически важным данным операционной системы и устранения риска их модификации Windows использует два режима доступа к процессору (даже если он поддерживает более двух
режимов): _______________________________________________________. Код программ работает в ___________________________________________, тогда как код операционной системы (например, системные сервисы и драйверы устройств) — в _____________________________. В режиме ядра предоставляется доступ ко всей системной памяти и разрешается выполнять любые машинные команды процессора.
Прикладные программы _______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________. Переключение с пользовательского режима в режим ядра осуществляется _______________
_______________________________________________________________. Операционная система ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________. Перед возвращением управления пользовательскому потоку процессор переключается обратно в пользовательский режим. Благодаря этому операционная система __________________________________________________________________________________________________________________________________________________________________________________.
Поэтому ситуация, когда пользовательский поток часть времени работает в пользовательском режиме, а часть — в режиме ядра, обычная. Поскольку подсистема, отвечающая за поддержку графики и окон, функционирует в режиме ядра, то программы, интенсивно работающих с графикой, большую часть времени действуют в режиме ядра, а не в пользовательском режиме. Самый простой способ проверить это — _______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Задание 2. Диспетчере задач.
Задание 2.1. Просмотр состояния процессов через диспетчер задач.
Просмотр и анализ взаимосвязей процессов и потоков.
Запустите диспетчер задач. Переключитесь на закладку Процессы. В меню Вид выберите пункт Выбрать столбцы… и укажите столбцы согласно рисунка 1. Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 1. Выбор столбцов диспетчера задач»
Рисунок 1. Выбор столбцов диспетчера задач
Потом определите сколько процессов запущено системой. Для этого я передите на закладку Быстродействие и в меню Вид выберите пункт Загрузка ЦП. (см. рис.2) Например: из рисунка мы видим что системой запущено 53 процесса, загрузка ЦП колеблется от 3-5%, файл подкачки загружен на 931 МБ. Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 2. Диспетчер задач. Вкладка «Быстродействие»»
Рисунок 2. Диспетчер задач. Вкладка «Быстродействие»
Теперь запускаем приложение Paint и смотрим на изменения ЦП. Например в примере: загрузка ЦП колеблется в пределах 1-4%, файл подкачки загрузился на 942 МБ. Если сравнить объёмы используемого файла подкачки и доступной физической памяти, то можно сделать вывод что в сумме они дают общий объем физической памяти. (см. рис.3).
Рисунок 3. Результат после запуска приложения Paint
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 3. Результат после запуска приложения Paint». Напишите в каких пределах колеблется загрузка ЦП, как изменился файл подкачки.
Просмотр времени работы системы в пользовательском режиме и режиме ядра.
Переключитесь на закладку Быстродействие и в меню Вид выберите пункт Вывод времени ядра (см. Рисунок 4). Быстро прокручиваем страницы любого текстового документа. На индикаторе Загрузка ЦП процент работы процессора в пользовательском режиме отражается зеленым цветом, в режиме ядра красным. Из рисунка четко видны изменения работы процессора при прокрутке страниц.
Рисунок 4. Состояние системы при прокрутке страниц
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 4. Состояние системы при прокрутке страниц»
Задание 2.2. Просмотр сведений о поддержке многопроцессорных систем.
Согласно следующему заданию откройте диспетчер устройств (Пуск – Панель управления – Диспетчер устройств). В списке устройств раскройте узел Компьютер. В окне свойств (Правой кнопкой свойства) перейдите на закладку Драйвер и с помощью кнопки Сведения просмотрите сведения о файлах драйверов (см. Рисунок 5).
Рисунок 5. Сведения о файлах поддержки многопроцессорных систем
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 5. Сведения о файлах поддержки многопроцессорных систем»
Задание 2.3. Изучение отношения процессов родитель-потомок
1. Запустите командную строку (Пуск – Все программы – Стандартные – Командная строка)
2. Потом наберите start cmd для запуска второго окна командной строки.
Рисунок 6. Запуск окон командной строки
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 6. Запуск окон командной строки»
3. Далее я откройте диспетчер задач.
4. Переключился на второе окно командной строки.
5. Ввел mspaint для запуска Microsoft Paint.
Рисунок 7. Запуск приложения Paint
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 7. Запуск приложения Paint»
6. Потом выберите второе окно командной строки.
7. Ввел команду exit, тем самым завершив работу второго окна.
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 8. Завершение работы второго окна»
8. Потом переключитесь в диспетчер задач. Откройте его вкладку Приложения. Щелкнул правой кнопкой мыши задачу Командная строка (cmd.exe) и выбрал Перейти к процессу.
Рисунок 9. Диспетчер задач. Переход к процессу cmd.exe
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 9. Диспетчер задач. Переход к процессу cmd.exe»
11. Щелкните процесс Cmd.exe, выделенный цветом.
12. Щелкнув правой кнопкой мыши, выберите команду Завершить дерево процессов.
13. В окне Предупреждение диспетчера задач щелкните кнопку Завершить дерево процессов.
Рисунок 10. Диспетчер задач. Переход к процессу cmd.exe
Первое окно командной строки исчезнет, но окно Paint по прежнему работает.
Сделайте скриншот вашей работы и сохраните его под именем «Рисунок 10. Диспетчер задач. Переход к процессу cmd.exe»
Ответы на контрольные вопросы
- Что такое WindowsAPI
- Что такое процессы
- Что такое потоки
- Что такое задачи
- Что такое диспетчер задач
_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
(перенаправлено с «Win32»)
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 12 сентября 2019 года; проверки требуют 10 правок.
Windows API (англ. application programming interfaces) — общее наименование набора базовых функций интерфейсов программирования приложений операционных систем семейств Microsoft Windows корпорации Майкрософт. Предоставляет прямой способ взаимодействия приложений пользователя с операционной системой Windows. Для создания программ, использующих Windows API, корпорация Майкрософт выпускает комплект разработчика программного обеспечения, который называется Platform SDK и содержит документацию, набор библиотек, утилит и других инструментальных средств для разработки.
Роль API в операционной системе Windows.
Общие сведенияПравить
Windows API спроектирован для использования в языке Си для написания прикладных программ, предназначенных для работы под управлением операционной системы MS Windows. Работа через Windows API — это наиболее близкий к операционной системе способ взаимодействия с ней из прикладных программ. Более низкий уровень доступа, необходимый только для драйверов устройств, в текущих версиях Windows предоставляется через Windows Driver Model.
Windows API представляет собой множество функций, структур данных и числовых констант, следующих соглашениям языка Си. В то же время конвенция вызова функций отличается от cdecl, принятой для языка C: Windows API использует stdcall (winapi). Все языки программирования, способные вызывать такие функции и оперировать такими типами данных в программах, исполняемых в среде Windows, могут пользоваться этим API. В частности, это языки C++, C#, Pascal, Visual Basic и многие другие.
Для облегчения программирования под Windows в компании Microsoft и сторонними разработчиками было предпринято множество попыток создать библиотеки и среды программирования, частично или полностью скрывающие от программиста особенности Windows API и предоставляющие ту или иную часть его возможностей в более удобном виде. В частности, сама Microsoft в разное время предлагала библиотеки Active Template Library (ATL)/Windows Template Library (WTL), Microsoft Foundation Classes (MFC), .Net/WinForms/WPF, TXLib. Компания Borland (ныне Embarcadero, её преемник в части средств разработки) предлагала OWL и VCL. Есть кросс-платформенные библиотеки, такие как Qt, Tk и многие другие. Весомая часть этих библиотек сконцентрирована на облегчении программирования графического интерфейса пользователя.
Для облегчения переноса на другие платформы программ, написанных с опорой на Windows API, сделана библиотека Wine.
ВерсииПравить
- Win16 — первая версия WinAPI для 16-разрядных версий Windows. Изначально назывался Windows API, позднее был ретроспективно переименован в Win16 для отличия от Win32. Описан в стандарте ECMA-234.
- Win32 — 32-разрядный API для современных версий Windows. Самая популярная ныне версия. Базовые функции реализованы в динамически подключаемых библиотеках
kernel32.dll
иadvapi32.dll
; базовые модули графического интерфейса пользователя — вuser32.dll
иgdi32.dll
. Win32 появился вместе с Windows NT и затем был перенесён в несколько ограниченном виде в системы серии Windows 9x. В современных версиях Windows, происходящих от Windows NT, работу Win32 GUI обеспечивают два модуля:csrss.exe
(процесс исполнения клиент-сервер), работающий в пользовательском режиме, иwin32k.sys
в режиме ядра. Работу же системы обеспечивает ядро —ntoskrnl.exe
. - Win32s — подмножество Win32, устанавливаемое на семейство 16-разрядных систем Windows 3.x и реализующее ограниченный набор функций Win32 для этих систем.
- Win64 — 64-разрядная версия Win32, содержащая дополнительные функции Windows на платформах x86-64 и IA-64.
См. такжеПравить
- .NET Framework.
- Wine — свободная кроссплатформенная реализация Windows API.
ПримечанияПравить
ЛитератураПравить
- Гэри Неббет. Справочник по базовым функциям API Windows NT/2000 = Windows NT/2000 Native API Reference. — М.: «Вильямс», 2002. — С. 528. — ISBN 1-57870-199-6.
СсылкиПравить
- MSDN Windows API
- API-программирование для 64-битовой Windows