Anda di halaman 1dari 6

https://systemoperate.wordpress.

com/2015/03/09/manajemen-proses-pada-unix/

https://tugasportofolio.wordpress.com/2012/10/29/manajemen-proses-sistem-operasi-windows-7/

Manajemen Proses pada UNIX

Sebuah proses adalah konteks dasar dimana semua permintaan user dilayani sistem operasi. Agar
menjadi kompatibel dengan sistem UNIX lainnya, Linux harus menggunakan model proses yang sama
dengan sistem UNIX lainnya.

Prinsip dasar dari manajemen proses UNIX adalah memisahkan dua operasi untuk membuat proses dan
menjalankan program baru. Proses baru dibuat dengan fungsi fork(), sedangkan program baru dijalankan
setelah memanggil fungsi exec().

OS1

Model seperti ini memiliki kelebihan yaitu kesederhanaan dibanding harus menetapkan setiap detail dari
lingkungan program baru dalam system call yang menjalankan program tersebut. Program baru dengan
mudah berjalan dalam lingkungannya sendiri. Jika proses induk mengharapkan untuk memodifikasi
lingkungan dimana program baru berjalan, dia bisa melakukan fork dan tetap menjalankan program asli
dalam proses anak. Membuat beberapa system call membutuhkan modifikasi proses anak sebelum
akhirnya mengeksekusi program baru. Setiap proses memiliki identitas proses yang isinya berupa:

1. PID. PIDs digunakan untuk menetapkan proses ke sistem operasi ketika sebuah aplikasi membuat
System call untuk sinyal, modifikasi, atau menunggu proses lain.

2. Credentials . Setiap proses harus memiliki hubungan antara user ID dengan group ID yang menentukan
hak sebuah proses untuk mengakses sumberdaya sistem dan file.

3. Personality . Dapat sedikit memodifikasi semantics of system calls.

Ada beberapa tipe proses dalam Linux . Setiap proses mempunyai kekhususan dan atribut tersendiri.:
1. Interactive processes: Proses yang dimulai (dan dikontrol oleh) shell. Bisa tampak diluar (foreground)
ataupun hanya didalam (background).

2. Batch processes: Proses yang tidak berhubungan dengan terminal tetapi menunggu untuk dieksekusi
secara sequent.

3. Daemon processes: Proses yang dimulai ketika Linux booting dan berjalan secara background

Linux memanfaatkan virtual memori sehingga kerja sistem dapat lebih efisien. Manajemen memori Linux
menyediakan:

1. Ruang alamat besar

Ruang alamat dapat lebih besar dibanding memori fisik yang tersedia

2. Proteksi

Tiap proses di sistem mempunyai ruang alamat maya tersendiri. Ruang-ruang alamat

maya itu sepenuhnya terpisah. Proses yang berjalan di satu aplikasi tidak dapat

mengganggu proses lainnya.

3. Pemetaan memori

Dilakukan pemetaan antara memori maya ke memori fisik yang tersedia.

4. Memori maya bersama (shared virtual memory)

Memori maya bersama ini untuk menghemat ruang memori, seperti pustaka dinamis

bagi beberapa proses.

KESIMPULAN

Linux merupakan tiruan dari UNIX. Linux memiliki kompatibilitas tinggi terhadap UNIX, bahkan GNU
utilitasnya memiliki kemampuan yang lebih baik dibandingkan milik UNIX. Linux dirancang secara spesifik
untuk platform PC. Linux merupakan sistem operasi multitasking, multiuser, mendukung network secara
langsung, mendukung protected-mode.

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.

Anda mungkin juga menyukai