• Tidak ada hasil yang ditemukan

Makalah Sistem Operasi Pengelolaan Memor

N/A
N/A
Protected

Academic year: 2018

Membagikan "Makalah Sistem Operasi Pengelolaan Memor"

Copied!
26
0
0

Teks penuh

(1)

Makalah Sistem Operasi

Pengelolaan Memori Cara Segmentasi dan Perbedaan

dengan Paging

Oleh :

201543500625 Pius Agustus Pradipta Aryana

201543500652 Dimas Aditya Husada

201543500634 Abda Permana

201543500631 Sri Maulidah

201543500663 Achmat Bahari

(2)

KATA PENGANTAR

Makalah ini merupakan salah satu syarat guna memperoleh nilai tugas dalam mata kuliah Sistem Operasi. Penulis ucapkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah membantu selesainya makalah ini. Untuk terwujudnya penulisan makalah ini sudah tentu penulis mandapat bantuan, bimbingan dan nasehat dari berbagai pihak.

Tidak lupa penulis ucapkan terima kasih kepada para cendekiawan yang ilmunya telah penulis petik dalam penulisan makalah ini. Penulis merasa bahwa dalam penulisan makalah ini masih jauh dari kesempurnaan. Hal ini disebabkan karena keterbatasan dari penulis sendiri. Untuk itu penulis mengucapkan terima kasih kepada semua pihak apabila bersedia untuk memberikan sumbangsih berupa saran dan kritik demi perbaikan makalah ini. Besar harapan penulis makalah ini bisa bermanfaat bagi pihak-pihak yang berhubungan khususnya bagi pembaca. Amin.

Akhir kata penulis mohon maaf atas kekurangan serta kejanggalan baik isi maupun dalam teknik penyusunannya.

Jakarta, November 2017

(3)

DAFTAR ISI

(4)

3.1. Kesimpulan...17

(5)

DAFTAR GAMB

Gambar 1.1. Proses Pengelolaan Memori...2Y

Gambar 2.1. Pandangan user terhadap sistem segmentasi...6

Gambar 2.2. Arsitektur Segmentasi...7

Gambar 2.3. Implementasi Segmentasi...8

(6)

DAFTAR TABEL

(7)

BAB I

PENDAHULUAN

1.1. Latar Belakang

Salah satu aspek rancangan sistem operasi yang paling sulit adalah pengelolaan memori. Meskipun harga memori telah turun secara dramatis dan sebagai konsekuensinya berakibat pada ukuran memori pada mesin-mesin modern telah bertambah, yang telah mencapai range gigabyte, tidak akan pernah ada memori yang dapat menampung seluruh program dan struktur data yang diperlukan oleh proses-proses aktif dan oleh sistem operasi.

Oleh karenanya suatu tugas utama sistem operasi adalah untuk mengatur memori, yang meliputi tugas memasukkan (swap in) dan mengeluarkan (swap out) blok-blok data dari memori sekunder. Namun I/O memori merupakan operasi yang lambat dan kecepatan relatifnya terhadap waktu siklus instruksi prosessor semakin jauh tertinggal dari tahun ke tahunnya. Untuk menjaga agar prosesor agar tetap sibuk dengan tujuan efisiensi, maka sistem operasi harus dengan cerdik dapat mengatur

swap in dan swap out sehingga dapat meminimalkan efek I/O memori terhadap kinerja. Sehingga dengan demikian secara umum memori utama harus diatur sebaik mungkin supaya:

1. Meningkatkan utilitas CPU yang sebesar-besarnya.

2. Data dan instruksi dapat diakses dengan cepat oleh CPU.

3. Memori utama memiliki kapasitas yang sangat terbatas, sehingga pemakaian harus seefisien mungkin.

(8)

5. Memori merupakan pusat untuk operasi dari suatu operasi sistem komputer modern.

Memori adalah array yang besar dari suatu kata atau bytes, dimana setiap ukurannya memiliki alamat masing-masing. Di dalam sistem uniprogramming, memori utama dibagi menjadi dua bagian yaitu satu bagian untuk sistem operasi (resident monitor, kernel) dan satu bagian lainnya untuk program yang saat itu sedang dieksekusi. Sedangkan di dalam sistem multiprogramming bagian memori “pengguna” harus dibagi lagi untuk mengakomudasi proses yang jumlahnya banyak. Pembagian tersebut dilakukan secara dinamis oleh sistem operasi. Proses yang demikian dikenal dengan pengelolaan memori.

Dalam sistem multiprogramming manajemen memori yang sangat efektif merupakan suatu hal yang sangat utama. Jika hanya terdapat beberapa proses di dalam memori utama, maka sebagian besar waktu proses akan dipakai untuk menunggu I/O dan prosesor akan idle. Dengan demikian memori perlu dialokasikan secara efisien guna dapat menampung proses sebanyak mungkin ke dalam memori. Proses pengelolaan memori dapat dilihat pada ilustrasi gambar di bawah ini.

Gambar 1.1. Proses Pengelolaan Memori

Table di bawah ini menunjukan kebutuhan memori pada sistem operasi Windows dari Windows 1.0 sampai dengan Windows 10.

(9)

Sistem Operasi Tanggal Rilis Memori yang

Windows 3.0 Maret 1990 896 KB 1 MB

Windows 3.1 April 1992 2.6 MB 4 MB

Windows 95 Agustus 1995 8 MB 16 MB

Windows NT 4.0 Agustus 1996 32 MB 96 MB

Windows 98 Juni 1998 24 MB 64 MB

Windows ME September 2000 32 MB 128 MB

Windows 2000 Professional Februari 2000 64 MB 128 MB

Windows XP Home Oktober 2001 64 MB 128 MB

Windows XP Professional Oktober 2001 128 MB 256 MB

Windows Vista November 2006 512 MB 1 GB

Windows 7 Juli 2009 1 GB 2 GB

Windows 8 Agustus 2012 1 GB 4 GB

Windows 8.1 Agustus 2013 1 GB 4 GB

Windows 10 Juli 2015 1 GB 4 GB

Tabel 1.1. Kebutuhan Memori Pada Sistem Operasi Windows

1.2. Rumusan Masalah

Sesuai dengan mata kuliah ini “Sistem Operasi” untuk menambah ilmu pengetahuan mahasiswa. Kami tuliskan rumusan masalah sebagai berikut :

1. Apa yang dimaksud dengan pengelolaan memori secara segmentasi?

(10)

1.3. Tujuan

Berdasarkan rumusan masalah diatas maka tujuan penulisan makalah ini adalah:

1. Agar mahasiswa memahami pengelolaan memori secara segmentasi.

2. Agar mahasiswa mengetahui perbedaan pengelolaan memori secara segmentasi dengan pengelolaan memori secara paging.

1.4. Manfaat

Adapun manfaat dari penulisan makalah ini adalah sebagai pengetahuan bagi pembaca tentang pengelolaan memori secara segmentasi dan perbedaannya dengan pengelolaan memori secara paging sebagai mata kuliah Sistem Operasi.

(11)

BAB II

PEMBAHASAN

2.1. Segmentasi

Segmentasi adalah skema pengelolaan memori dengan cara membagi memori menjadi segmen. Dengan demikian, sebuah program dibagi menjadi segmen-segmen. Segmen adalah sebuah unit logis, yaitu unit yang terdiri dari beberapa bagian yang berjenis yang sama. Contoh: program utama, variable lokal, prosedur dan sebagainya. Berbeda dengan paging, ukuran tiap segmen tidak harus sama dan memiliki ciri tertentu. Ciri tertentu itu adalah nama segmen dan panjang segmen. Nama segmen dirujuk oleh nomor segmen sedangkan panjang segmen ditentukan oleh offset.

2.2. Konsep Dasar Segmentasi

Konsep segmentasi adalah user atau programmer tidak memikirkan sejumlah rutin program yang dipetakan ke main memori sebagai array linier dalam byte tetapi memori dilihat sebagai kumpulan segmen dengan ukuran berbeda-beda, tidak perlu berurutan diantara segment tersebut.

Segmentasi adalah skema manajemen memori yang memungkinkan user untuk melihat memori tersebut. Ruang alamat logika adalah kumpulan segmen. Setiap segmen mempunyai nama dan panjang. Spesifikasi alamat berupa nama segmen dan offset. Segment diberi nomor dan disebut dengan nomor segmen (bukan nama segmen) atau segment number. Segmen dibentuk secara otomatis oleh compiler.

(12)

Gambar 2.1. Pandangan user terhadap sistem segmentasi

2.3. Arsitektur Segmentasi

Ukuran tiap segmen tidak harus sama. Saat sebuah program atau proses dimasukkan ke CPU, segmen yang berbeda dapat ditempatkan dimana saja di dalam memori utama (dapat menggunakan cara first-fit atau best-fit).

Alamat logis dari sebuah segmen adalah alamat dua dimensi, sedangkan alamat fisik memori adalah alamat satu dimensi. Oleh karena itu, agar implementasinya menjadi mudah (dari alamat logis ke alamat fisik) diperlukan Tabel Segmen yang yang terdiri dari base dan limit. Base menunjukkan alamat awal segmen (dari alamat fisik) dan limit menunjukkan panjang segmen.

(13)
(14)

Gambar 2.2. Arsitektur Segmentasi

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

 Segmen basis (base) berisi alamat fisik awal

 Segmen limit merupakan panjang segmen

Seperti tabel page, tabel segmen dapat berupa register atau memori berkecepatan tinggi. Pada program yang berisi sejumlah segmen yang besar, maka harus menyimpan tabel page di memori.

Segment-table base register (STBR) digunakan untuk menyimpan alamat yang menunjuk ke segment table.

Segment-table length 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.

Perangkat keras yang digunakan pada sistem segmentasi dapat dilihat pada Gambar 2.3.

Pemetaan dari alamat logika ke alamat fisik membutuhkan 2 acuan memori untuk setiap alamat logika. Hal ini akan menurunkan kecepatan sistem dengan faktor 2. Solusi standar yang digunakan adalah dengan cache (atau associative register) untuk menyimpan entri tabel segmen yang sering digunakan. Pemetaan alamat logika

(15)

ke alamat fisik dengan menggunakan tabel segmen dapat dilihat pada Gambar 2.4. Misalnya alamat logika dengan nomor segment 0 offset 88 akan dipetakan ke alamat fisik 1400 + 88 = 1488 karena offset < limit (88 < 1000). Alamat logika dengan nomor 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).

(16)

Gambar 2.4. Contoh Segmentasi

2.4. Pemeliharaan dan Pembagian

Dengan dilakukannya pengelompokan antara segmen-segmen yang sama, maka pemeliharaan dari segmen tersebut dapat menjadi lebih mudah, walau pun didalam segmen tersebut sebagian berisi instruksi dan sebagian lagi berisi data. Dalam arsitektur modern, instruksi-instruksi yang digunakan tidak dapat diubah tanpa campur tangan pengguna, oleh karena itu, segmen yang berisi instruksi dapat diberi label read-only atau hanya dapat dijalankan saja. Perangkat keras yang bertugas untuk melakukan pemetaan ke memori fisik akan melakukan pemeriksaan terhadap bit

proteksi yang terdapat pada segmen, sehingga pengaksesan memori secara ilegal dapat dihindari, seperti suatu usaha untuk menulis ke area yang berstatus tidak boleh dimodifikasi.

Keuntungan lain dari segmentasi adalah menyangkut masalah pembagian penggunaan kode atau data. Setiap proses mempunyai tabel segmennya sendiri, dimana ini akan digunakan oleh dispatcher untuk menentukan tabel segmen dari

(17)

perangkat keras yang mana akan digunakan ketika proses yang bersangkutan di eksekusi oleh CPU. Segmen akan berbagi ketika anggota dari elemen tabel segmen yang berasal dari dua proses yang berbeda menunjuk ke lokasi fisik yang sama. Pembagian tersebut terjadi pada level segmen, maka, informasi apa pun dapat dibagi jika didefinisikan pada level segmen. Bahkan beberapa segmen pun dapat berbagi, sehingga sebuah program yang terdiri dari beberapa segmen pun dapat saling berbagi pakai.

2.5. Fragmentasi

Penjadwalan jangka-panjang harus mencari dan mengalokasikan memori untuk semua segmen dari program pengguna. Situasi ini mirip dengan pemberian halaman kecuali bahwa segmen-segmen ini mempunyai panjang yang variabel; sedangkan pada halaman, semua mempunyai ukuran yang sama. maka, masalah yang dihadapi adalah pengalamatan memori secara dinamis, hal ini biasanya dapat diselesaikan dengan menggunakan algoritma best-fit atau algoritma first-fit.

Segmentasi dapat menyebabkan terjadi fragmentasi eksternal, ini terjadi ketika semua blok memori yang dapat dapat dialokasikan terlalu sedikit untuk mengakomodasi sebuah segmen. Dalam kasus ini, proses hanya harus menunggu sampai terdapat cukup tempat untuk menyimpan segmen tersebut di memori, atau, melakukan suatu pemampatan dapat digunakan untuk membuat ruang kosong dalam memori menjadi lebih besar. Karena segmentasi pada dasarnya adalah algoritma penempatan secara dinamis, maka kita dapat melakukan pemampatan memori kapan saja kita mau. Jika CPU Scheduler harus menunggu untuk satu proses, karena masalah pengalokasian memori, ini mungkin akan dilewati untuk mencari proses yang berprioritas lebih kecil untuk dieksekusi lebih dulu untuk membebaskan ruang kosong dalam memori.

(18)

dari pertanyaan ini tergantung kepada besarnya rata-rata segmen yang tersimpan didalam memori. Jika ukuran rata-rata dari segmen menggunakan sedikit tempat di memori, maka fragmentasi eksternal yang dilakukan juga akan sedikit terjadi.

2.6. Segmentasi dengan Pemberian Halaman (Paging)

Metode segmentasi dan paging masing-masing memiliki keuntungan dan kerugian. Selain kedua metode itu ada metode pengaturan memori lain yang berusaha menggabungkan metode segmentasi dan paging. Metode ini disebut dengan

segmentation with paging.

Dengan metode ini jika ukuran segmen melebihi ukuran memori utama maka segmen tersebut dibagi-bagi jadi ukuran-ukuran halaman yang sama ==> paging. Pada skema ini, skema paging dan segmentasi dikombinasikan. Kombinasi diilustrasikan menggunakan 2 arsitektur berbeda : MULTICS dan Intel 386 (OS/2).

2.6.1. MULTICS

Pada sistem MULTICS, alamat logika dibentuk dari nomor segmen 18 bit dan offset 16 bit. Dengan ukuran segmen 64K word, setiap segmen terdiri dari 36 bit, rata-rata ukuran segmen dapat lebih besar dan fragmentasi eksternal menjadi permasalahan karena membutuhkan banyak ruang memori. Tetapi jika fragmentasi eksternal tidak menjadi permasalahan, waktu pencarian untuk mengalokasikan segmen dapat membutuhkan waktu yang lama.

Solusi yang diadopsi pada MULTICS adalah dengan melakukan paging pada segmen (page the segment). Paging menghilangkan fragmentasi eksternal dimana frame kosong dapat digunakan untuk page yang tepat. Setiap page

terdiri dari 1K word.

(19)

Segment offset (16 bit) dibagi ke dalam nomor page 6 bit dan page offset 10 bit. Nomor page mengindeks ke tabel page untuk memberikan nomor

framer. Nomor frame dikombinasikan dengan page offset menunjuk ke alamat fisik. Skema translasi alamat logika ke alamat fisik pada MULTICS dapat dilihat pada Gambar 2.6.1.

Nomor segmen (18 bit) dibagi ke dalam 8 bit nomor page dan 10 bit

page offset, sehinga tabel page terdiri dari 28 entry sehingga alamat logika pada MULTICS adalah sebagai berikut :

s

1

s

2

d

1

d

2

8 10 6 10

Dimana

s

1 adalah indeks ke tabel page dari tabel segmen dan

s

2 adalah

displacement dalam page dari tabel segmen. d1 adalah displacement ke tabel

page dari segmen yang tepat dan d2 adalah displacement ke alamat yang

diakses.

(20)

2.6.2. Intel 30386

IBM OS/2 versi 32 bit adalah sistem operasi yang menggunakan arsitektur 30386 (dan 30486). Intel 30386 menggunakan segmentasi dengan

paging untuk manajemen memori. Maksimum jumlah segment per proses adalah 16K. Setiap segmen maksimal berukuran 4 gigabytes. Ukuran page

adalah 4K byte.

Ruang alamat logika dari suatu proses dibagi ke dalam 2 partisi :

 Partisi 1 terdiri dari 8K segmen yang pribadi (private) untuk proses

tersebut.

 Partisi 2 terdiri dari 8K segmen yang digunakan bersama untuk semua

proses

Informasi mengenai partisi pertama disimpan dalam local descriptor table (LDT) sedangkan informasi mengenai partisi kedua disimpan dalam

global descriptor table (GDT). Setiap entry pada tabel LDT dan GDT terdiri dari 8 byte, dengan informasi detail tentang segmen tertentu termasuk lokasi basis dan panjang segmen. Alamat logika adalah pasangan (selector, offset), dimana selector sebanyak 16 bit.

s g p

13 1 2

Dimana s menyatakan nomor segment, g menyatakan apakah segmen merupakan GDT atau LDT dan p menyatakan proteksi.

Karena setiap segmen adalah page dengan ukuran 4KB per page, sebuah

page table terdiri dari 1 juta entri. Dan karena setiap entri terdiri dari 4 byte, setiap proses memerlukan 4MB ruang alamat fisik untuk tabel page saja. Solusi yang digunakan menggunakan skema two-level paging. Alamat linier dibagi ke

(21)

dalam nomor page 20 bit, dan sebuah page offset 12 bit. Nomor page dibagi ke dalam 10 bit page directory pointer dan 10 bit page table pointer. Translasi alamat logika ke alamat fisik pada Intel 30386 lebih jelasnya dapat dilihat pada Gambar 2.6.2.

Gambar 2.6.2. Skema Tranlasi Alamat Pada Intel 30386

2.7. Kelebihan Segmentasi dengan Pemberian Halaman (Paging)

Sesuai dengan definisinya yang merupakan gabungan dari segmentasi dan paging, maka metode ini memiliki keunggulan yang dimiliki baik oleh metode segmentasi mau pun yang dimiliki oleh paging.

(22)

 Dapat dibagi.

2.8. Perbedaan Segmentasi dengan Pemberian Halaman (Paging)

Ada beberapa perbedaan antara Segmentasi dan Paging diantaranya adalah:

1. Segmentasi melibatkan programer (programer perlu tahu teknik yang digunakan), sedangkan dengan paging, programer tidak perlu tahu teknik yang digunakan.

2. Pada segmentasi kompilasi dilakukan secara terpisah sedangkan pada

paging, kompilasinya tidak terpisah.

3. Pada segmentasi proteksinya terpisah sedangkan pada paging proteksinya tidak terpisah.

4. Pada segmentasi ada shared code sedangkan pada paging tidak ada shared code.

5. Pada segmentasi terdapat banyak ruang alamat linier sedangkan pada

paging hanya terdapat satu ruang alamat linier.

(23)

6. Pada segmentasi prosedur dan data dapat dibedakan dan diproteksi terpisah sedangkan pada paging prosedur dan data tidak dapat dibedakan dan diproteksi terpisah.

7. Pada segmentasi pengubahan ukuran tabel dapat dilakukan dengan mudah sedangkan pada Paging pengubahan ukuran tabel tidak dapat dilakukan dengan mudah.

8. Segmentasi digunakan untuk mengizinkan program dan data dapat dipecahkan jadi ruang alamat mandiri dan juga untuk mendukung sharing

(24)

BAB III

PENUTUP

3.1. Kesimpulan

Segmentasi adalah skema managemen memori dengan cara membagi memori menjadi segmen-segmen. Berbeda dengan page, ukuran tiap segmen tidak harus sama dan memiliki ciri tertentu, yaitu nama dan panjang segmen.

Ada beberapa perbedaan antara Segmentasi dan Paging diantaranya adalah:

1. Segmentasi melibatkan programer (programer perlu tahu teknik yang digunakan), sedangkan dengan paging, programer tidak perlu tahu teknik yang digunakan.

2. Pada segmentasi kompilasi dilakukan secara terpisah sedangkan pada

paging, kompilasinya tidak terpisah.

3. Pada segmentasi proteksinya terpisah sedangkan pada paging proteksinya tidak terpisah.

4. Pada segmentasi ada shared code sedangkan pada paging tidak ada shared code.

5. Pada segmentasi terdapat banyak ruang alamat linier sedangkan pada

paging hanya terdapat satu ruang alamat linier.

6. Pada segmentasi prosedur dan data dapat dibedakan dan diproteksi terpisah sedangkan pada paging prosedur dan data tidak dapat dibedakan dan diproteksi terpisah.

(25)

7. Pada segmentasi pengubahan ukuran tabel dapat dilakukan dengan mudah sedangkan pada Paging pengubahan ukuran tabel tidak dapat dilakukan dengan mudah.

8. Segmentasi digunakan untuk mengizinkan program dan data dapat dipecahkan jadi ruang alamat mandiri dan juga untuk mendukung sharing

(26)

DAFTAR PUSTAKA

Silberschatz, Galvin, Gagne. 2009. Operating System Concepts: 8th Edition. John Wiley & Sons Inc, United States of America.

Stallings, William. 2012. Operating Systems: Internals and Design Principles 7th Edition. New Jersey. Prentice – Hall.

Gambar

Gambar 1.1. Proses Pengelolaan Memori
Tabel 1.1. Kebutuhan Memori Pada Sistem Operasi Windows
Gambar 2.1. Pandangan user terhadap sistem segmentasi
Gambar 2.3. Implementasi Segmentasi
+5

Referensi

Dokumen terkait

Karena orientasi pemakai seperti itu, maka DBMS-DBMS kelompok ini, lemah dalam sejumlah aspek yang justru harus sangat diperhatikan pada kelompok DBMS yang kedua, seperti

Jika sudah selesai untuk pemilihan jenis laporan, user dapat melihat hasil laporan dengan cara menekan tombol “Lihat” maka data barang akan urut berdasarkan

Jika sudah selesai untuk pemilihan jenis laporan, user dapat melihat hasil laporan dengan cara menekan tombol “Lihat” maka data barang akan urut berdasarkan

Model ini memetakan setiap thread tingkatan user ke setiap thread. One to One menyediakan lebih banyak concurrency dibandingkan model Many to One. Keuntungannya sama

Setelah semua software di instalasi, anda akan di tanyakan password untuk root (user tertinggi) di mesin anda. Jangan sampai lupa password root, karena dengan root anda