Pages

Subscribe:

Ads 468x60px

.

Sabtu, 01 Oktober 2011

Konsep Manajemen Proses Pada Mac OS

Proses adalah sebuah program yang sedang dieksekusi. Sedangkan program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Di dalam sistem operasi, proses merupakan program yang dieksekusi dengan system resource yang terkait, yang mungkin juga fisik (seperti siklus prosessor dan memori) atau abstak (seperti proses membuka file atau nomor). Kernel menyediakan sebuah ilusi dari ekseskusi bersamaan dari resource schedule antara proses ready ke proses run. Pada system multiprosesor atau multicore, lebih dari satu proses dapat dijalankan secara bersamaan.

a.       Proses: dari awal Unix sampai Mac OS X
Proses abstraksi telah lama digunakan untuk menggambarkan berbagai aktifitas dalam suatu sistem computer. Pada awal Unix, program user dapat menjalankan sebuah proses atau bisa mewakili satu atau lebih arus kontrol dalam kernel misalnya, proses 0 menuju sched (),proses scheduler. Satu-satunya cara untuk membuat proses baru pada UNIX tradisional adalah melalui fork () system call , dan satu-satunya cara untuk menjalankan sebuah program baru dalam sebuah proses melalui exec () system call.

b.      Mac OS X Execution
Kode dapat dijalankan dibeberapa lingkungan Mac OS. Dimana pada setiap lingkungan dibedakan berdasarkan pada salah satu atau lebih hal berikut : arsitektur mesin, format eksekusi, system mode (user atau kernel), beberapa aturan dan sebagainya. Masing masing lingkungan (environment) memiliki eksekusi yang berbeda. Berikut ini beberapa ruang lingkupnya :
ü  BSD, Mach, dan I / O Kit bagian dari kernel.
ü  BSD user-space environment.
ü  Carbon environment
ü  Classic environment
ü  Cocoa environment
ü  Java runtime environment
ü  Dashboard environment untuk menjalankan widget berbasis JavaScript
ü  Rosetta binary translation environment memungkinkan menjalankan executable PowerPC untuk berjalan di komputer Macintosh berbasis x86

c.       Scheduling
Selain proteksi memori (tidak dimiliki pada versi sebelum mac os x), Mac OS X memberikan kelebihan dari versi sebelumnya yaitu preemptive multitasking. Kestabilan di versi OS 9 bergantung kepada kerjasama multitasking (applikasi yang bekerja sama pada time share prosessor multiplexing). Jika satu atau lebih aplikasi tidak dapat “bekerjasama”, kemungkinan semua proses menjadi tidak responsif karena tidak mendapatkan pembagian yang wajar dari prosessor. Kernel Mach pada Mac OS X mengelola preemptive multitasking,schedule proses dengan mengedepankan tugas prioritas. Hal ini memungkinkan Mac OS X memberikan dukungan yang real time untuk aplikasi yang memerlukan prilaku soft real time (kernel). Preemptive multitasking juga memungkinkan Mach untuk memastikan bahwa penggunaan prosesor yang paling effisien (teknologi).
Tugas dasar dari mach untuk Mac OS X adalah proses. Pada dasarnya task merupakan sekumpulan resource sistem dimana yang direferensikan oleh port dan dapat dipergunakan bersama dengan tugas lain melalui distribusi port yang benar. Setiap tugas berisi ruang alamat virtual yang dapat dipergunakan bersama dengan tugas-tugas yang lain melalui manajemen memori eksternal. Setiap tugas harus mengandung setidaknya satu thread. (seperti instruksi yang hanya dieksekusi oleh threads, bukan task) dan semua thread yang terdapat dalam task berbagi kesemua resource (kernel).
Karena task memiliki tanggung jawab untuk mengatur resource, sebuah thread adalah sebuah entitas yang ringan, yang mempunyai overhead yang rendah karena menangani status informasi yang minimal (terutama status register). Hal ini dapat dieksekusi bersamaan dengan thread lain (bahkan semua yang termasuk task yang sama). Dengan menggunakan teknik synkronisasi beberapa thread dapat menyelesaikan pekerjaan lebih effisient daripada satu thread. Thread Mach memanfaatkan sumber daya yang dialokasikan untuk task mereka masing masing dengan mengeksekusi instruksi trap (jebakan) yang mengakibatkan kernel mengirim sebuah pesan ke beberapa thread lain atau proses lain atau melakukan operasi atas nama thread (kernel).
Mac OS X menggunakan kedua time-sharing dan fixed priority policies untuk penjadwalan thread. Penjadwalan thread Mach menyesuaikan time-sharing prioritas thread dalam usaha untuk menjaga keseimbangan konsumsi sumber daya sistem diantara semua time-sharing thread. Thread dengan prioritas tinggi seperti real time thread biasanya diberikan prioritas tetap. Setelah mengeksekusi untuk quantum waktu yang tetap, thread ini pindah ke antrian akhir yang memiliki prioritas yang sama. Hal ini dimungkinkan untuk mengijinkan thread dengan prioritas tetap berjalan asmpai bloknya atau di preempted oleh thread yang prioritasnya lebih tinggi dengan menetapkan quantum waktu tak terhingga.
Memonitor proses aplikasi yang sedang running di Mac OS
Salah satu penyebab kenapa Mac OS terasa lambat karena ada proses dari aplikasi yang masih jalan di belakang aktivitas mac os. Proses aplikasi induk adalah proses yang sedang berjalan dan aplikasinya sedang kita pakai, dan ada juga aplikasi anak yaitu jika proses induk sudah kita matikan tapi ternyata masih meninggalkan proses padahal aplikasi sudah kita tutup.

Melihat proses aplikasi yang langsung running saat boot/menghidupkan Mac OS
Kadang kita tidak memerlukan suatu aplikasi langsung running saat kita boot/menghidupkan mac sebab memang akan menambah beban saat boot loading. Lebih baik kita menonaktifkan aplikasi yang tidak penting saat boot.


Caranya adalah : masuk lah ke System Preferences > Accounts > Login
Bukalah kunci agar kita dapat mengedit (menambah, mengurangi, atau menghapus) aplikasi yang akan running saat boot.
Pilih Account yang akan edit dan masuk ke ‘Login Items’, setelah itu kita dapat mengeditnya.

Melihat/memonitor Aktivitas proses aplikasi
Kita juga dapat menggunakan fasilitas Activity Monitor yang diberikan Mac OS untu melihat semua aktivitas proses aplikasi/service yang sedang berjalan.
Quit aplikasi secara langsung dengan cara ‘command – Q’, terkadang walau sudah quit program tetapi proses masih ada di activity monitor. Kita dapat me-klik Quit Proses yang berada di Activity Monitor.


Jika tidak dapat menutup/quit suatu aplikasi kita dapat menggunakan ‘Force Quit’ untuk memaksa aplikasi berhenti dengan menekan tombol ‘Command – Option – Escape’ secara bersamaan.


Kadang kala kita masih perlu menggunakan suatu aplikasi tetapi kita tidak ingin meng-quit nya. Kita dapat menghentikan sementara ‘pause’ dari suatu aplikasi sehingga beban dari mac kita semakin berkurang dan kita dapat mengaktifkan kembali aplikasinya. Ada aplikasi yang sangat membatu kita yaitu ‘PAUSER’ (google dan download) atau dapat dengan menggunakan teknik berikut :
Ketikan perintah : kill –CONT PID
PID adalah nomor ID dari proses aplikasi dan nomor itu dapat kita temui di monitor activity

0 komentar:

Posting Komentar