
- •1. Что такое ос?
- •2. В чем преимущества и недостатки ос с разделением времени по сравнению с пакетными ос?
- •3. Каковы отличительные черты ос реального времени?
- •4. Чем различаются однопользовательские и многопользовательские ос?
- •15. В чем различие магистральной и радиальной архитектур?
- •43. Что такое сектор и кластер?
- •44. В чем преимущества и недостатки больших кластеров?
- •45. Что такое внешняя и внутренняя фрагментация дискового пространства?
- •46. Что такое дефрагментация дискового тома?
- •47. Что такое режим доступа и режим разделения при открытии файла?
- •80. Что такое синхронизация процессов?
- •81. Что такое квазипараллельное выполнение процессов?
- •132 Какие виды реакции на сигнал возможны в unix?
- •133 Что такое приоритеты ядра в unix?
- •135 Что означают разделители списка команд “;”, “&&”, “||”, “|”, “&”?
- •136 Чем конвейер отличается от списка команд?
- •137 Что такое фоновое выполнение команды в unix?
- •138 Что такое физические и виртуальные адреса?
- •139 Когда и каким образом может выполняться замена виртуальных адресов физическими?
- •140 Чем различаются позиционно независимые и перемещаемые программы?
- •141 Что такое распределение памяти с фиксированными разделами?
- •142 Что такое распределение памяти с динамическими разделами?
- •143 Какую информацию содержит таблица сегментов процесса?
80. Что такое синхронизация процессов?
ожидание одним процессом каких-либо событий, связанных с работой других процессов
81. Что такое квазипараллельное выполнение процессов?
С точки зрения внешнего наблюдателя, в хорошей многозадачной ОС происходит одновременная, параллельная работа нескольких процессов. На самом деле, если в системе работает лишь один процессор, то в каждый момент времени он выполняет команды, относящиеся только к одному из имеющихся процессов. Иллюзия параллельности создается за счет того, что процессы сменяют друг друга через малые интервалы времени, которые человек-наблюдатель не в силах отследить.
Дальше пойдут вопросы с 82 по 126 (Гурин)
82. В каких трех основных состояниях может находиться процесс?
Работа, готовность, блокировка\сон
83. Чем различаются состояния сна и готовности?
спящий процесс – это всегда процесс, ожидающий некоторого конкретного события
84. Что такое блокирующие функции?
Функции переводящие вызвавший их процесс в состояние сна.
85. Почему невозможен переход из состояния готовности в состояние сна?
необходимо вызвать блокирующую функцию, сделать это можно только из состояния работы.
86. Что такое вытеснение процесса?
переход РАБОТА-ГОТОВНОСТЬ, процессор занимается другим процессом.
87. Чем различаются невытесняющая и вытесняющая диспетчеризация процессов?
в невытесняющей процесс может быть прерван только по собственной инициативе.
88. Какие функции выполняет планировщик процессов?
Следует ли вытеснить процесс и какой выполнять следующим.
89. Чем различаются абсолютные и относительные приоритеты процессов?
В системах с абсолютным приоритетом процес получает время сразу, с относительным- дожидается окончания кванта времени действующего процесса.
90. Что такое дескриптор и контекст процесса?
Дескриптор включает данные о процессе необходимые ОС, контекст –данные необходимые самому процессу
91. Что такое реентерабельная функция?
Может быть выполнена повторно до завершения первого вызова.
92. Что такое круговая диспетчеризация процессов (round robin)?
Процессы получают квант времени по очереди.
93. Что такое фоново-оперативная диспетчеризация процессов?
Фоновые процессы выполняются когда спят оперативные.
94. От чего зависит динамический приоритет процесса?
Автоматически рассчитывается системой на основе двух основных факторов: статического приоритета и степени предыдущего использования процессора.
95. В чем заключается проблема взаимного исключения процессов?
Несколько процессов пытаются одновременно работать с одними данными, один из которых их меняет.
96. Что такое критическая секция процесса?
Критической секцией процесса по отношению к некоторому ресурсу называется такой участок программы процесса, при прохождении которого необходимо, чтобы никакой другой процесс не находился в своей критической секции по отношению к тому же ресурсу.
97. Что такое двоичный семафор и чем он отличается от двоичной переменной?
Он же мьютекс, переменная принимающая два значения 0 и 1, для которой определенны 2е операции- открытие и закрытие.
98. В чем смысл семафорных примитивов P(S) и V(S)?
P(S) – операция занятия (закрытия) семафора. Она ожидает, пока значение S не станет равным 1, и присваивает S значение 0 и завершает свое выполнение.
V(S) – операция освобождения (открытия) семафора. Она просто присваивает S значение 0.
99. Что такое целочисленный семафор?
Семафоров со значениями на интервале от 0 до некоторого N. Функция P(S) уменьшает положительное значение семафора на 1, а при нулевом значении переходит в ожидание, как и в случае двоичного семафора. Функция V(S) увеличивает значение семафора на 1, но не более N.
100. Что такое семафор с множественным ожиданием?
Функция множественного ожидания P(S1, S2, … Sn) позволяет указать в качестве параметров несколько двоичных семафоров (или массив семафоров). Если хотя бы один из семафоров свободен, функция занимает его
101. Чем сообщения отличаются от сигналов?
Сообщения не прерывают работу процесса и может собержать информацию для получателя.
102. Что такое тупик?
Некоторые процессы заблокированы в результате таких запросов на ресурсы, которые никогда не могут быть удовлетворены, если не будут предприняты чрезвычайные системные меры.
103. Какие возможны способы борьбы с тупиками?
исключение возможности тупиков путем анализа исходного текста программ;
предотвращение возникновения тупиков при работе ОС;
ликвидация возникших тупиков
104. В чем идея алгоритма нумерованных ресурсов для предотвращения тупиков?
Нумеровать все ресурсы и не давать процессу ресурс со значением больше чем у ресурса который у него уже есть.
105. В чем идея алгоритма банкира для предотвращения тупиков?
Процесс при старте объявляет какие ресурсы ему будут необходимы, работает набор процессов для которых ресурсов достаточно.
106. Какие действия можно предпринять для устранения возникшего тупика?
Завершить один из тупиковых процессов
107. Чем различаются процесс и нить (thread)?
Нить- еденица работы процесса.
108. Что делает функция CreateProcess?
Создает процесс при запуске ЕХЕ
109. Чем различаются в Windows хэндл процесса и идентификатор процесса?
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
110. Что делает функция OpenProcess?
OpenProcess позволяет одному процессу получить хэндл любого другого процесса, указав для этого два параметра: идентификатор интересующего процесса и маску
111. Какие действия может выполнить один процесс по отношению к другому процессу?
!!!!!!!!!!!
112. Чем отличаются объекты синхронизации от других типов объектов Windows?
Отличительной особенностью объектов синхронизации является возможность использовать в качестве аргументов функций ожидания
113. Что делает функция WaitForSingleObject?
Эта функция – блокирующая: если в момент ее вызова указанный объект находится в несигнальном состоянии, то вызвавшая нить переводится в состояние ожидания
114. Чем функция WaitForMultipleObjects отличается от WaitForSingleObject?
Отличается тем, что вместо единственного хэндла принимает в качестве аргументов адрес массива, содержащего несколько хэндлов, и количество этих хэндлов
115. Какие имеются объекты синхронизации в Windows?
процессы; нити;события (в узком смысле);мьютексы (двоичные семафоры);семафоры (недвоичные);таймеры;уведомления об изменениях в каталоге;консольный ввод.
116. Какое состояние процесса или нити является сигнальным?
Для конкретных типов объектов вместо термина «сигнальное состояние» может быть удобно использовать как синонимы «свободно», «включено», «имеется», «произошло»
117. Чем различаются события с ручным сбросом и с автосбросом?
Событие с автосбросом означает, что функция ожидания при завершении ожидания сбрасывает то событие (или события), которого (которых) она дождалась. событие с ручным сбросом остается в сигнальном состоянии.
118. Какие функции Windows соответствуют семафорным примитивам P(S) и V(S)?
ReleaseMutex, которая является аналогом дейкстровской V(S), В специальной функции для захвата мьютекса нет необходимости, поскольку работу примитива P(S) с успехом выполняют функции ожидания.
119. Что такое «брошенный мьютекс»?
нить, владеющая мьютексом, завершает свою работу, не освободив мьютекс
120. Для чего используются переменные типа «критическая секция»?
Для того же что и мьютексв(двоичные семафоры)
121. Что такое сообщение (message) в Windows?
Сообщение представляет собой структуру данных, содержащую тип сообщения, адресат сообщения (конкретное окно, все окна или нить процесса), время посылки сообщения, координаты курсора (для сообщений от мыши), а также два параметра, смысл которых зависит от типа сообщения.
122. Что делает функция GetMessage?
Для выборки сообщений из очереди.
123. Какие источники сообщений используются функцией GetMessage?
Очередь сообщений
124. Что делает функция PeekMessage?
Проверяет наличие сообщения, не блокируя вызывающую нить.
125 Чем различаются синхронная и асинхронная посылка сообщения?
!!!!!
126 Что делает функция fork в UNIX?
!!!!!
127 Что такое pid процесса в UNIX?
pid – целое число, уникальное для каждого процесса в системе.
128 Что делает функция exit(status) в UNIX?
Нормальное завершение процесса. При Status = 0 успешное завершение, иначе ошибка.
129 Что делает функция wait в UNIX?
Переводит вызывающий процесс в ожидание до момента завершения любого из потомков, порожденных этим процессом.
130 Что такое процесс-«зомби»?
Процесс-потомок, который завершает свое выполнение до того, как родитель вызвал функцию wait.
131 Что такое программный канал в UNIX?
Другое часто используемое средство обмена данными – программный канал (pipe; иногда переводится как «трубопровод»). В этом случае для выполнения обмена используются не команды чтения/записи в память, а функции чтения/записи в файл. Программный канал «притворяется файлом», для работы с ним используются те же операции, что для последовательного доступа к файлу: открытие, чтение, запись, закрытие. Однако источником читаемых данных служит не файл на диске, а процесс, выполняющий запись «в другой конец трубы». Данные, записанные одним процессом, но пока не прочитанные другим, хранятся в системном буфере. Если же процесс пытается прочесть данные, которые пока не записаны другим процессом, то процесс-читатель блокируется до получения данных.