Operasi
Rachmat Jaenal Abidin, S.T.,M.T
Sistem Operasi (1)
OS (Operating System) merupakan merupakan
program yang mengatur eksekusi program dan
bertindak sebagai interface antara aplikasi dan
perangkat keras.
Tujuan Sistem Operasi :
Kemudahan.
Efisiensi.
Kemampuan untuk berkembang.
1. Managemen Proses.
2. Managemen Memori Utama.
3. Managemen Secondary-Storage.
4. Managemen Sistem I/O.
5. Managemen Berkas.
Managemen Proses
Proses adalah keadaan ketika sebuah program sedang
di eksekusi.
Proses membutuhkan beberapa sumber daya berupa
CPU time, memori, berkas-berkas, dan perangkat-
perangkat I/O untuk menyelesaikan tugasnya.
Tanggung jawab Sistem operasi atas aktivitas
managemen proses:
1. Pembuatan dan penghapusan proses pengguna dan
sistem proses.
2. Menunda atau melanjutkan proses.
3. Menyediakan mekanisme untuk proses sinkronisasi.
4. Menyediakan mekanisme untuk proses komunikasi.
5. Menyediakan mekanisme untuk penanganan deadlock
Managemen Memori Utama
Memori utama adalah sebuah array yang besar terdiri dari word atau
byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan
jutaan.
Memori Utama berfungsi sebagai tempat penyimpanan yang akses
datanya digunakan oleh CPU atau perangkat I/O.
Memori utama termasuk tempat penyimpanan data yang sementara
(volatile), artinya data dapat hilang begitu sistem dimatikan.
Tanggung jawab Sistem operasi atas aktivitas managemen memori:
1. Menjaga track memori yang sedang digunakan dan siapa yang
menggunakannya.
2. Memilih program yang akan di-load ke memori.
3. Mengalokasikan dan meng-dealokasikan ruang memori sesuai
kebutuhan.
Managemen Secondary-Storage
Operasi I/O :
pengguna tidak bisa mengontrol I/O secara langsung
(untuk efisiensi dan keamanan), sistem harus
bisa menyediakan mekanisme utk melakukan operasi
I/O
Deteksi error :
mempertahankan kestabilan dengan mendeteksi error
(pada CPU, perangkat keras memori, I/O,program
pengguna) dan jika bisa, memperbaikinya
Pelayanan Tambahan
Accounting :
menentukan berapa banyak dan berapa lama users menggunakan
sumber daya sistem
Proteksi :
menjaga semua akses ke sumber daya sistem terkontrol
Evolusi Sistem Operasi
Perkembangan sistem operasi :
Generasi Pertama
Generasi Kedua
Generasi Ketiga
Generasi Keempat
1
Peranan Sistem Operasi Dalam
Struktur Sistem Komputer
• Operating System
• Computer Hardware
• Utilities
• Aplication Programs
2
Peranan Sistem Operasi Dalam
Struktur Sistem Komputer
3
Peranan Sistem Operasi Dalam
Struktur Sistem Komputer
• Operating System
Perangkat lunak lapisan pertama yang
diletakkan pada media penyimpan (hard
disk) di komputer. Sementara itu perangkat
lunak lainnya berada padai lapisan ke dua.
4
Peranan Sistem Operasi Dalam
Struktur Sistem Komputer
• Computer Hardware
Semua bagian fisik dari komputer, dan
dibedakan dengan data yang berada di
dalamnya atau yang beroperasi di
dalamnya, dan perangkat lunak yang
menyediakan instruksi untuk perangkat
keras dalam menyelesaikan tugasnya
5
Peranan Sistem Operasi Dalam
Struktur Sistem Komputer
• Utilities
perangkat lunak komputer yang didesain untuk
membantu proses analisis, konfigurasi, optimasi,
dan membantu pengelolaan sebuah komputer
ataupun sistem. Utilitas memfokuskan
penggunaannya pada optimalisasi fungsi dari
infrastruktur yang terdapat dalam sebuah
komputer. Fungsi tersebut antara lain backup data,
pemulihan sistem atau data, kompresi data,
penanganan virus dll.
6
Peranan Sistem Operasi Dalam
Struktur Sistem Komputer
• Aplication Programs
Perangkat lunak aplikasi yang memanfaatkan
kemampuan komputer langsung untuk melakukan
tugas-tugas yang diinginkan pengguna. Pengguna
dapat melakukan berbagai hal dengan komputer
seperti mengetik, melakukan permainan,
merancang gambar dll. Beberapa program aplikasi
digabung bersama menjadi suatu paket yang
disebut paket atau suite aplikasi (application
suite). Contohnya adalah Microsoft Office dan
OpenOffice.org,
7
Tujuan dan fungsi Sistem Operasi
• Kemudahan
Sistem Operasi membuat komputer lebih mudah
untuk digunakan
• Efisiensi
Sistem Operasi memungkinkan sumber daya
sistem komputer digunakan dengan cara yang
efisien
• Kemampuan berkembang
Sistem Operasi harus disusun sedemikian rupa
sehingga memungkinkan pengembangan yang
efektif, pengujian, dan penerapan fungsi sistem
baru tanpa mengganggu layanan yang telah ada
8
Peranan & Fungsi Sistem
Operasi
1. Sebagai kernel, yaitu program yang secara terus-menerus
berjalan (running) selama komputer dijalankan.
2. Sebagai Guardian: yaitu menyediakan kontrol akses yang
melindungi file dan memberikan pengawasan kepada
proses pembacaan, penulisan atau eksekusi data dan
program.
3. Sebagai Gatekeeper: mengendalikan siapa saja yang
berhak masuk (log) kedalam sistem dan mengawasi
tindakan apa saja yang dapat mereka kerjakan ketika telah
log dalam sistem.
4. Sebagai Optimizer: Mengefisienkan perangkat keras
komputer sehingga nyaman untuk dioperasikan oleh
pengguna, menjadwal input oleh pengguna, pengaksesan
basis data, proses komunikasi, dan pengeluaran (output)
untuk meningkatkan kegunaan. 9
Peranan & Fungsi Sistem
Operasi
5. Sebagai Coordinator : menyediakan fasilitas sehingga
aktivitas yang kompleks dapat diatur untuk dikerjakan
dalam urutan yang telah disusun sebelumnya.
6. Sebagai Program Controller program pengontrol yaitu
program yang digunakan untuk mengontrol program
aplikasi lainnya.
7. Sebagai Server: untuk menyediakan layanan yang
sering dibutuhkan pengguna, baik secara eksplisit
maupun implisit, seperti mekanisme akses file, fasilitas
interupt.
8. Sebagai Accountant: mengatur waktu CPU (CPU time),
penggunaan memori, pemanggilan perangkat I/O
(masukan/keluaran), disk storage dan waktu koneksi
terminal. 10
Peranan & Fungsi Sistem
Operasi
9. Sebagai interface (antar muka) yang menjembatani
pengguna dengan perangkat keras, menyediakan
lingkungan yang bersahabat dan mudah digunakan
(User Friendly). Sehingga pengguna tidak dirumitkan
oleh bahasa mesin atau perangkat level bawah
10. Sistem resources manager : yaitu sebagai pengelola
seluruh sumber daya sistem komputer.
11. Sebagai Virtual Machine, yang menyediakan layanan
seperti menyembunyikan kompleksitas pemrograman
dan menyajikan fasilitas yang lebih mudah untuk
menggunakan hardware.
11
Arsitektur Sistem
Operasi
Arsitektur perangkat lunak adalah merupakan
struktur-struktur yang menjadikan landasan untuk
menentukan keberadaan komponen-komponen
perangkat lunak, metode atau cara untuk mengelola
(organisasi) komponen- komponen tersebut untuk
saling berinteraksi. Komponen tersebut merupakan
program-program bagian (prosedur, fungsi) yang
akan dieksekusi oleh program utama.
12
Arsitektur Sistem Operasi
Arsitektur system operasi adalah merupakan
arsitektur perangkat lunak yang digunakan
untuk membangun suatu perangkat lunak sistem
operasi yang akan digunakan dalam sistem
komputer. Perkembangan arsitktur system
operasi modern ini semakin komplek dan rumit
sehingga memerlukan sistem operasi yang
dirancang dengan sangat hati-hati, cermat dan
tepat agar dapat berfungsi secara optimum dan
mudah untuk dimodifikasi.
13
Ragam Arsitektur Sistem
Operasi
1. Sistem Monolitik
2. Sistem Berlapis
3. Sistem Mesin Virtual
4. Sistem Client Server
5. Sistem Berorientasi Objek
14
1. Sistem Monolitik
Merupakan struktur sistem operasi sederhana yang
dilengkapi
dengan operasi “dual” pelayanan{sistem call} yang
diberikan
oleh sistem operasi. Model system call dilakukan dengan
cara
mengambil sejumlah parameter pada tempat yang telah
ditentukan sebelumnya, seperti register atau stack dan
kemudian mengeksekusi suatu intruksi trap tertentu pada
monitor mode.
Pada model ini, tiap-tiap sistem call memiliki satu service
prosedur. Ulitity prosedur mengerjakan segala sesuatu
yang dibutuhkan oleh beberapa service prosedure, seperti
mengambil data dari user program
15
1. Sistem Monolitik
Mekanisme dan prinsip kerja model struktur monolitik
sistem operasi ini adalah sebagai berikut:
User program melakukan “trap” pada karnel
Intruksi berpindah dari user mode ke monitor
mode dan mentransfer control ke sistem operasi.
Sistem operasi mengecek parameter-parameter dari
pemanggilan tersebut, untuk menentukan sistem call
mana yang memanggil.
Sistem operasi menunjuk ke suatu table yang berisi slot
ke-k yang menunjuk sistem call K (Kontrol).
Kontrol akan dikembalikan kepada user program, jika
sistem call telah selesai mengerjakan tugasnya.
16
2 Sistem Berlapis
Teknik pendekatan struktur sistem berlapis sistem operasi
pada dasarnya dibuat menggunakan pendekatan top-down,
semua fungsi ditentukan dan dibagi menjadi komponen
komponen. Modularisasi sistem dilakukan dengan cara
memecah sistem operasi menajdi beberapa lapis (tingkat).
Lapisan terendah (layer 0) adalah perangkat keras dan lapisan
teratas (layer N) adalah user interface. Dengan system
modularisasi, setiap lapisan mempunyai fungsi (operasi)
tertentu dan melayani lapisan yang lebih rendah.
Pada dasarnya system operasi berlapis dimaksudkan untuk
mengurangi kompleknya rancangan dan implementasi dari
suatu system operasi. Contoh sistem operasi yang
menggunakan sistem ini adalah: UNIX termodifikasi, THE,
Venus dan OS/2
17
2 Sistem Berlapis
18
3. Sistem Mesin Virtual
Konsep dasar dari mesin virtual ini tidak jauh berbeda dengan
pendekatan sistem terlapis dengan tambahan berupa antarmuka
yang menghubungkan perangkat keras dengan kernel untuk tiap-
tiap proses. Mesin virtual menyediakan antar muka yang identik
untuk perangkat keras yang ada. Sistem operasi ini membuat ilusi
atau virtual untuk beberapa proses, masing-masing virtual proses
mengeksekusi prosessornya dan memorinya (virtual) masing
masing.
Teknik ini berkembang menjadi sistem operasi emulator, shingga
system operasi dapat menjalankan aplikasi-aplikasi untuk system
operasi lain. Sistem operasi MS-Windows NT dapat menjalankan
aplikasi untuk MS-DOS, OS/2 mode teks dan aplikasi Win16.
aplikasi tersebut dijalankan sebagai input bagi subsistem di MS-
Windows NT yang mengemulasikan system calls yang di- panggil
aplikasi dengan Win32 API ( Sistem Call di MS-Windows NT).
19
4. Sistem Client Server
Sistem Operasi merupakan proses, dalam hal ini
proses-proses dikategorikan menjadi server &client
yang saling berinteraksi
- Server adalah proses yang menyediakan layanan
- Client adalah proses yang memerlukan / meminta
layanan
Dengan arsitektur client/server, kode dapat diangkat
ke level lebih tinggi sehingga kernel dapat dibuat
sekecil mungkin. Hampir semua tugas diangkat
menjadi proses level pemakai.
Kernel hanya mengatur komunikasi antara
client/server (microkernel)
20
5. Sistem Berorientasi Objek
Layanan Sistem operasi sebagai kumpulan proses untuk
menyelesaikan pekerjaannya, yang sering disebut dengan
system operasi bermodel proses, sedangkan layanan system
operasi sebagai objek disebut dengan system operasi
berorentasi objek. Pendekatan objek dimaksudkan untuk
mengadopsi keunggulan dari teknolgi berorientasi objek.
Pada system operasi berorientasi objek, layanan
diimplementasikan sebagai kumpulan objek, masing-
masing objek diberi tipe yang menandai property objek
seperti proses, dirktori, berkas, dan sebagainya. Dengan
memanggil operasi yang didefinisikan di objek, data yang
berada dalam objek tersebut dapat diakses dan dimodifikasi
21
Arsitektur Sistem Operasi
Windows
Sistem operasi Windows untuk desktop pada mulanya adalah
sebuah sistem operasi sederhana. MS-DOS merupakan
system operasi dasar yang digunakan dan dikembangkan
menjadi Windows 1.0 sampai Windows ME. Selain itu,
Microsoft juga membangun suatu sistem operasi yang
berbeda arsitekturnya dengan MS-DOS, yaitu Windows NT.
Arsitektur windows NT ini menjadi dasar pengembangan
sistem operasi Windows NT 3.1 sampai Windows 8 .
22
Arsitektur Sistem Operasi Windows
(MS-DOS)
Arsitektur sistem operasi MS-DOS menggunakan model
struktur monolitik yang konstruksinya tidak terstruktur.
Dalam arsitektur ini semua komponen sistem operasi
tergabung atau bercampur menjadi satu, semua program
bagian (fungsi, prosedure atau sub rutin) dapat mengakses
program-program lainnya.
Pada sistem operasi MS-DOS, antara aplikasi dan sistem
operasi tidak ada pemisahan yang jelas, yang menyebabkan
mudahnya program-program virus memodifikasi dan merusak
sistem operasi MS-DOS. Program aplikasi memiliki aksea
untuk memodifikasi bagian sistem operasi (program resident,
device driver MS-DOS maupun device driver BIOS).
23
Arsitektur Sistem Operasi Windows
(MS-DOS)
24
Arsitektur Sistem Operasi Windows
(Windows NT)
25
Arsitektur Sistem Operasi Windows
(Windows NT)
26
Arsitektur Sistem Operasi Windows
(Windows NT)
28
Arsitektur Sistem Operasi Windows
Vista, Windows 7, 8
29
Arsitektur Sistem
Operasi
30
Arsitektur Sistem Operasi Windows
Vista, Windows 7, 8
31
Arsitektur Sistem Operasi Windows
Vista, Windows 7, 8
33
Arsitektur Sistem Operasi
Windows Vista, Windows 7, 8
MODUL EXECUTIVE
• I/O Manager • Security Reference
• Cache Manager Monitor
• Object Manager • Virtual Memory
• Plug and Play Manager
Manager • Process/thread
• Power Manager. Manager
• Configuration
Manager 34
Referensi
• Buku Sistem Operasi Revisi Kelima , Dr.
Bambang Hariyanto, 2012
35
Manajemen Proses
KONSEP PROSES
Secara informal;
proses adalah program dalam eksekusi.
Suatu proses adalah lebih dari kode program, dimana
kadang kala dikenal sebagai bagian tulisan.
Proses juga termasuk aktivitas yang sedang terjadi,
sebagaimana digambarkan oleh nilai pada program
counter dan isi dari daftar prosesor/ processor's register.
Suatu proses umumnya juga termasuk process stack,
yang berisikan data temporer (seperti parameter
metoda, address yang kembali, dan variabel lokal) dan
sebuah data section, yang berisikan variabel global.
KONSEP PROSES
program itu sendiri bukanlah sebuah proses; suatu program
adalah satu entitas pasif; seperti isi dari sebuah berkas
yang disimpan didalam disket, sebagaimana sebuah proses
dalam suatu entitas aktif, dengan sebuah program counter
yang mengkhususkan pada instruksi selanjutnya untuk
dijalankan dan seperangkat sumber daya/ resource yang
berkenaan dengannya.
Walau dua proses dapat dihubungkan dengan program
yang sama, program tersebut dianggap dua urutan eksekusi
yang berbeda. Sebagai contoh, beberapa pengguna dapat
menjalankan copy yang berbeda pada mail program, atau
pengguna yang sama dapat meminta banyak copy dari
program editor. Tiap-tiap proses ini adakah proses yang
berbeda dan walau bagian tulisan-text adalah sama, data
section bervariasi. Juga adalah umum untuk memiliki proses
yang menghasilkan banyak proses begitu ia bekerja.
STATUS PROSES
Ketika proses bekerja, maka proses tersebut merubah state (keadaan
statis/ asal). Status dari sebuah proses didefinisikan dalam bagian oleh
aktivitas yang ada dari proses tersebut. Tiap proses mungkin adalah satu
dari keadaan berikut ini:
1. New: Proses sedang dikerjakan/ dibuat.
2. Running: Instruksi sedang dikerjakan.
3. Waiting: Proses sedang menunggu sejumlah kejadian untuk terjadi
(seperti sebuah penyelesaian I/O atau penerimaan sebuah tanda/
signal).
4. Ready: Proses sedang menunggu untuk ditugaskan pada sebuah
prosesor.
5. Terminated: Proses telah selsesai melaksanakan tugasnya/
mengeksekusi.
Cara lain untuk meningkatkan efek yang sama adalah untuk sistem
operasi yaitu untuk menyediakan alat-alat proses kooperatif untuk
berkomunikasi dengan yang lain lewat sebuah komunikasi dalam
proses (IPC = Inter-Process Communication).
IPC menyediakan sebuah mekanisme untuk mengizinkan proses-
proses untuk berkomunikasi dan menyelaraskan aksi-aksi mereka
tanpa berbagi ruang alamat yang sama.
IPC adalah khusus digunakan dalam sebuah lingkungan yang
terdistribusi dimana proses komunikasi tersebut mungkin saja tetap
ada dalam komputer-komputer yang berbeda yang tersambung dalam
sebuah jaringan.
IPC adalah penyedia layanan terbaik dengan menggnakan sebuah
sistem penyampaian pesan, dan sistem-sistem pesan dapat diberikan
dalam banyak cara.
HUBUNGAN ANTAR PROSES
2.1. Sistem Penyampaian Pesan
1 Deskripsi penjadwalan
3 Tipe-tipe penjadwalan
4 Strategi Penjadwalan
Pengertian Penjadwalan
Pengertian
• Penjadwalan proses merupakan kumpulan
kebijaksanaan dan mekanisme di sistem
operasi yang berkaitan dengan urutan
kerja yang dilakukan sistem komputer
Pengertian Penjadwalan (lanj)
Adapun penjadwalan bertugas memutuskan:
1. Proses yang harus berjalan
2. Kapan dan berapa lama proses itu
berjalan
Sasaran Penjadwalan
Kriteria-kriteria yang digunakan sebagai
sasaran penjadwalan, meliputi:
1. Adil (fairness)
2. Efisiensi (eficiency)
3. Waktu tanggap (response time)
• Sistem interaktif
• Sistem waktu nyata
4. Turn around time
5. Throughput
1. Adil (fairness)
Adalah proses-proses yang diperlakukan
sama, yaitu mendapat jatah waktu
pemroses yang sama dan tak ada proses
yang tak kebagian layanan pemroses
sehingga mengalami kekurangan waktu.
Sasaran penjadwalan:
Menjamin setiap proses mendapat
pelayanan dari pemroses secara adil.
2. Efisiensi (eficiency)
• Efisiensi atau utilisasi pemroses dihitung dengan
perbandingan (rasio) waktu sibuk pemroses
• Keadaan sibuk berarti pemroses tidak menganggur.
• Layanan pemroses termasuk waktu yang dihabiskan
untuk mengeksekusi program pemakai dan layanan
sistem operasi
Sasaran penjadwalan:
• Menjaga agar pemroses tetap dalam keadaan sibuk
sehingga efisiensi sistem komputer mencapai
maksimum.
3. Waktu tanggap (response time)
Sasaran Penjadwalan:
• Memaksimalkan jumlah job yang diproses
persatu interval waktu.
• Lebih besar angka throughput, lebih banyak
kerja yang dilakukan sistem.
Tipe Penjadwalan (1)
Penjadwalan ini adil yaitu proses yang datang duluan, dilayani duluan juga.
Dikatakan tidak adil karena job-job yang perlu waktu lama membuat job-job
pendek menunggu. Job-job tak penting dapat membuat job-job penting
menunggu.
Contoh Soal:
Dari Gantt Chart dapat diambil kesimpulan waktu tunggu untuk P1 adalah 0
milidetik, waktu tunggu untuk P2 adalah 24 milidetik, waktu tunggu P3 adalah 27
milidetik. Jadi rata-rata waktu tunggu (Average Waiting Time / AWT) adalah
(0+24+27)/3 = 17 milidetik.
Kemudian jika waktu kedatangan proses adalah P3, P2, P1 maka Gantt Chartnya
adalah
Penjadwalan FIFO (First In First Out) [5]
Menentukan Turn Around Time dengan FIFO berdasarkan contoh diatas :
Turn around time (waktu penyelesaian) P1 adalah 24, P2 = 27, P3 = 30, maka rata-
rata turn around time = (24+27+30)/3 = 27 milidetik.
Penjadwalan Shortest Job First (SJF) [1]
Penjadwalan dengan tipe prioritas tanpa
preeemptive.
• Dasar prioritasnya adalah pendeknya proses.
• Makin pendek prosesnya makin tinggi
prioritasnya.
Waktu tiba =
sama (0)
Penjadwalan Shortest Job First (SJF) [2]
Latihan Penjadwalan Non Preemtive
Hitunglah waktu Turn Around (TA), Total dan Reratanya!
1. Diketahui 10 antrian proses yaitu : A-B-C-D-E-F-G-H-I-J
dengan waktu kedatangan semuanya 0 dan prosesor sedang
tidak aktif (PP=0), lama proses berturut-turut antara lain
8,5,4,10,3,9,2,1,7,8 (Menggunakan FIFO).
1. Responsi:
menampilkan image.
2. Berbagi sumber daya:
Many-to-One Model
memetakan banyak user-level thread ke satu kernel
thread
Pengaturan thread dilakukan di user space
Efisien tetapi ia mempunyai kelemahan yang sama
dengan user thread
tidak dapat berjalan secara pararel pada
multiprocessor
Multithreading Models
Multithreading Models
One-to-One Model
Many-to-One model
Many-to-Many Model
multiplexes banyak user-level thread ke kernel thread yang
jumlahnya lebih kecil atau sama banyaknya dengan user-
level thread
Jumlah kernel thread dapat spesifik untuk sebagian
aplikasi atau sebagian mesin
Developer dapat membuat user thread sebanyak yang
diperlukan, dan kernel thread yang bersangkutan dapat
bejalan secara pararel pada multiprocessor.
Ketika suatu thread menjalankan blocking system call
maka kernel dapat menjadualkan thread lain untuk
melakukan eksekusi.
Sistem operasi yang mendukung model ini adalah Solaris,
IRIX, dan Digital UNIX.
Multithreading Models
Thread Pools
Primitif untuk mengirim dan menerima pesan disediakan sebagai bagian bahasa
pemrograman atau disediakan kernel sistem operasi.
Manajemen Memori
Rachmat Jaenal Abidin, M.T
Memori
Memori adalah pusat kegiatan pada sebuah
komputer, karena setiap proses yang akan
dijalankan harus melalui memori terlebih
dahulu
Tugas sistem operasi adalah mengatur
peletakan banyak proses pada suatu memori
Algoritma untuk manajemen memori ini
bervariasi dari yang menggunakan
pendekatan primitif pada mesin sampai
pemberian halaman dan strategi segmentasi
Address Binding
Binding adalah pemetaan dari satu ruang alamat ke
alamat yang lain
Binding instruksi dan data ke memori dapat terjadi
dalam tiga cara yang berbeda:
Compilation Time Jika kita tahu dimana proses akan
ditempatkan di memori pada saat mengkompilasi,
maka kode yang absolut dapat dibuat
Load Time jika pada saat mengkompilasi kita tidak
tahu proses akan ditempatkan dimana dalam memori
Execution Time jika pada saat dieksekusi proses
dapat dipindah dari satu segmen ke segmen yang
lain di dalam memori
Manajemen Memori
Manajemen memori pada sistem
Monoprogramming
Manajemen memori pada sistem
Multiprogramming
Manajemen memori pada
sistem Monoprogramming
Ciri-ciri:
Hanya ada satu proses pada suatu saat dan
menggunakan seluruh area memori.
Program diletakkan seluruhnya ke memori
dari disk.
Program mengambil kendali seluruh sumber
daya komputer.
Manajemen memori pada
sistem Multiprogramming
Ciri-ciri:
Terdapat sejumlah proses yang menempati
memori
Alokasi memori ke proses dapat berurutan
atau tidak
Dimungkinkan suatu lokasi memori utama
diakses bersama oleh sejumlah proses
(memory sharing)
Manajemen memori pada
sistem Multiprogramming
Berdasarkan
pengalokasian memori
Terbagi menjadi:
Partisi statis
Partisi dinamis
Sistem buddy
Pengalokasian berurut dengan
partisi statis
Ciri-ciri
Memori dibagi menjadi partisi-partisi dengan
ukuran yang tetap.
Satu proses hanya memakai satu partisi. Jika
proses sudah selesai, partisi tersebut dapat
digunakan proses yang lain.
Dibagi menjadi 2 bagian:
Berukuran sama
Berukuran tidak sama
Pengalokasian berurut dengan
partisi statis dengan ukuran sama
Banyak kelemahan, antara lain:
Proses yang ukurannya lebih besar dari ukuran
partisi tidak dapat dialokasikan.
Sebaliknya bila ukuran proses lebih kecil daripada
ukuran partisi, maka akan terjadi pemborosan
ruang memori (Fragmentasi internal).
Pengalokasian berurut dengan
partisi statis dengan ukuran tidak
sama
Untuk mengatasi kelemahan dari
Pengalokasian berurut dengan partisi statis
dengan ukuran sama, yaitu proses ukuran
kecil diletakkan ke partisi yang kecil dan
sebaliknya.
Ada 2 jenis strategi:
Satu antrian untuk setiap partisi
Satu antrian untuk seluruh partisi
Pengalokasian berurut dengan
partisi statis dengan ukuran tidak
sama
Satu antrian untuk setiap partisi
Tiap proses diletakkan pada partisi dengan ukuran terkecil
yang dapat dimuatnya.
Kelemahan:ada partisi yang memiliki antrian panjang dan
ada yang kosong.
Satu antrian untuk seluruh partisi
Semua proses dimasukkan pada satu antrian yang sama
Algoritma penjadwalan melakukan pemilihan partisi
Kelemahan: jika proses yang berukuran kecil terpaksa
masuk ke partisi sisa yang besar, sehingga terjadi
pemborosan ruang.
PARTISI DINAMIS
Pengalokasian berurut dengan
partisi dinamis
Ciri-ciri:
Pada kondisi awal, memori tidak dibagi menjadi
partisi-partisi
Pemartisian dilakukan pada saat image proses akan
disalin ke memori utama.
Ukuran partisi yang dialokasikan akan disesuaikan
dengan ukuran image proses.
Partisi akan dibebaskan jika program sudah selesai.
Keuntungan : tidak terjadi fragmentasi internal
alokasi memori disesuaikan dengan besarnya image
proses.
Pengalokasian berurut dengan
partisi dinamis
Cara kerja:
Pengalokasian dilakukan dengan mencari
hole suatu ruang memori utama yang
kosong, yang cukup besar untuk menampung
image proses.
Hole sisa kadang kala terlalu kecil untuk
dapat dialokasikan ke proses lainnya
sehingga tidak bisa digunakan lagi
fragmentasi eksternal.
Pengalokasian berurut dengan
partisi dinamis
Salah satu cara untuk mengatasi masalah ini
adalah melakukan memory compaction.
Yaitu: menggeser image proses-proses yang
ada di memori sehingga hole terkumpul di
satu tempat saja.
1000
Pengalokasian berurut dengan
partisi dinamis
Kelemahan:
proses alokasi dan dealokasi menjadi lebih rumit
Perlu pengelolaan informasi area memori yang
masih kosong.
Ada 2 metode pengelolaan memori kosong:
Peta bit (bitmap)
Linked list
Pengalokasian berurut dengan
partisi dinamis
Peta bit (bitmap)
Menggunakan area memori khusus untuk
mencatat seluruh area kosong pada memori
utama.
Memakai nilai 0 dan 1
Nilai 0 alamat memori tersebut masih kosong
Nilai 1 alamat memori tersebut sudah terisi
Pengalokasian berurut dengan
partisi dinamis
Linked list
Informasi mengenai hole kosong berikutnya
dicatat pada hole kosong sebelumnya.
Tidak diperlukan area memori khusus. Karena
seluruh informasi tercatat di area memori kosong
itu sendiri sehingga menghemat kapasitas
memori utama.
Pengalokasian berurut dengan
partisi dinamis
Diperlukan algoritma untuk menentukan hole
mana yang akan dialokasikan ke suatu
proses.
Algoritma Best-fit
Algoritma First-fit
Algoritma Next-fit
Algoritma Worst-fit
Pengalokasian berurut dengan
partisi dinamis
Algoritma Best-fit
Mencari memori blok yang paling kecil yang dapat
menampung image proses
Memerlukan waktu lama karena harus searching
seluruh blok memori utama
Fragmentasi eksternal dapat ditekan sekecil
mungkin
Pengalokasian berurut dengan
partisi dinamis
Algoritma First-fit
Mencari memori kosong dari alamat awal sampai
menemukan blok yang dapat menampung image
proses
Sederhana dan cepat.
Algoritma Next-fit
Hampir sama dengan First-fit.
Bedanya: proses searching dimulai dari alamat
alokasi terakhir
Pengalokasian berurut dengan
partisi dinamis
Algoritma worst-fit
Mencari hole yang paling besar di seluruh area
memori utama.
Tujuannya: hole sisa yang tercipta setelah alokasi
masih cukup besar untuk dialokasikan ke proses
lainnya.
Pengalokasian berurut dengan
sistem buddy
Berupa pemartisian secara dinamis
Ciri khusus adalah partisi yang terbentuk
senantiasa berukuran besar sebesar
bilangan 2n
2,4,8,16…..256,512,1024(1Mb)
Pengalokasian berurut dengan
sistem buddy
Alokasi memori pada sistem buddy:
1. Menentukan ukuran partisi