Это мой 5 -й срок курсовой работы по предмету «Операционные системы» на факультете компьютерных наук и технологий, Государственный технический университет Баумана Москва.
Основная цель - познакомиться с принципом операции ядра ОС на низком уровне. В качестве последовательности разработать минимальные библиотеки C для задач ввода -вывода (например, такие функции, как Putchat, Printf, GET, Scanf) и управление памятью (Malloc, Free и т. Д.). Наконец, напишите приложение, демонстрирующее их эффективность. Курсовая работа была оценена в Марке 5/5.
Строительство проекта с помощью инструмента Make. Makefile содержит всю логику. Вот основные шаги:
Получите файл изображения (disk.img) из последнего релиза, затем просто напишите его на USB или запустите с помощью x86. Для QEMU это следующая команда:
spam@eggs: ~ $ sudo qemu-system-i386 -hda disk.imgLinux . В настоящее время разработка и тестирование на Ubuntu 18.04 LTS минимально.
Сначала убедитесь, что у вас есть все инструменты, перечисленные в блоке зависимостей . Затем сделайте следующее:
spam@eggs: ~ $ git clone https://github.com/nexterot/develop-os-free
spam@eggs: ~ $ cd develop-os-free
spam@eggs: ~ $ makeВ случае ошибок или просто для очистки каталога:
spam@eggs: ~ $ make clean Кроме того, следующая команда - псевдоним для make clean && make :
spam@eggs: ~ $ make rebuildЧтобы проверить его с эмулятором Qemu, запустите:
spam@eggs: ~ $ make run losetup: bin/disk.img: failed to set up loop device: Device or resource busy
Найдите загруженные устройства петли:
spam@eggs: ~ $ losetup -aЗатем редактируйте следующие строки в Makefile, изменяя '/dev/loop2' или и '/dev/loop3 на любое бесплатное устройство:
loop_first = /dev/loop2
loop_second = /dev/loop3
Наконец сделай:
spam@eggs: ~ $ make rebuild
