Proses
Proses
adalah sebuah program yang sedang dieksekusi oleh CPU, proses juga disebut
dengan terminolofy Unix sebagai sebuah job. Setiap kali menggunakan sebuah
utilitas system atau program aplikasi dari shell, satu atau lebih llchuld akan
dimuat oleh shell, sesuai dengan perintah yang diberikan, setiap kali intruksi
diberikan pada Linux Shell, karnel akan menciptakan sebuah proses-id, dan
karnel juga bias memusnahkan sebuah proses-id. Proses yang pertama kali
diciptakan di Linux adalah init. Setiap proses mempunyai PID atau Proses ID yang merupakan sebuah nomor
unik yang dapat digunakan untuk berinteraksi dengan proses pada system. Program
adalah Source dan binary hasil kompilasi.
· Stack adalah tempat
menyimpan sebuah parameter yang ada di fungsi dalam program, ketika program
membutuhkan sebuah parameter maka akan dicarikan ke stack. Contoh isisialisasi
matriks pada array yang melebihi batas yang ada. Maksimal yang penyimpanan
array, tergantung panjang alamat memori, atau jumlah bit. Uutuk linux memori
dibagi menjadi dua , 2GB untuk menjalankan kernel dan 2GB menjalankan sebuah
osnya, sedangkan untuk Windows 1GB untuk
menjalankan karnelnya dan 3GB untuk OS nya.
Heap
adalah memori yang dialokasikan secara dinamis untuk diproses selama waktu
berjalan, heap digunakan untuk menyimpan data . Contoh ketika fungsi rekursif
berjalan terus sampai menghabiskan space memori yang ada.
·
Data adalah berisi
variable data secara global.
·
Text adalah sebuah proses
dan juga dikenal sebagai text section
Atribute pada Proses
1 Process
Id: memberikan sebuah id kepada program yang tidak
sama.
2 Process
State: status dari proses, apakahproses tersebut sedang dieksekusi,
suspend, block atau sudah release.
1 CPU
registers: disimpan pada cpu, ketika computer dihidupkan memori akan mengisi di
counter
2 Accounts
information: urusan dengan user
3 I/O
status information: untuk mengetahui sebuah io yang sedang digunakan, statusnya
block, atau unblock
4 CPU
scheduling information: ada satu pengenal yang berisi dengan prositas, yang
akan di eksekusi pada cpu, semakin kecil maka akan penting dan di proritaskan
sedangkan semakin besar id maka eksekusi harus menunggu.
Operasi-operasi pada
proses :
·
Create a process membuat
sebuah proses baru
·
Ready digunakan untuk
mengeksekusi proses yang sudah ready.
·
Run digunakan untuk menjalankan proses dalam CPU (hanya satu
proses, dan di proses dalam satu prosesor)
·
Wait menunggu proses
untuk permintaan I/O
·
Complate, proses yang
sudah berhasil di jalankan
·
Supsened ready saat
antrian sudah penuh, beberapa proses akan di pindahkan dalam posisi ready
·
Supsened Block saat
antrian penuh akan di block.
Contex Switching
Context
switch adalah komputasi proses untuk menyimpan dan memulihkan keadaan ( konteks
) dari sebuah CPU sehingga eksekusi yang dapat dilanjutkan dari titik yang sama
di lain waktu. Hal ini memungkinkan beberapa proses untuk berbagi satu
CPU. Context switch adalah fitur penting sebagai multitasking sistem
operasi . Ada tiga situasi di mana sebuah context switch perlu terjadi, yaitu :
1. Mutitasking
: Paling sering, dalam beberapa penjadwalan skema, satu proses perlu
diaktifkan keluar dari CPU sehingga proses lain dapat berjalan. Dalam
preemptive multitasking sistem operasi, scheduler memungkinkan setiap tugas
untuk menjalankan untuk beberapa waktu tertentu, disebut sebagai irisan
waktu. Jika suatu proses tidak sukarela hasil CPU (misalnya, dengan
melakukan I / O operasi), timer kebakaran mengganggu, dan jadwal sistem operasi
proses lain untuk eksekusi sebagai gantinya.Hal ini memastikan bahwa CPU tidak
dapat dimonopoli oleh satu aplikasi prosesor-intensif.
2. Penanganan
Interrup : Ini berarti bahwa jika permintaan CPU data dari disk, misalnya,
tidak perlu sibuk-menunggu sampai selesai membaca, ia dapat mengeluarkan
permintaan tersebut dan melanjutkan dengan beberapa eksekusi lain, ketika
membaca selesai, CPU dapat terganggu dan disajikan dengan membaca. Untuk
menyela, sebuah program disebut interrupt handler terinstal, dan itu adalah
interrupt handler yang menangani interrupt dari disk.
3. User
dan Kernel Mode Switching : Ketika transisi antara mode pengguna dan mode
kernel diperlukan dalam suatu sistem operasi, sebuah context switch tidak
diperlukan, sebuah transisi mode tidak dengan sendirinya sebuah context
switch. Namun, tergantung pada sistem operasi, sebuah context switch juga
dapat terjadi pada saat ini.
Context Switch vs Mode Switch
Sebuah
Mode Switch terjadi ketika level yang tinggi pada CPU berubah, misalnya ketika
pemangilan sebuah system terjadi kesalahan, karnel bekerja pada posisi level
yang istimewa dari pada pengguna.
CPU Bound vs I/O Bound Processes:
Proses
pada CPU Bound membutuhkan lebih banyak waktu dalam keadaan berjalan, I/O Bound
Proses banyak membutuhkan waktu dan waktu CPU lebih sedikit, dan IO Bound lebih
banyak memproses banyak waktu dalam status menunggu di eksekusi.
Sumber : Geeksforgeeks
Sumber : Geeksforgeeks
0 komentar:
Post a Comment