7. Pengaturan Proses 1. Jelaskan bagaimana Konsep proses dalam Sistem Operasi, sebutkan juga jenisjenis proses yang ada dalam Sistem Operasi. Sistem Operasi (Operating System): merupakan software pertama yang terdapat pada memori komputer pada saat komputer dijalankan. Sedangkan software-software lainnya akan dijalankan setelah sistem operasi berjalan terlebih dahulu. Setelah itu sistem operasi akan melakukan pelayanan terhadap software-software tersebut. Istilah-istilah yang berkaitan dengan proses Sistem Operasi 1. Multiprocessing adalah manajemen banyak proses di komputer multiprocessor (banyak proses di dalamnya). 2. Multiprogramming (multitasking) adalah manajemen proses dengan masing-masing pemroses melakukan pengolahan secara independen. 3. Distributed processing adalah manajemen banyak proses yang di eksekusi di banyak komputer yang tersebar (terdistribusi) di satu jaringan. Sistem Operasi secara umum terdiri dari beberapa bagian: 1. Mekanisme Boot, yaitu meletakan kernel ke dalam memory kernel, kernel dapat dikatakan sebagai inti dari Sistem Operasi. 2. Command Interpreter atau Shell, bertugas untuk membaca input berupa perintah dan menyediakan beberapa fungsi standar dan fungsi dasar yang dapat dipanggil oleh aplikasi/program maupun piranti lunak lain. Contoh dari Shell adalah : Command prompt pada Windows Xp (DOS pada Windows 98), XTerm dan Konsole di Mesin Linux (Unix). 3. Resource Allocator. Sistem Operasi bertugas mengatur dan mengalokasikan sumber daya dari perangkat. 4. Handler berperan dalam mengendalikan sistem perangkat agar terhindar dari kekeliruan (error) dan penggunaan sumber daya yang tidak perlu. 5. Driver untuk berinteraksi dengan hardware sekaligus mengontrol kinerja hardware.. Proses adalah keadaan ketika sebuah program sedang di eksekusi. Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuat melalui system call create-process yang membentuk proses turunan (child process) yang dilakukan oleh proses induk (parent process). Proses turunan tersebut juga mampu membuat proses baru sehingga semua proses ini pada akhirnya membentuk pohon proses. Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh sumber-daya seperti waktu CPU, memori, berkas, atau perangkat I/O. Sumber daya ini dapat diperoleh langsung dari sistem operasi, dari proses induk yang membagi-bagikan sumber daya kepada Iwan Setiadi/PTKI B(Sis. Op.) /Minggu 7 Pengaturan Proses 1 setiap proses turunannnya, atau proses turunan dan proses induk berbagi sumber-daya yang diberikan sistem operasi. Konsep proses dalam sistem operasi memiliki definisi sebagai berikut: Merupakan konsep pokok dalam sistem operasi, sehingga masalah manajemen proses adalah masalah utama dalam perancangan sistem operasi. Proses adalah program yang sedang terjadi Proses adalah unit kerja terkecil yang secara individu memiliki sumber daya yang dijadwalkan oleh sistem operasi Pengelolahan Proses: Proses perlu dikelola karena dalam sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas dan perangkat-perangkat I/O. Sistem operasi bertanggung jawab atas aktifitas-aktifitas yang berkaitan dengan manajemen proses seperti: Pembuatan dan penghapusan proses pengguna dan sistem proses Menunda atau menjalankan proses Menyediakan mekanisme untuk menjalankan sinkronisasi Menyediakan mekanisme untuk proses komunikasi Menyediakan mekanisme untuk penanganan deadblock Perkembangan sistem komputer mendatang adalah menuju ke sistem multi- processing, multiprogramming, terdistribusi dan paralel yang mengharuskan adanya proses-proses yang berjalan bersama dalam waktu yang bersamaan. Hal demikian merupakan masalah yang Iwan Setiadi/PTKI B(Sis. Op.) /Minggu 7 Pengaturan Proses 2 perlu perhatian dari perancang sistem operasi. Kondisi dimana pada saat yang bersamaan terdapat lebih dari satu proses disebut dengan kongkurensi (proses-proses yang kongkuren). Proses-proses yang mengalami kongkuren dapat berdiri sendiri (independen) atau dapat saling berinteraksi, sehingga membutuhkan sinkronisasi atau koordinasi proses yang baik. Berikut ini adalah beberapa tipe proses: Foreground Process: Yang diciptakan oleh pemakai langsung pada terminal (interaktif,dialog). Contohnya program yang sedang aktif/ditampilkan batch proses yang dikumpulkan dan dijalankan secara sekuensial (satu persatu). BatchProcess: Tidak berinteraksi dengan terminal. Contohnya proses yang sedang menunggu, seperti apabila kita sedang membuka Ms.word dan game tapi yang sedang dijalankan adalah game. Daemon Process: 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. Contohnya proses yang sedang tidak aktif. STATUS PROSES Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda. Ada 3 macam status yang umum, yaitu: 1. 2. 3. 4. 5. 6. Ready, yaitu status dimana proses siap untuk dieksekusi pada giliran berikutnya Running, yaitu status dimana saat ini proses sedang dieksekusi oleh prosesor Blocked, yaitu status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas New,Pembentukan suatu proses Waiting, Proses menunggu untuk beberapa event yang terjadi Terminated, Proses telah selesai dieksekusi Jenis-jenis PROSES yang ada dalam Sistem Operasi Beberapa layanan yang biasanya dapat dikerjakan oleh sistem operasi yaitu: 1. Akses Disk 2. Manajemen Memory, Sistem Operasi Komputer menjamin aplikasi perangkat lunak lainnya bisa memakai memori, melakukan input serta output terhadap peralatan lain, dan mempunyai akses kepada sistem file. 3. Penjadwalan Program, Jika ada beberapa program yang berjalan secara bersamaan sistem operasi akan mengatur jadwal yang tepat dan teratur, sehingga program-program tersebut tidak crash serta dapat berjalan sesuai dengan antrian. 4. Pengaturan antarmuka atau interface. Iwan Setiadi/PTKI B(Sis. Op.) /Minggu 7 Pengaturan Proses 3 Sistem Operasi adalah pengelola seluruh sumber-daya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan (system calls) ke pemakai sehingga memudahkan dan menyamankan penggunaan serta pemanfaatan sumber-daya sistem komputer. Jadi, pada intinya suatu Komputer atau laptop atau smartphone akan dapat berjalan sebagaimana mestinya jika di dalamnya sudah tertanam processor dan Sistem Operasi yang bertugas menjalankan serta mengaturnya. dan kita sebagai pemakai yang cerdas menggunakan perangkat tersebut. 2. Jelaskan pengertian dari Penjadwalan proses, apa yang dimaksud dengan Deadlock, apa yang dimaksud dengan Concurency. Penjadwalan proses adalah merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Proses penjadwalan yang akan dibahas disini adalah proses penjadwalan sistem operasi. Sasaran atau tujuan utama penjadwalan proses optimasi kinerja menurut kriteria tertentu. dimana kriteria untuk mengukur dan optimasi kerja penjadwalan antara lain : Adil: Proses-proses diperlakukan sama yaitu mendapat jatah waktu pemroses yang sama Efisiensi: Pemakaian utilitas dihitung dengan perbandingan waktu sibuk pemroses, proses tetap dalam keadaan sibuk tidak menganggur. Waktu tanggap: Selang antara perintah terakhir sampai hasil eksekusi pertama dapat diminimumkan. Turn arround time waktu yang dihabiskan dari saat program masuk ke sistem sampai proses diselesaikan sistem. Trough put : Jumlah kerja yang dapat diselesaikan dalam satu unit waktu dapat dimaksimumkan. Agar pemakaian prosesor dapat dimaksimumkan. Agar pemakaian sumber daya seimbang. Tipe-Tipe Penjadwalan: 1. Penjadwalan Jangka Pendek (short term scheduller). Bertugas menjadwalkan alokasi pemroses di antara proses-proses ready di memori utama Penjadwalan dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan. 2. Penjadwalan Jangka Menengah (medium term scheduller). Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah eksekusi karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan menuju selesai sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan. Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. ProsesIwan Setiadi/PTKI B(Sis. Op.) /Minggu 7 Pengaturan Proses 4 proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan dimasukkan kembali ke memori utama dan ready. 3. Penjadwalan Jangka Panjang (long term scheduller). Penjadwal ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, masukan/keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah Strategi Penjadwalan: - Penjadwalan Nonpreemtive Begitu proses diberi jatah waktu pemproses. maka pemproses tidak dapat diambil alih oleh proses lain sampai proses itu selesai - Penjadwalan Preemtive Saat proses diberi jatah waktu pemproses boleh. diambil alih oleh proses yang lain, sehingga proses dapat disela sebelum proses itu selesai Algoritma-algoritma Penjadwalan: 1. Penjadwalan RR (Round-Robin) 2. Penjadwalan FIFO (First In First Out) 3. Penjadwalan Barprioritas (PS) 4. Penjadwalan dengan banyak Antrian (MFQ) 5. Penjadwalan Terpendek, Duluan (SJF) 6. Penjadwalan Sisa waktu terpendek, Duluan (SRF) 7. Penjadwalan Rasio Tanggapan Tertinggi duluan (HRN) 8. Penjadwalan Terjamin (GS) Deadlock secara harfiah adalah kebuntuan, Di dalam sistem operasi berarti suatu kondisi di mana sekumpulan proses tidak dapat berjalan kembali atau tidak adanya komunikasi antar proses. Definisi lainnya yaitu sekumpulan proses yang terblok yang tiap proses tersebut memegang sumber daya dan menunggu untuk mendapatkan sumber daya yang dipegang oleh proses di dalam kumpulan tersebut. Suatu proses menunggu suatu kejadian tertentu yang tidak akan pernah terjadi, karena kejadian itu hanya bisa dilakukan oleh proses lain. Atau suatu keadaan menunggu yang tidak akan pernah berakhir (kebuntuan). IlustrasiDeadlock Penyebab utama terjadinya deadlock adalah terbatasnya sumber daya yang akan digunakan oleh proses-proses. Tiap proses berkompetisi untuk memperebutkan sumber daya yang ada. Jadi deadlock berhubungan erat dengan tersedianya sumber daya dari komputer. Penyebab utama terjadinya deadlock adalah terbatasnya sumber daya yang akan digunakan oleh proses-proses. Tiap proses berkompetisi untuk memperebutkan sumber daya yang ada. Jadi deadlock berhubungan erat dengan tersedianya sumber daya dari komputer. Iwan Setiadi/PTKI B(Sis. Op.) /Minggu 7 Pengaturan Proses 5 Karakteristik Deadlock Menurut Coffman(1971) ada empat kondisi yang dapat menyebabkan terjadinya deadloock. Keempat kondisi tersebut tidak dapat berdiri sendiri, saling mendukung. 1. Mutual Eksklusif: hanya ada satu proses yang bisa menggunakan sumber daya tersebut. Jika ada proses lain yang meminta sumber daya tersebut, maka proses itu harus menunggu sampai sumber daya dilepaskan. 2. Memegang dan Menunggu: proses yang meminta sumber daya sudah memegang sumber daya lainnya(meminta sumber daya tambahan). 3. Tidak ada Preemption: sumber daya yang sudah dialokasikan untuk sebuah proses tidak bisa diminta oleh proses lain. Sumber daya hanya bisa dilepaskan secara sukarela atau setelah proses tersebut selesai menggunakannya. 4. Circular Wait(menunggu berputar): kondisi seperti rantai yaitu saling menunggu smber daya yang dipakai oleh proses yang menunggu sumber daya tersebut. Method untuk Menangani Deadlock Pada prinsipnya kita dapat menangani deadlock dengan beberapa cara: 1. Menggunakan protokol untuk pencegahan atau penghindaran deadlock, memastikan bahwa sistem tidak akan memasuki kondisi deadlock. 2. Kita bisa mendeteksi terjadinya deadlock lalu memperbaiki. 3. Kita juga bisa mengabaikan deadlock, hal ini dilakukan pada sistem operasi berbasisUNIX. Untuk memastikan sistem tidak memasuki deadlock, sistem dapat menggunakan pencegahan deadlock atau penghindaran deadlock. Penghindaran deadlock membutuhkan informasi tentang sumber daya yang mana yang akan suatu proses meminta dan berapa lama akan digunakan. Dengan informasi tersebut dapat diputuskan apakah suatu proses harus menunggu atau tidak. Hal ini disebabkan oleh keberadaan sumber daya, apakah ia sedang digunakan oleh proses lain atau tidak. Jika sebuah sistem tidak memastikan deadlock akan terjadi, dan juga tidak didukung dengan pendeteksian deadlock serta pencegahannya, maka kita akan sampai pada kondisi deadlock yang dapat berpengaruh terhadap performance system karena sumber daya tidak dapat digunakan oleh proses sehingga proses-proses yang lain juga terganggu. Akhirnya sistem akan berhenti dan harus direstart. Strategi untuk mencegah terjadinya Deadlock sistem operasi adalah: 1. Mencegah mutual exclusion. Mutual exclusion tidak dapat dihindari. jika tidak ada sumber daya yang secara khusus diperuntukkan bagi suatu proses maka tidak akan pernah terjadi deadlock. Namun jika membiarkan ada dua atau lebih proses mengakses sebuah sumber daya yang sama akan menyebabkan chaos. Langkah yang digunakan adalah dengan spooling sumber daya, yaitu dengan mengantrikan. Iwan Setiadi/PTKI B(Sis. Op.) /Minggu 7 Pengaturan Proses 6 2. Mencagah hold and wait Dilakukan dengan cara: sistem harus menjamin bila suatu proses meminta sumber daya, maka proses tersebut tidak sedang memegang sumber daya yang lain. Hold and release (genggam dan lepas) 3. Mencegah Non Preemption Peniadaan non preemption mencegah proses-proses lain harus menunggu. Seluruh proses menjadi preemption, sehingga tidak ada tunggu menunggu. Cara mencegah kondisi non preemption: Jika suatu proses yang membawa beberapa sumber daya meminta sumber dayalain yang tidak dapat segera dipenuhi untuk dialokasikan pada proses tersebut,maka semua sumber daya yang sedang dibawa proses tersebut harus dibebaskan. Proses yang sedang dalam keadaan menunggu, sumber daya yang dibawanya ditunda dan ditambahkan pada daftar sumber daya. Proses akan di restart hanya jika dapat memperoleh sumber daya yang lama dan sumber daya baru yang diminta. 4. Mencegah kondisi menunggu sirkular Dilakukan dengan cara: Proses hanya boleh dilakukan menggenggam satu sumber daya pada suatu saat. Penomoran global semua sumber daya. Penghindaran deadlock dengan cara hanya memberi akses ke permintaan sumber daya yang tidak mungkin menimbulkan deadlock. Strategi ini diimplementasikan dengan pengalokasian sumber daya memeriksa dampak-dampak pemberian akses kesuatu permintaan. Jika pemberian akses sumber daya tidak mungkin menuju deadlock, sumber daya diberi ke peminta. Jika tidak aman, proses yang diminta di tunda sampai suatu waktu permintaannya aman diberikan. Concurensy merupakan landasan umum perancangan sistem operasi. Prosesproses disebut concurrensy jika proses-proses (lebih dari satu proses) berada pada saat yang sama. Proses-proses yang mengalami kongkuren dapat berdiri sendiri (independen) atau dapat saling berinteraksi, sehingga membutuhkan sinkronisasi atau koordinasi proses yang baik. Untuk penanganan kongkuren, bahasa pemograman saat ini telah memiliki mekanisme kongkurensi dimana dalam penerapannya perlu dukungan sistem operasi dimana bahasa berada. Iwan Setiadi/PTKI B(Sis. Op.) /Minggu 7 Pengaturan Proses 7