30506

Процессы и потоки. Объекты межпроцессной синхронизации. Понятие гонок и взаимной блокировки

Доклад

Математика и математический анализ

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

Русский

2013-08-24

56.12 KB

3 чел.

38. Процессы и потоки. Объекты межпроцессной синхронизации. Понятие гонок и взаимной блокировки

Доска

Ответ

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

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

Потоки выполнения отличаются от традиционных процессов многозадачной операционной системы тем, что:

  1. процессы, как правило, независимы, тогда как потоки выполнения существуют как составные элементы процессов
  2. процессы несут значительно больше информации о состоянии, тогда как несколько потоков выполнения внутри процесса совместно используют информацию о состоянии, а также память и другие вычислительные ресурсы
  3. процессы имеют отдельные адресные пространства, тогда как потоки выполнения совместно используют их адресное пространство
  4. процессы взаимодействуют только через предоставляемые системой механизмы связей между процессами
  5. переключение контекста между потоками выполнения в одном процессе, как правило, быстрее, чем переключение контекста между процессами.

Методы межпроцессной синхронизации:

  1. Файл
  2. Сигнал

Фактически, сигнал — это асинхронное уведомление процесса о каком-либо событии. Когда сигнал послан процессу, операционная система прерывает выполнение процесса. Если процесс установил собственный обработчик сигнала, операционная система запускает этот обработчик, передав ему информацию о сигнале. Если процесс не установил обработчик, то выполняется обработчик по умолчанию.

  1. Сокет
  2. Канал
  3. Именованный канал
  4. Семафор

Семафор — объект, позволяющий войти в заданный участок кода не более чем n потокам. Определение введено Эдсгером Дейкстрой.

Семафоры используются при передаче данных через разделяемую память.

  1. Разделяемая память

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

  1. Обмен сообщениями
  2. Проецируемый в память файл

Является методом ввода/вывода через отображение файла на память и естественным образом реализует выделение страниц по запросу, поскольку изначально содержимое файла не читается с диска и не использует физическую память вообще.

  1. Очередь сообщений
  2. Почтовый ящик

Состояние гонки (англ. race condition) — ошибка проектирования многопоточной системы или приложения, при которой работа системы или приложения зависит от того, в каком порядке выполняются части кода.

Взаимная блокировка (англ. deadlock) — ситуация в многозадачной среде или СУБД, при которой несколько процессов находятся в состоянии бесконечного ожидания ресурсов, занятых самими этими процессами.


 

А также другие работы, которые могут Вас заинтересовать

64681. Особенности раздела общего имущества супругов 39.35 KB
  Целью работы является изучение особенностей судебных споров о разделе имущества. К задачам изучения относится: понятие и особенности общего имущества супругов объекты общей совместной собственности супругов...
64682. Процесс становления рыночного механизма в современной России 50.89 KB
  Без товарного производства нет рынка без рынка нет товарного производства. Эти условия зарождались и развивались как единое целое как единый процесс взаимодействия производства и сбыта продукции. Рынок это обмен организованный по законам товарного производства...
64683. Годівля однорічки кижуча 2.73 MB
  Перехід від тимчасового утримування риби у штучних конструкціях до її культивування ґрунтувався на здатності конкретних видів риб харчуватися природними і штучними кормами у пропонованих умовах утримання. В умовах спеціалізованих рибницьких господарств вирощування риби...
64684. Создание программного продукта реализующего различные методы шифрования текста 620.26 KB
  Предмет курсовой работы – это программный продукт, реализующий такие методы шифрования как шифр Цезаря, шифр с заменой букв цифрами и шифр Полибиуса. Цель курсовой работы – создание программного продукта, который бы позволял обычным пользователям компьютера...
64687. Мероприятия по повышению эффективности использования трудовых ресурсов на примере ООО «Медоптика» 276.24 KB
  По мере совершенствования материально-технических условий производства и увеличения экономического потенциала возрастают потребности общественного производства в квалифицированной рабочей силе и в повышении производительности труда.
64689. Управление разработкой и внедрением нового продукта. Методические указания 203.5 KB
  Цели дисциплины Формирование базовых теоретических знаний умений и навыков решения проблем организации и управления разработкой и внедрением нового продукта управления развитием нового продукта в организации системы менеджмента...