blog.ub.ac.idblog.ub.ac.id/nggimoshi1/files/2012/01/prak4-sisop.docx  · Web viewMembuat hello...

Post on 28-Sep-2020

1 views 0 download

Transcript of blog.ub.ac.idblog.ub.ac.id/nggimoshi1/files/2012/01/prak4-sisop.docx  · Web viewMembuat hello...

TUGAS : TUGAS PRAKTIKUM 4 SISTEM OPERASI

NAMA : ANGGI GUSTININGSIH HAPSANI

NIM : 105060801111009

KELAS : C

ASISTEN : AULIA MEITIKA KUSUMAWARDHANI

1. Modul kernel Linux adalah bagian dari kernel Linux yang dapat dikompilasi, dipanggil dan dihapus secara terpisah dari bagian kernel lainnya saat dibutuhkan. Tujuan dibuat sebuah modul kernel adalah untuk menyediakan fungsi-fungsi yang tidak disediakan secara default oleh kernel. Modul ini biasanya digunakan sebagai device driver.Program

2. Membuat custom kernel

1. Download kernel linuxversi 2.6.32, nama file: linux-2.6.32.tar.gz2. Copy download kedirektori /usr/src, laluxtractmenggunakanperintah

sudo tar zxf linux-2.6.32.tar.gz

3. Masukdirektori /usr/src/linux-2.6.32. Lalukonfigurasi kernel, samakankonfigurasidengankonfigurasi kernel andasaatini

4. Supayadalammengkompilasi kernel, yang dikompilasihanyamodul yang dibutuhkan system anda:

5. Untukmembuat clean build:

6. Kompilesemua source code menggunakanperintahsudo make all:

Proses compile

7. Setelahselesaikompilasi, masukkanperintah :

8. Sekarangmasukdirektori /usr/src. Instal kernel menggunakanperintah

9. Masukdirektori /boot, buatinitrd image

10. Update grub, supaya kernel yang barumunculpada boot

11. Instalasi selesai sekaran restart dan coba boot dengan kernel yang baru yaitu “Ubuntu, Linux 2.6.32-custom”

3. Membuat hello world module1. Buat program dengan nama hello2.c

2. Buat file Makefile lalu isi seperti dibawah ini

3. Compile dengan perintah make

4. Periksa informasi dengan perintah modinfo

5. Ketikkan perintah sudo insmod hello2.ko

Ketikkan perintah sudo lsmod | grep hello2

Masuk ke directory /var/log

Kemudian ketikkan perinta cat syslog

4. Menambahkan system call dalam kernel

1. Kita akanmembuat system call dengannamafungsimysyscall, untukitubuat folder mysyscallpada /usr/src/linux-2.6.32

2. Edit file syscall_table_32.S

tambahkanpadaakhir file:

3. Edit file unistd_32.h

Tambahkan #define __NR_mysyscall 337, setelahbaris #define __NR_perf_event_open 336. Janganlupamerubahbarisdibawahnyamenjadi #define NR_syscalls 338

4. Edit file syscalls.h

Tambahkankodeberikutsetelahbaris 881

5. Edit file Makefile

caribarisdengan text “core-y                 +=” (jarakantara ‘y’ dan ‘+’ 2 tab), danubahmenjadi:

6. Buat file mysyscall.cpadadirektori /usr/src/linux-2.6.32/mysyscall:

isikan source code system call baru yang akanditambahkansebagaiberikut:

7. Buat file Makefilepadadirektori /usr/src/linux-2.6.32/mysyscall:

isikan file sepertiberikut:

8. Untukmencobamenjalankan system call yang baruandadapatmembuat program kecilsepertidibawahini:

Program c.h

Program c.c

Compile program c.c,lalueksekusi

1.