Ads 468x60px

welcome

welcome

welcome

welcome

welcome

Minggu, 01 Juli 2012

Perbedaan Manajemen Proses Linux/Unix Vs Windows

Perbedaan Manajemen Proses Linux/Unix Vs Windows

Linux/Unix :

Tipe-tipe Proses dalam Linux/Unix

Tipe-tipe proses dalam Linux, dibagi ke dalam 3 bagian, yaitu :

  1. Interactive : Proses yang diprakarsai oleh sebuah shell dan berjalan dalam foreground dan background. seperti : terminal, software running, dll.
  2. Batch        : Sebuah seri dari proses-proses yang dijadwalkan untuk dieksekusi pada suatu waktu tertentu, proses batch ini juga tidak berhubungan dengan terminal, tapi menunggu dieksekusi secara sekuensial.
  3. Daemon    : Proses yang diinisialisasi saat booting  untuk membentuk suatu fungsi-fungsi sistem yang dibutuhkan, bila tidak ada request maka akan berada pada keadaan idle, seperti : LPD, NFS, dan DNS.

IDENTITAS PROSES

Berikut adalah beberapa identitas dari Proses yang ada di Linux :

1. PID ( Proccess ID )
 adalah pengenalan unik suatu proses, dimana digunakan untuk menentukan proses-proses mana yang di bawa saat suatu aplikasi dijalankan atau melakukan proses pengiriman signal, mengubah, dan menunggu proses lainnya. PID sendiri  merupakan bilangan 32 bit yang dibatasi oleh Linux dari range 0-32767 untuk menjamin kompatibilitas dengan UNIX tradisional.

2. Credentials ( Mandat )
adalah Pengaturan akses yang dipengaruhi oleh User ID dan Group ID. Jadi kita dapat  mengatur hak akses atau Credetials setiap user, group, dll.
3. Personality
        adalah sebuah hal yang cukup jarang ditemukan dalam sistem UNIX, namun sangat berpengaruh dalam proses system call dan pengiriman signal dari suatu aplikasi.

Status Proses yang dikenali dalam Linux

1. Task Running             : Proses yang siap untuk dieksekusi CPU
2. Task Interruptable      : Proses yang menunggu sebuah kondisi. Interupsi, Sinyal dan
                                          aktifitas lain akan membangunkan proses.
3. Task Uninterruptable : Proses yang sedang sleep, dan tidak dapat di interrupt oleh signal.
4. Task Stopped              : Proses yang dihentikan
5. Task Zombie               : Proses telah berhenti, namun masih memiliki struktur data di
                                          task_struct di task vektor dan masih memegang sumber daya yang
                                          tidak digunakan lagi.


PERINTAH PS
Perintah atau command ps (process status) di gunakan untuk menampilkan informasi proses yang sedang berjalan termasuk nomor PID (Process Identification Number) dari proses tersebut. Proses atau biasa disebut task akan berjalan jika ada sebuah aplikasi yang sedang dijalankan, setiap proses yang berjalan oleh system diberi nomor PID yang unik.

Syntak dasar dari perintah ps adalah
ps [option]
Jika anda menggunakan perintah ps tanpa diikuti option apapun, maka akan ditampilkan output standart dari perintah ps tersebut yang terdiri dari PID, TTY, TIME, dan CMD
contoh:
A description...






1.    Memulai menggunakan perintah ps

Ketikkan perintah berikut untuk menampilkan semua prosess yang sedang berjalan
ps -aux | less


A description...



















Contoh
option -a akan menampilkan semua user yang sedang menjalankan proses, option -u berfungsi untuk menampilkan semua proses ylain yang sedang berjalan, option -x berfungsi untuk menampilkan proses yang tidak dikontrol oleh terminal (tty) seperti daemon yang dijalankan saat booting.






2. Menampilkan semua proses yang sedang berjalan pada sistem
A description...
























Atau gunakan perintah berikut
ps -e
3. Melihat semua proses yang berjalan kecuali root
A description...
















































4.Menampilkan proses yang sedang dijalankan oleh user tertentu
A description...







































5. Menampilkan proses yang sedang berjalan dalam bentuk bagan
pstree
A description...contoh:





































PERINTAH KILL
    Perintah kill adalah salah satu perintah daasar Linux yang digunakan untuk menghentikan atau mematikan proses yang sedang berjalan pada Sistem Operasi Linux / UNIX. perintah ini sangat penting karena dengan memahami perintah ini kita bisa mengetahui mana proses yang mengganggu performa, tidak dibutuhkan, dll.

Contoh perintah Kill :
$ kill <sinyal> <pid>
PID adalah nomor proses yang akan di hentikan. Tidak tahu PID proses mana yang akan dihentikan? Cobalah bereksperimen dengan perintah:
ps aux | grep <myusername>
                      
PENJADWALAN PROSES LINUX
Linux menggunakan dua algoritma penjadwalan proses, yaitu:
1.      Algoritma time-sharing untuk preemptive scheduling wajar/ adil (fairness) di antara banyak proses
2.      Algoritma real-time untuk tugas-tugas di mana prioritas absolut lebih penting daripada kewajaran (fairness)
Kelas penjadwal proses mendefinisikan algoritma mana yang digunakan.
Untuk proses time-sharing, Linux menggunakan algoritma berdasarkan nilai credit, prioritas.
Ø  Aturan credit
Credit := (credit/2)+priority
Faktor baik di dalam history proses maupun prioritasnya
Ø  Sistem credit ini secara otomatis memprioritaskan interaktif atau proses I/O bound
Untuk kelas penjadwalan real-time, Linux menerapkan FCFS dan round-robin; di kedua kasus, setiap proses memiliki prioritas sebagai tambahan atas kelas penjadwalnya.
Ø  Penjadwal menjalankan proses dengan prioritas tertinggi; untuk proses dengan prioritas sama, penjadwal menjalankan proses yang menunggu paling lama
Ø  Proses FIFO terus berjalan hingga mereka selesai atau di-blok
Ø  Proses round-robin akan dipaksa (preempted) sementara dan dipindahkan ke akhir antrian, sehingga proses round-robin dari prioritas yang sama secara otomatis membagi waktu di antara mereka






Windows :
TAHAPAN PROSES DALAM SISTEM OPERASI WINDOWS
Windows adalah salah satu sistem operasi yang mempunyai banyak keunggulan dalam menjalankan suatu eksekusinya. Didalam sistem operasi ini, terdapat proses-proses yang sangat valid dan selalu berhubungan satu sama lain. Dibawah ini akan dijelaskan beberapa penjelasan tentang proses pada sistem operasi windows.
Didalam window, prosesnya mempunyai beberapa elemen dasar untuk menjalankan proses tersebut, yaitu :

-          Identifier
-          State
-          Priority
-          Program counter
-          Memory pointers
-          Context data
-          I/O status information
-          Accounting information

Dalam kenyataanya, proses banyak mengalami gangguan dalam menjalankan tugasnya. Oleh karena itu, ada PCB (Proses Control Block) untuk membantu dan memberikan dukungan kepada proses itu.
Trace adalah dereta intruksi yang dieksekusi proses dalam menjalankan tugasnya. Dispatcher merupakan suatu program kecil yang men-switch processor dari satu proses ke proses lainnya. Dibawah ini adalah gambaran umum suatu main memory mengpart addres-addresnya untuk melakukan beberapa proses.
Gambar Alir Proses
 









Gambar Diagram Status
Biasanya, dalam menjalankan tuganya, proses berada pada salah satu dua status yaitu running atau not running. Selain itu, terdapat suatu antrian untuk mendapatkan eksekusi yang akan dijalankan. Dibawah ini adalah diagram antrian suatu proses.
Keterangan : Proses dipindahkan oleh dispatcher dari SO ke CPU kemudian kembali ke antrian (Queue) sampai tugas tersebut selesai (lengkap) dan seterusnya.
Sistem operasi windows memperbolehkan proses berjalan menghasilkan proses lagi. Aksi ini disebut Proses swapning dengan macam :
  1. Proses induk
  2. Proses anak
Dalam kenyataanya, windows melakukan beberapa eksekusi yang eksekusi itu masih menghasilkan beberapa proses yang berbeda. Proses ini haruslah memberikan sebuah intruksi kepada prose parent agar perses parent atau induk dapat menjalankan proses aslinya.
Model Proses Lima Status
Gambar Model Lima Status Pada Windows
Keterangan: Prosesor lebih cepat dibandngkan I/O, sehingga semua proses dapat menunggu I/O. Dalam gmabar diatas, status blocked berubah menjadi suspend ketika proses dialihkan ke disk. Dan penjelasanya ada pada gambar dibawah ini :
Gambar Satu Status Suspend
Gambar Dua Status Suspend













Setelah tahap ini,  proses memberikan beberapa intruksi pada beberapa temenya yaitu penjelasan pada tabel kontrol sistem operasi windows dibawah ini :








Gambar Tabel Kontrol Dalam Proses Windows
Didalam proses sistem operasi windows, terdapat switc yaitu :memungkinkan berpindahnya proses. Suatu process switch dapat terjadi kapapun SO memperolehkontrol dari proses yang sedang (currently) berjalan. Event yang mungkin memberikan SO kontrol adalah :
Langkah-langkah dalam process switch:
1. Simpan context dari processor termasuk program counter (PC) & register lain
2. Update process control block (PCB) dariproses yang saat terkini dalam status Running
3.Pindahkan PCB ke antrian yang tepat –ready; blocked; ready/suspend
4. Pilih proses lain untuk dieksekusi
5. Update PCB dari proses terpilih
6. Update struktur data memorymanagement
7. Restore (kembalikan) context dari proses terpilih
  • Jelaskan alasan pembuatan & penghentian suatu proses!
Pembuatan proses:
Alasan Pembuatan & Penghentian Proses
Pembuatan Proses:
Sistem Operasi membangun suatu struktur data untuk mengelola proses yang akan dijalankan dalam program. Biasanya, semua proses dalam komputer dibuat oleh Sistem Operasi, Tetapi Sistem Operasi juga membolehkan proses yang sedang berjalan membuat proses lain. Aksi ini disubut process spawning
– Proses  induk  (parent)  adalah  proses yang bisa membuat proses baru
– Proses anak (child) merupakan proses baru
Penyebab terjadinya pembuatan suatu proses baru yaitu;
  1. Pada lingkungan batch, sebagai tanggapan atas pemberian suatu kerja (job)
  2. Pada lingkungan interaktif, ketika pemakai baru berusaha logon
Langkah-langkah dalam pembuatan proses, antara lain :
  • Memberi identitas (nama) pada proses yang dibuat.
  • Menyisipkan proses pada list proses atau tabel proses.
Penghentian Proses
Suatu proses akan berhenti jika telah menyelesaikan pernyataan terakhir dan meminta pada sistem operasi untuk menghapusnya dengan menggunakan system call exit. Proses mengembalikan semua data (output) ke parent proses melalui system call wait. Kemudian proses akan dihapus dari list atau tabel system dilanjutkan dengan menghapus PCB.
Penghapusan proses ini akan menjadi sangat kompleks jika ternyata proses yang akan dihentikan tersebut membuat proses-proses yang lain. Pada beberapa system proses-proses anak akan dihentikan secara otomatis jika proses induknya berhenti. Namun ada beberapa sistem yang menganggap bahwa proses anak ini terpisah dengan induknya, sehingga proses anak tidak ikut dihentikan secara otomatis pada saat proses induk dihentikan
Dalam kenyataanya, program yang berjalan tidak selalu berjalan dengan lancar, tetapi ada kesalahan-kesalahan yang menyebabkan program itu akan diberhentikan. Harus ada cara  yang dapat menandakan bahwa suatu proses selesai.
Indikasi ini dapat berupa:
– Instruksi HALT membangkitkan suatu interupsi alert  untuk SO
– Aksi pengguna (seperti log off & keluar dari suatu aplikasi)
– Suatu kesalahan atau error
– Dihentikan oleh proses induk

0 komentar:

Posting Komentar

About