ЗНАЕТЕ ЛИ ВЫ?

Какие действия можно предпринять для устранения возникшего тупика?



Принудительное прекращение процесса, возвращение на контрольную точку, освобождение ресурсов, перезагрузка..

107. Чем различаются процесс и нить (thread)?

Процесс владеет ресурсами но сам по себе не работает. Работает нить. Каждая нить имеет свой стек и очередь сообщений. У процесса может быть несколько нитей.

Что делает функция CreateProcess?

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

Чем различаются в Windows хэндл процесса и идентификатор процесса?

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

Что делает функция OpenProcess?

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

Какие действия может выполнить один процесс по отношению к другому процессу?

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

режим доступа второго процесса не должен противоречить режиму разделения, установленному первым процессом;

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

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

Чем отличаются объекты синхронизации от других типов объектов Windows?

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

Что делает функция WaitForSingleObject?

Эта функция ожидает — ждёт перехода объекта в сигнальное состояние. Указывается хендл объекта синхронизации и временной интервал (Timeout), в протяжении которого ожидается освобождение объекта.

Чем функция WaitForMultipleObjects

Отличается от WaitForSingleObject?

WaitForSingleObject -ожидает переход одного объекта (указывается хендл) WaitForMuItipleObjects - ожидает переход группы объектов (указывается массив хенделов), указывается флаг ждать всех или ждать одного из.

Какие имеются объекты синхронизации в Windows?

Процесс, нить, события, мьютекс(двоичный семафор), семафор, таймер для ожидания(waitable timer), change notification(уведомление об изменении в заданном каталоге), консольный ввод.

Какое состояние процесса или нити является сигнальным?

Сигнальное состояние — это завершенное состояние.

Чем различаются события с ручным сбросом и с автосбросом?

Автосброс — завершается одна функция ожидания, ручной - все функции ожидания.

Какие функции Windows соответствуют семафорным примитивам P(S) и V(S)?

OpenMultex(P), ReleaseMutex(V)

Что такое «брошенный мьютекс»?

Нить захватила мьютекс, а затем завершилась до его освобождения.

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

Если требуется синхронизировать работу нитей одного и того же процесса

Что такое сообщение (message) в Windows?

Некоторая запись состоящая из: кому(идентификатор окна получателя), что (номер сообщения), параметры (IParam wParam), где (координаты на экране), когда (время сообщения).

Что делает функция GetMessage?

Сообщение поступает на обработку из очереди сообщений. Главный аргумент - адрес структуры для которого выдается сообщение.

Какие источники сообщений используются функцией GetMessage?

Эта функция выбирает из очереди сообщение или блокирует нить, если очередь пуста.

Что делает функция PeekMessage?

Основное отличие от GetMessage заключается в том что она позволяет только проверить наличие сообщения, не выполняя ожидание в случаи их отсутствия. Кроме того пользователь может выбирать, следует ли при выполнении PeekMessage изымать сообщение из очереди или нужно пока оставить его там.

Чем различаются синхронная и асинхронная посылка сообщения?

Cинxpoннaя(SendMassage) - отправитель блокируется до получение ответа или до получения ReplyMessage, обробатывается раньше асинхронных Асинхронная(PostMassage)- продолжает работу.

Что делает функция fork в UNIX?

Клонирование процесса вызвавшего её.

Что такое pid процесса в UNIX?

Идентификатор процесса - целое число, уникальное для каждого процесса в системе.

Что делает функция exit в UNIX?

Используется для нормального завершения процесса

Что делает функция wait в UNIX?

Возвращает pid завершившегося потомка, а в переменной Status передаёт код завершения

Что такое процесс-«зомби»?

Фактически от процесса остаётся лишь запись в таблице процессов, содержащая код завершения и информацию о затраченном процессном времени. Все ресурсы занимавшиеся процессом освобождаются.

Что такое программный канал в UNIX?

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

Какие виды реакции на сигнал возможны в UNIX?

По умолчанию, Игнорировать, Обработать.

Что такое приоритеты ядра в UNIX?

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

134. Чем отличается в языке shell запись “A=B” от “A=$B”?

В первом случае мы переменной "A" присваиваем символ "B", а во втором случае - переменной "A" присваиваем значение переменной "B".

135. Что означают разделители списка команд “;”, “&&”, “||”, “|”, “&”?

; - команды, разделенные этим знаком, выполняются последовательно.

&& - следующая операция будет выполняться только в том случае, если предыдущая выполнилась корректно.

|| - следующая операция будет выполняться только в том случае, если предыдущая не выполнилась корректно.

| - знак конвейера(несколько команд, разделенных этим знаком)

& - поразрядная конъюнкция

Чем конвейер отличается от списка команд?

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

Список означает последовательное выполнение команд.

Что такое фоновое выполнение команды в UNIX?

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





Последнее изменение этой страницы: 2016-08-16; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.216.79.60 (0.005 с.)