Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga merubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).
Komunikasi antar proses
(Inter Process Communinication / IPC) :Mekanisme proses untuk komunikasi dan sinkronisasi aksi
q Konsep Sistem Operasi
Ø Proses
ü Proses adalah program yang sedang di-eksekusi.
ü Proses terdiri dari : Executable program; program data dan stack; program counter; dll
ü Pada sistem timesharing secara periodik sistem operasi menggilir eksekusi proses-proses yang ada, biasanya berdasarkan porsi waktu CPU.
ü Ketika suatu proses dihentikan untuk sementara, maka proses tersebut harus dimulai kembali pada state yang sama dengan state ketika ia dihentikan.
· Semua informasi yang berkaitan dengan proses tersebut harus disimpan. Umumnya informasi tersebut disimpan pada tabel proses (array atau linked list), satu tabel untuk setiap proses.
· Tabel proses (process table) adalah tabel yang berisi informasi tentang semua proses yang dijalankan.
· Suatu proses terdiri dari : address space (core image) dan atribut / informasi pada tabel proses
ü System call utama dalam pengaturan proses adalah yang berkaitan dengan pembuatan dan pemberhentian suatu proses.
Contoh :
· Command interpreter atau shell akan membaca command yang diketikkan user pada terminal, dan membuat proses yang menjalankan command tersebut.
· Bila telah selesai, maka proses akan menjalankan system call untuk menghentikan dirinya.
ü Suatu proses dapat men-create proses lainnya yang disebut sebagai child process.
ü Sistem operasi dapat berkomunikasi dengan suatu proses dengan menggunakan signal.
ü Signal juga dapat digunakan untuk komunikasi antar proses.
ü Pada sistem multiprogramming, setiap proses memiliki user identification (uid) yang berasal dari uid pemilik proses.
Ø Files
Terdiri dari : Pathname; Working directory; rwx (read, write, execute) bits protection code; File descriptor / handle; Special file (block & character); Standard input; Standard output; Standard error; Pipe. SO mendukung konsep direktori.
Root Directory
![]() |
Directory File
Gambar 3. Model Struktur File
Ø System Calls / API (Aplication Programming Interface)
ü Suatu set tata cara pemanggilan di program aplikasi untuk memperoleh layanan system operasi. Berupa extended instructions / perluasan instruksi yang merupakan interface / layanan langsung antara program-program dengan sistem operasi.
ü System calls meng-create, men-delete dan menggunakan objek-objek yang diatur oleh system operasi, antara lain : proses-proses dan file-file.
ü Library procedure meletakkan parameter-parameter system call pada tempat tertentu dan memberikan instruksi trap untuk memulai sistem operasi
ü Trap instruction : ketika diterima oleh sistem operasi, sistem memeriksa apakah parameter tersebut valid atau tidak
ü Return form trap : sistem operasi mengembalikan kontrol ke library procedure
ü Contoh mekanisme system calls untuk READ pada program C.
count = read (file, buffer, nbytes)
Ø Shell
ü Shell pada Unix merupakan command interpreter yang walaupun bukan merupakan bagian dari sistem operasi, menggunakan banyak feature sistem operasi
ü Prompt : standar input, menandakan bahwa shell siap menerima command
ü Contoh :
date
date > file
sort < file1 > file2
cat file1 file2 file3 | sort > /dev/lp
ü Background job : proses yang berjalan sementara user tetap bisa terus bekerja
q Struktur Sistem Operasi
Ø Sistem Monolitik
ü Konsep : “Sistem operasi sebagai kumpulan prosedur dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan”.
ü Kernel berisi semua layanan yang disediakan sistem operasi untuk pemakai.
ü Contoh : Sistem Operasi Unix menggunakan konsep kernel loadable modules, yaitu :
· Bagian-bagian kernel terpenting berada dimemori utama secara tetap.
· Bagian-bagian esensi lain berupa modul yang dapat ditambahkan ke kernel saat diperlukan dan dicabut begitu tidak digunakan lagi diwaktu jalan (run-time).
ü The ‘big mess’
ü Tidak berstruktur
ü Kernel call / supervisor call
ü User mode
ü Kernel mode / supervisor mode
Runs in
User Mode
Gambar 4. Struktur Sistem Monolithic
Ø Sistem Berlapis (Layered System)
ü Konsep : “Sistem operasi dibentuk secara hirarki berdasarkan lapisan-lapisan, dimana lapisan-lapisan memberi layanan lapisan lebih atas”.
ü Dimaksudkan untuk mengurangi kompleksitas rancangan dan implementasi system operasi. Tiap lapisan mempunyai fungsional dan antarmuka I/O antara dua lapisan bersebelahan.
ü Contoh :
· Sistem Operasi THE (Technique Hogesschool Endiche), Djikstra, 1968.
· Sistem Operasi MULTICS (menggunakan concentric rings).
Tabel 1. Lapisan-lapisan pada Sistem Operasi THE
Layer | Function | Fungsi |
5 | The Operator | Untuk operator |
4 | User Programs | Untuk aplikasi program pemakai |
3 | I/O Management | Untuk menyederhanakan akses I/O pada level atas |
2 | Operator-Process Communication | Untuk mengatur komunikasi antar proses |
1 | Memory & Drum Management | Untuk mengatur alokasi ruang memori / drum magnetic |
0 | Processor Allocation & Multiprogramming | Untuk mengatur aloksi pemroses dan switching multiprogramming dan pengaturan prosesor |
Keterangan :
- Lapisan n memberi layanan untuk lapisan n+1. Proses-proses di lapisan n dapat meminta layanan lapisan n-1 untuk memberikan layanan bagi lapisan n+1. Tetapi lapisan n tidak dapat meminta layanan n+1. Kelanjutan sistem berlapis adalah sistem berstruktur cincin seperti sistem MULTICS yang terdiri 64 lapisan cincin dimana satu lapisan mempunyai fungsi berbeda. Lapisan n-1 mempunyai kewenangan lebih dibanding lapisan n. Untuk meminta layanan lapisan n-1, lapisan n melakukan trap. Kemudian, lapisan n-1 mengambil kendali sepenuhnya untuk melayani lapisan n.
Ø Sistem dengan Mesin Maya (Virtual Machines)
ü Konsep : “Awalnya struktur ini membuat seolah-olah user mempunyai seluruh komputer dengan simulasi atas pemroses yang digunakan. Sistem operasi melakukan simulasi mesin nyata. Mesin hasil simulasi digunakan user, mesin maya merupakan tiruan 100% atas mesin nyata. Semua user diberi ilusi mempunyai satu mesin yang sama-sama canggih”.
ü Contoh :
· Sistem operasi MS-Windows NT dapat menjalankan aplikasi MS-Dos, OS/2 mode teks, dan Win 16.
· Pengembang Linux membuat DOSEMU agar aplikasi MS-Dos dapat dijalankan di Linux, WINE agar aplikasi MS-Windows dapat dijalankan di Linux, iBCS agar aplikasi SCO-Unix dapat dijalankan di Linux.
ü CP/CMS
ü VM/370
ü Virtual Machine Monitor
ü CMS (Conversational Monitor System)
Virtual 370s
System Call | ||||
I/O Intruction | CMS | CMS | CMS | Trap |
Trap | VM 370 | |||
370 Bare Hardware |
Gambar 5. Sistem Virtual Mesin
Ø Sistem dengan Client-Server
ü Konsep : “Server adalah proses yang menyediakan layanan, dan Client adalah proses yang memerlukan / meminta layanan. Proses client yang memerlukan layanan mengirim pesan ke server dan menanti pesan jawaban. Proses server setelah melakukan tugas yang diminta, mengirim hasil dalam bentuk pesan jawaban ke proses client. Server hanya menanggapi permintaan client dan tidak memulai percakapan dengan client”.
![]() | Client | Process | Term. | File | Mem | User | |
Process | Process | Server | Server | … | Server | Server | Mode |
![]() ![]() ![]() | Kernel | ||||||
Mode | |||||||
![]() | Kernel |
Client obtains service by sending messages
to server processes
Gambar 6. Model Client Server
Ø Model Client Server pada distributed system
![]() | Client | Client | Client | |||
![]() ![]() | Kernel | Kernel | Kernel |
![]() |



NETWORK
Gambar 7. Model Client Server pada Distributed System
Ø Sistem berorientasi objek
ü Konsep : “Layanan diimplementasikan sebagai objek”.
ü Model ini terstruktur dan memisahkan antara layanan yang disediakan dan implementasinya.
ü Contoh :
· Sistem operasi X-kernel
· Sistem operasi MS-Windows NT telah mengadopsi beberapa teknologi berorientasi objek, tapi belum secara keseluruhan.
q Layanan Sistem Operasi Komputer
Ø Layanan Otomatis : Alokasi sumberdaya; Catatan pemakaian; Proteksi; Penanganan kekeliruan; Pindah baris; Gulung jendela pada monitor
Ø Layanan permintaan pemakaian : Loading; Mengolah/run; Menyimpan/save; Menghapus/delete
q Jenis Sistem Operasi
Ø Aspek kegiatan
ü Pemakai tunggal (single user)
ü Pemakai jamak (multiuser)
Ø Berdasarkan jenis-jenisnya
ü Linux
ü MS-Dos
ü MS Windows-NT
ü MS Windows
ü Dll
- Sistem Pesan – komunikasi proses satu dengan yang lain dapat dilakukan tanpa perlu pembagian data.
- IPC menyediakan dua operasi :
- send(message) – pesan berukuran pasti atau variabel
- receive(message)
- Jika P dan Q melakukan komunikasi, maka keduanya memerlukan :
- Membangun jalur komunikasi diantara keduanya
- Melakukan pertukaran pesan melaui send/receive
- Implementasi jalur komunikasi
- physical (shared memory, hardware bus)
- logical (logical properties)
- Pembuatan Proses (Create)
Penciptaan proses melibatkan banyak aktivitas, yaitu :
- Menamai (memberi identitas) proses.
- Menyisipkan proses pada senarai proses atau tabel proses.
- Menentukan prioritas awal proses.
- Menciptakan PCB.
- Mengalokasikan sumber daya awal bagi proses.
- Penghancuran Proses (Destroyed)
- Selesainya proses secara normal.
- Proses mengeksekusi panggilan layanan So untuk menandakan bahwa proses telah berjalan secara lengkap.
- Batas waktu telah terlewati.
- Proses telah berjalan melebihi batas waktu total yang dispesifikasikan. Terdapat banyak kemungkinan untuk tipe waktu yang diukur, termasuk waktu total yang dijalani (“walk clock time”) jumlah waktu yang dipakai untuk eksekusi, dan jumlah waktu sejak pemakai terakhir kali memberi masukan (pada proses interaktif) .
- Memori tidak tersedia.
- Proses memerlukan memori lebih banyak daripada yang dapat disediakan oleh sistem.
- Pelanggaran terhadap batas memori.
- Proses memcoba mengakses lokasi memori yang tidak diijinkan untuk diakses.
- Terjadi kesalahan karena pelanggaran proteksi.
- Proses berusaha menggunakan sumber daya atau file yang tidak diijinkan dipakainya, atau proses mencoba menggunakannya tidak untuk peruntukannya, seperti menulis file read only.
- Terjadi kesalahan aritmatika.
- Proses mencoba perhitungan terlarang, seperti pembagian dengan nol, atau mencoba menyimpan angka yang lebih besar daripada yang ddapat diakomodasi oleh H/W.
- Waktu telah kadaluwarsa.
- Proses telah menunggu lebih lama daripada maksimum yang telah ditentukan untuk terjadinya suatu kejadian spesfiik.
- Terjadi kegagalan masukan/keluaran.
- Kesalahan muncul pada masukan atau keluaran, seprti ketidakmampuan menemukan file, kegagalan membaca atau mennulis setelah sejumlah maksimum percobaan yang ditentukan (misalnya area rusak didapatkan pada tape,atau operasi tidak valid seperti membaca dari line printer).
- Intruksi yang tidak benar.
- Proses berusaha mengeksekusi instruksi yang tidak ada (sering sebagi akibat pencabangan ke daerah data dan berusaha mengeksekusi data tersebut).
- Terjadi usaha memakai instruksi yang tidak diijinkan.
- Proses berusaha mengeksekusi instruksi yang disimpan untuk SO.
- Kesalahan penggunaan data.
- Bagian data adalah tipe yang salah atau tidak diinisialisasi.
- Diintervensi oleh SO atau operator.
- Untuk suatu alasan, operator atau sistem operasi mengakhiri proses (misalnya terjadi deadlock).
- Berakhirnya proses induk.
- Ketika parent berakhir. So mungkin dirancannng secara otomatis mengakhiri semua anak proses dari parent itu.
- Atas permintaan proses induk.
- Parent process biasanya mempunyai otoritas mengakhiri suatu anak proses.
- Pada beberapa sistem, proses-proses turunan dihancurkan saat proses induk dihancurkan secara otomatis.
- Beberapa sistem lain menganggap proses anak independen terhadap proses induk Proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.
- Sumber daya-sumber daya yang dipakai dikembalikan.
- Proses dihancurkan dari senarai atau tabel sistem.
- PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).
Sebagai contoh, jika sebuah proses menjalankan sebuah program Word Processor, ada sebuah thread tunggal dari instruksi-instruksi yang sedang dilaksanakan.
Kontrol thread tunggal ini hanya memungkinkan proses untuk menjalankan satu tugas pada satu waktu. Banyak sistem operasi modern telah memiliki konsep yang dikembangkan agar memungkinkan sebuah proses untuk memiliki eksekusi multithreads, agar dapat dapat secara terus menerus mengetik dalam karakter dan menjalankan pengecek ejaan didalam proses yang sama. Maka sistem operasi tersebut memungkinkan proses untuk menjalankan lebih dari satu tugas pada satu waktu.
- 2. Keadaan Proses
2) Ready, yaitu suatu kondisi proses siap dieksekusi, akan tetapi pemroses belum siap atau sibuk.
3) Blocked, yaitu suatu proses menunggu kejadian untuk melengkapi tugasnya. Bentuk kegiatan menunggu proses yaitu : selesainya kerja dari perangkat I/Otersedianya memori yang cukup.
Transisi Status
2) Penjadwalan mengambil proses lain.
3) Penjadwalan mengambil proses ini (baru).
4) Input telah tersedia.
Implementasi Proses :
- Untuk mengimplementasikan model proses, sistem operasi menggunakan suatu tabel / array yang disebut tabel proses dengan 1 entry per-proses.
- Setiap entry berisi tentang : status proses, program counter, stack pointer, alokasi memori, status file, informasi schedulling / penjadwalan informasi, dll dari status kerja ke status siap.
- 3. Penjadwalan Proses
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 layanan yang dimaksud dieksekusi, disebut event response time.
d) Turn around time
Adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem 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.
e) 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
Algoritma Penjadwalan
Berikut jenis-jenis algoritma berdasarkan penjadwalan :
- Nonpre-emptive, menggunakan konsep :
- FIFO (First In First Out) atau FCFS (First Come First Serve)
- SJF (Shortest Job First)
- HRN (Highest Ratio Next)
- MFQ (Multiple Feedback Queues)
- Pre-emptive, menggunakan konsep :
- RR (Round Robin)
- SRF (Shortest Remaining First)
- PS (Priority Schedulling)
- GS (Guaranteed Schedulling)
- A. Round Robin (RR)
- Penjadwalan yang paling tua, sederhana, adil,banyak digunakan algoritmanya dan mudah diimplementasikan.
- Penjadwalan ini bukan dipreempt oleh proses lain tetapi oleh penjadwal berdasarkan lama waktu berjalannya proses (preempt by time).
- Penjadwalan tanpa prioritas.
- Berasumsi bahwa semua proses memiliki kepentingan yang sama, sehingga tidak ada prioritas tertentu.
Algoritma yang digunakan :
1) Jika kwanta habis dan proses belum selesai, maka proses menjadi runnable dan pemroses dialihkan ke proses lain.
2) Jika kwanta belum habis dan proses menunggu suatu kejadian (selesainya operasi I/O), maka proses menjadi blocked dan pemroses dialihkan ke proses lain.
3) Jika kwanta belum habis tetapi proses telah selesai, maka proses diakhiri dan pemroses dialihkan ke proses lain.
Diimplementasikan dengan :
1) Mengelola senarai proses ready (runnable) sesuai urutan kedatangan.
2) Ambil proses yang berada di ujung depan antrian menjadi running.
3) Bila kwanta belum habis dan proses selesai, maka ambil proses di ujung depan antrian proses ready.
4) Jika kwanta habis dan proses belum selesai, maka tempatkan proses running ke ekor antrian proses ready dan ambil proses di ujung depan antrian proses ready.
Masalah yang timbul adalah menentukan besar kwanta, yaitu :
- Kwanta terlalu besar menyebabkan waktu tanggap besar dan turn arround time rendah.
- Kwanta terlalu kecil menyebabkan peralihan proses terlalu banyak sehingga menurunkan efisiensi proses.
- Baik untuk sistem interactive-time sharing dimana kebanyakan waktu dipergunakan menunggu kejadian eksternal.
- Tidak cocok untuk sistem waktu nyata apalagi hard-real-time applications.
- B. Priority Schedulling (PS)
Pemberian prioritas diberikan secara :
- Statis (static priorities)
Keunggulan :
- Mudah diimplementasikan.
- Mempunyai overhead relatif kecil.
- Tidak tanggap terhadap perubahan lingkungan yang mungkin menghendaki penyesuaian prioritas.
- Dinamis (dynamic priorities)
Kelemahan :
- Implementasi mekanisme prioritas dinamis lebih kompleks dan mempunyai overhead lebih besar. Overhead in diimbangi dengan peningkatan daya tanggap sistem.
Contoh :
- Proses yang menggunakan 2 msec kwanta 100 ms, maka prioritasnya50.
- Proses yang berjalan selama 50 ms sebelum blocked berprioritas 2.
- Proses yang menggunakan seluruh kwanta berprioritas 1.
- C. Multiple Feedback Queues (MFQ)
- Penjadwalan berprioritas dinamis.
Ketentuan yang berlaku adalah sebagai berikut :
- Jalankan proses pada kelas tertinggi.
- Jika proses menggunakan seluruh kwanta yang dialokasikan, maka diturunkan kelas prioritasnya.
- Proses yang masuk untuk pertama kali ke sistem langsung diberi kelas tertinggi.
- D. Shortest Remaining First (SRF)
- Penjadwalan berprioritas dinamis.
- Adalah preemptive untuk timesharing.
- Melengkapi SJF.
- Pada SJF, begitu proses dieksekusi, proses dijalankan sampai selesai.
- Pada SRF, proses yang sedang berjalan (running) dapat diambil alih proses baru dengan sisa waktu jalan yang diestimasi lebih rendah.
- Mempunyai overhead lebih besar dibanding SJF. SRF perlu penyimpanan waktu layanan yang telah dihabiskan job dan kadang-kadang harus menangani peralihan.
- Tibanya proses-proses kecil akan segera dijalankan.
- Job-job lebih lama berarti dengan lama dan variasi waktu tunggu lebih lama dibanding pada SJF.
- E. Guaranteed Scheduloing (GS)
Rasio 0,5 berarti sebuah proses hanya punya 0,5 dari apa yang waktu CPU miliki dan rasio 2,0 berarti sebuah proses hanya punya 2,0 dari apa yang waktu CPU miliki. Algoritma akan menjalankan proses dengan rasio paling rendah hingga naik ketingkat lebih tinggi diatas pesaing terdekatnya. Ide sederhana ini dapat diimplementasikan ke sistem real-time dan memiliki penjadwalan berprioritas dinamis.
Algoritma Non Pre-emptive
- A. First In First Out (FIFO)
- Penjadwalan tidak berprioritas.
- Proses-proses diberi jatah waktu pemroses berdasarkan waktu kedatangan.
- Pada saat proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai.
- Baik untuk sistem batch yang sangat jarang berinteraksi dengan pemakai.
- Sangat tidak baik (tidak berguna) untuk sistem interaktif, karena tidak memberi waktu tanggap yang baik.
- Tidak dapat digunakan untuk sistem waktu nyata (real-time applications).
- B. Shortest Job First (SJF)
Masalah yang muncul adalah :
- Tidak mengetahui ukuran job saat job masuk.
- Proses yang tidak datang bersamaan, sehingga penetapannya harus dinamis.
- C. Highest Ratio Next (HRN)
- Penjadwalan berprioritas dinamis.
- Penjadwalan untuk mengoreksi kelemahan SJF.
- Adalah strategi penjadwalan dengan prioritas proses tidak hanya merupakan fungsi waktu layanan tetapi juga jumlah waktu tunggu proses. Begitu proses mendapat jatah pemroses, proses berjalan sampai selesai.
Prioritas = (waktu tunggu + waktu layanan ) / waktu layanan
Karena waktu layanan muncul sebagai pembagi, maka job lebih pendek berprioritas lebih baik, karena waktu tunggu sebagai pembilang maka proses yang telah menunggu lebih lama juga mempunyai kesempatan lebih bagus.
Disebut HRN, karena waktu tunggu ditambah waktu layanan adalah waktu tanggap, yang berarti waktu tanggap tertinggi yang harus dilayani.
Interupsi
Kerja prosesor pada suatu proses terhenti oleh pensaklaran konteks (perubahan kegiatan prosesor dari proses ke proses yang terjadi diantara proses sistem / proses aplikasi).
2 cara interupsi pada processor :
- 1. Interupsi langsung
- 2. Interupsi Tanya / Polling
- Interupsi dapat di-enable dan disable tergantung pada levelnya.
- Pembangkit interupsi dapat berasal dari :
- Program, di dalam program telah dirancang pada bagian tertentu akan terjadi pensaklaran konteks, yang menimbulkan interupsi, contohnya pada saat penggunaan alat / prosesor secara bergantian.
- Prosesor, prosesor sendiri dapat membangkitkan interupsi, yang biasa mengolah logika dan aritmatika. Jika melampoi ukuran tampung register di dalam prosesor, maka terjadi kekeliruan yang akan menginterupsi kerjanya sendiri dan menyerahkan kendali prosesor pada sistem operasi. Misalnya pembagian dengan bilangan nol.
- Satuan kendali, tugas untuk melaksanakan interupsi terletak pada satuan kendali, sehingga satuan kendali dapat membangkitkan interupsi. Misalnya kekeliruan instruksi
- Kunci waktu / clock, menggunakan interupsi berkala. Misalnya pada program looping yang tak terhingga, diinterupsi pada setiap selang waktu 60 detik.
- Peripheral I/O, I/O jika akan bekerja memberitahukan pada prosesor dengan interupsi prosesor dan juga ketika pekerjaan selesai atau pada saat terjadi kekeliruan paritas.
- Memori, karena terjadi kekeliruan, misalnya ketika prosesor ingin mencapai alamat memori yang terletak di luar bentangan alamat memori yang ada.
î Interupsi vector : Berisi alamat prosedur service interupsi
î Penerimaan interupsi dan interupsi berganda : ada kalanya interupsi ditolak oleh prosesor atau interupsi yang datang tidak hanya satu sehingga diperlukan prioritas.
Tindak lanjut interupsi :
- 1. Penata interupsi / interrupt handler
- Instruksi yang sedang diolah oleh prosesor dibiarkan sampai selesai program.
- Penata interupsi merekam semua informasi proses ke dalam blok kendali proses.
- Penata interupsi mengidentifikasi jenis dan asal interupsi.
- Penata interupsi mengambil tindakan sesuai dengan yang dimaksud interupsi.
- Penata interupsi mempersiapkan segala sesuatu untuk pelanjutan proses yang diinterupsi.
- 2. Penata keliru / error handler
- Pemulihan, komputer telah dilengkapi dengan sandi penemuan dan pemulihan kekeliruan, contohnya telah dilengkapi dengan sandi Hamming sehingga ketika menemukan kekeliruan sandi akan mengoreksi kekeliruan itu, proses pulih ke bentuk semula sebelum terjadi kekeliruan.
- Pengulangan, mengatur agar proses yang membangkitkan interupsi keliru dikerjakan ulang, jika kekeliruan dapat diatasi maka proses akan berlangsung seperti biasa, jika tidak teratasi maka interupsi akan menempuh tindak lanjut keluar dari proses.
- Keluar dari proses, penata keliru menyiapkan tampilan berita keliru dari monitor, setelah itu prosesor keluar dari proses, ini adalah tindakan terakhir jika tidak dapat menolong proses yang keliru tersebut.
- hardware memasukkan program counter, dl.l.
- Hardware memuatkan (load) program counter baru dari vector interrupsi
- Prosedur bahasa rakitan menyimpan isi register
- Prosedur bahasa rakitan men-set stack yang baru
- Prosedur C menandai proses servis siap (ready)
- Scheduler / penjadwalan menentukan proses mana yang akan jalan berikutnya
- Prosedur C kembali ke modus bahasa rakitan
- Prosedur bahasa rakitan memulai proses yang sedang dilaksanakan.
- Semoga dapat bermanfaat postingan ini, untuk sebagai rujukan mata kuliah Sistem Operasi
- Link terkait Blog ini antara lain
- http://rianzii.wordpress.com/2011/03/16/konsep-manajemen-proses-pada-sistem-operasi/
Tidak ada komentar:
Posting Komentar