MANAJEMEN PROSES SISTEM OPERASI Windows 7

DEFINISI PROSES
Proses adalah sebuah program yang sedang dieksekusi. Sedangkan program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Sebuah proses membutuhkan sejumlah sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, alamat memori, berkas-berkas, dan perangkat-perangkat I/O. Sistem operasi mengalokasikan sumber daya-sumber daya tersebut saat proses itu diciptakan atau sedang diproses/dijalankan. Ketika proses tersebut berhenti dijalankan, sistem operasi akan mengambil kembali semua sumber daya agar bisa digunakan kembali oleh proses lainnya.

Penjadwalan pada Windows 7

Sistem operasi bertugas untuk melakukan manajemen proses. Sebagian besar pekerjaan dari sistem operasi  berhubungan  dengan  proses.  Sejak  penciptaan  hingga  penjadwalan  proses,  merupakan tanggung jawab dari sistem operasi.

Sistem  operasi  modern(saat  sekarang)  sudah  mendukung  adanya  multitasking  dan  multithreading. Windows 7 merupakan salah satu sistem operasi yang mendukung sistem multitasking. Setiap proses dalam windows memiliki minimal satu buah thread didalamnya. Bagian pertama akan menjelaskan thread secara umum dan pada bagian kedua akan dijelaskan pembuatan, penjadwalan dan sinkronisasi thread pada windows 7.

DEFINISI THREADS

Threads  dapat  didefenisikan  sebagai  suatu  entitas  dari  process,  yang  mana  waktu  eksekusinya dijadwalkan oleh sistem operasi. Komponen utama threads adalah thread ID, program counter, set register dan stack.  Jenis threads ada 2 yaitu : Kernel Threads dan User Threads. Kernel threads merupakan threads yang dicipatakan dan berjalan pada kernel level. Penjadwalan dan manajemen dilakukan oleh kernel pada kernel level. User  threads  merupakan  threads  yang  berjalan  pada  user  level.  Pengaturan  dan  penjadwalan  dari threads ini sepenuhnya dilakukan pada user level tanpa campur tangan dari kernel level.

THREADS WINDOWS 7

Pada bagian ini dibahas bagaimana implementasi, penjadwalan dan sikronisasi threads pada sistem operasi Windows 7. Model yang digunakan oleh windows 7 adalah one-to-one model dan mengimplementasi Win32 API dan mengalami sedikit perubahan penyempurnaan agar dapat mengeksekusi proses dengan lebih efektif dan efisien.

PENJADWALAN THREADS pada WINDOWS 7

Jumlah thread yang dibuat oleh process dapat lebih dari satu. Thread – thread yang dibuat oleh process harus dapat dijalankan sesuai dengan kebutuhan process tersebut. Tugas sistem operasi untuk mengatur dan melakukan penjadwalan agar thread – thread yang dibutuhkan mendapat waktu yang cukup untuk dieksekusi oleh CPU. Windows 7 dalam  melakukan  penjadwalan  thread  memakai  pendekat Hal ini dimaksudkan untuk memenuhi persyaratan desain berikut untuk sistem multimode:

1. Memberikan preferensi untuk pekerjaan pendek.

2. Memberikan preferensi ke I / O proses terikat.

3. Cepat menetapkan sifat proses dan jadwal proses yang sesuai.

Beberapa FIFO antrian yang digunakan dan operasi adalah sebagai berikut:

1. Sebuah proses baru diposisikan pada akhir antrian FIFO tingkat atas.

2. Pada tahap beberapa proses mencapai kepala antrian dan diberikan CPU.

3. Jika proses ini selesai ia meninggalkan sistem.

4. Jika proses sukarela relinquishes kontrol ia meninggalkan jaringan antrian, dan ketika proses menjadi siap kembali memasuki sistem pada tingkat antrian yang sama.

5. Jika proses menggunakan semua waktu kuantum, itu adalah pra-empted dan diposisikan pada akhir antrian tingkat berikutnya yang lebih rendah.

6. Ini akan berlanjut sampai proses selesai atau mencapai antrian tingkat dasar.

* Pada tingkat dasar antrian proses beredar di mode round robin sampai mereka menyelesaikan dan meninggalkan sistem.

* Opsional, jika blok proses untuk I / O, itu ‘dipromosikan’ satu tingkat, dan ditempatkan pada akhir antrian tertinggi berikutnya. Hal ini memungkinkan I / O proses terikat untuk disukai oleh scheduler dan memungkinkan proses untuk ‘melarikan diri’ antrian tingkat dasar.

Windows memilih thread yang akan dijalankan berdasarkan prioritas dari thread tersebut. Secara default prioritas dari thread diturunkan dari process yang membuat thread tersebut. Windows menggunakan 32 level prioritas, dibagi menjadi 3 :

• 16 level real-time (16 – 31)

• 15 level variabel ( 1 – 15)

• 1 level sistem (0)

Meskipun secara default thread mewarisi prioritasnya dari process yang membuatnya, prioritas ini dapat diubah  dengan  memanggil  fungsi  SetThreadPriority.  Kernel  melakukan  perubahan  dan penyesuaian prioritas thread secara dinamis tergantung dari keadaan thread, CPU bound atau IO bound.

SINKRONISASI WINDOWS 7

Windows mengatur proses sinkronisasi pada kernel dengan menggunakan interupt mask. Ketika kernel mengakses data global, maka semua interupt yang mungkin akan mengakses data tersebut akan dihentikan. Pada sistem multiprocessor, digunakan spinlock untuk sinkronisasi thread pada kernel. Thread yang memegang spinlock akan bersifat nonpreemtive. Sinkronisasi diluar kernel, windows menyediakan dispatcher objects. Critical section, semaphore, event dan mutex termasuk mekanisme yang digunakan dalam dispatcher objects.

Dispatcher object memiliki 2 kemungkinan state yaitu signaled atau nonsignaled. Signaled menandakan object tersedia dan thread dapat menggunakan object tersebut. Nonsignaled, object tidak tersedia dan thread tidak dapat menggunakan object tersebut. Proses ketika thread akan mengakses shared data, thread akan mengecek state dari dispatcher object.

Jika dispatcher object berada pada nonsignaled state, state dari thread akan menjadi waiting state danthread dimasukkan dalam antrian. Ketika state dari dispatcher object berubah menjadi signaled state, dispatcher object akan melihat antrian. Jika ada thread yang menunggu untuk menggunakan object tersebut, maka state dari thread tersebut dirubah menjadi ready state.

KESIMPULAN

Windows 7 dalam  mengimplementasikan  thread  memakai  model  One-to-One.  Sehingga  windows mendukung multithreading. Win32 API adalah pustaka thread yang digunakan oleh windows.

Struktur data utama dalam thread windows : ETHREAD (executive thread block), KTHREAD (kernel thread block) yang keduanya berada pada kernel-level dan TEB (thread environment block) yang berada pada user-level. Penjadwalan threads pada windows bersifat preemtive dan berbasis prioritas. Thread dengan prioritas tinggi dapat menginterupsi thread dengan prioritas lebih rendah. Windows menggunakan interupt mask pada sinkronisasi kernel dan spinlock pada sistem multiprocessor.

About tugasportofolio

nothing special..

Posted on 29/10/2012, in berkas tugas and tagged , , , , , , . Bookmark the permalink. Leave a comment.

Leave a comment