Komponen Sistem

1. Manajemen Proses

Untuk mengatur proses yang ada, sistem operasi bertanggung jawab pada aktifitas-aktifitas yang berhubungan dengan proses berikut:

  1. Pembuatan dan penghapusan proses yang dibuat oleh user atau sistem.
  2. Menghentikan proses sementara dan melanjutkan proses.
  3. Menyediakan kelengkapan mekanisme untuk sinkronisasi proses dan komunikasi proses

2. Manajemen Memori Utama

Untuk mengatur memori, sistem operasi bertanggung jawab pada aktifitas-aktifitas manajemen memori sebagai berikut :

    1. Menjaga dan memelihara bagian-bagian memori yang sedang digunakan dan dari yang menggunakan.
    2. Memutuskan proses-proses mana saja yang harus dipanggil ke memori jika tersedia ruang di memori.
    3. Mengalokasikan dan mendealokasikan ruang memori jika diperlukan.

3. Manajemen Penyimpanan Sekunder

Sistem operasi bertanggung jawab pada aktifitas-aktifitas manajemen penyimpan sekunder sebagai berikut:

    1. Pengaturan ruang bebas.
    2. Alokasi penyimpanan.
    3. Penjadwalan disk.

4. Manajemen Sistem I/O

Sistem operasi bertanggung-jawab pada aktifitas-aktifitas sistem I/O sebagai berikut:

  1. Sistem buffer-caching.
  2. Antarmuka device-driver secara umum.
  3. Driver untuk device hardware-hardware tertentu.

5. Manajemen File

Untuk mengatur file, sistem operasi bertanggung jawab pada aktifitas-aktifitas yang berhubungan dengan manajemen file sebagai berikut:

    1. Pembuatan dan penghapusan file.
    2. Pembuatan dan penghapusan direktori.
    3. Primitif-primitif yang mendukung untuk manipulasi file dan direktori.
    4. Pemetaan file ke memori sekunder.
    5. Backup file ke media penyimpanan yang stabil (nonvolatile).

Layanan Sistem Operasi

Sistem operasi menyediakan layanan untuk programmer sehingga dapat melakukan pemrograman dengan mudah.

  1. Eksekusi Program, sistem harus dapat memanggil program ke memori dan menjalankannya.
  2. Operasi-operasi I/O, pada saat running program kemungkinan dibutuhkan I/O. Pengontrolan I/O dilakukan oleh sistem operasi.
  3. Manipulasi sistem file, kapabilitas program untuk membaca, menulis, membuat dan menghapus file.
  4. Komunikasi, dibutuhkan jika beberapa proses yang sedang dieksekusisaling tukar-menukar informasi. Komunikasi dilakukan dengan cara berbagi memori atau dengan cara pengiriman pesan.
  5. Mendeteksi kesalahan, sistem harus menjamin kebenaran dalam komputasi dengan melakukan pendeteksian error pada CPU dan memori, perangkat I/O atau pada user program.

Beberapa fungsi tambahan untuk menjamin operasi sistem yang efisien, yaitu :

  • Mengalokasikan sumber daya untuk banyak user atau banyak job yang dijalanan dalam waktu yang sama.
  • Akutansi digunakan untuk menghitung secara statistik akumulasi penggunaan sumber daya.
  • Proteksi agar semua akses ke sumber daya terkontrol dengan baik.

Sistem Call

System call menyediakan antar muka antara program yang sedang berjalan dengan sistem operasi. System call biasanya tersedia dalam bentuk instruksi bahasa assembly.

Sistem Program

Sistem program menyediakan lingkungan yang nyaman untuk pengembangan dan eksekusi program. Kebanyakan user melihat system operasi yang didefinisikan oleh sistem program, bukan sistem call.

Struktur Sistem Operasi

1.  Sistem Monolitik
Banyak sistem operasi komersial yang tidak terstruktur dengan baik. Kemudian sistem operasi dimulai dari yang terkecil, sederhana dan terbatas lalu berkembang dengan ruang lingkup originalnya. Contoh dari sistem operasi ini adalah MS-DOS dan UNIX. MS-DOS merupakan sistem operasi yang menyediakan fungsional dalam ruang yang sedikit sehingga tidak dibagi menjadi beberapa modul, sedangkan UNIX menggunakan struktur monolitik dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan dan kernel berisi semua layanan yang disediakan sistem operasi untuk pengguna [Bambang2002]. Inisialisasi-nya terbatas pada fungsional perangkat keras yang terbagi menjadi dua bagian yaitu kernel dan sistem program. Kernel terbagi menjadi serangkaian interface dan device driver dan menyediakan sistem file, penjadwalan CPU, manajemen memori, dan fungsi-fungsi sistem operasi lainnya melalui system calls.

layermsdos
Struktur layer pada MS-DOS

Kelemahan struktur monolitik adalah:
• Pengujian dan penghilangan kesalahan sulit karena tidak dapat dipisahkan dan dialokasikan
• Sulit dalam menyediakan fasilitas pengamanan
• Merupakan pemborosan memori bila setiap komputer harus menjalan kernel monolitik, karena semua layanan tersimpan dalam bentuk tunggal sedangkan tidak semua layanan diperlukan.
• Kesalahahan sebagian fungsi menyebabkan sistem tidak berfungsi.

Keuntungan struktur monolitik adalah layanan dapat dilakukan dengan cepat karena terdapat dalam satu ruang.

2. Sistem berlapis
Sistem operasi dibagi menjadi beberapa lapisan. Lapisan terbawah (layer 0) adalah hardware dan yang tertinggi (layer N) adalah user interface. Lapisan N memberi layanan untuk lapisan N+1 sedangkan proses-proses di lapisan N dapat meminta layanan lapisan N-1 untuk membangun layanan lapisan N+1. Lapisan N dapat meminta layanan lapisan N-1 namun lapisan N tidak dapat meminta layanan lapisan N+1. Masing-masing berjalan pada lapisannya sendiri.

layer
Lapisan Sistem Operasi

Menurut Tanenbaum dan Woodhull, sistem terlapis terdiri dari enam lapisan, yaitu:
• Lapisan 0. Mengatur alokasi prosesor, pertukaran antar proses ketika interupsi terjadi atau waktu habis dan lapisan ini mendukung dasar multi-programming pada CPU.
• Lapisan 1. Mengalokasikan ruang untuk proses di memori utama dan pada 512 kilo word drum yang digunakan untuk menahan bagian proses ketika tidak ada ruang di memori utama.
• Lapisan 2. Menangani komunikasi antara masing-masing proses dan operator console. Lapisan ini masing-masing proses secara efektif memiliki operator console sendiri.
• Lapisan 3. Mengatur peranti I/O dan menampung informasi yang mengalir dari/ke proses tersebut.
• Lapisan 4. Tempat program pengguna. Pengguna tidak perlu memikirkan tentang proses, memori, console, atau manajemen I/O.
• Lapisan 5. Merupakan operator sistem.

Contoh sistem operasi yang menggunakan pendekatan berlapis adalah THE yang dibuat oleh Djikstra dan mahasiswa-mahasiswanya, serta sistem operasi MULTICS.

Kelemahan struktur ini adalah fungsi-fungsi sistem operasi harus diberikan ke tiap lapisan secara hati-hati. Sedangkan keunggulannya adalah memeliki semua kelebihan rancangan modular, yaitu sistem dibagi menjadi beberapa modul dan tiap modul dirancang secara independen. Tiap lapisan dapat dirancang, dikode dan diuji secara independen. Pendekatan berlapis menyederhanakan rancangan, spesifikasi dan implementasi sistem operasi.

Sistem dengan mesin maya (virtual machine)
Konsep dasar dari mesin virtual ini tidak jauh berbeda dengan pendekatan terlapis, hanya saja konsep ini memberikan sedikit tambahan berupa antarmuka yang menghubungkan perangkat keras dengan kernel untuk tiap-tiap proses, Gambar di bawah menunjukkan konsep tersebut. Mesin virtual menyediakan antar muka yang identik untuk perangkat keras yang ada. Sistem operasi membuat ilusi untuk beberapa proses, masing-masing mengeksekusi prosessor masing-masing untuk memori (virtual) masing-masi

vmstructure
Struktur VM

Meskipun konsep ini cukup baik, namun sulit untuk diimplementasikan, ingat bahwa sistem menggunakan metode dual-mode. Mesin virtual hanya dapat berjalan pada monitor-mode jika berupa sistem operasi, sedangkan mesin virtual itu sendiri berjalan dalam bentuk user-mode. Konsekuensinya, baik virtual monitor-mode maupun virtual user-mode harus dijalankan melalaui physical user mode. Hal ini menyebabkan adanya transfer dari user-mode ke monitor-mode pada mesin nyata, yang juga aka menyebabkan adanya transfer dari virtual user-mode ke virtual monitor-mode pada mesin virtual.

Sumber daya (resource) dari computer fisik dibagi untuk membuat mesin virtual. Penjadwalan CPU dapat membuat penampilan bahwa user mempunyai prosessor sendiri. Spooling dan system file dapat menyediakan card reader virtual dan line printer virtual. Terminal time sharing pada user melayani sebagai console operator mesin virtual. Contoh sistem operasi yang memakai mesin virtual adalah IBM VM system.

Keuntungan dan kerugian konsep mesin virtual adalah sebagai berikut :
• Konsep mesin virtual menyediakan proteksi yang lengkap untuk sumber daya system sehingga masing-masing mesin virtual dipisahkan mesin virtual yang lain. Isolasi ini tidak memperbolehkan pembagian sumber daya secara langsung
• Sistem mesin virtual adalah mesin yang sempurna untuk riset dan pengembangan system operasi. Pengembangan system dikerjakan pada mesin virtual, termasuk di dalamnya mesin fisik dan tidak mengganggu operasi system yang normal.
• Konsep mesin virtual sangat sulit untuk mengimplementasikan kebutuhan dan duplikasi yang tepat pada mesin yang sebenarnya.

4. Microkernels
Metode struktur ini adalah menghilangkan komponen-komponen yang tidak diperlukan dari kernel dan mengimplementasikannya sebagai sistem dan program-program level user. Hal ini akan menghasilkan kernel yang kecil. Fungsi utama dari jenis ini adalah menyediakan fasilitas komunikasi antara program client dan bermacam pelayanan yang berjalan pada ruang user. Contoh sistem operasi yang menggunakan metode ini adalah TRU64 UNIX, MacOSX dan QNX Keuntungan dari kernel ini adalah kemudahan dalam memperluas sistem operasi, mudah untuk diubah ke bentuk arsitektur baru, kode yang kecil dan lebih aman. Kelemahannya adalah kinerja akan berkurang selagi bertambahnya fungsi-fungsi yang digunakan.