PROSES-PROSES PADA SISTEM OPERASI: Pengertian, Komponen Memori, dan Siklus Hidup,

Pendahuluan

Sistem operasi (Operating System atau OS) merupakan perangkat lunak utama yang mengelola sumber daya komputer, seperti prosesor (CPU), memori utama (RAM), perangkat penyimpanan, dan perangkat input/output. Salah satu tugas penting sistem operasi adalah mengelola proses, yaitu program yang sedang dieksekusi oleh komputer.

Ketika pengguna membuka aplikasi peramban, menjalankan program pengolah kata, memutar musik, atau menyalin berkas, sistem operasi mengelola proses-proses yang terlibat dalam aktivitas tersebut. Bahkan ketika beberapa aplikasi terlihat berjalan secara bersamaan, sistem operasi tetap harus mengatur penggunaan CPU, memori, dan perangkat lainnya agar setiap proses dapat bekerja secara teratur.

Untuk memahami cara kerja sistem operasi, terdapat empat konsep utama yang perlu dipelajari, yaitu proses, program, siklus hidup proses, dan Process Control Block (PCB).


4.1 Proses (Process)

A. Pengertian proses

Proses adalah program yang sedang dieksekusi oleh komputer, beserta keadaan dan sumber daya yang diperlukan selama pelaksanaannya.

Program yang tersimpan dalam berkas belum tentu merupakan proses yang sedang berjalan. Ketika program dimuat dan mulai dieksekusi, sistem operasi membentuk serta mengelola proses yang berkaitan dengan program tersebut.

Sebagai contoh, sebuah aplikasi kalkulator yang tersimpan di komputer merupakan program. Ketika pengguna membuka kalkulator, sistem operasi menjalankan program tersebut sebagai proses. Selama kalkulator digunakan, proses itu dapat menerima masukan, melakukan perhitungan, dan menampilkan hasil.

Satu program juga dapat menghasilkan beberapa proses. Misalnya, ketika pengguna membuka beberapa jendela peramban, sistem operasi dan peramban dapat mengelola sejumlah proses untuk menangani tab, ekstensi, atau tugas tertentu. Jumlah dan pembagian prosesnya bergantung pada rancangan aplikasi.

B. Perbedaan program dan proses

AspekProgramProses
PengertianKumpulan instruksi yang tersimpanProgram yang sedang dieksekusi
SifatPasif ketika hanya tersimpanAktif selama pelaksanaan
LokasiDapat tersimpan di SSD atau HDDMenggunakan sumber daya saat dijalankan
InformasiKode dan data programKeadaan eksekusi, memori, register, dan sumber daya
ContohBerkas kalkulator.exeKalkulator yang sedang berjalan

Contoh nyata: berkas aplikasi pengolah kata yang tersimpan di SSD merupakan program. Ketika aplikasi tersebut dibuka, sistem operasi menjalankan proses yang menggunakan CPU dan RAM untuk menerima ketikan, mengolah dokumen, serta menampilkan hasilnya.

C. Bagian-bagian proses di dalam memori

Ketika program dijalankan, ruang alamat proses secara konseptual dapat mencakup beberapa bagian, yaitu text, data, heap, dan stack. Susunan dan pengelolaan memori sebenarnya dapat berbeda bergantung pada sistem operasi, arsitektur prosesor, bahasa pemrograman, serta mekanisme pengelolaan memori yang digunakan.

<text><strong>Gambar 1. Ilustrasi sederhana bagian-bagian memori proses</strong></text>

<box border radius="lg" padding={3} gap={2}> <box background="#DCEBFF" theme="light" radius="md" padding={3} align="center" gap={1}> **TEXT / KODE PROGRAM** <text size="sm" textAlign="center">Instruksi mesin yang akan dijalankan CPU</text> </box> <box background="#E1F5E8" theme="light" radius="md" padding={3} align="center" gap={1}> **DATA** <text size="sm" textAlign="center">Variabel global dan variabel statis</text> </box> <box background="#FFF0D9" theme="light" radius="md" padding={3} align="center" gap={1}> **HEAP** <text size="sm" textAlign="center">Memori untuk alokasi dinamis saat program berjalan</text> </box> <box background="#F1E5FF" theme="light" radius="md" padding={3} align="center" gap={1}> **STACK** <text size="sm" textAlign="center">Parameter fungsi, variabel lokal, dan informasi pemanggilan fungsi</text> </box> <text color="secondary" size="xs">Catatan: Diagram ini menunjukkan konsep umum, bukan urutan alamat memori yang berlaku untuk semua sistem operasi.</text> </box>

Berikut penjelasan masing-masing bagian.

1. Text (kode program)

Bagian text menyimpan instruksi program yang telah diterjemahkan ke dalam bentuk yang dapat dieksekusi prosesor. Instruksi tersebut menentukan operasi yang dilakukan program.

Contohnya, dalam aplikasi kalkulator terdapat instruksi untuk membaca angka, melakukan penjumlahan, dan menampilkan hasil. Kode program ini tidak sama dengan Program Counter atau register CPU. Program Counter adalah register yang menunjukkan lokasi instruksi berikutnya yang akan dieksekusi.

2. Data

Bagian data berkaitan dengan variabel global dan variabel statis yang memiliki masa hidup tertentu selama program berjalan. Dalam implementasi nyata, data yang telah diinisialisasi dan data yang belum diinisialisasi dapat ditempatkan pada segmen yang berbeda.

Contoh:

int jumlah_pengguna = 10;

int main(void) {
    return 0;
}

Variabel global jumlah_pengguna memiliki nilai awal 10. Variabel tersebut merupakan contoh data yang dapat disimpan dalam bagian data program.

3. Heap

Heap merupakan area memori yang digunakan untuk alokasi dinamis, yaitu ketika program meminta memori selama pelaksanaan.

Contohnya, aplikasi pengolah foto membuka gambar berukuran besar dan membutuhkan ruang untuk menyimpan data piksel yang sedang diolah. Memori dapat dialokasikan secara dinamis sesuai kebutuhan aplikasi.

Dalam bahasa C, alokasi dinamis dapat dilakukan menggunakan malloc() dan dilepaskan menggunakan free().

#include <stdio.h>
#include <stdlib.h>

int main(void) {
    int *angka = malloc(sizeof(int));

    if (angka == NULL) {
        printf("Alokasi memori gagal.\n");
        return 1;
    }

    *angka = 100;
    printf("Nilai: %d\n", *angka);

    free(angka);
    return 0;
}

Program tersebut meminta memori untuk sebuah bilangan bulat, menyimpan nilai 100, menampilkan nilai itu, kemudian melepaskan memori yang telah digunakan.

4. Stack

Stack digunakan untuk menyimpan informasi yang berkaitan dengan pemanggilan fungsi, termasuk parameter, variabel lokal tertentu, dan informasi yang diperlukan untuk kembali dari pemanggilan fungsi.

Contoh:

int tambah(int a, int b) {
    int hasil = a + b;
    return hasil;
}

Ketika fungsi tambah() dipanggil, parameter a dan b, serta variabel lokal hasil, memerlukan penyimpanan selama pelaksanaan fungsi. Implementasi sebenarnya bergantung pada kompiler dan arsitektur, sehingga tidak semua variabel harus selalu berada di stack.

Contoh nyata penggunaan keempat bagian memori

Ketika aplikasi pengolah kata dibuka, kode instruksinya tersedia untuk dieksekusi, variabel global atau statis berada pada area data yang sesuai, objek dan struktur yang dibuat secara dinamis dapat menggunakan heap, dan informasi pemanggilan fungsi dapat menggunakan stack. CPU kemudian mengeksekusi instruksi aplikasi sambil sistem operasi mengatur sumber daya yang diperlukan.


4.2 Program

A. Pengertian program

Program adalah kumpulan instruksi yang dirancang untuk melakukan tugas tertentu ketika dijalankan oleh komputer. Program dapat terdiri atas beberapa baris kode sederhana hingga jutaan baris kode dalam aplikasi berskala besar.

Program umumnya dibuat menggunakan bahasa pemrograman, seperti C, C++, Java, Python, dan JavaScript. Kode sumber kemudian diproses atau diinterpretasikan sesuai mekanisme bahasa dan lingkungan eksekusinya.

B. Contoh program sederhana dalam bahasa C

Berikut contoh program untuk menampilkan tulisan “Halo, Dunia!” pada layar:

#include <stdio.h>

int main(void) {
    printf("Halo, Dunia!\n");
    return 0;
}

Penjelasan kode:

  • #include <stdio.h> menyertakan deklarasi fungsi input/output standar yang digunakan program.

  • int main(void) merupakan fungsi utama tempat pelaksanaan program C dimulai.

  • printf("Halo, Dunia!\n"); menampilkan teks ke keluaran standar.

  • return 0; mengakhiri fungsi utama dengan status yang lazim digunakan untuk menunjukkan keberhasilan.

Hasil keluaran:

Halo, Dunia!

Saat kode tersebut baru tersimpan sebagai berkas sumber, kode itu belum berarti sedang dieksekusi. Setelah program dikompilasi sesuai kebutuhan, kemudian dijalankan, sistem operasi mengelola proses yang melaksanakan instruksi tersebut.

C. Perbedaan program, proses, algoritma, dan perangkat lunak

Keempat istilah ini saling berkaitan, tetapi memiliki arti yang berbeda.

  • Algoritma adalah urutan langkah logis untuk menyelesaikan masalah. Contohnya, langkah menjumlahkan dua bilangan.

  • Program adalah implementasi instruksi yang dibuat agar komputer dapat melaksanakan tugas.

  • Proses adalah program yang sedang dieksekusi beserta keadaan dan sumber daya yang terkait.

  • Perangkat lunak (software) adalah istilah yang lebih luas, yang dapat mencakup program, pustaka, data, konfigurasi, dan komponen pendukung lainnya.

Sebagai ilustrasi, algoritma penjumlahan dapat ditulis dalam bahasa C menjadi sebuah program. Ketika program dijalankan, terbentuk proses yang menggunakan sumber daya komputer untuk menghitung dan menampilkan hasil.


4.3 Siklus Hidup Proses (Process Life Cycle)

A. Pengertian siklus hidup proses

Siklus hidup proses adalah rangkaian keadaan yang dilalui proses sejak dibuat hingga selesai atau dihentikan. Sistem operasi menggunakan informasi keadaan tersebut untuk menentukan apakah suatu proses siap dijalankan, sedang menggunakan CPU, atau menunggu suatu peristiwa.

Dalam model dasar yang umum digunakan untuk pembelajaran, proses mempunyai lima keadaan:

  1. Start / New — proses baru dibuat.

  2. Ready — proses siap berjalan dan menunggu giliran CPU.

  3. Running — instruksi proses sedang dieksekusi CPU.

  4. Waiting / Blocked — proses menunggu peristiwa atau operasi tertentu.

  5. Terminated / Exit — proses telah selesai atau dihentikan.

Istilah dan jumlah keadaan dapat berbeda pada sistem operasi nyata. Beberapa sistem juga mengenal keadaan tambahan, misalnya proses yang ditangguhkan.

B. Penjelasan setiap keadaan

1. Start / New (proses baru)

Keadaan ini terjadi ketika proses dibuat. Sistem operasi menyiapkan informasi pengelolaan proses dan sumber daya yang dibutuhkan.

Contoh: pengguna mengklik ikon aplikasi kalkulator. Sistem operasi mulai membuat proses yang diperlukan untuk menjalankan aplikasi.

2. Ready (siap)

Proses telah siap dieksekusi, tetapi belum memperoleh giliran CPU. Proses dapat berada dalam antrean penjadwalan sampai prosesor tersedia.

Contoh: aplikasi musik dan aplikasi pengolah kata sama-sama siap berjalan. Ketika CPU sedang menangani pekerjaan lain, salah satu proses menunggu giliran.

3. Running (berjalan)

CPU sedang mengeksekusi instruksi dari proses tersebut. Pada sistem dengan satu inti CPU, hanya satu proses yang dapat menggunakan inti itu untuk mengeksekusi instruksi pada satu waktu. Pada prosesor multicore, beberapa proses atau thread dapat berjalan secara paralel pada inti yang berbeda.

Contoh: aplikasi kalkulator sedang menjalankan operasi untuk menghitung 125 × 8.

4. Waiting / Blocked (menunggu)

Proses tidak dapat melanjutkan pekerjaan tertentu sampai suatu peristiwa terjadi, misalnya data dari perangkat input tersedia atau operasi pembacaan berkas selesai.

Contoh: aplikasi sedang membaca data dari SSD. Selama menunggu operasi tersebut, proses dapat berada dalam keadaan menunggu sehingga CPU dapat menjalankan proses lain.

5. Terminated / Exit (selesai)

Proses telah menyelesaikan tugasnya atau dihentikan. Sistem operasi kemudian membersihkan sumber daya dan informasi proses sesuai mekanisme yang digunakan.

Contoh: setelah program menampilkan “Halo, Dunia!”, program mencapai akhir pelaksanaannya dan prosesnya berakhir secara normal.

C. Diagram transisi keadaan proses

<box border radius="lg" padding={3} gap={2} align="center"> <box background="#E3EEFF" theme="light" radius="md" padding={3} width="70%" align="center"> **NEW / START** <text size="sm">Proses dibuat</text> </box> <icon name="arrow-down" size="xl" /> <box background="#DFF5E6" theme="light" radius="md" padding={3} width="70%" align="center"> **READY** <text size="sm">Menunggu giliran CPU</text> </box> <row align="center" justify="center" gap={3}> <icon name="arrow-up-down" size="xl" /> <text size="xs" color="secondary">Penjadwalan / interupsi</text> </row> <box background="#FFF0D8" theme="light" radius="md" padding={3} width="70%" align="center"> **RUNNING** <text size="sm">Instruksi dieksekusi CPU</text> </box> <row align="center" justify="center" gap={3}> <icon name="arrow-down-up" size="xl" /> <text size="xs" color="secondary">Menunggu I/O / peristiwa selesai</text> </row> <box background="#F0E6FF" theme="light" radius="md" padding={3} width="70%" align="center"> **WAITING / BLOCKED** <text size="sm">Menunggu peristiwa atau operasi</text> </box> <text size="xs" color="secondary" textAlign="center">Setelah peristiwa yang ditunggu selesai, proses umumnya kembali ke Ready, bukan langsung ke Running.</text> <divider /> <box background="#E6E6E6" theme="light" radius="md" padding={3} width="70%" align="center"> **TERMINATED / EXIT** <text size="sm">Proses selesai atau dihentikan</text> </box> <text size="xs" color="secondary">Diagram konseptual: panah menggambarkan transisi yang umum. Peralihan Ready ke Running dilakukan melalui penjadwalan CPU; proses Running juga dapat kembali ke Ready saat jatah CPU berakhir atau terjadi preemption.</text> </box>

D. Contoh nyata siklus hidup proses

Perhatikan proses ketika pengguna membuka aplikasi pengolah kata, mengetik dokumen, menyimpan berkas, lalu menutup aplikasi.

TahapKeadaan prosesPeristiwa
1NewPengguna membuka aplikasi dan proses dibuat.
2ReadyProses siap dijalankan, tetapi menunggu giliran CPU.
3RunningAplikasi mulai menampilkan antarmuka.
4WaitingAplikasi menunggu operasi penyimpanan selesai atau menunggu masukan tertentu.
5ReadyOperasi yang ditunggu selesai dan proses siap menggunakan CPU lagi.
6RunningPengguna mengetik, aplikasi memproses masukan, dan dokumen diperbarui.
7TerminatedPengguna menutup aplikasi dan proses berakhir.

Urutan tersebut merupakan ilustrasi untuk membantu memahami konsep. Dalam sistem nyata, proses dapat berpindah berkali-kali antara Ready, Running, dan Waiting sebelum akhirnya berakhir.

E. Mengapa siklus hidup proses penting?

Pengelolaan keadaan proses membantu sistem operasi:

  • Membagi waktu CPU secara teratur di antara proses yang siap berjalan.

  • Menghindari pemborosan waktu CPU ketika proses menunggu perangkat I/O.

  • Menangani banyak aplikasi yang aktif secara bersamaan.

  • Melacak kemajuan proses dan menentukan pekerjaan yang perlu dijalankan berikutnya.

  • Mengakhiri proses dan membersihkan sumber daya yang tidak lagi diperlukan.


4.4 Blok Kontrol Proses (Process Control Block / PCB)

A. Pengertian PCB

Process Control Block atau PCB adalah struktur data yang dikelola sistem operasi untuk menyimpan informasi penting tentang suatu proses. PCB membantu sistem operasi mengenali proses, mengetahui keadaannya, menyimpan konteks eksekusi, serta mengatur penjadwalan dan penggunaan sumber daya.

Setiap proses umumnya memiliki identitas unik yang disebut Process ID (PID) selama proses tersebut hidup. Sistem operasi menggunakan informasi pengelolaan proses, termasuk PCB atau struktur internal yang setara, untuk mengatur pelaksanaan proses.

PCB tidak harus memiliki susunan yang sama pada semua sistem operasi. Informasi yang disimpan bergantung pada rancangan sistem operasi dan arsitektur perangkat keras.

B. Informasi yang terdapat dalam PCB

1. Process State (keadaan proses)

Mencatat keadaan proses, misalnya Ready, Running, Waiting, atau Terminated, sesuai model dan implementasi sistem.

Contoh: proses yang sedang menunggu pembacaan berkas dapat ditandai sebagai menunggu.

2. Process Privileges (hak akses proses)

Berkaitan dengan hak dan izin yang menentukan sumber daya apa yang dapat diakses oleh proses. Informasi ini mendukung mekanisme perlindungan sistem.

Contoh: aplikasi biasa tidak seharusnya dapat mengubah berkas sistem yang dilindungi tanpa hak yang sesuai.

3. Process ID (PID)

Merupakan identitas numerik yang digunakan untuk membedakan suatu proses dari proses lainnya pada sistem operasi.

Contoh: pada Linux, pengguna dapat menggunakan perintah ps untuk melihat daftar proses dan PID-nya.

ps -ef

Pada Windows, daftar proses dapat dilihat melalui Task Manager atau menggunakan perintah:

Get-Process

Nomor PID yang terlihat bergantung pada kondisi komputer dan dapat berubah ketika proses baru dibuat.

4. Pointer atau informasi hubungan proses

Informasi ini dapat digunakan untuk menghubungkan proses dengan struktur lain yang dikelola sistem operasi, misalnya proses induk atau antrean penjadwalan. Detail implementasinya tidak selalu berupa satu pointer yang sama pada setiap OS.

Contoh: sebuah aplikasi dapat membuat proses anak untuk menjalankan pekerjaan tambahan.

5. Program Counter

Menyimpan atau merepresentasikan alamat instruksi berikutnya yang perlu dieksekusi ketika konteks proses dipulihkan. Informasi ini penting saat sistem operasi beralih dari satu proses ke proses lain.

Contoh: ketika proses dihentikan sementara agar proses lain dapat menggunakan CPU, konteks eksekusinya perlu dipertahankan supaya dapat dilanjutkan.

6. CPU Registers (register CPU)

Berisi nilai register yang perlu dipertahankan untuk melanjutkan eksekusi proses, seperti register umum, stack pointer, dan register status yang relevan.

Contoh: nilai sementara hasil perhitungan harus dipulihkan dengan benar agar proses melanjutkan pekerjaan tanpa kehilangan keadaan eksekusinya.

7. CPU Scheduling Information (informasi penjadwalan CPU)

Mencakup informasi yang digunakan dalam penjadwalan, misalnya prioritas proses atau data lain yang dibutuhkan algoritma penjadwalan.

Contoh: sistem operasi dapat memilih proses berdasarkan prioritas dan kebijakan penjadwalan yang berlaku.

8. Memory Management Information (informasi pengelolaan memori)

Mencakup informasi yang membantu sistem operasi mengelola ruang alamat proses, seperti referensi ke tabel halaman atau struktur pengelolaan memori lainnya.

Contoh: sistem operasi mengatur agar proses memiliki ruang alamat yang terpisah dan tidak sembarangan membaca memori milik proses lain.

9. Accounting Information (informasi akuntansi penggunaan sumber daya)

Dapat mencakup informasi penggunaan CPU, waktu pelaksanaan, identitas pengguna, atau data pengukuran sumber daya lainnya. Rincian yang disimpan bergantung pada sistem operasi.

Contoh: administrator dapat menganalisis proses yang menghabiskan waktu CPU secara berlebihan.

10. I/O Status Information (informasi status input/output)

Berkaitan dengan perangkat I/O, operasi yang sedang berlangsung, atau sumber daya I/O yang digunakan proses. Bentuk pencatatannya bergantung pada implementasi sistem operasi.

Contoh: sebuah proses sedang membaca data dari berkas atau menunggu respons dari perangkat.

C. Ringkasan komponen PCB

No.InformasiFungsi utama
1Process StateMengetahui keadaan proses.
2Process PrivilegesMendukung pengaturan hak akses.
3Process IDMengidentifikasi proses.
4Pointer / hubungan prosesMenghubungkan proses dengan struktur pengelolaan lain.
5Program CounterMenunjukkan lokasi instruksi berikutnya.
6CPU RegistersMenyimpan konteks register proses.
7CPU Scheduling InformationMendukung penjadwalan CPU.
8Memory Management InformationMendukung pengelolaan memori proses.
9Accounting InformationMencatat penggunaan sumber daya.
10I/O Status InformationMencatat informasi terkait operasi I/O.

D. Hubungan PCB dengan pergantian proses (context switch)

Ketika CPU beralih dari menjalankan satu proses ke proses lain, sistem operasi melakukan mekanisme yang disebut context switch. Secara sederhana, sistem menyimpan konteks proses yang sedang berjalan dan memulihkan konteks proses yang akan dijalankan.

Contohnya, saat aplikasi musik berjalan lalu sistem operasi memberi CPU kepada peramban, keadaan eksekusi aplikasi musik perlu dipertahankan agar musik dapat terus diproses atau dilanjutkan ketika memperoleh giliran CPU lagi. Mekanisme ini juga memungkinkan sistem operasi menangani banyak proses tanpa mencampuradukkan konteks eksekusinya.

Perlu diperhatikan bahwa context switch tidak selalu terjadi karena proses melakukan operasi I/O. Pergantian dapat pula terjadi karena jatah waktu CPU berakhir, proses dengan prioritas lebih tinggi perlu dijalankan, atau terjadi peristiwa penjadwalan lainnya.

E. Siklus hidup PCB

Secara konseptual, PCB dikelola selama proses masih membutuhkan informasi pengelolaan oleh sistem operasi. Ketika proses berakhir, sistem operasi membersihkan struktur terkait dan melepaskan sumber daya sesuai mekanisme yang berlaku.

Urutan sederhananya adalah:

  1. Proses dibuat dan informasi pengelolaannya disiapkan.

  2. PCB atau struktur setara digunakan untuk melacak keadaan proses.

  3. Informasi diperbarui saat proses berjalan, menunggu, atau mengalami pergantian konteks.

  4. Ketika proses berakhir, sistem operasi membersihkan informasi dan sumber daya yang tidak lagi diperlukan.


4.5 Studi Kasus: Menjalankan Program di Laboratorium Komputer

Bayangkan seorang siswa menjalankan program sederhana yang menghitung luas persegi panjang.

#include <stdio.h>

int main(void) {
    int panjang = 10;
    int lebar = 5;
    int luas = panjang * lebar;

    printf("Luas persegi panjang = %d\n", luas);
    return 0;
}

Hasil keluaran:

Luas persegi panjang = 50

Berikut gambaran konsep sistem operasi yang terlibat.

Tahap 1 — Program disiapkan.
Kode sumber ditulis dan disimpan sebagai berkas. Pada tahap ini, berkas sumber merupakan program, bukan proses yang sedang dieksekusi.

Tahap 2 — Program dijalankan.
Setelah dikompilasi sesuai kebutuhan dan dijalankan, sistem operasi membuat serta mengelola proses untuk melaksanakan program tersebut.

Tahap 3 — Memori digunakan.
Instruksi program dan data yang diperlukan ditempatkan atau dipetakan ke ruang alamat proses. Variabel lokal dapat disimpan pada register atau stack, bergantung pada optimasi kompiler dan implementasi.

Tahap 4 — Proses memperoleh CPU.
Ketika dijadwalkan, CPU menjalankan instruksi untuk menghitung 10 * 5.

Tahap 5 — Hasil ditampilkan.
Fungsi printf() menggunakan fasilitas keluaran standar. Pada akhirnya, data ditampilkan di terminal atau konsol melalui mekanisme I/O sistem.

Tahap 6 — Proses berakhir.
Program mengembalikan status 0. Sistem operasi menyelesaikan proses dan membersihkan sumber daya yang tidak lagi dibutuhkan.

Kasus sederhana ini menunjukkan bahwa pelaksanaan program melibatkan proses, memori, CPU, fasilitas I/O, serta informasi pengelolaan proses.


4.6 Perbedaan Proses dan Thread

Dalam sistem operasi, proses dan thread merupakan konsep yang berhubungan, tetapi tidak sama.

  • Proses menyediakan lingkungan eksekusi dan ruang alamat yang dikelola sistem operasi.

  • Thread merupakan unit eksekusi di dalam suatu proses. Thread-thread dalam proses yang sama umumnya berbagi ruang alamat dan sejumlah sumber daya proses, tetapi masing-masing memiliki konteks eksekusi sendiri.

Sebagai contoh, aplikasi pengolah kata dapat menggunakan satu thread untuk antarmuka pengguna dan thread lain untuk melakukan pekerjaan tertentu di latar belakang. Dengan rancangan yang tepat, pekerjaan tersebut dapat berjalan lebih responsif tanpa harus membuat setiap tugas menjadi proses terpisah.

Namun, tidak semua aplikasi menggunakan pola thread yang sama. Pembagian pekerjaan bergantung pada desain perangkat lunak dan fasilitas yang disediakan sistem operasi.


4.7 Kesimpulan

Proses merupakan konsep mendasar dalam sistem operasi karena menghubungkan program dengan pelaksanaan nyata di komputer. Ketika program dijalankan, sistem operasi mengelola proses beserta keadaan, ruang alamat, dan sumber daya yang diperlukan.

Empat konsep utama yang perlu dipahami adalah:

  1. Proses: program yang sedang dieksekusi beserta keadaan dan sumber daya terkait.

  2. Program: kumpulan instruksi yang dirancang untuk menyelesaikan tugas tertentu.

  3. Siklus hidup proses: rangkaian keadaan yang membantu sistem operasi mengatur kapan proses siap, berjalan, menunggu, atau selesai.

  4. Process Control Block (PCB): struktur pengelolaan yang menyimpan informasi penting untuk melacak dan mengatur proses.

Pemahaman terhadap proses, memori, penjadwalan, dan PCB membantu mahasiswa memahami bagaimana sistem operasi menjalankan banyak aplikasi, menjaga konteks eksekusi, membagi sumber daya CPU, serta mengelola memori secara teratur.

Referensi untuk Bacaan Lanjutan

  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. Dokumentasi Linux proc(5) dan ps(1) untuk mempelajari informasi proses pada sistem Linux.

  4. Dokumentasi Microsoft tentang proses dan manajemen tugas Windows.

Catatan: Artikel ini menyajikan model konseptual yang umum digunakan dalam pembelajaran sistem operasi. Detail implementasi proses, memori, PCB, dan penjadwalan dapat berbeda antara sistem operasi dan arsitektur perangkat keras.

0 Komentar