Selasa, 06 Oktober 2015

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

                Process Control Information
        Scheduling and State Information

 Five State Process Model




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

www.skyconnectiva.com



0 komentar :

Posting Komentar