Senin, 19 Februari 2018

Proses Pada Sistem Operasi



Proses pada Sistem Operasi

Nama               : I Nyoman Krisna Pranata
NIM                : 1605551114
Matakuliah      : Network Operating System
Dosen              : I Putu Agus Eka Pratama, S.T.,M.T.
TEKNOLOGI INFORMASI/TEKNIK/UNIVERSITAS UDAYANA

Proses dalam Sistem Operasi


Pada artikel kali ini saya akan membahas mengenai proses pada sistem operasi, disini saya akan membahas 4 hal yang perlu kita ketahui mengenai proses.

  1. Konsep dasar dan defisini dari proses
  2. Keadaan/status Proses
  3. Process Control Block
  4. Manajemen Proses

Konsep dasar dan defisini dari proses

Proses adalah unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan  oleh sistem operasi. Proses juga merupakan program yang sedang dalam kondisi dijalankan (eksekusi). Proses bukanlah suatu kode program. Proses menggambarkan aktifitas yang sedang terjadi pada sistem operasi (oleh aplikasi), disertai dengan nilai dari program counter dan isi dari daftar prosesor (processor’s register). Suatu proses umumnya termasuk process stack, berisi data temporer (parameter metoda, address yang kembali, variabel lokal) dan sebuah data section, yang berisikan variabel global.

Proses bukanlah Kode Program

Proses dan program itu berbeda, program merupakan sebuah entitas pasif. Program memerlukan Program Counter untuk menjalankan instruksi selanjutnya yang akan dijalankan, didukung dengan seperangkat sumber daya (resource). .Dua proses dapat dihubungkan dengan program yang sama, di mana program tersebut dianggap dua urutan eksekusi yang berbeda. Contoh : proses x dan proses y dapat muncul dari dijalankan program 1, baik oleh 1 pengguna maupun n pengguna.

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: 
1    1. New
         Sebelum kita menjalankan suatu program, sistem operasi akan menyiapkan beberapa sumber daya yang akan dibutuhkan untuk menjalankan program tersebut, jadi status new ini merupakan status yang dimana sedang dikerjakan atau dibuat.
2. Ready
            Setelah kita menjalankan suatu program, maka status new berubah menjadi status ready dimana proses siap dijalankan atau dieksekusi, tetapi dalam hal ini CPU belum tersedia karena sedang mengerjakan proses lain
3    3. Waiting
        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, dan sebagainya.
4    4. Running
        Status Running yaitu status dimana proses dieksekusi. Pada status ini CPU sedang mengeksekusi instruksi – instruksi pada proses.
5    5. Terminated
        Status Terminated yaitu status dimana proses diakhiri, banyak hal yang menyebabkan suatu proses berhenti, status berhenti bisa juga dikarenakan waktu yang sudah diberikan sudah berakhir, terjadi kesalahan dalam perhitungan, terjadi kegagalan dalam input / output, atau proses induknya berakhir.

keadaan didalam suatu proses sistem operasi

      Gambar diatas merupakan diagaram dari keadaan/state suatu proses. Sebuah proses menjadi Waiting karena proses tersebut menunggu suatu kejadian tertentu seperti selesainya operasi I/O, misalnya perekaman data ke disk karena pada saat perekaman dilakukan proses sedang tidak menggunakan CPU maka scheduler segera mengalokasikan CPU ke proses lain yang telah Ready.  Apabila kejadian yang ditunggu telah selesai maka proses dipindahkan kembali ke antrian Ready dan siap dijadwalkan.
       Sebuah proses dari keadaan Running dapat menjadi Ready kembali karena diinterupsi oleh proses lain. Interupsi dapat disebabkan karena jatah waktu yang diberikan CPU ke proses tersebut telah habis sementara proses masih memerlukan sejumlah waktu untuk selesai. Jatah waktu yang diberikan sering disebut sebagai quantum time (time slice) yang dapat berkisar antara 1 hingga 100 milidetik. Interupsi suatu proses terkait erat dengan strategi penjadwalan proses yang digunakan sistem operasi yaitu strategi preemptive dimana suatu proses dapat saja disela oleh proses lain pada saat Running.

Process Control Block

Setiap Proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block). PCB ( Process Control Block) ini sendiri adalah informasi – informasi lain yang diperlukan sebuah sistem operasi untuk mengendalikan dan mengkoordinasikan beragam proses yang aktif. Informasi – informasi tersebut merupakan sebuah tanda pengenal proses yang unik dan menjadi nomer identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Process Control Block ini hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses  yang satu dengan yang lain. Tiap proses digambarkan dalam sistem operasi oleh sebuah Process Control Block PCB - juga disebut sebuah control block. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk hal-hal dibawah ini:


  1. Status proses: status mungkin, new, ready, running, waiting, halted, dan juga banyak lagi.
  2.  Program counter: suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi untuk proses ini.
  3. CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer. Register  tersebut termasuk accumulator , indeks register, stack pointer , general-purposes register , ditambah code information pada kondisi apa pun. Besertaan dengan program counter, keadaaan/status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya.
  4.  Informasi managemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel page/halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi (lihat Bab Managemen memori).
  5.  Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun jumlah job atau proses, dan banyak lagi.
  6. Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini, suatu daftar berkas-berkas yang sedang diakses dan banyak lagi.

Manajemen Proses
Sistem operasi di dalam menangani proses, dapat melakukan manajemen proses, yang meliputi 9 hal :
1.      Penciptaan proses
2.      Penghancuran/terminasi proses
3.      Penundaan proses.
4.      Melanjutkan kembali proses.
5.      Mengubah prioritas proses.
6.      Memblok proses.
7.      Membangunkan proses.
8.      Menjadwalkan proses.
9.      Memungkinkan proses berkomunikasi dengan proses lain

Kali ini saya akan menampilkan manajemen proses pada linux dengan menggunakan command top dan htop pada linux. perintah top pada Linux ini fungsinya untuk monitoring proses di linux, atau mengecek proses-proses yang sedang berjalan pada linux. Contohnya yaitu, pada saat kita membuka firefox, dan  membuka aplikasi lain di linux. untuk mengecek di urutan mana aplikasi yang tadi kita buka sedang berjalan dan proses apa yang sedang dijalankan kita bisa mengeceknya dengan menggunakan perintah top. 

proses sistem operasi

Gambar diatas menunjukan tampilan dari top pada terminal, terdapat 6 baris pada gambar tersebut, yang pertama yaitu Row – Top, pada baris kedua yaitu task, pada baris ketiga yaitu CPU, pada baris ke empat dan lima yaitu Memory dan Swap, dan pada baris ke enam Process List.
  1. Row – Top (baris paling pertama) disini kita bisa melihat informasi berupa waktu saat ini, mesin berjalan, sesi user login, dan rata – rata beban sistem.
  2. Task, informasi pada task ini yaitu total proses yang sedang berjalan, proses yang sedang berjalan proses yang sleeping , dan proses yang berhenti.
  3. CPU dimana informasi yang kita dapat berupa, persentase pemakaian CPU untuk proses pengguna, persentase pemakaian CPU yang digunakan sistem, persentase proses CPU yang mendapat prioritas update, persentase CPU yang tidak terpakai, persentase CPU yang menunggu I/O, persentase CPU untuk service hardware, persentase CPU untuk service software, dan jumlah CPU yang menjalankan virtual lain.  
  4. Memory dan Swap informasi disini mengenai penggunaan memory dan swap. misalnya jumlah memory yang digunakan, memory bebas, cache dan lain – lain.
  5. Process List, Ini yang merupakan baris proses, disini kita bisa lihat proses apa saja yang berjalan
Htop adalah aplikasi yang interaktif untuk monitoring system secara real time di system berbasis Linux/Unix dan juga menghandel sebagai altrenatif command, htop disini biasanya bukan terinstall secara default pada linux jadi kita harus menginstallnya secara manual terlebih dahulu. Untuk menginstall pertama – tama kita harus membuka terminal dan mengetik kode seperti dibawah ini

Sudo apt-get install htop
Htop adalah salah satu tools dengan fitur dan UI yang bersahabat, yang mana tidak menampilkan command di atasnya, dan sekilas tentang htop adalah:
  1. Ketika menjalankan htop Anda dapat menscroll secara vertical untuk melihat semua list proses, dan scroll secara horizontal untuk melihat command lengkap.
  2. Htop dijalankan dengan sangat mudah dan cepat dari pada top, karena dia tidak menunggu untuk meload data ketika startup.
  3. Di htop Anda bisa menghentikan 'kill' lebih dari satu proses yang sedang berjalan tanpa harus memasukan PIDs.
  4. Di htop Anda tidak perlu memasukan nomor proses dan value prioritas untuk membetulkan proses.
  5. Menggunakan Mouse untuk memilih daftar item



Gambar diatas merupakan tampilan dari htop, dimana pada htop ini terdapat 3 pilihan disetiap bagian yaitu, header, dimana pada header ini kita bisa melihat CPU, Memory, Swap dan juga menampilkan, load average dan Up-time, daftar dari proses yang diawali CPU utilization, dan terdapat footer, pada bagian footer menampilkan help, setup, filter tree kill, nice, quit dan lainnya,



Referensi :
1. I Putu Agus Eka Pratama,“PPT Matakuliah Network Operating System Pertemuan 2 : Proses,”2018


2 komentar: