“ MEMORY MANAGEMENT”
(Andrew S. Tanenbaum – Herbert Bos. 2015)
Disusun Oleh:
VERINA LUTFIYAH DALIMUNTHE
( 5213351031 )
`PTIK C
DOSEN PENGAMPU :
Bagoes Maulana, S.Kom., M.Kom.
Puji syukur senantiasa kita panjatkan ke hadirat Tuhan yang maha Esa,
yang berkuasa atas seluruh alam semesta, karena berkat rahmat, taufik serta
hidayah-Nya jugalah maka Critical BookReview (CBR) mata kuliah system
operasi computer ini dapat diselesaikan tepat pada waktunya.
Saya menyadari bahwa dalam penyusunan tugas CBR ini tidak terlepas
dari kesalahan dan sangat jauh dari sempurna. Oleh sebab itu, kami sangat
mengharapkan kritik dan saran yang sifatnya membangun demi sempurna
nyalaporan ini.
Penulis
2
DAFTAR ISI
KATA PENGANTAR................................................................................................1
DAFTAR ISI..............................................................................................................2
BAB I PENDAHULUAN.....................................................................................3
A. Latar BelakangPentingnya CBR...........................................................3
B. Tujuan Penulisan CBR..........................................................................3
C. Manfaat CBRR.....................................................................................3
D. Identitas Buku.......................................................................................3
BAB II ISI BUKU..................................................................................................5
BAB III PEMBAHASAN........................................................................................45
A. Analisis Isi Buku...................................................................................46
B. Kelebihan dan KekuranganIsi Buku.....................................................46
BAB IV PENUTUP.................................................................................................48
A. Kesimpulan...........................................................................................48
B. Saran.....................................................................................................48
BAB I
PENDAHULUAN
B. Manfaat CBR
Bagi Penulis :
o Memenuhi tugas mata kuliah sistem operasi komputer.
o Melatih kemampuan penulis dalam mengkritisi isi buku.
o Menumbuhkan pola piker kreatif setelah mereview buku.
Bagi Pembaca:
o Untuk menambah pengetahuan dan wawasan mengenai sistem
operasi komputer.
o Untuk mengaplikasikannya dalam kehidupan sehari–hari.
C. Identitas Buku
REFERENSI 1
REFERENSI 2
RINGKASAN REFERENSI 1
BAB 3 MANAJEMEN MEMORI
Memori utama (RAM) adalah sumber daya penting yang harus sangat hati-
hati dikelola. Sementara komputer rumah rata-rata saat ini memiliki 10.000 kali
lebih banyak memori dari IBM 7094, komputer terbesar di dunia pada awal 1960-
an, program menjadi lebih besar lebih cepat daripada memori.
Perangkat seperti radio, mesin cuci, dan oven microwave semuanya penuh
perangkat lunak (dalam ROM) hari ini, dan dalam banyak kasus perangkat lunak
alamat absomemori kecapi. Ini berfungsi karena semua program diketahui
sebelumnya dan pengguna tidak bebas menjalankan perangkat lunak mereka
sendiri di pemanggang roti mereka. Sementara sistem tertanam kelas atas (seperti
smartphone) memiliki operasi yang rumit sistem yang lebih sederhana tidak.
Dalam beberapa kasus, ada sistem operasi, tetapi itu hanya pustaka yang
terhubung dengan program aplikasi dan menyediakan sistem panggilan untuk
melakukan I / O dan tugas umum lainnya. Sistem operasi e-Cos adalah contoh
umum dari sistem operasi sebagai perpustakaan
3.2 Memori Abstrak: Ruang Alamat
3.2.2 Bertukar
Dalam arti tertentu, memori virtual adalah generalisasi dari base and
limit register ide. 8088 memiliki register dasar yang terpisah (tetapi tidak ada
register batas) untuk teks dan data. Dengan memori virtual, alih-alih memiliki
relokasi terpisah hanya untuk teks dan segmen data, seluruh ruang alamat dapat
dipetakan ke memori fisik unit yang cukup kecil. Kami akan menunjukkan
bagaimana memori virtual diimplementasikan di bawah ini.
3.3.1 Paging
dicatat bahwa masalah '' penggantian halaman '' terjadi di area lain
desain komputer juga. Misalnya, kebanyakan komputer memiliki satu atau lebih
cache terdiri dari blok memori 32-byte atau 64-byte yang baru-baru ini digunakan.
Kapan cache sudah penuh, beberapa blok harus dipilih untuk dihapus. Masalah ini
adalah pra persis sama seperti penggantian halaman kecuali dalam skala waktu
yang lebih singkat (harus dilakukan dalam beberapa nanodetik, bukan milidetik
seperti penggantian halaman). Alasan anak untuk skala waktu yang lebih pendek
adalah bahwa cache blok yang hilang dari main memori, yang tidak memiliki
waktu pencarian dan latensi rotasi.
3.4.1 Algoritma Penggantian Halaman Optimal
Meskipun peluang kedua adalah algoritme yang masuk akal, ini tidak
perlu karena terus-menerus memindahkan halaman-halaman dalam daftarnya.
Pendekatan yang lebih baik adalah menyimpan semua bingkai halaman pada
daftar melingkar dalam bentuk jam
Algoritma set kerja dasar tidak praktis, karena seluruh tabel halaman
memiliki untuk dipindai di setiap kesalahan halaman sampai kandidat yang cocok
ditemukan. Sebuah perbaikan algoritma, yang didasarkan pada algoritma jam
tetapi juga menggunakan set kerja informasi, disebut WSClock (Carr dan
Hennessey, 1981). Karena kesederhanaannya implementasi dan kinerja yang baik,
ini banyak digunakan dalam praktik.
Algoritma set kerja memberi kinerja yang wajar, tetapi agak mahal
untuk diterapkan. WSClock adalah varian yang tidak hanya memberikan performa
bagus tetapi juga efisien untuk diterapkan. Secara keseluruhan, dua algoritma
terbaik adalah penuaan dan WSClock. Mereka didasarkan pada LRU dan set
kerja, masing-masing. Keduanya memberikan performa paging yang baik dan
dapat diimplementasikan secara efisien. Ada beberapa algoritme bagus lainnya,
tetapi keduanya mungkin yang paling penting dalam praktiknya.
Shared library yang benar-benar kasus khusus dari fasilitas yang lebih
umum disebut file yang dipetakan . Idenya di sini adalah bahwa suatu proses
dapat mengeluarkan panggilan sistem untuk memetakan sebuah file ke bagian dari
ruang alamat virtualnya.
Salah satu alasan untuk memberi pemrogram kendali atas peta memori
mereka adalah untuk mengizinkan dua atau lebih proses untuk berbagi memori
yang sama. terkadang dengan cara yang canggih cara. Jika pemrogram dapat
memberi nama wilayah memori mereka, itu mungkin untuk satu proses untuk
memberi proses lain nama wilayah memori sehingga proses itu juga dapat
memetakannya. Dengan dua (atau lebih) proses yang berbagi halaman yang sama,
tinggi berbagi bandwidth menjadi mungkin — satu proses menulis ke dalam
memori bersama dan yang lainnya membacanya.
Kami akhirnya berada dalam posisi untuk menjelaskan secara rinci apa
yang terjadi pada kesalahan halaman. Urutan acaranya adalah sebagai berikut:
5. Jika bingkai halaman yang dipilih kotor, halaman dijadwalkan untuk ditransfer
ke disk, dan sakelar konteks terjadi, menangguhkan kesalahan proses dan
membiarkan yang lain berjalan sampai transfer disk selesai.
penuh. Bagaimanapun, bingkai ditandai sebagai sibuk untuk mencegahnya sedang
digunakan untuk tujuan lain.
6. Segera setelah bingkai halaman bersih (baik segera atau setelah itu ditulis ke
disk), sistem operasi mencari alamat disk di mana halaman yang dibutuhkan, dan
menjadwalkan operasi disk untuk membawanya.Saat halaman sedang dimuat,
proses kesalahan masih ditangguhkan dan proses pengguna lain dijalankan, jika
tersedia.
7. Ketika interupsi disk menunjukkan bahwa halaman telah tiba, halaman tabel
diperbarui untuk mencerminkan posisinya, dan bingkai ditandai sebagai berada
dalam keadaan normal.
3.7 Segmentasi
Faktanya, semua sistem operasi saat ini untuk x86 bekerja dengan cara
ini. OS / 2 adalah satu-satunya salah satu yang menggunakan kekuatan penuh dari
arsitektur MMU Intel. Jadi mengapa Intel membunuh varian dari MULTICS
model ory yang didukungnya selama hampir tiga dekade? Mungkin alasan
utamanya adalah bahwa baik UNIX maupun Windows tidak pernah
menggunakannya, meskipun itu cukup efisien menjadi karena itu menghilangkan
panggilan sistem, mengubahnya menjadi panggilan prosedur secepat kilat ke
alamat yang relevan dalam segmen sistem operasi yang dilindungi. Tak satupun
dari pengembang sistem UNIX atau Windows mana pun ingin mengubah memori
mereka model untuk sesuatu yang spesifik x86 karena akan merusak portabilitas
platform lain.
Proses pada disk itu sedang menunggu untuk dibawa ke memori untuk
eksekusi dari antrian input . Prosedur normal tugas tunggal adalah memilih salah
satu proses dalam antrian masukan dan untuk memuat proses itu ke dalam
memori. Sebagai prosesnya dijalankan, itu mengakses instruksi dan data dari
memori. Akhirnya, proses berakhir, dan ruang memorinya dinyatakan tersedia.
Sebuah alamat yang dihasilkan oleh CPU biasanya disebut sebagai alamat
logis , sedangkan alamat dilihat oleh unit memori — yaitu, yang dimuat ke
dalamnya yang memori-register alamat memori-sering disebut sebagai alamat
fisik . Metode pengikatan alamat waktu kompilasi dan waktu muat menghasilkan
alamat logis dan fisik tical. Namun, alamat waktu eksekusi skema pengikatan
menghasilkan alamat logis dan fisik yang berbeda. Di dalam kasus, kami biasanya
merujuk ke alamat logis sebagai alamat virtual.
Kumpulan semua alamat logis yang dihasilkan oleh suatu program adalah
ruang alamat logis . Set dari semua alamat fisik yang sesuai dengan alamat logis
ini adalah alamat fisik ruang alamat . Jadi, dalam skema pengikatan alamat waktu-
eksekusi, logis dan ruang alamat fisik berbeda.
Jika proses dalam memori satu sama lain dilindungi, maka sistem operasi
adalah satu-satunya entitas yang dapat periksa untuk melihat apakah rutinitas yang
dibutuhkan ada di ruang memori proses lain atau yang memungkinkan banyak
proses untuk mengakses alamat memori yang sama.
8.2 bertukar
Waktu swap adalah 200 milidetik. Karena kita harus menukar keduanya
keluar dan masuk, file total waktu swap sekitar 4.000 milidetik. bagian utama dari
waktu swap adalah waktu transfer. Jumlah seluruhnya waktu transfer berbanding
lurus dengan jumlah memori yang ditukar. Jika kita memiliki sistem komputer
dengan memori utama 4 GB dan residen sistem operasi mengambil 1 GB , ukuran
maksimum proses pengguna adalah 3 GB . Namun, banyak proses pengguna
mungkin jauh lebih kecil dari ini — katakanlah, 100 MB . Proses 100-MB dapat
ditukar dalam 2 detik, dibandingkan dengan 60 detik yang diperlukan untuk
menukar 3 GB .
Register relokasi berisi nilai alamat fisik terkecil; register batas berisi
kisaran logika alamat (misalnya, relokasi = 100040 dan batas = 74600). Masing-
masing logis alamat harus berada dalam kisaran yang ditentukan oleh register
batas. The MMU memetakan alamat logis secara dinamis dengan menambahkan
nilai di relokasi daftar. Alamat yang dipetakan ini dikirim ke memori.
Secara umum, seperti yang disebutkan, blok memori yang tersedia terdiri
set dari lubang dengan berbagai ukuran tersebar di seluruh memori. Saat suatu
proses tiba dan membutuhkan memori, sistem mencari set lubang yang cukup
besar untuk proses ini. Jika lubangnya terlalu besar, maka dibelah menjadi dua
bagian. Satu bagian adalah dialokasikan untuk proses kedatangan; yang lainnya
dikembalikan ke set lubang. Kapan suatu proses berakhir, ia melepaskan blok
memorinya, yang kemudian ditempatkan kembali di set lubang. Jika lubang baru
bersebelahan dengan lubang lain, ini lubang yang berdekatan digabung untuk
membentuk satu lubang yang lebih besar.
8.3.3 Fragmentasi
Seperti yang telah kita lihat, tampilan memori pengguna tidak sama
dengan yang sebenarnya ingatan fisik. Hal ini juga berlaku untuk pandangan
programmer tentang memori. Memang, berurusan dengan memori dalam hal sifat
fisiknya tidak nyaman baik untuk sistem operasi maupun programmer. Bagaimana
jika perangkat kerasnya bisa? menyediakan mekanisme memori yang memetakan
pandangan programmer ke
memori fisik yang sebenarnya? Sistem akan memiliki lebih banyak kebebasan
untuk mengelola memori, sedangkan programmer akan memiliki pemrograman
yang lebih alami lingkungan. Segmentasi menyediakan mekanisme seperti itu.
Pemetaan ini dilakukan dengan tabel segmen . Setiap entri ditabel segmen
memiliki basis segmen dan batas segmen . Basis segmen berisi alamat fisik awal
tempat segmen berada di memori, dan batas segmen menentukan panjang segmen
tersebut.
Nomor segmen digunakan sebagai indeks pada tabel segmen. Offset d dari
alamat logis harus antara 0 dan batas segmen. Jika tidak, kami menjebak ke sistem
operasi (upaya pengalamatan logis di luar akhir segmen). Jika offset legal, offset
ditambahkan ke basis segmen untuk menghasilkan alamat dalam memori fisik dari
byte yang diinginkan. Tabel segmen pada dasarnya larik pasangan register basa-
batas.
8.5 Paging
Aspek penting dari paging adalah pemisahan yang jelas antara program
pandangan programmer tentang memori dan memori fisik yang sebenarnya.
Pandangan programmermemori sebagai satu ruang tunggal, hanya berisi satu
program ini. Faktanya, pengguna. Program tersebar di seluruh memori fisik, yang
juga memegang lainnya program. Perbedaan antara pandangan pemrogram
tentang memori dan memori fisik aktual direkonsiliasi dengan perangkat keras
terjemahan alamat.
Analisis kinerja lengkap dari overhead paging dalam sistem semacam itu
akan memerlukan informasi kesalahan tarif tentang setiap tingkatan TLB . TLB
adalah fitur perangkat keras dan oleh karena itu tampaknya menjadi perhatian
kecil ke sistem operasi dan perancangnya. Namun desainer perlu memahami
fungsi dan fitur TLB , yang bervariasi menurut platform perangkat keras. Untuk
operasi yang optimal, desain sistem operasi untuk platform tertentu harus
menerapkan paging sesuai dengan desain TLB platform . Demikian juga dengan
perubahan yang TLB desain (misalnya, antara generasi Intel CPU s) mungkin
memerlukan perubahan implementasi paging dari sistem operasi yang
menggunakannya.
8.5.3 Perlindungan
Dengan asumsi bahwa setiap entri terdiri dari 4 byte, setiap proses
mungkin memerlukan hingga 4 MB ruang alamat fisik untuk tabel halaman
sendirian. Jelas, kami tidak ingin mengalokasikan tabel halaman secara
berdekatan di memori utama. Salah satu solusi sederhana untuk masalah ini
adalah membagi tabel halaman menjadi potongan-potongan kecil. Salah satu
caranya adalah dengan menggunakan algoritma paging dua tingkat, di mana tabel
halaman itu sendiri. Misalnya, pertimbangkan kembali sistem dengan ruang
alamat logis 32-bit dan ukuran halaman 4 KB . Alamat logisnya adalah dibagi
menjadi nomor halaman yang terdiri dari 20 bit dan offset halaman terdiri dari 12
bit. Karena kita halaman tabel halaman, nomor halaman dibagi lagi.
Oleh karena itu, tabel halaman tunggal entri dapat menyimpan pemetaan
untuk beberapa bingkai halaman fisik. Berkelompok tabel halaman sangat
berguna untuk ruang alamat yang jarang, di mana memori referensi tidak
bersebelahan dan tersebar di seluruh ruang alamat.
Tabel halaman memiliki satu entri untuk setiap halaman yang digunakan
proses (atau satu slot untuk setiap virtual alamat, terlepas dari validitas yang
terakhir). Representasi tabel ini wajar satu, karena memproses halaman referensi
melalui alamat virtual halaman. Itu sistem operasi kemudian harus
menerjemahkan referensi ini ke dalam memori fisik alamat. Karena tabel
diurutkan berdasarkan alamat virtual, sistem operasinya adalah dapat menghitung
di mana dalam tabel entri alamat fisik terkait terletak dan menggunakan nilai itu
secara langsung. Salah satu kekurangan dari metode ini adalah bahwa setiap tabel
halaman dapat terdiri dari jutaan entri. Tabel ini mungkin mengkonsumsi
sejumlah besar memori fisik hanya untuk melacak cara lainnya memori fisik
sedang digunakan. . Contoh sistem yang menggunakan halaman terbalik tabel
termasuk Ultra SPARC 64-bit dan Power PC
Sebagai contoh terakhir CPU 64-bit modern dan sistem operasi terintegrasi
erat untuk menyediakan memori virtual dengan overhead rendah. Solaris berlari
pada SPARC CPU adalah sistem operasi 64-bit sepenuhnya dan dengan demikian
harus diselesaikan masalah memori virtual tanpa menggunakan semua memori
fisiknya dengan mempertahankan beberapa tingkat tabel halaman. Pendekatannya
agak rumit tetapi memecahkan masalah secara efisien menggunakan tabel
halaman berciri. Ada dua hash tabel — satu untuk kernel dan satu untuk semua
proses pengguna. Setiap memori peta alamat dari memori virtual ke fisik.
Jika kecocokan ditemukan di TSB , CPU menyalin entri TSB ke TLB , dan
terjemahan memori selesai. Jika tidak ditemukan kecocokan di TSB , kernel
terputus untuk mencari tabel hash. Kernel kemudian membuat TTE dari file tabel
hash yang sesuai dan menyimpannya di TSB untuk pemuatan otomatis ke TLB
oleh unit manajemen memori CPU . Akhirnya, penangan interupsi kembali
kontrol ke MMU , yang menyelesaikan terjemahan alamat dan mengambil file
byte atau kata yang diminta dari memori utama.
8.7.2 X86-64
9.3 Copy-on-Write
Salah satu hasil penemuan anomali Belady adalah pencarian yang optimal
algoritma penggantian halaman — algoritme yang memiliki kesalahan halaman
terendah menilai semua algoritme dan tidak akan pernah menderita anomali
Belady. Seperti algoritma memang ada dan disebut OPT atau MIN . Ini
sederhananya: Ganti halaman yang tidak akan digunakan untuk jangka waktu
yang lama. Penggunaan algoritme penggantian halaman ini menjamin halaman
tingkat kesalahan untuk sejumlah frame tetap.
Perbedaan utama antara algoritma ini dan algo- jam yang lebih sederhana
rithm adalah bahwa di sini kami memberikan preferensi ke halaman-halaman
yang telah dimodifikasi untuk mengurangi jumlah I / Os yang dibutuhkan.
9.6 Meronta-ronta
Faktanya, lihat proses apa pun yang tidak memiliki bingkai "cukup". Jika
proses tidak memiliki jumlah frame yang dibutuhkan untuk mendukung halaman
penggunaan aktif, itu akan dengan cepat kesalahan halaman. Pada titik ini,
beberapa halaman harus diganti. Namun, karena semua halamannya aktif
digunakan, halaman tersebut harus menggantikan halaman yang akan digunakan
dibutuhkan lagi segera. Akibatnya, itu dengan cepat membuat kesalahan lagi, dan
lagi, dan sekali lagi, mengganti halaman yang harus segera dibuka kembali.
Praktik terbaik saat ini dalam menerapkan sebuah fasilitas komputer harus
menyertakan memori fisik yang cukup, bila memungkinkan, untuk menghindari
meronta-ronta dan bertukar.
9.9.1 Mempersiapkan
Para perancang sistem operasi untuk mesin yang ada jarang memilikinya
pilihan tentang ukuran halaman. Namun, saat mesin baru sedang dibuat dirancang,
keputusan mengenai ukuran halaman terbaik harus dibuat. Seperti yang Anda bisa
berharap, tidak ada satu pun ukuran halaman terbaik. Sebaliknya, ada sekumpulan
faktor itu mendukung berbagai ukuran. Ukuran halaman selalu pangkat 2,
umumnya berkisar dari 4.096 (2 12 ) menjadi 4.194.304 (2 22 ) byte.
9.10.1 Windows
9.10.2 Solaris
.
BAB III
PEMBAHASAN
Kelebihan Buku I
Menurut saya, kelebihan dari buku ini adalah berisi informasi yang
bermanfaat yang dibahas didalam buku menegenai materi “Manajeman
Memori”. Bagi pecinta komputer atau yang bekerja dibidang komputer
sangat membutuhkan buku ini untuk menambah wawasannya. Buku ini
juga terstruktur dengan baik.
Materi yang dicantumkan juga sederhana dan dapat dipahami.
Kekurangan Buku I
Menurut saya, kekurangan dari buku ini adalah menggunakan bahasa
Inggris. Orang-orang yang tidak mengerti bahasa Inggris akan sulit untuk
memahami dan mengerti isi buku ini.
Kelebihan Buku II
Menurut saya, kelebihan dari buku ini hamper sma dengan buku referensi
1. Buku ini cukup menarik karena pemberian warna biru pada kata-kata
yang sangat penting. Sehingga, mempermudah para pembaca untuk
memahami isi buku tersebut. Buku ini juga memiliki struktur yang
lengkap bahkan memiliki ringkasan juga.
Kekurangan Buku II
Menurut saya, kekurangan dari buku sama dengan buku referensi 1 yaitu
menggunakan bahasa Inggris, sehingga yang tidak mengerti bahasa Inggris
akan kesulitan untuk memahami buku ini. Dan setelah diterjemahkan
banyak penggunaan kata yang sulit untuk dimengerti. Dan beberapa
penjelasan materinya ada yang bertele-tele.
BAB IV
PENUTUP
A. Kesimpulan
Algoritme manajemen memori untuk sistem operasi multiprogram berkisar
dari pendekatan sistem pengguna tunggal sederhana hingga segmentasi dan
paging. Penentu terpenting dari metode yang digunakan pada suatu tertentu sistem
adalah perangkat keras yang disediakan. Setiap alamat memori yang dihasilkan
oleh CPU harus diperiksa legalitasnya dan kemungkinan dipetakan ke alamat
fisik. Pemeriksaan tidak dapat diterapkan (secara efisien) dalam perangkat lunak.
Karenanya, kami adalah dibatasi oleh perangkat keras yang tersedia. Berbagai
algoritma manajemen memori (alokasi bersebelahan, halaman, segmentasi, dan
kombinasi paging dan segmentasi) berbeda banyak aspek.
Sangat diharapkan untuk dapat menjalankan proses yang ruang alamat logisnya
lebih besar dari ruang alamat fisik yang tersedia. Memori virtual adalah sebuah
teknik yang memungkinkan kami untuk memetakan ruang alamat logis yang besar
ke fisik yang lebih kecil penyimpanan. Memori virtual memungkinkan kita
menjalankan proses yang sangat besar dan meningkatkan derajat
multiprogramming, meningkatkan penggunaan CPU . Selanjutnya, itu
membebaskan pemrogram aplikasi dari kekhawatiran tentang ketersediaan
memori. Selain itu, dengan memori virtual, beberapa proses dapat berbagi pustaka
sistem dan memori. Dengan memori virtual, kita juga dapat menggunakan jenis
proses yang efisien pembuatan yang dikenal sebagai copy-on-write, di mana
proses induk dan anak berbagi halaman memori yang sebenarnya.
B. Saran
Memahami cara kerja sistem operasi beserta bagian-bagiannya pada komputer
dapat membuat kita lebih mudah memahami dan membuat program yang
diinginkan. Oleh karena itu, menambah wawasan mengenai sistem operasi pada
komputer merupakan salah satu cara agar kita bisa lebih mudah memahami
komputer dan kedepannya bisa lebih bermanfaat lagi bagi orang banyak di era
globalisasi saat ini.