Saya di kelas sistem operasi. Segera, kita harus melakukan beberapa pekerjaan memodifikasi kode kernel. Kami telah disarankan untuk tidak menggunakan mesin pribadi untuk menguji (saya kira ini berarti menginstalnya) karena kami dapat menulis kode yang buruk dan menulis di suatu tempat yang tidak seharusnya. Kami diberi akses ke mesin di lab agar aman.
Jika saya menguji menggunakan VM, apakah itu akan melindungi sistem host dari kode yang berpotensi tidak aman? Saya benar-benar ingin tidak harus terjebak pada sistem di sekolah dan foto akan berguna.
Jika masih berisiko tinggi, ada saran tentang apa yang perlu saya pertimbangkan untuk diuji dengan aman?
Kami akan menggunakan sesuatu seperti linuxmint untuk memulai. Jika ada yang ingin melihat apa yang akan ada dalam proyek saat ini: http://www.cs.fsu.edu/~cop4610t/assignments/project2/writeup/specification.pdf
sumber
Jawaban:
Risiko utama pengembangan modul kernel adalah bahwa Anda dapat crash sistem Anda lebih mudah daripada dengan kode biasa, dan Anda mungkin akan menemukan bahwa Anda kadang-kadang membuat modul yang tidak dapat dibongkar yang artinya Anda harus reboot untuk memuat ulang mereka setelah Anda memperbaiki apa yang salah.
Ya, VM baik untuk pengembangan semacam ini dan itulah yang saya gunakan ketika saya bekerja pada modul kernel. VM dengan baik mengisolasi lingkungan pengujian Anda dari sistem Anda yang berjalan.
Jika Anda akan mengambil dan mengembalikan snapshot, Anda harus menjaga kode sumber Anda tetap masuk ke repositori kontrol versi di luar VM sehingga Anda tidak akan kehilangan kode terbaru secara tidak sengaja ketika Anda membuang status VM saat ini.
sumber
Dengan asumsi Anda tidak mencoba untuk menulis driver untuk perangkat keras yang sebenarnya, ini adalah cara yang bagus untuk bekerja pada modul. Anda dapat memotret sistem kerjanya, dan jika Anda meledakkan sesuatu, kembali saja ke snapshot itu.
Jika Anda bisa, buat duplikat penuh dari VM, kalau-kalau sistem snapshot lebih aneh dari yang saya kira. :)
sumber