Kamis, 31 Mei 2012

Sistem Operasi

 Sistem Operasi

DalamIlmu komputer, Sistem operasi atau dalam bahasa Inggris: operating systematau OS adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol danmanajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankansoftware aplikasi seperti program-program pengolah kata dan browser web.Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh padamemori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnyadijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layananinti umum untuk software-software itu. Layanan inti umum tersebut seperti akses kedisk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karenadapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan “kernel” suatu Sistem Operasi
  • Tujuan system operasi :
Control program
Mengeksekusi program dan menyelesaikan masalah user dengan mudah 

Resource allocator
Membuat sistem komputer lebih mudah digunakan
Memanfaatkan sumber daya sistem komputer secara efisien

  • Fungsi system operasi :
User environment: mentransformasi perangkat keras ke level abstraksi yang lebih tinggi dalam hal:
Lingkungan eksekusi → pengelolaan proses, manipulasi berkas, penanganan interrupt, operasi I/O
Deteksi kesalahan dan penanganannya
Proteksi dan keamanan
Fault tolerance dan perbaikan kegagalan 

Pengelolaan resource
Waktu: penjadwalan CPU dan media penyimpanan
Ruang media penyimpanan: alokasi media penyimpanan utama dan sekunder
Sinkronisasi dan penanganan deadlock: IPC, critical section, koordinasi
Accounting dan informasi status: tracking penggunaan resource
  • Komponen system computer :
Perangkat keras:
menyediakan resource dasar komputasi → CPU, memori, I/O

Sistem operasi (protected mode):
mengendalikan dan mengkoordinasikan penggunaan perangkat keras oleh berbagai program
aplikasi untuk berbagai pengguna 

Program aplikasi (user mode):
pemanfaatan resource untuk menyelesaikan masalah pengguna → kompilator, sistem basis data,
pengolah kata, IDE, …

Pengguna:
Orang, mesin, komputer lain, ...


Interup
Mengirimkan kendali ke rutin layanan interrupt melalui interrupt vector yang berisi alamat semua layanan interrupt
Menyimpan semua instruksi interrupt
Interrupt yang datang akan diabaikan ketika masih ada interrupt lain yang sedang dilayani
Trap: interrupt yang dihasilkan oleh perangkat lunak karena adanya error atau permintaan dari pengguna
Pembagian dengan 0
Sistem operasi adalah interrupt driven (bekerja karena ada trigger dari interrupt

Jenis system computer
Desktop
Parallel (tighly coupled): terdapat sejumlah prosesor yang
Symmetric: sama
Asymmetric: berbeda
Distributed (loosely coupled): terhubung melalui media komunikasi
Real time:
Hard:
kemampuan dan kapasitas device terbatas
Tujuan khusus
Soft
Handheld


Lingkup system operasi
pengelolaan:
Proses
Memori
Media penyimpanan (sistem berkas)

Pengelolahan proses
Proses:
Program yang sedang dieksekusi
Membutuhkan resource:
-        CPU, memori, I/O, berkas
-        Inisialisasi data
Single threaded
Multi threade
Memiliki program counter sebagai penanda (identifier)
Proses harus mengembalikan resource yang digunakan ke sistem setelah selesai
Umumnya, ada banyak proses, yang dijalankan banyak user, bahkan ada sejumlah sistem operasi yang dijalankan CPU
Penjadwalan CPU (multiplexing)

Aktifitas pengelolaan proses
Membuat & menghapus proses, (user & system process)
Menunda / melanjutkan proses
Sinkronisasi & komunikasi antar proses
Mengelola deadlock

Pengelolaan memory
Semua data harus ada dalam memori sebelum dan sesudah eksekusi proses (inisialisasi data)
Semua instruksi harus ada dalam memori agar dapat dieksekusi (program)
Pengelolaan memori:
Menentukan apa saja yang berada dalam memori

Aktifitas pengelolaan memory
Menjaga jejak (track) tentang apa (isi memori) dan siapa yang menggunakannya (proses)
Menentukan proses dan data mana yang akan masuk/keluar ke/dari memori untuk dieksekusi
Mengalokasi dan mendealokasi ruang memori sesuai kebutuhan proses