30506

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

Доклад

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

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

Русский

2013-08-24

56.12 KB

4 чел.

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

Доска

Ответ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

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

79115. Понятие социального института, его характерные признаки 91 KB
  Понятие социальной организации. Формальные и неформальные организации. Это учреждения и организации связанные с осуществлением и распределением политической власти: государство партии армия правоохранительные учреждения профсоюзы политические движения в том числе различные женские молодежные расовые и национальные движения за равноправие женщин за права молодежи национально-освободительные организации. Понятие социальной организации.
79116. Баптистское движение 15.32 KB
  Основные положения вероучения были разработаны бывшим католическим священником Ульрихом Цвингли. В сотериологии Цвингли придерживался учения о спасении через веру в заместительную жертву Христа. Разногласие Цвингли и Лютера Цвингли первым из всех протестантов выступил против благодатных таинств. Цвингли первый богословски обосновал что Евхаристия это знак символ что субстанционально Христос в Евхаристии не присутствует.
79117. Вероучение анабаптистов 14.49 KB
  Они считали что получали личные откровения от Самого Бога и в свете их необходимо толковать Писание. Или только Писание или же что Писание следует толковать в свете внутренних озарений. Во всяком случае каждый человек мог толковать Писание. Писание ставилось в зависимость от внутреннего состояния человека.
79121. Возникновение и распространение адвентизма седьмого дня в мире и в России 17.48 KB
  Название адвентизм происходит от лат. Движение адвентизма зародилось в 30е годы 19 в.движение крое получило название адвентистов.