Anda di halaman 1dari 24

MAKALAH

“SISTEM OPERASI”

DISUSUN OLEH :
DINDA MARLINA (17.71.0125)
CRISNI HANDAYANI (17.71.0002)
SITI RAHMAH SEPTIYANA (17.71.0177)

PRODI SISTEM INFORMASI


FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS ISLAM KALIMANTAN MUHAMMAD ARSYAD
AL-BANJARI
BANJARMASIN
2018/2019
KATA PENGANTAR

Assalamualaikum Wr.Wb

Dengan menyebut nama Allah Subhanahu wa Ta’ala yang Maha Pengasih lagi Maha
Penyayang, kami panjatkan puja dan puji syukur atas kehadirat-Nya yang telah melimpahkan
rahmat, hidayah dan inayah-Nya, sehingga dapat menyelesaikan makalah ini tepat pada waktunya.
Makalah ini disusun untuk memenuhi tugas mata kuliah “Sistem Operasi”.
Dalam menyelesaikan makalah ini penulis mengucapkan terima kasih kepada pihak-pihak
yang membantu terutama rasa terima kasih yang sebesar-besarnya kepada Dosen mata kuliah
Sistem Operasi di Universitas Islam Kalimantan Muhammad Arsyad Al Banjari.
Untuk menyempurnakan makalah ini, kami dengan senang hati akan menerima kritik dan
saran yang sifatnya membangun dari berbagai pihak. Sehingga di kemudian hari kami dapat
menyempurnakan makalah ini dan dapat belajar dari kesalahan-kesalahan yang telah kami
lakukan.
Akhirnya kami berharap semoga makalah ini dapat bermanfaat khusunya bagi kami pribadi
dan umumnya bagi semua pihak yang berkepentingan. Aamiin.

Wassalamu’alaikum Wr.Wb.

Banjarmasin, Januari 2019

Penyusun

ii
DAFTAR ISI

KATA PENGANTAR ............................................................................................................ ii


DAFTAR ISI............................................................................................................................ iii
BAB I ....................................................................................................................................... 1
PENDAHULUAN ................................................................................................................... 1
1.1. LATAR BELAKANG ................................................................................................. 1
1.2. RUMUSAN MASALAH ............................................................................................. 1
1.3. TUJUAN ...................................................................................................................... 1
BAB II...................................................................................................................................... 3
PEMBAHASAN ..................................................................................................................... 3
2.1. PENJADWALAN PROSES ........................................................................................ 3
2.2. IMPLEMENTASI PENJADWALAN PROSES ......................................................... 7
2.3. SIKRONISASI ............................................................................................................. 9
2.4. DEADLOCK ............................................................................................................... 12
2.5. PENCATATAN ALOKASI MEMORI ....................................................................... 12
2.6. VIRTUAL MEMORY ................................................................................................. 13
2.7. PENGALOKASIAN CONTIGOUS ............................................................................ 15
2.8. PENGALOKASIAN NON CONTIGOUS .................................................................. 16
2.9. SISTEM INPUT - OUTPUT ....................................................................................... 17
BAB III .................................................................................................................................... 18
KESIMPULAN DAN SARAN................................................................................................ 18
3.1. KESIMPULAN ............................................................................................................ 18
3.2. SARAN ........................................................................................................................ 18

DAFTAR PUSTAKA .............................................................................................................. 19

iii
BAB I
PENDAHULUAN

1.1 LATAR BELAKANG

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.

1.2 RUMUSAN MASALAH


- Mendeskripsikan pengertian penjadwalan proses sistem operasi
- Mendeskripsikan konsep dari penjadwalan sistem operasi
- Apa pengertian dari sinkronisasi ?
- Apa tujuan sinkronisasi ?
- Apa saja masalah sinkronisasi dan solusinya ?
- Mendeskripsikan pengertian deadlock
- Apa penyebab utama terjadinya deadlock ?
- Pencatatan alokasi memori
- Mendeskripsikan pengertian virtual memory
- Pengalokasian contigous dan non contigous
- Mendeskripsikan pengertian sistem input – output

1.3 TUJUAN

- Dapat memahami pengertian dari penjadwalan proses sistem operasi


- Dapat menjelaskan konsep dasar penjadwalan sistem operasi
- Mengetahui apa itu Sinkronisasi.
- Mengetahui tujuan Sinkronisasi.
- Mengetahui Masalah dalam Sinkronisasi dan solusinya.
- Dapat memahami pengertian dari deadlock
- Mengetahui apa saja penyebab utama dari terjadinya deadlock

1
- Dapat memahami pencatatan alokasi memori
- Dapat memahami kegunaan virtual memori
- Mengetahui pengalokasian contigous dan non contigous
- Dapat memahami pengertian sistem input – output

2
Crisni Handayani

BAB II
PEMBAHASAN

2.1 PENJADWALAN PROSES

1. Pengertian dari penjadwalan proses


Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang
berkaitan dengan urutan kerja yang dilakukan sistem komputer. Proses adalah sebuah program yang
sedang dieksekusi. Sedangkan program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang
dimengerti sistem operasi.Proses berisi instruksi dan data. program counter dan semua register
pemroses, dan stack berisi data sementara seperti parameter rutin, alamat pengiriman dan variabel-
variabel lokal.

Penjadwalan bertugas memutuskan :


– Proses yang harus berjalan
– Kapan dan berapa lama proses itu berjalan.

2. Terdapat tiga tipe penjadwalan berada secara bersama-sama pada sistem operasi yang
kompleks, yaitu :
a. Penjadwal jangka pendek (short-tem scheduller)
Penjadwal ini bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di memori
utama. Penjadwal ini dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya
yang harus dijalankan.
b. Penjadwal jangka menengah (medium-term scheduller)
Penjadwal jangka menengah adalah menangani proses-proses swapping(Aktivitas pemindahan
proses yang tertunda dari memori utama ke memori sekunder ).
c. Penjadwal jangka panjang (long-term scheduller)
Penjadwal jangka panjang bekerja terhadap antrian batch dan memilih batch berikutnya yang harus
dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif
(yaitu waktu proses, memori, perangkat I/O), program-program ini berprioritas rendah, digunakan
sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah.

3
Crisni Handayani

3. Strategi Penjadwalan pada Sistem Operasi


1. Preemptive Schedulling
Penjadwalan yang memungkinkan Sistem operasi memberhentikan sementara proses yang sedang
berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi.
2.Non Preemptive Schedulling
Non Preemptive ialah salah satu jenis penjadwalan dimana sistem operasi tidak pernah melakukan
context switch dari proses yang sedang berjalan ke proses yang lain. Dengan kata lain, proses yang
sedang berjalan tidak bisa di- interupt.
4. Sasaran utama penjadwalan proses adalah Optimasi kinerja sistem komputer menurut
kriteria tertentu.
Kriteria untuk mengukur dan optimasi kinerja penjadwalan adalah sbb:
 Adil (fairness)
 Efisiensi
 Waktu Tanggap (response time)
 Turn arround Time
 Troughput
1. Adil (fairness)
Proses-proses diperlakukan sama yaitu mendapat jatah waktu layanan pemroses yang sama
dan tidak ada proses yang tidak kebagian layanan pemroses sehingga mengalami startvation.
Startvation adalah kondisi bahwa proses tidak pernah berjalan karena tidak dijadwalkan untuk
berjalan. Sasaran penjadwalan seharusnya menjamin setiap proses mendapat pelayanan dari
pemroses secara adil.
2. Efisiensi
Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses
dengan total waktu operasi sistem komputer secara keseluruhan.
Sasaran penjadwalan adalah menjaga agar pemroses tetap dalam keadaan sibuk sehingga
efisiensi sistem komputer mencapai nilai maksimum. Keadaan sibuk berarti pemroses tidak
menganggur. Layanan pemroses termasuk waktu yang dihabiskan untuk mengeksekusi
program pemakai dan layanan sistem operasi secara efektif, bukan untuk melakukan
penjadwalan itu sendiri.
3. Waktu Tanggap (response time)
Waktu tanggap berbeda untuk :
- Sistem interaktif
Waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan oleh program atau
transaksi sampai hasil pertama muncul di jperangkat masukan keluaran seperti layar
(terminal).Waktu tanggap untuk sistem interaktif biasa disebut terminal responce time.
- Sistem waktu nyata (real time)
Pada sistem waktu nyata, waktu tanggap didefinisikan sebagai waktu dari saat kemunculan
suatu kejadian (internal/eksternal) sampai instruksi pertama rutin layanan terhadap kejadian
dieksekusi. Waktu untuk sistem waktu nyata biasa disebut event response time. Sasaran
penjadwalan adalah meminimalkan waktu tanggap sehingga menghasilkan sistem yang
responsif.
4. Turn arround Time
Waktu yang dihabiskan dari saat proses atau job mulai masuk ke sistem sampai proses itu
diselesaikan sistem.Waktu yang dimaksud adalah waktu yang dihabiskan proses berada di

4
Crisni Handayani

sistem, diekspresikan sebagai penjumlahan waktu eksekusi (waktu layanan proses/job) dan
waktu menunggu dari proses itu, yaitu :
Turn arround time = waktu eksekusi + waktu menunggu.
Sasaran penjadwalan adalah meminimalkan turn arround time.
5. Troughput
Troughput adalah jumlah kerja yang dapat diselsesaikan selama satu selang/ unit waktu. Cara
untuk mengekspresikan throughput adalah dengan jumlah proses/job pemakai yang dapat
dieksekusi dalam satu unit/ interval waktu tertentu. Sasaran penjadwalan adalah
memaksimalkan jumlah job/ proses yang dilayani per satu interval waktu. Lebih tinggi angka
througput maka lebih banya kerja yang dilakukan sistem. Kriteria tsb saling bergantung dan
dapat saling bertentangan sehingga tidak dimungkinkan optimasi semua kriteria secara
simultan.
A. KONSEP DASAR PENJADWALAN PROSES
Pada sistem komputer terdapat beberapa bentuk penjadwalan : admission (pintu masuk kesistem ),
memori, dan CPU scheduler.

CPU Scheduler
Pada saat CPU menganggur, maka sistem operasi yang harus menyeleksi proses-proses yang ada di
memori utama(rady queue),untuk di eksekusi dan mengalokasikan CPU untuk salah satu dari proses
tersebut,Seleksi semacam ini di sebut dengan short term scheduler(CPU scheduler).
1. Apabila proses berpindah dari keadaan ruuning ke waiting
2. Apabila proses berpindah dari keadaan ruuning ke ready
3. Apabila proses berpindah dari keadaan waiting ke ready
4. Apabila proses berhenti

Dispatcher
Dispatcher adalah suatu modul yang akan memberikan kontrol pada CPU terhadap penyelesaian
proses yang di lakukan selama short-term scheduling.

B. KRITERIA PENJADWALAN
Algoritma penjadwalan CPU yang berbeda akan memiliki perbedaan properti,sehingg untuk
memiliki algoritma ini harus di pertimbangkan duluh properti-properti algoritma tersebut.
1. CPU utilization: Diharapkan agar CPU selalu dalam keadaan sibuk
2. Throughput: Throughput adalah banyaknya proses yang selesai di kerjakan dalam satu satuan
waktu
3. Turnaround time: Banyaknya waktu yang di perlukan untuk mengeskusi proses,dari mulai
menunggu untuk memerintah tempat di memori utama,menunggu di ready queue,eksekusi oleh
CPU,dan mengerjakan I/O samapi semua proses-proses tersebut diselesaikan.
4. Waiting time: Waktu yang di perlukan oleh suatu proses untuk menunggu di ready queue
5. Response time: Waktu yang di butuhkan oleh suatu proses dari minta di layani hingga ada
respont pertama yang menanggapi permintaan tersebut.

5
Crisni Handayani

C. ALGORITMA PENJADWALAN
Penjadwalan CPU menyangkut penentuan proses-proses yang ada dalam ready queue yang kan di
alokasikan pada CPU,terdapat beberapa algoritma penjadwalan CPU seperti di jelaskan pada subbab
di bawah ini.
First Come First Server (FCFS)
Pertama datang,pertama di layani,(First In,First Out atau FIFO) tidak peduli apakah burst time-nya
panajang atau pendek,semua proses yang edang di kerjakan di selesaikan terlebih duluh barulah
proses berikut nya di layani.
Penjadwalan FCFS merupakan penjadwalan:
- Penjadwalan non-preemptive(run-to-completion)
- Penjadwalan tidak berprioritas
Shortest Job First Scheduler(SJF)
Pada penjadwalan SJF,proses yang memiliki CPU burst paling kecil di layani terlebih dahulu,terdapat
dua skema:
- Non preemtive,bila CPU diberikan pada proses,maka tidak bisa di tundah sampai CPU burst selesi.
- Preemptive,jika proses baru datang dengan panjang CPU burst lebih pendek dari sisah waktu
proses yang saat itu sedang dieksekusi,proses ini di tundah dan di ganti dengan proses baru.
Priority Scheduling
Algoritma SJF adalah suatu kasus khusus dari penjadwalan berprioritas,tiap-tiap proses di lengkapi
dengan nomor prioritas(integer),CPU di alokasikan untuk proses yang memiliki prioritas paling
tinggi(nilai integer terkecil biasanya merupakan prioritas terbesar). Jika beberapa proses memiliki
prioritas yang sama,maka akan di gunakan algoritma FCFS. Penjadwalan berprioritas terdiri atas du
skema yaitu Non-preemtive dan preemtive.
Round-Robin Scheduling
Konsep dasar dari algoritma ini adalah dengan menggunakan time sharing,pada dasar alagoritma ini
sama dengan FCFS, hanya saja bersifat preemptive,setiap proses mendapatkan waktu cpu yang di
sebut dengan waktu quantum(quantum time) untuk membatasi waktu proses,biasanya 1-100
milidetik,setelah waktu habis,proses di tundah dan di tambahkan pada ready queue.
Jika suatu proses memiliki CPU burst lebih kecil dibandingkan dengan waktu quantum,maka proses
tersebut akan melepaskan CPU jika telah selesai bekerja, sehingga CPU dapat selesai di gunakan
oleh proses selanjutnya.
RR- FCFS
Round Robin First Come First Server,merupakan metoda penjadwalan yang lebih dulu sampai di
ready queue akan di layani lebih dahulu dan quantum untuk proses di habiskan lebih dahulu,maka
proses tersebut harus keluar dan masuk kembali ke antrian ready queue kalau masih ada sisah(List
Masuk Belakang).
RR- SJF (Non- Preemptive)
Round Robin First Shortest Job First(Non- Preemptive) merupakan penjadwalan dengan pemberian
jatah waktu sebesar Q kepada setiap proses,tetapi pada saat AT sama,yang di pilih berikutnya adalah
yang BT-nya terkecil.
RR- SJF (Preemptive)
RR-SJF(preemptive) yaitu pemberian jatah waktu sebesar Q kepada setip proses.

6
Crisni Handayani

D. TWO QUEUES SCHEDULING


Tujuan dari sistem time sharing adalah menjaga agar proses user mendapat tanggapan yang baik dari
cpu, contoh yang sangat sederhana adalah user yang sedang mengetik dn mengedit teks berharap
mendapatkan respons yg sangat tepat ketika tombol di ketikkan,sehingga apa yang di ketikan akan
monitor. Salah satu cara yang baik untuk mendapatkan tanggapan yang baik dari CPU adalah tidak
mengijinkan job panjang menghambat job pendek,yaitu dengan cara mempunyai dua antrian.

E. MULTILEVEL FEEDBACK QUEUE SCHEDULING


Penjadwalan dengan menggunakan algoritma multilevel feedback queue sama dengan algoritma
pada penjadwalan multilevel queue,pada penjadwalan feedback queue suatu proses yang dapat
berpindah antar berbagi queue;again dapat di terapkan dengan cara ini,Multilevel-Feedback-Queue-
Scheduler di gambarkan oleh parameter berikut:
Jumlah queue
- Scheduling algoritma unuk tiap queue
- Metoda yang di gunakan untuk memutuskan ketika upgrade suatu psoses
- Metode yang di gunakan untuk memutuskan ketika menurunkan suatu proses
- Metode yang di tentukan untuk mementukan queue nama yang akan di proses membutuhkan
server

F. MULTIPLE- PROCESSOR SCHEDULING


Pada pembahasaan penjadwalan,telah di bahas permasalahan penjadwalaan CPU di singgle
prosessor,penjadwalaan dimultiple menjadi lebih kompleks,banyak kemungkinan telah dicoba dan
telah diketahui bahwa penjadwalan satu prosessor,tidak ada solusi yg terbaik
Beberapa sistem membawa struktur satu langkah kedepan, dengan membawa semua keputusan
penjadwalan, I/O processing, dan aktifitas sitem yang lain ditangani oleh satu proses yang bertugas
sebagai master prosesor.pada intinya penjadwalan pada multiprosesor adalah:
a. CPU scheduling lebih rumit ketika berbagi CPU tersedia
b. Prosessor homogen didalam suatu multiprosessor
c. Berbagi beban ( load sharing )
d. Asymmetric multiprosessing- hanya satu prosesor yang mengaks es struktur sistem
data,sehingga mengurangi kebutuhan akan data shering

2.2 IMPLEMENTASI PENJADWALAN PROSES

A. PRECEDENCE DIAGRAM

Precedence Diagram menggambarkan hubungan antara dua atau lebih aktivitas dalam suatu
network. Terdapat dua jenis representasi proyek dalam jaringan, yaitu event-on-
node dan activity-on-node. Precedence diagram merupakan salah satu bentuk dari activity-
on-node.
Sebagai contoh (lihat Gambar), aktivitas 1 mendahului aktivitas 2, artinya
aktivitas 1 harus diselesaikan terlebih dahulu sebelum aktivitas 2 dimulai; aktivitas 2
mendahului aktivitas 3 dan 4, aktivitas 5 dikerjakan setelah aktivitas 3 selesai,
sedangkan aktivitas 7 hanya bisa dimulai setelah aktivitas 4, 5, dan 6 selesai dikerjakan.
Contoh aktivitas ialah penggabungan dua part. Misalnya, node 2 berisi
penggabungan part 1 dan 2. Untuk node 3 bisa berisi hasil penggabungan di node 2
dengan part 3. Untuk node 4 berisi hasil penggabungan node 2 dengan part 4.

7
Crisni Handayani

B. PETRI NET
adalah salah satu model untuk merepresentasikan sistem terdistribusi diskret. Sebagai sebuah
model, Petri net merupakan grafik 2 arah yang terdiri dari place, transition, dan tanda panah yang
menghubungkan keduanya. Di samping itu, untuk merepresentasikan keadaan sistem, token
diletakkan pada place tertentu. Ketika sebuah transition terpantik, token akan bertransisi sesuai
tandapanah.

C. FORK AND JOID

Pengertian Metode fork and joind


Pemrograman konkuren atau paralel dengan menggunakan PRESEDEN GRAPH tidak bisa di
implementasikan dalam bahasa pemrograman karena preseden graph termasuk objek 2 demensi.
Dengan kata lain metode fork and join adalah pembacaan dari metede peceden graf.

Intruksi Fork and Joind


Intruksi Fork
Dalam Intruksi Fork L, akan menghasilkan 2 proses yang akan dieksekusi secara konkuren atau
paralel dalam suatu program yaitu :

1. Eksekusi dimulai dari statement dengan label "L".


2. Eksekusi lanjutan (konkuren) pada statement setelah intruksi Fork

Intruksi Join
Intruksi join untuk menggabungkan kenbali "N" proses konkuren / paralel menjadi 1 proses.

Adapun cara pembacaannya adalah :


Var Jumlah := 2; Suatu program telah di gambarkan oleh preceden graf, maka metode fork and
join akan mendeskripsikan sebagai berikut :
metode ini akan mengerjakan sesuai dengan apa yang ada dalam preceden graf. maka job yang
akan di eksekusi adalah job S1 setelah job s1 telah selesai maka job S2 di eksekusi kemudian ada
fork L ( Membagi cabang dan eksekusi berjalan pada Variabel L)setelah itu s4 dikerjakan
selanjutnya ada goto Y (proses dilanjutkan ke variabel Y dengan variabel Y adalah variabel Jumlah
Yang memiliki nilai 2, maka pada variabel Jumlah memiliki nilai 1 dan menunggu hingga nilai
menjadi 2) setelahnya ada varyabel L yang mengerjakan S3 setelahitu proses di lanjutkan ke
varibel Y, dalam varyabel Y memiliki variabel Jumlah yang sudah terisi nilai 1 oleh proses
sebelumnya, serta di tambah kan nilai 1 maka variabel jumlah memiliki nilai 2, dengan demikian
proses dilanjutkan pengerjaannya ke s5 dan selanjutnya ke s6.

8
Crisni Handayani

2.3 SIKRONISASI

1. PENGERTIAN SINKRONISASI
Sinkronisasi merupakan suatu proses pengaturan jalannya beberapa proses pada waktu yang bersamaan
untuk menyamakan waktu dan data supaya tidak terjadi inconsitensi (ketidak konsistenan) data akibat
adanya akses data secara konkuren agar hasilnya bagus dan sesuai dengan apa yang diharapkan. Disini
sinkronisasi diperlukan agar data tersebut tetap konsisten.
Shared memory merupakan solusi ke masalah bounded-butter yang mengijinkan paling banyak n-1
materi dalam buffer pada waktu yang sama. Suatu solusi, jika semua N buffer digunakan tidaklah
sederhana. Dimisalkan kita memodifikasi producer-consumer code dengan menambahkan suatu
variable counter, dimulai dari 0 dan masing-masing waktu tambahan dari suatu item baru diberikan
kepada buffer. Sinkronisasi merupakan “issue” penting dalam rancangan/implementasi OS (shared
resources, data, dan multitasking).

2. TUJUAN SINKRONISASI
Tujuan dari sinkronisasi itu sendiri ialah untuk menghindari terjadinya inkonsitensi data karena
pengaksesan oleh beberapa proses yang berbeda serta untuk mengatur urutan jalannya proses-proses
sehingga dapat berjalan dengan baik dan sesuai apa yang di harapkan.

3. MASALAH DALAM SINKRONISASI BESERTA SOLUSINYA


1. Race Condition
Race Condition adalah situasi di mana beberapa proses mengakses dan memanipulasi data bersama
pada saat besamaan. Nilai akhir dari data bersama tersebut tergantung pada proses yang terakhir
selesai. Untuk mencegah race condition, proses-proses yang berjalan besamaan harus di
disinkronisasi.
Dalam beberapa sistem operasi, proses-proses yang berjalan bersamaan mungkin untuk membagi
beberapa penyimpanan umum, masing-masing dapat melakukan proses baca (read) dan proses tulis
(write). Penyimpanan bersama (shared storage) mungkin berada di memori utama atau berupa
sebuah berkas bersama, lokasi dari memori bersama tidak merubah kealamian dari komunikasi atau
masalah yang muncul. Untuk mengetahui bagaimana komunikasi antar proses bekerja, mari kita
simak sebuah contoh sederhana, sebuah print spooler. Ketika sebuah proses ingin mencetak sebuah
berkas, proses tersebut memasukkan nama berkas ke dalam sebuah spooler direktori yang khusus.
Proses yang lain, printer daemon, secara periodik memeriksa untuk mengetahui jika ada banyak
berkas yang akan dicetak, dan jika ada berkas yang sudah dicetak dihilangkan nama berkasnya dari
direktori.
2. Critical Section
Kunci untuk mencegah masalah ini dan di situasi yang lain yang melibatkan shared memori, shared
berkas, and shared sumber daya yang lain adalah menemukan beberapa jalan untuk mencegah lebih
dari satu proses untuk melakukan proses writing dan reading kepada shared data pada saat yang
sama. Dengan kata lain kita memutuhkan mutual exclusion, sebuah jalan yang menjamin jika
sebuah proses sedang menggunakan shared berkas, proses lain dikeluarkan dari pekerjaan yang
sama. Kesulitan yang terjadi karena proses 2 mulai menggunakan variabel bersama sebelum proses
1 menyelesaikan tugasnya. Masalah menghindari race conditions dapat juga diformulasikan secara
abstrak. Bagian dari waktu, sebuah proses sedang sibuk melakukan perhitungan internal dan hal
lain yang tidak menggiring ke kondisi race conditions. Bagaimana pun setiap kali sebuah proses
mengakses shared memory atau shared berkas atau melakukan sesuatu yang kritis akan menggiring

9
Crisni Handayani

kepada race conditions. Bagian dari program dimana shaed memory diakses disebut Critical
Section atau Critical Region. Walau pun dapat mencegah race conditions, tapi tidak cukup untuk
melakukan kerjasama antar proses secara pararel dengan baik dan efisien dalam menggunakan
shared data. Kita butuh 4 kondisi agar menghasilkan solusi yang baik:
 Tidak ada dua proses secara bersamaan masuk ke dalam citical section.
 Tidak ada asumsi mengenai kecepatan atau jumlah cpu.
 Tidak ada proses yang berjalan di luar critical secion yang dapat mengeblok proses lain.
 Tidak ada proses yang menunggu selamamya untuk masuk critical section.
Critical Section adalah sebuah segmen kode di mana sebuah proses yang mana sumber daya
bersama diakses. Terdiri dari:
Entry Section: kode yang digunakan untuk masuk ke dalam critical section
Critical Section: Kode di mana hanya ada satu proses yang dapat dieksekusi pada satu waktu
Exit Section: akhir dari critical section, mengizinkan proses lain
Remainder Section: kode istirahat setelah masuk ke critical section.
3. Solusi ke Masalah Critical-Section
Ada bebrapa Solusi untuk mengatasi masalah Critical Section, yaitu:
• Mutual exclution
Jika proses pi sedang mengeksekusi critical section-nya maka tidak ada proses lain yang dapat
mengeksekusi dalam critical section mereka.
• Progress
Jika tidak ada proses yang sedang dieksekusi dalam critical section dan ada beberapa proses yang
ingin masuk ke critical section mereka, maka pemilihan proses yang akan masuk ke critical
section berikutnya tidak bias ditunda.
• Bounded Waiting
Suatu keterikatan harus ada pada sejumlah proses yang diijinkan masuk ke critical section
mereka, setelah adanya proses yang meminta masuk ke critical section dan sebelum permintaan
itu diterima.
a. Asumsikan bahwa tiap proses mengeksekusi pada nonzero speed.
b. Tidak ada asumsi mengenai kecepatan relative dan n proses.
Cara-cara memecahkan masalah
• Hanya dua proses, Po dan P1
• Struktur umum dari proses adalah Pi (proses lain Pj)
4. Bakery Algorithm
Critical section untuk n proses:
a. Sebelum memasuki critical Section-nya, proses menerima nomor pemilik nomor terkecil
memasuki critical section.
b. Jika proses Pi dan Pj menerima nomor yang sama, jika i < j, maka Pi dilayani duluan, lainnya
Pj dilayani duluan (if i< j, then Pi is served first; else Pj is served first).
c. Skema penomoran selalu menghasilkan angka –angka yang disebutkan satu per satu, yaitu
1,2,3,3,3,3,4,5….
Semaphore
Semaphore adalah pendekatan yang diajukan oleh Djikstra, dengan prinsip bahwa dua proses atau
lebih dapat bekerja sama dengan menggunakan penanda-penanda sederhana. Seperti proses dapat
dipaksa berhenti pada suatu saat, sampai proses mendapatkan penanda tertentu itu. Sembarang

10
Crisni Handayani

kebutuhan koordinasi kompleks dapat dipenuhi dengan struktur penanda yang cocok untuk
kebutuhan itu. Variabel khusus untuk penanda ini disebut semaphore.
Semaphore mempunyai dua sifat, yaitu:
a. Semaphore dapat diinisialisasi dengan nilai non-negatif.
b. Terdapat dua operasi terhadap semaphore, yaitu Down dan Up. Usulan asli yang disampaikan
Djikstra adalah operasi P dan V.
• Operasi Down
Operasi ini menurunkan nilai semaphore, jika nilai semaphore menjadi non-positif maka proses
yang mengeksekusinya diblocked. Operasi Down adalah atomic, tidak dapat diinterupsi sebelum
diselesaikan. Menurunkan nilai, memeriksa nilai, menempatkan proses pada antrian dan
memblocked sebagai instruksi tunggal. Sejak dimulai, tidak ada proses lain yang dapat mengakses
semaphore sampai operasi selesai atau diblocked.
• Operasi Up
Operasi Up menaikkan nilai semaphore. Jika satu proses atau lebih diblocked pada semaphore itu
tidak dapat menyelesaikan operasi Down, maka salah satu dipilih oleh system dan menyelesaikan
operasi Down-nya. Urutan proses yang dipilih tidak ditentukan oleh Djikstra, dapat dipilih secara
acak. Adanya semaphore mempermudah persoalan mutual exclusion. Skema penyelesaian mutual
exclusion mempunyai bagian sebagai berikut:
Sebelum masuk critical section, proses melakukan Down. Bila berhasil maka proses masuk ke
critical section. Bila tidak berhasil maka proses di-blocked atas semaphore itu. Proses yang
diblocked akan dapat melanjutkan kembali bila proses yang ada di critical section keluar dan
melakukan opersai up sehingga menjadikan proses yang diblocked ready dan melanjutkan
sehingga opersi Down-nya berhasil.
5. Problem Klasik pada Sinkronisasi
Ada tiga hal yang selalu menjadi masalah pada proses sinkronisasi:
a. Problem Bounded buffer.
b. Problem Reades and Writer.
c. Problem Dining Philosophers.
6. Monitors
Solusi sinkronisasi ini dikemukakan oleh Hoare pada tahun 1974. Monitor adalah kumpulan
prosedur, variabel dan struktur data di satu modul atau paket khusus. Proses dapat memanggil
prosedur-prosedur kapan pun diinginkan. Tapi proses tidak dapat mengakses struktur data internal
dalam monitor secara langsung. Hanya lewat prosedur-prosedur yang dideklarasikan monitor untuk
mengakses struktur internal.
Properti-properti monitor adalah sebagai berikut:
a. Variabel-variabel data lokal, hanya dapat diakses oleh prosedur-prosedur dalam monitor dan
tidak oleh prosedur di luar monitor.
b. Hanya satu proses yang dapat aktif di monitor pada satu saat. Kompilator harus
mengimplementasi ini(mutual exclusion).
c. Terdapat cara agar proses yang tidak dapat berlangsung di-blocked. Menambahkan variabel-
variabel kondisi, dengan dua operasi, yaitu Wait dan Signal.
d. Wait: Ketika prosedur monitor tidak dapat berkanjut (misal producer menemui buffer penuh)
menyebabkan proses pemanggil diblocked dan mengizinkan proses lain masuk monitor.
e. Signal: Proses membangunkan partner-nya yang sedang diblocked dengan signal pada variabel
kondisi yang sedang ditunggu partnernya.

11
Dinda Marlina

f. Versi Hoare: Setelah signal, membangunkan proses baru agar berjalan dan menunda proses lain.
g. Versi Brinch Hansen: Setelah melakukan signal, proses segera keluar dari monitor.
Dengan memaksakan disiplin hanya satu proses pada satu saat yang berjalan pada monitor, monitor
menyediakan fasilitas mutual exclusion. Variabel-variabel data dalam monitor hanya dapat diakses
oleh satu proses pada satu saat. Struktur data bersama dapat dilindungi dengan menempatkannya
dalam monitor. Jika data pada monitor merepresentasikan sumber daya, maka monitor
menyediakan fasilitas mutual exclusion dalam mengakses sumber daya itu.

2.4 DEADLOCK

1. PENGERTIAN DEADLOCK
Deadlock secara harfiah adalah kebuntuan, Di dalam sistem operasi berarti suatu kondisi di mana
sekumpulan proses tidak dapat berjalan kembali atau tidak adanya komunikasi antar proses.
Definisi lainnya yaitu sekumpulan proses yang terblok yang tiap proses tersebut memegang sumber
daya dan menunggu untuk mendapatkan sumber daya yang dipegang oleh proses di dalam
kumpulan tersebut.
2. PENYEBAB UTAMA TERJADINYA DEADLOCK
adalah terbatasnya sumber daya yang akan digunakan oleh proses-proses. Tiap proses berkompetisi
untuk memperebutkan sumber daya yang ada. Jadideadlock berhubungan erat dengan tersedianya
sumber daya dari komputer.
Ada empat kondisi yang dapat menyebabkan terjadinya deadlock. Keempat kondisi tersebut
tidak dapat berdiri sendiri, namun saling mendukung.

1. Mutual exclusion. Hanya ada satu proses yang boleh memakai sumber daya, dan proses lain
nyang ingin memakai sumber daya tersebut harus menunggu hingga sumber daya tadi
dilepaskan atau tidak ada proses yang memakai sumber daya tersebut.
2. Hold and wait. Proses yang sedang memakai sumber daya boleh meminta sumber daya lagi
maksudnya menunggu hingga benar-benar sumber daya yang diminta tidak dipakai oleh
proses lain, hal ini dapat menyebabkan kelaparan sumber daya sebab dapat saja sebuah proses
tidak mendapat sumber daya dalam waktu yang lama.
3. No preemption. Sumber daya yang ada pada sebuah proses tidak boleh diambil begitu saja
oleh proses lainnya. Untuk mendapatkan sumber daya tersebut, maka harus dilepaskan
terlebih dahulu oleh proses yang memegangnya, selain itu seluruh proses menunggu dan
mempersilahkan hanya proses yang memiliki sumber daya yang boleh berjalan.
4. Circular wait. Kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang
dipegang proses berikutnya.

2.5 PENCATATAN ALOKASI MEMORI

1. Pencatatan memakai peta bit (Bit Map)

Memori dibagi menjadi unit-unit alokasi, berkorespondensi dengan tiap unit alokasi, yaitu 1
bit pada bit map.

• nilai 0 pada peta bit berarti unit itu masih bebas

• nilai 1 berarti unit sudah 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 disiapkan
pada unit terakhir jika ukuran proses bukan kelipatan unit alokasi

12
Dinda Marlina

Keunggulan : dealokasi dapat dilakukan dengan mudah, hanya tinggal

mengeset bit yang berkorespondensi dengan unit yang telah tidak digunakan dengan 0.

Kelemahan :

 dilakukan penghitungan blok lubang memori saat unit memori bebas.


 memerlukan ukuran bit map besar untuk memori yang besar.

2. Pencatatan memakai 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. Memori yang
digunakan pada metode ini lebh kecil dibandingkan dengan peta bit.

Keunggulan :

· tidak harus dilakukan perhitungan blok lubang memori karena sudah tercatat di node

· memori yang diperlukan relatif lebih kecilKelemahan :

Dealokasi sulit dilakukan karena terjadi berbagai operasi penggabungan node di senarai

2.6 VIRTUAL MEMORY


Virtual Memori digunakan dengan membuat suatu file khusus yang disebut swapfile atau
paging file. Virtual memory digunakan pada saat operating system kehabisan memory, dimana
o.s. akan memindahkan data yang paling terakhir diakses ke dalam swapfile di hardisk. Hal
ini mengosongkan/ membebaskan beberapa ruang kosong pada memory untuk aplikasi yang
akan digunakan selanjutnya. Operating system akan melakukan hal ini secara terus menerus
ketika data baru diisi pada ram. Kemudian, pada saat data yang tersimpan di swapfile
diperlukan, data tersebut ditukar (swap) dengan data yang paling terakhir dipakai di dalam
memory (ram). Hal ini mengakibatkan swapfile bersifat seperti ram, walaupun program tidak
dapat secara langsung dijalankan dari swapfile. Satu hal yang perlu dicatat bahwa karena
operating system tidak dapat secara langsung menjalankan program dari swapfile, beberapa
program mungkin tidak akan berjalan walau dengan swapfile yang besar jika kita hanya
memiliki ram yang kecil.
Demand Paging atau permintaan pemberian halaman adalah salah satu implementasi dari
memori virtual yang paling umum digunakan. Demand paging pada prinsipnya hampir sama
dengan permintaan halaman ( paging ) hanya saja halaman ( page ) tidak akan dibawa ke
dalam memori fisik sampai ia benar-benar diperlukan. Untuk itu diperlukan bantuan perangkat
keras untuk mengetahui lokasi dari page saat ia diperlukan. Page diletakkan di memori hanya
jika diperlukan. Hal ini menyebabkan kebutuhan I/O lebih rendah, kebutuhan memori lebih
rendah, respon lebih cepat dan lebih banyak user yang menggunakan.

The Optimal Page Replacement Algorithm

13
Dinda Marlina

Algoritma yg terbaik yang mudah digambarkan tetap tidak mungkin diimplementasikan ketika
page fault terjadi, sekumpulan page berada dalam memori setiap page dapat diberi label, yang
menyatakan banyaknya intruksi yang harus dilalui untuk menjalankan ‘ next instruction” (brp lama
lagi page ini akan di-run) Dalm algortima ini : page dengan label tertinggi yang seharusnya dihapus
masalahnya SO tidak tahu cara mengetahui dengan pasti kapan suatu page akan diacu selanjutnya
masalahnya.

The Not Recently Used(NRU) Page Replacement Algorithm

dalam rangka mendapatkan info tentang page yg sedang digunakan /tidak, SO memliki 2 bit
status yang berkaiatan dengan setiap page

- R : diset 1 ketika page sedang diacu (read)


- M : diset 1 ketika page sedang ditulis (modified)

Ada 4 class bit(R,M): 0:(0,0), 1:(0,1), 2:(1,0) dan 3:(1,1)

- NRU algorithm : menghapus page dari kelas terkecil


- NRU: mudah dimengerti, cukup efisien untk diimplementasi, performansi : bukan yg
optimal tetap sudah cukup baik.

The FIFO Page Replacement Algorithm

SO mengelola list berisi semua page dalam memori dengan Head berisi page berisi page paling
lama, dan tail berisi page terbaru. Ketika terjadi page fault, maka page pada Head akan dihapus
dan page yang baru ditambahkan ke tail Masalah : page yg tertua kadang-kadang merupakan page
yang sering pakai.

The Second Chance Page Replacement Algorithm

Untuk mengatasi masalah pada FIFO, ada modifikasi sederhana yg bisa dilakukan, yaitu
menambahkan pemeriksaan thd bit R Bila R=0, maka page: tertua dan tidak digunakan dihapus,
bila R=1 maka page akan dipindah ke bagian ekor list, dianggap seperti page baru bila semua page
telah digunakan spt FIFO

The CLOCK Page Replacement Algorithm

Algoritma ini memiliki konsep yang sama dg Second Chance, hanya berbeda dalam hal
implementasinya semua page disimpan dalam bentuk list sirkular berbentuk seperti Clock/jam
bila page faullt terjadi, page yg ditunjuk oleh jarum akan diperiksa bit R-nya. Bila R=0, page akan
dihapus, page baru disisipkan pd posisi ini, jarum digeser bila R=1, jarum/hand akan digeser
sampai ketemu page dengan R=0.

The Least Recently Used (LRU) Page Replacement Algorithm

LRU didasarkan atas ide: pendekatan algoritma yang optimal page-page yang sering digunakan
sebelumnya memiliki kemungkinan yang besar untuk digunakan kembali pada masa mendatang
secara teori, algo. Ini realistis, tetapi tidak murah implementasi 1: semua page dikelola dalam
linked list dimana page yang paling sering digunakan disimpan -> pada head, pada tail -> LRU
page Kesulitannya: list harus selalu diupdate setiap ada acuan ke memori. Implementasi 2 : n
frame dikelola dalam matriks nya baris dengn jumlah bit 1 terkecil -> LRU page.

Gambar The Second Change dan The CLOCK Algorithm (Tan 218, 219)

14
Dinda Marlina

Gambar implementasi LRU dg Matriks, urutan:0,1,2,3,2 (Tan 220)

Rule:
Bila frame k diacu, baris k–>1, kolom k–>0
Langkah-langkah :
1. Semua elemen <– 0
2. Frame 0 diacu, semua elem. Baris 0 <– 1, semua elem. Kolom 0 <– 0
3. ….

The Working Set Page Replacement Algorithm

Working set : sekumpulan page dimana saat ini sedang digunakan suatu proses bila working set
didalam memori page fault jarang terjadi working set algorithm/model : SO dengan banyak page
berusaha untuk menjaga setiap working set berada dalam memori sebelum membiarkan proses yg
terkait berjalan/dieksekusi working set : w=(k,t) menyatakan sekumpulan page yang digunakan k
referensi memori yang terkini. referensi memori meliputi: ambil intruksi, ambil data atau
menyimpan data referensi memori yang terkini. untuk mengimplementasi model ini, SO perlu
untuk menyimpan info tentang page-page yang berada dalam working set. Bila page fault terjadi,
page diluar working set dpt segera dikeluarkan/hapus dari memori. Diperlukan cara yang secara
tepat mengetahui page yang berada dlm working set / tidak, pada waktu t.

The WSClock Page Replacement


Algorithm (Tan 226)

15
Siti Rahmah Septiyana

2.7 PENGALOKASIAN CONTIGOUS (BERURUTAN)

Alokasi memori secara berturutan adalah tiap proses menempati satu blok tunggal memori
yang berturutan.

1. Multiprogramming Dengan Partisi 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.
2. Multiprogramming Dengan Partisi 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
3. Sistem 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.8 PENGALOKASIAN NON CONTIGOUS (TAK BERURUTAN)

Pada model pengalokasian tak berurut, bagian-bagian dari image proses dapat diletakkan
secara terpisah di memori utama, pada sistem paging memerlukan pengalamatan logika
khusus yang membagi menjadi blok-blok dengan ukuran sama yang disebut page. Pada Sistem
paging perlu adanya translasi alamat ke memori fisik yang dipartisi secara statis yang disebut
frame, yang ukurannya sama dengan page pada ruang alamat logika.

Konsep dasar alokasi memori : memori utama dibagi menjadi frame-frame kecil berukuran
sama dan diberi nomor frame sebagai referensi. Ruang alamat logika proses dibagi menjadi
page-page seukuran frame. Loading time(page-page image proses diletakkan pada frame-
frame kosong dan dicatat pada page table)

Proteksi memori pada sistem paging : berfungsi menghindari pengaksesan memori secara
illegal(missal pengaksesan bagian memori yang sudah ditempati proses lain). Proteksi frame
dilakukan dengan cara menambahkan bit proteksi untuk tiap entry page table (missal : cek
apakah frame tersebut bersifat read atau read-write, cek apakah alamat logika yang dituju
suatu proses valid atau invalid).

Memory Sharing pada sistem paging : untuk menghemat penggunaan kapasitas memori.
Jika ada 2 atau lebih proses yang memiliki bagian kode instruksi, atau data yang sama maka
dapat digunakan bersama dan cukup diletakkan sekali di frame memori. Masing-masing
proses mengacu ke frame yang sama pada page tablenya.

Pengalokasian tak berurut dengan sistem segmentation : memakai sistem partisi dinamis.
Pada pengalamatan logika, image proses dibagi menjadi bagian-bagian yang disebut segmen.
Pembagian segmen biasanya mengikuti struktur program oleh compiler, yang biasanya tiap
segmen berupa main program, stack, routine, symbol table. Partisi memori utama terjadi pada
saat alokasi yang besarnya sesuai dengan besar segmen program yang dialokasikan.

Konsep Alokasi memori : image proses dibagi menjadi beberapa segmen yang ukurannya
tidak harus sama. Segmen-segmen image proses dialokasikan ke tempat-tempat kosong di
memori utama, dan informasi alokasi dicatat pada segmen table. Segmen table berisi nilai
limit(panjang segmen) dan nilai base(alamat awal bagian memori yang dialokasikan).

Proteksi memori : Membandingkan nilai segmen yang ada di pengalamatan logika dengan
nilai limit yang ada di segmen table. Apabila nilai segmen yang ada di pengalamatan logika

16
Siti Rahmah Septiyana

lebih besar daripada nilai limit yang ada di segmen table, berarti terjadi usaha pengaksesan
lokasi diluar area segmen program itu sehingga memicu terjadinya trap(addressing error).

Memori Sharing : Sharing segmen antara 2 atau lebih proses dilakukan dengan mencatat
lokasi alokasi segmen tersebut ke table segmen masing-masing proses.

Dari Konsep pengalokasian memori antara sistem paging dan segmentation maka dapat dilihat
perbedaannya sebagai berikut:

Sistem Paging Sistem Segmentation


Statis, dibagi menjadi frame-frame dengan Dinamis, dibagi menjadi segmen segmen
ukuran sama yang ukurannya tidak harus sama
Pencatatan dilakukan menggunakan page Informasi alokasi dicatat pada segmen table
table
Proteksi dilakukan dengan menambahkan bit Proteksi dilakukan dengan cara
proteksi pada tiap page membandingkan nilai segmen dengan nilai
limit segmen table
Memori sharing: data yang sama cukup Sharing segmen dilakukan dengan mencatat
diletakkan sekali pada frame, masing-masing lokasi alokasi segmen ke table segmen
proses mengacu pada frame yang sama pada masing-masing proses
page tablenya.

2.9 SISTEM INPUT – OUTPUT

A. Hardware I/O
Beragam variasi perangkat I/O
Konsep Umum
- Port
- Bus (daisy chain atau shared direct access)
- Controller (host adapter)
Device mengendali instruksi I/O
Device memiliki alamat, yang digunakan oleh :
- Direct I/O instructions
- Memory-mapped I/O

B. Interface Aplikasi I/O


- System call I/O meng-enkapsulasi device dalam kelas-kelas yang lebih umum
- Device-driver layer menyembunyikan perbedaan diantara I/O controllers dari kernel
- Devices memiliki beragam dimensi :
- Character-stream atau block
- Sequential atau random-access
- Sharable atau dedicated
- Speed atau operation
- read-write, read only, atau hanya write

C. Subsistem Kernel I/O


- Scheduling
- Beberapa permintaan I/O dipesan melalui urutan device
- Untuk beberapa sistem operasi cukup wajar
- Buffering - Menyimpan data di memori ketika transfer antar device
- Untuk mengatasi kecepatan yang tidak sepadan
- Untuk mengatasi ukuran transfer yang tidak sepadan
- Untuk pegelolaan “copy semantics”

D. Subsistem Kernel I/O (cont.)


- Caching – memori yang cepat menangani copy data
- Hanya untuk copy
- Kunci dalam untuk kerja
- Spooling – menangani output pada device

17
Siti Rahmah Septiyana

- Device dapat melayani sendiri satu permintaan pada satu waktu


- Contoh, mencetak (printing)
- Device reservation – menyediakan akses exclusive untuk device
- Sysyem calls untuk alokasi dan dealokasi
- Berhati-hati dalam deadlock

E. Transformasi/Permintaan I/O untuk operasi Hardware


- Proses pembacaan file dari disk :
- Menentukan device yang menangani file
- Translasi nama ke device yang representatif
- Pembacaan fisik data dari disk melalui buffer
- Membuat data menjadi tersedia sehingga dapat diminta (request) untuk proses
- Mengembalikan kontrol ke proses

18
BAB III
PENUTUP

3.1 KESIMPULAN

Kesimpulannya ialah dalam melakukan berbagai macam operasi, maupun operasi operasi
yang penting maupun tidak penting dalam sistem komputer itu sendiri, tetap diperlukan
adanya semua materi tentang sistem operasi. Mungkin akan membuang daya lebih pada listrik,
mungkin akan membuat perangkat menjadi rusak bahkan ketika memaksakan banyak proses
yang tidak semesti berjalan bersama. Akan menimbulkan hang, pada tahap awal dan pada
tahap yang lebih serius akan terjadi yang namanya black screen. Oleh sebab itu pada jurusan
sistem informasi ini diperlukan pengetahuan tentang sistem operasi karena akan membantu
para programmer dan analis dalam menata proses proses yang akan berjalan sesuai dengan
kemampuan dan batasan dari tiap tiap perangkat komputer.

3.2 SARAN

Saran kami terhadap para pembaca makalah kami yaitu, semoga dapat mengambil dan memahami apa
yang telah kami paparkan semua materi berhubungan dengan sistem operasi, dan bisa untuk
membangun dan memberi masukan terhadap penulisan kami ini jika terdapat kesalahan kata atau
bahkan kesalahan teori yang saya masukkan ke dalam tulisan ini. Dengan segala hormat, kami ucapkan
terima kasih telah membaca makalah kami.

19
DAFTAR PUSTAKA

https://techno-inmyworld.blogspot.co.id/2014/04/pengertian-penjadwalan-prosestipe-tipe.html

https://aristysaputri3.wordpress.com/sistem-operasi/penjadwalan-proses/

http://newshareds.blogspot.com/2014/03/metode-fork-and-joind.html#more

http://belajar-industri.blogspot.com/2011/08/apa-itu-precedence-diagram-cara-membuat.html

https://id.wikipedia.org/wiki/Petri_net

http://aftanet.blogspot.com/2011/05/algoritma-penjadwalan-proses.html

http://cheesterzone.blogspot.com/2011/04/pengertian-deadlock.html

https://sites.google.com/a/student.unsika.ac.id/karaos/deadlock-pada-sistem-operasi/4-kondisi-
penyebab-deadlock

http://sukmaabdi.blogspot.com/2013/04/blog-post_22.html

http://www.academia.edu/16399366/Algoritma_Page_Replacement_and_Pengalokasian_Frame

http://whatdly.blogspot.com/2018/05/makalah-managemen-memori-sistem-operasi.html

https://docplayer.info/31675093-Sistem-i-o-hardware-i-o-interface-aplikasi-i-o-subsystem-
kernel-i-o-transformasi-permintaan-request-i-o-ke-operasi-hardware-stream-unjuk-kerja.html#

20
A. Penjadwalan Proses, Preemptive, Non Preemptive, FCFS,SJF,RR,
B. Implementasi Penjadwalan Prioritas, Multilevel Queue, Multilevel Feed-
1. Crisni Handayani Proses back Queue, Procedence Graph, Petri Net,
C. Sikronisasi Fork-Join-Quit, Parbegin-Parend, And dan
Sikronisasi software, sinkronisasi hardware.
D. Deadlock Penyebab deadlock prevention, deadlock
E. Pencatatan Alokasi Memori prevention, deadlock avoidence, deadlock
2. Dinda Marlina
F. Virtual Memory detection, Bitmap, Link list dan Demand
paging, Algorita page replacement.
G. Pengalokasian Contigous Statis, Dinamis, Buddy Sistem, Paging,
H. Pengalokasian Non Segmentasi dan Hardware I/O , Interface I/O,
3. Siti Rahmah Septiyana
Contigous Subsistem I/O pada karnel, Transformasi I/O
I. Sistem Input-Output ke operasi hardware.

21

Anda mungkin juga menyukai