Translate

вторник, 9 апреля 2013 г.

Глава 2

Вопрос 10 Приведите пример условия гонок, которое возможно при покупке двумя пассажирами билета на один и тот же самолет.

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

Глава 2

Вопрос 9. Что такое условия гонок?

Гонки возникают когда несколько процессов или потоков одновременно обращаются к общим ресурсам и этот доступ не ограничен.

Глава 2

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

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

понедельник, 8 апреля 2013 г.

Глава 2

Вопрос 7. В чем заключается фундаментальное различие между процессом и программным потоком?

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

Глава 2

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

Глава 2

Вопрос 4. На всех существующих компьютерах как минимум часть обработчиков прерываний написана на ассемблере. Почему?

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

среда, 3 апреля 2013 г.

Глава 2

Вопрос 5. Измените рис. 2.2, добавив в него два состояния процесса - "новый" и "завершенный". Процесс находится в состоянии "новый" после создания, а в состоянии "завершенный" - после  окончания своей работы.

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