Взаимодействие процессов в windows построено на

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

Содержание

  1. Процессы в Windows Страница 14. Взаимодействие между процессами
  2. Взаимодействие между процессами
  3. Разделяемая память
  4. Прочие механизмы (сокеты, pipe)
  5. Взаимодействие процессов (приложений) на WinApi
  6. Замедляем Windows, часть 2: создание процессов
  7. Что-то не так
  8. Отслеживание редкого сбоя
  9. O(n^2) — это обычно не к добру
  10. На самом деле, в худшем случае всё довольно плохо
  11. Поможет ли более производительный диск?
  12. Обнаружение
  13. Решение
  14. Вспомогательная информация
  15. Sysadminium
  16. Процессы, потоки и задания Windows
  17. Процессы
  18. Дерево процессов
  19. Потоки
  20. Волокна и планирование пользовательского режима
  21. Задания
  22. Диспетчер задач
  23. Process Explorer
  24. Установка и подготовка к работе
  25. Потоки в Process Explorer
  26. Задания в Process Explorer

Процессы в Windows
Страница 14. Взаимодействие между процессами

Взаимодействие между процессами

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

Разделяемая память

Такие объекты называются проекциями файлов (на оперативную память) (file-mapping object). Для создания проекции файла сначала вызывается функция CreateFileMapping(). Ей передается дескриптор (уже открытого) файла или указывается, что нужно использовать page file операционной системы. Кроме этого, в параметрах ей передается флаг защиты, максимальный размер проекции и имя объекта. Затем вызывается функция MapViewOfFile(). Она отображает представление файла (view of a file) в адресное пространство процесса. По окончании работы вызывается функция UnmapViewOfFile(). Она освобождает память и записывает данные в файл (если это не файл подкачки). Чтобы записать данные на диск немедленно, используется функция FlushViewOfFile(). Проекция файла, как и другие объекты ядра, может использоваться другими процессами через наследование, дублирование дескриптора или по имени.

Пример 11. Вот пример программы, которая создает проекцию в page file и записывает в нее данные.

Прочие механизмы (сокеты, pipe)

Кроме разделяемой памяти, в Windows есть и другие способы передачи информации между процессами, например, каналы, поименованные каналы и сокеты. Все они имеют сходный принцип и представляют собой своеобразный канал или соединение, «трубу», соединяющую процессы. Программа, имея один конец такого соединения, может читать и/или писать в него данные, обмениваясь таким образом информацией с программой на другом конце.

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

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

Источник

Взаимодействие процессов (приложений) на WinApi

Сейчас в интернетах можно встретить много Hello World’ов на WinApi, но когда новичок спрашивает как в этот Hello World добавить пару нужных функций — закидывают тухлыми яблоками и тут же отправляют в пресловутый и могучий MSDN.

В этой статье от новичка новичкам я расскажу, как построить два простых приложения которые будут взаимодействовать друг с другом — одно будет принимать на вход параметры геометрической прогрессии и передавать её второму, второе же приложение будет рассчитывать n-ый член прогрессии, записывать его в файл и передавать ответ первому приложению.

Image10

Итак, поехали (Гагарин).

С тем что нам нужно мы уже определились во введении, разрабатывать мы будем в Visual Studio 2008, так как она единственная лежала на сервере университета.

Создаем проект пустой проект Application A, а в нем создадим обертку для упрощенния создания окна (эта обертка понадобится и в другом проекте, а так же может понадобится Вам в будущем).

Хоть статья и для начинающих — на описании процесса создания окна мы останавливаться не будем, так как этой информации в интернете предостаточно.

Далее нам нужно в файл ресурсов добавить диалоговое окно:

Выглядеть это должно примерно так:

1

Приступим к кодингу.

Интересные и интересующие моменты рассмотрим отдельно

Тут мы объявляем структуру данных которую мы посылаем и необходимые структуры:

Далее идет проверка — запущено ли второе приложение, если нет то программа запускает его.

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

Правильно заполняем структуру передаваемых данных и отправляем её другому приложению:

Вот и все — не каких проверок на то заполнены ли поля и заполнены ли они корректно мы делать не будем в этой статье.

А теперь приступим к приложению B. Первые два файла — kWnd.h и kWnd.cpp остаются неизменными. Само приложение мы будем строить уже не на базе диалогового окна, а на базе чистого хардкора.

Вооот, этот длинный файл и делает всю сложную работу — принимает сообщение, вычисляет(в многопоточном режиме(не удивляетесь, это было одним из пунктов задания)), записывает, отправляет назад.

Здесь из интересных моментов стоит отметить прием данных в событии:

Далее к принятым данным можно достучаться например так:

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

И вот что у нас получилось:

1

2

Я очень надеюсь что моя статья была кому либо полезна и очень извиняюсь перед теми кому она не понравилась. Жду комментариев к коду (говнокоду).

Источник

Замедляем Windows, часть 2: создание процессов

b558f193cbc015bf35b2b068ff1c8e65

Windows давно упрекают за медлительность файловых операций и создания процессов. А вы когда-нибудь пробовали сделать их ещё медленнее? Эта статья покажет технику, как постепенно замедлять создание процессов в Windows (до бесконечности) незаметно для большинства пользователей!

И конечно, статья также расскажет, как обнаружить и избежать этой проблемы.

Это реальная проблема, с которой я столкнулся в начале года, и статья объясняет, как я её обнаружил и нашёл обходной путь. Предыдущие статьи о замедлении Windows:

Что-то не так

Я не ищу неприятностей, но, кажется, я их нашел. Может, потому что собираю Chrome из исходников сотни раз за выходные или я по жизни невезуч. Думаю, мы никогда не узнаем. Так или иначе, эта статья описывает пятую серьёзную проблему, с которой я столкнулся в Windows при сборке Chrome.

Отслеживание редкого сбоя

Компьютеры должны быть надёжными и предсказуемыми, и меня раздражает иное. Если я собираю Chrome несколько сотен раз подряд, хотелось бы видеть успешной каждую сборку. Поэтому когда наш распределённый процесс компиляции (gomacc.exe) иногда вылетает — я хочу это исследовать. У меня настроена автоматическая запись аварийных дампов, поэтому я вижу, что сбои происходят при обнаружении повреждения кучи. Простой способ проверить — включить pageheap, чтобы куча Windows помещала каждое выделение памяти на отдельную страницу. Это означает, что use-after-free и переполнения буфера приводят к мгновенному сбою вместо трудно диагностируемого повреждения. Я уже ранее писал о включении pageheap с помощью App Verifier.

App Verifier приводит к замедлению работы программы по двум причинам: выделения памяти замедляются, а выровненные по страницам выделения практически дезактивируют кэш процессора. Таким образом, небольшое замедление сборки было предсказуемо, так и произошло.

Но когда я зашёл позже, сборка как будто вообще остановилась. После примерно 7000 шагов сборки не было заметно никакого прогресса.

O(n^2) — это обычно не к добру

Оказывается, Application Verifier любит создавать файлы журналов. И неважно, что никто не смотрит эти файлы, он создаёт их на всякий случай. И у этих файлов должны быть уникальные имена. Я уверен, что казалось хорошей идеей просто дать логам численные названия в возрастающем порядке, такие как gomacc.exe.0.dat, gomacc.exe.1.dat и так далее.

Чтобы получить численные названия в возрастающем порядке, нужно определить, какое число использовать следующим. Самый простой способ — попробовать возможные имена/числа, пока не найдёте то, которое ещё не использовалось. То есть попробовать создать новый файл с названием gomacc.exe.0.dat, а если он уже существует, попробовать gomacc.exe.1.dat и так далее.

Что может пойти не так?

На самом деле, в худшем случае всё довольно плохо

Оказывается, если выполнять линейный поиск неиспользуемого имени файла при создании процесса, то запуск N процессов занимает O(N^2) операций. Здравый смысл подсказывает, что алгоритмы O(N^2) слишком медленные, если вы не можете гарантировать, что N всегда остаётся относительно малым.

Насколько именно плохой станет ситуация — зависит от того, сколько времени занимает проверка существования файла. Я провёл измерения и обнаружил, что в Windows она занимает около 80 микросекунд (80 мкс или 0,08 мс). Запуск первого процесса происходит быстро, но запуск 1000-го процесса требует сканирования 1000 уже созданных файлов журнала. Это занимает 80 мс, а затем ещё больше.

Типичная сборка Chrome требует запуска компилятора около 30 000 раз. Каждый запуск компилятора требует сканирования N ранее созданных файлов журнала, по 0,08 мс для проверки каждого файла. Линейный поиск следующего доступного имени файла журнала означает, что для запуска N процессов требуется (N^2)/2 проверок существования файла, то есть 30,000 * 30,000 / 2, что составляет 450 миллионов. Поскольку каждая проверка существования файла занимает 0,08 мс, это 36 миллионов миллисекунд, или 36 000 секунд. То есть время сборки Chrome, которое обычно составляет от пяти до десяти минут, увеличится ещё на десять часов.

При написании этой статьи я воспроизвёл ошибку, запустив пустой исполняемый файл около 7000 раз — и увидел чёткую кривую O(n^2) вроде такой:

image loader

Как ни странно, если взять трассировку ETW и посмотреть на среднее время вызова CreateFile, то почти для всех файлов показан результат менее пяти микросекунд (в среднем 4,386 мкс в примере ниже):

image loader

Похоже, что здесь показано просто ограничение ETW на трассировку ввода-вывода файла. События файлового ввода-вывода отслеживают только самый низкий уровень файловой системы, а выше Ntfs.sys есть ещё много уровней, включая FLTMGR.SYS и ntoskrnl.exe. Однако подтормаживание невозможно полностью скрыть — использование CPU видно на графике CPU Usage. На скриншоте ниже показан временной интервал 548 мс, представляющий собой создание одного процесса. В основном, всё время тратится только на сканирование около 6850 возможных имён файлов лога:

image loader

Поможет ли более производительный диск?

Объём обрабатываемых данных невелик, а объём записи на диск ещё меньше. Во время моих тестов для воспроизведения бага диск почти полностью простаивал. Это проблема связана с CPU, поскольку все соответствующие данные диска кэшируются. И даже если бы накладные расходы сократились на порядок, они всё равно были бы слишком большими. Вы не можете улучшить алгоритм O(N^2).

Обнаружение

Решение

Самое простое решение — отключить журналирование. Это также остановит заполнение диска гигабайтами логов. Оно отключается следующей командой:

После отключения журналирования я обнаружил, что мои процессы стартовали примерно в три раза быстрее (!), чем в начале теста, а замедление полностью исчезло. 7000 отслеживаемых процессов Application Verifier создаются за 1,5 минуты, а не за 40 минут. С моим простым пакетным файлом для тестов и простым процессом я вижу такие скорости создания процессов:

Но Application Verifier больше не поддерживается, а файлы журналов всё равно бесполезны, поэтому просто отключите их.

Вспомогательная информация

Пакетные файлы и скрипт для воссоздания бага после включения Application Verifier для empty.exe можно найти здесь.

Трассировка ETW примерно с конца эксперимента — здесь.

Примеры других алгоритмов O(n^2), которые идут вразнос, см. на Accidentally Quadratic

Для более приземлённого удовольствия см. видеоподборку моих 19 разных способов добраться на работу в сентябре — я был слишком занят, чтобы продолжать эксперимент в этом месяце.

Источник

Sysadminium

База знаний системного администратора

Процессы, потоки и задания Windows

Работа операционной системы Windows основана на работе процессов. В этой статье разберём что такое Windows процессы, их свойства, состояния и другое.

Процессы

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

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

Windows процессы состоят из следующего:

У процессов есть еще очень много свойств которые вы можете посмотреть в “Диспетчере задач” или “Process Explorer“.

Процесс может быть в различных состояниях:

В Windows существуют процессы трёх типов:

Дерево процессов

В Windows процессы знают только своих родителей, а более древних предков не знают.

Например у нас есть такое дерево процессов:

Если мы завершим дерево процессов “Процесс_1“, то завершатся все процессы. Потому что “Процесс_1” знает про “Процесс_2“, а “Процесс_2” знает про “Процесс_3“.

Если мы вначале завершим “Процесс_2“, а затем завершаем дерево процессов “Процесс_1“, то завершится только “Процесс_1“, так как между “Процесс_1” и “Процесс_3” не останется связи.

Например, запустите командную строку и выполните команду title parrent чтобы изменить заголовок окна и start cmd чтобы запустить второе окно командной строки:

Измените заголовок второго окна на child и из него запустите программу paint:

В окне командной строке child введите команду exit, окно закроется а paint продолжит работать:

После этого на рабочем столе останутся два приложения, командная строка parrent и paint. При этом parrent будет являться как бы дедом для paint.

Запустите “Диспетчер задач”, на вкладке “Процессы” найдите процесс “Обработчик команд Windows”, разверните список и найдите “parrent“. Затем нажмите на нём правой копкой мыши и выберите “Подробно”:

image 6

Вы переключитесь на вкладку “Подробно” с выделенным процессом “cmd.exe“. Нажмите правой кнопкой по этому процессу и выберите «Завершить дерево процессов»:

image 7

Окно командной строки Parrent завершится а Paint останется работать. Так мы убедились что связи между первым процессом и его внуком нет, если у внука нет непосредственного родителя.

Потоки

На центральном процессоре обрабатываются не сами процессы, а программные потоки. Каждый поток, это код загруженный программой. Программа может работать в одном потоке или создавать несколько. Если программа работает в несколько потоков, то она может выполняться на разных ядрах процессора. Посмотреть на потоки можно с помощью программы Process Explorer.

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

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

Волокна и планирование пользовательского режима

Потоки выполняются на центральном процессоре, а за их переключение отвечает планировщик ядра. В связи с тем что такое переключение это затратная операция. В Windows придумали два механизма для сокращения таких затрат: волокна (fibers) и планирование пользовательского режима (UMS, User Mode Scheduling).

Во-первых, поток с помощью специальной функции может превратится в волокно, затем это волокно может породить другие волокна, таким образом образуется группа волокон. Волокна не видимы для ядра и не обращаются к планировщику. Вместо этого они сами договариваются в какой последовательности они будут обращаться к процессору. Но волокна плохо реализованы в Windows, большинство библиотек ничего не знает о существовании волокон. Поэтому волокна могут обрабатываться как потоки и начнутся различные сбои в программе если она использует такие библиотеки.

Потоки UMS (User Mode Scheduling), доступные только в 64-разрядных версиях Windows, предоставляют все основные преимущества волокон при минимуме их недостатков. Потоки UMS обладают собственным состоянием ядра, поэтому они «видимы» для ядра, что позволяет нескольким потокам UMS совместно использовать процессор и конкурировать за него. Работает это следующим образом:

Задания

Задания Windows (Job) позволяют объединить несколько процессов в одну группу. Затем можно этой группой управлять:

Посмотреть на задания можно с помощью Process Explorer.

Диспетчер задач

Чаще всего для получения информации о процессе мы используем «Диспетчер задач». Запустить его можно разными способами:

При первом запуске диспетчера задач он запускается в кратком режиме, при этом видны только процессы имеющие видимое окно. При нажатие на кнопку «Подробнее» откроется полный режим:

image 5

В полном режиме на вкладке «Процессы» виден список процессов и информация по ним. Чтобы получить больше информации можно нажать правой кнопкой мышки на заголовке и добавить столбцы:

RW3jLrN 9a0

Чтобы получить еще больше информации можно нажать правой кнопкой мышки на процессе и выбрать «Подробно». При этом вы переключитесь на вкладку «Подробности» и этот процесс выделится.

На вкладке «Подробности» можно получить ещё больше информации о процессе. А также здесь также можно добавить колонки с дополнительной информацией, для этого нужно щелкнуть правой кнопкой мыши по заголовку и нажать «Выбрать столбцы»:

iKdZrXbQCf8

Process Explorer

Установка и подготовка к работе

Более подробную информацию о процессах и потоках можно получить с помощью программы Process Explorer из пакета Sysinternals. Его нужно скачать и запустить.

Некоторые возможности Process Explorer:

Запустите Process Explorer:

FBilNZd2W1Y

Далее нужно настроить сервер символических имен. Если это не сделать, при двойном щелчке на процессе, на вкладке Threads (потоки) вы получите сообщение о том, что символические имена не настроены:

9ojO nv7AvQ

Для начала скачиваем установщик «Пакет SDK для Windows 10».

Устанавливать все не нужно, достаточно при установки выбрать “Debugging Tools for Windows“:

SHIfW7fjmPQ

Для настройки символических имен перейдите в меню Options / Configure / Symbols. Введите путь к библиотеке Dbghelp.dll, которая находится внутри установленного «Пакета SDK для Windows 10» по умолчанию:

И путь к серверу символической информации:

Некоторые основные настройки Process Explorer:

Потоки в Process Explorer

Потоки отдельного процесса можно увидеть в программе Process Explorer. Для этого нужно дважды кликнуть по процессу и в открывшемся окне перейти на вкладку «Threads»:

qI3UX MuoN0

В колонках видна информация по каждому потоку:

При выделении потока, снизу показана следующую информация:

Задания в Process Explorer

Process Explorer может выделить процессы, управляемые заданиями. Чтобы включить такое выделение откройте меню «Options» и выберите команду «Configure Colors», далее поставьте галочку «Jobs»:

SKd0RsFogPQ

Более того, страницы свойств таких процессов содержат дополнительную вкладку Job с информацией о самом объекте задания. Например приложение Skype работает со своими процессами как за заданием:

Запустите командную строку и введите команду:

Таким образом вы запустите еще одну командную строку от имени этого пользователя. Служба Windows, которая выполняет команды runas, создает безымянное задание, чтобы во время выхода из системы завершить процессы из задания.

В новой командной строке запустите блокнот:

Далее запускаем Process Explorer и находим такое дерево процессов:

I4yi6U6P0jc

Как видим, процесс cmd и notepad это процессы связанные с каким-то заданием. Если дважды кликнуть по любому из этих процессов и перейти на вкладку Job, то мы увидим следующее:

mYse6KOdna4

Тут видно что эти два процесса работают в рамках одного задания.

Источник

Операционные системы

Адрес WindowsProc (для каждого окна свой):

+<00>известен системе, он передается ей во время регистрации окна.

Большая часть кода переносимой ОС должна быть написана на языке, для которого на всех машинах, куда планируется перенос, имеются:

Вы удалили файл, но в «Корзине» его нет. Укажите возможные причины

+<00>В свойствах папки «Корзина» установлен флажок «Уничтожать файлы сразу после удаления, не помещая их в корзину»

Выберите правильные утверждения

+-<00>Переключаться между окнами программ можно как мышкой, так и клавиатурой

+-<00>Активное окно располагается поверх остальных окон

+-<00>Только одно окно может быть активным

Вы перетащили значок файла левой кнопкой мыши с диска D: на диск C:. Какое действие произвелось?

Вам надо найти файл, хранящийся в папке «Test». Выберите правильные действия.

+<00>Щелкнуть левой кнопкой мыши по папке, нажать клавишу F3, выбрать пункт «файлы и папки»

+<00>Использовать меню «Пуск – Поиск – Файлы и папки», в поле «Где искать» выбрать «Обзор» и указать папку Test

Выберите правильные утверждения, относящиеся к поиску в Windows XP

+-<00>Файл можно найти, если известна хотя бы дата его изменения

+-<00>Если в поле «Где искать» указать «Мой компьютер», при поиске будут просмотрены все диски, в том числе компакт диск, находящийся в CD-ROM приводе

—<00>С помощью средств поиска нельзя искать файлы на дискетах

Всегда ли прерывание вызывает перепланировку процессов?

Выберете из списка многозадачную ОС

Выделите ОC с невытесняющей многозадачностью

Выберите неверное состояние процесса

В виде, более или менее напоминающем его нынешнюю структуру, реестр появился в:

Взаимодействие процессов в Windows построено на

В ОС Windows взаимодействие построено на:

В сценариях JScript переменные могут быть:

+<00>глобальными и локальными

В Delphi встроенные команды Windows запускаются с помощью команды:

В ОС на основе микроядра механизм обращения к функциям ОС, оформленным в виде серверов, основан на модели взаимодействия:

Важными вехами эволюции ОС явились:

В идеале код ОС должен легко переноситься на разные типы процессоров и разные аппаратные платформы. Это характеристика свойства:

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

Во многих ОС средства обмена данными и синхронизации называют средствами межпроцессного (межпоточного):

В большинстве случаев ОС присваивает приоритеты потокам:

В многопоточной системе при порождении процесса ОС создает для каждого процесса один или несколько:

Вектор прерываний представляет собой некоторое число (номер) в диапазоне 0-255, указывающее на одну из 256 программ обработки прерываний, адреса которых хранятся в:

Вследствие несамостоятельности своего порождения поток имеет состояния:

+—<00>порождение

++-<00>выполнение

В ОС имеются подсистемы управления:

Источник

назад

ОС

Укажите способы
переключения между окнами открытых
программ в Windows .
+Щелкнуть кнопку
программы на панели задач
+Использовать
сочетание клавиш Alt + Tab
+Щелкнуть внутрь
окна программы

 Как отобразить
«Главное меню» Windows?
+Нажать на кнопку
«Пуск»
+Нажать комбинацию клавиш
Ctrl+Esc

По какой причине
имена файлов и папок подчеркнуты?
+Вид
папки настроен на одиночный щелчок (как
обозреватель Интернета)

Для чего используется
режим «Эскизы страниц»?
+Для отображения
миниатюр рисунков

Укажите способы
создать ярлык для папки на Рабочем
столе
+Щелкнуть правой кнопкой по
папке, выбрать команду «Отправить»,
затем «Рабочий стол (создать
ярлык)»
+Щелкнуть правой кнопкой мыши
по папке, выбрать «Создать», затем
«Ярлык».

Какие действия
можно предпринять для настройки
системного времени?
+Сделать двойной
щелчок левой кнопкой мыши по индикатору
часов в области индикаторов на панели
задач.
+Открыть «Панель управления»,
сделать двойной щелчок по значку «Дата
и время»

Укажите способы
переключения между окнами открытых
программ в Windows
+Использовать сочетание
клавиш Alt + Tab
+Щелкнуть внутрь окна
программы

Как ввести заглавную
букву?
+Удерживая клавишу Shift нажать
клавишу с буквой
+Нажать клавишу
CapsLock, затем нажать клавишу с буквой

Каким образом
перейти в режим командной строки в
Windows XP?
+Выбрать меню «Пуск – Программы
– Стандартные – Командная строка»
+Выбрать
меню «Пуск – Выполнить» ввести имя
«cmd», нажать «Ok»

Укажите способы
переключения между окнами открытых
программ в Windows XP
+Щёлкнуть кнопку
программы на панели задач
+Использовать
сочетание клавиш Alt + Tab
+Щёлкнуть внутрь
окна программы

 Что означают
подчёркнутые буквы в меню?
+Меню можно
вызвать, удерживая Alt и нажав на клавиатуре
букву, которая подчёркнута

Как отобразить
«Главное меню» Windows?
+Нажать на кнопку
«Пуск»
+Нажать комбинацию клавиш Ctrl
+ Esc

Как выделить файлы
в списке через один?
+Щёлкать по значкам
файлов, удерживая клавишу Ctrl

Укажите
правильные способы запуска программы
«Проводник»
+Выбрать меню «Пуск –
Программы – Стандартные — Проводник»
+Щёлкнуть
правой кнопкой мыши по значку «Мой
компьютер» на рабочем столе, выбрать
команду «Проводник» 
+Щёлкнуть
правой кнопкой мыши по кнопке «Пуск»,
выбрать команду «Проводник»

Какие действия
приведут к созданию новой папки в папке
«Отчёты»?
+Выбор команды меню «Файл –
Создать — Папку»
+Щелчок правой кнопкой
мыши по области 2, выбор меню «Создать
– Папку»
+Щелчок по кнопке 4, выбор
«Создать новую папку»

 Как выделить
в списке подряд идущие файлы
+Щёлкнуть
по первому файлу, затем удерживая Shift,
щёлкнуть по последнему файлу
+Щёлкнуть
по первому файлу, удерживая Shift, нажимать
стрелку вниз на клавиатуре
+Заключить
выделяемые файлы в прямоугольник левой
кнопкой мыши

Как восстановить
ранее удалённый файл документа?

Главном меню выбрать пункт «Документы»,
щёлкнуть имя файла
+Открыть «Корзину»,
щёлкнуть правой кнопкой мыши по значку
документа, выбрать «Восстановить»
+Выделить
файл документа в «Корзине», выбрать
меню «Файл – Восстановить»
+Вырезать
файл из корзины и вставить в другую
папку на диске

Каким образом
можно переименовать файл?
+Щелкнуть
по файлу правой кнопкой мыши, выбрать
команду «Переименовать», ввести новое
имя.
+Сделать два последовательных
одиночных щелчка по имени файла, ввести
новое имя.
+Щелкнуть один раз по имени
файла, нажать клавишу F2, ввести новое
имя.
+Щелкнуть один раз по имени файла,
выбрать меню «Файл — Переименовать»,
ввести новое имя.

Двойным щелчком
файл открывается программой «Блокнот».
Как открыть его в другой программе?
+Запустить
программу, воспользоваться меню «Файл
— Открыть»
+Щелкнуть правой кнопкой
мыши по файлу, выбрать «Открыть с
помощью…», в появившемся списке выбрать
программу

 Какое расширение
имеют текстовые файлы, открываемые по
умолчанию стандартной программой
«Блокнот»?
+*.txt

Какие 
действия надо предпринять для вызова
справочной системы Windows?
+Щелкнуть в
любое место Рабочего стола, нажать на
клавиатуре клавишу F1 
+Нажать
«Пуск» — «Справка и поддержка»

Поле «Найти» в
справочной системе Windows XP позволяет…
+Найти
раздел по ключевому слову, содержащемуся
в тексте справки

Укажите правильную
последовательность действий для
установки общего доступа к Вашей
папке
+Открыть «Проводник», щелкнуть
правой кнопкой по значку папки, выбрать
команду «Свойства», затем вкладку
«Доступ», включить пункт «Открыть общий
доступ к этой папке».

Как увидеть, под
каким именем Ваш компьютер виден в
«Сетевом окружении»?
+Щелкнуть правой
кнопкой мыши по значку «Моё компьютер»,
выбрать «Свойства», перейти на вкладку
«Имя компьютера»

 Как открыть
сразу несколько файлов?
+Выделить
файлы вместе, сделать щелчок по любому
из них
+Выделить файлы вместе, щелкнуть
правой кнопкой мыши по любому из них,
выбрать команду «Открыть»

Укажите,
какие из приведенных записей не могут
быть использованы в качестве имени
папки.
+Отчеты? 
+Годовой
*отчет* 
+Папка
«Годовой отчет»

Какой тип информации
содержат файлы с расширением
*.exe?
+Исполняемый код программы

Значки на Рабочем
столе невозможно свободно перемещать
(они возвращаются назад). Какая
последовательность действий привела
к такой ситуации?
+Щелчок правой кнопкой
мыши по Рабочему столу, выбор команды
«Закрепить значки»

 Что произойдет
с папкой. Если удалить ее ярлык с Рабочего
стола?
+Ничего не произойдет

Как вызвать
контекстное меню?
+Щелкнуть правой
кнопкой мыши по элементу, для которого
вызывается меню

 Какие
действия позволяет произвести пункт
«Пуск — Выполнить»?
+Запустить
программу 
+Открыть
папку 
+Открыть
файл

Вы
удалили файл, но в «Корзине» его нет.
Укажите возможные причины
+В свойствах
папки «Корзина» установлен флажок
«Уничтожать файлы сразу после удаления,
не помещая их в корзину»
+Во время
выбора команды «Удалить» была нажата
клавиша Shift 
+Файл
был удален с дискеты

Как
переключить раскладку клавиатуры?
(Выберите все правильные Какими
клавиатурными комбинациями можно
перемещаться по элементам диалогового
окна? (Выберите все правильные ответы) 
Какими клавиатурными комбинациями
можно перемещаться по элементам
диалог
+Щелкнуть в области индикаторов
значок (1), выбрать нужный язык 
+Нажать
левый «Alt+Shift» или «Ctrl+Shift» в зависимости
от настроек Windows

Выберите
правильные утверждения
+Переключаться
между окнами программ можно как мышкой,
так и клавиатурой 
+Активное
окно располагается поверх остальных
окон 
+Только
одно окно может быть активным

Как
переключить раскладку клавиатуры?
(Выберите все правильные ответы)
+Щелкнуть
в области индикаторов значок (1), выбрать
нужный язык 
+Нажать
левый «Alt+Shift» или «Ctrl+Shift» в зависимости
от настроек Windows

Как
отобразить «Главное меню» Windows?
+Нажать
на кнопку «Пуск» 
+Нажать
комбинацию клавиш Ctrl+Esc 
+Щелкнуть
правой кнопкой мыши по панели задач,
выбрать «Панели инструментов – Главное
меню»

 Вы перетащили
значок файла левой кнопкой мыши с диска
D: на диск C:. Какое действие
произвелось?
+Копирование файла

Что произойдет с
папкой, если удалить ее ярлык с рабочего
стола?
+Ничего не произойдет

Как
удалить все находящиеся в «Корзине»
объекты? (Выберите все правильные
ответы)
+Щелкнуть правой кнопкой мыши
по значку «Корзины», выбрать команду
«Очистить корзину» 
+Выделить
все объекты внутри «Корзины» и удалить
их, как обычно

Вам
надо найти файл, хранящийся в папке
«Test». Выберите правильные действия.
+Щелкнуть
левой кнопкой мыши по папке (1), нажать
клавишу F3, выбрать пункт «файлы и
папки». 
+Использовать
меню «Пуск – Поиск – Файлы и папки», в
поле «Где искать» выбрать «Обзор» и
указать папку Test

 К
запуску, какой стандартной программы
Windows приведет двойной щелчок по файлу
с расширением bmp? 
+Paint

Выберите правильные
утверждения, относящиеся к поиску в
Windows XP
+Файл можно найти, если известна
хотя бы дата его изменения
+Если в поле
«Где искать» указать «Мой компьютер»,
при поиске будут просмотрены все диски,
в том числе компакт диск, находящийся
в CD-ROM приводе

Какие
из перечисленных файлов будут найдены,
если при поиске задать имя «л*к»? (Выберите
все правильные
ответы)
+л*к.bmp 
+лук.bmp 
+лик.bmp 
+лук.txt

Какой
вид проверки позволяет выполнить
указанная кнопка? (Выберите все правильные
ответы)
+Проверку файловой системы на
наличие ошибок 
+Проверку
и исправление повреждённых секторов

Можно ли войти в
систему Windows XP, нажав на кнопку «Отмена»
в окне «Вход в систему»?
+Нет

Что означает
«Сетевое имя»?
+Имя папки, которое
видно другим пользователям в «Сетевом
окружении»

Как
увидеть ресурсы другого компьютера,
зная его сетевое имя? (Выберите все
правильные ответы)
+Щелкнуть правой
кнопкой мыши по значку «Мое сетевое
окружение», выбрать команду «Поиск
компьютеров», ввести имя компьютера,
нажать «Найти», затем сделать по значку
найденного компьютера двойной
щелчок 
+Выбрать
команду «Пуск – Найти – Компьютер»,
ввести имя компьютера, нажать «Найти»,
затем сделать по значку найденного
компьютера двойной щелчок

Укажите правильные
способы запуска программы проверки
диска на ошибки в файловой системе?
+Выбрать
меню «Пуск – Все программы – Стандартные
– Служебные – Проверка диска»

Значок папки «Мои
документы» пропал с Рабочего стола. Как
вернуть его на Рабочий стол?
+Щелкнуть
правой кнопкой мыши по рабочему столу,
в «Свойствах экрана», на вкладке «Рабочий
стол», щелкнув по кнопке «Настройка
рабочего стола» установить флажок «Мои
документы».

Значок
папки «Мои документы» пропал с Рабочего
стола. Как вернуть Как обновить окно
программы «Проводник»?
+Щелкнуть
правой кнопкой мыши в окне папки, выбрать
«Обновить» 
+Нажать
клавишу F5 
+Использовать
меню «Вид – Обновить»

Какое действие
позволяет выполнить данная кнопка
панели инструментов?
+Отобразить
древовидную структуру папок

Какой
из следующих методов распределения
памяти может рассматриваться как частный
случай виртуальной памяти?
+C.страничное
распределение 
+D.сегментное
распределение 
+E.сегментно-страничное
распределение

Какое из этих двух
утверждений верно?
+C.А и В – могут
использоваться оба режима в зависимости
от типа подсистемы управления памятью
и требований приложения.

Класс
виртуальной памяти, предусматривающий
переменение данных частями виртуального
адресного пространства произвольного
размера, полученными с учетом смыслового
значения данных:
+B.сегментная виртуальная
память 
+C.сегментно-страничная
виртуальная память

Каждая запись в
кэш-памяти об элементе данных включает
в себя: Значение элемента данных;
+C.А,
В и С

Сетевая операционная
система – это:
+D.А, В и С

Редиректор –
это:
+C.А и В

Какие из следующих
утверждений верны?
+D.В и С

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

Можно ли, анализируя
двоичный код программы, сделать вывод
о невозможности ее выполнения в
пользовательском режиме?
+A.да, так как
анализ может выявить наличие в программе
привилегированных команд

 Может ли
программа, эмулируемая на «чужом»
процессоре, выполняться быстрее, чем
на «родном»?
+A.да

Может ли процесс
в мультипрограммном режиме выполняться
быстрее, чем в монопольном?
+B.нет

Какой тип системы
прерываний реализован в процессоре
Pentium?
+A.векторный;

Всегда ли прерывание
вызывает перепланировку процессов?
+B.нет

Способ организации
вычислительного процесса, при котором
на одном процессоре попеременно
выполняются сразу несколько
программ:
+C.мультипрограммирование.

Централизованная
база данных всей конфигурационной
информации операционной системы –
это:
-A.архив
+B.реестр

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

Файл, имеющий
определенную структуру и содержащий
информацию, которая может быть
импортирована в реестр:
+B.Reg-файл

Функции, которыми
управляется работа приложений в
Windows
+B.WinAPI

Основными
характеристиками коммуникационных
примитивов являются:
+A.способ адресации

Управление ресурсами
не включает в себя решение этой задачи:
+в)
поиск ресурса

Назовите количество
периодов в эволюции ОС
+б)4

Выберете из списка
многозадачную ОС
+в) OS/2

Назовите
многопользовательские ОС
+UNIX

Определите Ос с
невытесняющей многозадачностью
+а)
NetWare

Какой пункт
отсутствует в архитектуре сетевой
ОС?
+в)межосевая часть

Коммуникационные
средства ОС обеспечивают
+а) адресацию
и буферизацию

Сети кампусов
это
+а) сети, установленные на кораблях
и баржах

К признакам
корпоративных ОС нельзя отнести следующие
особенности
+в) Мобильность

Выберете неверное
состояние процесса
+в)переходное
состояние

Этот пункт
отсутствует в создании процесса
+а)
отключение  дескриптора старого
процесса

Планирование
процессов не включает в себя решение
следующих задач
+б) проверка
работоспособности микропроцессора

Приоритет процесса
это
+а)число

Критическая секция
— это
+а)часть программы

Какой слой
отсутствует в разделение программного
обеспечения
+в) зависимый от устройств
слой ОС

 Назовите
основные причины неудобства работы с
INI-файлами:
+H.Все вышеперечисленное

В виде, более или
менее напоминающем его нынешнюю
структуру, реестр появился в:
+I.MS
Windows 3.5

Корневые каталоги
– это:
+M.Ключи, находящиеся на верхнем
уровне структуры

Дескриптор-это:
+Q.Ключ,
находящиеся на верхнем уровне структуры

Основное отличие
реестра 95 и 98 от NT000
+U.Наличие
дополнительного ключа

Содержание ключа
HKEY_LOCAL_MACHINE
+Z.Конфигурационные данные
для текущего аппаратного профиля

Последовательность
расположения параметров частей
реестра
+CC.Имя-Тип данных-Значение

Последовательность
расположения параметров частей
реестра
+GG.Имя-Тип данных-Значение

Основным средством
для просмотра и редактирования записей
реестра служит
+KK.Редактор реестра

Где находится
системный реестр в ОС Windows 9x ?
+PP.Скрытых
файлах — SYSTEM.DAT и USER.DAT

Reg-файл – это
+А. 
файл, имеющий определенную структуру
и содержащий информацию, которая может
быть импортирована в реестр.

Диапазон памяти
реестра располагается в пределах
+c.4-102МБ

Наиболее популярные
программы для работы с реестром:
+b. 
NBG Clean Registry

Как вы думаете,
что произойдет при выполнении следующей
команды
+h.Изменение вида мусорной
карзины

Наиболее
актуальные требования, предъявляемые
на данный момент ОС
+i.Расширяемость 
+b. 
Совместимость

Какие из утверждений
верны
+l.Сетевая операционная система
– это совокупность всех операционных
систем сети

Программы, решающие
отдельные задачи управления и сопровождения
компьютерной систем, носят название
+n.Утилиты

Модули, выполняющие
основные функции ОС
+b.  Драйверы

 Функции ядра,
которые могу выражаться приложениями,
образующие интерфейс прикладного
программирования, называются:
+A. 
API

Пропускная
способность – это
+К-во задач, выполняемых
вычислительной системой в единицу
времени

Последовательность
расположения параметров частей
реестра
+v.Имя-Тип данных-Значение

Совокупность
функции, которыми управляется работа
приложений в Windows – это:
+b. ScreenSaver

Ключ HKEY_CURRENT_USER
содержит
+Б. Пользовательский профиль
пользователя

Что такое системный
реестр?
+специальная база данных, в
которой хранится информация об аппаратной
и программной конфигурации компьютера
и его приложений;

Как можно запустить
редактор системного реестра?
+нажать
на кнопку «Пуск», затем «Выполнить», и
в поле «Открыть» напечатать  regedit,
нажать ОК;

Какие  типы
параметров имеются в системном
реестре?
+строковые, двоичные и DWORD;

Сколько главных
ветвей имеет системный реестр?
+6 ветвей

Что представляет
собой ветвь системного реестра
HKEY_CURRENT_USER?
+связана с ветвью HKEY_USERS, и
соответствует пользователю, работающему
в настоящее время на PC.

Какое расширение
имеют текстовые файлы, экспортированные
из реестра?
+.REG;

Что представляет
собой ветвь системного реестра
HKEY_USERS?
+содержит индивидуальные
настройки каждого пользователя
компьютера;

Как можно удалить
ненужные данные из системного
реестра
+использовать RegClean;

Какое расширение
имеет редактор системного реестра?
+.EXE.

Что означает
свойство класса TRegistry RootKey?
+задает
корневую секцию в реестре;

Что означает метод
класса TRegistry  OpenKey?
+Открывает
подсекцию;

Что означает метод
класса TRegistry WriteInteger?
+Записывает данные
в целочисленном формате.

Что представляют
файлы SYSTEM.DAT и USER.DAT в каталоге
Windows?
+представляют Ваш текущий системный
реестр;

Какую ветку 
реестра нужно открыть, чтобы скрыть все
значки с рабочего стола?
+HKEY_CURRENT_USER.

Основное
предназначение программы Borland
Kylix
+A.Перенос на платформу Linux широко
признанные среды разработки Delphi и C++
Builder

Основная проблема
переноса  Windows-приложений под Linux
A.Расширение файлов
+D.Все выше
перечисленные варианты верны

Отличие меню Kylix
от меню Delphi и C Builder
+C.Отсутствие пункта
DataBase

Чем CLX (библиотека
визуальных компонентов Delphi и C Builder)
отличается от VCL
+A.Разработан без
использования функций Windows API

В каком году вышел
Borland Kylix
+B.1999

 Какой из ниже
перечисленных языков изначально
создавался как средство для написания
кросс-платформенных приложений
+D.Java

Что такое
RAD
+C.Быстрая разработка приложений

Самая главная
часть CLX
+A.BaseCLX – содержит ядро
компонентной модели

Для чего изначально
создавался язык Java
+B.Средство для
написания кросс-плаформенных приложений

Какие изменения
в Kylix произошли с модулями
+D.Все выше
перечисленные варианты верные

Для чего нужна
библиотека FLTK
+C.Для программирования
графического интерфейса пользователя

Что такое
WinAPI?
+функции, которыми управляется
работа приложений в Windows

Что такое
Handel?
+уникальный идентификатор, который
имеет каждое окно в системе

Какая функция
создаёт меню?
+CreateMenu

Где хранятся
функции WinAPI?
+в библиотеке kernel32.dll.

Что такое
ThreadID?
+уникальный числовой идентификатор
потока

Что такое
процесс?
+совокупность набора
исполняющихся команд, ассоциированных
с ним ресурсов и текущего момента его
выполнения находящуюся под управлением
операционной системы

Для чего используется 
функция GetMessagе?
+извлекает сообщение
из очереди сообщений вызывающего потока
и помещает его в указанную структуру.

Для чего используется 
функция WindowProc?
+является определяемой
приложением функцией обратного вызова,
которая обрабатывает отправленные окну
сообщения

Какая функция
показывает или скрывает курсор?
+ShowCursor

Что выполняет
ф-ция  SetDoubleClickTime?
+устанавливает
время двойного щелчка для мыши.

После чего приложение
должно завершить работу?
+после того
как попадется сообщение WM_QUIT

Что такое
сообщение?
+небольшой набор данных

Взаимодействие в
Windows построено на
+сообщениях

Какое расширение
имеет программа хранителя экрана?
+scr

Какое значение
активизирует окно и отображает его в
соответствии с текущим положением и
размерами?
+SW_SHOW

Средства WinAPI
–это:
+те функции, которыми управляется
работа приложений в Windows.

Для каждого
запущенного приложения создается:
+процесс
и в этом процессе основной поток

Потоки создают:
+окна

 ThreadID-это:
+уникальный
числовой идентификатор потока

В Windows взаимодействие
построено на:
+сообщениях

Message-это:
+целое
число, которое указывает, что же это за
сообщение

Для каждого потока
отводиться специальное место в памяти,
куда складываются:
+сообщение по мере
их поступления

Место в памяти,
куда складываются сообщение по мере их
поступления – называется:
+очередью
сообщений

Чтобы достать
сообщение, используется функция:
+GetMessage
(PeekMessage)

Доставить сообщение
окну,  проще всего с помощью
функции:
+DispatchMessage

WindowsProc-это:
+процедура
окна, которая должна обработать полученное
сообщение

Адрес WindowsProc (для
каждого окна свой):
+известен системе,
он передается ей во время регистрации
окна.

Цикл обработки
сообщений осуществляется:
+практически
каждым приложением

Если попадется
сообщение WM_QUIT, то:
+приложение должно
завершить работу

В Delphi встроенные
команды Windows запускаются с помощью
команды:
+winexec(Pchar(‘ABCD’),sw_Show);

Что представляет
собой компонентное программное
обеспечение?
+a)это способ раз¬работки
программ, при котором используются
технологии создания про¬граммных
модулей, подобные технологиям, применяемым
для разработки аппаратных средств

В сценариях JScript
перемен¬ные могут быть:
+c)глобальными 
и локальными

Главная особенность
индустрии систем автоматизации различных
предприятий и учреждений состоит в:
+а).
Концентрации сложности на начальных
этапах анализа требований и проектирования
спецификаций системы при относительно
невысокой сложности и трудоемкости
последующих этапов.

Что такое консалтинг
на предприятии?
+Деятельность специалиста
или целой фирмы, занимающихся стратегическим
планированием проекта, анализом и
формализацией требований к информационной
системе, созданием системного проекта,
иногда — проектированием приложений.

Какие работы
выполняются консультантом по
консалтингу?
+Бизнес-анализ,
реструктуризация, системный анализ,
проектирование

Какие позиции
характеризуют консалтинговые
структуры?
+Знания и информация, опыт
персонала, независимость, объективность,
владение методологиями системного
анализа и реорганизации.

Каковы основные
цели разработки консалтинговых
проектов?
+Упорядочивание информационных
потоков, выработка рекомендаций по
построению рациональных технологий
работы подразделений предприятия и его
взаимодействию с внешним миром,
представление деятельности предприятия
и принятых в нем технологий в виде
иерархии.

На какие вопросы
должно ответить   предварительное
изучение консалтингового проекта?

чем недостатки существующей ситуации?
?Какие улучшения возможны? На кого окажет
влияние новая система?

Позволяет составить
представление о деятельностях предприятия,
что позволит спланировать первоначальное
распределение работ группы
аналитиков:
+Анкетирование.

На каком этапе
осуществляется сбор документов?
+На
всех этапах.

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

Что такое  ISO
9000 ?
+Стандарт на качество проектирования,
разработки, изготовления и послепродажного
обслуживания.

Что определяет
ISO 9000?
+Базовый набор мероприятий по
контролю качества и представляет собой
схему функционирования бизнес-процессов
предприятия, обеспечивающую высокое
качество его работы.

Что требует
применение BPR?
+Индуктивного мышления,
то есть способности сначала найти мощное
решение, а затем найти подходящие
проблемы, которые оно поможет преодолеть

Какие методы оценки
деятельности предприятий получили
наибольшее распространение?
+Метод
динамического функционального анализа
на основе сетей Петри различного вида,
метод функционально-стоимостного
анализа ABC.

Что представляет
собой Сеть Петри?
+Ориентированный
граф с вершинами двух типов (позициями
и переходами), в котором дугами могут
соединяться только вершины различных
типов.

Что такое ABC
(Activity Based Costing)?
+Метод определения
стоимости и других характеристик товаров
и услуг на базе функций и ресурсов,
задействованных во всех деятельностях
предприятия.

Что такое BFD (Block
Flow Diagrams) ?
+Тип потоковых карт (схем).

Что является
Главным результатом детального
изучения?
+Построение системного
проекта (модели требований).

В рамках этапа 2
(проведение обследования деятельности
предприятия) осуществляется:
+Предварительное
выявление требований, предъявляемых к
будущей системе, определение перечня
целевых задач (функций) предприятия,
определение оргштатной и топологической
структур предприятия.

На каком этапе
осуществляется  построение моделей
следующих двух видов: модели «как
есть», модели «как должно быть»?
+На
3ем.

Длительность
обследования    этапа 2 
(проведение обследования деятельности
предприятия).
+1-2 недели.

Кто такой
«Балласт»?
+Человек, давно работающий
на предприятии и непонятно чем
занимающийся.

Для чего служит  
Реорганизация?
+Для  достижению
большей производительности с меньшими
затратами.

Что описывает CMM
(Capability Maturity Model)?
+Степень загруженности
структурных подразделений и должностных
лиц.

Что представляет
собой ABM (Activity Based Management)?
+Убеждение
руководства предприятия в необходимости
изменений и привлечение его на свою
сторону, выбор и ранжирование нуждающихся
в реорганизации бизнес-процессов,
реорганизация оргструктуры предприятия.

Что относится к
ключевым моментам реорганизации
деятельности предприятия?
+Карты
динамического функционального анализа
на основе сетей Петри различного вида,
карты функционально-стоимостного
анализа ABC.

Для моделирования
бизнес-процессов кроме традиционных
диаграмм (диаграммы потоков данных,
диаграммы «сущность-связь», диаграммы
переходов состояний и др.) применяются
и специально разработанные для этой
цели нотации, а именно:
+Карты
динамического функционального анализа
на основе сетей Петри различного вида,
карты функционально-стоимостного
анализа ABC.

Что лежит в основе
Подхода CPI (Continuous Process Improvement)?
+Концепция
управления качеством выпускаемой
продукции.

Основные объекты
карты процесса:
+Операция, инспекция,
транспортировка, хранение, задержка.

Определение
стоимости производится в два
этапа:
+Определение затрат на выполнение
функций на основе необходимых для этого
ресурсов 
+Определение
затрат на стоимостные объекты.

При обсуждении
необходимости реорганизации следует
обсудить с руководством предприятия
следующие моменты:
+Основные проблемы
предприятия и пути их решения, недостатки
традиционного функционального подхода
к управлению предприятием

Назовите
причины, по которым пользователь
реагирует на рекламу (а не просто
принимает ее к сведению):
+а) реклама
пользователя заинтриговала, он не до
конца или неправильно понял, что его
ожидает; 
+б)
реклама пользователя заинтересовала,
и он отправляется на веб-сайт за более
подробной информацией;
+в) пользователя
заинтересовало конкретное предложение,
и он идет на сайт для заполнения заявки,
совершения покупки, получения обещанной
информации, принятия участия в опросе
или конкурсе.

Какие
факторы влияют на параметры
осведомленности?
+а) количество показов
рекламы (AD impressions); 
+б)
сколько уникальных пользователей было
охвачено, сколько в среднем для каждого
из них было осуществлено показов;

Для
чего рекламодателю нужна AW
(осведомленность)?
+а) привлечение
посетителя на рекламируемый сайт. 
+в)
продвижение брэнда компании, товаров/услуг,
веб-сайта.

Определение
характеристики привлечения посетителей
(CTR):
+а) отношение количества пользователей,
которые кликнули на рекламу, к общему
числу пользователей, которым она была
продемонстрирована.

На
значение CTR влияет множество факторов:
+а)
выбор типа площадок, конкретных сайтов,
фокусировок рекламы ; 
+б)
расположение рекламы на странице, выбор
формата и типа рекламы;

Какой самый
распространенный на сегодняшний день
формат баннера?
+а)468х60;

Первым звеном
воздействия рекламы в сети является:
+Внешняя
реклама

К
внешней рекламе относятся:
+Баннеры 
+Текстовые
блоки 
+Реклама
с помошью поисковых систем

Вторым
звеном воздействия рекламы в сети
является:
+Попадание пользователя на
веб-сайт рекламодателя 
+Активная
реклама

Какие
из причин, по которым пользователь
реагирует на рекламу и нажимает на
ссылку, являются наиболее
эффективными?
+Реклама пользователя
заинтересовала, и он отправляется на
веб-сайт за подробной информацией 
+Пользователя
заинтересовало конкретное предложение,
и он идет на сайт для заполнения заявки,
совершения покупки, получения обещанной
информации, принятия участия в опросе
или конкурсе

Written on 04 Февраля 2007. Posted in Win32

Страница 14 из 15

Взаимодействие между процессами

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

Разделяемая память

Как уже говорилось, система виртуальной памяти в Win32 использует файл подкачки — swap file (или файл размещения — page file), имея возможность преобразования страниц оперативной памяти в страницы файла на диске и наоборот. Система может проецировать на оперативную память не только файл размещения, но и любой другой файл. Приложения могут использовать эту возможность. Это может использоваться для обеспечения более быстрого доступа к файлам, а также для совместного использования памяти.

Такие объекты называются проекциями файлов (на оперативную память) (file-mapping object). Для создания проекции файла сначала вызывается функция CreateFileMapping(). Ей передается дескриптор (уже открытого) файла или указывается, что нужно использовать page file операционной системы. Кроме этого, в параметрах ей передается флаг защиты, максимальный размер проекции и имя объекта. Затем вызывается функция MapViewOfFile(). Она отображает представление файла (view of a file) в адресное пространство процесса. По окончании работы вызывается функция UnmapViewOfFile(). Она освобождает память и записывает данные в файл (если это не файл подкачки). Чтобы записать данные на диск немедленно, используется функция FlushViewOfFile(). Проекция файла, как и другие объекты ядра, может использоваться другими процессами через наследование, дублирование дескриптора или по имени.

Пример 11. Вот пример программы, которая создает проекцию в page file и записывает в нее данные.


#include <windows.h>

void main()
{
HANDLE hMapping;
char* lpData;
char* lpBuffer;
...
//Создание или открытие существующей проекции файла
hMapping = CreateFileMapping( (HANDLE)(-1), // используем page file
NULL, PAGE_READWRITE, 0, 0x0100, "MyShare");
if (hMapping == NULL) exit(0);
// Размещаем проекцию hMapping в адресном пространстве нашего процесса;
// lpData получает адрес размещения
lpData = (char*) MapViewOfFile(hMapping, FILE_MAP_ALL_ACCESS,0,0,0);
if (lpData == NULL) exit(0);
// Копируем в проекцию данные
memcpy ( lpData , lpBuffer );
...
// Заканчиваем работу. Освобождаем память.
UnmapViewOfFile(lpData);
// Закрываем объект ядра
CloseHandle(hMapping);
};

Прочие механизмы (сокеты, pipe)

Кроме разделяемой памяти, в Windows есть и другие способы передачи информации между процессами, например, каналы, поименованные каналы и сокеты. Все они имеют сходный принцип и представляют собой своеобразный канал или соединение, «трубу», соединяющую процессы. Программа, имея один конец такого соединения, может читать и/или писать в него данные, обмениваясь таким образом информацией с программой на другом конце.

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

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

Сокет — это абстрактный объект для обозначения одного из концов сетевого соединения, в том числе и через Internet. Сокеты Windows бывают двух типов: сокеты дейтаграмм и сокеты потоков. Интерфейс Windows Sockets (WinSock) основан на BSD-версии сокетов, но в нем имеются также расширения, специфические для Windows.

Работа операционной системы Windows основана на работе процессов. В этой статье разберём что такое Windows процессы, их свойства, состояния и другое.

Процессы

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

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

Windows процессы состоят из следующего:

  • Закрытое виртуальное адресное пространство, то есть выделенная для процесса часть оперативной памяти, которая называется виртуальной.
  • Исполняемая программа выполняя свой код, помещает его в виртуальную память.
  • Список открытых дескрипторов. Процесс может открывать или создавать объекты, например файлы или другие процессы. Эти объекты нумеруются, и их номера называют дескрипторами. Ссылаться на объект по дескриптору быстрее, чем по имени.
  • Контекст безопасности. Сюда входит пользователь процесса, группа, привилегии, сеанс и другое.
  • Идентификатор процесса, то есть его уникальный номер.
  • Программный поток (как минимум один или несколько). Чтобы процесс хоть что-то делал, в нем должен существовать программный поток. Если потока нет, значит что-то пошло не так, возможно процесс не смог корректно завершиться, или стартовать.

У процессов есть еще очень много свойств которые вы можете посмотреть в “Диспетчере задач” или “Process Explorer“.

Процесс может быть в различных состояниях:

  • Выполняется — обычно все фоновые процессы будут в этом состоянии, а если процесс с окошком, то значит что приложение готово принимать данные от пользователя.
  • Приостановлен — означает что все потоки процесса находятся в приостановленном состоянии. Приложения Windows Apps переходят в это состояние при сворачивании окна для экономии ресурсов.
  • Не отвечает — означает что программный поток не проверял свою очередь сообщений более 5 секунд. Поток может быть занят работой и интенсивно загружать процессор, или может ожидать операции ввода/вывода. При этом окно приложения зависает.

В Windows существуют процессы трёх типов:

  • Приложения. Процессы запущенных приложений. У таких приложений есть окно на рабочем столе, которое вы можете свернуть, развернуть или закрыть.
  • Фоновые процессы. Такие процессы работают в фоне и не имеют окна. Некоторые процессы приложений становятся фоновыми, когда вы сворачиваете их в трей.
  • Процессы Windows. Процессы самой операционной системы, например “Диспетчер печати” или “Проводник”.

Дерево процессов

В Windows процессы знают только своих родителей, а более древних предков не знают.

Например у нас есть такое дерево процессов:

Процесс_1
|- Процесс_2
  |- Процесс_3

Если мы завершим дерево процессов “Процесс_1“, то завершатся все процессы. Потому что “Процесс_1” знает про “Процесс_2“, а “Процесс_2” знает про “Процесс_3“.

Если мы вначале завершим “Процесс_2“, а затем завершаем дерево процессов “Процесс_1“, то завершится только “Процесс_1“, так как между “Процесс_1” и “Процесс_3” не останется связи.

Например, запустите командную строку и выполните команду title parrent чтобы изменить заголовок окна и start cmd чтобы запустить второе окно командной строки:

>title parrent
>start cmd

Измените заголовок второго окна на child и из него запустите программу paint:

>title child
>mspaint

В окне командной строке child введите команду exit, окно закроется а paint продолжит работать:

>exit

После этого на рабочем столе останутся два приложения, командная строка parrent и paint. При этом parrent будет являться как бы дедом для paint.

Запустите “Диспетчер задач”, на вкладке “Процессы” найдите процесс “Обработчик команд Windows”, разверните список и найдите “parrent“. Затем нажмите на нём правой копкой мыши и выберите “Подробно”:

Подробности по процессу parrent

Вы переключитесь на вкладку “Подробно” с выделенным процессом “cmd.exe“. Нажмите правой кнопкой по этому процессу и выберите «Завершить дерево процессов»:

Завершаем дерево процессов в диспетчере задач

Окно командной строки Parrent завершится а Paint останется работать. Так мы убедились что связи между первым процессом и его внуком нет, если у внука нет непосредственного родителя.

Потоки

На центральном процессоре обрабатываются не сами процессы, а программные потоки. Каждый поток, это код загруженный программой. Программа может работать в одном потоке или создавать несколько. Если программа работает в несколько потоков, то она может выполняться на разных ядрах процессора. Посмотреть на потоки можно с помощью программы Process Explorer.

Поток содержит:

  • два стека: для режима ядра и для пользовательского режима;
  • локальную памятью потока (TLS, Thread-Local Storage);
  • уникальный идентификатор потока (TID, Thread ID).

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

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

  • svchost.exe — главный процесс для служб Windows.
  • dllhost.exe — отвечает за обработку приложений, использующих динамически подключаемые библиотеки. Также отвечает за COM и .NET. И ещё управляет процессами IIS.
  • lsass.exe — отвечает за авторизацию локальных пользователей, попросту говоря без него вход в систему для локальных пользователей будет невозможен.

Волокна и планирование пользовательского режима

Потоки выполняются на центральном процессоре, а за их переключение отвечает планировщик ядра. В связи с тем что такое переключение это затратная операция. В Windows придумали два механизма для сокращения таких затрат: волокна (fibers) и планирование пользовательского режима (UMS, User Mode Scheduling).

Во-первых, поток с помощью специальной функции может превратится в волокно, затем это волокно может породить другие волокна, таким образом образуется группа волокон. Волокна не видимы для ядра и не обращаются к планировщику. Вместо этого они сами договариваются в какой последовательности они будут обращаться к процессору. Но волокна плохо реализованы в Windows, большинство библиотек ничего не знает о существовании волокон. Поэтому волокна могут обрабатываться как потоки и начнутся различные сбои в программе если она использует такие библиотеки.

Потоки UMS (User Mode Scheduling), доступные только в 64-разрядных версиях Windows, предоставляют все основные преимущества волокон при минимуме их недостатков. Потоки UMS обладают собственным состоянием ядра, поэтому они «видимы» для ядра, что позволяет нескольким потокам UMS совместно использовать процессор и конкурировать за него. Работает это следующим образом:

  • Когда двум и более потокам UMS требуется выполнить работу в пользовательском режиме, они сами могут периодически уступать управление другому потоку в пользовательском режиме, не обращаясь к планировщику. Ядро при этом думает что продолжает работать один поток.
  • Когда потоку UMS все таки нужно обратиться к ядру, он переключается на специально выделенный поток режима ядра.

Задания

Задания Windows (Job) позволяют объединить несколько процессов в одну группу. Затем можно этой группой управлять:

  • устанавливать лимиты (на память или процессорное время) для группы процессов входящих в задание;
  • останавливать, приостанавливать, запускать такую группу процессов.

Посмотреть на задания можно с помощью Process Explorer.

Диспетчер задач

Чаще всего для получения информации о процессе мы используем «Диспетчер задач». Запустить его можно разными способами:

  • комбинацией клавиш Ctrl+Shift+Esc;
  • щелчком правой кнопкой мыши на панели задач и выборе «Диспетчер задач»;
  • нажатием клавиш Ctrl+Alt+Del и выборе «Диспетчер задач»;
  • запуском исполняемого файла C:Windowssystem32Taskmgr.exe.

При первом запуске диспетчера задач он запускается в кратком режиме, при этом видны только процессы имеющие видимое окно. При нажатие на кнопку «Подробнее» откроется полный режим:

Краткий режим Диспетчера задач

В полном режиме на вкладке «Процессы» виден список процессов и информация по ним. Чтобы получить больше информации можно нажать правой кнопкой мышки на заголовке и добавить столбцы:

Диспетчер задач - Добавление столбцов с информацией

Чтобы получить еще больше информации можно нажать правой кнопкой мышки на процессе и выбрать «Подробно». При этом вы переключитесь на вкладку «Подробности» и этот процесс выделится.

На вкладке «Подробности» можно получить ещё больше информации о процессе. А также здесь также можно добавить колонки с дополнительной информацией, для этого нужно щелкнуть правой кнопкой мыши по заголовку и нажать «Выбрать столбцы»:

Выбор столбцов с информацией о процессах на вкладке «Подробности»

Process Explorer

Установка и подготовка к работе

Более подробную информацию о процессах и потоках можно получить с помощью программы Process Explorer из пакета Sysinternals. Его нужно скачать и запустить.

Некоторые возможности Process Explorer:

  • информация по правам процесса: кто владелец процесса, у кого есть доступ к нему;
  • выделение разными цветами процессов и потоков, для удобного восприятия информации:
    • процессы служб – розовый;
    • ваши собственные процессы – синий;
    • новые процессы – зелёный;
    • завершенные процессы – красный;
  • список файлов открытых процессом;
  • возможность приостановки процесса или потока;
  • возможность уничтожения отдельных потоков;
  • поиск процессов создающих наибольшую нагрузку на процессор;
  • отображение списка процессов в виде дерева, а также алфавитная сортировка и сортировка в обратном порядке;
  • возможность посмотреть:
    • число дескрипторов у процесса;
    • активность потоков в процессе;
    • подробную информация о распределении памяти.

Запустите Process Explorer:

Process Explorer

Далее нужно настроить сервер символических имен. Если это не сделать, при двойном щелчке на процессе, на вкладке Threads (потоки) вы получите сообщение о том, что символические имена не настроены:

Предупреждение о не настроенных символических именах

Для начала скачиваем установщик «Пакет SDK для Windows 10».

Устанавливать все не нужно, достаточно при установки выбрать “Debugging Tools for Windows“:

Установка SDK для Windows 10

Для настройки символических имен перейдите в меню Options / Configure / Symbols. Введите путь к библиотеке Dbghelp.dll, которая находится внутри установленного «Пакета SDK для Windows 10» по умолчанию:

  • C:Program Files (x86)Windows Kits10Debuggersx64Dbghelp.dll.

И путь к серверу символической информации:

  • srv*C:Symbols*http://msdl.microsoft.com/download/symbols

При этом:

  • C:Symbols — путь к кеширующей локальной папке;
  • http://msdl.microsoft.com/download/symbols — сервер microsoft.

Настройка символический имен в Process Explorer

Некоторые основные настройки Process Explorer:

  • Смена цветового выделения – Options / Configure Colors.
  • Выбор колонок с информацией о процессах – View / Select Columns.
  • Сортировка процессов – нужно щелкнуть на заголовке столбца Process, при первом щелчке сортировка будет в алфавитном порядке, при втором в обратном порядке, при третьем вернется в вид дерева.
  • Просмотр только своих процессов – View / снять галочку Show Processes from All Users.
  • Настройка времени выделения только что запущенных процессов и завершённых – Options / Difference Highlight Duration / введите количество секунд.
  • Чтобы исследователь процесс подробнее можно дважды щелкнуть на нем и посмотреть информацию на различных вкладках.
  • Открыть нижнюю панель для просмотра открытых дескрипторов или библиотек – Vies / Show Lower Panel.

Потоки в Process Explorer

Потоки отдельного процесса можно увидеть в программе Process Explorer. Для этого нужно дважды кликнуть по процессу и в открывшемся окне перейти на вкладку «Threads»:

Process Explorer (потоки процесса)

В колонках видна информация по каждому потоку:

  • TID — идентификатор потока.
  • CPU — загрузка процессора.
  • Cycles Delta — общее количество циклов процессора, которое этот процесс использовал с момента последнего обновления работы Process Explorer. Скорость обновления программы можно настроить, указав например 5 минут.
  • Suspend Count — количество приостановок потока.
  • Service — название службы.
  • Start Address — начальный адрес процедуры, который начинает выполнение нового потока. Выводится в формате:«модуль!функция».

При выделении потока, снизу показана следующую информация:

Изучение активности потока

  • Идентификатор потока.
  • Время начала работы потока.
  • Состояние потока.
  • Время выполнения в режиме ядра и в пользовательском режиме.
  • Счетчик переключения контекста для центрального процессора.
  • Количество циклов процессора.
  • Базовый приоритет.
  • Динамический приоритет (текущий).
  • Приоритет ввода / вывода.
  • Приоритет памяти.
  • Идеальный процессор (предпочтительный процессор).

Есть также кнопки:

Устройство Windows. Изучение активности потока, изображение №3

  • Stack — посмотреть стек процесса;
  • Module — посмотреть свойства запущенного исполняемого файла;
  • Permission — посмотреть права на поток;
  • Kill — завершить поток;
  • Suspend — приостановить поток.

Задания в Process Explorer

Process Explorer может выделить процессы, управляемые заданиями. Чтобы включить такое выделение откройте меню «Options» и выберите команду «Configure Colors», далее поставьте галочку «Jobs»:

Process Explorer — выделение заданий

Более того, страницы свойств таких процессов содержат дополнительную вкладку Job с информацией о самом объекте задания. Например приложение Skype работает со своими процессами как за заданием:

Process Explorer — вкладка Job

Запустите командную строку и введите команду:

>runas /user:<домен><пользователь> cmd

Таким образом вы запустите еще одну командную строку от имени этого пользователя. Служба Windows, которая выполняет команды runas, создает безымянное задание, чтобы во время выхода из системы завершить процессы из задания.

В новой командной строке запустите блокнот:

>notepad.exe

Далее запускаем Process Explorer и находим такое дерево процессов:

Устройство Windows. Задания, изображение №3

Как видим, процесс cmd и notepad это процессы связанные с каким-то заданием. Если дважды кликнуть по любому из этих процессов и перейти на вкладку Job, то мы увидим следующее:

Process Explorer — вкладка Job

Тут видно что эти два процесса работают в рамках одного задания.

Вернуться к оглавлению

Сводка

Процессы Windows

Имя статьи

Процессы Windows

Описание

Работа операционной системы Windows основана на работе процессов. В этой статье разберём что такое Windows процессы, их свойства, состояния и другое

Понравилась статья? Поделить с друзьями:
  • Взаимодействие windows feature experience pack что это
  • Вечный поиск обновлений windows 7 x64
  • Вечный вход в систему windows 10
  • Вечный активатор для активации windows 7 64 bit 32
  • Вечный активатор windows 10 скачать торрент