Ini adalah kursus istilah ke -5 saya tentang subjek "Sistem Operasi" di Departemen Ilmu dan Teknologi Komputer, Universitas Teknis Negara Bagian Bauman Moscow.
Tujuan utamanya adalah untuk berkenalan dengan prinsip operasi kernel OS di tingkat rendah. Sebagai urutan, kembangkan pustaka C minimal untuk tugas I/O (misalnya, fungsi seperti Putchat, printf, gets, scanf) dan manajemen memori (malloc, gratis, dan sebagainya). Akhirnya, tulis aplikasi yang menunjukkan efisiensinya. Kursus ini dievaluasi di Mark 5/5.
Pembangunan proyek dengan alat make. Makefile berisi semua logika. Inilah langkah -langkah utama:
Dapatkan file gambar (disk.img) dari rilis terbaru, lalu tulis saja ke USB atau jalankan dengan emulator x86. Untuk qemu itu adalah perintah berikut:
spam@eggs: ~ $ sudo qemu-system-i386 -hda disk.imgLinux . Saat ini mengembangkan dan menguji Ubuntu 18.04 LTS minimal.
Pertama, pastikan Anda memiliki semua alat yang tercantum dalam blok dependensi yang diinstal. Kemudian lakukan hal berikut:
spam@eggs: ~ $ git clone https://github.com/nexterot/develop-os-free
spam@eggs: ~ $ cd develop-os-free
spam@eggs: ~ $ makeDalam hal kesalahan, atau hanya untuk membersihkan direktori:
spam@eggs: ~ $ make clean Juga, perintah berikut adalah alias untuk make clean && make :
spam@eggs: ~ $ make rebuildUntuk mengujinya dengan emulator QEMU, jalankan:
spam@eggs: ~ $ make run losetup: bin/disk.img: failed to set up loop device: Device or resource busy
Temukan perangkat loop yang sibuk:
spam@eggs: ~ $ losetup -aKemudian edit baris berikutnya di makefile, ubah '/dev/loop2' atau dan '/dev/loop3' ke perangkat loop gratis:
loop_first = /dev/loop2
loop_second = /dev/loop3
Akhirnya lakukan:
spam@eggs: ~ $ make rebuild
