25 Jan 2013

Sistem Operasi

بسم الله الر حمن الر حيم

Sistem operasi / operating system (OS) merupakan kumpulan program yang digunakan untuk mengelola perangkat keras (hardware) suatu sistem dan menyediakan layanan(service) untuk aplikasi yang berjalan diatasnya.
Sistem operasi tidak berguna tanpa adanya aplikasi, dan aplikasi tidak akan bisa berfungsi tanpa sistem operasi.


Bagan sistem operasi
Sistem operasi berjalan dengan menggunakan minimal satu buah prosessor. Lazimnya dalam satu sistem hanya dibutuhkan satu buah sistem operasi, meskipun pada beberapa sistem yang lebih kompleks bisa saja digunakan lebih dari satu.

Karena digunakan untuk mengelola perangkat keras, maka konfigurasi suatu sistem operasi bergantung pada konfigurasi perangkat kerasnya. Sedangkan pada aplikasi, konfigurasi perangkat keras tidak ada pengaruhnya, asalkan hardware pendukungnya tersedia dan sistem operasi yang digunakan tetap sama.

Sistem operasi pada PC/komputer berbeda dengan sistem operasi pada sistem embedded. Komponen-komponen perangkat keras pada sistem embedded sangat spesifik, tergantung dari kegunaan sistem tersebut, oleh karena itu sistem operasinya pun harus dapat dikonfigurasi dengan mudah untuk dibuat spesifik. Selain itu sistem embedded juga memiliki resource yang terbatas, sehingga sistem operasi yang digunakan juga harus berukuran kecil dan memiliki efisiensi yang tinggi.

Contoh sistem operasi yang umum digunakan saat ini antara lain:
- PC : windows, linux, unix, freeBSD, Mac OS
- smart mobile : android, symbian, iOs
- embedded : eCos, uC/OS, uClinux, FreeRTOS, windows CE

Selain contoh diatas masih banyak lagi sistem operasi yang biasa digunakan.

Beberapa fungsi dalam sistem operasi antara lain :
- Multi tasking / multi threading / task scheduling
Multi tasking memungkinkan lebih dari satu proses dapat dijalankan secara bersamaan. Multi tasking sangat penting untuk menjamin seluruh informasi dapat diterima dan diproses dengan baik. tanpa adanya multi tasking, informasi yang penting bisa hilang/terabaikan sehingga kerja sistem menjadi tidak optimal.

- Time sharing / Time management
Time management berfungsi mengatur kerja task/thread/aplikasi agar tetap real-time.

- Memory management
Memory management digunakan untuk mengatur penyimpanan data/informasi agar lebih mudah diakses dan tidak tertimpa/terhapus/bertabrakan dengan data yang lain.

- Interfacing
Interface/antarmuka digunakan untuk berkomunikasi, di dalam sistem maupun antar sistem. Sistem operasi mempermudah penggunaan antarmuka tersebut dan menjamin komunikasi berjalan dengan baik.

Beberapa terminologi yang terdapat dalam sistem operasi antara lain :
- Task / Thread / Process(proses)...
Dalam banyak literatur, task, thread, dan proses memiliki arti yang berbeda, namun dalam tulisan ini kita anggap saja sama.
Prinsip kerja multi tasking adalah menjalankan seluruh proses/task yang ada secara bergantian sehingga proses tersebut dapat diselesaikan dengan delay(keterlambatan) minimum, atau tanpa delay sama sekali. Proses ini berupa sebuah program yang hanya beroperasi ketika diaktifkan oleh sistem operasi.
Terdapat dua cara perpindahan proses, yaitu event driven dan polling. Pada polling, proses dijalankan secara bergantian, sedangkan pada event driven, proses hanya dijalankan ketika ada event (biasanya berupa interrupt).

- Interrupt
Interrupt digunakan untuk menghentikan sementara (atau selamanya) seluruh proses untuk menjalankan proses tertentu.
Interrupt dapat dihasilkan dari antarmuka, timer, maupun dari software.
Contoh interrupt yang paling sederhana yang pasti ada pada sistem embedded yaitu reset. Interrupt ini menghentikan seluruh proses, menghapus seluruh nilai register, dan menjalankan seluruh proses dari awal.

- Timer
Timer dapat digunakan sebagai counter/pencacah atau timer/pewaktu.
Dalam sistem operasi, timer biasa digunakan dalam scheduler untuk mengendalikan waktu proses, memberikan delay pada proses, atau memberikan waktu timeout pada proses. Timer juga dapat menjadi salah satu sumber interrupt (timer interrupt). Dalam proses komunikasi, timer digunakan untuk mensinkronkan komunikasi dan mengendalikan kecepatan data.

- Flag , Semaphore , Context Switch
Flag, semaphore, dan context switch digunakan sebagai indikator/penanda pada perpindahan proses.
Umumnya prosessor menjalankan proses secara sekuensial (satu persatu), sehingga pada proses multi tasking, indikator ini sangat penting untuk menentukan proses mana yang harus dikerjakan lebih dulu.

- Mutex (Mutually Exclusive)
Mutex digunakan untuk melindungi resource (biasanya dalam bentuk perangkat, antarmuka, atau blok data) dari akses lebih dari satu proses yang terjadi secara bersamaan. Fungsi ini bertujuan untuk melindungi informasi pada resource tersebut dari kerusakan akibat terputusnya eksekusi proses tersebut.

-Kernel
Kernel merupakan inti dari sistem operasi. Fungsi utama kernel adalah melakukan fungsi sistem operasi pada level yang paling rendah. Kernel berinteraksi langsung dengan perangkat keras dan menyediakan informasi status perangkat keras tersebut untuk ditangani oleh sistem operasi.



-vyx-

Tidak ada komentar:

Posting Komentar