Anda di halaman 1dari 6

TUGAS PEMBAHASAN BAB III

DESAIN DAN PRAKTEK SISTEM OPERASI

OLEH:

NIM : 147038071
NAMA : MAHARDIKA ABDI PRAWIRA TANJUNG
KELAS : KOM C 2014
PRODI : MAGISTER TEKNIK INFORMATIKA
DOSEN : BAPAK DR. POLTAK SIHOMBING, M. KOM

PROGRAM STUDI MAGISTER TEKNIK INFORMATIKA


FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016
BAB III

MANAJEMEN MEMORY

1. Ini merupakan kecelakaan. Basis register 16.384 karena program kebetulan dimuat di
alamat 16.384. Ini bisa telah dimuat di mana saja. Batas register 16.384 karena program
ini berisi 16.384 byte. Bisa saja setiap panjang. Bahwa alamat beban terjadi persis
program panjangnya murni kebetulan.
2. Hampir seluruh memori harus disalin, yang mengharuskan setiap kata yang akan dibaca
dan kemudian ditulis ulang di lokasi yang berbeda. Reading 4 byte membutuhkan waktu
10 nsec, sehingga membaca 1 byte mengambil 2,5 nsec dan menulis dibutuhkan lagi 2.5
nsec, untuk total 5 nsec per byte dipadatkan. Ini adalah tingkat 200.000.000 byte / detik.
Untuk menyalin 128 MB (2 27 byte, yaitu sekitar 1,34x 10 8 byte), komputer
membutuhkan 2 27 / 200.000.000 detik, yaitu sekitar 671 msec. Jumlah ini sedikit
pesimis karena jika lubang awal di bagian bawah memori k byte, mereka k byte tidak
perlu disalin. Namun, jika ada banyak lubang dan banyak segmen data, lubang akan
menjadi kecil, sehingga k akan menjadi kecil dan kesalahan dalam perhitungan juga akan
kecil.
3. Bitmap membutuhkan 1 bit per unit alokasi. Dengan 2 27 / n alokasi unit, ini adalah 2 24
/ n byte. Linked list memiliki 2 27/2 16 atau 2 11 node, masing-masing 8 byte, dengan
total 2 14 byte. Untuk n kecil, linked list adalah lebih baik. Untuk n besar, bitmap lebih
baik. Titik potong dapat dihitung dengan menyamakan kedua rumus dan pemecahan
untuk n. Hasilnya adalah 1 KB. Untuk n kecil dari 1 KB, sebuah linked list lebih baik.
Untuk n lebih besar dari 1 KB, bitmap lebih baik. Tentu saja, asumsi segmen dan lubang
bolak setiap 64 KB sangat realistis. Juga, kita perlu n <= 64 KB jika segmen dan lubang
adalah 64 KB.
4. Pertama fit membutuhkan waktu 20 KB, 10 KB, 18 KB. Paling cocok membutuhkan
waktu 12 KB, 10 KB, dan 9 KB. Terburuk fit membutuhkan waktu 20 KB, 18 KB, dan 15
KB. Berikutnya fit membutuhkan waktu 20 KB, 18 KB, dan 9 KB.
5. Untuk ukuran halaman 4-KB yang (halaman, offset) adalah pasangan (4, 3616), (8, 0),
dan (14, 2656). Untuk ukuran 8-KB halaman mereka (2, 3616), (4, 0), dan (7, 2656).
6. Mereka membangun sebuah MMU dan disisipkan di antara 8086 dan bus. Jadi, semua
8086 alamat fisik pergi ke MMU sebagai alamat virtual. MMU kemudian dipetakan
mereka ke alamat fisik, yang pergi ke bus.
7. (A) M harus setidaknya 4.096 untuk memastikan TLB rindu untuk setiap akses ke unsur
X. Sejak N hanya mempengaruhi berapa kali X diakses, setiap nilai N akan dilakukan. (B)
M masih harus atleast 4.096 untuk menjamin TLB rindu untuk setiap akses ke unsur X.
Tapi sekarang N harus lebih besar dari 64K untuk thrash TLB, yaitu, X boleh melebihi
256 KB.
8. Total ruang alamat virtual untuk semua proses gabungan adalah nv, jadi ini banyak
penyimpanan yang dibutuhkan untuk halaman. Namun, jumlah r dapat di RAM, sehingga
jumlah penyimpanan disk yang diperlukan hanya nv - r. Jumlah ini jauh lebih banyak
daripada yang pernah diperlukan dalam praktek karena jarang akan ada proses n
sebenarnya berjalan dan bahkan lebih jarang mereka semua akan membutuhkan
maksimum yang diperbolehkan memori virtual.
9. Tabel halaman berisi 2 32/2 13 entri, yaitu 524.288. Memuat tabel halaman
membutuhkan 52 msec. Jika proses mendapat 100 msec, ini terdiri dari 52 msec untuk
memuat tabel halaman dan 48 msec untuk menjalankan. Jadi 52% dari waktu yang
dihabiskan memuat tabel halaman.
10. (A) Kita perlu satu entri untuk setiap halaman, atau 224 = 16 X 1024 X 1024 entri, karena
ada 36 = 48 - 12 bit dalam field nomor halaman. (B) alamat Instruksi akan mencapai
100% dalam TLB. Halaman data akan memiliki tingkat 100 hit sampai program telah
pindah ke halaman data berikutnya. Karena halaman 4-KB mengandung 1.024 bilangan
bulat panjang, akan ada satu TLB miss dan satu akses memori tambahan untuk setiap
1.024 referensi data.
11. (A) Sebuah tabel halaman bertingkat mengurangi jumlah halaman yang sebenarnya dari
tabel halaman yang perlu ada dalam memori karena struktur hierarki nya. Bahkan, dalam
program dengan banyak instruksi dan lokalitas data, kita hanya perlu tabel halaman
tingkat atas (satu halaman), satu halaman instruksi dan halaman satu data. (B)
Mengalokasikan 12 bit untuk masing-masing bidang tiga halaman. Offset lapangan
memerlukan bit untuk mengatasi 16 KB. Itu daun 24 bit untuk bidang halaman. Karena
setiap entri adalah 4 byte, satu halaman bisa menampung 2 12 halaman entri tabel dan
karena itu memerlukan 12 bit untuk indeks satu halaman. Jadi mengalokasikan 12 bit
untuk masing-masing halaman bidang akan membahas semua 2 38 byte.
12. Dua puluh bit yang digunakan untuk nomor halaman virtual, meninggalkan 12 lebih
untuk offset. Ini menghasilkan halaman 4-KB. Dua puluh bit untuk halaman maya
menyiratkan 2 20 halaman.
13. Jumlah halaman tergantung pada jumlah bit dalam a, b, dan c dikombinasikan.
Bagaimana mereka terpecah antara bidang tidak masalah.
14. Untuk tabel halaman satu tingkat, ada 2 32/2 12 atau 1M halaman yang dibutuhkan. Jadi
tabel halaman harus memiliki entri 1M. Untuk dua tingkat paging, tabel halaman utama
memiliki entri 1K, yang masing-masing menunjuk ke sebuah tabel halaman kedua. Hanya
dua ini digunakan. Jadi secara total hanya tiga entri tabel halaman yang diperlukan, satu
di tabel tingkat atas dan satu di masing-masing meja-tingkat yang lebih rendah.
15. Waktu pengajaran yang efektif adalah 1 jam + 5 (1 - h), dimana h adalah hit rate. Jika kita
menyamakan formula ini dengan 2 dan memecahkan untuk h, kita menemukan bahwa h
harus minimal 0,75.
16. R bit tidak pernah diperlukan dalam TLB. Kehadiran halaman ada berarti halaman telah
direferensikan, jika tidak maka tidak akan ada. Jadi bit benar-benar berlebihan. Bila entri
tersebut ditulis kembali ke memori, namun, sedikit R di tabel halaman memori diatur.
17. Sebuah memori asosiatif dasarnya membandingkan kunci untuk isi beberapa register
secara bersamaan. Untuk setiap mendaftar harus ada satu set pembanding yang
membandingkan setiap bit dalam isi mendaftar ke tombol sedang dicari. Jumlah gerbang
(atau transistor) yang diperlukan untuk menerapkan alat tersebut adalah fungsi linear dari
jumlah register, sehingga memperluas desain akan mahal linear.
18. Dengan halaman 8-KB dan ruang alamat virtual 48-bit, jumlah halaman virtual adalah 2
48/2 13, yaitu 2 35 (sekitar 34 miliar).
19. Memori utama memiliki 2 28/2 13 = 32.768 halaman. Sebuah tabel hash 32K akan
memiliki panjang rantai rata-rata 1. Untuk mendapatkan di bawah 1, kita harus pergi ke
ukuran berikutnya, 65.536 entri. Penyebaran 32.768 entri lebih dari 65.536 slot meja akan
memberikan berarti panjang rantai dari 0,5, yang menjamin pencarian cepat.
20. Hal ini mungkin tidak dapat dilakukan, kecuali untuk kasus yang sangat berguna tidak
biasa dan bukan dari sebuah program yang proses pelaksanaan benar-benar diprediksi
pada saat kompilasi. Jika compiler mengumpulkan informasi tentang lokasi dalam kode
panggilan ke prosedur, informasi ini dapat digunakan pada link waktu untuk mengatur
ulang kode objek sehingga prosedur yang terletak dekat dengan kode yang memanggil
mereka. Hal ini akan membuat lebih mungkin bahwa prosedur akan berada di halaman
yang sama dengan kode panggilan. Tentu saja hal ini tidak akan banyak membantu untuk
prosedur dipanggil dari banyak tempat dalam program ini.
21. (A) Setiap referensi akan kesalahan halaman kecuali jumlah frame halaman 512, panjang
seluruh urutan. (B) Jika ada 500 frame, halaman peta 0 - 4 98 ke frame tetap dan
bervariasi hanya satu frame.
22. The frame halaman untuk FIFO adalah sebagai berikut:
x0172333300
xx017222233
xxx01777722
xxxx0111177
The frame halaman untuk LRU adalah sebagai berikut:
x0172327103
xx017232710
xxx01773271
xxxx0111327
FIFO menghasilkan enam kesalahan halaman, LRU menghasilkan tujuh.
23. Halaman pertama dengan 0 bit akan dipilih, dalam hal ini D.
24. Counter adalah
Page 0: 0.110.110
Page 1: 01001001
Page 2: 00.110.111
Page 3: 10001011
25. Urutan: 0, 1, 2, 1, 2, 0, 3. Dalam LRU, halaman 1 akan digantikan oleh halaman 3. Dalam
jam, halaman 1 akan diganti, karena semua halaman akan ditandai dan kursor berada pada
halaman 0.
26. Usia halaman adalah 2204 - 1213 = 991. Jika τ = 400, sudah pasti keluar dari working set
dan tidak baru-baru dirujuk sehingga akan digusur. Itu τ = 1000 situasi berbeda. Sekarang
halaman termasuk dalam working set (hampir), sehingga tidak dihapus.
27. The seek ditambah rotasi latency 20 msec. Untuk halaman 2-KB, waktu transfer adalah
1,25 msec, dengan total 21,25 msec. Memuat 32 halaman ini akan mengambil 680 msec.
Untuk halaman 4-KB, waktu transfer dua kali lipat menjadi 2,5 msec, sehingga total
waktu per halaman adalah 22,50 msec. Halaman 16 dari halaman ini mengambil 360
msec.
28. NRU menghapus halaman 2. FIFO menghapus halaman 3. LRU menghapus halaman 1.
Kesempatan kedua menghapus halaman 2.
29. Fragmen B karena kode memiliki lebih lokalitas spasial dari Fragmen A. The loop batin
menyebabkan hanya satu kesalahan halaman untuk setiap iterasi lain dari lingkaran luar.
(Hanya akan ada 32 kesalahan halaman.) Selain (Fragmen A): Sejak frame adalah 128
kata, satu baris dari array X menempati setengah dari sebuah halaman (yaitu, 64 kata).
Seluruh array cocok menjadi 64 x 32/128 = 16 frame. Batin loop langkah kode melalui
baris berturut-turut X untuk kolom tertentu. Jadi setiap referensi lain untuk X [i] [j] akan
menyebabkan kesalahan halaman. Total jumlah kesalahan halaman akan 64 x 64/2 =
2.048.
30. PDP-1 paging Drum memiliki keuntungan tidak ada latency rotasi. Ini disimpan setengah
rotasi setiap memori kali ditulis pada drum.
31. Teks adalah delapan halaman, data lima halaman, dan stack adalah empat halaman.
Program ini tidak cocok karena membutuhkan 17 halaman 4096-byte. Dengan halaman
512-byte, situasinya berbeda. Berikut teks 64 halaman, data 33 halaman, dan stack adalah
31 halaman, dengan total 128 halaman 512-byte, yang cocok. Dengan ukuran halaman
kecil itu OK, tapi tidak dengan yang besar.
32. Jika halaman dapat dibagi, ya. Sebagai contoh, jika dua pengguna dari sistem time
sharing menjalankan editor yang sama pada waktu yang sama, dan teks program dibagi
daripada disalin, beberapa halaman tersebut mungkin dalam working set setiap pengguna
pada saat yang sama.
33. Program ini mendapatkan 15.000 kesalahan halaman, masing-masing menggunakan 2
msec waktu pemrosesan tambahan. Bersama-sama, kesalahan atas halaman adalah 30
detik. Ini berarti bahwa dari 60 detik digunakan, setengah dihabiskan pada halaman
kesalahan biaya overhead, dan setengah untuk menjalankan program. Jika kita
menjalankan program ini dua kali lebih banyak memori, kita mendapatkan setengah
karena banyak kesalahan halaman memori, dan hanya 15 detik dari kesalahan halaman di
atas kepala, sehingga Total waktu berjalan akan 45 detik.
34. Ia bekerja untuk program jika program tersebut tidak dapat dimodifikasi. Ia bekerja untuk
data jika data tidak dapat dimodifikasi. Namun, itu adalah umum bahwa program tidak
dapat dimodifikasi dan sangat jarang bahwa data tidak dapat dimodifikasi. Jika area data
pada file biner yang ditimpa dengan halaman diperbarui, berikutnya kali program
dimulai, ia tidak akan memiliki data asli.
35. Instruksi bisa berbohong mengangkang batas halaman, menyebabkan dua kesalahan
halaman hanya untuk mengambil instruksi. Kata diambil juga bisa span batas halaman,
menghasilkan dua kesalahan lebih, untuk total empat. Jika kata-kata harus selaras
memori, kata data dapat menyebabkan hanya satu kesalahan, tapi instruksi untuk memuat
32-bit kata di alamat 4094 pada mesin dengan halaman 4-KB adalah legal pada beberapa
mesin (termasuk Pentium).
36. Tidak Kunci pencarian menggunakan kedua nomor segmen dan nomor halaman virtual,
sehingga halaman yang tepat dapat ditemukan dalam satu pertandingan.
37. Berikut adalah hasilnya:
38. Dukungan umum memori virtual tidak diperlukan ketika persyaratan memori semua
aplikasi yang terkenal dan dikendalikan. Beberapa contoh adalah prosesor tujuan khusus
(misalnya, prosesor jaringan), tertanam prosesor, dan super-komputer (misalnya, desain
sayap pesawat). Dalam situasi ini, kita harus selalu mempertimbangkan kemungkinan
menggunakan memori lebih nyata. Jika sistem operasi tidak harus mendukung memori
virtual, kode akan jauh lebih sederhana dan lebih kecil. Di sisi lain, beberapa ide dari
memori virtual masih dapat menguntungkan dieksploitasi, meskipun dengan persyaratan
desain yang berbeda. Misalnya, Program / isolasi benang mungkin paging memori flash

Anda mungkin juga menyukai