Sistem Operasi PENGATURAN PROSES
Konsep Proses Dalam Sistem Operasi
Jenis Proses
Subject
Penjadwalan Proses
Deadlock
Concurency
Sebuah perangkat lunak yang deprogram sebagai penghubung antara
Sistem Operasi (Operating System)
Pengguna (user)
Perangkat keras (Hardware)
Sistem Operasi merupakan pengelola seluruh Sumber Daya yang terdapat pada sistem computer dan menyediakan sekumpulan layanan (System Calls) untuk pengguna sehingga memudahkan, menyamanka penggunaan, dan dapat memanfaatkan sumber daya sistem computer dengan optimal.
Mengimplementasikan antarmuka untuk pemakai (user) Memungkinkan pemakaian bersama perangkat keras (hardware) Memungkinkan pemakaian data bersama
Fungsi Sistem Operasi
Mencegah para pengguna saling mengganggu satu sama lain Membuat penjadwalan pemakaian sumber daya (resource) Memberi fasilitas Input dan Output (I/O) Memulihkan kesalahan (error)
Menghitung penggunaan sumber daya Mengorganisasi data agar pengamanan dan cepat diakses
Menangani komunikasi jaringan
Proses Program yang sedang dieksekusi
Konsep Proses Dalam Sistem Operasi
Proses tidak hanya sekedar suatu kode program (text section), melainkan meliputi beberapa aktivitas yang bersangkutan seperti program counter dan stack. Program Counter is a register in a computer processor that contains the address (location) of the instruction being executed at the current time. Sebuah proses juga melibatkan stack yang berisi data sementara (parameter fungsi/metode, return address, dan variable local) dan data section yang menyimpan variable-variable global.
Proses adalah sebuah program yang dieksekusi yang mencakup program counter, register, dan variable di dalamnya. Sistem Operasi mengeksekusi proses dengan dua cara, yaitu :
Proses (cont.)
1. Batch System Yang mengeksekusi jobs
2. Time-Shared System Yang mengatur pengeksekusian program pengguna (user) atau tasks.
Sistem Operasi UNIX mempunyai system call fork yang berfungsi untuk membuat proses baru.
Proses (cont.)
Proses yang memanggil system call fork ini akan dibagi jadi dua, proses induk dan proses turunan yang identic. Dengan kata lain, pembuatan proses baru disebut “Induk proses”, sedangkan turunan dari proses tersebut disebut “child proses”
Proses pada Sistem operasi adalah program yang sedang dieksekusi, merupakan unit kerja terkecil yang secara individu memiliki sumber daya yang dijadwalkan oleh sistem operasi.
Proses Sistem Operasi
Awalnya proses dijalankan secara sekuensial atau berurut. Suatu proses akan dieksekusi sampai selesai baru kemudian berpindah ke proses selanjutnya. Sistem sekuensial memiliki kelemahan yakni tingkat pengguna atau utilitas prosesor rendah.
1. Virus Beberapa virus menghapus boot sektor dari sebuah hard drive sehingga mustahil untuk start sebuah program.
Bagaimana penyebab dari Proses yang tidak selesai (Crash program)
2. Software perangkat lunak rusak atau proses instalasi tidak baik. 3. Hard Disk Drive Informasi pada HARD DISK DRIVE menjadi sedikit demi sedikit akan aus atau terfragmentasi seiring waktu pemakaian. Baik untuk defragment hard disk setiap bulan untuk mencegah komputer crash. 4. RAM Kerusakan RAM Kerusakan RAM (random access memory) akan menyebabkan layar mati dengan pesan yang mengatakan Fatal Exception Error. Sebuah kesalahan fatal menunjukkan masalah hardware yang serius.
Multiprocessing adalah manajemen banyak proses di komputer multiprocessor (banyak proses di dalamnya).
Istilah yang berkaitan dengan Proses Sistem Operasi (Jenis Proses)
Multiprogramming (multitasking) adalah manajemen proses dengan masing-masing pemroses melakukan pengolahan secara independen. Distributed processing adalah manajemen banyak proses yang di eksekusi di banyak komputer yang tersebar (terdistribusi) di satu jaringan.
Sebagai Contoh, Seorang koki akan membuat masakan special di sebuah retoran terkenal dengan resep sendiri. Resep tersebut terdiri dari berbagai bahan makanan yang diperlukan. Penjabaran : Resep : Sebuah program
Analogi Proses
Koki : prosesor Bahan-bahan yang diperlukan : Masukkan (input) Proses sendiri adalah kegiatan atau pekerjaan yang dilakukan koki dari awal sampai selesai yakni mulai dari membaca resep, menyiapkan bahan, mengolah sampai menjadi masakan tersebut siap saji.
Kasus 1
Pada Sekelompok pekerja bangunan yang sedang mengerjakan sebuah jembatan ada pekerja khusus yang mengerjakan bagian pondasi, sebagian lagi bertugas melakukan pengelasan, dan sebagaiannya lagi mengerjakan pekerjan lain yang disesuaikan dengan kemampuan dan keahlian pekerja. Pada intinya semua pekerja mengerjakan suatu pekerjaan dalam waktu yang besamaan namun jenis pekerjaan berbeda. Pada computer sistem seperti ini disebut dengan sistem pararel atau multiprocessing.
Seorang tukang bangunan mendapat pekerjaan untuk membangun dua sekolah yang kebetulan harus selesai dalam waktu yang bersamaan, sebut saja sekolah X dan sekolah Y.
Kasus 2
Untuk menyelesaikan kedua sekolah tersebut akhirnya tukang bangunan tersebut membuat penjadwalan. Rumah X dikerjakan setiap pukul 7.00 pagi sampai jam 12.00 sedangkan rumah Y dikerjakan setelah pengerjaan rumah X sampai pukul 5.00 sore. Dengan demikian kedua rumah tersebut dikerjakan oleh si Tukang Bangunan setiap hari sampai kedua rumah tersebut selesai dibangun.
Penjadwalan adalah suatu pekerjaan yang dilakukan untuk mengalokasikan CPU time untuk tasks yang berbeda-beda dalam sistem operasi. Untuk linux ada aspek lain yang penting dalam penjadwalan: seperti menjalankan dengan berbagai kernel tasks.
Penjadwalan
Linux mempunyai dua algoritma penjadwalan yaitu algoritma time-sharing untuk penjadwalan preemptive yang adil diantara sekian banyak proses. algoritma yang kedua didesain untuk tugas real-time dimana proritas mutlak lebih utama daripada keadilan mendapatkan suatu pelayanan.
Algoritma Penjadwalan
First In First Out Last In First Out Shortest Job Next Shortest Remaining Time Round Robin Multilevel Feedback
Sebuah Proses dapat memiliki tiga status utama, yaitu :
Penjadwalan proses (Status Proses)
1. Running : Status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi. 2. Waiting : Status yang dimiliki pada saat proses menunggu suatu sebuah event seperti proses I/O. 3. Ready : Status yang dimiliki pada saat proses siap untuk dieksekusi oleh prosesor.
Penjadwalan proses (Status Proses) RDY (Ready), RUN (Running), W (Wait).
Terdapat dua status tambahan, yaitu saat pembentukan dan terminasi:
Penjadwalan proses (Status Proses)
1. New : status yang dimiliki pada saat proses baru saja dibuat. 2. Terminated : status yang dimiliki pada saat proses telah selesai dieksekusi.
Hanya satu proses yang dapat berjalan pada prosesor mana pun pada satu waktu.
Penjadwalan proses (Status Proses)
Namun, banyak proses yang dapat berstatus Ready atau Waiting. Ada tiga kemungkinan bila sebuah proses memiliki status Running:
Jika program telah selesai dieksekusi maka status dari proses tersebut akan berubah menjadi terminated.
3 Kemungkinan proses memiliki status Running
Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis maka akan terjadi interrupt dan proses tersebut kini berstatus ready. Jika suatu event terjadi pada saat proses dieksekusi maka proses tersebut akan menunggu event tersebut selesai dan proses berstatus waiting.
Penciptaan proses (create a process). Penghancuran/terminasi process).
proses
(destroy
a
Penundaan proses (suspend a process). Pelanjutan kembali proses (resume a process).
Operasi Pada Proses
Pengubahan prioritas proses. Mem-block proses. Membangunkan proses. Menjadwalkan proses. Memungkinkan proses berkomunikasi dengan proses lain.
Masih dalam tahap inisiasi oleh prosedur. Meliputi alokasi memory utama untuk proses
Status New
Pengisian tabel proses
Pembuatan struktur data kendali menyimpan informasi dan status proses Belum siap untuk di eksekusi
untuk
Kondisi yang memicu proses new
Login ke sistem operasi Permintaaan eksekusi program Aplikasi yang menciptakan proses anak Penciptaan proses baru
Proses yang telah berhasil di inisiasi Antrian penjadwalan prosesor dengan cara menyisipkan proses baru ke dalam antrian Berisi referensi atau pointer ke struktur data kendali proses
Status Ready
Menandakan suatu proses siap berkompetisi untuk mendapatkan alokasi prosesor Scheduler adalah sistem operasi yang bertugas untuk memilih proses yang berada dalam proses ready
Proses menguasai prosesor sepenuhnya. Proses running memiliki tiga kemungkinan yaitu:
Status Running
1. Teminated, proses yang telah selesai
2. Ready, jika jatah waktu yang dialokasikan sudah habis 3. Blocked
Proses membutuhkan pembacaan data dari piranti I/O
Status Blocked/Waiti ng
Proses ini akan disisipkan pada penjadwalan peranti I/O atau event
antrian
Jika I/O yang di tunggu sudah selesai maka proses akan kembali ke antrian ready dan menunggu pemillihan oleh schedule
Proses tersebut sudah dihentikan eksekusinya Proses telah selesai secara normal Batas waktu total sudah terlewati Kekurang ruang memory
Status EXIT (Terminated)
Pelanggaran batas memory Pelanggaran proteksi berkas Kesalahan aritmatika
Waktu tunggu melebihi batas Terjadi kegagalan I/O Instruksi tidak benar Terjadi pemakaian instruksi yang tidak di izinkan