Minggu, 03 Januari 2016

File Management,IO Management,Memory Management

FILE MANAGEMENT

A.      PENGERTIAN MANAJEMEN FILE
File System atau "Manajemen File" adalah metode dan struktur data yang digunakan sistem operasi untuk mengatur dan mengorganisasi file pada disk atau partisi. File sistem juga dapat diartikan sebagai partisi atau disk yang digunakan untuk menyimpan file-file dalam cara tertentu.
File mempunyai sifat sebagai berikut :
1. Persistence : Informasi dapat bertahan meski proses yang membangkit-kannya berakhir ata catu daya dihilangkan. Dengan properti ini maka file dapat digunakan untuk hasil-hasil yang diperoleh dari suatu proses dapat digunakan di masa datang. 
2. Size : File umumnya berukuran besar. Memungkinkan menyimpan infor¬masi yang sangat disimpan 
3. Sharability : File dapat digunakan banyak proses mengakses informasi secara kongkruen. 

B.      SASARAN MANAJEMEN FILE
Pengelolaan file adalah kumpulan perangkat lunak sistem yang menyedia¬kan layanan berhubungan dengan penggunaan file ke pemakai dan / atau aplikasi. Biasanya cara pemakai atau aplikasi mengakses file adalah lewat sistem. Pemakai atau pemrogram tidak perlu mengembangkan perangkat lunak khusus untuk mengakses data di tiap aplikasi. Sistem pun menyediakan pengendalian terhadap aset penting ini. Sasaran sistem file adalah sebagai berikut :
1. Memenuhi kebutuhan manajemen data bagi pemakai
2. Menjamin data pada file adalah valid.
3. Optimasi kinerja
4. Menyediakan dukungan masukan/keluaran beragam tipe perangkat penyimpanan.
5. Meminimalkan atau mengeliminasi potensi kehilangan atau perusahaan data.
6. Menyediakan sekumpulan rutin interface masukan/keluaran.
7. Menyediakan dukungan masukan/keluaran banyak pemakai di sistem multiuser.

C.       FUNGSI MANAJEMEN FILE
Beberapa fungsi yang diharapkan dari pengelolaan file adalah :
1. Penciptaan, modifikasi, dan penghapusan file
2. Mekanisme pemakaian file secara bersama
3. Kemampuan backup dan recovery untuk mencegah kehilangan karena kecelakaan atau      dari upaya penghancuran informasi.
4. Pemakai dapat mengacu file dengan nama simbolik (Symbolic name) bukan menggunakanpenamaan yang mengacu perangkat fisik.
5. Pada lingkungan sensitif dikehendaki informasi tersimpan aman dan rahasia.
6. Sistem file harus menyediakan interface user-friendly.

D.      ARSITEKTUR PENGELOLAAN FILE
Pengelolaan file, biasanya terdiri dari :
1. Sistem Akses : Berkaitan dengan bagaimana cara data yang disimpan pada file diakses.
2. Manajemen file : Berkaitan dengan penyediaan mekanisme operasi pada file seperti :--------Penyimpanan
-Pengacuan
-Pemakaian bersama
-Pengamanan
3. Manajemen Ruang Penyimpan: Berkaitan dengan alokasi ruang untuk file di perangkat penyimpan.
4. Mekanisme Integritas File : Berkaitan dengan jaminan informasi pada file tak terkorupsi.

Sistem File
Sistem File di Sistem Operasi
- Sistem file dasar
- Abstraksi File dan Direktori
- Operasi-operasi terhadap file dan Direktori
- Sistem Akses


E.       Tipe File :

Terdapat tiga tipe di sistem operasi, yaitu :
1. File Reguler, File berisi informasi, terdiri dari file ASCII dan biner.
File ASCII berisi baris teks. File biner adalah file yang bukan file ASCII. Untuk file biner eksekusi (exe) mempunyai struktur internal yang hanya diketahui sistem operasi. Untuk file biner hasil program aplikasi, struktur internalnya hanya diketahui program aplikasi yangmenggunakan file tersebut.
2. File Direktori
File direktori merupakan file yang dimiliki sistem untuk mengelola struktur sistem file. File direktori merupakan file berisi informasi-informasi mengenai file-file yang termasuk dalam direktori itu.
3. File Spesial
File spesial merupakan nama logik perangkat masukan/keluaran. Perangkat masukan/keluaran dapat dipandang sebagai file. Pemakai dihindarkan dari kerumitan operasi perangkat masukan/keluaran.
File spesial terbagi dua yaitu :
a. File spesial karakter
File spesial karakter berhubungan dengan perangkat masukan/keluaran aliran karakter file ini memodelkan perangkat masukan/keluaran seperti:
•Terminal
•Printer
•Port jaringan
•Modem
•dan alat –alat yang bukan penyimpan sekunder
b. File spesial blok
File spesial blok berhubungan dengan perangkat masukan/keluaran sebagai kumpulan blok-blok data (berorientasi blok)

F.       ATRIBUT FILE
Informasi tambahan mengenai file untuk memperjelas dan membatasi operasi-operasi yang dapat diterapkan. Atribut dipergunakan untuk pengelolaan file.

G.      Operasi pada file
Create : Menciptakan berkas
Delete : Menghapus berkas
Open : Membuka berkas untuk menyimpan proses selanjutnya
Close : Menutup berkas utuk menyimpan semua informasi ke berkas dan mendealokasikan sumber daya yang digunakan
Read : Membaca data pada berkas
Write : Memodifikasi data pada berkas, yaitu pada posisi yang ditunjuk
Append : Menambah data pada berkas, merupakan operasi write yang
lebih spesifik, yaitu di akhir berkas
Seek : Mencari lokasi tertentu, hanya berlaku untuk berkas akses lacak
Get attributes : Membaca atribut-atribut berkas
Set attributes : Menuliskan (memodifikasi) atribut-atribut berkas
Rename : Mengganti nama berkas

H.      Direktori
Direktori berisi informasi mengenai file. Direktori sendiri adalah file, dimiliki oleh sistem operasi dapat diakses dengan rutin sistem operasi. Meski beberapa informasi direktori tersedia bagi pemakai atau aplikasi, informasi itu umumnya disediakan secara tidak langsung. Pemakai tidak dapat mengakses direktori secara langsung meski dalam mode read-only.
1.       Single directory system


2.       Two level directory system


3.       Hierarchical directory system

I.         Cara akses perangkat penyimpanan :
Perangkap penyimpanan berdasar disiplin pengaksesan dibagi dua, yaitu:
1. Perangkat akses sekuen (sequential access devices) merupakan akses yang paling sederhana dan paling umum digunakan. Informasi di dalam berkas diproses secara berurutan. Sebagai contoh, editor dan kompilator biasanya mengakses berkas dengan cara ini. Proses harus membaca semua byte atau rekord file secara berturutan mulai dari awal, tidak dapat meloncati dan membaca di luar uraian.
2. Perangkat akses acak (random access devices) merupakan akses berkas yang dibuat dari rekaman-rekaman logical yang panjangnya sudah ditentukan, yang mengijinkan program untuk membaca dan menulis rekaman secara tepat tanpa urutan tertentu.
J.       ALOKASI
Terdapat beberapa metode alokasi antara lain alokasi berurutan (contiguous allocation), alokasi berhubungan (linked allocation) dan alokasi berindeks (indexed allocation).

• Alokasi Berurutan (Contiguous Allocation)
 Pada alokasi berurutan, setiap file menempati sekumpulan blok yang berurutan pada disk. Model ini sangat sederhana karena hanya membutuhkan lokasi awal (block #) dan panjang (jumlah blok). Akses pada blok disk dilakukan secara random dan memakan banyak ruang (permasalahan dynamic storage-allocation). File yang disimpan secara berurutan tidak dapat berkembang. Beberapa sistem file yang baru (misalnya Veritas File System) meng-gunakan skema alokasi berurutan yang dimodifikasi. File sistem Extent-based mengalokasikan blok pada disk secara berkembang (extent). Extent adalah blok berurutan pada disk. Extent dialokasikan untuk alokasi file. Sebuah file terdiri dari satu atau lebih extent.

 Alokasi Berhubungan (Linked Allocation) 
Pada alokasi berhubungan, setiap file adalah sebuah linked list dari blok-blok terpisah pada disk. Alokasi berhubungan mempunyai bentuk yang sederhana, hanya memer-lukan alamat awal. Sistem manajemen ruang bebas pada alokasi berhubungan tidak memakan banyak ruang. Model ini tidak menggunakan random access. Blok yang diakses adalah blok ke-Q pada rantai link dari blok pada file. Perpindahan ke blok = R + 1.
 
• Alokasi Berindeks (Indexed Allocation) 
Pada alokasi berindeks, terdapat satu blok yang berisi pointer ke blok-blok file. Alokasi berindeks berupa bentuk logika.
Pada alokasi berindeks, memerlukan tabel indeks yang membawa pointer ke blok-blok file yang lain. Akses dilakukan secara random. Merupakan akses dinamis tanpa fragmentasi eksternal, tetapi mempunyai blok indeks yang berlebih. Pemetaan dari logika ke fisik dalam file ukuran maksimum 256K word dan ukuran blok 512 word hanya memerlukan 1 blok untuk tabel indeks. Apabila pemetaan dari logika ke fisik dalam sebuah file dari ukuran tak hingga (ukuran blok adalah 512 word) maka digunakan skema menghubungkan blok link dari tabel indeks (ukuran tak terbatas). Untuk ukuran file maksimum 5123 digunakan skema two-level Pada skema two-level indeks terdapat tabel indeks luar dan dalam. Indeks dipetakan ke tabel indeks luar kemudian dipetakan ke tabel indeks dalam setelah itu mengakses blok file yang dimaksud.






I/O MANAGEMENT
           
A.      PENGERTIAN
Sering disebut device manager. Menyediakan device driver yang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis, menutup)

B. FUNGSI
1.      Mengirim perintah ke perangkat I/O agar menyediakan layanan.
2.      Menangani interupsi perangkat I/O.
3.      Menangani kesalahan perangkat I/O.
4.      Menyediakan interface ke pemakai.

C. TEKNIK I/O
1.      I/O Terprogram
Pada  I/O  terprogram,  data  saling  dipertukarkan  antara CPU  dan  modul I/O.  CPU mengeksekusi  program  yang memberikan  operasi  I/O  kepada  CPU  secara  langsung,  seperti pemindahan data, pengiriman perintah baca maupun tulis, dan monitoring perangkat.
Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu, apalagi CPU lebih cepat proses operasinya. Dalam teknik ini, modul I/O tidak dapat melakukan interupsi kepada CPU terhadap proses – proses yang diinteruksikan padanya. Seluruh proses merupakan tanggung jawab CPU sampai operasi lengkap dilaksanakan. Untuk  melaksanakan  perintah  –  perintah  I/O,  CPU akan  mengeluarkan  sebuah  alamat bagi  modul  I/O  dan perangkat  peripheralnya  sehingga  terspesifikasi secara  khusus dan  sebuah perintah I/O yang akan dilakukan.
2.      I/O Interrupt Driven
Teknik  interrupt  –  driven  I/O  memungkinkan  proses tidak  membuang  –  buang waktu. Prosesnya  adalah  CPU mengeluarkan  perintah  I/O  pada  modul  I/O,  bersamaan perintah  I/O dijalankan modul I/O maka CPU akan melakukan eksekusi perintah –  perintah lainnya. Apabila modul I/O telah selesai menjalankan instruksi yang diberikan padanya akan melakukan interupsi pada CPU bahwa tugasnya telah selesai.
Dalam teknik ini kendali perintah masih menjadi tanggung jawab CPU, baik pengambilan perintah  dari  memori  maupun pelaksanaan  isi  perintah  tersebut.  Terdapat selangkah  kemajuan dari teknik sebelumnya, yaitu CPU melakukan multitasking beberapa perintah sekaligus sehingga tidak ada waktu tunggu bagi CPU.
3.      I/O DMA ( Direct Memory Access )
Teknik  yang  dijelaskan  sebelumnya  yaitu  I/O  terprogram dan  Interrupt Driven  I/O memiliki  kelemahan,  yaitu  proses yang  terjadi  pada  modul  I/O  masih  melibatkan  CPU  secara langsung. Hal ini berimplikasi pada :
• Kelajuan transfer I/O yang tergantung pada kecepatan operasi CPU.
• Kerja CPU terganggu karena adanya interupsi secara langsung.
Bertolak dari kelemahan di atas, apalagi untuk menangani transferdata bervolume besar
dikembangkan teknik yang lebih baik, dikenal dengan Direct Memory Access (DMA).
Prinsip  kerja  DMA  adalah  CPU  akan  mendelegasikan kerja  I/O  kepada  DMA,  CPU hanya akan terlibat pada awal proses untuk memberikan instruksi lengkap pada DMA dan akhir proses saja.  Dengan  demikian  CPU  dapat  menjalankan  proses  lainnya tanpa  banyak  terganggu dengan interupsi.

D. KOMPONEN
1.      Buffer I/O
Buffer adalah melembutkan lonjakan-lonjakan kebutuhan pengaksesan I/O, sehingga meningkatkan efisiensi dan kinerja sistem operasi.Terdapat beragam cara buffering, antar lain :
a.       Single Buffer
Merupakan teknik paling sederhana. Ketika proses memberi perintah untuk perangkat I/O, sistem operasi menyediakan buffer memori utama sistem untuk operasi.Untuk perangkat berorientasi blok.Transfer masukan dibuat ke buffer sistem. Ketika transfer selesai, proses memindahkan blok ke ruang pemakai dan segera meminta blok lain. Teknik ini disebut reading ahead atau anticipated input. Teknik ini dilakukan dengan harapan blok akan segera diperlukan. Untuk banyak tipe komputasi, asumsi ini berlaku. Hanya di akhir pemrosesan maka blok yang dibaca tidak diperlukan.

b.      Double Buffer
Peningkatan dapat dibuat dengan dua buffer sistem.Proses dapat ditransfer ke/dari satu buffer sementara sistem operasi mengosongkan (atau mengisi) buffer lain. Teknik ini disebut double buffering atau buffer swapping. Double buffering menjamin proses tidak menunggu operasi I/O.

c.       Circular Buffer
Seharusnya melembutkan aliran data antara perangkat I/O dan proses. Jika kinerja proses tertentu menjadi fokus kita, maka kita ingin agar operasi I/O mengikuti proses. Double buffering tidak mencukupi jika proses melakukan operasi I/O yang berturutan dengan cepat. Masalah sering dapat dihindari dengan menggunakan lebih dari dua buffer. Ketika lebih dari dua buffer yang digunakan, kumpulan buffer itu sendiri diacu sebagai circular buffer. Tiap buffer individu adalah satu unit di circular buffer.
2.      Spooling
Melakukan penjadwalan pemakaian I/O sistem supaya lebih efisien (antrian dsb.). Menyediakan driver untuk dapat melakukan operasi rinci untuk perangkat keras I/O tertentu. Manajemen perangkat masukan/keluaran merupakan aspek perancangan sistem operasi terluas dan kompleks karena sangat beragamnya perangkat dan aplikasinya.

E. PERANGKAT I/O
1.      Perangkat Keras
-          Piranti I/O
Piranti I/O adalah piranti(perangkat) yang memiliki tugas meminta input(masukan) dan menghasilkan data (output). Jenis – jenis piranti I/O :
·         piranti penyimpanan, contoh : disk, tape
·         piranti transmisi, contoh : network, modem 
·         piranti antarmuka, contoh : screen, keyboard, mouse

-          Device Control
Merupakan device yang digunakan untuk mengendalikan peralatan tambahan di suatu sistem komputer.

-          Bus I/O
Bus adalah lintasan komunikasi yang menghubungkan dua atau lebuh perangkat komputer. Karakter bus adalah media tranmisi yang dapat digunakan bersama. Sedangkan  sebuah bus yang menghubungkan komponen-komponen utama komputer (CPU ,memori,input/output) disebut sistem bus. Sebuah bus sistem terdiri dari 50 hingga 100 saluran terpisah.
2.      Perangkat Lunak
-          Interrupt Handler
Interupsi adalah suatu permintaan khusus kepada mikroposesor untuk melakukan sesuatu. Program yang melayani suatu interupsi dinamakan Interrupt Handler.

-          Device Driver
Device driver merupakan perangkat lunak yang terintegrasi pada linux kernel untuk mengontrol perangkat keras. Jika device driver telah terimplementasi dengan baik, perangkat yang bersangkutan tidak dapat disalahgunakan oleh user. Hal ini merupakan fungsi protective dari device driver.

-          Subsistem I/O
Menyediakan antarmuka ( interface ) atau fungsi I/O bagi SO atau aplikasi.

-          Pustaka I/O Aplikasi
Mengimplementasikan pustaka pengaksesan I/O atau API (Application Programming Interface) bagi aplikasi untuk melakukan operasi I/O

MEMORY MANAGEMENT

Pengertian dan Tipe Manajemen Memori Pada Sistem Operasi
 - 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.

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, penting untuk memproses dan fasilitas masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses dan sebagai upaya agar pemogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer.

Fungsi Manajemen memori:

Manajemen memori merupakan salah satu bagian terpenting dalam sistem operasi. Memori perlu dikelola sebaik-baiknya agar :

  • Utilitas CPU meningkat.
  • Data dan instruksi dapat diakses dengan cepat oleh CPU.
  • Tercapai efisiensi dalam pemakaian memori yang terbatas.
  • Transfer data dari/ke memori utama ke/dari CPU dapat lebih efisien.
  • Mengelola informasi yang dipakai dan tidak dipakai. 
  • Mengalokasikan memori ke proses yang memerlukan. 
  • Mendealokasikan memori dari proses telah selesai. 
  • Mengelola swapping atau paging antara memori utama dan disk.

TYPE-TYPE MANAJEMEN MEMORI 

A. Berdasarkan keberadaan swapping :

1. Manajemen tanpa swapping.
Manajemen memori tanpa pemindahan citra proses antara memori utama dan disk selama ekseskusi.

2. Manajemen dengan swapping.
Manajemen memori dengan pemindahan citra proses antara memori utama dan disk selama ekseskusi.

B. Manajemen Memori Berdasarkan Alokasi Memori

Terdapat dua cara menempatkan informasi ke dalam memori kerja

1. Alokasi Memori Berurutan (contigouos Allocation)


  • Pada alokasi memori berurutan, setiap proses menempati satu blok tunggal lokasi memori yang berurutan.
  • Kelebihan : sederhana, tidak ada rongga memory bersebaran, proses berurutan dapat dieksekusi secara cepat.
  • Kekurangan : memori boros, tidak dapat disisip apabila tidak ada satu blok memori yang mencukupi.


2. Alokasi Memori Tak Berurutan (Non Contiguous Allocation)


  • Program / proses ditempatkan pada beberapa sagmen 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 efisien, dan system operasi masih dapat menyisip protes bila jumlah lubang-lubang memori cukup untuk memuat proses yang akan dieksekusi.
  • Kekurangan : memerlukan pengendalian yang lebih rumit dan memori jadi banyak berserakan tidak terpakai.


Terdapat 2 manajemen memori:

a. Manajemen memori statis
Dengan pemartisian statis, jumlah, lokasi, dan ukuran proses di memori tidak beragam sepanjang waktu secara tetap.

b. Manajemen memori dinamis
Dengan pemartisian dinamis, jumlah, lokasi, dan ukuran proses di memori dapat berseragam sepanjang waktu secara dinamis.

MANAJEMEN MEMORI PEMARTISIAN STATIS

Kondisi tanpa swapping :

a. Monoprogramming.
Merupakan manajemen memori paling sederhana, sistem komputer hanya mengijinkan satu program/pemakai berjalan pada satu waktu. Semua sumber daya sepenuhnya dikuasi proses yang sedang berjalan. Ciri-cirinya:


  • Hanya terdapat satu proses pada satu saat, sehingga proses baru akan menimpa proses lama yang sudah selesai eksekusi.
  • Hanya satu proses mengunakan semua memori.
  • Pemakai memusatkan program keseluruh memori dari disk atau tape.
  • Program mengambil kendali seluruh mesin.
  • Masih dipakai untuk sistem kecil yaitu sistem tempelan (embedded system) yang menempel atau terdapat disistem lain.
  • Sistem-sistem tempelan menggunakan mikroprosesor kecil, seperti Intel 8051, dan sebagainya.
  • Sistem ini biasanya untuk mengendalikan satu alat sehingga menjadi bersifat intelejen (intelegent devices) dalam menyediakan satu fungsi spesifik. Karena hanya satu fungsi spesifik, dapat diprogram di mikroprosesor dengan memori kecil (1-64 Kb).


b. Multiprogramming dengan pemartisian statis
Multiprogramming dapat dilakukan dengan pemartisian statis, yaitu memori dibagi menjadi beberapa sejumlah partisi tetap. Pada partisi-partisi tersebut proses-proses ditempatkan.

MANAJEMEN MEMORI MULTIPROGRAMMING

melibatkan banyak pemakai secara simultan sehingga di memori akan terdapat lebih dari satu proses bersamaan. Oleh karena itu dibutuhkan sistem operasi yang mampu mendukung dua kebutuhan tersebut.

Melakukan dua aktivitas :


  • Proteksi memori dengan isolasi ruang-ruang alamat secara disjoint (terpisah).
  • Pemakaian bersama memori.


Memungkinkan proses-proses bekerja sama mengakses daerah memori bersama. Ketika konsep multiprogramming digunakan, pemakaian CPU dapat ditingkatkan.

MULTIPROGRAMMING pemartisian statis,

Terdapat beberapa alasan :

a. Mempermudah pemogram.
Pemrogram dapat memecah program menjadi dua proses atau lebih.

b. Agar dapat memberi layanan interaktif ke beberapa orang secara simultan.
Untuk itu diperlukan kemampuan mempunyai lebih dari satu proses dimemori agar memperoleh kinerja yang baik.

c. Efisiensi penggunaan sumber daya.
Bila pada multiprogramming maka proses tersebut diblocked (hanya DMA yang bekerja) dan proses lain mendapat jatah waktu pemroses, maka DMA dapat meningkatkan efisiensi sistem.

d. Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil.

e. Dapat mengerjakan sejumlah job secara simultan.

PEMARTISIAN STATIS BERDASARKAN UKURAN 

Partisi-partisinya terbagi dua :

1. Pemartisian menjadi partisi berukuran sama (ukuran semua partisi memori sama), yaitu:


  • Beberapa proses yang ukurannya kurang atau sama dengan ukuran partisi dimasukkan ke sembarang partisi yang tersedia.


Kelemahan :


  • Bila program berukuran lebih besar dibanding partisi yang tersedia, maka tidak dapat dimuatkan, tidak dapat dijalankan. Pemogram harus mempersiapkan overlay sehingga hanya bagian program yang benar- benar dieksekusi yang dimasukkan ke memori utama dan saling bergantian. Untuk overlay diperlukan sistem operasi yang mendukung swapping.
  • Untuk program yang sangat kecil dibanding ukuran partisi yang ditetapkan, maka banyak ruang yang tak dipakai yang diboroskan, disebut fragmentasi internal. Kelemahan ini dapat dikurangi dengan partisi-partisi tetap berukuran berbeda.


2. Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori adalah berbeda

Strategi penempatan program ke partisi

DESKRIPSI :


  • Strategi penempatan pada pemartisian menjadi partisi-partisi berukuran sama. Penempatan proses ke memori dilakukan secara mudah karena dapat dipilih sembarang partisi yang kosong.
  • Strategi penempatan pada pemartisian menjadi partisi-partisi berukuran berbeda.


Satu antrian untuk tiap partisi (banyak antrian untuk seluruh partisi).

Proses ditempatkan ke partisi paling kecil yang dapat memuatnya.


  • Keuntungan : teknik ini adalah meminimalkan pemborosan memori.
  • Kelemahan : dapat terjadi antrian panjang disuatu partisi sementara antrian partisi-partisi lain kosong.


Satu antrian untuk seluruh partisi.

Proses-proses diantrikan di satu antrian tunggal untuk semua partisi. Proses segera ditempatkan di partisi bebas paling kecil yang dapat memuat.


  • Keunggulan : Lebih fleksibel serta implementasi dan operasi lebih minimal karena hanya mengelola satu antrian.
  • Kelemahan : Proses dapat ditempatkan di partisi yang banyak diboroskan, yaitu proses kecil ditempatkan di partisi sangat besar.


Fragmentasi pada pemartisian statis

Fragmentasi yaitu penyiaan/pemborosan memori akan terjadi pada setiap organisasi penyimpanan.

Fragmentasi pada pemartisian tetap terdiri dari:

a. Fragmentasi internal.
Proses tidak mengisi penuh partisi yang telah ditetapkan untuk proses.

b. Fragmentasi ekstenal.
Partisi dapat tidak digunakan karena ukuran partisi lebih kecil dibanding ukuran proses yang menunggu di antrian, sehingga tidak digunakan

Deskripsi Hirarki memori :


  • Pemakaian memori dua tingkat, menggunakan cache memory yang dapat meningkatkan kinerja dan utilisasi memori secara dinamik.
  • Chace memory merupakan penyimpan berkecepatan tinggi lebih cepat dibanding memori utama.
  • Chace memory lebih mahal dibanding memori utama, sehingga kapasitas cache relatif kecil.


Address Binding


  • Sebelum eksekusi, program/proses berada di dalam disk, dan pada saat dieksekusi ia perlu berada pada suatu lokasi dalam memori fisik.
  • Address binding adalah
menempatkan address relatif program/proses ke dalam address fisik memori (real memory address). Dapat berlangsung dalam salah satu tahapan : kompilasi, load atau eksekusi

Multiprograming dengan swapping 

Pemindahan proses dari memori uatama ke disk dan sebaliknya disebut juga dengan swapping. Dengan swapping, multiprograming sistem timesharing dapat ditingkatkan kinerjanya dengan memindah proses – proses Blocked ke disk dan hanya memasukkan proses – proses Ready ke memori utama.

A. Multiprogramming dengan Pemartisian Dinamis 

Dengan pemartisian dinamis maka jumlah, lokasi dan ukuran proses di memory dapat beragam sepanjang waktu secara dinamis. Proses yang akan masuk ke memori segera dibuatkan partisi untuknya sesuai kebutuhan. Teknik ini meningkatkan utilisasi memori.

Kelemahan pemartisian dinamis adalah : 


  • Dapat terjadi lubang – lubang kecil memori di antara partisi – partisi yang dipakai.
  • Merumitkan alokasi dan dealokasi memori.


a. Terjadi Lubang – Lubang Kecil Memori 

Lubang-lubang(yaitu kelompok blog-blog memori yang tidak digunakan ) kecil diantara blog-blog memori yang digunakan dapat diatasi dengan pemadatan memori (memori compaction). Pemadatan memori adalah operasi mengabungkan semua lubang kecil menjadi satu lubang besar dengan memindahkan semua proses agar saling berdekatan.

Kelemahan utama teknik pemadatan memori: 


  • Memerlukan waktu yang sangat banyak.
  • Sistem harus menghentikan sementra semua proses selagi melakukan pemadatan. Hal ini meningkatkan waktu tanggapan di sistem interaktif dan tak mungkin digunakan sistem waktu nyata.


b. Proses Tumbuh Berkembang 

Masalah lain pada pemartisian dinamis adalah proses dapat tumbuh berkembang segmen data proses dapat tumbuh, karena:


  • Heap untuk mendapat dinamis berkembang.
  • Stack untuk pemanggilan prosedur dan variabel lokal.


Solusi masalah ini adalah bila proses bersebelahan dengan lubang memori tak terpakai. Proses tumbuh memakai lubang itu. Masalah menjadi lebih parah bila proses bersebelahan dengan proses-proses lain.

Peringkat alternative penyelesaian adalah


  • Bila masih terdapat lubang besar yang dapat memuat proses, maka proses dipindahkan ke lubang memori yang cukup.
  • Satu proses atau lebih di-swap ke disk agar dapat memberi lubang cukup besar untuk proses yang berkembang.
  • Jika proses tidak dapat tumbuh dimemori dan daerah swap di disk telah penuh, proses harus menungggu atau disingkirkan.


B. Pencatatan Pemakaian Memori 

Memori yang tesedia harus dikelola, dilakukan dengan pencatatan pemakaian memori. Terdapat tiga cara utama pencatatan pemakaian memori, yaitu:


  • Pencatatan memakai peta bit (bit map).
  • Pencatatan memakai senarai berkait.
  • Pencatatan memakai sistem buddy.

a. Pencatatan Memakai Peta Bit.

Memori dibagi menjadi unit – unit alokasi, berkorespondensi dengan tiap unit alokasi adalah satu bit pada peta bit.


  • 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 alokasi memori berukuran kecil berarti membesarkan ukuran peta bit.
  • Unit alokasi memori n berukuran besar berarti peta bit kecil tapi memori hanya disiakan pada unit terakhir masing – masing proses jika ukuran proses bukan kelipatan unit alokasi.


Keunggulannya: 


  • Dealokasi dapat dilakukan secara mudah, hanya tinggal meng – set bit yang berkorespondensi dengan unit yang telah tidak digunakan dengan 0.


Kelemahan : 


  • Harus dilakukan perhitungan blok lubang memori saat unit memori bebas.
  • Memerlukan ukuran peta bit besar untuk memori yang besar.


b. Pencatatan Memakai Senarai Berkait. 

Sistem operasi mengelola senarai berkait untuk blok – blok memori yang dialokasikan dan bebas. Blok memori menyatakan memori untuk proses atau memori yang bebas.

Keunggulan : 


  • Tidak ada penghitungan blok lubang memori karena sudah tercatat di simpul.
  • Memori yang diperlukan relatif lebihkecil.


Kelemahannya : 


  • Dealokasi sulit dilakukan karena terjadi beberapa operasi penggabungan simpul – simpul di senarai.


C. Strategi Alokasi Memori 

Terdapat beragam strategi alokasi proses ke memori. Alokasi harus mencari sekumpulan blok memori yang ukurannya mencukupi untuk memuat proses yaitu lubang kosing yang sama atau lebih besar dibanding ukuran memori yang diperlukan proses.

Adapun beragam algoritma seperti : 

a. First – fit Algorithm
Strategi ini dapat dilakukan pada pencatatan memori dengan peta bit maupun senarai berkait.

Keunggulan yaitu Algoritma ini akan menemukan lubang memori paling cepat dibanding algoritma – algoritma lain.

b. Next – fit Algorithm 
Mekanisme algoritma ini sama dengan algoritma first – fit algorithm, hanya penelusuran tidak dimulai dari awal tapi dimulai dari posisi terakhir kali menemukan segmen untuk proses.

c. Best – fit Algorithm 
Algoritma mencari sampai akhir dan mengambil lubang terkecil yang dapat memuat proses. Algoritma ini mencoba menemukan lubang yang mendekati ukuran yang diperlukan.

Kelemahan : 


  • Sangat lambat dibanding first – fit algorithm karena selalu menelusuri seluruhnya setiap kali dipanggil.
  • Memori diboroskan lebih banyak dibanding first – fit atau next – fit dan next – fit selalu mengisi lubang kecil yang tidak digunakan.


d. Worst – fit Algorithm 
Algoritma ini selalu mencari lubang besar yang tersedia sehingga lubang dapat dipecah menjadi cukup besar agar berguna untuk proses – proses berikutnya.

e. Quick – fit Algorithm
Keempat algoritma ini dapat dipercepat dengan mengelola dua senarai yaitu :


  • Senarai untuk proses.
  • Senarai untuk lubang memori.


Keunggulan


  • Teknik ini mempercepat pencarian lubang atau penempatan proses.


Kelemahan


  • kompleksitas dealokasi memori bertambah dan melambatkan dealokasi memori karena memori yang dibebaskan harus dipindahkan dari senarai proses ke senarai lubang.


D. Sistem Buddy 

Adalah algoritma pengelola memori yang memanfaatkan kelebihan penggunaan bilangan biner untuk pengalamatan memori. Bilangan biner digunakan untuk mempercepat penggabungan lubang – lubang berdekatan ketika proses berakhir atau dikeluarkan.

Manajer memori mengelola senarai blok – blok bebas berukuran 1, 2, 4, 8, 16 byte dan seterusnya, sampai kapasitas memori. Pada komputer dengan 1 megabyte memori maka terdapat 21 senarai yaitu dari 1 byte sampai 1 megabyte.

Mekanisme Pengelola


  • Awalnya semua memori adalah bebas dan hanya satu senarai 1 megabyte berisi satu isian tunggal satu lubang 1megabyte. Senarai – senarai lain adalah kosong.


Keunggulan :


  • Sistem buddy mempunyai keunggulan dibandingkan dengan algoritma yang mengurutkan blok – blok bedasar ukuran. Ketika blok berukuran 24 dibebaskan, maka manajer memori
  • Hanya mencari pada senarai lubang 24 untuk memeriksa apakah dapat dilakukan penggabungan. Alokasi dan dealokasi pada sistem buddy dapat dilakukan dengan cepat.


Kelemahan :


  • Utilisasi memori pada sistem buddy sangat tidak efesien.


E. Alokasi Ruang Swap pada Disk 

Ada dua yaitu : ruang disk tempat swap dialokasikan begitu diperlukan dan ruang disk tempat swap dialokasikan lebih dulu.

1. Ruang Disk tempat swap dialokasikan begitu diperlukan.
Ketika proses harus dikeluarkan dari memori utama, ruang disk segera dialokasikan sesuai ukuran proses. Untuk itu diperlukan algoritma untuk mengelola ruang disk seperti untuk mengelola memori utama. Ketila proses dimasukkan kembali ke memori utama, segera ruang disk untuk swap didealokasikan.

2. Ruang Disk tempat swap dialokasikan lebih dahulu.
Saat proses diciptakan, ruang swap pada disk dialokasikan. Ketika proses harus dikeluarkan dari memori utama, proses selalu ditempatkan ke ruang yang telah dialokasikan, bukan ke tempat – tempat berbeda setiap kali terjadi swap out. Ketika proses berakhir, ruang swap pada disk didealokasikan.





Selasa, 03 November 2015

SCHEDULING

Scheduling
Behaviour of Process
  1. Process-bound : dilihat dari proses itu sendiri
  2. I/O bound : dilihat dari input dan output

CPU Scheduler()
  • Algoritma  scheduling:  Memilih dari proses-proses yang berada di memori (ready to execute) dan memberikan jatah CPU ke salah satu proses tersebut.
  • CPU Scheduler berfungsi untuk menampilkan proses-proses didalam sebuah memori yang sudah siap untuk dieksekusi, dan dialokasikan ke dalam CPU.
  • CPU scheduling mempunyai 4 keputusan :
  1. berubah dari running ke waiting state
  2. berubah dari running ke ready state
  3. berubah dari waiting ke ready state
  4. terminate/mengakhiri
  • Scheduling nomor 1 dan 4 adalah non-preemptive
  • Scheduling nomor 2 dan 3 adalah preemptive
Types of Scheduler
  • Long-term scheduling -> Menyeleksi proses-proses mana yang harus dimasukkan ke dalam ready queue dan membawanya ke memori untuk dieksekusi .
  • Medium-term scheduling -> Menentukan apakah menambah sebagian jumlah proses atau seluruhnya dalam memori utama
  • Short-term -> Menentukan proses mana yang selanjutnya akan dieksekusi dan mengalokasikan CPU untuk proses tersebut, dimana pemilihan proses barunya dialokasikan sesering mungkin.
  • I/O scheduling -> I/O device yang tersedia akan menghandle proses I/O yang tertunda
Dispatcher
Dispatcher mengatur dan memberikan kontrol CPU kepada proses yang dipilih oleh “short-term scheduler”. Dispatcher melibatkan :
  • perubahan konteks
  • perubahan ke mode user
  • melompat ke lokasi yang salah dalam program user
Dispatcher latency adalah waktu yang dibutuhkan oleh dispatcher untuk menyelesaikan 1 proses dan memulai proses yang lainnya.
Scheduling Criteria :
  • CPU utilization :  untuk menjaga agar CPU tetap dalam keadaan sibuk/bekerja (menggunakan CPU semaksimal mungkin).
  • Throughput :  maksimalkan jumlah proses yang selesai dijalankan (per satuan waktu).
  • Turnaround time : meminimalkan waktu selesai eksekusi suatu proses (sejak di submit sampai selesai).
  • Waiting time : meminimalkan waktu tunggu proses  (jumlah waktu yang dihabiskan menunggu di ready queue).
  • Response time :  meminimalkan waktu respon dari sistem terhadap user (interaktif, time-sharing system), sehingga interaksi dapat berlangsung dengan cepat.
Optimization Criteria :
  • Max CPU utilization : Penggunaan CPU secara maksimal
  • Max throughput : Penyelesaian jumlah proses yang maksimal
  • Min turnaround time : Waktu yang diperlukan semakin cepat semakin baik
  • Min waiting time : Waktu menunggu seminimal mungkin
  • Min response time : Waktu untuk merespon secepat mungkin
Goal of Scheduling
  1. All system
    – Fairness : mengatur proses dalam penggunaan bersama sumber daya CPU secara adil
    – Policy enforcement :  memastikan kebijakan yang diterapkan berjalan
    – Balance : menjaga semua bagian sistem dalam keadaan sibuk
  2. Batch system
    – Throughput : memaksimalkan jumlah job per jam (jobs per hour)
    – Turn around time :  meminimalkan waktu dari mulai (submission) hingga berakhir (termination)
    – CPU utilization : mengupayakan CPU selalu sibuk sepanjang waktu
  3. Interactive system
    – Response time : merespon permintaan (request) dengan cepat
    – Proportionallity : memenuhi harapan pengguna (user’s expectation)
  4. Real time system
    – Meeting deadlines : menghindari kehilangan data
    – Predictability : menghindari penurunan kualitas dalam sistem multimedia
Batch Scheduling Algorithms
Ada beberapa metode dalam scheduling :
1.  First-Come First-Serve
Proses diassign ke dalam CPU secara urut.
Keuntungan : Mudah dimengerti dan mudah diprogram
Kelemahan  : Pekerjaan yang lebih singkat tetap harus menunggu meskipun ada pekerjaan yang lebih lama berada di depannya
.

2.  Shortest Job First
Pekerjaan yang lebih ringan akan dikerjakan terlebih dahulu.
Shortest Job First mempunyai 2 skema yaitu Preemptive  dan Non Preemptive.
  • Non preemptive :  saat CPU diberi proses maka harus menunggu proses tersebut sampai selesai terlebih dahulu.
  • Preemptive : Jika ada proses baru yang datang dengan jumlah CPU burst time nya lebih sedikit dibandingkan dengan sisa CPU burst time proses yang sedang berjalan maka proses yang baru datang tersebut dapat dijalankan terlebih dahulu. Skema ini juga dikenal sebagai Shortest-Remaining-Time-First (SRTF).
– Shortest Job First – Non Preemptive

– Shortest Job First – Preemptive

Contoh soal :
Tugas dari Buku Operating Systems: Internals and Design Principles: International Edition,7th Edition Halaman 447 nomor 9.2
Process
Arrival Time
Processsing Time
A
0
3
B
1
5
C
3
2
D
9
5
E
12
5
Jawab :
1. First-Come First-Serve

Seperti yang telah dijelaskan diatas, FCFS menggunakan prinsip FIFO yaitu First In First Out.
Waktu menunggu A = 0 detik karena tidak ada proses yang berjalan sebelumnya pada saat proses A datang oleh karena itu proses A bisa langsung dikerjakan.
Waktu menunggu B = 2 detik karena arrival time proses B=1 sedangkan proses A baru selesai pada detik ke 3. Jadi waktu menunggunya adalah 3-1=2.
Waktu menunggu C = 5 detik karena arrival time proses C=3 sedangkan proses B baru selesai pada detik ke 8. Jadi waktu menunggunya adalah 8-3=5.
Waktu menunggu D = 1 detik karena arrival time proses D=9 sedangkan proses C baru selesai pada detik ke 10. Jadi waktu menunggunya adalah 10-9=1.
Waktu menunggu E = 3 detik karena arrival time proses E=12 sedangkan proses D baru selesai pada detik ke 15. Jadi waktu menunggunya adalah 15-12=3.
Jadi ..
Waktu menunggu untuk A=0, B=2, C=5, D=1, E=3
Rata-rata waktu menunggu = (0+2+5+1+3)/5 = 2,2 detik
2. Shortest Job First – Non Preemptive

Pada Non Preemptive proses yang waktu pengerjaanya lebih cepat bisa dikerjakan terlebih dahulu dengan catatan proses yang sebelumnya harus diselesaikan terlebih dahulu.
Seperti biasa proses A dijalankan terlebih dahulu karena tidak ada proses yang berjalan sebelumnya dan waktu menunggunya adalah 0 detik.
Nah sekarang proses yang dijalankan selanjutnya adalah proses C. kenapa tidak proses B terlebih dahulu? bukannya proses B yang datang lebih dulu dibandingkan proses C? Seperti yang telah dijelaskan sebelumnya proses yang waktu pengerjaannya lebih cepat maka dijalankan terlebih dahulu. Proses C memiliki processing tme = 2 , sedangkan proses B memiliki processing time = 5. Jadi waktu menunggu proses c adalah 0 karena saat datang langsung dikerjakan.
Proses selanjutnya adalah B. Mengapa harus B? padahal proses B,D dan E memiliki processing time yang sama? alasannya adalah karena proses B datang terlebih dahulu, selanjutnya baru proses D dan E yang dijalankan.
Waktu menunggu proses B = 4, karena proses B baru dijalankan pada detik ke 5 sedangkan proses B datang pada detik ke 1. Jadi 5-1=4 detik.
Waktu menunggu proses D = 1, karena proses D baru dijalankan pada detik ke 10 sedangkan proses D datang pada detik ke 9. Jadi 10-9=1 detik
Waktu menunggu proses E = 1, karena proses D baru dijalankan pada detik ke 15 sedangkan proses D datang pada detik ke 12. Jadi 15-12=3 detik
Waktu menunggu untuk A=0, B=4, C=0, D=1, E=3
Rata-rata waktu menunggu = (0+4+0+1+3)/5 = 1,6 detik
3. Shortest Job First – Preemptive

Kebetulan jawaban Preempive pada soal ini sama persis dengan jawaban non-preemptive, namun secara teknik pengerjaan tentu ada yang berbeda. Yang membedakan adalah pada preemptive kita bisa menghentikan proses yang sedang berjalan jika ada proses yang datang pada waktu tersebut dengan processing time yang lebih rendah.
Misalnya pada detik ke 0 datang proses A dengan processing time 4, lalu pada detik ke 2 ada proses C datang dengan processing time 1, yang dilakukan pada preemptive ini adalah menjalankan proses C terlebih dahulu dengan kata lain proses A di delay waktu pengerjaannya. Setelah proses C selesai pada detik ke 3 maka proses A bisa dilanjutkan kembali dengan waktu menunggunya adalah 1 detik (3-2=1). Namun jika ada proses baru lagi yang datang dengan processing time nya lebih rendah dari A , maka proses A bisa tertunda lagi sampai proses tersebut selesai dijalankan. Begitu juga dengan proses-prosess selanjutnya.
Jadi untuk jawaban preemptive adalah :
Waktu menunggu untuk A=0, B=4, C=0, D=1, E=3
Rata-rata waktu menunggu = (0+4+0+1+3)/5 = 1,6 detik