Файл: Вопросы к экзамену по мдк 01. 04 Системное программирование Что называется программой.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.10.2023
Просмотров: 381
Скачиваний: 7
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
-
Какие ресурсы принадлежат потоку во время его исполнения?
Стек вызова, адресное пространство, память, переменные
-
В ОС Windows различаются потоки двух типов системные и пользовательские. Чем характеризуется каждый тип?
Системные потоки выполняют различные сервисы операционной системы и запускаются ядром операционной системы.
Пользовательские потоки служат для решения задач пользователя и запускаются приложением.
-
В работающем приложении имеются потоки двух типов рабочие и потоки интерфейса пользователя. Чем они отличаются?
Рабочие потоки выполняют различные фоновые задачи в приложении. Потоки интерфейса пользователя связаны с окнами и выполняют обработку сообщений, поступающих этим окнам. Каждое приложение имеет, по крайней мере, один поток, который называется первичным (primary) или главным (main) потоком. В консольных приложениях это поток, который исполняет функцию main. В приложениях с графическим интерфейсом это поток, который исполняет функцию WinMain.
-
С какого потока приложение начинает свою работу?
Главного, первичного или main
-
Поток в работающем приложении создается функцией …
CreateThread
-
Функция, которая служит для завершения потока, называется …
ExitThread
-
Функция, которая служит для приостановления исполнения потока, называется …
SuspendThread
-
Функция, которая служит для возобновления исполнения потока, называется …
ResumeThread
51. При каких условиях заканчивается исполнение процесса?
- Хуй его знает, точного ответа не нашёл, но вот что похоже на ответ (выход по исключению или ошибке, недостаток объёма
памяти, превышение лимита отведённого программе времени, неверная команда, ошибка защиты или вмешательство оператора)
52. Какими ресурсами владеет каждый процесс в операционной системе Windows?
- Процессорным временем, памятью и устройствами ввода-вывода.
53. Процесс, который создает новый процесс, называется...
- Родительским процессом(parent process)
54. Новый процесс, который создается другим процессом, называется …
- Дочерним процессом (child process)
55. Новый процесс в Windows создается вызовом функции …
- CreateProcess
56. Процесс может завершить свою работу вызовом функции …
- ExitProcess
57. Один процесс может быть завершен другим при помощи вызова функции …
- TerminateProcess
58. Имя исполняемого модуля, командная строка, защита процесса, защита потока,
признак наследования дескриптора, флаги создания процесса, блок новой среды
окружения, текущий каталог, вид главного окна, информация о процессе - это
параметры функции …
- CreateProcess
59. Свойство наследования объекта означает, что …
- Ответом является весь 60-ый вопрос.
60. Если наследуемый объект создан или открыт в некотором процессе, то к этому
объекту будут иметь доступ …
- Все процессы, которые создаются этим процессом(т.е все дочерние)
61. Для чего необходимо дублирование дескрипторов?
- Для того, чтобы дочерние процессы имели реальный наследуемый дескриптор
62. Как может использоваться псевдодескриптор?
- Для указания собственного процесса, когда требуется дескриптор процесса.
63. Какие значения может принимать уровень приоритета потока?
- От 0(наивысший) до 255(наименьший), по умолчанию 251.
64. Из чего складывается базовый приоритет потока?
- Из приоритета его процесса и относительного приоритета самого потока.
65. Что в программировании называется действием? Что такое контекст действия?
- Действием называется изменение контекста потока или, другими словами, действием можно назвать любую последовательность команд, которая изменяет контекст потока. Под контекстом действия понимается только та часть контекста потока, которая используется этим действием. В простейшем случае можно считать, что контекст действия определяется только переменными, которые используются этим действием.
66. Чем характеризуется непрерывное действие (atomic action)? Приведите примеры
непрерывных действий?
-Действие называется непрерывным, если оно удовлетворяет следующим двум требованиям:
□ не прерывается во время своего исполнения;
□ контекст действия изменяется только самим действием.
Если непрерывное действие представляется одной командой микропроцессора, то оно называется непрерывной инструкцией или командой.
67. Что называют синхронизацией процессов? синхронизацией потоков?
- Синхронизация процессов - механизм, позволяющий обеспечить целостность какого-либо ресурса (файл, данные в памяти), когда
он используется в нескольких процессах или потоках в случайном порядке.
- Синхронизация потоков - исполнение этими потоками условных непрерывных действий.
68. Если оператор await ждет наступления некоторого события (ждет оповещения о
выполнении некоторого логического условия), то этот случай называется …
- Условная синхронизация
69. Если происходит безусловное выполнение непрерывного действия при
использования оператора await, то этот случай называется …
- взаимным исключением
70. Для чего используется макрокоманда critical_section? В каких случаях возможно ее
использование?
- Для создания критической секции. Критические секции являются наиболее простым средством синхронизации задач для обеспечения последовательного доступа к ресурсам. Они работают быстро, не снижая заметно производительность системы, но обладают одним существенным недостатком - их можно использовать только для синхронизации задач в рамках одного процесса. В отличие от критических секций объекты Mutex, которые мы рассмотрим немного позже, допускают синхронизацию задач, созданных разными процессами.
71. Перечислите функции, которые управляют макрокомандой critical_section.
Прежде чем потоки процесса смогут использовать критическую секцию, инициализируйте критическую секцию с помощью функции InitializeCriticalSection или InitializeCriticalSectionAndSpinCount.
Поток использует функцию EnterCriticalSection или TryEnterCriticalSection для запроса права собственности на критическую секцию. Он использует функцию LeaveCriticalSection для освобождения права собственности на критический раздел.
72. В ОС Windows объекты синхронизации могут находиться в одном из двух
состояний…
- Signaled(Сигнальное/Включенное) и Not Signaled(Несигнальное/Выключенное)
73. В ОС Windows объекты синхронизации (или примитивы) являются объектами ядра
операционной системы. Что это означает?
-…
74. Для решения проблемы взаимного исключения между параллельными потоками,
выполняющимися в контекстах разных процессов, в операционных системах
Windows используется объект ядра
- Mutex
75. Мьютекс находится в сигнальном состоянии, если он …
- Не принадлежит ни к какому процессу
76. Мьютекс одновременно может принадлежать …
- Одному потоку
77. В каком порядке обслуживаются потоки, ждущие сигнального состояния
мьютекса?
- Потоки, ждущие сигнального состояния мьютекса, обслуживаются в по-рядке очереди "первый пришел — первый вышел".
78. Для создания мьютекса используется функция …
- CreateMutex/CreateMutexEx
79. Для освобождения мьютекса используется функция …
- ReleaseMutex
80. Функция, которая обеспечивает доступ к уже созданному мьютексу, называется …
- OpenMutex
81. Как называется мьютекс, которым поток владел и не освободил после своего
завершения?
- Покинутый (abandoned)
82. Что означает обнаружение покинутого мьютекса в коде, организующем работу
потоков?
- Оно означает ошибку в коде, потому-что поток должен освобождать все ресурсы перед своим завершением
83. Поток должен освободить мьютекс столько раз …
- Сколько и вызывал владение мьютексом, прежде чем другой поток получит мьютекс
84. Функции ожидания в Windows, параметрами которых являются объекты
синхронизации, используются для …
- Для блокировки потоком собственного выполнения.
85. Для чего предназначены функции ожидания WaitForSingieObject и
WaitForMultipleObjects ?
- 1. Для ожидания перехода в сигнальное состояние только одного объекта синхронизации
2. Для ожидания перехода в сигнальное состояние нескольких объектов синхронизации, либо одного из нескольких объектов
86. Что в программировании называется событием процесса или потока?
- Это сообщение, которое возникает в различных точках исполняемого кода при выполнении определённых условий. События предназначены для того, чтобы иметь возможность предусмотреть реакцию программного обеспечения
- Объект события — это объект синхронизации, состояние которого можно явно задать для сигнала с помощью функции SetEvent. Ниже приведены два типа объекта события.
87. Объекты синхронизации события делятся на две группы - сбрасываемые вручную и
автоматически сбрасываемые. Чем они отличаются?
- Вручную: Объект события, состояние которого остается сигналом до тех пор, пока оно не будет явно сброшено на неназначение функцией ResetEvent . Несмотря на сигнал, можно освободить любое количество ожидающих потоков или потоков, которые впоследствии указывают один и тот же объект события в одной из функций ожидания.
- Автоматически: Объект события, состояние которого остается сигналом до выпуска одного ожидающего потока, в то время как система автоматически устанавливает состояние без знака. Если ожидающих потоков нет, состояние объекта события остается сигнальным. Если ожидается несколько потоков, выбирается ожидающий поток. Не предполагайте порядок первого входа (FIFO). Внешние события, такие как APC в режиме ядра, могут изменить порядок ожидания.
88. Функция, которая служит для создания события, называется…
- CreateEvent
89. Функция, которая освобождает потоки, ждущие сигнального состояния события,
называется …
- PulseEvent
90. Функция, необходимая для обеспечения доступа к существующему событию с
заданным именем, называется …
- OpenEvent
91. Объекты синхронизации семафоры (semaphores)необходимы для …
- Для синхронизации процессов и управления доступом к общему ресурсу
92. Объекты синхронизации семафоры (semaphores) находятся в сигнальном
состоянии, если …
- Если значение семафора больше нуля
93. Функция, которая увеличивает значение семафора, называется …
- write()
94. Функция, которая обеспечивает доступ к существующему семафору с заданным
именем, называется …
- OpenSemaphore
95. Когда поток находится в тупике (deadlock)?
- Когда два и более потока застревают в ожидании завершения друг друга
96. Если в тупике находится хотя бы один из потоков процесса, то считается, что этот
процесс …
- Тупиковый
97. Если система состоит из нескольких процессов и хотя бы один из этих процессов
находится в тупике, то считается, что…
- Хуй знает, наверное тупиковая ситуация
- Если мы рассматриваем систему, которая состоит из нескольких процессов, и хотя бы один из этих процессов находится в тупике, то и сама рассматриваемая система также находится в тупике.
98. Что должно быть выполнено после обнаружения тупика в работе процесса?
- Восстановление процесса
99. Что понимают под термином «восстановление процесса» после обнаружения
тупика?
- Вернуть один из процессов к началу без ущерба
100. Что означает термин «перераспределение ресурсов (preemption)» в работе
операционной системы?
-
-
В чем заключается «Откат на контрольную точку» для операционной системы?
это механизм, который используется в операционных системах для восстановления состояния системы до предыдущего сохраненного состояния (контрольной точки), в случае возникновения ошибки или сбоя.
-
Что называют консолью?
это текстовый интерфейс командной строки, который предоставляет пользователю возможность взаимодействия с операционной системой через команды, вводимые с клавиатуры. Консоль отображает текстовую информацию и позволяет пользователю вводить команды, которые будут выполнены операционной системой.