Featured Products

Vestibulum urna ipsum

product

Detail | Add to cart

Aliquam sollicitudin

product

Detail | Add to cart

Pellentesque habitant

product

Detail | Add to cart

Manajemen Memori

Manajemen Memori

Key-Words :

l Binding

Binding adalah proses penempatan suatu item ke dalam lokasi memori tertentu. Secara sederhana, data binding adalah menarik informasi dari suatu obyek dan menampilkan pada user interface Anda tanpa menulis banyak kode.

Pada dasarnya data binding di WPF sama dengan pendekatan di Windows Form. Seperti pada Windows Form, pada WPF disediakan fasilitas untuk mem-binding semua informasi pada property dan object dan memasukan ke dalam property dari elemen lain. Jadi disini, tidak mesti binding itu adalah dengan object database.

Ada tiga model Binding Direction :

  • OneWay : Target property akan terupdate jika source property berubah
  • TwoWay : Target property akan terupdate jika source property dan begitu pula sebaliknya
  • OneTime : Target property inisial set berdasarkan nilai dari source property.

Berikut adalah gambar Binding Direction :

bindingdirect

l Dynamic Loading

Dynamic loading adalah salah satu konsep manajemen memori dimana tidak semua bagian program diambil ke memori, hanya bagian-bagian yang diperlukan saja yang harus tetap tinggal dalam memori.

Dengan dynamic loading ini, suatu rutin tidak akan diambil sampai rutin tersebut dibutuhkan (dipanggil). Pada saat suatu rutin butuh memanggil rutin yang lainnya, maka pertama-tama rutin pemanggil tersebut akan memeriksa apakah rutin yg dibutuhkan tsb sudah pernah diambil. Jika

belum maka rutin yg dipanggil tersebut diambil dan dialokasikan di memori utama.

l Dynamic Linking

Dynamic Linking konsepnya sama dengan dynamic loading, hanya saja tekanannya pada proses linking. Dengan adanya dynamic linking ini dimungkinkan adanya share library yang dibuat oleh suatu aplikasi untuk digunakan oleh aplikasi lainnya. Ada beberapa file yang mendukung adanya dinamic linking, yaitu file-file yang berekstensi .dll (dynamic link libraries), .sys, atau .drv .

Tanpa adanya dynamic linking, maka semua program aplikasi perlu untuk menduplikat library ke dalam bahasanya, jika ini terjadi maka akan menimbulkan pemborosan ruang memori utama maupun disk.

l Swapping – Overlay

Swapping adalah suatu proses yang dapat dialihkan sementara dari memori ke suatu tempat penyimpanan, dan dipanggil kembali ke memori jika akan melanjutkan eksekusi. Contohnya adalah proses multiprogramming (mengguna-kan algoritma penjadwalan CPU Round Robin).

Salah satu klasifikasi manajemen memori didasarkan pada ada/tidaknya swapping. Manajemen memori tanpa swapping terdiri dari manajemen monoprogramming dan multiprogramming dengan partisi statis. Sedangkan multi programming dengan partisi dinamis termasuk manajemen memori dengan swapping.

Overlay adalah membagi program yang besar menjadi bagian bagian yang lebih kecil dan dapat dimuat dalam memori utama. Yang harus selalu ada dalam memori utama biasanya adalah program penggeraknya, sedangkan bagian-bagian pendukungnya diletakkan dalam memori sekunder.

l Compaction

Compactation, yaitu mengatur kembali isi memori agar memori yang kosong diletakkan bersama di suatu bagian yang besar.

Compactation hanya dapat dilakukan apabila relokasi bersifat dinamis dan pengalamatan dilakukan pada saat proses dijalankan. Dapat menyebabkan suatu

proses menempati lokasi memori yang berbeda selama

proses tersebut dijalankan.

l Memori Maya – Memori Nyata

Memori maya adalah kemampuan mengalamati ruang memori melebihi memori utama yang tersedia.

Gagasan memori maya adalah ukuran gabungan program, data dan stack melampaui jumlah memori fisik yang tersedia. Sistem Operasi menyimpan bagian-bagian proses yang sedang digunakan di memori utama dan sisanya di disk. Begitu bagian di disk diperlu kan maka bagian di memori yang tidak diperLukan disingkirkan diganti bagian di disk yang diperlukan itu. Memori maya dapat dilakukan dengan tiga cara, yaitu:

  1. Paging.
  2. Segmentasi.
  3. Kombinasi paging dan segmentasi.

Alamat Maya (Virtual Address)

Alamat yang dihasilkan dengan perhitungan menggunakan

index register, base register, segment register dan sebagainya.

Alamat Nyata (Real Address)

Alamat yang tersedia di memori utama fisik.

l Dynamic Partitions – Static Partitions

Partisi tunggal adalah alamat pertama yang dialokasikan untuk proses adalah yang berikutnya dari alamat yang dialokasikan untuk proses sebelumnya.

Partisi banyak adalah dimana Sistem Operasi menyimpan informasi tentang semua bagian memori yang tersedia untuk digunakan (disebut hole).

Proses yang akan dialokasikan dimasukkan ke dalam antrian dan algoritma penjadualan digunakan untuk menentukan proses mana yang akan dialokasikan berikutnya.

Pemartisan Menjadi Partisi-Partisi Berukuran Sama

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

Kelemahan

Bila program ukurannya lebih besar dibanding partisi yang tersedia maka tidak dapat dimuatkan, tidak dapat dijalankan .Pemrogram 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.

Pemartisan Menjadi Partisi-Partisi Berukuran Beda

Terdapat dua strategi penempatan program ke partisi, yaitu:

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

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 di suatu partisi sementara antrian partisi-partisi lain kosong.

l Monoprogramming – Multiprogramming

Monoprogramming sederhana tanpa swapping merupakan manajemen memori

paling sederhana, sistem komputer hanya mengijinkan satu program/pemakai berjalan pada satu waktu. Semua sumber daya sepenuhnya dkuasi proses yang sedang berjalan.

Manajemen memori monoprogramming sederhana mempunyai ciri-ciri berikut :

a. Hanya terdapat satu proses pada satu saat, sehingga proses baru akan

menimpa proses lama yang sudah selesai eksekusi.

b. Hanya satu proses mengunakan semua memori.

c. Pemakai memusatkan program keseluruh memori dari disk atau tape.

d. Program mengambil kendali seluruh mesin.

Karena hanya terdapat satu proses dan menguasai seluruh sistem, maka

eksekusi memori dilakukan secara berurutan.

Teknik ini digunakan sampai sekitar 1960, ditinggalkan bahkan untuk

komputer pribadi karena tiap proses harus berisi device driver perangkat

I/O yang digunakan.

Multiprogramming, dilakukan dengan cara membagi memori menjadi beberapa partisi dengan ukuran tetap. Jika ada beberapa proses yang menggunakan memori utama dalam waktu yang bersamaan, maka memori harus dibagi menjadi beberapa partisi dengan ukuran tertentu. Tiap-tiap partisi digunakan oleh satu proses.

Jika proses telah selesai, maka lokasi partisi tersebut akan digunakan oleh proses yang lain. SO yang menggunakan model ini adalah: IBM OS2/360 yaitu Multiprogramming with a Fixed number of Tasks (MFT).

Terdapat beberapa alasan kenapa multiprogramming digunakan, yaitu:

Mempermudah pemrogram.

Agar 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.

Pembetulan Soal Mid


SISTEM OPERASI

S O A L

  1. a. Uraikan definisi dan fungsi sistem operasi.

    b. Tuliskan 3 contoh sistem operasi.

  2. Menurut Tanembaum perkembangan sistem operasi dibagi dalam 5 generasi. Uraikan perbedaan mendasar generasi I dan generasi II?
  3. Gambarkan state dasar proses (tiga keadaan) serta jelaskan deskripsi dari keadaan tiga keadaan tersebut (ready, blocked dan running)?
  4. Apa yang dimaksud dengan :
    1. Strategi Preemtive dan Non-Preemtive
    2. PCB
    3. Multiprocessing System
    4. Multiprogramming
  5. Berikan contoh illustrasi (beserta penjelasan) tentang kondisi :
    1. Mutual Exclusion
    2. Deadlock
    3. Starvation
  6. Misalkan ada empat proses (P1, P2, P3 dan P4) meminta pelayanan dari CPU sebagai berikut :

Proses

Arrival time

Bust time (ms)

Kapasitas

Prioritas

P1

0

10

150 KB

3

P2

2

4

50 KB

1

P3

3

9

51.200 Byte

1

P4

5

X

100 KB

2

Hitunglah :

a. AWT, jika pelayanan dilakukan dengan algoritma Penjadwalan SRF

b. AWT jika pelayanan dilakukan dengan algoritma Penjadwalan Priority Scheduling (Priority By Size : Proses dengan ukuran terkecil didahulukan).

c. AWT, jika pelayanan dilakukan dengan algoritma Penjadwalan RR dengan Q = 3.

d. Algoritma apa yang paling efisien (dari kedua algoritma pada poin "a" , "b",) untuk kasus diatas, kemukakan alasan anda!

X : Digit terakhir NPM anda + 3

~ Selamat Bekerja ~

J A W A B A N

  1. a. Definisi sistem operasi
    1. Software yang mengontrol hardware;
    2. Program yang menjadikan hardware lebih mudah untuk digunakan
    3. Kumpulan program yang mengatur kerja komputer;
    4. Resource manager atau resource allocator, Sebagai program pengontrol;
    5. Sebagai Kernel, yaitu program yang terus menerus running selama komputer dihidupkan;
    6. Sebagai guardian, yaitu yang mengatur atau menjaga komputer dari berbagai kejahatan komputer

    Fungsi sistem operasi

    1. Pengelola seluruh sumber daya sistem komputer (resource manager): Mengelola seluruh sumber daya yang terdapat pada sistem komputer,baik yang berupa fisik yaitu hardware maupun yang berupa abstrak yaitu data dan program .
    2. SO sebagai penyedia layanan (extended/virtual machine) yaitu SO menyediakan sekumpulan layanan (system calls) ke pemakai, sehingga memudahkan dan menyamankan penggunaan atau pemanfaatan sumber daya sistem komputer

    b. Contoh Sistem Operasi :

    1. Sistem Operasi Ms DOS
    2. Sistem Operasi Linux
    3. Sistem Operasi Windows XP


  2. Perbedaan mendasar sistem operasi generasi 1 dan generasi2
    1. Generasi 1 :
      1. Sistem operasi ini hanya mampu menjalankan pekerjaan satu per satu, dengan mengumpulkan program dan data satu persatu (Singlestream Batch Processing Systems)
      2. Komponen utamanya berupa tabung hampa udara
      3. Semua operasi komputer dilakukan secara manual melalui plugboards, dan hanya bisa digunakan untuk menghitung (+, - dan *)
    2. Generasi 2 :
      1. Masih menggunakan prinsip Batch Processing System
      2. Komponen utamanya berupa transistor
      3. Input memakai punch card


  3. Gambar State dasar porses tiga keadaan

    Deskripsi :

  • Submit : new à ready

Proses yang baru akan segera mempunyai status ready;

  • Event wait : running à blocked

Proses menunggu kejadian alokasi sumber daya atau selesainya layanan perangkat I/O;


  • Time - out : running
    à ready

Penjadwal memutuskan eksekusi proses lain karena jatah waktu untuk proses tersebut telah habis;


  • Event occurs : blocked à ready

Sumber daya yang diminta/diperlukan telah tersedia atau layanan perangkat I/O selesai;

  • Dispatch: ready à running

Proses mendapatkan jatah memakai pemroses.

  1. Yang dimaksud dengan
    1. Strategi preemtive : Begitu proses diberi jatah waktu pemroses maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai.

      Strategi non-preemtive : Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih proses lain sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.

    2. PCB : merupakan Process Control Block yang digunakan oleh SO untuk masing-masing proses yang akan direpresentasikan
    3. Multiporcessing System : Suatu CPU mampu melakukan beberapa Proses daLaM waktu yang bersamaan.
    4. Multiprogramming : Beberapa job yang siap untuk dieksekusi dikumpulkan dalam sebiah pool. Sistem operasi mengambil job-job tersebut dan meletakkannya dimemori dalam bentuk antrian. Jika suatu job yang sedang dieksekusi menunggu I/O, maka job tersebut untuk sementara dapat digantikan oleh job berikut.


  1. Penjelasan tentang kondisi dan contoh ilustrasinya

    Mutual Exclusion adalah jaminan bahwa hanya satu proses yang mengakses sebuah sumber daya (perintah) pada suatu interval waktu tertentu.





    Penjelasan : Transaksi pada masing – masing Cabang Bank tersebut tidak dapat dilakukan dalam waktu yang sama.

    Deadlock merupakan proses menunggu suatu kejadian yang tidak akan pernah terjadi.

    P1 R1

R2

P2 R1

R2

Penjelasan : Jika P1 memiliki R1 dan P2 memiliki R2, apabila tidak ada yang saling melepas Sumber daya proses akan berhenti.

Starvation merupakan proses menunggu sesuatu yang entah kapan bisa terjadi. tanah dari petani karena para petani masih mengirim kacang tanah ke rumah A dan C, maka rumah B menunggu entah kapan petani akan mengirim kacang tanah ke rumahnya.

P1

P2 CPU

P3

Penjelasan : Dimana jika CPU hanya melayani P1 dan P3 maka P2 dalam kondisi Starvation.

  1. Dik : 4 proses yaitu P1, P2, P3, dan P4

Proses

Arrival Time

Bust Time

Kapasitas

Proiritas

P1

P2

P3

P4

0

2

3

5

10

4

9

( 1+ 3 ) = 4

150 kb

50 kb

51.200 Byte

100 kb

3

1

1

2


Dit :

  1. AWT dengan Algoritma Penjadwalan SRF?
  2. AWT dengan Algoritma Penjadwalan Priority Schedulling (PS) dengan ukuran terkecil didahulukan?
  3. AWT dengan Algoritma Penjadwalan Round Robin Schedulling (RR), dengan Q = 3?
  4. Algoritma apa yang paling efisien diantara a, b, dan c?

Peny :

  1. Algoritma Penjadwalan SRF

    Gant Chart:

P1

P2

P4

P1

P3

0 2 6 10 18 27

Waktu tunggu masing-masing proses, yaitu:

Proses

Waiting Time (ms)

P1

P2

P3

P4

0 + (10-2) = 8

2 – 2 = 0

18 – 3 = 15

6 – 5 = 1


  1. Algoritma Penjadwalan PS

    Gant chart:

P2

P3

P4

P1

0 4 13 17 27

Proses

Waiting Time (ms)

P1

P2

P3

P4

17

0

4

13


  1. Algoritma Penjadwalan RR, dengan Q=3

    Gant chart:

P1

P2

P3

P4

P1

P2

P3

P4

P1

P3

P1



0 3 6 9 12 15 16 19 20 23 26 27

Proses

Waiting Time (ms)

P1

P2

P3

P4

0+(12-3)+(20-15)+(26-23) = 17

3+(15-6) = 12

6+(16-9)+(23-19) = 17

9+(19-12) = 16


  1. Algoritma yang lebih efisien adalah Algoritma SRF dengan AWT = 6 ms. Karena pada saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih proses lain sehingga proses disela

    sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.

Algoritma Penjadwalan

SISTEM OPERASI


  1. Hitunglah AWT dari Penjadwalan berikut dengan Menggunakan Strategi Penjadwalan Priority Scheduling?

Proses

Burst Time (ms)

Prioritas

P1

P2

P3

P4

P5

7

2

3

2

10

3

4

3

1

2


Gant Chart:

P4

P5

P1

P3

P2

0 2 12 19 22 24

Waktu tunggu yang diberikan untuk tiap – tiap proses terlihat Pada tabel di bawah ini :

Proses

Waiting Time (ms)

P1

P2

P3

P4

P5

12

22

19

0

2


  1. Hitunglah AWT dari Penjadwalan berikut dengan Menggunakan Strategi Penjadwalan FCFS?

Proses

Burst Time (ms)

P1

P2

P3

23

6

6


Gant Chart:

P1

P2

P3

0 23 29 35

Waktu tunggu yang diberikan untuk tiap – tiap proses terlihat Pada tabel di bawah ini :

Proses

Waiting Time (ms)

P1

P2

P3

0

23

29




  1. Hitunglah AWT dari Penjadwalan berikut dengan Menggunakan Strategi Penjadwalan Round Robin, Q = 3 ?

Proses

Burst Time (ms)

P1

P2

P3

23

6

6


Gant Chart :


P1

P2

P3

P1

P2

P3

P1

P1

P1

P1

P1

P1

0 3 6 9 12 15 18 21 24 27 30 33 35

Waktu tunggu yang diberikan untuk tiap – tiap proses terlihat Pada tabel di bawah ini :

Proses

Waiting Time (ms)

P1

P2

P3

0 + (9-3) + (18-12) = 12

3 + (12-6) = 9

6 + (15-9) = 12




  1. Hitunglah AWT dari Penjadwalan berikut dengan Menggunakan Strategi Penjadwalan SRF?

Proses

Arrival Time

Burst Time (ms)

P1

P2

P3

P4

0

3

4

7

8

4

9

5


Gant Chart:


P1

P2

P1

P4

P3

0 3

Waktu tunggu yang diberikan untuk tiap – tiap proses terlihat Pada tabel di bawah ini :

Proses

Waiting Time (ms)

P1

P2

P3

P4

0 + (7-3) = 4

3 - 3 = 0

17 – 4 = 13

12 – 7 = 5