Manajemen sumber daya OS dan proses
| English | Bahasa Indonesia |
|---|---|
| process/ˈprəʊses/ | proses |
| scheduler/ˈʃedjʊlə/ | scheduler |
| multi-tasking/ˈmʌlti ˈtæskɪŋ/ | multitasking |
| spooling/ˈspuːlɪŋ/ | spooling |
| caching/ˈkæʃɪŋ/ | caching |
| round robin/raʊnd ˈrɒbɪn/ | round robin |
| context switch/ˈkɒntekst swɪtʃ/ | pergantian konteks |
| process control block/ˈprəʊses kənˈtrəʊl blɒk/ | process control block |
Mengapa mouse masih bergerak ketika segalanya membeku
- Sebuah program terkunci. Jendela tidak akan mewarnai ulang, spinner berhenti, tidak ada yang merespons. Namun pointer mouse tetap meluncur di atas layar persis seperti sebelumnya.
- Itu adalah sistem operasi memberi tahu Anda sesuatu: mesin tidak macet, satu proses yang macet. Scheduler masih membagikan irisan prosesor, dan program yang membeku hanya tidak melakukan apa pun yang berguna dengan irisan miliknya.
- Setiap sumber daya di mesin dibagi dengan cara ini: prosesor oleh waktu, memori oleh ruang, printer oleh antrean.
- Pelajaran ini menjelaskan bagaimana sistem operasi memaksimalkan penggunaan sumber daya tersebut, serta bagaimana ia mengelola proses dari tahap pembuatan hingga pengakhiran.
Memaksimalkan penggunaan sumber daya
- Multitasking: prosesor beralih dengan cepat antar proses, sehingga beberapa proses tampak berjalan bersamaan meskipun hanya satu yang dieksekusi pada setiap saatnya.
- Paging: data dipindahkan antara RAM dan disk agar lebih banyak program dapat terbuka daripada kapasitas memori fisik yang tersedia.
- Spooling: output untuk perangkat lambat distok dalam antrean di disk, sehingga prosesor tidak perlu menunggu printer. Caching menyimpan data yang baru saja digunakan dalam memori cepat agar tidak perlu diambil lagi.
- Sistem operasi juga menyembunyikan semua mekanisme ini di balik sebuah antarmuka pengguna, baik berupa baris perintah maupun GUI.
Multi-tasking memungkinkan beberapa program tampak berjalan bersamaan dengan:
OS beralih CPU tunggal dengan cepat antar proses sehingga semuanya tampak berkembang bersama.
Contoh terpecahkan: mengapa spooling membantu
- Jelaskan bagaimana spooling meningkatkan penggunaan sumber daya komputer. [3]
- Printer memiliki kecepatan ribuan kali lebih lambat dibandingkan prosesor, sehingga jika program mengirim output secara langsung, program akan menunggu dan prosesor akan menganggur.
- Dengan spooling, output ditulis dengan cepat ke dalam antrean di disk, dan program langsung melanjutkan eksekusi.
- Proses terpisah kemudian mengirimkan output ke printer sesuai kecepatannya sendiri, dan beberapa pekerjaan dapat menumpuk dalam antrean sementara prosesor melanjutkan tugas lainnya. Sebutkan nama perangkat lambat, antrean, dan apa yang dilakukan prosesor sebagai gantinya.
Spooling membantu sistem karena:
Spooling menampung job pencetakan ke disk agar CPU yang cepat tidak terhambat oleh printer yang lambat.
Teknik mana yang membantu OS mendapatkan manfaat maksimal dari sumber dayanya? Pilih semua yang berlaku.
Sharing time, antri untuk perangkat lambat dan menyimpan data 'panas' dekat. Membunuh proses yang menunggu justru akan kehilangan pekerjaan pengguna, bukan meningkatkan utilitas.
Proses dan penjadwal
- Sebuah proses adalah program yang sedang dieksekusi: mencakup kode, keadaan saat ini, memori, dan file yang dibuka. Program yang berada di dalam disk bukanlah proses; program yang sedang berjalanlah yang disebut proses.
- Penjadwal (scheduler) memutuskan proses mana yang siap akan dijalankan selanjutnya dan selama berapa lama. Tujuannya adalah menjaga prosesor tetap sibuk, memberikan respons cepat bagi pengguna interaktif, dan bersifat adil.
- Round robin memberikan setiap proses yang siap sebuah time slice (jeda waktu) tetap, lalu memindahkannya ke belakang antrean: sederhana, adil, dan responsif. Kebijakan lain meliputi first come first served, shortest job first, dan shortest remaining time.

Semua orang mendapat giliran, dan tidak ada yang mendominasi prosesor
Scheduling round-robin memberikan setiap proses ready slice waktu tetap, lalu memindahkannya ke belakang antrean — menjadikannya adil dan responsif.
Slice waktu yang sama secara bergilir mencegah satu proses mendominasi CPU, sehingga program interaktif tetap responsif.
Apa itu sebuah proses?
File di disk adalah program; setelah dimuat dan berjalan, dengan state miliknya sendiri, ia menjadi proses.
Keadaan proses
- New: sedang dibuat. Ready: siap untuk berjalan, hanya menunggu prosesor. Running: sedang dieksekusi saat ini. Blocked: menunggu sesuatu, biasanya input atau output. Terminated: selesai.
- Transisi inilah yang sering ditanyakan dalam ujian. Dari running ke ready ketika time slice habis. Dari running ke blocked ketika proses meminta I/O. Dari blocked ke ready ketika I/O tersebut selesai. Dari ready ke running ketika penjadwal memilihnya.
- Perhatikan asimetrisnya: proses yang blocked tidak pernah kembali langsung ke running. Ia bergabung kembali dengan antrean ready dan menunggu gilirannya.

Lima keadaan, dan alasan di balik setiap panah transisi
Cocokkan setiap state proses dengan maknanya.
Proses berputar dari ready → running → (blocked) → ready, hingga terminasi.
Contoh terpecahkan: melacak proses
- Sebuah proses sedang berjalan ketika ia meminta untuk membaca sebuah file. Jelaskan apa yang terjadi padanya.
- Ia berpindah dari running ke blocked, karena tidak dapat melanjutkan hingga datanya tiba, dan penjadwal segera mengalihkan prosesor ke proses lain yang siap alih-alih menunggu.
- Ketika disk selesai membaca, proses berpindah dari blocked ke ready. Ia tidak langsung melanjutkan; ia bergabung dengan antrean ready.
- Nanti, penjadwal memilihnya, dan ia berpindah dari ready ke running, melanjutkan tepat dari titik di mana ia berhenti sebelumnya.
Masa hidup sebuah proses
Tap keliling loop yang dilalui proses. Proses hanya berjalan ketika scheduler memilihnya; membutuhkan I/O mengirimkannya ke status blocked, dan habis slice waktunya mengirimkannya kembali ke ready — keliling terus hingga selesai.
Sebuah proses yang sedang running meminta membaca file. Urutkan apa yang terjadi padanya.
Proses yang blocked tidak pernah langsung kembali ke running: ia bergabung kembali dengan antrean ready dan menunggu gilirannya.
Context switching
- Untuk mengganti proses yang sedang berjalan, sistem operasi menyimpan keadaan proses saat ini, register, program counter, dan statusnya ke dalam process control block, lalu memuat keadaan proses berikutnya dari blok proses itu sendiri.
- Inilah yang disebut context switch. Hal ini memiliki biaya nyata: selama proses ini berlangsung, prosesor melakukan tugas administratif, bukan mengerjakan tugas pengguna.
- Oleh karena itu, panjang time slice adalah sebuah kompromi. Terlalu lama membuat program interaktif terasa lambat; terlalu pendek membuat mesin menghabiskan waktunya untuk beralih konteks alih-alih menghitung.
Context switch melibatkan:
OS menyimpan register/PC proses yang berjalan ke PCB-nya dan memuat yang berikutnya — overhead kecil setiap switch.
Selama context switch, register dan program counter proses disimpan ke dalam ____.
State proses selanjutnya kemudian dimuat dari bloknya sendiri. Penyimpanan dan pemuatan ini adalah kerja nyata, itulah sebabnya switching memakan waktu.
Interrupts dan kernel
- Kernel, inti dari sistem operasi, adalah komponen yang sebenarnya melakukan hal ini: ia merespons interrupts dari perangkat dan dari program, dan interruptlah yang mengembalikan kendali kepada sistem operasi dari sebuah proses yang sedang berjalan.
- Interrupt timer di akhir sebuah time slice adalah faktor yang memungkinkan penjadwalan pre-emptive; tanpa hal ini, program yang tidak pernah menyerahkan kendali akan memegang prosesor selamanya.
- Inilah jawaban atas teka-teki pembuka: program yang membeku tidak memegang prosesor lebih lama dari jeda waktunya, sehingga mouse tetap bisa digerakkan.
⟦⟧ Nilai yang sering terlewat
- Proses adalah program yang sedang dieksekusi, bukan file di dalam disk.
- Dari blocked ke ready, tidak pernah langsung ke running. Penjadwal yang menentukan kapan ia akan berjalan lagi.
- Context switching menyimpan dan memulihkan keadaan melalui process control block, dan hal ini memakan waktu.
- Multitasking berarti proses bergiliran sedemikian cepat sehingga mereka tampak berjalan bersamaan, bukan benar-benar dieksekusi sekaligus pada satu inti.
Anda telah memahaminya
- Sistem operasi memaksimalkan penggunaan sumber daya melalui multitasking, paging, spooling ke antrean disk, dan caching.
- Proses adalah program yang sedang dieksekusi; penjadwal memilih proses siap berikutnya, dengan round robin memberikan setiap proses jeda waktu tetap.
- Keadaan new, ready, running, blocked, terminated: habisnya jeda waktu mengirim proses dari running ke ready, permintaan I/O mengirimnya ke blocked, dan penyelesaian I/O mengirimnya kembali ke ready.
- Context switch menyimpan dan memulihkan keadaan melalui process control block dan memakan waktu, itulah sebabnya panjang jeda waktu merupakan sebuah kompromi.