Pertemuan 4 Sistem Operasi

Sistem Operasi (Pertemuan 4)

Session 7

Threads

  • Thread memungkinkan beberapa eksekusi berlangsung dalam lingkungan proses yang sama.
  • Proses Ringan karena benang memiliki beberapa sifat dari proses.
  • Multithreading memungkinkan beberapa thread dalam proses yang sama.

 

Benefit of Threads

  • Menggunakan sedikit waktu untuk mengakhiri thread dari proses.
  • Menggunakan sedikit waktu untuk beralih di antara dua thread dalam proses yang sama.
  • Sejak thread dalam memori yang sama berbagi proses dan file, mereka membawa sedikit waktu untuk membuat thread baru dari suatu proses.
  • Dapat berkomunikasi satu sama lain tanpa melibatkan kernel.

 

Thread State

Spawn:

  • Biasanya, ketika sebuah proses baru di spawn, thread untuk proses yang juga di spawn.
  • Thread dalam proses dapat spawn thread lain dalam proses yang sama, memberikan pointer instruksi dan argumen untuk thread baru. Thread baru disediakan dengan konteks mendaftar dan tumpukan ruang sendiri dan ditempatkan pada antrian yang siap.

Block:

  • Ketika thread perlu menunggu untuk sebuah acara, itu akan memblokir (menyimpan register pengguna, program counter, dan tumpukan pointer).
  • Prosesor mungkin sekarang beralih ke eksekusi benang siap lain yang sama atau proses yang berbeda.

Unblock:

  • Ketika acara yang thread diblokir terjadi, benang tersebut akan dipindahkan ke antrian Siap.

Finish:

  • Ketika thread selesai, konteks register dan tumpukan yang deallocated.

 

Session 8

Setting Thread Attributes

Beberapa sifat:

  • Contention Scope
    • Digunakan untuk mengatur properti penjadwalan baik di dalam proses atau pada sistem global.
  • Stack Size & Stack Alamat
    • Memungkinkan programmer untuk mengatur seberapa besar tumpukan harus dan di mana dalam memori itu harus.
  • Detach State
    • Anda dapat membuat sebuah thread sebagai terpisah vs joinable.
  • Jadwal Kebijakan & jadwal Parameter.
    • Jika sistem operasi Anda mendukungnya Anda dapat menguraikan apa penjadwalan yang harus dilakukan dalam proses antara Proses Ringan (LEP ini). Anda bahkan dapat memberikan parameter seperti prioritas.

Detached Threads

  • Sebuah thread terpisah adalah salah satu yang tidak dilayani oleh thread lain.
  • Ketika thread dihentikan, maka secara otomatis akan direklamasi oleh sistem operasi.

Terminating Thread

  • pthread_exit ()
    • Fungsi mengambil pointer ke data yang yang dikembalikan ketika thread bergabung.

When to Use Thread?

  • Thread yang paling cocok untuk program yang membutuhkan untuk melakukan hal-hal secara bersamaan atau memiliki sejumlah tugas yang dapat diselesaikan secara paralel untuk menghasilkan hasil.
  • Ketika menulis program anda menggunakan benang Anda harus mengatur program menjadi tugas diskrit yang dapat dijalankan secara bersamaan.
  • Contoh:
    • Masalah grafis komputer misalnya Ray tracing.
    • Manipulasi matriks.

Jason Rahardja

1701325271/BX01

www.binusmaya.binus.ac.id

www.skyconnectiva.com

 

Pertemuan 2 Sistem Operasi

Sistem Operasi (Pertemuan 2)

Session 3

Process vs Program

Program berisi instruksi untuk melakukan tugas.

Proses menjalankan program (eksekusi).

 

Process Characteristic

  • Identifier: A unique identifier (biasa disebut ID).
  • State: Apa yang terjadi saat itu, misalnya lagi ada yang dijalankan, maka itulah state nya.
  • Priority
  • Program counter: Alamat dari instruksi selanjutnya.
  • Context data: These are data that are present in registers in the processor while the process is executing.
  • Accounting information: Bisa termasuk jumlah dari processor time dan clock time yang digunakan, time limits, account numbers.

 

Process Creation

  • Masukkan proses ID.
  • Alokasi space untuk proses.
  • Inisialisasi process control block.
  • Atur linkages yang benar.
  • Perluas struktur data lainnya.

 

Process Termination

  • Normal Completion.
  • Time Limit Exceeded.
  • Memory Unavailable.
  • Protection Error.
  • Bounds Violation.

Process Table

  • Dimana lokasi prosesnya.
  • Atribut yang penting:
    • Process ID.
    • Process state.
    • Lokasi dalam memori.

 

Process Location

  • Proses berisi kumpulan dari program untuk di eksekusi.
  • Proses Control Block berisi kumpulan atribut.
  • Proses Image berisi kumpulan data, program, stack, dan atribut.

 

Modes of Execution

  • User Mode
    • Mode yang kurang punya hak istimewa.
    • Program user biasanya eksekusi mode ini.
  • System Mode, Control Mode, atau Kernel Mode
    • Mode yang punya hak istimewa lebih.
    • Kernel dari OS.

 

Session 4

 

Process Management System Call – fork()

  • Buat proses baru (child).
  • Parent dan children di eksekusi berbarengan.
  • Setiap proses bisa fork proses lain jadi membuat hirarki proses.
  • Sebuah proses bisa memilih untuk menunggu child atau terminate.

 

Fork()

  • Return 0 bila
  • Return -1 bila tidak berhasil.
  • Saat fork() dieksekusi, akan ada dua copy address space yang identik.
  • Oleh karena itu parent dan child berjalan masing-masing.
  • Urutan eksekusi akan berbeda di platform yang berbeda pula, di Ubuntu Linux (1-2-3-4) dari child lalu kembali lagi ke parent, di Solaris (1-3-4-2) parent lalu ke child.
  • Fork() dijalankan sekali tapi akan return dua kali.

 

System()

  • Mengeksekusi perintah dari dalam program.
  • Kebanyakan jika perintah itu telah diketik ke shell.
  • Menciptakan subproses menjalankan standar Bourne shell.

 

Other System Calls

  • exit()
    • Mengakhiri proses normal.
    • Unblocks orang tua menunggu.
  • wait()
    • Digunakan oleh parents.
    • Menunggu child untuk menyelesaikan eksekusi.
  • getpid ()
    • Mengembalikan identifier dari proses panggilan.
  • getppid ()
    • Mengembalikan identifier

 


 

Jason Rahardja

1701325271/BX01

www.binusmaya.binus.ac.id

www.skyconnectiva.com