Ф'ютекс (англ. futex, скорочення від англ. fast userspace mutex) — у програмуванні спосіб реалізації семафорів і м'ютексів POSIX у Linux. Вперше введені в ядро з версії 2.5.7 (development); вироблена стабільна семантика з 2.5.40; включаються в стабільні версії серії 2.6.x (stable).
Розроблено Уберті Франке (Hubertus Franke) (з дослідницького центру IBM імені Томаса Ватсона), співробітниками технологічного центру IBM з Linux Меттью Кирквудом (Matthew Kirkwood) і Рості Расселом, а також розробником в компанії Red Hat Інго Молнаром (Ingo Molnar).
Ф'ютекс являє собою вирівняне ціле в загальній пам'яті (для декількох процесорів). Це ціле може бути збільшене або зменшене на одиницю за одну асемблерну інструкцію. Процеси, «зав'язані» на цей ф'ютекс, чекають, коли це значення стане позитивним. Всі операції з ф'ютексами практично повністю проводяться в просторі користувача, відповідні функції ядра задіюються лише в обмеженому наборі спірних випадків. Це дозволяє підвищити ефективність використання синхронізуючих примітивів, оскільки більшість операцій не використовують арбітраж, а значить і уникнути використання відносно дорогих системних викликів (англ. system calls).
Подібним чином оптимізовані об'єкти CRITICAL_SECTION у (Win32 API), а також FAST_MUTEX в ядрі Windows.
Виноски
Посилання
- - futex() system call
- - futex semantics and usage
- Hubertus Franke, Rusty Russell, Matthew Kirkwood, Fuss, futexes and furwocks: Fast Userlevel Locking in Linux, 2002.
- Futex manpages
- Ingo Molnar, "Robust Futexes", Linux Kernel Documentation
- "Priority Inheritance Futexes", Linux Kernel Documentation
Ця стаття потребує додаткових для поліпшення її . (січень 2016) |
![]() | Це незавершена стаття про програмування. Ви можете проєкту, виправивши або дописавши її. |
![]() | Це незавершена стаття про операційні системи. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет