[Перевод] Xv6: учебная Unix-подобная ОС. Глава 7. Планирование процессов

Глава расскажет, что такое мультиплексирование процессов, как xv6 переключает процессы, как xv6 синхронизирует процессы с помощью sleep и wakeup, как работает семафор, как работает канал (pipe), как случаются инверсии приоритетов и образуются конвои процессов, как правильно убить процесс и укротить грохочущее стадо процессов.

https://habr.com/ru/articles/801567/

#xv6 #семафор #переключение_контекста #мультиплексирование #условные_переменные #планировщик #sleep #wakeup #взаимоблокировки #каналы

Xv6: учебная Unix-подобная ОС. Глава 7. Планирование процессов

Предыдущая: Глава 6. Блокировки Примечание. Авторы рекомендуют читать книгу вместе с исходным текстом xv6 . Авторы подготовили и лабораторные работы по xv6 . Xv6 работает на RISC-V, поэтому для его...

Хабр

[Перевод] Xv6: учебная Unix-подобная ОС. Глава 6. Блокировки

Ядро ОС выполняет программы параллельно и переключает потоки по таймеру. Каждый процессор выполняет поток независимо от других. Процессоры используют оперативную память совместно, поэтому важно защитить структуры данных от одновременного доступа. Потоки испортят данные, если процессор переключится на другой поток, когда первый поток еще не завершил запись. Потоки конкурируют за доступ к структуре данных. Ядро кишит структурами, которые потоки используют совместно. Блокировки защищают данные при конкурентном доступе. Глава расскажет, зачем нужны блокировки, как xv6 реализует и использует блокировки.

https://habr.com/ru/articles/797557/

#xv6 #блокировки #прерывания #взаимоблокировки #потоки #параллельное_программирование #многопоточность #pthreads #lockfree

Xv6: учебная Unix-подобная ОС. Глава 6. Блокировки

Предыдущая: Глава 5. Прерывания и драйверы устройств Примечание. Авторы рекомендуют читать книгу вместе с исходным текстом xv6 . Авторы подготовили и лабораторные работы по xv6 . Xv6 работает на...

Хабр