Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






Семафори

Колективна пам'ять

Для роботи з пам'яттю, що використовуються чотири системних виклику:

• shmget створює новий сегмент розділяється пам'яті або знаходить існуючий сегмент з тим же ключем;

• shmat підключає сегмент із зазначеним дескриптором до віртуальної пам'яті звертається процесу;

• shmdt відключає від віртуальної пам'яті раніше підключений до неї сегмент із зазначеним віртуальним адресою початку;

• нарешті, системний виклик shmctl служить для управління різноманітними параметрами, пов'язаними з існуючим сегментом.

Після того як сегмент розділяється пам'яті підключений до віртуальної пам'яті процесу, цей процес може звертатися до відповідних елементів пам'яті з використанням звичайних машинних команд читання і запису, не вдаючись до використання додаткових системних викликів.

 

Механізм семафорів, реалізований в ОС UNIX, є узагальненням класичного механізму семафорів загального вигляду, запропонованого більше 25 років тому відомим голландським фахівцем професором Дейкстри. Зауважимо, що доцільність запровадження такого узагальнення досить сумнівна. Зазвичай навпаки використовувався полегшений варіант семафорів Дейкстри - так звані виконавчі семафори. Ми не будемо тут заглиблюватися в загальну теорію синхронізації на основі семафорів, але зауважимо, що достатність в загальному випадку двійкових семафорів доведена (відомий алгоритм реалізації семафорів загального вигляду на основі двійкових). Звичайно, аналогічні міркування можна було б застосувати і до варіанту семафорів, застосованого в ОС UNIX. Семафор в ОС UNIX складається з наступних елементів:

• значення семафора;

• ідентифікатор процесу, який хронологічно останнім працював з семафором;

• число процесів, що очікують збільшення значення семафора;

• число процесів, що очікують нульового значення семафора.

• Для роботи з семафорами підтримуються три системні виклики:

• semget для створення і отримання доступу до набору семафорів;

• semop для маніпулювання значеннями семафорів (це саме той системний виклик, який дозволяє процесам синхронізувати на основі використання семафорів);

• semctl для виконання різноманітних керуючих операцій над набором семафорів.

Основним приводом для введення масових операцій над семафорами було прагнення дати програмістам можливість уникати тупикових ситуацій у зв'язку з семафорної синхронізацією. Це забезпечується тим, що системний виклик semop, яким би довгим він не був (через потенційно необмеженої довжини масиву oplist) виконується як атомарна операція, тобто під час виконання semop жоден інший процес не може змінити значення будь-якого семафора.


Читайте також:

  1. Семафори




Переглядів: 803

<== попередня сторінка | наступна сторінка ==>
Взаємодія процесів | Черги повідомлень

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.004 сек.