Kamis, 07 Mei 2015

Operating System Overview

2.1 OPERATING SYSTEM OBJECTIVES AND FUNCTIONS

OS adalah program yang mengontrol eksekusi program aplikasi dan bertindak sebagai antarmuka antara aplikasi dan perangkat keras komputer. Hal ini dapat dianggap sebagai mempunyai 3 tujuan:

  • Convenience: Sebuah OS membuat komputer lebih nyaman digunakan.
  • Efficiency: Sebuah OS memungkinkan sumber daya sistem komputer untuk digunakan secara efisien.
  • Ability to evolve: Sebuah OS harus dibangun sedemikian rupa untuk mengizinkan pembangunan yang efektif, pengujian, dan pengenalan fungsi sistem baru tanpa mengganggu layanan.
Secara umum, OS biasanya memberika service di bidang berikut:
  • Program development: OS menyediakan berbagai fasilitas dan layanan, seperti editor dan debugger, untuk membantu programmer dalam membuat program.
  • Program execution: Sejumlah langkah yang perlu dilakukan untuk mengeksekusi program.
  • Access to I/O devices: Setiap perangkat I / O memerlukan instruksi khas nya sendiri atau sinyal kontrol untuk operasi.
  • Controlled access to files: Untuk akses file, OS harus mencerminkan pemahaman rinci tidak hanya sifat I / O perangkat tetapi juga struktur data yang terdapat dalam file pada media penyimpanan
  • System access: Untuk sesama atau publik sistem, kontrol OS akses ke sistem secara keseluruhan dan ke sumber daya yang spesifik sistem.
  • Error detection and response: Berbagai kesalahan dapat terjadi ketika sistem komputer sedang berjalan.
  • Accounting: OS yang baik akan mengumpulkan statistik penggunaan untuk berbagai sumber daya dan memonitor parameter kinerja seperti waktu respon.
  • Instruction set architecture (ISA): ISA mendefinisikan instruksi bahasa mesin yang komputer dapat mengikuti.
  • Application binary interface (ABI): ABI mendefinisikan standar untuk portabilitas biner di program
  • Application programming interface (API): API ini memberikan akses program ke sumber daya perangkat keras dan layanan yang tersedia dalam sistem melalui pengguna.
Sebuah komputer merupakan kumpulan sumber dari perpindahan, penyimpanan dan pemrosesan data dan untuk mengatur fungsi-fungsi tersebut. Berikut merupakan gambaran OS sebagai sumber managemen.


Figure 2.1 The Operating System as Resource Manager

Gambar menunjukkan sumber utama yang dikelola oleh OS. Sebagian dari OS dalam memori utama. Ini termasuk kernel, atau inti, yang berisi fungsi yang paling sering digunakan di OS dan, pada waktu tertentu, bagian lain dari OS yang sedang digunakan.

Operating System akan terus berkembang untuk beberapa alasan:
  • Pembaharuan hardware dan tipe - tipe baru hardware
  • Layanan / service baru
  • Pembenahan dalam OS itu sendiri.
2.2 THE EVOLUTION OF OPERATING SYSTEMS
  • Serial ProcessingPada awal mulanya komputer, programmer berinteraksi langsung dengan komputer hardware, tanpa adanya OS. Komputer - komputer ini di jalannya dari konsol yang terdiri dari tampilan cahaya, toogle switches, beberapa form dari alat inputan, dan sebuah printer.
    System awal ini mempunyai 2 masalah utama:
    - Scheduling
    - Setup time
  • Simple Batch Systems
    Komputer pada awalnya sangatlah mahal, oleh karena itu penting untuk memaksimalkan penggunaan prosesor. Untuk meningkatkan utilization, konsep batch OS dikembangkan.
    Untuk memahami lebih dalam lagi, ada 2 point yang perlu dilihat:
    - Monitor point of view : Monitor mengontrol urutan acara
    - Processor point of view : Prosesor mengeksekusi instruksi dari bagian memori utama yang berisi monitor

    Point yang digunakan adalah Monitor, di mana monitor merupakan software yang digunakan untuk mengontrol program - program yang berjalan secara bersamaan. Digunakan juga Job Control Language (JCL) yang merupakan bahasa untuk menyediakan instruksi - instruksi ke monitor.
    Ada beberapa fitur - fitur hardware yang juga diperlukan :
    - Memory Protection
    - Timer
    - Privileged instructions
    - Interrupts
  • Multiprogrammed Batch Systems

    Figure 2.2 Multiprogramming Example

    Berdasarkan pada Figure 2.2,
    Uniprogramming adalah single program yang harus menyelesaikan satu program terlebih dahulu, setelah itu baru bisa melanjutkan ke program selanjutnya.
    Multiprogramming adalah merupakan program yang dapat menjalankan 2 atau 3 secara bergantian tanpa harus saling menunggu salah satu task selesai.
  • Timesharing SystemsSistem yang menggunakan multiprogramming untuk menghandel berbagai pekerjaan interaktif. Waktu processor dibagi berdasarkan jumlah user yang mengakses.

2.3 MAJOR ACHIEVEMENTS

Sistem operasi adalah salah satu bagian paling kompleks dari perangkat lunak yang pernah dikembangkan. Ada 4 teoritis utama dalam mengembangkan sistem operasi:
  • The Process
    Proses sendiri mempunyai banyak definisi, diantara lain:
    - Program dalam eksekusi.
    - Contoh program yang berjalan pada komputer.
    - Entitas yang dapat ditugaskan untuk dan dijalankan pada prosesor.
    - Unit aktivitas yang ditandai dengan thread berurutan tunggal dari eksekusi, keadaan saat ini, dan set yang terkait sumber daya sistem.

    Secara umum, ada empat penyebab utama kesalahan dalam proses :
    - Improper synchonization: Sering terjadi bahwa rutinitas harus ditangguhkan menunggu event di tempat lain dalam sistem.
    - Failed mutual exclusion: Sering terjadi bahwa lebih dari satu pengguna atau program akan mencoba untuk memanfaatkan sumber daya bersama pada waktu yang sama.
    - Nondeterminate program operation: Hasil program tertentu biasanya harus tergantung hanya pada masukan untuk program itu dan bukan pada kegiatan program lain dalam sistem bersama.
    - Deadlocks: mungkin untuk dua atau lebih program yang akan menutup untuk menunggu satu sama lain.

    Proses juga terdapat 3 komponen :
    - Program executable.
    - Data terkait yang dibutuhkan oleh program (variabel, ruang kerja, buffer, dll).
    - Konteks pelaksanaan program.
  • Memory ManagementKebutuhan pengguna dapat dipenuhi terbaik dengan lingkungan komputasi yang mendukung pemrograman modular dan penggunaan fleksibel data. Manajer sistem perlu kontrol yang efisien dan teratur pada alokasi penyimpanan. OS, untuk memenuhi persyaratan ini, memiliki lima tanggung jawab manajemen penyimpanan utama, yaitu :
    - Process isolation: OS harus mencegah proses independen dari percampuran memory satu sama lain, baik data dan instruksi.
    - Automatic allocation and management: Program harus dialokasikan secara dinamis di hirarki memori yang diperlukan.
    - Support of modular programming: Programmer harus dapat menentukan modul program, dan untuk menciptakan, menghancurkan, dan mengubah ukuran modul dinamis.
    - Protection and access control: Berbagi memori, pada setiap tingkat hirarki memori, menciptakan potensi untuk satu program untuk mengatasi ruang memori lain.
    - Long-term storage: Banyak program aplikasi memerlukan sarana untuk menyimpan informasi untuk waktu yang lama, setelah komputer telah dimatikan.
  • Information protection and security
    Banyak pekerjaan dalam keamanan dan perlindungan yang berkaitan dengan sistem operasi secara kasar dapat dikelompokkan menjadi empat kategori:
    - Availability:  Prihatin dengan melindungi sistem terhadap gangguan.
    - Confidentiality: Menjamin bahwa pengguna tidak dapat membaca data yang aksesnya tidak sah.
    - Data integrity: Perlindungan data dari modifikasi yang tidak sah.
    - Authenticity: Prihatin dengan verifikasi yang tepat dari identitas pengguna dan keabsahan pesan atau data.
  • Scheduling and resource managementTanggung jawab utama dari OS adalah untuk mengelola berbagai sumber daya yang tersedia untuk itu (ruang memori utama, perangkat I / O, prosesor) dan untuk jadwal penggunaannya oleh berbagai proses yang aktif. Setiap alokasi sumber daya dan kebijakan penjadwalan harus mempertimbangkan tiga faktor:
    - Fairness: Keseimbangan aproximasi dan akses yang adil.
    - Differential responsiveness: Butuhnya diskriminasi diantara kelas dari pekerjaan yang berbeda - beda.
    - Efficiency: Memaksimalkan throughput dan meminimalisasi waktu respon.
2.4 Symmetric Multiprocessor OS Considerations

Sebuah sistem operasi SMP mengelola prosesor dan sumber daya lainnya komputer sehingga penggunaan dapat melihat sistem dengan cara yang sama sebagai sistem multiprogramming uniprocessor. Dengan demikian, OS multiprosesor harus menyediakan semua fungsi dari sistem multiprogramming ditambah fitur-fitur tambahan untuk mengakomodasi beberapa prosesor. Masalah-masalah desain kunci meliputi: 
- Simultenous concurrent processes or threads.
- Scheduling.
- Synchonization.
- Memory management
- Reliability and fault tolerance

2.5 MICROSOFT WINDOWS OVERVIEW

Komponen - komponen kernel-mode dari windows sebagai berikut:
  • Executive : Berisi layanan inti OS, seperti manajemen memori, proses dan manajemen thread, keamanan, I / O, dan komunikasi interprocess.
  • Kernel : Kontrol pelaksanaan prosesor.
  • Hardware abstraction : Map antara perintah hardware generik dan tanggapan dan mereka yang unik untuk platform tertentu.
  • Device drivers : Perpustakaan dinamis yang memperluas fungsi eksekutif.
  • Windowing and graphic system : Mengimplementasikan fungsi GUI, seperti berurusan dengan windows, kontrol antarmuka pengguna, dan menggambar.

Figure 2.3 Windows Internals Architecture [RUSS11]

2.6 LINUX

Komponen kernel utama sebagai berikut :
  • Signals: Kernel menggunakan sinyal untuk panggilan ke proses.
  • System calls: Merupakan sarana yang proses permintaan layanan kernel tertentu.
  • Processes and scheduler: Tes, mengelola, dan proses jadwal.
  • Virtual memory: Mengalokasikan dan mengelola memori virtual untuk proses.
  • Fyle systems: Menyediakan namespace hirarki global untuk file, direktori, dan benda-benda yang berhubungan dengan file lain dan menyediakan fungsi sistem file.
  • Network protocols: Mendukung Socket interface pengguna untuk TCP / IP protocol suite.
  • Character device drivers: Mengelola perangkat yang membutuhkan kernel untuk mengirim atau menerima data satu byte pada suatu waktu, seperti terminal, modem, dan printer.
  • Block device drivers: Mengelola perangkat yang membaca dan menulis data dalam blok, seperti berbagai bentuk memori sekunder (magnetic disks, CD-ROMs,dll).
  • Network device drivers: Mengelola jaringan antarmuka kartu dan komunikasi port yang terhubung ke perangkat jaringan, seperti bridge dan router.
  • Traps and faults: Menangani traps dan kesalahan yang dihasilkan oleh prosesor, seperti kesalahan memori.
  • Physical memory: Mengelola kumpulan frame halaman dalam memori nyata dan mengalokasikan halaman untuk memori virtual.
  • Interrupts: Menangani interupsi dari perangkat periferal.



Tidak ada komentar:

Posting Komentar