Anda di halaman 1dari 23

DUKUNGAN

OPERATING
SISTEM
DEFINISI PROSES DALAM KOMPUTER
❑ Proses didefinisikan sebagai program yang sedang dieksekusi. Menurut
Silberschatz proses tidak hanya sekedar suatu kode program ( text section),
melainkan meliputi beberapa aktivitas yang bersangkutan seperti program
counter dan stack.

❑ Sebuah proses juga melibatkan stack yang berisi data sementara (parameter
fungsi/ metode, return address, dan variabel lokal) dan data section yang
menyimpan variabel-variabel global.

❑ Tanenbaum juga berpendapat bahwa proses adalah sebuah program yang


dieksekusi yang mencakup program counter, register, dan variabel di
dalamnya.
DEFINISI PROSES DALAM KOMPUTER

❑ Sistem Operasi mengeksekusi proses dengan dua cara yaitu:


➢ Batch system yang mengeksekusi jobs
➢ Time - shared system yang mengatur pengeksekusian program
pengguna (user) atau tasks.

❑ Bahkan pada sistem pengguna tunggal ( single user) seperti Microsoft Windows
dan Mac OS, seorang pengguna mampu menjalankan beberapa program pada
saat yang sama, seperti Spread Sheet, Web Browser, dan Web Email.

❑ Bahkan jika pengguna hanya menggunakan satu program saja pada satu waktu,
sistem operasi perlu mendukung program internalnya sendiri, seperti
manajemen memori. Dengan kata lain, semua aktivitas tersebut adalah identik
sehingga kita menyebutnya ''proses''.
DEFINISI PROSES DALAM KOMPUTER

❑ Program itu sendiri bukanlah sebuah proses.

❑ Program merupakan sebuah entitas pasif; serupa isi dari sebuah


berkas didalam storage.

❑ Sedangkan sebuah proses adalah suatu entitas aktif, dengan


sebuah program counter yang menyimpan alamat instruksi yang
selanjutnya akan dieksekusi dan seperangkat sumber daya
(resource) yang dibutuhkan agar sebuah proses dapat dieksekusi.
STATUS PROSES DALAM KOMPUTER
Sebuah proses dapat memiliki tiga status utama yaitu:

1. Running. Status yang dimiliki pada saat instruksi-instruksi dari sebuah proses
dieksekusi oleh Processor.

2. Waiting. Status yang dimiliki pada saat proses menunggu suatu sebuah event
seperti proses I/O.

3. Ready. Status yang dimiliki pada saat proses siap untuk dieksekusi oleh
prosesor
Terdapat dua status tambahan, yaitu saat pembentukan dan terminasi:

A. New. Status yang dimiliki pada saat proses baru saja dibuat

B. Terminated. Status yang dimiliki pada saat proses telah selesai dieksekusi.
DIAGRAM PROSES
DALAM OPERATING
SISTEM

❑ Hanya satu proses yang


dapat berjalan pada
prosesor mana pun pada
satu waktu (Running
State).
❑ Namun, bisa terdapat
banyak proses yang dapat
berstatus Ready State atau
Waiting State.
DIAGRAM PROSES DALAM OPERATING SISTEM

Terjadi pada
Terjadi pada
INTERNAL
PROCESSOR
MEMORY

Terjadi pada
EXTERNAL MEMORY
DIAGRAM STATUS PROSES 1

Jika program telah selesai dieksekusi maka status dari proses tersebut
akan berubah menjadi Terminated.
DIAGRAM STATUS PROSES 2

Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis maka
akan terjadi interrupt dan proses tersebut kini berstatus Ready.
DIAGRAM STATUS PROSES 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.
PROCESS CONTROL BLOCK (PCB)
Informasi yang berkaitan dengan setiap proses yang
biasa dikenal sebagai task control block :
❑ Process state – running, waiting, etc
❑ Program counter – location of instruction to next
execute
❑ CPU registers – contents of all process-centric
registers
❑ CPU scheduling information- priorities, scheduling
queue pointers
❑ Memory-management information – memory
allocated to the process
❑ Accounting information – CPU used, clock time
elapsed since start, time limits
❑ I/O status information – I/O devices allocated to
process, list of open files
THREADS

❑ Seiring berjalannya waktu dan tuntutan teknologi ternyata ditemukan


kelemahan yang sebenarnya bisa diminimalisir pada proses.

❑ Threads merupakan cara dari sitem komputer melalui Operating Sistem


untuk menjalankan dua atau lebih task dalam waktu bersamaan,

❑ Multithreading adalah cara komputer untuk membagibagi pekerjaan


yang dikerjakan bagian per bagian dengan cepat sehingga menimbulkan
efek seperti menjalakan beberapa task secara bersamaan walaupun
otaknya hanya satu.
KONSEP SCHEDULING

❑ Multiprograming bertujuan untuk memaksimalkan penggunaan CPU


dengan cara mengatur alokasi waktu yang digunakan oleh CPU,
sehingga proses berjalan sepanjang waktu dan memperkecil waktu
idle.

❑ Mengakibatk sistem operasi dapat membuat komputer lebih produktif.

❑ Perlu adanya penjadwalan proses-proses yang ada pada sistem.


PENJADWALAN CPU

❑ Penjadwalan CPU merupakan suatu konsep dasar dari multiprograming

❑ Penjadwalan CPU adalah suatu proses pengaturan atau penjadwalan


proses-proses yang ada di dalam komputer.

❑ Proses-proses tersebut berjalan dalam pola yang disebut Siklus Burst


❑ Penjadwalan sangat penting dalam menentukan performance sebuah
komputer karena mengatur alokasi resource dari CPU untuk
menjalankan proses-proses di dalam komputer.
❑ Dua Jenis Penjadwalan CPU
➢ Preemtive
➢ Non Preemtive
SIKLUS BURST ANTARA CPU – I/O

❑ Keberhasilan dari penjadwalan CPU tergantung dari beberapa properti


prosesor.

❑ Pengeksekusian dari proses tersebut terdiri atas siklus CPU ekskusi


dan I/O Wait.

❑ Proses hanya akan bolak-balik dari dua state ini, inilah yang disebut
Siklus Burst CPU-I/O.
EKSEKUSI SIKLUS BRUST CPU - I/O

❑ Pengeksekusian proses dimulai dengan Burst CPU

❑ Setelah itu diikuti olehi Burst I/O

❑ Kemudian Burst CPU lagi lalu Burst I/O lagi

❑ Dan seterusnya dilakukan secara bergiliran.

❑ Burst CPU terakhir akan berakhir dengan permintaan sistem untuk


mengakhiri pengeksekusian melalui Burst I/O lagi.
DIAGRAM SIKLUS BRUST
PENJADWALAN PREEMTIVE
❑ Penjadwalan CPU mungkin akan dijalankan ketika proses dalam keadaan :
1. Berubah dari running ke waiting state.
2. Berubah dari running ke ready state.
3. Berubah dari waiting ke ready state.
4. Dihentikan.
❑ Kemampuan sistem operasi untuk memberhentikan sementara proses yang
sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih
tinggi.
❑ Penjadwalan ini bisa saja termasuk penjadwalan proses atau I/O.
❑ Penjadwalan Preemptive memungkinkan sistem untuk lebih bisa menjamin bahwa
setiap proses mendapat sebuah slice waktu operasi.
❑ Dan juga membuat sistem lebih cepat merespon terhadap event dari luar
(contohnya seperti ada data yang masuk) yang membutuhkan reaksi cepat dari
satu atau beberapa proses.
PENJADWALAN NON PREEMTIVE
❑ Penjadwalan 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.

❑ Penjadwalan Non Preemptive terjadi ketika proses hanya:


1. Berjalan dari running state sampai waiting state.
2. Dihentikan.

❑ Ini berarti CPU menjaga proses sampai proses itu pindah ke waiting state
ataupun dihentikan (proses tidak diganggu).
DISPATCHER
❑ Komponen yang lain yang terlibat dalam penjadwalan CPU adalah
dispatcher.

❑ Dispatcher adalah modul yang memberikan kontrol CPU kepada


proses yang sedang terjadwal.
FUNGSI DISPATCHER

1. Context switching berfungsi untuk mengganti state dari suatu proses


dan mengembalikannya untuk menghindari monopoli CPU time.

2. Switching to user mode dari kernel mode.

3. Lompat dari suatu bagian di progam user untuk mengulang program.


FUNGSI DISPATCHER

❑ Context switching dilakukan untuk menangani suatu interrupt (misalnya


menunggu waktu I/O).

❑ Untuk menyimpan state dari proses-proses yang terjadwal sebuah


Process Control Block harus dibuat untuk mengingat proses-proses yang
sedang diatur scheduler.

❑ Selain state suatu proses, PCB juga menyimpan process ID, program
counter (posisi saat ini pada program), prioritas proses dan data-data
tambahan lainnya.
TERIMA KASIH

Anda mungkin juga menyukai