фкн + вгу + antitoal

Темы официального форума fkn+antitotal ( неофициального форума фкн вгу )

Проблема обедающих философов

Проблему можно сформулировать следующим образом:

Передача сообщений

Для реализации обмена информацией между компьютерами выступает передача сообщений. Этот метод межпроцессного взаимодействия использует два примитива: send и receive, которые скорее являются системными вызовами, чем структурными компонентами языка (что отличает их от мониторов и делает похожим на семафоры). Поэтому их легко можно поместить в библиотечные процедуры, например:

Мониторы -- объект синхронизации

Чтобы упростить написание программ, в 1974 году Хоар (Ноаге) [155] и Бринч Хансен (Brinch Hansen) [43] предложили примитив синхронизации более высо­кого уровня, называемый монитором.
Их предложения несколько отличались друг от друга, как мы увидим дальше.

Монитор — набор процедур, переменных и дру­гих структур данных, объединенных в особый модуль или пакет.

Мьютексы

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

Семафоры

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

Проблема производителя и потребителя (проблема ограниченного буфера)

Рассмотрим проблему производителя и потребителя, также известную как проблема ограниченного буфера.

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

Алгоритм Петерсона

пример здесь = http://fkn.ktu10.com/?q=node/695

Взаимное исключение с активным ожиданием

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

Состояние состязания. Критические области.

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

Межпроцессное взаимодействие (IPC)

Процессам часто бывает необходимо взаимодействовать между собой.
Например, в конвейере ядра выходные данные первого процесса должны передаваться второму процессы и т.д. по цепочке. Поэтому необходимо правильно организовать взаимодействие между процессами, по возможности не используя прерываний. Рассмотрим некоторые аспекты межпроцессного взаимодействия (IPC, interprocess communication).

Проблема разбивается на три пункта=

Pages

Subscribe to RSS - фкн + вгу + antitoal