Este es mi curso de quinto término sobre el tema de "sistemas operativos" en el Departamento de Ciencias de la Computación y Tecnologías, Universidad Técnica del Estado de Bauman Moscú.
El objetivo principal es familiarizarse con el principio de la operación del kernel del sistema operativo a un nivel bajo. Como secuencia, desarrolle bibliotecas C mínimas para tareas de E/S (por ejemplo, funciones como PutChat, PrintF, GETS, SCANF) y Gestión de memoria (Malloc, Free, etc.). Finalmente, escriba una aplicación que demuestre su eficiencia. El curso de cursos se evaluó en la marca 5/5.
Construcción de proyectos con herramienta Make. Makefile contiene toda la lógica. Aquí hay pasos principales:
Obtenga el archivo de imagen (disk.img) de la última versión, luego simplemente escríbelo a un USB o ejecute con el emulador x86. Para Qemu es el siguiente comando:
spam@eggs: ~ $ sudo qemu-system-i386 -hda disk.imgLinux . Actualmente desarrollando y pruebas en Ubuntu 18.04 LTS mínimo.
Primero asegúrese de tener todas las herramientas enumeradas en el bloque de dependencias instaladas. Luego haz lo siguiente:
spam@eggs: ~ $ git clone https://github.com/nexterot/develop-os-free
spam@eggs: ~ $ cd develop-os-free
spam@eggs: ~ $ makeEn caso de errores, o simplemente para limpiar el directorio:
spam@eggs: ~ $ make clean Además, el siguiente comando es un alias para make clean && make :
spam@eggs: ~ $ make rebuildPara probarlo con el emulador QEMU, ejecute:
spam@eggs: ~ $ make run losetup: bin/disk.img: failed to set up loop device: Device or resource busy
Encuentra dispositivos de bucle ocupado:
spam@eggs: ~ $ losetup -aLuego edite las siguientes líneas en MakeFile, cambiando '/dev/loop2' o y '/dev/loop3' a cualquier dispositivo de bucle gratuito:
loop_first = /dev/loop2
loop_second = /dev/loop3
Finalmente haz:
spam@eggs: ~ $ make rebuild
