- •Часть 1
- •1. Что такое ос? Основная задача и основные функции.
- •2. Базовые понятия ос
- •3. Понятие Виртуальной Машины (вм).
- •9. Образ процесса
- •10. Базовые функции ос и функции ядра
- •11. Что представляет собой ядро ос
- •12. Вспомогательные модули.
- •13. Классификация ос по назначению и по режиму обработки задач
- •14. Классификация ос по способу взаимодействия с системой
- •15. Классификация ос по способу построения ос
- •22. Монолитная ос
- •23. Структура монолитной ос Структура монолитной ос
- •24. Классическая структура ос
- •27. Системный вызов
- •28. Понятие процесса
- •29. Режимы функционирования процессов.
- •30. Системная таблица процессов.
- •31. Создание процесса.
- •32. Состояния процесса
- •33. Иерархия процессов.
- •34. Завершение процесса.
- •Плановый выход по известной ошибке
- •Выход по неисправимой ошибке
- •Уничтожение другим процессом
- •35. Основные характеристики процесса.
- •36. Понятие потока. Модель потока
- •37. Преимущества использования потоков.
- •38. Реализация потоков в пространстве пользователя
- •39. Реализация потоков в пространстве ядра.
- •40. Различия между процессами и потоками.
- •41. Преимущества процессов над потоками
40. Различия между процессами и потоками.
С помощью процесса можно организовать параллельное выполнение программ. Для этого процесс клонируется (создается и завершается) с помощью вызовов fork и exit, затем между ними организуется взаимодействие.
Для организации параллельного выполнения и взаимодействия может использоваться механизм многопоточности, для которого основной единицей является поток.
Каждому процессу соответствует своя, независимая от других процессов, область памяти, таблица открытых файлов, текущая директория и другая информация уровня ядра.
Потоки представляют собой облегченную версию процессов.
Если рассматривать эти характеристики, независимо от других, как принято в современных ОС, то:
1 – владелец ресурса называется процессом или задачей, которой присуще:
виртуальное адресное пространство
индивидуальный доступ к процессору, файлам других ресурсов.
2 – модуль для диспетчеризации, который называется потоком (облегченным процессом), ему присуще:
состояние выполнения
сохранение контекста потока в неактивном состоянии
стек выполнения
некоторая статическая память для локальных переменных
доступ к пространству памяти и ресурсам своего процесса
Все потоки процесса разделяют общие ресурсы. Изменения, вызванные одним потоком становятся немедленно доступны другим потокам.
41. Преимущества процессов над потоками
Все потоки процесса разделяют общие ресурсы. При корректной реализации потоки имеют определенные преимущества перед процессами:
Потокам требуется меньше времени для создания нового потока, т. к. создаваемый поток использует адресное пространство текущего процесса
Требуется меньше времени для завершения потока
Требуется меньше времени для переключения между потоками в пределах одного процесса
Требуется меньше коммуникационных расходов, т. к. потоки разделяют все ресурсы, в том числе и адресное пространство. Данные продуцируется одним потоком немедленно становятся доступны другим потокам.