PENJADWALAN PROSES DALAM SISTEM OPERASI: Pengertian, Jenis Penjadwal, Antrian Proses, dan Context Switching


Penjadwalan proses (Process Scheduling)
merupakan salah satu mekanisme terpenting dalam sistem operasi. Mekanisme ini menentukan proses mana yang memperoleh kesempatan menggunakan CPU, kapan proses dijalankan, dan bagaimana CPU dibagikan kepada berbagai proses yang sedang aktif.

Dalam komputer modern, pengguna dapat menjalankan banyak aplikasi secara bersamaan, seperti browser, pemutar musik, aplikasi pengolah kata, perangkat lunak pemrograman, dan layanan jaringan. Padahal, setiap inti (core) CPU hanya dapat mengeksekusi satu aliran instruksi pada satu waktu. Sistem operasi mengatasi kebutuhan tersebut melalui penjadwalan proses, pergantian konteks, serta pengelolaan antrian proses.

Artikel ini membahas konsep penjadwalan proses, jenis-jenis antrian, model proses dua keadaan, tiga jenis penjadwal, hingga mekanisme context switching, disertai contoh yang mudah dipahami dan penerapannya dalam kehidupan nyata.

1 Penjadwalan Proses (Process Scheduling)

A. Pengertian penjadwalan proses

Penjadwalan proses adalah aktivitas sistem operasi dalam memilih proses yang akan memperoleh jatah penggunaan CPU berdasarkan kebijakan atau algoritma tertentu.

Ketika suatu proses sedang berjalan, sistem operasi dapat mempertahankannya di CPU, menghentikan sementara eksekusinya, atau memindahkannya ke keadaan menunggu. Selanjutnya, sistem operasi menentukan proses lain yang akan dijalankan.

Aktivitas ini dikelola oleh bagian sistem operasi yang disebut penjadwal (scheduler).

Penjadwalan proses menjadi komponen penting dalam sistem multiprogramming, yaitu pendekatan yang memungkinkan beberapa proses berada di memori dan berbagi sumber daya CPU. Ketika sebuah proses menunggu operasi masukan atau keluaran (Input/Output atau I/O), CPU dapat digunakan oleh proses lain sehingga waktu pemrosesan tidak banyak terbuang.

Pada sistem multitasking, pergantian proses yang berlangsung cepat membuat pengguna seolah-olah menjalankan banyak aplikasi secara bersamaan.

B. Mengapa penjadwalan proses diperlukan?

Penjadwalan proses diperlukan karena sumber daya CPU terbatas, sedangkan proses yang meminta layanan dapat berjumlah banyak.

Tujuan utamanya meliputi:

  1. Meningkatkan penggunaan CPU (CPU utilization) agar CPU tidak terlalu sering menganggur.

  2. Meningkatkan throughput, yaitu jumlah proses yang dapat diselesaikan dalam periode tertentu.

  3. Mengurangi waktu tunggu (waiting time) proses di dalam antrian siap.

  4. Mengurangi waktu penyelesaian (turnaround time), yaitu waktu sejak proses masuk ke sistem sampai selesai.

  5. Memberikan respons yang cepat (response time), terutama pada aplikasi interaktif.

  6. Menjaga keadilan (fairness), sehingga proses yang memenuhi syarat tidak terus-menerus kehilangan kesempatan menggunakan CPU.

Tujuan tersebut tidak selalu dapat dimaksimalkan secara bersamaan. Algoritma yang mengutamakan proses singkat, misalnya, bisa meningkatkan rata-rata waktu tunggu tetapi berisiko membuat proses panjang menunggu lebih lama.

C. Contoh nyata penjadwalan proses

Bayangkan seorang mahasiswa Informatika sedang menggunakan laptop untuk menjalankan tiga kegiatan:

  • Mengunduh berkas materi kuliah melalui browser.

  • Mengetik laporan menggunakan aplikasi pengolah kata.

  • Mengompilasi program Java melalui IDE.

Ketiga aplikasi tersebut memerlukan sumber daya komputer, tetapi kebutuhan CPU-nya berbeda.

Browser mungkin lebih sering menunggu data dari jaringan. Aplikasi pengolah kata memerlukan CPU ketika pengguna mengetik atau melakukan pemformatan. Kompilasi Java dapat menggunakan CPU secara intensif selama proses berlangsung.

Sistem operasi mengatur penggunaan CPU dengan cara berikut:

  1. Ketika browser menunggu data jaringan, proses terkait dapat menunggu operasi I/O.

  2. CPU kemudian dapat menjalankan proses kompilasi Java.

  3. Ketika kompilasi dihentikan sementara oleh penjadwal, proses aplikasi lain dapat memperoleh kesempatan berjalan.

  4. Ketika data jaringan tersedia, proses browser dapat kembali menjadi siap dijalankan.

Intinya: penjadwalan proses membantu komputer memberikan layanan kepada berbagai aplikasi tanpa harus menyelesaikan seluruh aktivitas satu per satu secara berurutan.

2 Antrian Penjadwalan Proses (Process Scheduling Queues)

Sistem operasi perlu mengetahui proses mana yang sedang berjalan, proses mana yang siap dijalankan, dan proses mana yang sedang menunggu suatu peristiwa.

Informasi proses disimpan dalam struktur data sistem operasi, termasuk Process Control Block (PCB). PCB berisi informasi yang diperlukan untuk mengelola proses, seperti identitas proses, status, informasi penjadwalan, dan keadaan CPU yang relevan.

Secara konseptual, proses-proses dikelompokkan ke dalam antrian berdasarkan status atau kebutuhannya.

A. Job Queue

Job queue adalah kumpulan pekerjaan atau proses yang telah diajukan ke sistem untuk diproses.

Pada sistem yang menggunakan penjadwal jangka panjang, sebagian pekerjaan dapat menunggu sebelum diterima ke dalam kumpulan proses yang aktif di memori utama.

Contoh nyata: sebuah server menerima 500 tugas untuk membuat laporan. Tidak semua tugas harus langsung dimuat dan dijalankan sekaligus. Sistem dapat mengatur penerimaan pekerjaan sesuai kapasitas memori dan sumber daya yang tersedia.

B. Ready Queue

Ready queue adalah kumpulan proses yang sudah siap dieksekusi dan sedang menunggu giliran menggunakan CPU.

Proses di dalam antrian ini pada prinsipnya sudah memenuhi syarat untuk dijalankan, tetapi CPU sedang digunakan oleh proses lain atau belum diberikan kepadanya.

Contoh nyata: aplikasi pengolah kata, proses kompilasi, dan layanan latar belakang sama-sama siap menggunakan CPU. Penjadwal CPU memilih proses berikutnya berdasarkan algoritma yang digunakan.

Proses baru tidak selalu langsung masuk ke ready queue. Pada sistem yang menggunakan penerimaan pekerjaan secara eksplisit, proses mungkin harus diterima terlebih dahulu oleh penjadwal jangka panjang. Namun, setelah proses diterima dan siap berjalan, proses dapat ditempatkan dalam antrian siap.

C. Device Queue atau Antrian Perangkat

Device queue merupakan antrian proses yang menunggu layanan dari perangkat atau penyelesaian operasi I/O tertentu.

Perangkat yang terlibat dapat berupa:

  • Penyimpanan SSD atau HDD.

  • Perangkat jaringan.

  • Printer.

  • Perangkat input.

  • Perangkat atau pengendali I/O lainnya.

Contoh nyata: pengguna mengirim dokumen ke printer. Proses yang meminta operasi pencetakan mungkin harus menunggu hingga sistem operasi atau subsistem pencetakan menyelesaikan pekerjaan yang diperlukan. Selama menunggu I/O, proses tidak harus terus menggunakan CPU.

Perlu dipahami bahwa detail antrian perangkat bergantung pada sistem operasi dan perangkatnya. Sebagian pekerjaan I/O juga dikelola secara asinkron oleh kernel dan layanan sistem.

D. Perpindahan proses antarantrian

Berikut gambaran sederhana hubungan antara antrian siap, CPU, dan antrian I/O.

          +----------------+
          |   Ready Queue  |
          +----------------+
                  |
                  v
          +----------------+
          |   CPU / Running|
          +----------------+
             |     |     |
             |     |     +------> Proses selesai
             |     |
             |     +------------> Menunggu I/O
             |                          |
             |                          v
             |                  +----------------+
             |                  |  Device Queue  |
             |                  +----------------+
             |                          |
             |                          | I/O selesai
             |                          v
             +-------------------- Ready Queue

Alur tersebut menggambarkan konsep umum, bukan seluruh kemungkinan transisi proses pada setiap sistem operasi.

Ketika proses meminta I/O, proses dapat berpindah ke keadaan menunggu. Setelah operasi I/O selesai, proses biasanya kembali ke keadaan siap, bukan langsung mengambil CPU.

Sistem operasi dapat menggunakan kebijakan seperti FIFO/FCFS, Round Robin, dan Priority untuk mengatur urutan proses. Kebijakan ini akan dibahas lebih lanjut pada bagian algoritma penjadwalan.

3 Model Proses Dua Keadaan (Two-State Process Model)

Model proses dua keadaan adalah model konseptual sederhana yang membagi proses menjadi dua kategori utama:

  1. Running, yaitu proses yang sedang menggunakan CPU.

  2. Not Running, yaitu proses yang tidak sedang menggunakan CPU.

Model ini membantu menjelaskan bagaimana sistem operasi memilih proses berikutnya tanpa harus langsung membahas seluruh keadaan proses yang lebih kompleks.

A. Running

Proses berada dalam keadaan running ketika instruksi proses sedang dieksekusi oleh CPU.

Pada sistem dengan beberapa inti CPU, beberapa proses atau aliran eksekusi dapat berjalan secara bersamaan pada inti yang berbeda. Namun, pada satu inti CPU, hanya satu aliran eksekusi yang menggunakan inti tersebut pada satu waktu.

Contoh: sebuah program sedang menjalankan operasi perhitungan luas persegi panjang:

int panjang = 10;
int lebar = 5;
int luas = panjang * lebar;

Ketika instruksi tersebut dieksekusi pada CPU, proses berada dalam keadaan running.

B. Not Running

Proses yang tidak sedang menggunakan CPU berada dalam kelompok not running pada model sederhana ini. Proses tersebut dapat menunggu giliran atau menunggu peristiwa tertentu.

Dalam sistem nyata, kelompok ini perlu dibedakan lebih lanjut menjadi keadaan seperti ready dan waiting/blocked. Proses yang siap menggunakan CPU berbeda dengan proses yang belum dapat berjalan karena sedang menunggu I/O.

Contoh: program pengolah kata sudah siap berjalan, tetapi CPU sedang mengerjakan proses lain. Program tersebut dapat menunggu di antrian siap.

Sementara itu, proses yang menunggu pembacaan berkas dari SSD belum tentu siap dieksekusi sampai operasi I/O yang dibutuhkannya selesai.

C. Peran dispatcher

Dispatcher adalah komponen sistem operasi yang membantu menyerahkan kendali CPU kepada proses yang dipilih untuk berjalan.

Tugasnya dapat mencakup:

  • Melakukan perpindahan konteks yang diperlukan.

  • Memulihkan keadaan CPU milik proses yang akan berjalan.

  • Beralih ke mode pengguna jika diperlukan.

  • Melanjutkan eksekusi proses pada titik yang sesuai.

Pada banyak penjelasan dasar sistem operasi, pemilihan proses dilakukan oleh penjadwal CPU, sedangkan dispatcher menjalankan mekanisme penyerahan CPU. Keduanya saling berkaitan, tetapi bukan istilah yang sepenuhnya sama.

Jika proses selesai, sistem operasi melakukan pembersihan sumber daya yang relevan. Jika proses dihentikan sementara, proses dapat ditempatkan kembali ke antrian yang sesuai.

4 Jenis-Jenis Penjadwal (Schedulers)

Secara konseptual, terdapat tiga jenis penjadwal yang sering dibahas dalam materi sistem operasi:

  1. Penjadwal jangka panjang (long-term scheduler).

  2. Penjadwal jangka pendek (short-term scheduler).

  3. Penjadwal jangka menengah (medium-term scheduler).

Masing-masing mempunyai tujuan dan frekuensi kerja yang berbeda.

A. Penjadwal Jangka Panjang (Long-Term Scheduler)

Penjadwal jangka panjang juga disebut job scheduler. Tugas utamanya adalah menentukan pekerjaan mana yang diterima ke dalam sistem untuk diproses.

Penjadwal ini dapat mengatur pekerjaan mana yang dimasukkan ke memori utama atau kumpulan proses yang siap dijadwalkan, sesuai desain sistem operasi.

Tujuan pentingnya adalah mengendalikan tingkat multiprogramming, yaitu jumlah proses yang aktif dalam sistem, serta menjaga keseimbangan kebutuhan sumber daya.

Sebagai contoh, sistem dapat mengatur agar kumpulan pekerjaan tidak seluruhnya didominasi tugas yang sangat intensif menggunakan CPU atau seluruhnya didominasi tugas yang menunggu I/O.

Contoh nyata: sebuah pusat komputasi menerima banyak tugas analisis data dari mahasiswa. Sistem dapat menerima tugas secara bertahap agar penggunaan memori dan sumber daya CPU tetap terkendali.

Karakteristik penjadwal jangka panjang:

  • Bekerja relatif lebih jarang daripada penjadwal CPU.

  • Mengatur penerimaan pekerjaan ke dalam sistem.

  • Berpengaruh terhadap tingkat multiprogramming.

  • Umumnya lebih relevan pada sistem pemrosesan pekerjaan atau batch.

Tidak semua sistem operasi modern memiliki penjadwal jangka panjang yang tampak jelas seperti pada model klasik. Sistem interaktif dan time-sharing dapat menggunakan mekanisme penerimaan pekerjaan yang berbeda.

B. Penjadwal Jangka Pendek (Short-Term Scheduler)

Penjadwal jangka pendek, yang juga dikenal sebagai CPU scheduler, memilih proses dari antrian siap untuk memperoleh CPU.

Penjadwal ini bekerja jauh lebih sering karena proses dapat berganti ketika jatah waktu habis, proses menunggu I/O, terjadi interupsi, atau proses selesai.

Contoh nyata: ketika mahasiswa menjalankan IDE, browser, dan aplikasi musik secara bersamaan, penjadwal CPU mengatur proses atau aliran eksekusi mana yang memperoleh kesempatan berjalan pada setiap saat.

Penjadwal jangka pendek harus bekerja efisien. Jika terlalu banyak waktu CPU digunakan untuk mengatur perpindahan proses, waktu yang tersedia untuk menjalankan aplikasi menjadi berkurang.

Hal-hal yang dipertimbangkan bergantung pada algoritma yang digunakan, antara lain:

  • Prioritas proses.

  • Lama waktu CPU yang telah digunakan.

  • Perkiraan atau kebutuhan waktu CPU.

  • Jatah waktu (time quantum).

  • Kebutuhan respons aplikasi interaktif.

C. Penjadwal Jangka Menengah (Medium-Term Scheduler)

Penjadwal jangka menengah berkaitan dengan pengaturan proses yang untuk sementara dikeluarkan dari memori utama dan kemudian dapat dimasukkan kembali.

Mekanisme ini berhubungan dengan swapping atau pemindahan proses antara memori utama dan penyimpanan sekunder, apabila sistem menerapkan mekanisme tersebut.

Tujuannya antara lain mengurangi tekanan pada memori utama dan menyesuaikan jumlah proses yang aktif di memori.

Contoh nyata: komputer menjalankan banyak aplikasi sehingga tekanan memori meningkat. Sistem operasi dapat mengelola memori dengan berbagai cara, termasuk memindahkan halaman memori ke penyimpanan. Dalam model klasik, penjadwal jangka menengah dapat menangguhkan proses dan mengeluarkannya dari memori agar ruang tersedia bagi proses lain.

Penting untuk membedakan swapping proses secara klasik dengan paging pada sistem operasi modern. Paging memindahkan halaman memori, bukan selalu mengeluarkan seluruh proses. Karena itu, tidak semua aktivitas pengelolaan memori modern merupakan pekerjaan penjadwal jangka menengah.

D. Tabel perbandingan jenis penjadwal

AspekJangka PanjangJangka PendekJangka Menengah
Nama lainJob schedulerCPU schedulerScheduler untuk penangguhan/swapping
Tugas utamaMenerima pekerjaan ke sistemMemilih proses siap untuk CPUMengatur penangguhan dan pengembalian proses
FrekuensiRelatif jarangSangat seringBergantung kebutuhan sistem
FokusPenerimaan pekerjaan dan multiprogrammingAlokasi CPUPengelolaan proses dan tekanan memori
DampakMenentukan beban proses yang diterimaMenentukan proses yang berjalan berikutnyaDapat mengurangi jumlah proses yang berada di memori
ContohMenerima tugas batchMemilih proses setelah jatah waktu habisMenangguhkan proses dalam model swapping klasik

Ketiga jenis penjadwal tersebut merupakan pembagian konseptual yang umum digunakan dalam pembelajaran. Implementasi aktual dapat berbeda menurut arsitektur dan sistem operasi.

5 Sakelar Konteks (Context Switching)

A. Pengertian context switching

Context switching atau pergantian konteks adalah mekanisme untuk menyimpan keadaan eksekusi proses atau aliran eksekusi yang sedang berjalan, kemudian memulihkan keadaan proses atau aliran eksekusi lain agar dapat melanjutkan pekerjaan.

Keadaan tersebut dapat mencakup penghitung program (program counter), register CPU, informasi status prosesor, serta informasi penjadwalan yang diperlukan.

Ketika sistem operasi memindahkan CPU dari satu proses ke proses lain, informasi yang diperlukan untuk melanjutkan proses pertama harus dipertahankan. Sistem operasi kemudian memulihkan keadaan proses berikutnya sehingga eksekusinya dapat dilanjutkan dengan benar.

B. Tahapan context switching

Secara sederhana, pergantian konteks dapat dijelaskan melalui tahapan berikut:

  1. Pemicu pergantian. Terjadi peristiwa yang membuat CPU perlu menjalankan proses lain, misalnya jatah waktu habis atau proses meminta operasi I/O.

  2. Menyimpan keadaan proses lama. Sistem operasi menyimpan keadaan CPU yang diperlukan untuk melanjutkan proses tersebut.

  3. Memperbarui status proses. Proses lama dapat dipindahkan ke keadaan siap, menunggu, atau selesai, sesuai penyebab pergantian.

  4. Memilih proses berikutnya. Penjadwal CPU memilih proses yang siap berjalan.

  5. Memulihkan keadaan proses baru. Sistem operasi memulihkan register dan informasi eksekusi yang relevan.

  6. Melanjutkan eksekusi. CPU meneruskan instruksi proses yang baru dipilih.

Pergantian konteks tidak selalu melibatkan proses yang berbeda. Sistem juga dapat berpindah di antara aliran eksekusi (threads) sesuai mekanisme penjadwalannya.

C. Contoh nyata context switching

Misalnya, sebuah laptop sedang menjalankan dua aplikasi:

  • Proses A: mengompilasi program Java.

  • Proses B: memutar audio.

Ketika proses A sedang menggunakan CPU, sistem operasi dapat memutuskan bahwa proses lain perlu mendapat kesempatan berjalan. Keadaan eksekusi proses A disimpan, lalu keadaan proses B dipulihkan.

CPU kemudian menjalankan instruksi yang berkaitan dengan proses B. Pada kesempatan berikutnya, sistem operasi dapat kembali menjadwalkan proses A.

Bagi pengguna, audio tetap terdengar sementara proses kompilasi berjalan. Pergantian yang cepat dan koordinasi sumber daya membuat beberapa kegiatan dapat berlangsung secara bersamaan dari sudut pandang pengguna.

Namun, perlu diingat bahwa pemutaran audio juga dapat melibatkan perangkat khusus, buffer, interupsi, dan mekanisme I/O. Tidak semua pekerjaan audio dilakukan oleh CPU secara terus-menerus.

D. Informasi yang berkaitan dengan context switching

Informasi yang dipertahankan atau dipulihkan bergantung pada arsitektur CPU dan sistem operasi. Informasi tersebut dapat mencakup:

  • Program counter: alamat instruksi yang perlu dilanjutkan.

  • Register CPU: nilai register yang diperlukan untuk mempertahankan keadaan eksekusi.

  • Status prosesor: informasi kondisi eksekusi yang relevan.

  • Informasi penjadwalan: prioritas atau data lain yang dibutuhkan penjadwal.

  • Informasi manajemen memori: keadaan atau referensi yang diperlukan untuk menggunakan ruang alamat proses yang tepat.

  • Informasi I/O: keadaan operasi I/O yang terkait dengan proses.

  • Informasi akuntansi: data penggunaan sumber daya apabila dikelola oleh sistem.

Tidak semua informasi tersebut harus disalin ulang pada setiap pergantian konteks. Sebagian informasi dipertahankan dalam struktur data kernel, sedangkan sebagian lainnya disimpan atau dipulihkan sesuai kebutuhan arsitektur.

E. Mengapa context switching memiliki biaya?

Pergantian konteks membutuhkan waktu untuk menyimpan dan memulihkan keadaan eksekusi serta menjalankan kode kernel yang terkait. Aktivitas ini merupakan bagian dari pekerjaan sistem operasi, bukan pekerjaan aplikasi itu sendiri.

Pergantian konteks yang terlalu sering dapat menurunkan kinerja karena sebagian waktu CPU digunakan untuk pengelolaan, bukan untuk menyelesaikan pekerjaan aplikasi. Pergantian juga dapat memengaruhi cache CPU dan prediksi cabang, bergantung pada situasinya.

Meskipun demikian, context switching tetap diperlukan untuk multitasking, respons sistem, dan pembagian CPU. Tujuannya bukan menghilangkan seluruh pergantian konteks, melainkan mengelolanya secara efisien.

6 Contoh Simulasi Penjadwalan CPU Menggunakan FCFS

Untuk memahami bagaimana proses memperoleh CPU, berikut simulasi menggunakan algoritma First Come, First Served (FCFS) atau First In, First Out.

FCFS menjalankan proses berdasarkan urutan kedatangannya ke antrian siap. Dalam contoh ini, proses yang lebih dahulu tiba dijalankan terlebih dahulu dan proses yang sedang berjalan tidak dihentikan hanya karena proses lain datang.

Misalkan terdapat tiga proses berikut.

ProsesWaktu Kedatangan (Arrival Time)Burst Time CPU
P10 ms5 ms
P21 ms3 ms
P32 ms2 ms

Burst time adalah lama waktu CPU yang dibutuhkan proses dalam simulasi.

A. Diagram Gantt

Karena P1 datang pertama dan membutuhkan 5 ms, P1 berjalan dari waktu 0 sampai 5 ms. Selanjutnya, P2 berjalan selama 3 ms, lalu P3 selama 2 ms.

Waktu (ms)
0           5       8     10
|    P1     |  P2   | P3  |

B. Menghitung waktu tunggu

Rumus:

Waiting Time = Waktu mulai proses − Waktu kedatangan

  • P1: mulai 0 ms, datang 0 ms → waktu tunggu = 0 ms.

  • P2: mulai 5 ms, datang 1 ms → waktu tunggu = 4 ms.

  • P3: mulai 8 ms, datang 2 ms → waktu tunggu = 6 ms.

Rata-rata waktu tunggu:

[
\frac{0+4+6}{3}=\frac{10}{3}\approx3{,}33\text{ ms}
]

C. Menghitung turnaround time

Turnaround time adalah waktu total sejak proses datang hingga selesai.

Turnaround Time = Waktu selesai − Waktu kedatangan

  • P1: 5 − 0 = 5 ms.

  • P2: 8 − 1 = 7 ms.

  • P3: 10 − 2 = 8 ms.

Rata-rata turnaround time:

[
\frac{5+7+8}{3}=\frac{20}{3}\approx6{,}67\text{ ms}
]

Simulasi ini memperlihatkan bahwa meskipun FCFS sederhana, proses yang datang belakangan dapat menunggu cukup lama apabila proses sebelumnya membutuhkan waktu CPU yang panjang.

FCFS bukan satu-satunya algoritma penjadwalan. Sistem operasi dapat menggunakan algoritma yang lebih kompleks sesuai tujuan, misalnya Round Robin untuk pembagian jatah waktu atau Priority Scheduling untuk mengutamakan proses tertentu.

7 Hubungan Penjadwalan Proses dengan Multitasking

Penjadwalan proses, antrian, dan context switching bekerja sebagai bagian dari mekanisme multitasking.

Hubungannya dapat diringkas sebagai berikut:

  1. Antrian proses mengelompokkan proses berdasarkan status atau kebutuhan sumber daya.

  2. Penjadwal CPU memilih proses yang siap dijalankan.

  3. Dispatcher membantu menyerahkan CPU kepada proses yang dipilih.

  4. Context switching mempertahankan dan memulihkan keadaan eksekusi ketika diperlukan pergantian.

  5. Manajemen I/O memungkinkan proses yang sedang menunggu perangkat tidak harus terus menggunakan CPU.

  6. Pengelolaan memori memastikan proses dapat menggunakan ruang alamat dan sumber daya memori sesuai ketentuan sistem operasi.

Sebagai contoh, ketika pengguna menjalankan browser, IDE, dan pemutar musik, sistem operasi mengoordinasikan proses-proses tersebut agar CPU, memori, dan perangkat I/O dapat digunakan secara teratur.

Pada CPU multi-core, lebih dari satu aliran eksekusi dapat berjalan secara fisik pada waktu yang sama, selama tersedia inti yang sesuai. Karena itu, multitasking tidak hanya bergantung pada pergantian konteks, tetapi juga pada paralelisme perangkat keras dan kebijakan penjadwalan.

8 Kesimpulan

Penjadwalan proses merupakan mekanisme penting dalam sistem operasi untuk mengatur pembagian CPU kepada proses yang membutuhkan layanan. Melalui antrian proses, sistem operasi mengelompokkan pekerjaan berdasarkan statusnya, sedangkan penjadwal menentukan proses yang mendapat kesempatan berjalan.

Tiga jenis penjadwal yang umum dipelajari adalah penjadwal jangka panjang, jangka pendek, dan jangka menengah. Ketiganya memiliki fokus berbeda, mulai dari penerimaan pekerjaan, pemilihan proses untuk CPU, hingga pengaturan penangguhan dan pengembalian proses dalam model pengelolaan memori tertentu.

Sementara itu, context switching memungkinkan CPU beralih dari satu aliran eksekusi ke aliran lain dengan mempertahankan keadaan yang diperlukan agar pekerjaan dapat dilanjutkan dengan benar.

Memahami konsep-konsep tersebut membantu mahasiswa Informatika menjelaskan bagaimana sistem operasi menjalankan banyak aplikasi, mengelola sumber daya terbatas, serta menjaga keseimbangan antara kinerja, keadilan, dan responsivitas sistem.

Referensi

  1. Silberschatz, A., Galvin, P. B., dan Gagne, G. Operating System Concepts. Wiley.

  2. Tanenbaum, A. S., dan Bos, H. Modern Operating Systems. Pearson.

  3. Stallings, W. Operating Systems: Internals and Design Principles. Pearson.

  4. Dokumentasi resmi sistem operasi Linux dan Microsoft Windows untuk konsep proses, penjadwalan, serta manajemen sumber daya.

Catatan: Uraian mengenai job queue, model dua keadaan, tiga jenis penjadwal, dan swapping merupakan model konseptual yang umum digunakan dalam pembelajaran sistem operasi. Implementasi aktual dapat berbeda menurut sistem operasi dan arsitektur perangkat keras.

0 Komentar