Многозадачность операционной системы — мультипрограммирование и реализация

Дата публикации 15.09.2021

Естественно, что работа программиста будет ещё быстрее, если дело его рук расположено на мощном сервере Reshield-IT, который бесперебойно выполняет свою основную функцию, тем самым обеспечивает стабильную работу сайта, приложения или програмы.

Contents

Реализация

Обычно на компьютере не так много процессоров, сколько мы хотим выполнять задачи одновременно. Следовательно, невозможно гарантировать, что все запущенные задачи выполняются одновременно. Вместо этого гарантируется, что выполняемые задачи на процессоре (ах) компьютера чередуются очень быстро, создавая впечатление одновременного выполнения. Время, в течение которого может выполняться каждая задача, называется квантом времени .

На рисунке справа показаны задания A, B и C, чередующиеся выполняемые на одном процессоре, что указывает на то, что задание может выполняться меньше максимального количества времени.

Существует два основных способа многозадачности, в зависимости от того, как кванты времени выделяются и удаляются из задач:

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

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

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

 

Вытесняющая многозадачность

Вы также можете найти соответствующую информацию в статье Вытеснение (информатика) .
При вытесняющей многозадачности операционная система полностью отвечает за выделение и удаление процессора для отдельных задач . С регулярными интервалами (обычно от 100 до 1000 в секунду) таймер запускает прерывание текущей запущенной программы (процесса), оценивает текущую ситуацию (какие задачи запрашивают выделение ЦП, их приоритеты и т.д.) И позволяет запускать любую из них снова. задача, которая была прервана, или другая задача, которая заинтересована в выделении процессора (какая задача затем будет запущена, определяется очередью приоритетов). Однако даже в вытесняющей многозадачности задача может добровольно запросить переключение контекста и отказаться от остальной части своего кванта (так называемая задача «засыпает» — процесс переходит в спящий режим или блокируется путем выполнения медленного ввода-вывода.такие операции, как чтение данных с жесткого диска ).

Читайте также:  Как скрыть диск в моем компьютере и проводнике

Windows 95 использует вытесняющую многозадачность (только для 32-битных программ, остальные запускаются без вытеснения). Многие Windows NT полностью вытесняют . С момента своего появления он также используется в macOS , ядрах Unix (включая Linux ) и других операционных системах.

Преимущество этого решения состоит в том, что компьютер не «зависает», потому что даже если задача зацикливается, операционная система использует таймер, чтобы удалить управление из задачи и назначить процессор другой задаче. Недостатком является более сложная реализация операционной системы и необходимость аппаратной поддержки в процессоре компьютера

Предыдущая
СтатьиAndroid - интегрированные приложения, а также разработка приложений для android
Следующая
СтатьиВыбираем качественный смартфон
Помогла статья? Оцените её
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Загрузка...
Добавить комментарий

пятнадцать − двенадцать =