Process vs
Program
Program
- Berisi instruksi untuk melakukan tugas
Proses
- Pelaksanaan program
Process
characteristic
•
Identifier
•
State
•
Priority
•
Program counter
•
Memory pointers
•
Context data
•
I/O status information
•
Accounting information
Process
Creation
- Menetapkan identifier proses yang unik
- Mengalokasikan ruang untuk proses
- Menginisialisasi proses kontrol blok
- Mengatur hubungan yang tepat
- Buat dari memperluas struktur data lainnya
Process
termination
- penyelesaian yang normal
- Batas waktu terlampaui
- memori tidak tersedia
- pelanggaran Bounds
- error perlindungan
- kesalahan aritmatika
- waktu overrun
Process Table
• Dimana proses terletak
• Atribut yang diperlukan untuk manajemen
– Process ID
– Process state
– Location in memory
Process
Location
• Proses termasuk mengatur program yang akan dijalankan
- Lokasi Data untuk variabel lokal dan global
- Setiap konstanta didefinisikan
- Stack
• blok kontrol proses
- Koleksi atribut
• gambar Proses
- Koleksi program, data, stack, dan atribut
Process
Control Block
•
Process identification
–
Identifiers
•
Processor State Information
–
User-Visible Registers
•
Processor State Information
–
Control and Status Registers
•
Processor State Information
–
Stack Pointers
–
Scheduling and State Information
Cause of
Process Suspension
Process
Management System Call – fork()
• Menciptakan proses baru (anak)
• Induk dan anak-anak mengeksekusi secara bersamaan
• Setiap proses dapat garpu proses lain sehingga menciptakan hirarki proses
• Sebuah proses dapat memilih untuk menunggu anak untuk mengakhiri
fork()
- Returns -1 jika tidak berhasil
- Returns 0 pada anak
- Returns [angka positif, anak identifier (anak PID) pada induknya
fork() - notes
•
The fork() is called once but returns twice !
–
Return value in the child is 0
–
Return value in the parent is the child's PID
• implementasi saat ini tidak melakukan copy lengkap data orang tua, tumpukan dan tumpukan; teknik yang disebut copy on write (KK) yang digunakan untuk membuat salinan bagian dari memori dimodifikasi oleh salah proses dan wilayah memori bersama dengan orang tua dan anak dilindungi oleh kernel untuk read-only
• fork () sering diikuti dengan exec ()
system()
• Melaksanakan perintah dari dalam program
• Banyak sebagai jika perintah itu telah diketik ke shell
• Membuat sub proses menjalankan standar Bourne shell
• (/ bin / sh) dan tangan perintah ke shell bahwa untuk
• eksekusi; tunduk pada fitur, keterbatasan dan keamanan
• shell; pada kebanyakan sistem GNU / Linux, menunjuk untuk bash
exec() family system calls
• Memanggil salah satu exec () keluarga akan mengakhiri program yang sedang berjalan dan mulai mengeksekusi yang baru yang ditentukan dalam parameter exec dalam konteks proses yang ada.
• Proses id tidak berubah.
execv()
• Melaksanakan file, mengubah proses panggilan ke proses baru
• Setelah sukses eksekusi, tidak ada kembali ke proses memanggil
fork() and exec()
Other system calls
•
exit()
•
wait()
•
getpid()
•
getppid()
References
08.27
Admin




0 komentar :
Posting Komentar