KONSEP PROSES PADA SISTEM OPERASI LINUX

Proses merupakan konsep pokok pada sistem operasi, karena salah satu tugas utama sistem operasi adalah bagaimana mengatur proses – proses yang berjalan di sistem. Sebenarnya apakah Proses itu? Berikut beberapa definisi proses pada sistem operasi adalah : 1. Program yang sedang dalam keadaan dieksekusi. 2. Unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistemoperasi. Sistem operasi mengolah seluruh proses yang ada di sistem dan bertugas mengalokasikan sumber daya –sumber daya ke proses yang membutuhkan sesuai dengan kebijaksanaan tertentu. Sumber daya yang dibutuhkan proses diantaranya CPU, memori, file serta I/O device.

Beberapa tipe proses : • Foreground Proses yang diciptakan oleh pemakai langsung pada terminal (interaktif, dialog) • Batch Proses yang dikumpulkan dan dijalankan secara sekuensial (satu persatu). Prose Batch tidak diasosiasikan (berinteraksi) dengan terminal. • Daemon Proses yang menunggu permintaan (request) dari proses lainnya dan menjalankan tugas sesuai dengan permintaan tersebut. Bila tidak ada request, maka program ini akan berada dalam kondisi “idle” dan tidak menggunakan waktu hitung CPU. Umumnya nama proses daemon di UNIX berakhiran d, misalnya inetd, named, popd dll Keadaan/ Status Proses : Proses – proses yang dikelola oleh sistem operasi akan melalui serangkaian keadaan yang merupakan bagian dari aktivitasnya. Keadaan proses ini disebut sebagai status proses yang terdiri dari: • Status New yaitu status dimana proses sedang dibuat. • Status Ready yaitu status dimana proses siap dieksekusi tetapi CPU belum tersedia karena sedang mengerjakan proses lain. • Status Waiting yaitu status dimana proses sedang menunggu suatu kejadian tertentu. Misalnya sedang menunggu operasi I/O selesai, menunggu signal dari proses lain, tersedianya memori, dsb. • Status Running yaitu status dimana proses dieksekusi. Pada status ini CPU sedang mengeksekusi instruksi – instruksi pada proses. • Status Terminated yaitu status dimana proses diakhiri.

yang terdiri dari Thread_ID. RUN (Running). dan sumber daya sistem operasi dengan Thread lain yang dimiliki oleh proses yang sama dan Thread juga sering disebut lightweight process. • Algoritma yang kedua didesain untuk tugas real-time dimana proritas mutlak lebih utama daripada keadilan mendapatkan suatu pelayanan. W (Wait).RDY (Ready). Untuk linux ada aspek lain yang penting dalam penjadwalan: seperti menjalankan dengan berbagai kernel tasks. program counter.register set. dan stack. Keuntungan Thread : • Responsif • Berbagai sumber daya • Ekonomis • Utilisasi arsitektur multiprosessor . PENJADWALAN Penjadwalan adalah suatu pekerjaan yang dilakukan untuk mengalokasikan CPU time untuk tasks yang berbeda-beda dalam sistem operasi. Linux mempunyai dua algoritma penjadwalan yaitu : • Algoritma time-sharing untuk penjadwalan preemptive yang adil diantara sekian banyak proses. Sebuah thread berbagi code section. KONSEP THREAD Thread merupakan unit dasar dari penggunaan CPU. data section.

Thread Kernel Linux : Linus Torvalds mendefinisikan bahwa sebuah thread adalah Context of Execution (COE). 2. cara ini memperbolehkan target thread untuk memberhentikan dirinya sendiri secara terurut. penjadwalan. Fork memiliki fungsi untuk menduplikasi proses dimana proses anak yang dihasilkan bersifat independent. Asynchronous cancellation: suatu thread seketika itu juga memberhentikan target thread. Solaris. Thread Cancellation : Thread cancellation adalah pemberhentian thread sebelum tugasnya selesai. Contoh sistem operasi yang mendukung kernel thread adalah Windows NT. kernel dapat menjadwal threadthread pada processor yang berbeda.Thread kernel : • Thread kernel didukung langsung oleh sistem operasi. Digital UNIX. Clone memiliki sifat yang mirip dengan fork yaitu sama-sama membuat duplikat dari proses induk. Linux tidak mendukung multithreading. Defered cancellation: target thread secara perodik memeriksa apakah dia harus berhenti. Pembuatan. 2. • Thread diatur oleh kernel.struktur data yang terpisah. • Pada lingkungan multiprocessor. . yang berarti bahwa hanya ada sebuah Process Control Block (PCB) dan sebuah penjadwal yang diperlukan. atau pun rutin kernel. karena itu jika sebuah thread menjalankan blocking system call maka kernel dapat menjadwalkan thread lain di aplikasi untuk melakukan eksekusi. dan manajemen thread dilakukan oleh kernel pada kernel space. Pemberhentian target thread dapat terjadi melalui dua cara yang berbeda: 1. Linux menyediakan 2 system call yaitu : 1.