Это репозиторий с выполнением лаб по курсу «Операционные системы» в университете ИТМО ФПИиКТ СППО СПО.
Этот курс является экспериментальным в данный год.
Лабораторные работы основываются на модификации исходного кода ОС xv6, поэтому репозиторий был форкнут и версии каждой ЛР будут помещаться в отдельные ветки:
- lab-1 (ping-pong: pipe, fork)
- lab-2 (buddy allocator, unlimited process table)
- lab-3 (buddy allocator, unlimited process table)
- ...
- (см. README)
Для того чтобы попробовать xv6 без особой возни можно использовать Docker-образ:
- https://hub.docker.com/r/wtakuo/xv6-env
gdb
→gdb-multiarch
— потому что стандартная не умеет вriscv:rv64
- https://qemu-project.gitlab.io/qemu/system/gdb.html
- можно настроить подключение gdb в vscode
- можно так же настроить сборку в Docker из Clion или по крайней мере запускать образ
- https://mrzleo.github.io/2021/08/19/Virtualization-Start-from-QEMU/ — запуск xv6 на разных платформах
Для удобного выполнения лаб было принято решение сделать «форк» (тупо копия) из
офф. репозитория от последнего коммита (mit-pdos/xv6-riscv@f5b93ef), чтобы быть
свободнее в управлении репозиторием. И каждая лаба теперь будет разрабатываться
в отдельной ветке, ссылка на которую будет добавляться в ветку main
.
Дополнительные материалы от преподавателя по поводу работы на ARM процессорах:
Примеры выполнения работ у других студентов с интересными идеями решения задач.