Preview

Труды НИИСИ

Расширенный поиск

Логические ошибки в подсистемах ввода-вывода современных операционных систем

Аннотация

Современные операционные системы используют уровни абстракции для описания интерфейса ввода-вывода данных. Построенные по этим принципам операционные системы обычно соответствуют стандарту POSIX, описывающему синтаксис и семантику системных вызовов. Тем не менее, применение стандартов не гарантирует согласованности программных компонент и корректности использованных алгоритмов. В данной работе описано несколько логических ошибок, типичных для сложных систем, разные части которых разрабатывались независимо. Анализ описанных ошибок дает основания утверждать, что детальное описание программных моделей систем ввода-вывода для их формальной верификации и тестирования создаваемого кода могут значительно увеличить надежность операционных систем и прикладных программ.

Об авторах

А. Б. Бетелин
ФГУ ФНЦ НИИСИ РАН
Россия

Москва



А. А. Прилипко
ФГУ ФНЦ НИИСИ РАН
Россия

Москва



Г. А. Прилипко
ФГУ ФНЦ НИИСИ РАН
Россия

Москва



С. Г. Романюк
ФГУ ФНЦ НИИСИ РАН
Россия

Москва



Д. В. Самборский
ФГУ ФНЦ НИИСИ РАН
Россия

Москва



Список литературы

1. Стандарт POSIX.1-2017. The Open Group Base Specifications Issue 7, 2018 edition IEEE Std 1003.1-2017.

2. Gregg, Brendan. Linux Systems Performance. Portland, OR: USENIX Association, 2019.

3. Сайт "A journal for MD/RAID5", https://lwn.net/Articles/665299

4. Сайт "Partial Parity Log for MD RAID 5", https://lwn.net/Articles/715280

5. J. Gray, et al. The transaction concept: Virtues and limitations, VLDB. – 1981. – Т. 81. – С. 144-154.

6. Сайт "Add 'failfast' support for raid1/raid10", https://lwn.net/Articles/706865

7. Сайт "Timeout Mismatch", https://raid.wiki.kernel.org/index.php/Timeout_Mismatch

8. Сайт "Many (long) HDD default timeouts cause data loss or corruption (silent controller resets)", https://www.smartmontools.org/ticket/658

9. Сайт "PostgreSQL's handling of fsync() errors is unsafe and risks data loss at least on XFS", https://lwn.net/Articles/752093

10. Сайт «Руководство PostgreSQL. Часть III. Администрирование сервера. Глава 29. Надёжность и журнал предзаписи», https://postgrespro.ru/docs/postgresql/13/wal-reliability

11. Klein, Gerwin, June Andronick, Kevin Elphinstone, Toby Murray, Thomas Sewell, Rafal Kolanski, and Gernot Heiser. Comprehensive formal verification of an OS microkernel. ACM Transactions on Computer Systems (TOCS) 32, no. 1 (2014): 1-70.


Рецензия

Для цитирования:


Бетелин А.Б., Прилипко А.А., Прилипко Г.А., Романюк С.Г., Самборский Д.В. Логические ошибки в подсистемах ввода-вывода современных операционных систем. МАТЕМАТИЧЕСКОЕ И КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ СЛОЖНЫХ СИСТЕМ: ТЕОРЕТИЧЕСКИЕ И ПРИКЛАДНЫЕ АСПЕКТЫ. 2022;12(4):50-55.

For citation:


Betelin A.B., Prilipko A.A., Prilipko G.A., Romanyuk S.G., Samborskiy D.V. Logical errors in the input/output subsystems of modern operating systems. МАТЕМАТИЧЕСКОЕ И КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ СЛОЖНЫХ СИСТЕМ: ТЕОРЕТИЧЕСКИЕ И ПРИКЛАДНЫЕ АСПЕКТЫ. 2022;12(4):50-55. (In Russ.)

Просмотров: 13


Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2225-7349 (Print)
ISSN 3033-6422 (Online)