SlideShare a Scribd company logo
1 of 20
1
IV. Proses-proses
• Terdapat beberapa definisi proses, diantaranya proses
sebagai program yang sedang dalam keadaan eksekusi
• Proses membutuhkan sumber daya seperti CPU time,
memori, file dan I/O.
• Proses yang khusus berhubungan dengan kegiatan
penjadwalan sering disebut thread. Dalam
perkembangannya proses dan thread dibedakan
• Relasi Thread terhadap proses (1:1, M:1, 1:M, M:M)
Jika ditinjau dari sudut pandang proses, sistem operasi
harus mampu:
• Melanjutkan tanpa henti (interleave) beberapa proses
• Mengalokasikan sumber daya untuk proses
• Mendukung komunikasi antar proses dan penciptaan
proses
2
Keadaan Proses (Process State)
• Ditinjau dari sudut pandang processor proses-proses
dieksekusi dengan mengubah-ubah nilai pada register PC.
Misal pada main memory terdapat program yang terload
seperti pada gambar berikut. Tanpa virtual memory.
Program
Counter
Dispatcher
Process A
Process B
Process C
Main Memory
0 K
20 K
35 K
50 K
80 K
90 K
140 K
190 K
Dispatcher adalah
program kecil yang
memindahkan
processor dari suatu
proses ke proses lain
dengan mengubah-
ubah nilai Program
Counter
3
Sekarang marilah kita trace proses-proses ini
• Proses B setelah
berakhir memanggil
operasi I/O
• Prosesor maksimal
mengeksekusi 6
siklus instruksi
• Setelah itu prosesor
di interrupt diikuti
dengan time out dan
eksekusi kode
dispatcher
a + 0 b + 0 g + 0
a + 1 b + 1 g + 1
a + 2 b + 2 g + 2
a + 3 b + 3 g + 3
a + 4 (b) Trace of g + 4
a + 5 Process B g + 5
a + 6 g + 6
a + 7 g + 7
a + 8 g + 8
a + 9 g + 9
a + 10 g + 10
a + 11 g + 10
b = alamat awal program untuk Process B
g = alamat awal program untuk Process C
(c) Trace of
Process C
(a) Trace of
Process A
a = alamat awal program untuk Process A
4
1 a + 0 28 g + 5
2 a + 1 Time out
3 a + 2 29 d + 0
4 a + 3 30 d + 1
5 a + 4 31 d + 2
6 a + 5 32 d + 3
Time out 33 d + 4
7 d + 0 34 d + 5
8 d + 1 35 a + 6
9 d + 2 36 a + 7
10 d + 3 37 a + 8
11 d + 4 38 a + 9
12 d + 5 39 a + 10
13 b + 0 40 a + 11
14 b + 1 Time out
15 b + 2 41 d + 0
16 b + 3 42 d + 1
I/O Request 43 d + 2
17 d + 0 44 d + 3
18 d + 1 45 d + 4
19 d + 2 46 d + 5
20 d + 3 47 g + 6
21 d + 4 48 g + 7
22 d + 5 49 g + 8
23 g + 0 50 g + 9
24 g + 1 51 g + 10
25 g + 2 52 g + 11
26 g + 3 Time out
27 g + 4
------------------
------------------
------------------
------------------
------------------
d = alamat awal programdispatcher
5
Model proses dua keadaan
• Dari contoh di atas
terdapat dua keadaan
proses yaitu di
eksekusi oleh
prosesor atau tidak.
Jadi dapat dikatakan
terdapat dua keadaan
(state) yaitu Running
dan Not-running
• Proses yang
diinterrupt akan
masuk ke antrian
(queueing)
Running
Not
Running
Dispatch
Pause
Enter Exit
(a) State Transition diagram
Processor
Exit
Enter Dispatch
Pause
Queue
(b) Queueing diagram
6
• Alasan penciptaan proses (Process Creation)
New batch job Setelah sistem operasi siap melakukan
kerja baru,
sistem operasi akan membaca perintah
job selanjutnya
Interactive log on User log on pada sistem
Created by OS to provide
a service
Sebagai tanggapan atas suatu aplikasi
seperti mencetak file), sistem operasi
dapat menciptakan proses yang akan
mengelolanya
Spawned by existing process Untuk tujuan modularitas atau
paralelisme, user program dapat
membuat sejumlah proses
7
• Alasan penghentian proses (Process Termination)
Normal completion Proses memang sudah selesai mengerjakan tugasnya secara
normal. Proses akan mengeksekusi service call sistem operasi
untuk menandakan bahwa proses telah berjalan secara lengkap
Time limit exceeded Proses berjalan melebihi batas waktu yang telah diberikan
padanya
Memory unavailable Proses membutuhkan ruang memori yang lebih besar daripada
yang disediakan sistem
Bounds unavailable Proses mencoba untuk mengakses kawasan memori yang tidak
diijinkan untuk diakses
Protection error Proses mencoba untuk menggunakan sumber daya atau file yang
tidak boleh digunakan atau mencoba untuk menggunakannya
dengan cara yang tidak benar, misal menulis pada file read only
Arithmetic error Terjadi kesalahan penghitungan, seperti melakukan pembagian
dengan nol atau menyimpan angka yang lebih besar daripada
yang dapat diakomodasikan oleh perangkat keras
Time overrun Prose menunggu terlalu lama
I/O failure Terjadi kegagalan I/O, seperti tidak mampu menemukan file atau
kegagalan membaca atau menulis setelah dilakukan perulangan
beberapa kali
8
Invalid instruction Proses berusaha mengeksekusi instruksi yang tidak ada. Hal ini
sering diakibatkan oleh pencabangan ke daerah data dan
berusaha mengeksekusi daerah tersebut
Previleged instruction Proses berusaha untuk menggunakan instruksi yang disimpan
untuk sistem operasi
Data misuse Terjadi kesalahan penggunaan data, karena bagian data
mempunyai tipe data yang salah atau tidak diinisialisasi
Operator of OS intervention Terjadi campur tangan (intervensi) dari operator atau sistem
operasi dengan suatu alasan tertentu (misal terjadi deadlock)
Parent termination Proses induknya berakhir
Parent request Atas permintaan dari proses induk
9
Model proses lima keadaan
• New : Proses baru saja dibuat
• Ready : Proses yang siap dieksekusi menunggu kesempatan
• Blocked : Proses tidak dapat dieksekusi karena menunggu
suatu kejadian terjadi misal menunggu I/O selesai
• Running : Proses sedang dieksekusi
• Exit : Proses sudah selesai
New Ready Running Exit
Blocked
Admit
Dispatch
Time-out
Event
Occurs Event
wait
Release
10
Multiple Blocked Queues
Processor
Release
Admit Dispatch
Time out
Ready Queue
Event 1 Queue
Event 2 Queue
Event n Queue
Event 1 wait
Event 2 wait
Event n wait
Event 1
occur
Event 2
occur
Event n
occur
11
Proses Swapping
• Jika main memory sudah penuh dan banyak proses yang
berada pada keadaan block atau ready. Maka proses
tersebut dapat disimpan ke dalam virtual memory yaitu
disk atau hard disk
• Keadaan ini dinamai suspend. Terdapat block suspend
dan ready suspend
New
Ready Running Exit
Blocked
Admit
Dispatch
Time-out
Event
wait
Release
Ready
suspend
Blocked
suspend
Admit
Event
Occurs
Activate
Activate
Suspend
12
Struktur pengontrolan proses
• Untuk mengontrol proses dan
sumber daya, sistem operasi
menyusun suatu tabel
pengontrolan yang berisi
status/keadaan dari proses dan
sumber daya.
• Tabel untuk proses disebut
process image yang berisi :
- User data
- User program
- System stack
- Process Control Block:
berisi attribut dari proses
Process
Identification
Process State
Information
Process Control
Information
User Stack
Shared
Address Space
Process
Control
Block
Image Process
Private User
Address Space
(Program, data)
13
Memory
Devices
Files
Processes
Memory Tables
File Tables
Process 1
General Structure of operating-system control tables
Process 2
Process 3
Process n
Process
1
Process
2
I/O Tables
Process Tables
Process
Image
Process
Image
14
Process Control Block (PCB) berisi :
- Process identification
- Processor state information
- Process control information
Identifier
Identifier numerik yang meliputi
- Identifier proses
- Indentifier proses yang menciptakan
- Identifier pemakai
User visible registers
Register-register yang dapat diacu menggunakan bahasa mesin
Control and Status Registers
Register-register yang dapat digunakan untuk mengendalikan operasi prosesor
- Program Counter
- Condition codes : sign, zero, carry equal, overflow
- Status information : interrupt enable/disable flags, execution mode
Stack Pointers
Tiap proses memiliki satu atau lebih Stack sistem LIFO. Stack digunakan untuk
parameter atau alamat prosedur pemanggil dan system call.
Stack pointer menunjuk alamat paling atas dari stack
Identifikasi Proses
Informasi Status Pemroses
15
Scheduling and State Information
Informasi-informasi yang diperlukan untuk menjalankan fungsi penjadwalan:
- Process state : Mendefinisikan status/keadaan proses
- Priority : Menjelaskan prioritas proses
- Scheduling-related information : Berkaitan dengan informasi penjadwalan
seperti lama menunggu, lama proses terakhir dieksekusi
- Event : Identitas kejadian yang ditunggu proses
Data structuring
Satu proses dapat dikaitkan (link) dengan proses lain dalam struktur antrian,
ring, atau struktur lain. Contoh semua proses yang berada pada status
menunggu dapat dilink pada antrian. PCB harus memiliki pointer untuk
mendukung struktur ini.
Interprocess Communication
Beragam flags, sinyal dan pesan dapat dipakai sebagai alat komunikasi antar
proses-proses yang independen. Beberapa atau semua informasi ini disimpan di
PCB
Process Privileges
Proses dapat mempunyai kewenangan berkaitan dengan memori yang akan
diakses dan tipe instruksi yang akan dieksekusi
Memory Management
Bagian ini berisi pointer ke segment dan atau page table yang menyatakan
tempat memory virtual mengerjakan proses tersebut
Resource Ownership and Utilization
Sumber daya yang dikendalikan proses harus diberi tanda seperti : berkas yang
dibuka. Sejarah penggunaan prosesor atau sumber daya lain dapat juga
disertakan karena informasi ini berguna bagi scheduler
Informasi Kendali Proses
16
Peranan Process Control Block
• PCB berperan penting di sistem operasi. Tiap PCB berisi
informasi mengenai proses yang diperlukan sistem operasi.
• PCB dibaca dan/atau dimodifikasi oleh hampir semua
modul sistem operasi, seperti modul-modul yang terlibat
pada penjadwalan, alokasi sumber daya, pemrosesan
interrupt, monitoring dan analisis kinerja.
• Kumpulan PCB mendefinisikan status / keadaan dari sistem
operasi.
• Sejumlah rutin di Sistem operasi perlu mengakses informasi
di PCB. Ijin mengakses tabel informasi tidak sulit, karena
tiap proses dilengkapi dengan ID unik yang digunakan
sebagai index table pointer untuk PCB.
• Tapi masalahnya bukan pengaksesan tapi proteksinya
17
• Dua masalah utama proteksi terhadap PCB
- Bug (kesalahan pemrograman) pada rutin tunggal,
misalnya interrupt handler dapat merusak PCB
sehingga dapat mengakibatkan hancurnya kemampuan
sistem mengelola proses
- Perubahan rancangan struktur dan semantik dari PCB
dapat berdampak ke sejumlah modul sistem operasi
yang memakai PCB
• Cara mengatasinya dengan membuat semua routine yang
berhubungan dengan proses harus melewati routine
handler khusus untuk PCB
• Routine Handler PCB ini melindungi PCB dari
pembacaaan dan penulisan.
18
Process Switching
• Pengalihan dari suatu proses ke proses lain dengan
membuat proses yang running menjadi state ready atau
block
• Kejadian yang menyebabkan Process Switching :
- Interrupt
* Clock interrupt : Proses yang running akan dibuat
menjadi ready bila telah melampaui waktu
tertentu
* I/O Interrupt : alat I/O meminta layanan
* Memory fault: Prosesor menemui alamat virtual
memory yang dibutuhkan tidak ada di main memory
- Trap : interrupt akibat kesalahan atau kondisi
pengecualian
Jika kesalahan fatal, proses akan dikeluarkan
- Supervisor call
19
Context Switching
• Pada saat tidak terjadi interrupt (ingat kembali
siklus interrupt) processor akan mengerjakan siklus
fetch instruksi di dalam proses yang lagi running
dengan melakukan context switching :
- Processor menyimpan konteks program yang
sedang diekseskusi ke stack
- Processor menset register PC ke alamat awal dari
program interrupt handler
20
Proses P0
menyimpan status PCB 0
mengambil status PCB 1
Proses P1
menyimpan status PCB 1
mengambil status PCB 0
Process Switching
Context
Switching
Eksekusi
Eksekusi
Eksekusi
Context
Switching

More Related Content

Similar to IV. Proses-proses.ppt

Helen Alida Abilio - Manajemen proses
Helen Alida Abilio - Manajemen prosesHelen Alida Abilio - Manajemen proses
Helen Alida Abilio - Manajemen proses
belajarkomputer
 
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdfMakalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Elmitiodatacp
 
Operating System--Memory
Operating System--MemoryOperating System--Memory
Operating System--Memory
Everhythm Past
 

Similar to IV. Proses-proses.ppt (20)

Konsep manajemen proses_pada_sistem
Konsep manajemen proses_pada_sistemKonsep manajemen proses_pada_sistem
Konsep manajemen proses_pada_sistem
 
Helen Alida Abilio - Manajemen proses
Helen Alida Abilio - Manajemen prosesHelen Alida Abilio - Manajemen proses
Helen Alida Abilio - Manajemen proses
 
Helen Alida Abilio - Manajemen Proses
Helen Alida Abilio - Manajemen ProsesHelen Alida Abilio - Manajemen Proses
Helen Alida Abilio - Manajemen Proses
 
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdfMakalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
 
Kuliah 10 so
Kuliah 10 soKuliah 10 so
Kuliah 10 so
 
3-Manajemen_Proses.ppt
3-Manajemen_Proses.ppt3-Manajemen_Proses.ppt
3-Manajemen_Proses.ppt
 
Bernis Sagita - Manajemen proses
Bernis Sagita - Manajemen prosesBernis Sagita - Manajemen proses
Bernis Sagita - Manajemen proses
 
Ferli Apriadi - Manajemen Proses
Ferli Apriadi - Manajemen ProsesFerli Apriadi - Manajemen Proses
Ferli Apriadi - Manajemen Proses
 
So manajemen proses_komplit.hhhhh
So manajemen proses_komplit.hhhhhSo manajemen proses_komplit.hhhhh
So manajemen proses_komplit.hhhhh
 
Bab5 -manajemen_io
Bab5  -manajemen_ioBab5  -manajemen_io
Bab5 -manajemen_io
 
Proses database oracle
Proses database oracleProses database oracle
Proses database oracle
 
Pengelolaan Proses.pptx
Pengelolaan Proses.pptxPengelolaan Proses.pptx
Pengelolaan Proses.pptx
 
Presentasi komputasi Pararel dan Terdistribusi
Presentasi komputasi Pararel dan TerdistribusiPresentasi komputasi Pararel dan Terdistribusi
Presentasi komputasi Pararel dan Terdistribusi
 
Proses di Sistem Operasi
Proses di Sistem OperasiProses di Sistem Operasi
Proses di Sistem Operasi
 
Download transfer dan konversi data
Download transfer dan konversi dataDownload transfer dan konversi data
Download transfer dan konversi data
 
Operating System--Memory
Operating System--MemoryOperating System--Memory
Operating System--Memory
 
referensi materi Manajemen Proses - Sistem Operasi 1
referensi materi Manajemen Proses - Sistem Operasi 1referensi materi Manajemen Proses - Sistem Operasi 1
referensi materi Manajemen Proses - Sistem Operasi 1
 
Pert.3 proses dan thread
Pert.3 proses dan threadPert.3 proses dan thread
Pert.3 proses dan thread
 
Pertemuan3 1 so
Pertemuan3 1 soPertemuan3 1 so
Pertemuan3 1 so
 
8. Proses
8. Proses8. Proses
8. Proses
 

Recently uploaded

HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
nabilafarahdiba95
 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptx
IvvatulAini
 
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxKisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
FitriaSarmida1
 
.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx
furqanridha
 

Recently uploaded (20)

RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
 
Konseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaKonseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusia
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 
Prakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptxPrakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptx
 
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
 
Penyebaran Pemahaman Merdeka Belajar Aksi Nyata PMM
Penyebaran Pemahaman Merdeka Belajar Aksi Nyata PMMPenyebaran Pemahaman Merdeka Belajar Aksi Nyata PMM
Penyebaran Pemahaman Merdeka Belajar Aksi Nyata PMM
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
 
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTXAKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
 
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
 
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan BerkelanjutanTopik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptx
 
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxKisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
 
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxBab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
 
.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx
 
Penyuluhan DM Tipe II Kegiatan Prolanis.ppt
Penyuluhan DM Tipe II Kegiatan Prolanis.pptPenyuluhan DM Tipe II Kegiatan Prolanis.ppt
Penyuluhan DM Tipe II Kegiatan Prolanis.ppt
 
Program Kerja Public Relations - Perencanaan
Program Kerja Public Relations - PerencanaanProgram Kerja Public Relations - Perencanaan
Program Kerja Public Relations - Perencanaan
 

IV. Proses-proses.ppt

  • 1. 1 IV. Proses-proses • Terdapat beberapa definisi proses, diantaranya proses sebagai program yang sedang dalam keadaan eksekusi • Proses membutuhkan sumber daya seperti CPU time, memori, file dan I/O. • Proses yang khusus berhubungan dengan kegiatan penjadwalan sering disebut thread. Dalam perkembangannya proses dan thread dibedakan • Relasi Thread terhadap proses (1:1, M:1, 1:M, M:M) Jika ditinjau dari sudut pandang proses, sistem operasi harus mampu: • Melanjutkan tanpa henti (interleave) beberapa proses • Mengalokasikan sumber daya untuk proses • Mendukung komunikasi antar proses dan penciptaan proses
  • 2. 2 Keadaan Proses (Process State) • Ditinjau dari sudut pandang processor proses-proses dieksekusi dengan mengubah-ubah nilai pada register PC. Misal pada main memory terdapat program yang terload seperti pada gambar berikut. Tanpa virtual memory. Program Counter Dispatcher Process A Process B Process C Main Memory 0 K 20 K 35 K 50 K 80 K 90 K 140 K 190 K Dispatcher adalah program kecil yang memindahkan processor dari suatu proses ke proses lain dengan mengubah- ubah nilai Program Counter
  • 3. 3 Sekarang marilah kita trace proses-proses ini • Proses B setelah berakhir memanggil operasi I/O • Prosesor maksimal mengeksekusi 6 siklus instruksi • Setelah itu prosesor di interrupt diikuti dengan time out dan eksekusi kode dispatcher a + 0 b + 0 g + 0 a + 1 b + 1 g + 1 a + 2 b + 2 g + 2 a + 3 b + 3 g + 3 a + 4 (b) Trace of g + 4 a + 5 Process B g + 5 a + 6 g + 6 a + 7 g + 7 a + 8 g + 8 a + 9 g + 9 a + 10 g + 10 a + 11 g + 10 b = alamat awal program untuk Process B g = alamat awal program untuk Process C (c) Trace of Process C (a) Trace of Process A a = alamat awal program untuk Process A
  • 4. 4 1 a + 0 28 g + 5 2 a + 1 Time out 3 a + 2 29 d + 0 4 a + 3 30 d + 1 5 a + 4 31 d + 2 6 a + 5 32 d + 3 Time out 33 d + 4 7 d + 0 34 d + 5 8 d + 1 35 a + 6 9 d + 2 36 a + 7 10 d + 3 37 a + 8 11 d + 4 38 a + 9 12 d + 5 39 a + 10 13 b + 0 40 a + 11 14 b + 1 Time out 15 b + 2 41 d + 0 16 b + 3 42 d + 1 I/O Request 43 d + 2 17 d + 0 44 d + 3 18 d + 1 45 d + 4 19 d + 2 46 d + 5 20 d + 3 47 g + 6 21 d + 4 48 g + 7 22 d + 5 49 g + 8 23 g + 0 50 g + 9 24 g + 1 51 g + 10 25 g + 2 52 g + 11 26 g + 3 Time out 27 g + 4 ------------------ ------------------ ------------------ ------------------ ------------------ d = alamat awal programdispatcher
  • 5. 5 Model proses dua keadaan • Dari contoh di atas terdapat dua keadaan proses yaitu di eksekusi oleh prosesor atau tidak. Jadi dapat dikatakan terdapat dua keadaan (state) yaitu Running dan Not-running • Proses yang diinterrupt akan masuk ke antrian (queueing) Running Not Running Dispatch Pause Enter Exit (a) State Transition diagram Processor Exit Enter Dispatch Pause Queue (b) Queueing diagram
  • 6. 6 • Alasan penciptaan proses (Process Creation) New batch job Setelah sistem operasi siap melakukan kerja baru, sistem operasi akan membaca perintah job selanjutnya Interactive log on User log on pada sistem Created by OS to provide a service Sebagai tanggapan atas suatu aplikasi seperti mencetak file), sistem operasi dapat menciptakan proses yang akan mengelolanya Spawned by existing process Untuk tujuan modularitas atau paralelisme, user program dapat membuat sejumlah proses
  • 7. 7 • Alasan penghentian proses (Process Termination) Normal completion Proses memang sudah selesai mengerjakan tugasnya secara normal. Proses akan mengeksekusi service call sistem operasi untuk menandakan bahwa proses telah berjalan secara lengkap Time limit exceeded Proses berjalan melebihi batas waktu yang telah diberikan padanya Memory unavailable Proses membutuhkan ruang memori yang lebih besar daripada yang disediakan sistem Bounds unavailable Proses mencoba untuk mengakses kawasan memori yang tidak diijinkan untuk diakses Protection error Proses mencoba untuk menggunakan sumber daya atau file yang tidak boleh digunakan atau mencoba untuk menggunakannya dengan cara yang tidak benar, misal menulis pada file read only Arithmetic error Terjadi kesalahan penghitungan, seperti melakukan pembagian dengan nol atau menyimpan angka yang lebih besar daripada yang dapat diakomodasikan oleh perangkat keras Time overrun Prose menunggu terlalu lama I/O failure Terjadi kegagalan I/O, seperti tidak mampu menemukan file atau kegagalan membaca atau menulis setelah dilakukan perulangan beberapa kali
  • 8. 8 Invalid instruction Proses berusaha mengeksekusi instruksi yang tidak ada. Hal ini sering diakibatkan oleh pencabangan ke daerah data dan berusaha mengeksekusi daerah tersebut Previleged instruction Proses berusaha untuk menggunakan instruksi yang disimpan untuk sistem operasi Data misuse Terjadi kesalahan penggunaan data, karena bagian data mempunyai tipe data yang salah atau tidak diinisialisasi Operator of OS intervention Terjadi campur tangan (intervensi) dari operator atau sistem operasi dengan suatu alasan tertentu (misal terjadi deadlock) Parent termination Proses induknya berakhir Parent request Atas permintaan dari proses induk
  • 9. 9 Model proses lima keadaan • New : Proses baru saja dibuat • Ready : Proses yang siap dieksekusi menunggu kesempatan • Blocked : Proses tidak dapat dieksekusi karena menunggu suatu kejadian terjadi misal menunggu I/O selesai • Running : Proses sedang dieksekusi • Exit : Proses sudah selesai New Ready Running Exit Blocked Admit Dispatch Time-out Event Occurs Event wait Release
  • 10. 10 Multiple Blocked Queues Processor Release Admit Dispatch Time out Ready Queue Event 1 Queue Event 2 Queue Event n Queue Event 1 wait Event 2 wait Event n wait Event 1 occur Event 2 occur Event n occur
  • 11. 11 Proses Swapping • Jika main memory sudah penuh dan banyak proses yang berada pada keadaan block atau ready. Maka proses tersebut dapat disimpan ke dalam virtual memory yaitu disk atau hard disk • Keadaan ini dinamai suspend. Terdapat block suspend dan ready suspend New Ready Running Exit Blocked Admit Dispatch Time-out Event wait Release Ready suspend Blocked suspend Admit Event Occurs Activate Activate Suspend
  • 12. 12 Struktur pengontrolan proses • Untuk mengontrol proses dan sumber daya, sistem operasi menyusun suatu tabel pengontrolan yang berisi status/keadaan dari proses dan sumber daya. • Tabel untuk proses disebut process image yang berisi : - User data - User program - System stack - Process Control Block: berisi attribut dari proses Process Identification Process State Information Process Control Information User Stack Shared Address Space Process Control Block Image Process Private User Address Space (Program, data)
  • 13. 13 Memory Devices Files Processes Memory Tables File Tables Process 1 General Structure of operating-system control tables Process 2 Process 3 Process n Process 1 Process 2 I/O Tables Process Tables Process Image Process Image
  • 14. 14 Process Control Block (PCB) berisi : - Process identification - Processor state information - Process control information Identifier Identifier numerik yang meliputi - Identifier proses - Indentifier proses yang menciptakan - Identifier pemakai User visible registers Register-register yang dapat diacu menggunakan bahasa mesin Control and Status Registers Register-register yang dapat digunakan untuk mengendalikan operasi prosesor - Program Counter - Condition codes : sign, zero, carry equal, overflow - Status information : interrupt enable/disable flags, execution mode Stack Pointers Tiap proses memiliki satu atau lebih Stack sistem LIFO. Stack digunakan untuk parameter atau alamat prosedur pemanggil dan system call. Stack pointer menunjuk alamat paling atas dari stack Identifikasi Proses Informasi Status Pemroses
  • 15. 15 Scheduling and State Information Informasi-informasi yang diperlukan untuk menjalankan fungsi penjadwalan: - Process state : Mendefinisikan status/keadaan proses - Priority : Menjelaskan prioritas proses - Scheduling-related information : Berkaitan dengan informasi penjadwalan seperti lama menunggu, lama proses terakhir dieksekusi - Event : Identitas kejadian yang ditunggu proses Data structuring Satu proses dapat dikaitkan (link) dengan proses lain dalam struktur antrian, ring, atau struktur lain. Contoh semua proses yang berada pada status menunggu dapat dilink pada antrian. PCB harus memiliki pointer untuk mendukung struktur ini. Interprocess Communication Beragam flags, sinyal dan pesan dapat dipakai sebagai alat komunikasi antar proses-proses yang independen. Beberapa atau semua informasi ini disimpan di PCB Process Privileges Proses dapat mempunyai kewenangan berkaitan dengan memori yang akan diakses dan tipe instruksi yang akan dieksekusi Memory Management Bagian ini berisi pointer ke segment dan atau page table yang menyatakan tempat memory virtual mengerjakan proses tersebut Resource Ownership and Utilization Sumber daya yang dikendalikan proses harus diberi tanda seperti : berkas yang dibuka. Sejarah penggunaan prosesor atau sumber daya lain dapat juga disertakan karena informasi ini berguna bagi scheduler Informasi Kendali Proses
  • 16. 16 Peranan Process Control Block • PCB berperan penting di sistem operasi. Tiap PCB berisi informasi mengenai proses yang diperlukan sistem operasi. • PCB dibaca dan/atau dimodifikasi oleh hampir semua modul sistem operasi, seperti modul-modul yang terlibat pada penjadwalan, alokasi sumber daya, pemrosesan interrupt, monitoring dan analisis kinerja. • Kumpulan PCB mendefinisikan status / keadaan dari sistem operasi. • Sejumlah rutin di Sistem operasi perlu mengakses informasi di PCB. Ijin mengakses tabel informasi tidak sulit, karena tiap proses dilengkapi dengan ID unik yang digunakan sebagai index table pointer untuk PCB. • Tapi masalahnya bukan pengaksesan tapi proteksinya
  • 17. 17 • Dua masalah utama proteksi terhadap PCB - Bug (kesalahan pemrograman) pada rutin tunggal, misalnya interrupt handler dapat merusak PCB sehingga dapat mengakibatkan hancurnya kemampuan sistem mengelola proses - Perubahan rancangan struktur dan semantik dari PCB dapat berdampak ke sejumlah modul sistem operasi yang memakai PCB • Cara mengatasinya dengan membuat semua routine yang berhubungan dengan proses harus melewati routine handler khusus untuk PCB • Routine Handler PCB ini melindungi PCB dari pembacaaan dan penulisan.
  • 18. 18 Process Switching • Pengalihan dari suatu proses ke proses lain dengan membuat proses yang running menjadi state ready atau block • Kejadian yang menyebabkan Process Switching : - Interrupt * Clock interrupt : Proses yang running akan dibuat menjadi ready bila telah melampaui waktu tertentu * I/O Interrupt : alat I/O meminta layanan * Memory fault: Prosesor menemui alamat virtual memory yang dibutuhkan tidak ada di main memory - Trap : interrupt akibat kesalahan atau kondisi pengecualian Jika kesalahan fatal, proses akan dikeluarkan - Supervisor call
  • 19. 19 Context Switching • Pada saat tidak terjadi interrupt (ingat kembali siklus interrupt) processor akan mengerjakan siklus fetch instruksi di dalam proses yang lagi running dengan melakukan context switching : - Processor menyimpan konteks program yang sedang diekseskusi ke stack - Processor menset register PC ke alamat awal dari program interrupt handler
  • 20. 20 Proses P0 menyimpan status PCB 0 mengambil status PCB 1 Proses P1 menyimpan status PCB 1 mengambil status PCB 0 Process Switching Context Switching Eksekusi Eksekusi Eksekusi Context Switching