Лекция: Однозадачные и многозадачные ОС. Примеры. Преимущества многозадачности.
По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса:
- однозадачные (например, MS-DOS, MSX) в основном выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером, включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователе.
- многозадачные (OC EC, OS/2, UNIX, Windows 95). ( на одном процессоре выполняется сразу несколько процессов или прог, существует чередование вып-я процессов)
Многозадачные ОС, кроме функций однозадачных, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства.
Вытесняющая и невытесняющая многозадачность. — Важнейшим разделяемым ресурсом является процессорное время. Способ распределения процессорного времени между несколькими одновременно существующими в системе процессами (или нитями) во многом определяет специфику ОС. Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов:
- невытесняющая многозадачность (NetWare, Windows 3.x);
- вытесняющая многозадачность (Windows NT, OS/2, UNIX).
Основным различием между вытесняющим и невытесняющим вариантами многозадачности является степень централизации механизма планирования процессов. В первом случае механизм планирования процессов целиком сосредоточен в операционной системе, а во втором — распределен между системой и прикладными программами. При невытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление операционной системе для того, чтобы та выбрала из очереди другой готовый к выполнению процесс. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается операционной системой, а не самим активным процессом (система прерывания процессов).