KELOMPOK 3 | K3
KOM1311 – Sistem Operasi
Fatha Ariya Prasetya
G6401211078 TAN BIMA WIRAGAMA
G6401211085
Ronald abner
G6401211110
Made althaaf (Kotop uwu)
G6401211068
Mike Jared G
G6401211149
Untuk menjalankan suatu program, program pertama diambil dari disk ke memory lalu dijadikan sebuah proses.
Saat menjalankan sebuah proses, CPU mengambil instruksi -instruksi dari memory, lalu instruksi-instruksi tersebut mungkin membutuhkan operand yang juga berada di dalam memory.
Unit memory itu sendiri tidak mengetahui dari mana asal address-address tersebut atau isi address tersebut digunakan untuk apa, mereka hanya menerima stream address dan read request atau stream address, data, dan write request.
CPU itu sendiri hanya bisa mengakses register dan main memory. Register dapat diakses dalam waktu 1 cycle cpu clock sedangkan main memory membutuhkan banyak cycle cpu clock.
Selain itu, memori juga membutuhkan proteksi dari program lain agar address-address masing-masing program hanya digunakan oleh program itu sendiri.
Dibutuhkan metode-metode untuk mengelola memori dengan segala kerumitan ini. Misalnya menggunakan cache untuk mempercepat akses ke data yang ada di main memory untuk mencegah stall, pair base dan limit register untuk proteksi program, logical address dan physical address, dll.
Pengertian
Segmentasi adalah salah satu teknik manajemen memori yang membagi ruang alamat logis
menjadi segmen-segmen yang berukuran variabel dan
independen
Setiap segmen memiliki alamat
awal (base) dan ukuran (limit) yang disimpan dalam tabel segmentasi.
Alamat logis terdiri dari nomor
segmen dan offset dalam segmen
Segmentasi memungkinkan
pemrogram untuk mengorganisir program dalam modul-modul logis yang dapat diberi proteksi dan
bersifat dinamis. Segmentasi juga mendukung pemrograman
modular, pemanggilan prosedur, alokasi memori dinamis, dan
berbagi kode atau data antar
proses.
Memudahkan pemrograman dengan
memungkinkan pemisahan kode dan data secara logis.
Menimbulkan fragmentasi internal
karena ukuran segmen tidak selalu tepat dengan ukuran blok memori
Memfasilitasi berbagi dan perlindungan memori dengan memberikan atribut akses
untuk setiap segmen
Memerlukan mekanisme penggabungan (compaction) untuk mengurangi
fragmentasi eksternal
Mengurangi fragmentasi eksternal dengan mengalokasikan memori sesuai
dengan ukuran segmen
Memerlukan tabel segmentasi yang besar untuk menyimpan informasi setiap segmen
advantages and disadvantages
Dalam pengelolaan memori komputer, segmen program atau proses tidak harus memiliki ukuran yang sama dan dapat ditempatkan di mana saja di dalam memori utama. Alamat logis dari segmen adalah alamat dua dimensi, sedangkan alamat fisik memori adalah alamat satu dimensi. Untuk memudahkan implementasi dari alamat logis ke alamat fisik, digunakan Tabel Segmen yang terdiri dari base dan limit. Base menunjukkan alamat awal segmen dalam alamat fisik dan limit menunjukkan panjang segmen.
Segmen baris (base) berisi alamat fisik awal Segmen limit merupakan panjang segmen
Alamat Logika terdiri dari dua bagian yaitu nomor segmen (s) dan offset (d) yang dituliskan dengan:
<nomor segmen, offset>
Pemetaan alamat logika ke alamat fisik menggunakan tabel segmen (segment table), terdiri dari
Tabel segmen dapat berupa register atau memory berkecepatan tinggi. Pada program yang berisi sejumlah segmen yang besar, maka harus menyimpan tabel page di memory
Segment-table base register (STBR) digunakan untuk menyimpan alamat yang menunjuk ke segment table
Segment-table legth register (STLR) digunakan untuk menyimpan nilai jumlah segmen yang digunakan program
Untuk alamat logika (s, d), pertama diperiksa apakah segment number s legal (s< STLR), kemudian tambahkan
segment number ke STBR, alamat hasil (STBR+ s) ke memori dari segment table.
Pemetaan dari alamat logika ke alamat fisik
membutuhkan 2 acuan memoriuntuk setiap alamat logika. Hal ini akan menurunkan kecepatan sistem dengan faktor2. Solusi standar yang digunakan
adalah dengan cache (atau associative register) untuk menyimpan entri tabel segmen yang sering digunakan. Misalnya alamat logika dengan nomor segment 0 offset 88 akan dipetakan ke alamat fisik 1400 + 88 = 1488 karena offset < limit (88 < 1000).
Alamat logika dengannomor segmen 1 offset 412 akan terjadi error karena offset > limit (412 >
400).Alamat logika dengan nomor segmen 2 offset
320 akan dipetakan ke alamat fisik 4300 + 320 =
4620 karena offset < limit (320 < 400).
Teknik dalam manajemen memori yang memungkinkan sistem operasi untuk memindahkan bagian-bagian dari program atau data dari memori utama (RAM) ke penyimpanan sekunder (seperti hard drive) dan sebaliknya.
Mengelola penggunaan memori secara efisien dan mengatasi keterbatasan kapasitas memori fisik.
1. Penukaran Data antara RAM dan Penyimpanan Sekunder
Ketika program dieksekusi, bagian-bagian dari program dan data yang tidak aktif saat ini dapat dipindahkan dari RAM ke penyimpanan sekunder.
Data yang dipindahkan dari RAM ke penyimpanan sekunder disebut "swapped out," sementara data yang dipindahkan dari penyimpanan sekunder ke RAM disebut "swapped in."
2. Manajemen Memori Virtual
Sistem operasi menciptakan ilusi bahwa pengguna memiliki akses ke ruang memori yang lebih besar daripada yang sebenarnya tersedia di RAM fisik.
Seiring program berjalan, sistem operasi dapat memutuskan untuk menggantikan (swap out) bagian-bagian yang tidak aktif dari program dari RAM untuk memberikan ruang bagi program dan data yang lebih aktif.
3. Page dan Frame
Dalam konsep swapping, unit transfer data disebut "page" di tingkat program dan "frame" di tingkat memori fisik.
Page adalah unit data yang dapat dipindahkan antara RAM dan penyimpanan sekunder, sedangkan frame adalah unit alokasi di RAM yang memiliki ukuran yang sama dengan page.
4. Kinerja dan Latensi
Swapping dapat memengaruhi kinerja sistem karena transfer data antara RAM dan penyimpanan sekunder memerlukan waktu yang lebih lama dibandingkan dengan operasi memori internal.
Oleh karena itu, manajemen memori yang efisien harus mempertimbangkan waktu latensi dan upaya yang diperlukan untuk swapping.
pAGGING
Paging adalah suatu teknik manajemen memori yang digunakan dalam sistem operasi untuk
mengimplementasikan virtual memory. Dalam
sistem yang menggunakan paging, alamat memori fisik dari suatu program atau proses tidak harus
berurutan secara linier, melainkan dibagi-bagi menjadi blok-blok yang disebut halaman (page).
Back to Agenda Page
pAGGING
Paging adalah mekanisme penyimpanan di sistem operasi yang
membagi setiap proses menjadi halaman, dan memori utama dibagi menjadi frame. Setiap halaman proses disimpan dalam satu frame, dan halaman-halaman dapat ditempatkan di lokasi memori yang berbeda dengan prioritas menemukan bingkai yang berdekatan.
Halaman-halaman hanya dibawa ke memori utama jika diperlukan, jika tidak, disimpan di penyimpanan sekunder. Ukuran frame dan halaman harus sama dalam sistem paging.
Back to Agenda Page
Contoh pAGGING
Misalkan memori utama berukuran 16 KB dan ukuran frame adalah 1 KB, sehingga memori utama akan dibagi menjadi 16 frame, masing-masing berukuran 1 KB. Dalam sistem ini, terdapat 4 proses, yaitu P1, P2, P3, dan P4, dengan masing-masing berukuran 4 KB. Setiap proses dibagi menjadi beberapa halaman, dengan ukuran setiap halaman adalah 1 KB, sehingga satu halaman dapat disimpan dalam satu frame. Pada awalnya, semua frame kosong, sehingga halaman-halaman proses dapat disimpan secara berdekatan.
Bingkai, halaman, dan pemetaan antara keduanya dapat dilihat pada gambar di samping.
Contoh pAGGING
Kita misalkan bahwa P2 dan P4 dipindahkan ke status waiting setelah beberapa waktu. Saat ini, 8 frame menjadi kosong, sehingga halaman lain dapat dimuat di tempat kosong tersebut. Proses P5 berukuran 8 KB (8 halaman) sedang menunggu dalam antrian ready.
Hal ini, terdapat 8 frame yang tidak bersebelahan yang tersedia di memori. Paging memberikan fleksibilitas untuk menyimpan proses di lokasi yang berbeda. Oleh karena itu, kita dapat memuat halaman proses P5 menggantikan P2 dan P4.
Hardware paging
Nomor Halaman (p) Offset Halaman (d)
Setiap alamat yang dihasilkan oleh CPU umumnya terdiri dari dua bagian:
2.1.
Nomor Halaman digunakan sebagai indeks ke dalam tabel halaman yang umumnya berisi alamat dasar setiap halaman di dalam memori fisik. Sementara itu, offset Halaman digabungkan dengan alamat dasar untuk menentukan alamat fisik memori yang kemudian dikirimkan ke unit memori. Jika ukuran logical address space adalah 2^m dan ukuran halaman adalah 2^n unit, maka high order m-n bits menunjukkan nomor halaman dan n low-order bit menunjukkan offset halaman.
Hardware paging
p menunjukkan indeks ke dalam tabel halaman dan d menunjukkan pergeseran (displacement) dalam halaman. Ukuran halaman biasanya ditentukan oleh hardware namun umumnya bervariasi antara 512 byte dan 16 MB per halaman
Penjelasan lain tentang paging
Sistem operasi Windows XP dan UNIX mendukung segmentasi, paging, dan segmentasi dengan paging dengan rincian sebagai berikut:
Back to Agenda Page
Segmen Umum: Ada enam segmen umum, termasuk Data, Stack, dan Code.
Deskriptor Segmen: Setiap segmen memiliki deskriptor yang berisi informasi seperti hak akses dan lokasi memori.
Register Segmen: Prosesor memiliki register khusus untuk menunjuk segmen dalam tabel deskriptor.
Offset Addressing: Alamat logis dihitung dengan menggabungkan nilai register segmen dengan offset.
Perlindungan dan Keamanan: Segmentasi digunakan untuk mengatur hak akses dan perlindungan memori.
Struktur Keamanan Berbasis Cincin: Intel Pentium mendukung empat tingkat keamanan (ring) yang mengontrol akses memori.
Segmen dalam arsitektur Intel Pentium memiliki fitur berikut:
2.1.
3.
4.
5.
6.
Alamat Memori: Ada dua jenis alamat, yaitu alamat fisik (RAM) dan alamat logis (program).
Unit Pengelola Memori (MMU): MMU menerjemahkan alamat logis ke alamat fisik.
Paging: Intel Pentium menggunakan mekanisme paging untuk memetakan alamat logis ke alamat fisik dalam halaman kecil.
Segmentasi: Sistem juga mendukung segmen memori, yang memungkinkan atribut dan hak akses yang berbeda pada blok-blok memori.
Back to Agenda Page
Back to Agenda Page
Terdiri dari Page Directory (PD) dan Page Table (PT).
PD menghubungkan ke PT, yang berisi alamat fisik halaman.
Ketika program mengacu pada alamat logis, MMU mengonversi ke alamat fisik menggunakan PD dan PT.
Memungkinkan manajemen memori yang efisien dan perlindungan data.
Arsitektur paging dua tingkat pada Pentium dengan
ukuran halaman 4 KB:
https://skylacha.wordpress.com/2010/10/23/perbedaan-partition-segmentation-dan-paging/
https://ichi.pro/id/sistem-operasi-101-virtualisasi-alokasi-memori-segmentasi-paging-dan-tlb-v-226029833451425 https://iim6.tripod.com/ibam-os-html/x3571.html
https://www.slideshare.net/kunchoroajiputra/presentasi-segmentasi-sistem-operasi-komputer https://bundet.com/d/1291-segmentasi-memori-sistem-operasi
https://www.studytonight.com/operating-system/paging-in-operating-systems https://www.javatpoint.com/os-paging-with-example
https://www.youtube.com/watch?v=MZvXqIkev7A&ab_channel=CHEEWAILUM
Silberschatz, Galvin, Gagne. 2009. Operating System Concepts: 8th Edition. JohnWiley & Sons Inc, United States of America.
Stallings, William. 2012. Operating Systems: Internals and Design Principles 7th Edition. New Jersey. Prentice – Hall Silberschatz, A., Galvin, P. B., & Gagne, G. 2018. Operating system concepts (10th ed.). John Wiley & Sons.
Tanenbaum, A. S., & Bos, H. 2015. Modern operating systems (4th ed.). Pearson Education.