Anda di halaman 1dari 21

MAKALAH SISTEM OPERASI

TENTANG REVIWE MATAKULASI

DOSEN PENGAMPU :

DISUSUN OLEH :
BagusAlimin
(2012008)

PERGURUAN TINGGI STIMIK SURYA INTAN


KOTABUMI

Jln. Ibrahim Syarief No. 107 Kotabumi-Lampung Utara 34518 Telp. (0724)21107
http;//www.stimiksuryaintankotabumi.ac.id Email : stimiksuryaintankotabumi@gmail.com

1
KATA PENGANTAR

Puji syukur kepada Allah SWT yang telah senantiasa meridhoi kami dalam
menyelesaikan makalah ini, sehingga kami bisa menyelesaikannya tepat pada waktunya.
Kami juga mengucapkan terima kasih kepada dosen,teman – teman, dan semua pihak yang
telah memberi bantuan dan dukungan kepada kami dalam menyusun dan menyelesaikan
makalah ini, khususnya terima kasih kepada Ibu Apriansyah, S.Kom sebagai dosen mata
kuliah Sistem Operasi yang membimbing dan mengarahkan kami dalam membuat dan
menyelesaikan makalah ini.

Kami membuat makalah ini, bertujuan untuk menjelaskan tentang manfaat pengantar
organisasi komputer,bagian-bagian dari organisasi komputer,serta manfaat organisasi
komputer dalam bidang pendidikan. Karena melihat begitu pentingnya kita mengetahui hal
tersebut agar kita bisa mengimplementasikannya dengan baik. Selaku manusia biasa, kami
menyadari bahwa dalam makalah ini masih banyak kekurangan dan kekeliruan yang tidak
disengaja. Oleh karena itu kami membutuhkan kritik dan saran untuk menyempurnakan
pembuatan makalah selanjutnya. Kami berharap makalah ini dapat bermanfaat bagi kita
semua, khususnya dibidang pendidikan komputer.

Kotabumi,8 November 2021


Penulis

2
DAFTAR ISI

KATA PENGANTAR................................................................................................................2
BAB I...........................................................................................................................................4
PEMDAHULUAN......................................................................................................................4
1.1 Latar Belakang.........................................................................................................4
2.1 Rumusan Masalah....................................................................................................4
1.2 Stuktur Sistem Komputer....................................................................................... 5
2.2 Struktur Sistem Operasi..........................................................................................8
3.2 Proses.......................................................................................................................12
4.2 Theread................................................................................................................... 14
5.2 Penjadwalan Proses............................................................................................... 16
6.2 Kongkurensi............................................................................................................18
BAB III......................................................................................................................................21
PENUTUP.................................................................................................................................21
1.3 Kesimpulan.............................................................................................................21

3
BAB I
PEMDAHULUAN

1.1 Latar Belakang

Biasanya, istilah Sistem Operasi sering ditujukan kepada semua software yang
masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi software
terinstall. Kalau sistem komputer terbagi dalam lapisan-lapisan, maka Sistem Operasi
adalah penghubung antara lapisan hardware dan lapisan software. Lebih jauh daripada
itu, 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 software lainnya dapat menggunakan
memori, melakukan input dan output terhadap peralatan lain, dan memiliki akses
kepada sistem file. Apabila beberapa aplikasi berjalan secara bersamaan, maka Sistem
Operasi mengatur skedule yang tepat, sehingga sedapat mungkin semua proses yang
berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta
tidak saling mengganggu.

Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka dari fungsi-
fungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga dalam
setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut dari awal.

2.1 Rumusan Masalah


1. Apa setruktur dari sistem Komputer ?
2. Bagaimana seteruktur dari Sistem Operasi ?
3. Apa yang dimaksut dengan Proses ?
4. Apa Perbedaan Theread dengan Proses ?
5. Apakah yang dimaksut dengan penjedwalan ?
6. Apa itu Kong kurensi ?

4
BAB II
PEMBAHSAN

1.2 Stuktur Sistem Komputer

1. Sistem Komputer

Sistem komputer terdiri atas CPU dan sejumlah perangkat pengendali yang
terhubung melalui sebuah bus yang menyediakan akses ke memori, Setiap device
controller (pengendali) bertanggung-jawab atas sebuah hardware spesifik. Setiap
device dan CPU dapat beroperasi secara konkuren (bersamaan) untuk mendapatkan
akses ke memori -> masalah sinkronisasi. Sebuah memory controller ditambahkan
untuk sinkronisasi akses memori.

2. Prosesor
Berfungsi mengendalikan operasi komputer & melakukan fungsi pemrosesan data.
Langkah-langkah yang dilakukan pemproses :
1) Mengambil instruksi yang dikodekan secara biner dari memori utama
2) mendekode instruksi menjadi aksi-aksi sederhana
3) melaksanakan aksi – aksi

1. Jenis Memori
1) Main memory : media storage yang dapat diakses langsung oleh CPU,
kapasitas kecil, volatile.
2) Volatile : isi data hilang jika power dimatikan
3) Secondary storage : penyimpanan data dengan kapasitas besar, non-
volatile
4) Non-volatile : data masih tersimpan walaupun power dimatikan

1. Register
1) Bersifat volatile
2) Berisi data yang akan diolah langsung di prosesor
3) Kecepatan sangat tinggi.
4) Kapasitas terbatas
5) Sebagai tempatperhitungan/komputasi data

5
1. Cache Memory
1) Bersifat volatile
2) Meningkatkan kecepatan pengambilan dan penyimpanan data di memori oleh
prosesor
3) Jika program membutuhkan data di memori, cache akan mengecek apakah ada,
jika ada dinamakan cache hit, jika tidak ada maka akan mencari ke RAM,
dengan konsekuensi waktu yg dibutuhkan jd lebih lama
4) Beberapa mesin mempunyai 2 / 3 level cache, masing2 lebih besar kapasitasnya
dan lebih lambat daripada sebelumnya

1. Random Access Memory (RAM)


1) Bersifat volatile
2) Permintaan CPU yang tidak dapat dipenuhi di cache, akan menuju ke RAM

1. Peralatan Input Output


Terdiri 2 bagian :
1) Komponen elektronis : Controller / pengendali perangkat
2) Komponen mekanis : Perangkat itu sendiri
Pengendali perangkat adalah serangkaian chip yang secara fisik mengendalikan
perangkat. Jenis tiap pengendali berbeda - diperlukan software yang berbeda
juga untuk mengendalikannya – device driver

1. Device Driver
Berjalan di kernel
1) Ada 4 cara memasukkan driver ke kernel :
2) Menghubungkan kembali kernel dengan driver yang baru kemudian restart
sistem. Banyak digunakan oleh sistem berbasis UNIX
3) Masuk ke file sistem operasi dan memberitahu bahwa membutuhkan driver
kemudian restart sistem. Saat boot semua driver yang diperlukan di-load.
Digunakan oleh Windows
4) OS mampu menerima driver baru tanpa harus restart. Contoh : USB flash disk

1. Metode I/O
1) Pada saat operasi I/O dijalankan ada dua kemungkinan, yaitu :
Synchronous – menunggu sampai proses I/O selesai
2) Sebuah thread memulai operasi I/O kemudian akan masuk ke state wait (tunggu)
sampai operasi I/O selesai

6
3) Ketika dalam state wait, CPU idle

Asynchronous – proses lain dapat berjalan walaupun operasi I/O belum


selesai. Sebuah thread mengirim permintaan I/O ke kernel dengan memanggil
fungsi yang cocok, jika diterima oleh kernel, thread akan melanjutkan proses
yang lain sampai kernel memberitahu bahwa operasi I/O sudah selesai.
Kemudian thread tersebut akan melakukan interupsi terhadap proses yang
sedang dikerjakannya dan memproses data operasi I/O

1. Proteksi perangkat keras

1) OS akan memproteksi perangkat keras disebabkan banyaknya penggunaan


sumber daya di komputer
2) Supaya jika ada satu program yang tidak bekerja maka tidak akan menganggu
kinerja OS maupun program lain yang sedang berjalan

1. Operasi Dual Mode

Menyediakan dukungan perangkat keras untuk membedakan minimal dua mode


operasi yaitu : Mode Monitor/Kernel/System – eksekusi dikendalikan OS Mode
Pengguna – eksekusi dikendalikan user.

2. Proteksi Memori
1) Pembatasan penggunaan memori.
2) Prosedur proteksi memory, tambahkan dua register yang menentukan range legal
address akses program
3) Base Register - alamat memori fisik awal yang dialokasikan/ boleh digunakan
oleh pengguna.
4) Limit Register - nilai batas dari alamat memori fisik awal yang
dialokasikan/boleh digunakan oleh pengguna.
5) Memory diluar range yang didefinisikan diproteksi

1. Penggunaan Base and Limit Register


Sebagai contoh pengguna dibatasi : base register 1000 limit register 500 hanya
diperbolehkan menggunakan alamat memori fisik antara 1000 hingga 1500.

1.2 Struktur Sistem Operasi


1. Konsep Sistem Operasi
7
1) resource manager : pengelola seluruh sumber daya yang terdapat pada sistem
komputer
2) extended machine : menyediakan sekumpulan layanan ke pemakai sehingga
memudahkan dan menyamankan penggunaan serta pemanfaatan sumber daya sistem
komputer.

1. Modul/Komponen dalam OS
1) Modul Manajemen Proses
2) Modul Manajemen Memori
3) Modul Manajemen I/O
4) Modul Manajemen Sistem Berkas (File)
5) Modul Manajemen Penyimpanan Sekunder
6) Modul Manjemen Sistem Proteksi
7) Modul Jaringan
8) Command interpreter system

1. Manajemen Memori Utama


1) Memory merupakan array(susunan) word/byte dalam jumlah besar.
2) Tiap word/byte punya alamat sendiri
3) Volatile storage device
4) OS bertanggung jawab dalam :
Keep track bagian mana dari memori yang sedang digunakan & oleh siapa, Memilih
program yang akan di-load ke memori. Alokasi & dealokasi ruang memori

1. Manajemen Sistem Berkas


1) Berkas (File) adalah kumpulan informasi yang berhubungan (sesuai dengan tujuan
pembuat berkas tersebut). Biasanya berkas merepresentasikan program dan data
2) OS bertanggung jawab dalam : Pembuatan dan penghapusan file, Pembuatan dan
penghapusan direktori, Mendukung manipulasi file dan direktori, Pemetaan file dalam
secondary storage, Backup file dalam media yang stabil (non-volati

1. Manajemen I/O
1) Sering disebut dengan device manager
2) Menyediakan device driver yang umum sehingga operasi I/O dapat seragam
(membuka,membaca,menulis,menutup)
3) Contoh : user menggunakan operasi yang sama untuk membaca berkas pada CD Rom
dan flash disk
4) Komponen OS untuk sistem I/O
Penyangga : menampung sementara data dari/ke perangkat I/O
Spooling : melakukan penjadwalan pemakaian I/O supaya lebih efisien menyediakan driver

8
1. Manajemen Secondary-Storage
1) Back up main memory, non-volatile
2) Data dan program disimpan disimpan dalam secondary storage (penyimpanan sekunder;
disk)
3) OS bertanggung jawab dalam :mengelola ruang yang kosong dalam storage, alokasi
penyimpanan, penjadwalan disk

1. Sistem Proteksi
1) Mekanisme untuk mengatur/mengendalikan akses yang dilakukan oleh program,
prosesor atau user ke sumber daya yang ada dalam sistem komputer
2) Mekanisme proteksi : Dapat membedakan pemakaian yang sah (authorized) & yang
tidak sah (unauthorized), spesifikasi kendali yang dikenakan

1. Jaringan (Distributed System)


1) Distributed system : sekumpulan prosesor yang tidak berbagi memory atau clock. Setiap
prosesor memiliki memori lokal masing-masing
2) Prosesor-prosesor dalam sistem terhubung dalam jaringan komunikasi
3) Sebagai pengatur (protokol) dalam komunikasi data
4) Menentukan strategi-strategi menangani masalah-masalah komunikasi
5) Mengatur network file system
6) Dengan adanya shared resource : Peningkatan kecepatan komputasi, peningkatan
penyediaan data, meningkatkan reliabilitas (kehandalan)

9
1. Command Interpreter
1) Memungkinkan sistem berkomunikasi dengan user melalui perintah-perintah
menjalankan proses yang telah didefinisikan beserta parameternya kemudian melakukan
respon
2) OS menunggu perintah/instruksi dari user (command driven)
3) Contoh-contoh command interpreter : command-line interpreter (CLI) Shell
4) Command-Interpreter System sangat bervariasi dari satu sistem operasi ke sistem
operasi yang lain dan disesuaikan dengan tujuan dan teknologi I/O peranti yang ada.
Contohnya : DOS, Windows, dll

1. Layanan OS Internal
1) Resource allocation
Alokasi resources bagi sejumlah user atau job yang running pada saat yang sama
2) Accounting
Mencatat jumlah pengguna yang menggunakan sumber daya, dan jenis sumber dayanya.
3) Protection
Menjamin agar semua akses ke sumber daya terkendali, contoh : menyediakan password
jika akan akses sumber daya.

1. System Program
1) Menyediakan lingkungan yang memungkinkan pengembangan program dan eksekusi
berjalan dengan baik
2) Dapat dikategorikan :
1) Manipulasi Berkas (File)
Informasi Status : tanggal, jam, jumlah memori, disk, dll
2) Modifikasi Berkas
Mendukung bahasa pemrograman : kompilator, assembly, interpreter
3) Loading & eksekusi program
Komunikasi : menyediakan mekanisme komunikasi antara proses, user dan sistem
komputer yang berbeda

1. System Call
1) Permintaan yang dilakukan oleh proses aktif melalui software interrupt / exception
untuk mendapatkan layanan kernel
2) Single prosesor menjalankan satu instruksi setiap waktu. Jika sebuah proses yang
berjalan di user mode dan membutuhkan layanan sistem, harus melakukan sistem call.
Contoh : membaca data dari file
3) OS kemudian mengenali keinginan proses dengan memeriksa parameter yang diberikan
oleh proses
10
4) Tiga metode untuk passing parameter antara running program dan OS :
1) melalui register
2) Menyimpan parameter dalam blok atau tabel pada memory, dan alamat blok tsb
diberikan sebagai parameter dlm register
3) Menyimpan parameter (push) ke dalam stack (oleh program), dan pop off parameter
pada stack (oleh OS)

1. Jenis-jenis System Call


1) Process Control
Load, execute, create/terminate process, get/set process attributes, wait, dll
2) File management
Create/delete file, open/close, read/write, get/set file attributes, dll
3) Device management
Request/release device, get/set device attributes, dll
4) Information Maintenance
Get/set time, dll
5) Communication
Create/delete connection, send/receive message, dll

1. Struktur Sistem Operasi


1) Monolithic
1) Struktur sederhana
2) OS ditulis sebagai kumpulan prosedur, masing-masing dapat memanggil prosedur
yang lain jika dibutuhkan

1) Layered / Berlapis
1) OS dibagi menjadi sejumlah lapisan yang masing-masing dibangun di atas lapisan
yang lebih rendah
2) Lapisan yang lebih rendah menyediakan layanan untuk lapisan yang lebih tinggi
3) Lapisan paling bawah : perangkat keras
4) Lapisan paling atas : antarmuka pengguna

1) Virtual Machine
1) Implementasi software dari sebuah mesin (komputer) yang menjalankan program
seperti mesin secara fisik.
2) Duplikat dari mesin sebenarnya
3) Masing-masing VM mempunyai prosesor, memori dan sumber daya lain secara
terpisah di dalam satu mesin host.

1) Mikrokernel

11
Kernel yang menyediakan hanya sekumpulan kecil abstraksi perangkat keras sederhana,
dan menggunakan aplikasi-aplikasi yang disebut sebagai server untuk menyediakan
fungsi-fungsi lainnya.

2) Exokernel
Kernel yang hampir tidak menyediakan sama sekali abstraksi hardware, tapi ia
menyediakan sekumpulan library yang menyediakan fungsi-fungsi akses ke perangkat
keras secara langsung.

1.2 Proses

Proses adalah program yang sedang dieksekusi, termasuk didalamnya nilai-nilai dalam
program counter, register, dan variabel-variabel yang ada.

1. Hubungan Proses dan OS


1) OS menjadwal dan mengirimkan proses untuk dieksekusi oleh prosesor.
2) OS mengalokasikan sumber daya untuk proses.

1. Pembentukan Proses
1) Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan.
2) Sebuah proses dibuat melalui system call create-process yang membentuk proses
turunan (child process) yang dilakukan oleh proses induk (parent process).
3) Proses turunan tersebut juga mampu membuat proses Process Control Block baru
sehingga semua proses ini pada akhirnya membentuk pohon proses.

1. Penghancuran Proses/Terminasi
1) Di-terminasi ketika proses telah selesai mengeksekusi perintah terakhir menggunakan
system call exit.
2) Suatu proses juga dapat diterminasi dengan sengaja oleh proses lain dengan system call
abort, biasanya proses induk melakukan hal ini pada turunannya.
3) sumber daya – sumber daya yang dipakai dikembalikan

1. Status Proses
1) Jika program telah selesai dieksekusi maka status dari proses tersebut akan berubah
menjadi Terminated.
2) Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis maka akan
terjadi interrupt dan proses tersebut kini berstatus Ready.
3) Jika suatu event terjadi pada saat proses dieksekusi (seperti ada permintaan I/O) maka
proses tersebut akan menunggu event tersebut selesai dan proses berstatus Waiting.

1. Process Control Block (PCB)


12
Setiap proses digambarkan dalam sistem operasi oleh sebuah PCB, PCB hanya berfungsi
sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan
yang lain.

2. Isi PCB
1) Status Proses
Status new, ready, running, waiting, terminated, dan juga banyak lagi.
2) Program Counter
Suatu stack yang berisi alamat berikutnya yang akan dieksekusi oleh proses tersebut
3) CPU register
Register tersebut termasuk accumulator, register indeks, stack pointer, general-purposes
register, ditambah code information pada kondisi apa pun. Beserta dengan program
counter, keadaan/status informasi harus disimpan ketika gangguan terjadi, untuk
memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya.

1. Process Control Block (PCB)


1) Informasi penjadwalan CPU
Informasi ini berisi prioritas dari suatu proses, pointer ke antrian penjadwalan, dan
beberapa parameter penjadwalan yang lainnya.
2) Informasi manajemen memori
Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register,
tabel halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh
sistem.

1. Penundaan Proses (Suspend)


1) Penundaan (suspend) sering dilakukan sistem untuk memindahkan proses-proses
tertentu guna mereduksi beban sistem selama beban puncak. Penundaan biasanya
berlangsung singkat.

1. Pengaktifan Proses (Resuming)


1) Pengaktifan kembali (resuming) proses yaitu menjalankan proses dari titik (instruksi)
dimana proses ditunda.

1. Alasan Suspend dan Resume


1) Jika sistem berfungsi secara buruk dan mungkin gagal maka proses-proses dapat
disuspend agar diresume setelah masalah diselesaikan.
Contoh : saat proses pencetakan, bila tiba-tiba kertas habis maka proses disuspend.
Setelah kertas dimasukkan kembali, proses pun dapat diresume.
2) Pemakai yang ragu mengenai hasil proses dapat mensuspend proses (bukan membuang
(abort) proses). Saat pemakai yakin proses akan berfungsi secara benar maka dapat
meresume proses yang di-suspend.
13
3) Sebagai tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses
dapat disuspend dan diresume saat beban kembali ke tingkat normal.

1.2 Theread
Proses dengan thread tunggal – proses menjalankan satu tugas pada satu waktu, Sistem
operasi modern – multithread – proses menjalankan banyak tugas/thread pada satu waktu
Contoh : secara bersamaan mengetik dan menjalankan pemeriksaan ejaan di dalam proses yang
sama

1. Perbedaan Thread Dengan Proses


1) Thread adalah bagian dari suatu proses
2) Tiap proses mempunyai informasi status dan sumber daya sendiri, thread berbagi
informasi status dan sumber daya dengan thread yang lain dalam satu proses
3) Tiap proses mempunyai alamat yang berbeda, sedangkan thread berbagi alamat yang
sama
4) Pergantian antar threads lebih cepat daripada antar proses

1. Contoh Multithreading
1) Web browser : memiliki satu thread untuk display image, dan thread yang lain untuk
mengambil data dari network.
2) Web server : menerima request dari client untuk halaman web, image, sound, dll. Web
server melayani client secara bersamaan (concurrent).

1. Keuntungan Multithreading
1) Responsif
Multithreading memungkinkan suatu program running walaupun sebagian program di-
block atau menjalankan operasi yang lain.
2) Resource Sharing
Thread dalam suatu proses yang sama dapat men-share memori dan resource dengan
thread yang lain. Mengijinkan sebuah aplikasi untuk memiliki beberapa thread yang
berbeda dalam lokasi memori yang sama
3) Ekonomis
Alokasi memori dan resource untuk pembuatan proses memiliki cost yang mahal.
Dalam hal context-switch, lebih ekonomis bila dilakukan dengan thread context-switch.
4) Utilisasi CPU
Meningkatkan kinerja pada arsitektur multiprocessor, dimana thread running secara
paralel pada prosesor yang berbeda.

1. User Threads
1) Implementasi thread di level pengguna (dengan menggunakan pustaka/library thread).

14
2) Pustaka menyediakan fasilitas untuk pembuatan thread, penjadwalan thread, dan
manajemen thread tanpa dukungan dari kernel.
3) Keuntungan : Dapat lebih cepat dibuat dan dikendalikan karena tanpa campur tangan
kernel
4) Kelemahan : salah 1 thread pengguna menjalankan blocking system call maka
mengakibatkan seluruh proses diblok.

1. Kernel Threads
1) Didukung langsung oleh sistem operasi
2) Pembuatan, penjadwalan, dan manajemen thread dilakukan oleh kernel pada kernel
space
3) Keuntungan :
4) jika thread menjalankan blocking system call kernel dpt menjalankan thread lain di
aplikasi untuk melakukan eksekusi.
5) Pada lingkungan multiprosesor, kernel dapat menjadwal thread-thread pada prosesor
yang berbeda
6) Kelemahan : lebih lambat daripada user kernel.
1. Model-model Multithreading
1) Many-to-One (User level Threading)
1) Memetakan beberapa user thread ke satu kernel thread
2) Hanya 1 thread pengguna yang dapat mengakses thread kernel pada satu saat Multi
thread tidak dapat berjalan secara paralel pada multiprosesor.

1) One-to-One
1) Masing-masing user-level thread dipetakan ke kernel thread
2) Keuntungan = keuntungan thread kernel
3) Kelemahan = setiap pembuatan user thread memerlukan jg pembuatan kernel thread
sehingga dapat menurunkan kinerja aplikasi jumlah thread dibatasi oleh sistem

1) Many-to-Many
1) Memungkinkan banyak user-level thread dipetakan ke banyak kernel thread
2) Memungkinkan sistem operasi membuat jumlah kernel thread yang mencukupi
3) Keuntungan : dapat berjalan pada multiprosesor.

1. Thread Pools
1) Masalah multithreading : pembuatan thread terlalu banyak menurunkan performa sistem
2) Solusi : membuat sejumlah thread pada saat startup dan menempatkannya ke dalam
pool.
3) Ketika server menerima request, thread dipanggil.
4) Jika selesai, thread kembali ke pool
5) Keuntungan : lebih cepat dan membatasi jumlah thread
15
1. Thread specific data
Thread yang dimiliki oleh suatu proses memang berbagi data tetapi setiap thread
mungkin membutuhkan duplikat dari data tertentu untuk dirinya sendiri dalam keadaan
tertentu. Data ini disebut thread-specific data.

1.2 Penjadwalan Proses


1. Definisi dari Penjadwalan Proses
1) Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi
yang berkaitan dengan urutan kerja yang dilakukan sistem komputer.
2) Penjadwalan bertugas memutuskan proses yang harus berjalan dan kapan atau berapa
lama proses itu berjalan.

16
1. Kriteria Penjadwalan
1) adil
Proses-proses mendapat jatah waktu pemroses tak ada proses yang tak kebagian layanan
pemroses
2) efisiensi
Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk
pemroses. Menjaga agar pemroses tetap dalam keadaan sibuk → efisiensi mencapai
maksimum.

1. Tipe Penjadwalan
1) Penjadwal jangka pendek (short-term scheduler)
Menjadwalkan alokasi pemroses diantara proses-proses ready di memori utama.
2) Penjadwal jangka menengah
Aktifitas pemindahan proses yang tertunda dari memori utama ke memori sekunder
(swapping) → tersedia ruang untuk proses lain.

1. Strategi Penjadwalan
1) Penjadwalan preemptive
Proses yang sedang berjalan dapat diinterupsi dan dipindah ke status ready oleh sistem
operasi sehingga CPU dapat diambil alih proses yang lain.

1. Algoritma Penjadwalan

1) Penjadwalan FIFO
1) Penjadwalan nonpreemptive dan tidak berprioritas, Proses-proses diberi jatah waktu
pemroses berdasarkan waktu kedatangan. Proses yang datang terlebih dahulu, juga
dilayani terlebih dahulu
2) Saat proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai
3) Job lama membuat job pendek menunggu
4) Job tidak penting membuat job penting menunggu.

1. Penjadwalan SJF
1) Asumsi : waktu jalan proses (sampai selesai) sudah diketahui sebelumnya
2) Menjadwalkan proses dengan waktu terpendek lebih dulu sampai selesai

17
1. Penjadwalan Round Robin (RR)
1) Penjadwalan preemptive dan tanpa prioritas
2) Semua proses dianggap penting dan diberi sejumlah waktu pemroses yang disebut
kwanta (quantum) atau time-slice dimana proses itu berjalan.
3) Ketentuan algoritma RR :
Jika quantum habis dan proses belum selesai maka proses menjadi runnable dan
pemroses dialihkan ke proses lain. Jika quantum belum habis dan proses menunggu
suatu kejadian (selesainya I/O), maka proses menjadi blocked dan pemroses dialihkan
ke proses lain. Jika quantum belum habis tapi proses telah selesai maka proses diakhiri
dan pemroses dialihkan ke proses lain.

1. Penjadwalan PS
Prioritas biasanya menyangkut masalah : waktu, memori yang dibutuhkan, banyaknya file
yang boleh dibuka, dan perbandingan antara rata-rata I/O burst dengan rata-rata CPU burst.
Priority schedulling bersifat preemptive atau nonpreemptive. Jika ada proses P1 yang datang
pada saat P0 sedang berjalan, maka akan dilihat prioritas P1. Seandainya prioritas P1 lebih
besar dibanding dengan prioritas P0 maka pada non preemptive, algoritma tetap akan
menyelesaikan P0 sampai habis CPU burst-nya, dan meletakkan P1 pada posisi head queue.
Sedangkan pada preemptive, P0 akan dihentikan dulu, dan CPU ganti.

1.2 Kongkurensi

Proses-proses disebut kongkuren jika proses-proses (lebih dari 1 proses) berada pada saat yang
sama. Proses-proses kongkuren dapat sepenuhnya tak bergantung dengan lainnya tapi dapat juga
saling berinteraksi/kerjasama. Proses-proses yang berinteraksi memerlukan
sinkronisasi/koordinasi agar terkendali dengan baik.
Contoh Kasus :
1) Sambil menunggu selesainya layanan (misalnya transfer data oleh modem) pemakai
dapat berinteraksi dengan aplikasi lain seperti aplikasi permainan game atau
mengetikkan perintah pada text editor
2) Proses tersebut harus berjalan konkuren dan tidak terjadi deadlock (hang)

1. Kegiatan yang berhubungan dengan kongkurensi :


1) Alokasi waktu pemroses untuk proses-proses yang aktif
2) Pemakaian bersama & persaingan mendapatkan sumber daya
3) Komunikasi antar proses
4) Sinkronisasi aktivitas banyak proses.

1. Kesulitan Dalam kongruensi


18
1) Pemakaian bersama sumber daya global
2) Pengelolaan sumber daya agar optimal
3) Pencarian kesalahan pemrograman

1. Penanganan kongruensi
1) Mengetahui proses-proses yang aktif
2) Mengatur alokasi dan dealokasi beragam sumber daya untuk tiap proses yang aktif
3) Proteksi data dan sumber daya fisik proses
4) Hasil-hasil proses harus independen

1. Persaingan Dan Kerjasama Antar Proses


1) Meskipun proses-proses tidak bekerja bersama, SO perlu mengatur persaingan diantara
proses-proses itu dalam memperoleh sumber daya yang terbatas
Contoh :
Dua buah aplikasi (word & corel) berusaha mengakses printer yang sama. Bila kedua
aplikasi mengakses printer yang sama benar-benar secara bersamaan maka kedua proses
akan memperoleh hasil yang tidak di kehendaki.

1. Kondisi Dan Masalah


Beberapa kondisi dan masalah yang dapat muncul pada kongkurensi antara lain :
1) Mutual Exclusion
Mutual exclusion adalah jaminan hanya satu proses yang mengakses sumber daya pada
suatu interval waktu tertentu, sedangkan proses lain dilarang mengerjakan hal yang
sama.
contoh :
sumberdaya printer hanya bisa diakses 1 proses, tidak bisa bersamaan → sumber daya
ini disebut sumber daya kritis

1. Deadlock
Adalah banyak proses yang saling menunggu hasil dari proses yang lain untuk dapat
melanjutkan atau menyelesaikan tugasnya.
Misal :
1) 2 proses P0 dan P1
2) 2 sumber daya R0 dan R1
3) P0 meminta sumberdaya R0.
4) Sumber daya R1 dialokasikan ke P
5) P0 sambil masih menggenggam R0, meminta R1
6) P1 sambil masih menggenggam R1, meminta R0
7) Terjadi deadlock karena sama-sama akan saling menunggu

19
1. Starvation
Adalah suatu proses akan menunggu suatu kejadian atau hasil suatu proses lain, supaya
dapat menyelesaikan tugasnya, tetapi kejadian yang ditunggu tidak pernah terjadi karena
selalu diambil lebih dulu oleh proses yang lain.
Contoh :
1) Terdapat tiga proses, yaitu P1, P2 dan P3.
2) P1, P2 dan P3 memerlukan pengaksesan sumber daya R secara periodik
3) Skenario berikut terjadi :
4) P1 sedang diberi sumber daya R sedangkan P2 dan P3 diblocked menunggu
sumber daya R.
5) Ketika P1 keluar dari critical section, maka P2 dan P3 diijinkan mengakses R.
6) Asumsi P3 diberi hak akses, kemudian setelah selesai, hak akses kembali
diberikan ke P1 yang saat itu kembali membutuhkan sumber daya R.

Jika pemberian hak akses bergantian terus-menerus antara P1 dan P3, maka P2 tidak pernah
memperoleh pengaksesan sumber daya R. Dalam kondisi ini memang tidak terjadi deadlock,
hanya saja P2 mengalami starvation (tidak ada kesempatan untuk dilayani).

20
BAB III
PENUTUP

1.3 Kesimpulan
Sistem Operasi telah berkembang selama lebih dari 40 tahun dengan dua
tujuan utama. Pertama, Sistem Operasi mencoba mengatur aktivitas-aktivitas
komputasi untuk memastikan pendaya-gunaan yang baik dari sistem komputasi
tersebut. Kedua, menyediakan lingkungan yang nyaman untuk pengembangan dan
jalankan dari program.
Pada awalnya, sistem komputer digunakan dari depan konsol. Perangkat lunak seperti
assembler, loader, linker dan kompilator meningkatkan kenyamanan dari sistem pemrograman,
tapi juga memerlukan waktu set-up yang banyak. Untuk mengurangi waktu set-up tersebut,
digunakan jasa operator dan menggabungkan tugas-tugas yang sama (sistembatch). Sistem batch
mengizinkan pengurutan tugas secara otomatis dengan menggunakan Sistem Operasi yang
resident dan memberikan peningkatan yang cukup besar dalam utilisasi komputer. Komputer
tidak perlu lagi menunggu operasi oleh pengguna. Tapi utilisasi CPU tetap saja rendah. Hal ini
dikarenakan lambatnya kecepatan alat-alat untuk Masukan/Keluaran relatif terhadap kecepatan
CPU. Operasi off-line dari alat-alat yang lambat bertujuan untuk menggunakan beberapa sistem
reader-to-tape dan tape-to-printer untuk satu CPU. Untuk meningkatkan keseluruhan
kemampuan dari sistem komputer, para developer memperkenalkan konsep multiprogramming.

21

Anda mungkin juga menyukai