Senin, 16 Maret 2020



Sistem Operasi 04TPLE005 Sesi 2


1. Apa yang di maksud dengan thread?
Thread adalah prinsip yang memperbolehkan sebagian dari program untuk berjalan secara independen dengan sebagian program lainnya. Dalam threading anda dapat menjalankan beberapa pointer (alamat dalam komputer) sekaligus. Artinya dua atau lebih bagian dari kode dapat dijalankan secara simultan.
2. Perbedaan antara proses dengan thread tunggal dengan proses thread yang banyak?
Perbedaan antara proses dengan thread tunggal dengan proses dengan thread yang banyak adalah proses dengan thread yang banyak dapat mengerjakan lebih dari satu tugas pada satu satuan waktu, sedangkan proses dengan thread tunggal tidak bisa mengerjakan lebih dari satu tugas pada satu satuan waktu.
3. Sebutkan macam - macam thread!

Model MultiTrading:
One to one: Memetakan setiap user thread ke dalam 1 kernel threa.
Kelebihan: Model one-to-one lebih sinkron daripada model many-to-one karena mengizinkan thread lain untuk berjalan ketika suatu thread membuat pemblokingan terhadap sistem pemanggilan, hal ini juga membuat multiple thread bisa berjalan secara parallel dalam multiprosesor .
Kekurangan: Dalam pembuatan user thread diperlukan pembuatan korespondensi thread pengguna. Karena dalam proses pembuatan kernel thread dapat mempengaruhi kinerja dari aplikasi, maka kebanyakan dari implementasi model ini membatasi jumlah thread yang didukung oleh sistem.
Model ini ada pada Windows NT dan OS/2.

One to Many: memetakan beberapa tingkatan thread user hanya ke satu buah kernel thread.
Kelebihan: Managemen proses thread dilakukan oleh (di ruang) pengguna, sehingga menjadi lebih efisien.
Kekurangan: multi thread tidak dapat berjalan atau bekerja secara paralel di dalam multiprosesor karena hanya satu thread saja yang bisa mengakses kernel dalam suatu waktu.

Model ini ada pada Solaris Green dan GNU Portable.

Many to Many : Membolehkan setiap tingkatan user thread dipetakan ke banyak kernel thread.
Kelebihan: 
Developer dapat membuat user thread sebanyak yang diperlukan dan kernel thread yang bersangkutan dapat berjalan secara parallel pada multiprocessor.
* Dan ketika suatu thread menjalankan blocking system call maka kernel dapat menjadwalkan thread lain untuk melakukan eksekusi.
Kekurangan:
* Developer dapat membuat user thread sebanyak mungkin, tetapi konkurensi tidak dapat diperoleh karena hanya satu thread yang dapat dijadwalkan oleh kernel pada suatu waktu.
Model ini ada pada Solaris, IRIX, dan Digital UNIX.

4. Jelaskan tindakan yang di ambil oleh sebuah kernel saat alih konteks antara kernel level thread!
  • Perpindahan antar proses melibatkan penyimpanan konteks dari proses yang sebelumnya dan proses berikutnya. hal ini harus dapat dilakukan dengan cepat untuk mencegah terbuangnya waktu CPU, versi. baru dari linux mengganti perpindahan konteks perangkat keras ini menggunakan piranti lunak yang mengimplementasikan sederet instruksi mov untuk menjamin validasi data yang disimpan serta potensi untuk melakukan optimasi. untuk mengubah konteks proses digunakan makro switch. makro tersebut akan mengganti proses dari proses yang ditunjuk oleh prev task menjadi next task .makro switch di jalankan oleh schedule dan merupakan salah satu rutin kernel yang sangan tergantung pada perangkat keras.
5. Sebutkan keuntungan dan kerugian multithreading!
Keuntungan dari sistem yang menerapkan multithreading dapat kita kategorikan menjadi 4
bagian:
a. Responsif. Aplikasi interaktif menjadi tetap responsif meskipun sebagian dari program sedang
diblok atau melakukan operasi lain yang panjang. Umpamanya, sebuah thread dari web browser
dapat melayani permintaan pengguna sementara thread yang lain berusaha menampilkan
gambar.
b. Berbagi sumber daya. Beberapa thread yang melakukan proses yang sama akan berbagi
sumber daya. Keuntungannya adalah mengizinkan sebuah aplikasi untuk mempunyai beberapa
thread yang berbeda dalam lokasi memori yang sama.
c. Ekonomis. Pembuatan sebuah proses memerlukan pengalokasian memori dan sumber daya.
Alternatifnya adalah dengan menggunakan thread, karena thread membagi memori dan sumber
daya yang dimilikinya sehingga lebih ekonomis untuk membuat thread dan context switching
thread. Akan susah mengukur perbedaan waktu antara thread dan switch, tetapi secara umum
pembuatan dan pengaturan proses akan memakan waktu lebih lama dibandingkan dengan
thread. Pada Solaris, pembuatan proses memakan waktu 30 kali lebih lama dibandingkan
pembuatan thread sedangkan proses context switch 5 kali lebih lama dibandingkan context
switching thread.
d. Utilisasi arsitektur multiprosesor. Keuntungan dari multithreading dapat sangat meningkat
pada arsitektur multiprosesor, dimana setiap thread dapat berjalan secara paralel di atas
procesor yang berbeda. Pada arsitektur processor tunggal, CPU menjalankan setiap thread
secara bergantian tetapi hal ini berlangsung sangat cepat sehingga menciptakan ilusi paralel,
tetapi pada kenyataannya hanya satu thread yang dijalankan CPU pada satu-satuan waktu.

Adapun kerugian dari multithreading adalah :
1. Jika digunakan secara berlebihan, multithreading akan berdampak pada pemborosan
resource dan CPU yang dialokasikan untuk switching threads. Misalnya jika heavy disk I/O
terlibat, akan lebih cepat jika hanya memiliki 1 atau 2 thread yang melaksanakan tugas secara
berurutan, daripada menggunakan multithread yang masing-masing mengeksekusi sebuah task
pada waktu yang sama.
2. Sistem yang memiliki kecepatan prosesor dan memory yang cenderung sama, sehingga tidak
ada efisiensi yang hilang (mengacu kepada latency), tidak akan memperoleh peningkatan
bandwidth yang signifikan jika menggunakan multithreading.
3. Multithreading menghasilkan program yang lebih kompleks. Menggunakan multiple thread
sendiri tidak akan menciptakan kerumitan, tapi interaksi antar thread-lah yang mengakibatkan
kompleksitas tersebut.
4. Thread yang banyak bisa saling berinterferensi ketika saling berbagi sumber daya hardware
seperti cache.
6. Apa yang di maksud penjadwalan CPU?

Penjadwalan CPU adalah pemilihan proses dari antrian ready untuk dapat dieksekusi. Penjadwalan CPU merupakan konsep dari multiprogramming, dimana CPU digunakan secara bergantian untuk proses yang berbeda. Suatu proses terdiri dari dua siklus yaitu Burst I/O dan Burst CPU yang dilakukan bergantian hingga proses selesai.

7. Sebutkan kriteria penjadwalan yang optimal!
a. Adil (fairness)
Adalah proses-proses yang diperlakukan sama, yaitu mendapat jatah waktu pemroses yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga mengalami kekurangan waktu.
b. Efisiensi (eficiency)
Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
c. Waktu tanggap (response time).
Waktu tanggap berbeda untuk :
1)      Sistem interaktif
Didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar. Waktu tanggap ini disebut terminal response time.
2)      Sistem waktu nyata
Didefinisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layjkusnendaranan yang dimaksud dieksekusi, disebut event response time.
3)      Turn around time
Adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke system sampai proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan di dalam sistem, diekspresikan sebagai penjumlah waktu eksekusi (waktu pelayanan job) dan waktu menunggu, yaitu : Turn arround time = waktu eksekusi + waktu menunggu.
4)      Throughput
Adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit / interval waktu.
Kriteria-kriteria tersebut saling bergantung dan dapat pula saling bertentangan sehingga tidak dimungkinkan optimasi semua kriteria secara simultan. Contoh : untuk memberi waktu tanggap kecil memerlukan penjadwalan yang sering beralih ke antara proses-proses itu. Cara ini meningkatkan overhead sistem dan mengurangi throughput.
Oleh karena itu dalam menentukan kebijaksanaan perancangan penjadwalan sebaiknya melibatkan kompromi diantara kebutuhan-kebutuhan yang saling bertentangan. Kompromi ini bergantung sifat dan penggunaan sistem komputer.
8. Apa yang di maksud SJF dan berikan contoh algoritmanya?
SJF (SHORTEST JOB FIRST)
Pada algoritma ini setiap proses yang ada di ready queue akan dieksekusi berdasarkan burst time terkecil. Hal ini mengakibatkan waiting time yang pendek untuk setiap proses dan karena hal tersebut maka waiting time rata-ratanya juga menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma yang optimal.


Tabel Contoh Shortest Job First

Process
Arrival Time
Burst Time
P1
0.0
7
P2
2.0
4
P3
4.0
1
P4
5.0
4

CONTOH KASUS

1.   Ada 4 buah proses yang datang berurutan yaitu P1 dengan arrival time pada 0.0 ms dan burst time 7 ms, P2 dengan arrival time pada 2.0 ms dan burst time 4 ms, P3 dengan arrival time pada 4.0 ms dan burst time 1 ms, P4 dengan arrival time pada 5.0 ms dan burst time 4 ms. Hitunglah waiting time rata-rata dan turnaround time dari keempat proses tersebut dengan mengunakan algoritma SJF.

Average waiting time rata-rata untuk ketiga proses tersebut adalah sebesar (0 +6+3+7)/4=4 ms.
Gambar 14.3. Shortest Job First (Non-Preemptive)

Average waiting time rata-rata untuk ketiga prses tersebut adalah sebesar (9+1+0+2)/4=3 ms.

2.      Misalnya ada 2 buah proses yang datang berurutan yaitu P1 dengan arrival time pada 0.0 ms dan burst time 10 ms, P2 dengan arrival time pada 2.0 ms dan burst time 2 ms.
Process
Arrival Time
Burst Time
P1
0.0
10
P2
2.0
2
     3. waiting time PSJF nya :
     P1 = 0 + ( 4 ms – 2 ms ) = 2 ms
     P2 = 0
    Average waiting time : (2 ms + 0 ms ) / 2 = 2 ms
    Average turn around : (12 ms + 0 ) / 2 = 12 ms

Tabel Solusi
Process
Arrival Time
Burst Time
Waktu Mulai
Waktu selesai
Waiting Time
Turn Around
P1
0
10
0
12
2
12
P2
2
2
0
4
0
0

Average
2
12









Ada beberapa kekurangan dari algoritma ini yaitu:
  1. Susahnya untuk memprediksi burst time proses yang akan dieksekusi selanjutnya.
  2. Proses yang mempunyai burst time yang besar akan memiliki waiting time yang besar pula karena yang dieksekusi terlebih dahulu adalah proses dengan burst time yang lebih kecil.
Algoritma ini dapat dibagi menjadi dua bagian yaitu :
  1. Preemptive .Jika ada proses yang sedang dieksekusi oleh CPU dan terdapat proses di ready queue dengan burst time yang lebih kecil daripada proses yang sedang dieksekusi tersebut, maka proses yang sedang dieksekusi oleh CPU akan digantikan oleh proses yang berada di ready queue tersebut. Preemptive SJF sering disebut juga Shortest-Remaining- Time-First scheduling.
  2. Non-preemptive .CPU tidak memperbolehkan proses yang ada di ready queue untuk menggeser proses yang sedang dieksekusi oleh CPU meskipun proses yang baru tersebut mempunyai burst time yang lebih kecil.
9. Sebutkan jenis penjadwalan!

  1. Penjadwal jangka pendek (short-term scheduller). Penjadwalan jangka pendek bertugas menjadwalkan alokasi pemroses di antara proses-proses Ready yang berada di memori utama. sasaran utama penjadwal jangka pendek adalah memaksimumkan kinerja sistem untuk memenuhi satu kumpulan kriteria yang diharapkan. Penjadwal ini dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan. 6
  2. Penjadwal jangka menengah (medium-term scheduller). Setelah eksekusi selama suatu waktu, proses mungkin ditunda karena permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses yang tertunda tidak dapat membuat suatu kemajuan untuk menuju selesai sampai ondisi yang menyebabkannya hilang. Agar ruang memori dapat bermanfaat maka proses dipindah dari memori utama ke memori sekunder sehingga tersedia ruang yang lebih besar untuk proses yang lain. Kapasitas memori utama terbatas untuk sejumlah proses yang aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. Penjadwal jangka menengah bertugas menangani proses swapping . Proses yang mempunyai kepentingan kecil saat itu adalah proses yang tertunda. Tetapi begitu kondii yang membuat proses tertunda hilang dan proses dimasukkan kembali ke memori utama dan Ready. Penjadwal jangka menengah mengendalikan transisi dari suspended ke ready (dari state suspend ke Ready dari proses yang mengalami swapping). 7
  3. Penjadwal jangka panjang (long-term scheduller). Penjadwal jangka panjang bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi sistem. Batch biasanya berupa proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, perangkat masukan/keluaran), program ini mempunyai prioritas yang rendah, dan biasa digunakan sebagai pengisi (agar pemroses sibu) selama periode aktivitas proses-proses interaktif rendah. Sasaran utama penjadwal jangka panjang adalah memberi keseimbangan proses-proses campuran. Tipe-tipe penjadwal dapat dikaitkan dengan state proses.
10. Definisikan perbedaan antara penjadwalan secara preemptive dan non preemptive!

Penjadwalan Non Preemptive
Jika proses sedang menggunakan CPU, proses tersebut akan membawa CPU sampai proses tersebut melepaskannya (berhenti dalam keadaan wait). Dapat dikatakan bahwa Non-Preemptive ini merupakan proses yang hanya dapat melakukan proses sekali run saja kemudian diselesaikan sampai akhir proses tersebut tanpa ada proses yang menyela proses ini.

Penjadwalan PreemptivePada saat proses sedang menggunakan CPU, CPU dapat diambil alih oleh proses lain.
Dalam hal ini harus selalu dilakukan perbaikan data. Proses ini adalah kebalikan dari proses Non-preemptive tadi yakni saat proses ini bekerja, maka proses dapat disela oleh proses lain sehingga prose ini akan kembali di proses setelah CPU menyelesaikan proses yang menyela tadi.


Sistem Operasi 04TPLE005 Sesi 1


Quiz Pert. 4

1. Apa itu multiprogramming?

- Multiprogramming adalah suatu metode yang memungkinkan dua buah program atau lebih dijalankan secara serentak dalam sebuah komputer dan berbagai sumber daya dalam waktu yang berlainan.Konsep multiprogramming bisa diibaratkan sebagai pekerja yang tak hanya menangani satu pekerjaan,tetapi juga menangani pekerjaan lain,sehingga tak ada waktu yang terbuang.

2. Aktifitas apa saja yang dilibatkan pada saat penciptaan proses?

  • Memberi identitas proses
  • Menyisipkan proses pada senarai atau tabel proses
  • Menentukan prioritas awal proses
  • Menciptakan PCB
  • Mengalokasikan resource awal bagi proses
Penciptaan proses adalah hal yang paling pertama dilakukan sistem operasi, karena yang pertama dilakukan ketika kita mengakses aplikasi adalah terlebih dahulu harus ada proses yang bisa diakses.

3. Apa alasan penghancuran proses akibat terjadinya kegagalan input/output?

Alasan-alasan penghancuran proses (penyebab terminasi):
1.selesainya proses secara normalProses mengeksekusi panggilan layanan sistem operasi untuk menandakan bahwa proses telah berjalan secara lengkap.2.batas waktu terlewatiProses telah berjalan melebihi batas waktu total yg dispesifikasikan.3.Memori tidak tersediaProses memerlukan memori lebih banyak dari pada yang dapat disediakan sistem.4.Pelanggaran terhadap batas memoriProses mencoba mengakses lokasi memori yang tidak di izinkan di akses5.Terjadi kesalahan karena pelanggaran proteksiProses berusaha menggunakan sumber daya atau file yang tidak di ijinkan di pakainya,atau proses mencoba menggunakannya tidak untuk peruntukkannya,seperti menulis file read-only.6.Terjadi kesalahan aritmatikaProses mencoba perhitungan terlarang,seperti pembagiaan dengan nol atau mencoba menyimpan angka yang lebih besar dari pada yang di akomodasi oleh perangkat keras.7.Waktu tel;ah kadaluwarsaProses telah menunggu lebih lama dari pada maksimum yang di tentukan untuk terjadinya suatu kejadian spesifik.8.Terjadi kegagalan masukan/keluaranKesalahan muncul pada masukan atau keluaran,seperti ketidakmampuan menemukan file,kegagalan membaca atau menulis setelah sejumlah maksimum percobaan di tentukan (misal : area rusak didapatkan pada disk,atau operasi tak valis seperti membaca dari line printer).
4. Jelaskan metode apa saja yang digunakan sistem operasi dalam pengendalian antar proses?

Terdapat 2 metode yang digunakan dalam pengendalian persediaan pada perusahaan manufaktur yaitu antara lain:
1. Continuous Review Method
Continuous Review Method merupakan metode dimana posisi barang-barang yang tersedia di dalam gudang dianggap sama dengan posisi persediaan barang dalam sistem deterministik (sistem dimana permintaan terhadap barang telah diketahui dengan pasti) dengan adanya penambahan persediaan pengaman (safety stock) yang sedikit. Pemesanan barang berdasarkan continuous review method dilakukan dalam jumlah per lot dengan pesanan yang selalu sama. Periode pemesanan dalam metode ini tidaklah tetap. Metode ini memerlukan administrasi yang banyak karena harus selalu memantau persediaan yang ada agar tidak terjadi keterlambatan dalam pemesanan barang.
Hal-hal yang harus diperhatikan dalam menggunakan continuous review method adalah:
  • Biaya penyimpanan per unit barang adalah tetap
  • Biaya pemesanan ulang barang yang dilakukan perusahaan adalah tetap
  • Tidak terdapatnya keterlambatan datangnya bahan baku karena waktu tunggu datangnya bahan baku adalah tetap
  • Permintaan bahan baku yang bervariasi
  • Pembelian yang terjadi tidak akan mendapatkan potongan harga
  • Bahan atau barang yang datangnya tidak sekaligus akan mendapatkan biaya tambahan
  • Setiap jenis barang yang diperoleh berasal dari proses penjualan yang berlainan
2. Periodic Review Method
Periodic Review Method merupakan metode dimana jarak waktu antara dua pesanan dalam pengendalian persediaan adalah tetap. Dalam metode ini, persediaan pengaman (safety stock) sangat dibutuhkan karena kemungkinan persediaan habis sebelum masa periode pemesanan datang akan terjadi. Safety stock digunakan untuk meredam fluktuasi permintaan selama berlangsungnya proses lead time serta digunakan untuk meredam seluruh konsumsi persediaan yang ada.
Jumlah pesanan barang yang dipesan dalam periodic review method sangat bergantung dengan sisa persediaan dalam gudang pada saat berada dalam masa akhir periode pemesanan. Maka dari itu, ukuran lot pada barang pesanan akan selalu berbeda setiap kali dilakukan pemesanan. Pada metode ini, periode pemesanan dilakukan secara periodik sehingga administrasi yang diperlukan tergolong ringan.

5. Sebutkan operasi-operasi apa saja yang dapat dilakukan sistem operasi terhadap proses!

A. PENCIPTAAN PROSES
Penciptaan proses adalah hal yang paling pertama dilakukan sistem operasi, karena yang pertama dilakukan ketika kita mengakses aplikasi adalah terlebih dahulu harus ada proses yang bisa diakses.
Konsep penciptaan proses
Setiap proses memiliki nomer ID proses dan ini bersifat unik. Proses akan berakhir ketika dia sudah sampai termination atau tahap dimana proses telah selesai di eksekusi. Ketika hal ini terjadi maka akan dilamporkan ke proses utama dan seketika itu juga resource yang diambil oleh proses tadi juga nomer ID-nya akan dikembalikan ke prosesor agar proses lain bisa memakainya.
Proses diciptakan dengan fork system call (operasi penciptaan proses yang baru adalah sesuatu yang diberi nama forking a process). Anak atau sub dari proses yang tercipta oleh fork adalah salinan dari proses utama (parent process), kecuali dia memiliki ID proses sendiri.
Proses anak yang baru di forking akan terus berlanjut mengeksekusi program yang sama seperti yang dilakukan proses utamanya,pada titik di mana fork kembali dipanggil. Kita dapat menggunakan nilai kembali dari fork untuk mengetahui program itu sedang bekerja di proses anak atau di proses utama.
Aktivitas pada penciptaan proses:

  • Memberi identitas proseS
  • Menyisipkan proses pada senarai atau tabel proses
  • Menentukan prioritas awal prose
  • Menciptakan PCB
  • Mengalokasikan resource awal bagi proses


Tahap-tahap penciptaan proses
Penciptaan proses dapat disebabkan beragam sebab. Penciptaan proses meliputi beberapa tahap:
• Beri satu identifier unik ke proses baru. Isian baru ditambahkan ke tabel proses utama yang berisi satu isisan perproses.
• Alokasikan ruang untuk proses.
• PCB harus diinisialisasi
• Kaitan-kaitan antar tabel dan senarai yang cocok dibuat.
• Bila diperlukan struktur data lain maka segera dibuat struktur data itu.
Alasan-alasan penciptaan proses.
• Terdapat batch baru. SO dengan kendali batch job, setelah menciptakan proses baru, kemudian melanjutkan membaca job selanjutnya.
• Satu pemakai interaktif logon. Seorang pemakai pada satu terminal sedang melakukan logon ke system.
• Sistem operasi menciptakan proses untuk memberi layanan. SO menciptakan proses untuk memenuhi satu fungsi pada program pemakai, tanpa mengharuskan pemakai menunggu.
• Proses menciptakan proses anak. Untuk mencapai modularitas atau mengekploitasi kongkurensi, program pemakai memerintahkan pembuatan sejumlah proses.
Proses dapat menciptakan proses baru yaitu proses anak (child process). Proses yang menciptakan proses disebut proses induk (parent process). Proses anak-pun kembali dapat menciptakan proses-proses anak. Proses-proses dapat membentuk pohon hirarki proses.

B. PENGHANCURAN/TERMINASI PROSES
Penghancuran proses melibatkan pembebasan proses dari sistem,yaitu :
• sumber daya – sumber daya yang dipakai dikembalikan
• proses dihancurkan dari senarai atau tabel system
• PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas)
Penghancuran lebih rumit bila proses telah menciptakan prose-proses lain.terdapat 2 pendekatan,yaitu:
- Pada beberapa sistem,proses-proses turunan dihancurkan saat proses induk di hancurkan secara otomatis.
- Beberapa sistem lain menganggap proses anak independen terhadap proses induk sehingga proses anak tidak secara otomatis di hancurkan saat proses induk di hancurkan.
Alasan-alasan penghancuran proses (penyebab terminasi):
1. selesainya proses secara normal
Proses mengeksekusi panggilan layanan sistem operasi untuk menandakan bahwa proses telah berjalan secara lengkap.
2. batas waktu terlewati
Proses telah berjalan melebihi batas waktu total yang dispesifikasikan.
3. Memori tidak tersedia
Proses memerlukan memori lebih banyak dari pada yang dapat disediakan sistem.
4. Pelanggaran terhadap batas memori
Proses mencoba mengakses lokasi memori yang tidak di izinkan di akses
5. Terjadi kesalahan karena pelanggaran proteksi
Proses berusaha menggunakan sumber daya atau file yang tidak di ijinkan di pakainya,atau proses mencoba menggunakannya tidak untuk peruntukkannya, seperti menulis file read-only.
6. Terjadi kesalahan aritmatika
Proses mencoba perhitungan terlarang,seperti pembagiaan dengan nol atau mencoba menyimpan angka yang lebih besar dari pada yang di akomodasi oleh perangkat keras.
7. Waktu tel;ah kadaluwarsa
Proses telah menunggu lebih lama dari pada maksimum yang di tentukan untuk terjadinya suatu kejadian spesifik.
8. Terjadi kegagalan masukan/keluaran
Kesalahan muncul pada masukan atau keluaran,seperti ketidakmampuan menemukan file,kegagalan membaca atau menulis setelah sejumlah maksimum percobaan di tentukan (misal : area rusak didapatkan pada disk,atau operasi tak valis seperti membaca dari line printer).
C. PENUNDAAN PROSES
Penundaan (suspend) sering dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduksi bebansistem selama beban puncak. Penundaan biasanya berlangsung singkat.
• Penundaan (suspension) adalah operasi penting dan telah diterapkan dengan beragam cara. Penundaan biasanya berlangsung singkat. Penundaan sering dilakukan sistem untuk memindahkan proses proses tertentu guna mereduksi beban sistem selama beban puncak.
• Proses yang ditunda (suspended process) tidak berlanjut sampai proses lain me resume. Untuk jangka panjang, sumber daya sumber daya proses dibebaskan (dilucuti). Keputusan membebaskan sumber daya sumber daya bergantung sifat masing masing sumber daya. Memori utama seharusnya segera dibebaskan begitu proses tertunda agar dapat dimanfaatkan proses lain. Resuming (pengaktifan kembali) proses yaitu menjalankan proses dari titik (instruksi) dimana proses ditunda.

D. PELANJUTAN KEMBALI PROSES
Pengaktifan kembali (resuming) proses yaitu menjalankan proses dari titik (instruksi) dimana proses ditunda.
E. PERUBAHAN PRIORITAS PROSES

F. MEMBLOCK PROSES
Komunikasi antara proses membutuhkan place by calls untuk mengirim dan menerima data primitive. Terdapat rancangan yang berbeda-beda dalam implementasi setiap primitive. Pengiriman pesan mungkin dapat diblok (blocking) atau tidak dapat dibloking (nonblocking) - juga dikenal dengan nama sinkron atau asinkron.
• Pengiriman yang diblok: Proses pengiriman di blok sampai pesan diterima oleh proses penerima (receiving process) atau oleh mailbox.
• Pengiriman yang tidak diblok: Proses pengiriman pesan dan mengkalkulasi operasi.
• Penerimaan yang diblok: Penerima mem blok samapai pesan tersedia.
• Penerimaan yang tidak diblok: Penerima mengembalikan pesan valid atau null.
Buffering
Baik komunikasi itu langsung atau tak langsung, penukaran pesan oleh proses memerlukan antrian sementara. Pada dasarnya, terdapat tiga jalan dimana antrian tersebut diimplementasikan:
• Kapasitas nol (zero capacity): antrian mempunyai panjang maksimum 0, maka link tidak dapat mempunyai penungguan pesan (message waiting). Dalam kasus ini, pengirim harus memblok sampai penerima menerima pesan.
• Kapasitas terbatas (Bounded capacity): antrian mempunyai panjang yang telah ditentukan, paling banyak pesan dapat dimasukkan. Jika antrian tidak penuh ketika pesan dikirimkan, pesan yang baru akan menimpa, dan pengirim pengirim dapat melanjutkan eksekusi tanpa menunggu. Link mempunyai kapasitas terbatas.
• Jika link penuh, pengirim harus memblok sampai terdapat ruang pada antrian.
• Kapasitas tak terbatas(Unbounded capacity): antrian mempunyai panjang yang tak terhingga, maka, semua pesan dapat menunggu disini. Pengirim tidak akan pernah di blok.
G. MEMBANGUNKAN PROSES
Suatu pendekatan kejuteraan sistematik tekini untuk menganilisis masalah dan menambah baik kualiti produk atau proses. Kajian ini hanya memfokuskan kepada masalah proses pengeluaran dan penambahbaikan ke atas proses pengeluaran lampin pakai buang (diaper). Kajian ini dilakukan ke atas salah satu mesin (Mesin Technipro) pembuat lampin pakai buang. Kombinasi kawalan proses statistik dan pendekatan lain seperti Kepner Tregoe, Poka Yoke, SMED, zero setting, centerlining, F1 Pit Stop dan rakaman video digunakan untuk melakukan penambahbaikan. Ukuran masa perjalanan mesin, masa mesin berhenti akibat mengalami kerosakan, masa penyelenggaraan mesin, peratus kecekapan mesin, peratus produk yang dihasilkan dalam sejam, peratus masa lengah mesin dan peratus kecacatan yang terhasil digunakan bagi membandingkan hasil dari proses penambahbaikan yang dijalankan. Kajian ini telah berjaya membangunkan dan mereka bentuk sistem pembangunan proses bagi memperbaiki proses- proses yang sedia ada.
H. PENJADWALAN PROSES
Merupakan kumpulan kebijaksanaan didalam sitem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem computer, penjadwalan juga bertugas untuk memutuskan :
• Proses yang harus berjalan
• Kapan dan selama berapa lama proses berjalan.
Multiprogramming bertujuan untuk memaksimalkan penggunaan CPU dengan cara mengatur alokasi waktu yang digunakan oleh CPU, sehingga proses berjalan sepanjang waktu dan memperkecil waktu idle.
• Ketika sebuah proses memasuki sistem, proses itu diletakkan di dalam job queue
• proses yang berada pada memori utama, siap dan menunggu untuk dieksekusi disimpan dalam sebuah daftar yang bernama ready queue
• Antrian ini biasanya disimpan sebagai linked list.
• Header ready queue berisi pointer untuk PCB pertama & PCB terakhir pada list.
• Ketika sebuah proses dialokasikan ke CPU, proses tersebut berjalan sebentar lalu berhenti, di-interupsi, atau menunggu suatu hal tertentu, seperti selesainya suatu permintaan I/O.
• Daftar dari proses-proses yang menunggu peralatan I/O tertentu disebut dengan device queue.
• peralatan memiliki device queue-nya masing-masing
I. MEMUNGKINKAN PROSES BERKOMUNIKASI DENGAN PROSES LAIN
• Proses yang Kooperatif
Proses yang bersifat simultan (concurrent) dijalankan pada sistem operasi dapat dibedakaan menjadi yaitu proses independent dan proses kooperatif. Suatu proses dikatakan independen apabila proses tersebut tidak dapat terpengaruh atau dipengaruhi oleh proses lain yang sedang dijalankan pada sistem.
Berarti, semua proses yang tidak membagi data apa pun (baik sementara/ tetap) dengan proses lain adalah independent. Sedangkan proses kooperatif adalah proses yang dapat dipengaruhi atau pun terpengaruhi oleh proses lain yang sedang dijalankan dalam sistem. Dengan kata lain, proses dikatakan kooperatif bila proses dapat membagi datanya dengan proses lain. Ada empat alasan untuk penyediaan sebuah lingkungan yang memperbolehkan terjadinya proses kooperatif:
1) Pembagian informasi: apabila beberapa pengguna dapat tertarik pada bagian informasi yang sama (sebagai contoh, sebuah berkas bersama), kita harus menyediakan sebuah lingkungan yang mengizinkan akses secara terus menerus ke tipe dari sumber-sumber tersebut.
2) Kecepatan penghitungan/ komputasi: jika kita menginginkan sebuah tugas khusus untuk menjalankan lebih cepat, kita harus membagi hal tersebut ke dalam subtask, setiap bagian dari subtask akan dijalankan secara parallel dengan yang lainnya. Peningkatan kecepatan dapat dilakukan hanya jika komputer tersebut memiliki elemen-elemen pemrosesan ganda (seperti CPU atau jalur I/O).
3) Modularitas: kita mungkin ingin untuk membangun sebuah sistem pada sebuah model modular-modular, membagi fungsi sistem menjadi beberapa proses atau threads.
4) Kenyamanan: bahkan seorang pengguna individu mungkin memiliki banyak tugas untuk dikerjakan secara bersamaan pada satu waktu. Sebagai contoh, seorang pengguna dapat mengedit, memcetak, dan meng-compile secara paralel.
• Komunikasi Proses Dalam Sistem
Cara lain untuk meningkatkan efek yang sama adalah untuk sistem operasi yaitu untuk menyediakan alat-alat proses kooperatif untuk berkomunikasi dengan yang lain lewat sebuah komunikasi dalam proses (IPC = Inter-Process Communication). IPC menyediakan sebuah mekanisme untuk mengizinkan proses- proses untuk berkomunikasi dan menyelaraskan aksi-aksi mereka tanpa berbagi ruang alamat yang sama. IPC adalah khusus digunakan dalam sebuah lingkungan yang terdistribusi dimana proses komunikasi tersebut mungkin saja tetap ada dalam komputer-komputer yang berbeda yang tersambung dalam sebuah jaringan. IPC adalah penyedia layanan terbaik dengan menggunakan sebuah sistem penyampaian pesan, dan sistem- sistem pesan dapat diberikan dalam banyak cara.