Anda di halaman 1dari 8

Nama : Moch Wahyu Afriawan

NBI : 1461900006
Kelas : R

1. Memori virtual adalah teknik yang memisahkan memori logika user dari memori fisik.
Menyediakan memori virtual yang sangat besar diperuntukkan agar tersedia memori fisik
yang lebih kecil. Jadi tidak perlu khawatir jumlah memori fisik yang tersedia, sehingga
dapat berkonsentrasi pada permasalahan pemrograman.

2. Cara kerja memory virtual yaitu saat system operasi kehabisan Memory maka system
operasi akan memindahkan data yang paling terakhir diakses ke dalam swapfile di hardisk.
Hal ini mengosongkan/ membebaskan beberapa ruang kosong pada memory untuk aplikasi
yang akan digunakan selanjutnya.

3. Keuntungan menggunakan virtual memory antara lain :


 Berkurang nya traffic lalu lintas I/O
 Berkurang nya memory yang dibutuhkan
 Meningkatnya respon, sebagai konsekuensi dari menurunnya beban I/O dan
memory
 Dan Bertambah nya user yang dapat dilayani.

4. Memori virtual biasanya diimplementasikan menggunakan demand paging atau demand


segmentation juga digunakan. Tetapi algoritma segment-replacement lebih kompleks
daripada algoritma page-replacement karena segmen mempunyai ukuran
yang bervariasi.

5. Demand Paging atau permintaan pemberian halaman adalah salah satu implementasi dari
memori virtual yang paling umum digunakan. Sistem Demand Paging pada prinsipnya
hampir sama dengan sistem permintaan halaman yang menggunakan swapping, hanya saja
pada sistem demand paging, halaman tidak akan dibawa ke dalam memori fisik sampai ia
benar-benar diperlukan. Oleh sebab itu dibutuhkan bantuan perangkat keras untuk
mengetahui lokasi dari halaman saat ia diperlukan. Daripada melakukan swapping,
keseluruhan proses ke dalam memori utama, digunakanlah yang disebut lazy swapper yaitu
tidak pernah menukar sebuah halaman ke dalam memori utama kecuali halaman tersebut
diperlukan. Keuntungan yang diperoleh dengan menggunakan demand paging sama dengan
keuntungan pada memori virtual di atas.
6. Page fault adalah pesan dari sebuah program yang sedang berlangsung yang terjadi ketika
sang program mencoba mengakses suatu blok memori yang tidak disimpan di memori. Fault
atau kesalahan tersebut memberitahukan kepada sistem operasi bahwa si sistem operasi
harus mencari data itu di memori virtual, kemudian mentransfernya dari perangkat
penyimpanan
7. OPERASI PADA PROSES/virtual Memori untuk Process Creation
Terdapat dua operasi pada proses, yaitu pembuatan proses (process creation)
dan penghentian proses (process deletion).
3.3.1 Pembuatan Proses
Ada beberapa aktifitas berkenaan dengan pembuatan proses, antara lain :
a. Memberi identitas (nama) pada proses yang dibuat;
b. Menyisipkan proses pada list proses atau tabel proses;
c. Menentukan prioritas awal proses;
BAB 3 PROSES-PROSES 36
d. Membuat PCB;
e. Mengalokasikan resource awal bagi proses tersebut.
Ada beberapa kejadian yang menyebabkan pembuatan suatu proses baru, antara
lain:
a. Pada lingkungan batch sebagai tambahan atas pemberian job. Setelah
menciptakan
proses baru, sistem operasi melanjutkan untuk membaca job selanjutnya.
b. Pada ingkungan interaktif, pada saat user baru saja logam;
c. Sebagai tanggapan atas suatu aplikasi (seperti: mencetak file, sistem operasi dapat
menciptakan proses yang akan mengelola pencetakan itu);
d. Proses menciptakan proses lain (child).
Selama eksekusi, suatu proses mungkin akan membuat suatu proses yang baru.
Proses tersebut dinamakan parent, sedangkan proses yang dibuat dinamakan child.
Proses pembuatan proses anak membentuk pohon proses.
Pembagian sumber daya :
• Parent dan child membagi semua sumber daya yang ada
• Child menggunakan sebagian dari sumber daya yang digunakan parent
• Parent dan child tidak membagi sumber daya
Bentuk eksekusi :
• Parent melanjutkan eksekusi beriringan dengan children.
• Parent menunggu hingga beberapa atau seluruh children selesai.
Bentuk ruang alamat :
• Child adalah duplikat dari proses parent.
• Child mempunyai program yang diambil dari dirinya.
Pada UNIX, parent akan membentuk child dengan menggunakan system call
fork. Setelah pemanggilan fork, parent kembali berjalan secara pararel dengan child.
Demikian pula, child dapat memanggil fork untuk membentuk child lainnya. Sistem
call exec digunakan setelah system call fork mengganti alamat memori proses
dengan
program baru. Lain halnya dengan DOS, pada MS-DOS, system call akan memanggil
binary file tertentu yang ada pada memori dan mengeksekusinya sebagai child.
Parent
akan running kembali setelah child selesai eksekusi. Dengan demikian parent dan
child

8. Pembuatan Proses (Create Process) Cara Kerja Process Creation

Create Process yaitu tindakan yang dilakukan sistem operasi pada saat sebuah
proses akan ditambahkan ke proses yang sedang dikelola, sistem operasi membuat
struktur data yang digunakan untuk mengelola proses dan mengalokasikan ruang
alamat ke proses itu.

Alur Pembuatan Proses adalah sebagai berikut:

Memberi identitas (nama) pada proses yang dibuat


Menyisipkan proses pada list proses atau tabel proses
Menentukan prioritas awal proses
Membuat PCB
Mengalokasikan resource awal bagi proses tersebut.
Create process atau pembuatan proses dilakukan karena alasan-alasan sebagai
berikut :

Batch Job Baru. Sistem Operasi diberikan dengan suatu aliran batch job control,
biasanya pada pita atau disk. Pada saat disiapkan untuk mengambil job yang baru,
sisitem operasi akan membaca rangkain job control command berikutnya.
Logon interaktif. Seorang pengguna di sebuah terminal masuk kesistem
Dibuat oleh OS untuk menyediakan layanan. Sistem operasi dapat membuat suatu
proses untuk melakukan fungsi atas naa program pengguna, tanpa mengharuskan
pengguna menunggu (misalnya, pencetakan)
Dibiakan (spawned) oleh proses yang telah ada.Untuk memenuhi tujuan modularitas
atau untuk memanfaatkan paralelisme, sebuah program pengguna dapat mengatur
pembiakan sejumlah proses

9. Page Replacement

Page Replacement diperlukan pada saat dimana proses dieksekusi perlu frame bebas
tambahan tetapi tidak tersedia frame bebas.

KonsepPage Replacement :
– Jika tidak ada frame yang kosong, cari frame yang tidak sedang digunakan, lalu
kosongkan dengan cara menuliskanisinya ke dalam swap space, dan mengubah
semua table sebagai indikasi bahwa page tersebut tidak akan berada lama di
memori.

Gambar dibawah menunjukkan jika proses user dieksekusi, maka akan timbul page
fault.Padahal sudah tidak ada memori yang kosong, sehingga perlu adanya page
replacement

Rutinitas Page replacement :


– Tentukan lokasi page yang diharapkan pada disk
– Carilahframe kosong
– Jika adaframe kosong, gunakan
– Jika tidak ada, gunakan algoritma page replacement untukmenyeleksi frame yang
akan dikorbankan
– Simpan page yang dikorbankan ke disk, ubah page dan frame table secara
berurutan
– Baca page yang diinginkan ke frame kosong; ubahpage dan frame table
– Mulai kembali user process

Secara umum, algoritma dapat dibagi dua:


– Global Replacement -> Victim frame dapat dipilih dari semua frame yang ada
– Local Replacement -> Victim frame dapat dipilih dari frame-frame yang sedang
ditempati oleh image proses bersangkutan

Algoritma Page Replacement


– Selama jumlah frame meningkat, maka jumlah page fault akan menurun.
Peningkatan jumlah frame dapat terjadi jika memori fisik diperbesar
– Tujuan Algoritma Page Replacement adalah untuk mendapatkan page fault
terendah
– Pemilihan algoritma yang kurang tepat dapat menyebabkan peningkatan tingkat
page fault sehingga proses akan berjalan lambat

Ada beberapa Algoritma Page Replacement :


a. Algoritma FIFO
b. Algoritma Optimal
c. Algoritma LRU
d. Algoritma Clock
10. Alokasi frame berhubungan dengan mekanisme alokasi sejumlah memori bebas
yang tetap diantara beberapa proses. Meskipun terdapat beberapa variasi
pengalokasian
frame bebas ke beberapa proses, tetapi strategi dasar jelas yaitu : proses user
dialokasikan untuk sembarang frame bebas.
Jumlah minimum frame per proses ditentukan oleh arsitektur dimana jumlah
maksimum tergantung jumlah memori fisik yang tersedia. Jumlah minimim frame
Gambar 8-12 : Implementasi LRU menggunakan stack
BAB 8 MEMORI VIRTUAL 14
ditentukan oleh arsitektur instruction-set. Bila terjadi page fault sebelum eksekusi
instruksi selesai, instruksi harus di-restart. Sehingga tersedia frame yang cukup untuk
membawa semua page yang berbeda dimana sembarang instruksi dapat mengacu.
Misalnya mikrokomputer menggunakan memori 128K yang dikomposisikan dengan
page ukuran 1K, maka terbentuk 128 frame. Jika sistem operasi menggunakan 35K,
maka 93 frame sisa digunakan program user. Bila suatu program menyebabkan page
fault sebanyak 93 kali, maka menempati 93 frame bebas tersebut. Jika terjadi page
fault
ke 94, dari 93 frame yang terisi harus dipilih salah satu untuk diganti yang baru. Bila
program selesai, 93 frame tersebut dibebaskan kembali.
Terdapat 2 bentuk algoritma alokasi yaitu equal allocation dan proportional
allocation. Pada equal allocation, jika terdapat m frame dan n proses, maka setiap
proses dialokasikan sejumlah frame yang sama (m/n frame). Pada proportional
allocation setiap proses dialokasikan secara proporsional berdasarkan ukurannya.
Jika
ukuran virtual memori untuk proses pi adalah si dan total jumlah frame yang
tersedia m,
maka frame ke ai dapat dialokasikan ke proses pi sama dengan :

Selain itu terdapat algoritma alokasi berprioritas yang menggunakan skema


proporsional dengan lebih melihat prioritas proses daripada ukuran proses. Jika
proses
Pi membangkitkan page fault, dipilih satu dari frame-frame dari proses yang
mempunyai nomor prioritas terendah.
11. THRASHING
Misalnya sembarang proses tidak mempunyai frame yang cukup. Meskipun
secara teknis dapat mengurangi jumlah frame yang dialokasikan sampai minimum,
terdapat sejumlah page yang sedang aktif digunakan. Jika suatu proses tidak
memiliki
jumlah frame yang cukup, maka sering terjadi page fault. Sehingga harus mengganti
beberapa page. Tetapi karena semua page sedang digunakan, harus mengganti page
yang tidak digunakan lagi kemudian. Konsekuensinya, sering terjadi page fault lagi
dan
lagi. Proses berlanjut page fault, mengganti page untuk page fault dan seterusnya.
Kegiatan aktifitas paging yang tinggi disebut thrashing. Sebuah proses
mengalami thrashing jika menghabiskan lebih banyak waktu untuk paging daripada
eksekusi. Efek thrashing dapat dibatasi dengan menggunakan algoritma local
(priority)
replacement

Anda mungkin juga menyukai