210 likes | 440 Views
Sistem Operasi. Unit Kompetensi. Menguasai Unix sistem call dan manajemen Memory. Elemen Kompetensi. Menguasai Unix sistem call dan manajemen Memory. Kriteria Kinerja. Mahasiswa diharapkan mampu : Menggunakan system call fork, wait dan execl pada Linux.
E N D
Unit Kompetensi • Menguasai Unix sistem call dan manajemen Memory
ElemenKompetensi • Menguasai Unix sistem call dan manajemen Memory
KriteriaKinerja • Mahasiswadiharapkanmampu: • Menggunakan system call fork, wait danexeclpada Linux. • Menggunakanperintah-perintahuntukmanajemen memory.
UNIX SYSTEM CALL -System Call Fork • System call fork adalahsuatu system call yang membuatsuatu proses barupada system operasi UNIX. Padapercobaaninimenggunakanmesin Linux danbeberapa program yang berisi system call fork().
UNIX SYSTEM CALL -System Call Fork • Nilai yang dihasilkanolehfork()disimpandalam variable bertipepid_t, yang berupanilai integer. Karenanilaidari variable initidakdigunakan, makahasilfork() dapatdiabaikan.
UNIX SYSTEM CALL -System Call Fork • Bilasuatu program berisisebuahfungsifork(),eksekusidari program menghasilkaneksekusidua proses. • Satuproses dibuatuntukmemulaieksekusi program. Bila system call fork()dieksekusi, proses lain dibuat. • Proses asaldisebut proses parenddan proses keduadisebut proses child.
UNIX SYSTEM CALL -System Call Fork • Proses child merupakanduplikatdari proses parent. Kedua proses melanjutkaneksekusidarititikdimana system call fork() menghasilkaneksekusipada program utama. • KarenaUNIX adalah systemoperasi time sharing, dua proses tersebutdapatmengeksekusisecarakonkuren
UNIX SYSTEM CALL -System Call Fork • Untuk kill proses gunakanCtrl+C. • Untukdokumentasifork()dapatdilihatdenganketikkanman 2 fork. • Untukmelihat id dari proses, gunakan system call getpid() • Untukmelihatdokumentasidarigetpid(),ketikkanman 2 getpid
UNIX SYSTEM CALL -System Call Fork • Perbedaanantara proses parent dan proses child adalah • Mempunyaipid yang berbeda • Padaproses parent , fork()menghasilkanpiddari proses child jikasebuah proses child dibuat. • Padaproses child, fork()selalumenghasilkan 0 • Membedakancopy darisemua data, termasuk variable dengan current value dan stack • Membedakanprogram counter (PC) yang menunjukkaneksekusiberikutnya • meskipunawalnyakeduanyamempunyainilai yang samateta pi setelahituberbeda.
UNIX SYSTEM CALL -System Call Fork • Setelah fork, kedua proses tersebuttidakmenggunakan variable bersama. • System call fork menghasilkan : • ·Pid proses child yang baruke proses parent, halinisamadenganmemberitahukan proses parent namadari child-nya • 0 : menunjukkan proses child • -1 : 1 jikaterjadi error, fork()gagalkarena proses barutidakdapatdibuat.
UNIX SYSTEM CALL -System Call Wait • System call wait menyebabkan proses menunggusinyal (menunggusampaisembarangtipesinyalditerimadarisembarang proses). • Biasanyadigunakanoleh proses parent untukmenunggusinyaldari system operasike parent bila child diterminasi. • System call wait menghasilkanpiddari proses yang mengirimisinyal. Untukmelihatdokumentasi wait gunakanperintahman 2 wait.
UNIX SYSTEM CALL -System Call Execl • Misalnyakitaingin proses barumengerjakansesuatu yang berbedadari proses parent, sebutlahmenjalankan program yang berbeda. Sistem call execlmeletakkan program executable baruke memory danmengasosiasikannyadengan proses saatitu. Dengan kata lain, mengubahsegalasesuatunyasehingga program mulaimengeksekusidari file yang berbeda.
MANAJEMEN MEMORY • Linux mengimplementasikansistem virtual memory demand-paged. • Proses mempunyaibesar memory virtual yang besar (4 gigabyte). • Padavirtual memory dilakukan transfer page antara disk dan memory fisik.
MANAJEMEN MEMORY • Jikatidakterdapatcukup memory fisik, kernel melakukan swapping beberapa page lama ke disk. • Disk drive adalahperangkatmekanik yang membacadanmenuliske disk yang lebihlambatdibandingkanmengakses memory fisik. • Jikamemory total page lebihdari memory fisik yang tersedia, kernel lebihbanyakmelakukan swapping dibandingkaneksekusikode program, sehinggaterjadi thrashing danmengurangiutilitas.
MANAJEMEN MEMORY • Jika memory fisikekstratidakdigunakan, kernel meletakkankode program sebagai disk buffer cache. Disk buffer menyimpan data disk yang diakses di memory; jika data yang samadibutuhkanlagidapatdengancepatdiambildari cache.
MANAJEMEN MEMORY • Pertama kali sistemmelakukan booting, ROM BIOS membentuk memory test sepertiterlih at berikut : • ROM BIOS (C) 1990 • 008192 KB OK WAIT...... • Kemudianinformasipentingditampilkanselama proses booting padalinuxsepertiterlihatberikut : • Memory: 7100k/8192k available (464k kernel code, 384k reserved, 244k data) ... • Adding Swap: 19464k swap-space
Pertanyaan • Apa yang dimaksuddengan system call ? • Apayang dimaksuddengansistem call fork(), execl() dan wait(). • Jawablahdenganmenggunakanperintah man (contoh : man fork, man 2 execldan man 2 wait) • Apa yang dimaksudsistem virtual memory, proses swapping dan buffer cache padamanajemen memory ? • Apayang dimaksudperintah free dan cat /proc/meminfo ? • Apa yang dimaksudperintahps ?
DaftarPustaka • R.Anton Raharja,dkk,Modul Pelatihan Pengenalan Linux,Jakarta,2001 • Router Project Leaf Bearing,Jakarta, Elex Media Komputindo,2005 • Instruktur, Modul Pelatihan Linux Fundamentall & Shell Programming,Yogjakarta,Inixindo,2009 • EbookPanduanpraktikSistemOperasiPoliteknikNegeriElektro Surabaya