Universitas Gunadarma

Saat ini, saya berkuliah di Universitas Gunadarma Depok jurusan Sistem Informasi.

KRL Access

Review Aplikasi KRL Access

Postingan Populer

Selasa, 01 Mei 2018

Manajemen Memori


MANAJEMEN MEMORI



PENULIS
Ahmad Pujianto                      (10116392)
Arya Zulfikar Tetuko              (11116125)
Deki Panca Pradila                 (11116782)
Fransiskus Eko Utomo           (12116916)
Muhammad Alfarabi Said      (14116692)



UNIVERSITAS GUNADARMA
SISTEM INFORMASI
2017/2018


KATA PENGANTAR

Puji syukur penulis panjatkan ke hadirat Allah SWT. bahwa penulis telah menyelesaikan tugas mata kuliah Sistem Operasi pada pokok bahasan “Manajemen Memori” dalam bentuk makalah.
Dalam penyusunan tugas atau materi ini, tidak sedikit hambatan yang penulis hadapi. Namun penulis menyadari bahwa kelancaran dalam penyusunan materi ini tidak lain berkat bantuan, dorongan dan bimbingan orang tua, dosen dan rekan- rekan mahasiswa sehingga kendala-kendala yang penulis hadapi teratasi. Oleh karena itu penulis mengucapkan terima kasih yang sebesar besarnya.
Penulis juga mengharapkan saran dan kritik dari pembaca sehingga untuk penciptaan karya tulis yang lain kami bisa memberikan yang lebih baik lagi. Semoga materi ini dapat bermanfaat dan menjadi sumbangan pemikiran bagi pihak yang membutuhkan, khususnya bagi penulis sehingga tujuan yang diharapkan dapat tercapai, Amin.

Depok, 01 Mei 2018


Penulis





DAFTAR ISI
KATA PENGANTAR ......................................................................... ii
DAFTAR ISI ....................................................................................... iii
BAB I PENDAHULUAN ................................................................... 5
1.1  Latar Belakang ................................................................... 5
1.2  Pokok Masalah ..............................................................      6
1.3  Tujuan ...........................................................................      6
BAB II PEMBAHASAN ...............................................................      7
            2.1 Manajemen Memori ......................................................      7
                        2.1.1 Konsep Dasar Memori ...................................      7
                               Konsep Binding ................................................      8
                               Dynamic Loading.................................................. 9
                               Dynamic Linking................................................... 9
                               Overlay..............................................................     10
                        2.1.2 Strategi Manajemen Memori...........................     11
                        2.1.3 Ruang Alamat Logika dan Fisik.....................     12
                        2.1.4 Swaping...........................................................     12
                        2.1.5 Pencatatan Pemakaian Memori ......................      15
                               Peta Bit..............................................................     16
                               Linked List........................................................     16
                        2.1.6 Monoprogramming ............................................. 17
                        2.1.7 Pengalokasian Berurutan ...............................      18
                               Multiprogramming dan Partisi Statis................     19
                               Multiprogramming dan Partisi Dinamis................ 19
                               Sistem Buddy ...................................................      19
                        2.1.8 Pengalokasian Tak Berurutan ............................. 19
                               Paging................................................................     20
                               Segmentasi........................................................     20
BAB III PENUTUP.........................................................................     21
            3.1 Kesimpulan ........................................................................ 21
            3.2 Saran...............................................................................     22
DAFTAR ISTILAH............................................................................. 23
DAFTAR PUSTAKA.......................................................................... 25









BAB I
PENDAHULUAN

1.1 Latar Belakang
Biasanya, istilah Sistem Operasi sering ditujukan kepada semua perangkat lunak yang masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi perangkat lunak terinstal. Sistem operasi adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan perangkat lunak aplikasi seperti program-program pengolah kata dan peramban web.
Secara umum, Sistem Operasi adalah perangkat lunak pada lapisan pertama yang ditempatkan pada memori komputer pada saat komputer dinyalakan booting. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti untuk software-software itu. Layanan inti tersebut seperti akses ke disk, manajemen memori, penjadwalan tugas schedule task, dan antar-muka user GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi.
Kalau sistem komputer terbagi dalam lapisan-lapisan, maka Sistem Operasi adalah penghubung antara lapisan hardware dengan lapisan software. Sistem Operasi melakukan semua tugas-tugas penting dalam komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar. Sistem Operasi menjamin aplikasi lainnya dapat menggunakan memori, melakukan input dan output terhadap peralatan lain, dan memiliki akses kepada sistem berkas. Apabila beberapa aplikasi berjalan secara bersamaan, maka Sistem Operasi mengatur schedule yang tepat, sehingga sedapat mungkin semua proses yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta tidak saling mengganggu.
Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka dari fungsi-fungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut dari awal.
Sistem Operasi secara umum terdiri dari beberapa bagian:
1.      Mekanisme Boot, yaitu meletakkan kernel ke dalam memory
2.      Kernel, yaitu inti dari sebuah Sistem Operasi
3.      Command Interpreter atau shell, yang bertugas membaca input dari pengguna
4.      Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain
5.      Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrolnya.
1.2   Pokok Masalah
Dari sekian banyak materi yang ada dalam sistem operasi, dalam Makalah ini penyusun mencoba menguraikan hanya mengenai:
·         Manajemen Memori
Untuk lebih lengkapnya, kami akan mengulasnya di BAB II.

1.3 Tujuan
Dalam penulisan makalah ini penyusun mempunyai dua tujuan utama yaitu secara umum dan khusus. Tujuan Secara Umum yakni Untuk memudahkan para pembaca dalam mencari refernsi terkait dengan materi Sistem Operasi, dan secara khusus untuk memenuhi nilai tugas pada mata kuliah sistem operasi.

BAB 2
PEMBAHASAN

Memori adalah pusat dari operasi pada sistem komputer modern, berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya. Memori adalah array besar dari word atau byte, yang disebut alamat. CPU mengambil instruksi dari memory berdasarkan nilai dari program counter. Instruksi ini menyebabkan penambahan muatan dari dan ke alamat memori tertentu. Sedangkan manajemen memori adalah suatu kegiatan untuk mengelola memori komputer. Proses ini menyediakan cara mengalokasikan memori untuk proses atas permintaan mereka, membebaskan untuk digunakan kembali ketika tidak lagi diperlukan serta menjaga alokasi ruang memori bagi proses. Pengelolaan memori utama sangat penting untuk sistem komputer.
Berikut kami sajikan bahasan-bahasan yang terkait dengan memori:

2.1 MANAJEMEN MEMORI

2.1.1 Konsep Dasar Memori
Memori sebagai tempat penyimpanan instruksi/data dari program. Memori adalah pusat kegiatan pada sebuah komputer, karena setiap proses yang akan dijalankan, harus melalui memori terlebih dahulu. Supaya untuk dapat dieksekusi, program harus dibawa ke memori dan menjadi suatu proses.
Jenis-jenis Memori:
Memori Kerja
1        ROM/PROM/EPROM/EEPROM
2        RAM
3        Cache memory

Memori Dukung
1        Floppy
2        Harddisk
3        CD, dll

Konsep Binding
Sebelum eksekusi, program berada di dalam disk, dan saat dieksekusi program tersebut perlu berada pada suatu lokasi dalam memori fisik. Address Binding adalah cara instruksi dan data (yang berada di disk sebagai file executable) dipetakan ke alamat memori. Alamat (address) pada source program umumnya merupakan alamat simbolik. Sebuah compiler biasanya membutuhkan “mengikat” (bind) alamat simbolik ke alamat relokasi.
Address Binding dapat berlangsung dalam 3 tahap yang berbeda, yaitu:
·         kompilasi,
·         load, atau
·         eksekusi dari suatu program
Cara Sistem Operasi menempatkan program di dalam memori:
·         Kompilasi dan Linking menerjemahkan semua simbol data berdasarkan alamat acuan absolut
Proses relokasi (proses mapping program dari lokasi memori) terjadi apabila:
·         Jika program berada di memori, maka semua alamat lojik dalam program harus dikonversi ke alamat fisik.
·         Statis: relokasi alamat dilakukan sebelum program dijalankan
·         Dinamis: relokasi alamat dilakukan pada saat referensi setiap instruksi atau data

Dynamic Loading
Dengan dynamic loading merupakan suatu routine tidak diload sampai dipanggil. Semua routine disimpan pada disk sebagai format relocatable load.
Mekanisme dasar:
·         Program utama diload dahulu dan dieksekusi
·         Bila suatu routine perlu memanggil routine yang lain, routine yang dipanggil lebih dahulu diperiksa apakah routine yang dipanggil sudah diload. Jika tidak, relocatable linking loader dipanggil untuk meload routine yang diminta ke memori dan mengupdate tabel alamat dari program yang mencerminkan perubahan ini.
Keuntungan dari dynamic loading adalah:
·         Rutin yang tidak digunakan tidak pernah di-load
·         Cocok untuk kode dalam jumlah besar
·         Digunakan untuk menangani kasus-kasus yang jarang terjadi seperti error routine
·         Tidak memerlukan dukungan khusus dari sistem operasi. Sistem operasi hanya perlu menyediakan beberapa rutin pustaka untuk implementasi dynamic loading.

Dynamic Linking
Konsep dynamic linking sama dengan dynamic loading. Karena pada saat loading, linking ditunda hingga waktu eksekusi.
Program-program user tidak perlu menduplikasi system library karena:
·         System library dipakai bersama
·         Mengurangi pemakaian space: satu rutin library di memori digunakan secara bersama oleh sekumpulan proses
Contoh: DLL Win32
Mekanisme menggunakan stub (potongan kecil yang mengindikasikan bagaimana meload library jika routine tidak tersedia saat itu):
·         Saat stub dieksekusi, ia akan memeriksa apakah rutin ybs sudah berada di dalam memori (diakses oleh proses lain yang run), kalau belum ada maka rutin tersebut diload
·         Stub menempatkan dirinya pada alamat rutin dan mengeksekusi rutin tersebut
Dynamic Linking membutuhkan beberapa dukungan dari OS, misal:
·         Bila proses-proses di memori utama saling diproteksi, maka SO melakukan pengecekan apakah rutin yang diminta berada diluar alamat.
·         Beberapa proses diijinkan untuk mengakses memori pada alamat yang sama.
File dynamic linking berekstensi:
·         .dll
·         .sys
·         .drv

Overlay
Hanya instruksi dan data yang diperlukan pada suatu waktu yang disimpan di memori. Overlay diperlukan jika ukuran proses lebih besar dari memori yang dialokasikan untuknya.
Overlay tidak membutuhkan dukungan khusus dari SO antara lain:
·         User dapat mengimplementasikan secara lengkap menggunakan struktur file sederhana
·         OS memberitahu hanya jika terdapat I/O yang melebihi biasanya

2.1.2 Strategi Manajemen Memori
Strategi yang dikenal untuk mengatasi hal tersebut adalah memori maya. Memori maya menyebabkan sistem seolah-olah memiliki banyak memori dibandingkan dengan keadaan memori fisik yang sebenarnya. Memori maya tidak saja memberikan peningkatan komputasi, akan tetapi memori maya juga memiliki bberapa keuntungan seperti:
 Large Address Space
Membuat sistem operasi seakan-akan memiliki jumlah memori melebihi kapasitas memori fisik yang ada. Dalam hal ini memori maya memiliki ukuran yang lebih besar daripada ukuran memori fisik.
Proteksi
Setiap proses di dalam sistem memiliki virtual address space. Virtual address space tiap proses berbeda dengan proses yang lainnya lagi, sehingga apapun yang terjadi pada sebuah proses tidak akan berpengaruh secara langsung pada proses lainnya
Memory Mapping
Memory mapping digunakan untuk melakukan pemetaan image dan file-file data ke dalam alamat proses. Pada pemetaan memori, isi dari file akan di link secara langsung ke dalam virtual address space dari proses.
Fair Physical Memory Allocation
Digunakan oleh Manajemen Memori untuk membagi penggunaan memori fisik secara “adil” ke setiap proses yang berjalan pada sistem.
Shared Virtual Memory
Meskipun tiap proses menggunakan address space yang berbeda dari memori maya, ada kalanya sebuah proses dihadapkan untuk saling berbagi penggunaan memori.

2.1.3 Ruang Alamat Logika dan Fisik
Alamat Logika adalah alamat yang digenerate oleh CPU, disebut juga Alamat Virtual. Alamat Fisik adalah alamat yang terdapat di memori. Perlu ada penerjemah (translasi) untuk menerjemahkan bahasa dari alamat logika ke alamat fisik. MMU (Memory Management Unit) adalah perangkat keras yang memetakan alamat logika ke alamat fisik.
Dalam Skema MMU:
·         Menyediakan perangkat register yang dapat diset oleh CPU: setiap proses mempunyai data set register tersebut (disimpan di PCB)
·         Harga dalam register base/relokasi ditambahkan ke setiap alamat proses user pada saat run dimemori
·         Program-program user hanya berurusan dengan alamat logika saja

2.1.4 Swapping
Sebuah proses, sebagaimana telah diterangkan di atas, harus berada di memori sebelum dieksekusi. Proses swapping menukarkan sebuah proses keluar dari memori untuk sementara waktu ke sebuah penyimpanan sementara dengan sebuah proses lain yang sedang membutuhkan sejumlah alokasi memori untuk dieksekusi. Tempat penyimpanan sementara ini biasanya berupa sebuah fast disk dengan kapasitas yang dapat menampung semua salinan dari semua gambaran memori serta menyediakan akses langsung ke gambaran tersebut. Jika eksekusi proses yang dikeluarkan tadi akan dilanjutkan beberapa saat kemudian, maka ia akan dibawa kembali ke memori dari tempat penyimpanan sementara tadi. Bagaimana sistem mengetahui proses mana saja yang akan dieksekusi? Hal ini dapat dilakukan dengan ready queue. Ready queue berisikan semua proses yang terletak baik di penyimpanan sementara maupun memori yang siap untuk dieksekusi. Ketika penjadwal CPU akan mengeksekusi sebuah proses, ia lalu memeriksa apakah proses bersangkutan sudah ada di memori ataukah masih berada dalam penyimpanan sementara. Jika proses tersebut belum berada di memori maka proses swapping akan dilakukan seperti yang telah dijelaskan di atas.
Sebuah contoh untuk menggambarkan teknik swapping ini adalah sebagai berikut: Algoritma Round-Robin yang digunakan pada multiprogramming environment menggunakan waktu kuantum (satuan waktu CPU) dalam pengeksekusian proses-prosesnya. Ketika waktu kuantum berakhir, memory manager akan mengeluarkan (swap out) proses yang telah selesai menjalani waktu kuantumnya pada suatu saat serta memasukkan (swap in) proses lain ke dalam memori yang telah bebas tersebut. Pada saat yang bersamaan penjadwal CPU akan mengalokasikan waktu untuk proses lain dalam memori. Hal yang menjadi perhatian adalah, waktu kuantum harus cukup lama sehingga waktu penggunaan CPU dapat lebih optimal jika dibandingkan dengan proses penukaran yang terjadi antara memori dan disk.
Teknik swapping roll out, roll in menggunakan algoritma berbasis prioritas dimana ketika proses dengan prioritas lebih tinggi tiba maka memory manager akan mengeluarkan proses dengan prioritas yang lebih rendah serta me-load proses dengan prioritas yang lebih tinggi tersebut. Saat proses dengan prioritas yang lebih tinggi telah selesai dieksekusi maka proses yang memiliki prioritas lebih rendah dapat dimasukkan kembali ke dalam memori dan kembali dieksekusi.
Sebagian besar waktu swapping adalah waktu transfer. Sebagai contoh kita lihat ilustrasi berikut ini: sebuah proses pengguna memiliki ukuran 5 MB, sedangkan tempat penyimpanan sementara yang berupa harddisk memiliki kecepatan transfer data sebesar 20 MB per detiknya. Maka waktu yang dibutuhkan untuk mentransfer proses sebesar 5 MB tersebut dari atau ke dalam memori adalah sebesar 5000 KB / 20000 KBps = 250 ms.
Perhitungan di atas belum termasuk waktu latensi, sehingga jika kita asumsikan waktu latensi sebesar 2 ms maka waktu swap adalah sebesar 252 ms. Oleh karena terdapat dua kejadian dimana satu adalah proses pengeluaran sebuah proses dan satu lagi adalah proses pemasukan proses ke dalam memori, maka total waktu swap menjadi 252 + 252 = 504 ms.
Agar teknik swapping dapat lebih efisien, sebaiknya proses-proses yang di- swap hanyalah proses-proses yang benar-benar dibutuhkan sehingga dapat mengurangi waktu swap. Oleh karena itulah, sistem harus selalu mengetahui perubahan apapun yang terjadi pada pemenuhan kebutuhan terhadap memori. Disinilah sebuah proses memerlukan fungsi system call, yaitu untuk memberitahukan sistem operasi kapan ia meminta memori dan kapan membebaskan ruang memori tersebut.
Jika kita hendak melakukan swap, ada beberapa hal yang harus diperhatikan. Kita harus menghindari menukar proses dengan M/K yang ditunda (asumsinya operasi M/K tersebut juga sedang mengantri di antrian karena peralatan M/Knya sedang sibuk). Contohnya seperti ini, jika proses P1dikeluarkan dari memori dan kita hendak memasukkan proses P2, maka operasi M/K yang juga berada di antrian akan mengambil jatah ruang memori yang dibebaskan P1 tersebut. Masalah ini dapat diatasi jika kita tidak melakukan swap dengan operasi M/K yang ditunda. Selain itu, pengeksekusian operasi M/K hendaknya dilakukan pada buffer sistem operasi.
Tiap sistem operasi memiliki versi masing-masing pada teknik swapping yang digunakannya. Sebagai contoh pada UNIX, swapping pada dasarnya tidak diaktifkan, namun akan dimulai jika banyak proses yang membutuhkan alokasi memori yang banyak. Swapping akan dinonaktifkan kembali jika jumlah proses yang dimasukkan berkurang. Pada sistem operasi Microsoft Windows 3.1, jika sebuah proses baru dimasukkan dan ternyata tidak ada cukup ruang di memori untuk menampungnya, proses yang lebih dulu ada di memori akan dipindahkan ke disk. Sistem operasi ini pada dasarnya tidak menerapkan teknik swapping secara penuh, hal ini disebabkan pengguna lebih berperan dalam menentukan proses mana yang akan ditukar daripada penjadwal CPU. Dengan ketentuan seperti ini proses-proses yang telah dikeluarkan tidak akan kembali lagi ke memori hingga pengguna memilih proses tersebut untuk dijalankan.

2.1.5 Pencatatan Pemakain Memori
Memori yang tersedia harus dikelola, dilakukan dengan pencatatan pemakaian memori. Terdapat dua cara utama pencatatan pemakaian memori, yaitu:

1.      Peta Bit.
Memori dibagi menjadi unit-unit alokasi, berkorespondensi dengan tiap unit alokasi adalah satu bit pada bit map.
·         Nilai 0 pada peta bit berarti unit itu masih bebas.
·         Nilai 1 berarti unit digunakan.
Masalah pada peta bit adalah penetapan mengenai ukuran unit alokasi memori, yaitu:
·         Unit lokasi memori berukuran kecil berarti membesarkan ukuran peta bit.
·         Unit alokasi memori n berukuran besar berarti peta bit kecil tapi memori banyak disiakan pada unit terakhir jika ukuran proses bukan kelipatan unit alokasi.
Keunggulan:
·         Dealokasi dapat dilakukan secara mudah, hanya tinggal menset bit yang berkorespondensi dengan unit yang telah tidak digunakan dengan 0.
Kelemahan:
·         Harus dilakukan penghitungan blok lubang memori saat unit memori bebas.
·         Memerlukan ukutan bit map besar untuk memori yang besar.

2.      Linked List.
Sistem operasi mengelola senarai berkait (linked list) untuk segmen-segmen memori yang telah dialokasikan dan bebas. Segmen memori menyatakan memori untuk proses atau memori yang bebas (lubang). Senarai segmen diurutkan sesuai alamat blok.
Keunggulan:
·         Tidak harus dilakukan perhitungan blok lubang memori karena sudah tercatat di node.
·         Memori yang diperlukan relatif lebih kecil.
Kelemahan:
·         Dealokasi sulit dilakukan karena terjadi berbagai operasi penggabungan

2.1.6 Monoprogramming
Monoprogramming sderhana tanpa swapping merupakan manajemen memori sederhana. Sistem computer hanya mengijinkan satu program pemakai berjalan pada satu waktu. Semua sumber daya sepenuhnya dikuasai proses yang sedang berjalan.
Ciri-ciri:
·         Hanya satu proses pada satu saat
·         Hanya satu proses menggunakan semua memori
·         Pemakai memuatkan program ke seluruh memori dari disk/tape
·         Program mengambil alih kendali seluruh mesin
Karena hanya terdapat satu proses dan menguasai seluruh sistem maka alokasi memori dilakukan secara berturutan.

Embedded system
Teknik monoprogramming masih dipakai untuk sistem kecil yaitu system tempelan (Embedded sitem) yang terdapat pada system lain. Sistem tempelan menggunakan mikroprosessor kecil. Sistem ini biasanya mengendalikn suatu alat sehingga bersifat intelejen(intelejentdevice) dalam menyediakan satu fungsi spesifik.
Proteksi pada monoprogramming sederhana
Pada monoprogramming pemakai memiliki kendali penuh terhadapmemori utama. Memori terbagi menjadi 3 bagian, yaitu
·         Bagian rutin system operasi
·         Bagian program pemakai
·         Bagian yang tidak digunakan
Masalah proteksi di monoprogramming adalah cara untuk melindungi rutin system operasi dari penghancuran program pemakai. Program pemakai dapat tersesat sehingga memanipulasi atau menempati ruang memori rutin system operasi. Aktivitas ini dapat merusak system operasi.
Proteksi diimplementasikan dengan menggunakan satu register batas di processor. Setiap kali program pemakai mengacu alamat memori dibandingkan dengan register batas untuk memastikan proses tidak pemakai tidak merusak system operasi, yaitu tidak melewati nilai register batas.
Register batas berisi alamat memori tertinggi yang dipakai system operasi. Jika program pemakai mencoba memasuki system operasi, instruksi diintersepsi dan job diakhiri dan diberi pesan kesalahan.

2.1.7 Pengalokasian Berurutan (Contigous Allocation)
Alokasi memori secara berturutan adalah tiap proses menempati satu blok tunggal memori yang berturutan
Multiprograming
Multiprogramming merupakan banyak proses pada memori utama pada saat bersamaan. Alasan mengunakan multiprogramming:
·         Mempermudah pemogram karena pemrogram dapat memecah program menjadi dua proses atau lebih.
·         Dapat memberi layanan interaktif ke beberapa orang secara simultan.
·         Efisiensi penggunaan sumber daya.
·         Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil.
·         Dapat mengerjakan sejumlah job secara simultan
Multiprogramming dengan Pemartisisan Dinamis
Jumlah lokasi dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis.
Kelemahan:
·         Dapat terjadi lubang-lubang kecil memori di antara partisi-partisi yang dipakai.
·         Merumitkan alokasi dan dealokasi memori
Multiprogramming dengan Permartisian Statis
Terbagi dua:
·         Pemartisian menjadi partisi-partisi berukuran sama, yaitu ukuran semua partisi memori adalah sama
·         Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori adalah berbeda.
System Buddy
Sistem buddy adalah algoritma pengelolaan memori yang memanfaatkan kelebihan penggunaan bilangan biner dalam pegalamatan memori. Karakteristik bilangan biner digunakan untuk mempercepat penggabungan lubang-lubang berdekatan ketika proses terakhir atau dikeluarkan.

2.1.8 Pengalokasian Tak Berurutan (Non Contiguous Allocation)
Program/proses ditempatkan pada beberapa segmen berserakan, tidak perlu saling berdekatan atau berurutan. Biasanya digunakan untuk lokasi memori maya sebagai lokasi page-page.
Kelebihan: sistem dapat memanfaatkan memori utama secara lebih efesien, dan sistem opersi masih dapat menyisip proses bila jumlah lubang-lubang memori cukup untuk memuat proses yang akan dieksekusi.
Kekurangan: memerlukan pengendalian yang lebih rumit dan memori jadi banyak yang berserakan tidak terpakai.
Terdapat 2 (dua) macam pemilahan, yaitu
a. Berpilah Suku (paging)
Informasi atau pekerjaan di dalam memori dukung dipilah ke dalam sejumlah suku (page), dan memori kerja dipilah ke dalam sejumlah rangka (frame)
b. Berpilah Segmen (segmentasi)          
Pilahan yang ukuran segmen disesuaikan dengan isi segmen salah satu macam pemilahan gabungan suku dan segmen adalah pemilahan suku bersegmen, dimana suku dikelompokan ke dalam sejumlah segmen.
Chace memory memiliki kecepatan lebih tinggi sebagai memori antara yang mempercepat proses pada memory kerja, juga sebagai transit lalulintas data selama proses dengan sumberdaya lain pada memori utama.
Pemindahan proses dari memori utama ke disk dan sebaliknya disebut swapping.

BAB 3
PENUTUP

3.1 Kesimpulan
Dalam sistem operasi komputer mengenal suatu sistem manajemen file. Sistem manajemen file ini perlu diimplementasikan untuk dapat digunakandalam sistem operasi komputer. Dalam pengimplementasiannya, seringkalimenimbulkan beberapa masalah, oleh karena itu masalah tersebut harus dapatdiselesaikan oleh sistem operasi komputer. Penyelesaiannya memiliki beberapa cara yang masing-masing memiliki keunggulun dan kelemahantersendiri. Kinerja dari sistem manajemen file pun memiliki beberapa carayang dapat digunakan seperti yang telah kami paparkan dalam isi makalah ini. Kita juga harus menguasai dalam pembuatan database dan memahamisistem berkas dalam komputer, karena database dapat membantu kitamembuat suatu sistem yang praktis, tanpa redundansi dan mudah untuk digunakan, walaupun dalam penggunaannya memiliki beberapa kekurangan. Sedangkan sistem berkas, dapat membantu kita untuk mengelola berkas dalam pengelolaan komputer.
File system atau manajemen file adalah metode dan struktur data yang digunakan sistem operasi untuk mengatur dan mengorganisir file pada disk atau partisi. File system juga dapat diartikan sebagai partisi atau disk yang digunakan untuk menyimpan file-file dalam cara tertentu. Cara memberi suatu file system ke dalam disk atau partisi dengan cara melakukan Format.



3.2 Saran
Memahami bagaimana cara kerja sistem operasi beserta atribut-atributnya dapat membuat kita mamahami dan mudah membuat program yang kita inginkan. Oleh karena itu, menambah wawasan mengenai komputer dapat menjadi satu solusi agar kita bisa lebih maju sebagai mahasiswa jurusan informatika dan sebagai manusia yang hidup dalam era globalisasi seperti sekarang ini.

















DAFTAR ISTILAH

   1.      Boot: Suatu proses meletakkan kernel ke dalam memory.
   2.      Kernel: Suatu program ini dari Sistem Operasi.
   3.      Shell: Bertugas membaca input dari pengguna.
   4.      Driver: Perangkat lunak yang digunakan untuk berinteraksi dan mengontrol hardware internal             maupun eksternal.
   5.      Memory: Pusat kegiatan dari sebuah computer.
   6.      CPU: otak dari computer.
   7.      Sistem Operasi: suatu perangkat lunak yang menghubungkan antara user dengan perangkat keras. System Operasi yang paling banyak digunakan saat ini adalah: Windows, Unix, Linux dan MacOS.
   8.      RAM: Random Access Memory, Suatu media penyimpanan hasil proses yang dibaca dan tulisnya secara random. Data pada media ini akan hilang apabila daya tidak tidak dialirkan padanya.
   9.      ROM: Read Only Memory, suatu media khusus yang digunakan untuk menyimpan firmware yang hanya bisa ditulis oleh produsen perangkat.
   10.  Cache: File sementara hasil pemrosesan yang tersimpan di memori.
   11.  Floppy Disk: suatu media penyimpanan yang bentuknya pipih, data yang mampu ditampung tidak lebih dari 50MB.
  12.  Harddisk: Media penyimpanan yang berguna untuk menyimpan data-data user maupun Sistem Operasi.
  13.  Compiler: Suatu software yang berguna untuk memproses suatu kode program menjadi file executable.
   14.  Stub: Potongan kecil yang mengindikasikan bagaimana me-load library jika routine tidak tersedia saat itu.
    15.  Queue: antrian proses dari dan menuju ke lokasi pemrosesan.
    16.  Node: Self-Referential Object: Objek yang merepresentasikan dirinya sendiri.
   17.  PCB: Printed Circuit Board, suatu papan yang digunakan untuk meletakkan komponen perangkat keras. Misalkan RAM, ROM, Processor.
    18.  Unix: Salah satu jenis Sistem Operasi selain Windows dan MacOS. OS ini open-source.
   19.  I/O: Input/Output, suatu media masukkan atau keluaran pada computer. Contoh input: keyboard, mouse. Contoh output: printer, monitor.
  20.  GUI/CLI: Graphical User Interface/Command Line Interface, adalah bentuk tampilan Sistem Operasi atau program yang masih umum digunakan saat ini. Contoh GUI: Sistem Operasi saat ini. Contoh CLI: DOS, CMD, Terminal pada Linux, Unix dan MacOS.
















DAFTAR PUSTAKA

Sabtu, 07 April 2018

Penjadwalan Proses pada Sistem Operasi


MAKALAH
PENJADWALAN PROSES PADA SISTEM OPERASI










Penyusun

Fransiskus Eko Utomo
12116916













SISTEM OPERASI
UNIVERSITAS GUNADARMA
2017/2018









KATA PENGANTAR

Puji dan Syukur saya haturkan kepada Tuhan Yang Maha Esa, karena dengan Karunia dan rahmat-Nya lah saya dapat menyusun makalah mengenai Penjadwalan Proses pada Sistem Operasi. Tanpa Karunia yang Tuhan berikan, mungkin saya tidak menyelesaikan makalah ini dengan maksimal.
Makalah ini telah saya susun dengan maksimal dan mendapatkan bantuan dari berbagai pihak sehingga dapat memperlancar pembuatan makalah ini. Untuk itu, kami menyampaikan banyak terima kasih kepada semua pihak yang telah berkontribusi dalam pembuatan makalah ini.
Terlepas dari semua itu, saya menyadari sepenuhnya bahwa masih banyak kekurangan baik dari segi susunan kalimat maupun tutur kata dalam makalah ini. Oleh karena itu, saya mengharapkan adanya kritik dan saran dari pembaca agar kami dapat memperbaiki makalah ini.
Akhir kata, kami berharap semoga makalah ilmiah yang sudah saya susun ini dapat memberikan manfaat maupun inspirasi Bagi pembaca sekalian.






Sentul, 08 April 2018



Penyusun






DAFTAR ISI

KATA PENGANTAR.......................................................................... 2
DAFTAR ISI .........................................................................................  3
BAB 1 PENDAHULUAN ....................................................................  4
          1.1 Latar Belakang ........................................................................  4
          1.2 Tujuan Pembelajaran................................................................ 4
          1.3 Manfaat Penulisan.................................................................... 4
BAB 2 ISI............................................................................................... 5
          2.1 Penjadwalan Proses................................................................. 5
          2.2 Strategi Penjadwalan............................................................... 6
                 2.2.1 Penjadwalan Non Preemptive ......................................  6
                 2.2.2 Penjadwalan Preemptive ..............................................  7
BAB 3 PENUTUP................................................................................. 10
          3.1 Kesimpulan.............................................................................. 10
DAFTAR ISTILAH.............................................................................. 11
DAFTAR PUSTAKA ..........................................................................  12









BAB I
PENDAHULUAN

1.1     LATAR BELAKANG

Penjadwalan merupakan konsep utama dalam multitasking,sistem operasi multi prosesor dan sistem operasi real-time Penjadwalan adalah cara atau metode berbagai proses dilaksanakan pada CPU, dimana biasanya terdapat lebih banyak proses yang dijalankan daripada jumlah CPU yang tersedia. Hal ini diatur oleh software scheduler dan dispatchare.
Tujuan dari multiprogramming adalah untuk memiliki sejumlah proses yang berjalan pada sepanjang waktu, untuk memaksimalkan penggunaan CPU. Tujuan dari pembagian waktu adalah untuk mengganti CPU dantara proses-proses yang begitu sering sehingga user dapat berinteraksi dengan setap program sambil CPU bekerja.
Jika ada proses yang lebih dari itu, yang lainnya akan harus menunggu sampai CPU bebas dan dapat dijadwalkan kembali.

1.2     TUJUAN PEMBELAJARAN

   1.      Mendeskripsikan pengertian dari penjadwalan proses pada Sistem Operasi
   2.      Mengetahui tipe-tipe penjadwalan pada system operasi
   3.      Mendeskripsikan konsep dasar penjadwalan pada system operasi
   4.      Mengetahui macam-macam strategi penjadwalan pada system operasi
   5.      Mengetahui algoritma penjadwalan pada system operasi.

1.3     MANFAAT PENULISAN

   1.       Dapat mendesktipsikan pengertian penjadwalan proses
   2.       Dapat mengetahui tipe penjadwalan apa saja dalam system operasi
   3.       Dapat mendeskripsikan mengenai konsep dasar penjadwalan
   4.       Dapat mengetahui macam-macam strategi penjadwalan
   5.       Dapat mengetahui strategi penjadwalan.








BAB II
ISI

2.1          PENJADWALAN PROSES

A. Pengertian Penjadwalan Proses
Penjadwalan Proses adalah kumpulan kebijaksanaan dan mekanisme di Sistem Operasi yang berkaitan dengan urutan kerja yang dilakukan Sistem Komputer.
Penjadwalan bertugas memutuskan hal-hal berikut:
1. Proses yang harus berjalan
2. Kapan dan berapa lama proses berjalan
B. Kriteria Kinerja Penjadwalan
Ada beberapa kriteria untuk mengukur dan optimasi kinerja penjadwalan:

   1.      Adil
Adil adalah memperlakukan proses-proses yang sedang berjalan secaraa sama rata, yaitu mendapat jatah waktu layanan pemrosesan yang sama dan tidak ada proses yang tidak mendapatkan layanan pemroses sehingga tidak mengalami kondisi proses tidak pernah berjalan karena tidak pernah dijadwalkan untuk berjalan.

   2.      Efisiensi
Efisiensi yang dihitung dengan perbandingan (rasio) waktu sibuk pemrosesan dengan total waktu operasi sistem komputer secara keseluruhan. Jadi, untuk menghitung efisiensi suatu penjadwalan proses, dapat kita hitung dengan menggunakan perbandingan antara waktu sibuk pemrosesan dengan total waktu operasi sistem komputer. Setelah itu, baru kita dapat hasil perbandingan untuk menentukan ratio efisiensi.

Tujuan utama penjadwalan adalah menjaga agar proses tetap dalam keadaan sibuk sehingga efisiensi sistem komputer mencapai nilai maksimum. Layanan proses termasuk waktu yang dihabiskan untuk mengeksekusi program pemakai dan layanan sistem operasi secara efektif, bukan melakukan penjadwalan itu sendiri.

   3.      Response Time
Response Time atau Waktu Tanggap berbeda untuk:
A. Sistem Interaktif
B. Sistem Waktu Nyata


Response time pada sistem interaktif dapat diartikan sebagai waktu yang digunakan dari saat karakter terakhir dari perintah muncul di layar (terminal / console)
Pada sistem waktu nyata (real time), waktu dari saat kemunculan suatu kejadian sampai instruksi pertama layanan terhadap kejadian dieksekusi.

   4.      Turnaround Time
Adalah waktu yang dihabiskan dari saat program atau proses mulai masuk ke sistem sampai proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan dalam sistem, diekspresikan sebagai jumlah waktu eksekusi (waktu pelayanan job) dan waktu menunggu (turnaround time = waktu eksekusi + waktu tunggu).

   5.      Throughput
Adalah jumlah pekerjaan yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah proses pemakai yang dapat dieksekusi dalam satu unit dalam interval waktu. Sasaran penjadwalan adalah memaksimalkan jumlah job yang diproses per satu interval waktu.

Lebih tinggi angka throughput, lebih banyak kerja yang dilakukan sistem. Kriteria-kriteria tersebut saling bergabung dan dapat pula saling bertentangan sehingga tidak memungkinkan untuk mengoptimasi semua kriteria secara simultan.

2.2     STRATEGI PENJADWALAN

Strategi Penjadwalan dibagi menjadi 2, yaitu:

          2.2.3      PENJADWALAN NON PREEMPTIVE
Begitu proses diberi jatah pemrosesan, maka proses tidak dapat diambil alih oleh proses lain sampai proses itu selesai. Nonpreemptive juga sering disebut run-to-completion, karena proses yang telah dijadwalkan akan dijalankan sampai selesainya proses atau proses tersebut meminta layanan I/O atau Input/Output.

Contoh algoritma yang menggunakan strategi nonpreemptive yaitu:

·         FIFO (First-In First-Out) atau FOSB (First-Come First-Serve)
Penjadwalan FIFO ini merupakan penjadwalan tidak berprioritas, dan penjadwalan dengan ketentuan paling sederhana. Yaitu:

·         Proses diberi jatah waktu pemrosesan diurutkan berdasarkan waktu kedatangan proses itu ke sistem.
·         Pada saat proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai.

Penjadwalan ini dikatakan adil dalam arti yang adil yaitu proses yang pertama datang akan dilayani pertama kali. tetapi dinyatakan tidak adil, karena proses yang perlu waktu lama akan membuat proses yang membutuhkan waktu yang sebentar menunggu. Misalkan ada proses yang sangat penting, akan membuat proses tersebut harus delay dahulu, karena menunggu proses yang tadi diselesaikan dahulu.

·         Kelemahan FIFO:
§  Penjadwalan sangat tidak memuaskan karena proses harus menunggu proses lain, waktu tanggapnya buruk. Kurang cocok untuk sistem interaktif.
§  Turnaround time buruk
§  Throughput buruk
§  Tidak dapat digunakan untuk pengaplikasian waktu nyata (real-time application)

           2.2.4      PENJADWALAN PREEMPTIVE

Pada penjadwalan Preemptive, proses dapat disela atau diinterupsi oleh proses lain sebelum selesai dan haris dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.

Penjadwalan preemptive berguna pada sistem yang membutuhkan perhatian atau tanggapan pemrosesan secara cepat, misalnya:

  §  Pada sistem real-time, interupsi tidak dilayani dapat berakibat fatal
  §  Pada sistem interaktif time-sharing, penjadwalan preemptive agar dapat menjamin waktu tanggap yang memadai.

            1.      Penjadwalan SJF (Shortest Job First)

Penjadwalan ini merupakan penjadwalan berprioritas, Dimana penjadwalan ini lebih mementingkan pemrosesan yang penting sekali. Proses dengan prioritas yang sama akan dijadwalkan secara FIFO.

Penjadwalan ini mengasumsikan waktu jalan proses (sampai proses selesai dilaksanakan) atau waktu lamanya proses diketahui sebelumnya.

Keunggulan penjadwalan SJF ini adalah mempunyai efisiensi tinggi dan turnaround time yang rendah. Selain itu, penjadwalan ini selalu memperhatikan rata-rata waktu respon terkecil, maka sangat baik untuk sistem interaktif.

2.     Penjadwalan Round Robin (RR)

  §  Merupakan penjadwalan yang menerapkan strategi non preemptive.
  §  Mudah diimplementasikan dan juga merupakan penjadwalan yang paling tua.
  §  Penjadwalan yang berjalan tanpa meiliki prioritas.
  §  Berasumsi bahwa semua proses memiliki kepentingan yang sama, sehingga tidak ada prioritas tertentu.

Semua proses, mau itu yang proses yang singkat sampai proses paling penting sekalipun, dianggap sama, sehingga diberi sejumlah waktu oleh pemroses. Jika proses masih berjalan sampai akhir kuantum, maka CPU akan mem-preempt proses itu dan memerikannya ke proses lain. Penjadwal membutuhkannya dengan memelihara daftar proses dari runnable.

Algoritma yang digunakan pada penjadwalan RR:
a. Jika kuantum habis, dan proses belum selesai, maka proses menjadi runnable dan proses akan dialihkan ke proses lain.
b. Jika kuantum belum habis dan proses menunggu suatu suatu kejadian atau misalkan selesainya proses Input Output, maka proses akan di block dan proses akan dilihkan ke proses lain.
c. Jika kuanta belom habis tetapi proses telah selesai, maka proses diakhiri dan pemroses dialihkan ke proses lain.

Penjadwalan Round Robin diimplemetasikan dengan
1. Mengelola proses yang telah siap di proses (runnable) sesuai urutan kedatangan
2. Mengubah status proses yang berada di paling depan antrian menjadi processed
3. Bila kuanta belum habis dan proses selesai, maka ambil proses di ujung depan antrian proses ready
4. Jika kwanta habis dan proses belum selesai, maka tempatkan proses running ke ekor antrian proses ready dan ambil proses di ujung depan antrian proses ready.
Masalah yang timbul adalah menentukan besar kuanta, yaitu:
  §  kwanta terlalu besar menyebabkan waktu tanggap besar dan turnaround time rendah
  §  kwanta terlalu kecil menyebabkan peralihan proses terlalu banyak sehingga menurunkan efisiensi proses.

Dengan permasalahan tersebut tentunya harus ditetapkan kwanta waktu yang optimal berdasarkan kebutuhan sistem. Besar kwanta waktu beragam tergantung beban sistem. Apabila nilai kuantum terlalu singkat, akan menyebabkan terlalu banyak switch antar proses dan efisiensi CPU akan buruk.

Jika nilai quantum terlalu besar akan menyebabkan respon CPU akan lambat, sehingga proses yang singkat akan menunggu lama. Nilai quantum yang dapat diterima sistem adalah 100 msec.

Kelebihan penjadwalan Round Robin
  §  Adil bila dipandang dari persamaan pelayanan oleh pemroses
  §  Cenderung efisien pada sistem interaktif.
  §  Turnaround time cukup baik.

Kelemahan RR
  §  Waktu tanggap tidak memadai untuk sistem interaktif waktu maya atau hard-real-time application.



3.      Priority Scheduling (PS)
Priority Scheduling adalah tiap proses diberi prioritas, dan proses yang berprioritas tinggi mendapat jatah waktu lebih dahulu.
Pemberian prioritas diberikan secara:
1. Statis (Static Priority)

      a.       Kelebihan Prioritas Statis

  §  Mudah diimplemetasikan
  §  Mempunyai overhead relatif kecil

     b.      Kelemahan Prioritas Statis

  §  Tidak tanggap terhadap perubahan lingkungan yang mungkin mengehndaki penyesuaian prioritas.

2. Dinamis (Dynamic Priority)
Merupakan mekanisme untuk menanggapi perubahan lingkungan system beroperasi. Prioritas awal yang diberikan ke proses mungkin hanya berumur pendek setelah disesuaikan ke nilai yang lebih tepat sesuai lingkungan.

a.       Kelemahan:
  §  Implemetasi mekanisme prioritas dinamis lebih kompleks dan mempunyai overhead lebih besar. Overhead ini diimbangi dengan peningkatan daya terhadap sistem.

b.      Kelebihan:
  §  Memiliki penyesuaian terhadap prioritas
  §  Tanggap terhadap perubahan lingkungan yang mungkin menghendaki (Dinamis disini maksudnya kan "selalu bergerak", makanya mekanisme ini harus siap kapanpun pemrosesan dibutuhkan.)




  

BAB III
PENUTUP

Penjadwalan proses yaotu kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan oleh sistem komputer.
Kriteria untuk mengukur dan optimasi kerja penjadwalan yaitu:
- Adil
- Efisiensi
- Waktu tanggap
- Turnaround Time
- Throughput.
Pada sistem operasi, terdapat tiga tipe penjadwalan. Yaitu

a. Penjadwalan Jangka pendek
b. Penjadwalan Jangka menengah
c. Penjadwalan Jangka panjang

Strategi Penjadwalan dibagi menjadi dua, yaitu

a. Penjadwalan Non-Preemptive
b. Penjadwalan Preemptive.



DAFTAR ISTILAH

   1.       Throughput
Jumlah pekerjaan yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah proses pemakai yang dapat dieksekusi dalam  satu unit dalam interval waktu.

   2.       Turnaround time
Adalah waktu yang dihabiskan dari saat program atau proses mulai masuk ke sistem sampai proses diselesaikan sistem.

   3.       Priority scheduling
Adalah tiap proses diberi prioritas, dan proses yang berprioritas tinggi mendapat jatah waktu lebih dahulu.

   4.       Dynamic priority
Mekanisme untuk menanggapi perubahan lingkungan system beroperasi.

   5.       Response time
Waktu tanggap system.


DAFTAR PUSTAKA

http://bebhesschilig.wordpress.com/2013/06/19/makalah-manajemen-proses/



Jika ingin mendapatkan filenya, silahkan klik tautan dibawah ini
DOWNLOAD