30506

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

Доклад

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

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

Русский

2013-08-24

56.12 KB

5 чел.

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

Доска

Ответ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

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

52017. Україна та її історія на уроках зарубіжної літератури 124.5 KB
  Слайд 3 1 учень. 2 учень Особливе значення для мене має образ лампи з абажуром зеленого кольору. 1 учень. 2 учень слайд 4 Київ займав особливе місце в житті та творчості письменника.
52018. Павуки. Особливості будови та життєдіяльності 73.5 KB
  Особливості будови та життєдіяльності слайд 3 Визначення мети та завдань уроку Мету та завдання визначаємо разом з дітьми: слайд 4 Ознайомитися з особливостями будови представників класу Павукоподібні; Дати загальну характеристику класу Павукоподібні; Визначити місце павукоподібних у системі органічного світу; Ознайомитися з властивостями павутини та способами полювання павуків. Завдання уроку: слайд 5 Простежити ускладнення будови павукоподібних у порівнянні з ракоподібними; Зясувати значення павутини в житті...
52019. Утворення Єгипетської держави 81.5 KB
  Ознайомити учнів з особливостями виникнення перших держав у Єгипті, з утворенням єдиної держави та з культом фараона. Розвивати уміння учнів працювати з історичною картою, текстом підручника, аналізувати схеми та малюнки, робити висновки.
52020. Reisen wir 32.5 KB
  Fssen wir einnder n den Händen. Für heute sind wir eine Mnnschft sgen wir Drei vier und zur rbeit â Ich wünsche euch viel Erfolg während der Stunde. Wir beginnen mit der Bestimmung eurer Lune. Motivtion Ds Them der heutigen Stunde ist Reisen wirâ Die Ziele sind : Den Sitz im Flugzeug wechseln können Denn Sätze trinieren Sehenswürdigkeiten Berlins nennen können rtikel in kkustiv trinieren.