Kamis, 07 Mei 2015

Operating System Overview

Sebuah Operating Sistem merupakan program yang mengontrol eksekusi dari sebuah program aplikasi dan bertindak sebagai sebuah interface antara aplikasi dan hardware dari komputer. 
Operating itu sendiri memiliki tiga tujuan yaitu:
  • Convenience, sebuah OS membuat komputer menjadi lebih mudah untuk digunakan.
  • Efficiency, sebuah OS mengizinkan sistem komputer untuk digunakan dalam sebuah cara yang efektif.
  • Ability to evolve, sebuah OS seharusnya dibangun dengan berbagai cara untuk sebuah pengembangan yang lebih efektif, uji coba, dan pengenalan pada sebuah fungsi sistem baru tanpa berhubungan dengan service.
Secara umum OS biasa digunakan pada beberapa area yaitu:
  • Program development : OS menyediakan variasi fasilitas dan servis seperti edit dan debug, untuk membantu programmer dalam membuat program.
  • Program execution: jumlah tahapan yang dibutuhkan untuk menjalankan eksekusi program.
  • Access to I/O devices: setiap I/O membutuhkan instruksi atau mengontrol sinyal untuk operasi.
  • Controlled access to file: untuk akses file, OS harus mencerminkan pemahaman detail tidak hanya dari ruang lingkup I/O device tetapi juga struktur data yang dikandung dalam file.
  • System access: Untuk sistem shared atau public, OS mengontrol akses ke sistem secara keseluruhan dan menspesifikasi sumber.
  • Error detection and response: sebuah variasi dari error yang terjadi selama komputer berjalan. Hal ini termasuk internal dan eksternal error pada hardware seperti memory error, kegagalan device, fungsi yang buruk, variasi error software, pembagian dengan nol.
  • Accounting: sebuah OS yang baik akan mengumpulkan statistik penggunaan dari variasi sumber dan parameter performace seperti respon time.
  • Instruction set architecture: ISA mendefinisikan instruksi dalam bahasa bahasa tertentu yang bisa diikuti oleh komputer.
  • Application binary interface: ABI mendefinisikan standard untuk porbilitas biner.
  • Application programming interface: API memberikan sebuah akses program ke hardware dan servis yang tersedia di dalam sistem melalui pengguna ISA dengan library pemanggulan bahasa tingkat tinggi
Sebuah komputer merupakan kumpulan sumber dari perpindahan, penyimpanan dan pemrosesan data dan untuk mengontrol fungi fungsi tersebut. Berikut merupakan gambaran OS sebagai sumber managemen.
Operating Sistem selalu berevolusi setiap waktu karena beberapa alasan yaitu:
  • Hardware upgrades plus new types of hardware: sebagai contoh, pada versi awal dari UNIX dan Macintosh tidak menyediakan mekanisme paging karena OS nya dijalankan pada processor tanpa hardware paging.
  • New services: dalam respon kepada keinginan user atau respon pada kebutuhan sistem, OS memberikan servis baru.
  • Fixes: beberapa OS memiliki kegagalan.
Berikut akan dijelaskan beberapa hal yang perlu diketahui bagaimana operating sistem berevolusi setiap waktunya.

  • Serial Processing
    Pada awalnya, programmer berinteraksi langsung dengan hardware komputer, tidak ada OS. Komputer tersebut dijalankan melalui konsole yang terdiri dari tampilan cahaya, toogle, dan beberapa device lainnya.
    Ada dua masalah yang dimiliki pada sistem ini:
    >  Scheduling
    >  Setup time
  • Simple Batch Systems
    Pada awalnya komputer sangat mahal, oleh sebab itu sangat penting untuk mengoptimalkan. Untuk meningkatkan optimalisasi tersebut maka konsep batch OS dikembangkan. Untuk memahami bagaimana hal tersebut bekerja maka ada 2 hal yang harus diperhatikan yaitu:
    > Monitor point of view
    > Processor point of view
  • Multiprogrammed Batch Systems
    Berikut merupakan gambaran dari multiprogramming.


    Uniprogramming merupakan program tunggal yang harus menyelesaikan satu program dahulu kemudian melanjutkan program selanjutnya. Sedangkan multi programming (bi sa 2 atau 3) mengizinkan program berjalan secara bergantian tanpa harus menyelesaikan task masing masing.
  • Timesharing System
    Sistem yang menggunakan multiprogramming untuk menghandel berbagai pekerjaan interaktif. Waktu processor dibagi berdasarkan jumlah user yang mengakses.
Operating sistem merupakan software yang dibangun paling kompleks. Ada empat hal yang diperhatikan dalam pengembangan sebuah OS, yaitu:

  • Processes
    Ada banyak definisi yang telah diberikan dalam konteks proses yaitu:
    > Eksekusi program
    > Instant dari program yang sedang berjalan dalam komputer
    > Entiti yang bisa diassign dan dieksekusi dalam prosesor
    > Sebuah unit aktivitas yang dikarakteristikan dengan thread sekuens tunggal
    Dalam proses itu sendiri tentu terdapat error. Ada empat penyebab terjadinya error yaitu:
    > Improper syschronization
       Contohnya adalah sebuah program yang menginisiasi sebuah pembaca I/O harus menunggu      sampai data available pada sebuah buffer sebelum pemprosesan
    > Failed mutual exclusion
       Contohnya adalah user mungkin berusaha untuk mengedit file yang sama pada saat yang            sama.
    > Nondeterminate program operation
       Hasil dari program tertentu tidak seharusnya bergantung hanya pada input
    > Deadlock
       Contohnya adalah hanya dua yang mungkin mebutuhkan dua device I/O unu
  • Memory management
    Kebutuhan user mungkin ditemukan melalui lingkungan komputer yang mendukung programming yang bersifat modular dan penggunaan data yan fleksibel. Sistem manager membutuhkan efisiensi dan mengontrol urutan alokasi storage. Untuk memenuhi requirment tersebut ada lima prinsip dasar tanggung jawab manajemen, yaitu:
    Process Isolation. OS harus mencegah independnt proses dari interface dengan memory yang lainnya.
    Automatic allocation and management. Program harus dinamis pengalokasian memorinya sebagaimana yang diminta.
    Protection and acces control. Berbagi memory, pada level hirarki apapun, membuat potensial untuk satu program menuju alamat memoru dari yang lainnya.
    Support of  modular programming. Programmer harus mampu untuk mendefinisikan modul program dan untuk membuat, menghancurkan, atau memperdalam ukuran ukuran dari modul secara dinamis.
    Long-term storage. Banyak program aplikasi membutukan rata-rata untuk penyimpanan informasi untuk diperpanjang secara periodik.
  • Information protection and security
    Banyak pekerjaan dalam keamanan dan pencegahan sebagaimana hala tersebut berkaitan dengan OS yang secara umum bisa dikelompokkan menjadi empat bagian yaitu:
    Availability. Berfokus pada pencegahan melawan interupsi.
    Confidentiality. Meyakinkan bahwa user tidak dapat membaca data untuk akses data yang tidak diautorisasi.
    Data Integrity. Perlindungan data dari modifikasi yang tidak diautorisasi.
    Authenticity. Berfokus pada ketepatan verifikasi dari identifikasi dari user dan validasi dari pesan atau data.
  • Scheduling and resource management
    Beberapa alokasi resource dan jaminan penjadwalan harus menyadari tiga faktor berikut:
    Fairness. Kita akan senang apabila semua program diberikan aproximasi yang sama rata dan akses yang imbang atau adil.
    Differential responsiveness. Di sisi lain OS membutuhkan diskriminasi diantara kelas dari pekerjaan yang berbeda-beda.
    Effeciency. OS harus berusaha untuk memaksimalkan throughput dan meminimalisasi waktu respon.
Di dalam sistem SMP, kernel dapat mengeksekusi beberapa processor dan secara khusus masing masing processor melakukan penjadwalan sendiri dari pool proses yang tersedia.
Sebuah operating sistem SMP memanage processor dan sumber daya komputer lainnya sehingga user dapat melihat sistem dalam jenis yang sama sebagai multiprogramming uniprocessor sistem.
Selain itu multi OS juga harus menyediakan semua fungsi dari multiprogramming sistem ditambah dengan tambahan fitur untuk mengakomodasi multi prosesor. Kunci dari mendesain permasalahan tersebut adalah:
Simultaneous concurrent processes or threads. Kernel butuh untuk di-reentrant untuk mengizinkan beberapa processor untuk dieksekusi pada waktu yang bersamaan.
Scheduling. Beberapa prosesor mungkin menerapkan penjadwalan yang menyulitkan task dan meyakinkan interupsi dapat dicegah.
Synchronization. Dengan multi proses aktif yang memiliki potensi untuk membagikan space alamat atau resource I/O , care harus diambil untuk menghasilkan sinkronasi yang efektif
Memory management. Memori managemen pada multiprocessor harus disepakati dengan semua isu yang ditemukan pada uniprocessor.
Reliability and fault tolerance. OS harus menyediakan degradasi dalam menghadapi kesalahan dalam prosesor.

Mesin virtual merupakan pendekatan alternatif. Pendekatan akternatif tersebut dibutuhkan mengingat jumlah cores yang selalu meningkat pada sebuah chip.

Komponen kernel-mode pada windows adalah sebagia berikut
> Executive
> Kernel
> Hardware abstraction layer
> Device drivers
> Windows and graphics system

Berikut arsitektur kernel pada windows.


Secara umum, komponen dasar pada kernel adalah sebagai berikut:

  • Signal
    Kernel menggunakan sinyal untuk memanggil ke dalam sebuah proses.
  • System calls
    Sistem pemanggil merupakan cara dimana sebuah proses meminta sebuah servis kernel yang spesifik.
  • Processes and scheduler
    Tes, manage, dan proses penjadwalan
  • Virtual memory
    Mengalokasi dan memanages virtual memory untuk sebuah proses.
  • File system
    Menyediakan sebuah global, hirarki namespace untuk file, direktori, dan file lainnya yang berhubungan dengan objek dan menyediakan fungsi file sistem.
  • Network protocols
    Mendukung socket interface pada user untuk TPC/IP protokol.
  • Character device drivers
    Manage device yang membutuhkan kernel untuk mengirim atau menerima data 1 byte dalam sekali waktu, seperti terminal, modem dan printer.
  • Block device drivers
    Manage device yang membaca dan menulis data dalam blok, seperti variasi form pada memory sekunder.
  • Network device drivers
    NIC dan komunikasi port yang menghubungkan ke dalam device jaringan seperti bridge dan router.
  • Trap and fault
    Menghandel jebakan dan kesalahan generate pada prosesor. 
  • Physical memory
    Memanage pools dari halaman frame di dalam real memory dan mengalokasikan page pada virtual memory.
  • Interrupt
    Menghandel interupsi dari periperal device.

Tidak ada komentar:

Posting Komentar