1018 просмотров
от 27 января 2024
Computer Science

Вопросы с собеседований про операционные системы

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

1

Что такое многозадачность (multitasking)?

Многозадачность (multitasking) — свойство операционной системы или среды выполнения обеспечивать возможность параллельной (или псевдопараллельной)) обработки нескольких задач. Истинная многозадачность операционной системы возможна только в распределённых вычислительных системах. Существует 2 типа многозадачности: - Процессная многозадачность (основанная на процессах — одновременно выполняющихся программах). Здесь программа — наименьший элемент управляемого кода, которым может управлять планировщик операционной системы. Более известна большинству пользователей (работа в текстовом редакторе и прослушивание музыки). - Поточная многозадачность (основанная на потоках). Наименьший элемент управляемого кода — поток (одна программа может выполнять 2 и более задачи одновременно).

Комментарии
0/3000
2

Что такое процесс (process)?

Процесс — экземпляр программы во время выполнения, независимый объект, которому выделены системные ресурсы (например, процессорное время и память). Каждый процесс выполняется в отдельном адресном пространстве: один процесс не может получить доступ к переменным и структурам данных другого. Если процесс хочет получить доступ к чужим ресурсам, необходимо использовать межпроцессное взаимодействие. Это могут быть конвейеры, файлы, каналы связи между компьютерами и многое другое.

Комментарии
0/3000
3

Что такое поток (thread)?

Поток использует то же самое пространства стека, что и процесс, а множество потоков совместно используют данные своих состояний. Как правило, каждый поток может работать (читать и писать) с одной и той же областью памяти, в отличие от процессов, которые не могут просто так получить доступ к памяти другого процесса. У каждого потока есть собственные регистры и собственный стек, но другие потоки могут их использовать. В Linux (в ядре) понятие «threads» отсутствует. С точки зрения ядра все потоки — это полноценные, отдельные, процессы (просто с общим адресным пространством)

Комментарии
0/3000
4

Что такое конкурентность (concurrency)?

Конкурентность (concurrency) - это наиболее общий термин, который говорит, что одновременно выполняется более одной задачи. Конкурентное исполнение - это самый общий термин, который не говорит о том, каким образом эта конкурентность будет получена: путем приостановки некоторых вычислительных элементов и их переключение на другую задачу, путем действительно одновременного исполнения, путем делегации работы другим устройствам или еще как-то. Это не важно. Конкурентное исполнение говорит о том, что за определенный промежуток времени будет решена более, чем одна задача.

Комментарии
0/3000
5

Что такое параллельное исполнение?

Параллельное исполнение (parallel computing) подразумевает наличие более одного вычислительного устройства (например, процессора), которые будут одновременно выполнять несколько задач. Параллельное исполнение - это строгое подмножество конкурентного исполнения.

Комментарии
0/3000
Авторизуйтесь, чтобы открыть доступ к контенту
7

Что такое многопоточность (multithreading)?

8

Что такое асинхронное исполнение?

9

Что такое CPU-bound и IO-Bound операции?

10

Что такое состояние гонки (race condition)?

11

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

12

Что такое вытесняющая (приоритетная) многозадачность?

13

Что такое системный вызов (system call)?

Вопросники по Computer Science
Computer Science
11 вопросов
Вопросы и ответы про интернет-протоколы
1359 просмотров
Computer Science
13 вопросов
Вопросы и ответы с собеседований про ООП
1133 просмотра
Computer Science
28 вопросов
Объяснение паттернов проектирования с примерами
1341 просмотр
Computer Science
15 вопросов
Вопросы и ответы с собеседований по DDD
1445 просмотров
Computer Science
12 вопросов
Вопросы с собеседований про операционные системы
1018 просмотров
Хотите заработать на создании вопросников?
Стать редактором
Смежные категории
Базы данных
10 вопросов
Вопросы с собеседований о репликации баз данных
1407 просмотров
Базы данных
11 вопросов
Вопросы с собеседований про шардинг баз данных
1222 просмотра
Базы данных
60 вопросов
Вопросы и ответы с собеседований по SQL
2193 просмотра
Docker
7 вопросов
Коллекция полезных команд для Docker
1272 просмотра
Рекомендуем
Базы данных
60 вопросов
Вопросы и ответы с собеседований по SQL
2193 просмотра
Computer Science
13 вопросов
Вопросы и ответы с собеседований про ООП
1133 просмотра
Git
20 вопросов
Вопросы и ответы с собеседований по Git
1727 просмотров
Computer Science
28 вопросов
Объяснение паттернов проектирования с примерами
1341 просмотр
Computer Science
12 вопросов
Вопросы с собеседований про операционные системы
1018 просмотров
Computer Science
15 вопросов
Вопросы и ответы с собеседований по DDD
1445 просмотров
Другие разделы

Лента

Активность пользователей Девстанции

Перейти к ленте

Лидеры

Рейтинг самых результативных пользователей сообщества

Перейти к лидерам

Треды

Общение по интересам и связь с разработчиками

Перейти к тредам

Задачи

Решение алгоритмических задач с собеседований

Перейти к задачам

Вопросы

Ответы на вопросы с технических собеседований

Вы находитесь здесь

Викторины

Интерактивные викторины по вопросам с собеседований

Перейти к викторинам
Мы в Telegram
Новости проекта, общение с разработчиками, общение по интересам - присоединяйтесь!