Senin, 16 Mei 2011

System Call dan Manajemen Memory

UNIX SYSTEM CALL

Pada praktikum ini akan dilakukan percobaan menggunakan system call yang berhubungan dengan proses pada system operasi UNIX yang biasa disebut UNIX System Call, yaitu system call fork, execl dan wait. Pada percobaan yang dilakukan akan dibuat program yang didalamnya terdapat fungsi system call. Untuk menjalankannya pada Linux gunakan g++.

System Call Fork

System call fork adalah suatu system call yang membuat suatu proses baru pada system operasi UNIX. Pada percobaan ini menggunakan mesin Linux dan beberapa program yang berisi system call fork().Bila suatu program berisi sebuah fungsi fork(), eksekusi dari program menghasilkan eksekusi dua proses.Satu proses dibuat untuk memulai eksekusi program. Bila system call fork() dieksekusi, proses lain dibuat. Proses asal disebut proses parend dan proses kedua disebut proses child. Proses child merupakan duplikat dari proses parent. Kedua proses melanjutkan eksekusi dari titik dimana system call fork() menghasilkan eksekusi pada program utama. Karena UNIX adalah system operasi time sharing, dua proses tersebut dapat mengeksekusi secara konkuren.

Nilai yang dihasilkan oleh fork() disimpan dalam variable bertipe pid_t, yang berupa nilai integer. Karena nilai dari variable ini tidak digunakan, maka hasil

fork() dapat diabaikan.

Untuk kill proses gunakan Ctrl+C.

Untuk dokumentasi fork() dapat dilihat dengan ketikkan man 2 fork. Untuk melihat id dari proses, gunakan system call getpid()

Untuk melihat dokumentasi dari getpid(), ketikkan man 2 getpid

Perbedaan antara proses parent dan proses child adalah Mempunyai pid yang berbeda

Pada proses parent , fork() menghasilkan pid dari proses child jika sebuah proses child dibuat.

Pada proses child, fork() selalu menghasilkan 0

Membedakan copy dari semua data, termasuk variable dengan current value dan stack

Membedakan program counter (PC) yang menunjukkan eksekusi berikutnya meskipun awalnya keduanya mempunyai nilai yang sama teta pi setelah itu berbeda.

Setelah fork, kedua proses tersebut tidak menggunakan variable bersama.

System Call Wait

System call wait menyebabkan proses menunggu sinyal (menunggu sampai sembarang tipe sinyal diterima dari sembarang proses). Biasanya digunakan oleh proses parent untuk menunggu sinyal dari system operasi ke parent bila child diterminasi. System call wait menghasilkan pid dari proses yang mengirimi sinyal. Untuk melihat dokumentasi wait gunakan perintah man 2 wait.

System Call Execl

Misalnya kita ingin proses baru mengerjakan sesuatu yang berbeda dari proses parent, sebutlah menjalankan program yang berbeda. Sistem call execl meletakkan program executable baru ke memory dan mengasosiasikannya dengan proses saat itu. Dengan kata lain, mengubah segala sesuatunya sehingga program mulai mengeksekusi dari file yang berbeda.


Bagi temen-temen kuliah Sejurusan Teknik Informatika khususnya yang kuliah di Universitas Siliwangi yang mengambil mata kuliah Sistem Operasi Disini saya akan memberikan data modulnya dari dasar teorinya dan juga lengkap dengan percobaanya. Silahkan download aja data lengkapnya klik link di bawah ini :


Download Modul 7 SO System Call dan Manajemen Memory

0 komentar:

Poskan Komentar