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 :
- Interactive : Proses yang
diprakarsai oleh sebuah shell dan berjalan dalam foreground dan
background. seperti : terminal, software running, dll.
- 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.
- 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.
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
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
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.
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:
1. Memulai menggunakan perintah ps
Ketikkan perintah berikut untuk menampilkan semua prosess yang sedang berjalan
ps -aux | less
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
Atau gunakan
perintah berikut
ps -e
3. Melihat
semua proses yang berjalan kecuali root
4.Menampilkan
proses yang sedang dijalankan oleh user tertentu
5. Menampilkan proses yang sedang
berjalan dalam bentuk bagan
pstree
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 :
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 :
- Proses induk
- 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;
- Pada lingkungan batch,
sebagai tanggapan atas pemberian suatu kerja (job)
- 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