Рубрики

Часто задаваемые вопросы об операционных системах Интервью | Комплект 1

Что такое процесс и таблица процессов? Каковы разные состояния процесса
Процесс — это экземпляр исполняемой программы. Например, веб-браузер — это процесс, оболочка (или командная строка) — это процесс.
Операционная система отвечает за управление всеми процессами, запущенными на компьютере, и выделяет каждому процессу определенное количество времени для использования процессора. Кроме того, операционная система также выделяет различные другие ресурсы, которые потребуются процессам, такие как память компьютера или диски. Чтобы отслеживать состояние всех процессов, операционная система поддерживает таблицу, известную как таблица процессов . Внутри этой таблицы перечислены все процессы, а также ресурсы, используемые процессами, и текущее состояние процесса.
Процессы могут находиться в одном из трех состояний: запущен, готов или ожидает . Состояние выполнения означает, что процесс имеет все ресурсы, необходимые для выполнения, и операционная система получила разрешение на использование процессора. Только один процесс может быть в рабочем состоянии в любой момент времени. Остальные процессы находятся либо в состоянии ожидания (т. Е. В ожидании некоторого внешнего события, такого как пользовательский ввод или доступ к диску), либо в состоянии готовности (т. Е. В ожидании разрешения на использование процессора). В реальной операционной системе состояния ожидания и готовности реализованы в виде очередей, которые содержат процессы в этих состояниях. Анимация ниже показывает простое представление жизненного цикла процесса (Источник: http://courses.cs.vt.edu/csonline/OS/Lessons/Processes/index.html )

Что такое тема? Каковы различия между процессом и потоком?
Поток — это отдельный поток последовательности внутри процесса. Поскольку потоки имеют некоторые свойства процессов, их иногда называют. Потоки — это популярный способ улучшить приложение с помощью параллелизма. Например, в браузере несколько вкладок могут быть разными потоками. MS word использует несколько потоков, один поток для форматирования текста, другой поток для обработки ввода и т. Д.
Поток имеет свой собственный программный счетчик (ПК), набор регистров и пространство стека. Потоки не являются независимыми друг от друга, как процессы, в результате потоки делятся с другими потоками своими разделами кода, данными и ресурсами ОС, такими как открытые файлы и сигналы. См. Http://www.personal.kent.edu/~rmuhamma/OpSystems/Myos/threads.htm для получения более подробной информации.

Каковы преимущества многопоточного программирования?
Это делает систему более отзывчивой и обеспечивает совместное использование ресурсов. Это приводит к использованию многопроцессорных архитектур. Это более экономично и предпочтительнее.

Каковы различные алгоритмы планирования
Планирование «первым пришел — первым обслужен» (FCFS).
Планирование Shortest-Job-Next (SJN).
Приоритетное планирование.
Самое короткое оставшееся время.
Круглый Робин (RR) Планирование.
Планирование многоуровневых очередей.

Что такое тупик?
Тупиковая ситуация — это ситуация, когда два или более процессов ждут завершения друг друга, и ни один из них не завершается. Рассмотрим пример, когда два поезда движутся навстречу друг другу на одном и том же пути, и существует только один путь. Ни один из поездов не может двигаться, если они находятся напротив друг друга. Аналогичная ситуация возникает в операционных системах, когда два или более процессов удерживают некоторые ресурсы и ожидают ресурсы, удерживаемые другими.

Каковы необходимые условия для тупика?
Взаимное исключение: есть ресурс, которым нельзя поделиться.
Hold and Wait: процесс удерживает по крайней мере один ресурс и ожидает другого ресурса, который связан с каким-либо другим процессом.
Без выгрузки: операционной системе не разрешается возвращать ресурс из процесса, пока процесс не вернет его.
Циклическое ожидание : набор процессов ожидает друг друга в круговой форме.

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

Что такое Thrashing?
Thrashing — это ситуация, когда производительность компьютера ухудшается или падает. Сбой происходит, когда система тратит больше времени на обработку сбоев страниц, чем на выполнение транзакций. Хотя обработка сбоев страниц необходима для того, чтобы оценить преимущества виртуальной памяти, перегрузка негативно влияет на систему. По мере увеличения частоты отказов страницы требуется обработка большего количества транзакций с пейджингового устройства. Очередь на устройстве подкачки увеличивается, что приводит к увеличению времени обслуживания сбоя страницы (источник: h ttp: //cs.gmu.edu/cne/modules/vm/blue/thrash.html )

Что такое аномалия Белады?
Аномалия Белади — это аномалия с некоторыми политиками замены страниц, когда увеличение количества фреймов страниц приводит к увеличению количества сбоев страниц. Это происходит при замене страницы «первым пришел — первым вышел». Смотрите вики-страницу для примера и более подробной информации.

Различия между мьютексом и семфором?
Смотрите http://espressocode.top/mutex-vs-semaphore/

Примечания в последнюю минуту — Операционные системы

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

Рекомендуемые посты:

Часто задаваемые вопросы об операционных системах Интервью | Комплект 1

0.00 (0%) 0 votes