1. Komponen Pendukung Sebuah Sistem Operasi
1) Managemen proses
Proses adalah sebuah program yang sedang dieksekusi. Sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat Masukan/Keluaran. Sistem operasi mengalokasikan sumber daya-sumber daya tersebut saat proses itu diciptakan atau sedang diproses/dijalankan. Ketika proses tersebut berhenti dijalankan, sistem operasi akan mendapatkan kembali semua sumber daya yang bisa digunakan kembali. Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan managemen proses seperti:
· Membuat dan menghapus proses pengguna dan sistem proses.
· Menunda atau melanjutkan proses.
· Menyediakan mekanisme untuk proses sinkronisasi.
· Menyediakan mekanisme untuk proses komunikasi.
· Menyediakan mekanisme untuk penanganan deadlock.
2) Masukan/Keluaran
Sering disebut device manager. Menyediakan device driver yang umum sehingga operasi
Masukan/Keluaran dapat seragam (membuka, membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada perangkat keras, CDROM dan floppy disk. Komponen Sistem Operasi untuk sistem Masukan/Keluaran:
· Penyangga: menampung sementara data dari/ke perangkat Masukan/Keluaran.
· Spooling: melakukan penjadualan pemakaian Masukan/Keluaran sistem supaya lebih efisien (antrian dsb.).
· Menyediakan driver: untuk dapat melakukan operasi rinci untuk perangkat keras
Masukan/Keluaran tertentu.
3) Managemen Memori
Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Memori utama berfungsi sebagai tempat penyimpanan instruksi/data yang akses datanya digunakan oleh CPU dan perangkat Masukan/Keluaran. Memori utama termasuk tempat penyimpanan data yang yang bersifat volatile – tidak permanen -- yaitu data akan hilang kalau komputer dimatikan. Sistem operasi bertanggungjawab atas aktivitas-aktivitas yang berkaitan dengan managemen memori seperti:
• Menjaga track dari memori yang sedang digunakan dan siapa yang menggunakannya.
• Memilih program yang akan di-load ke memori.
4) Sistem Berkas.
Berkas adalah kumpulan informasi yang berhubungan, sesuai dengan tujuan pembuat berkas tersebut. Umumnya berkas merepresentasikan program dan data. Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori, volume, dll.). Sistem operasi mengimplementasikan konsep abstrak dari berkas dengan mengatur media penyimpanan massa, misalnya tapes dan disk. Sistem operasi bertanggung-jawab dalam aktivitas yang berhubungan dengan managemen berkas:
• Pembuatan dan penghapusan berkas.
• Pembuatan dan penghapusan direktori.
• Mendukung manipulasi berkas dan direktori.
• Memetakan berkas ke secondary-storage.
• Mem-back-up berkas ke media penyimpanan yang permanen (non-volatile).
5) Penyimpanan Sekunder
Data yang disimpan dalam memori utama bersifat sementara dan jumlahnya sangat kecil. Oleh karena itu, untuk menyimpan keseluruhan data dan program komputer dibutuhkan penyimpanan sekunder yang bersifat permanen dan mampu menampung banyak data, sebagai back-up dari memori utama. Contoh dari penyimpanan sekunder adalah hard-disk, disket, dll. Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan managemen disk seperti:
· free-space management.
· alokasi penyimpanan.
· penjadualan disk.
6) Sistem Proteksi
Proteksi mengacu pada mekanisme untuk mengontrol akses yang dilakukan oleh program, prosesor, atau pengguna ke sistem sumber daya. Mekanisme proteksi harus:
• Membedakan antara penggunaan yang sudah diberi izin dan yang belum.
• Menspesifikasi kontrol untuk dibebankan/diberi tugas.
• Menyediakan alat untuk pemberlakuan sistem.
7) Jaringan
Sistem terdistribusi adalah sekumpulan prosesor yang tidak berbagi memori, atau clock. Setiap prosesor mempunyai memori dan clock tersendiri. Prosesor-prosesor tersebut terhubung melalui jaringan komunikasi Sistem terdistribusi menyediakan akses pengguna ke bermacam sumber-daya sistem. Akses tersebut menyebabkan peningkatan kecepatan komputasi dan meningkatkan kemampuan penyediaan data.
8) Command - Interpreter System
Sistem Operasi menunggu instruksi dari pengguna (command driven). Program yang Membaca instruksi dan mengartikan control statements umumnya disebut: control-card interpreter, command-line interpreter dan terkadang dikenal sebagai shell.Command-Interpreter System sangat bervariasi dari satu sistem operasi ke sistem operasi yang lain dan disesuaikan dengan tujuan dan teknologi perangkat Masukan/Keluaran yang ada. Contohnya: CLI, Windows, Penbased (touch), dan lain-lain.
2. Tingkatan Layer Pada Sebuah Komputer
Ada sejumlah tingkatan dalam kita mempelajari konstruksi dan organisasi sistem komputer. Perbedaan paling sederhana diantara tingkatan tersebut adalah perbedaan antara hardware dan software. Kita bisa memandang hardware sebagai tingkat komputer yang paling bawah dan paling dasar, dimana pada hardware ini "layer" software ditambahkan. Software tersebut duduk (bertempat) di atas hardware, menggunakannya dan mengontrolnya. Hardware ini mendukung software dengan memberikan atau menyediakan operasi yang diperlukan software. Hardware dan Software merupakan tingkatan sederhana arsitektur komputer.
Tingkatan sederhana dikembangkan sebagai "multilayered machine" yang terdiri dari beberapa layer software di atas beberapa layer hardware.
HARDWARE LEVEL
1. Layer perangkat fisik (Physical Device Layer)
Dalam prakteknya merupakan layer komponen elektrik dan elektronik. Perangkat komputer modern yang paling canggih pun terbangun dari komponen elektronik sederhana seperti transistor, kapasitor, dan resistor dan komponen ini mengandalkan pada power supply dan lingkungan operasi yang cocok. Transistor juga dapat bertindak/berfungsi sebagai switch elektronik, baik ON (biner "1") ataupun OFF (biner "0").
2. Layer logika digital (Digital Logic Layer)
Semua operasi mesin yang paling dasar diberikan pada tingkat ini. Elemen-elemen dasar pada tingkat ini dapat menyimpan, memanipulasi, dan mentransmisi data dalam bentuk representasi biner sederhana.
Elemen logika digital ini disebut gate. Gate biasanya dikonstruksi dari sejumlah kecil transistor dan komponen elektronik lain. Namun demikian, banyak gate bisa dikombinasikan ke satu chip. Perangkat logika digital standart dikombinasikan bersama untuk membentuk prosesor komputer, memori komputer, dan komponen utama dari unit yang digunakan untuk input dan output.
3. Layer microprogrammed (Microprogrammed Layer)
Menginterpretasikan instruksi bahasa mesin dari layer mesin dan secara langsung menyebabkan elemen logika digital menjalankan operasi yang dikehendaki. Maka, sebenarnya ia adalah prosesor inner (bagian dalam) yang sangat mendasar dan dikendalikan oleh instruksi program kontrol primitifnya sendiri yang disangga dalam ROM inner-nya sendiri. Instruksi program ini disebut mikrokode dan program kontrolnya disebut mikroprogram. Mereka adalah salah satu contoh firmware (yakni, software dalam ROM). Layer microprogrammed tidak ada dalam komputer generasi pertama dan juga tidak terdapat dalam beberapa mikroprosesor kecil sekarang ini. Dalam mesin yang tidak mempunyai layer microprogrammed, prosesornya dikonstruksi secara langsung dari kombinasi komponen logika digital.
Penggunaan layer microprogrammed memungkinkan pabrikan memproduksi family of processors, yang semuanya memproses set instruksi mesin yang sama pada layer mesin, namun mereka berbeda dalam hal konstruksi dan kecepatannya. Dengan cara ini, pabrikan bisa menawarkan berbagai mesin yang berbeda power dan harganya. Software dapat dipindahkan dari satu mesin ke mesin lainnya dalam jangkauan tersebut (dalam lingkup family ini) tanpa perlu pengubahan. Semakin majunya teknologi, pabrikan bisa mengganti prosesor model lama dengan yang model baru. Maka, pelanggan dapat upgrade hardware tanpa harus menulis kembali software tersebut.
Rincian tingkat microprogrammed dari arsitektur ini tidak selalu diungkap oleh pabrikan, karena pabrikan juga ingin melindungi rahasia dagangnya. Sebagai contoh, Motorola tidak mengungkap semua rincian tingkat microprogrammed dari mikroposesor 16-bit-nya yang bernama MC68000. Rincian atau detail tingkatan microprogrammed dari komputer-komputer yang lebih besar, seperti minis atau mainframe, kadang-kadang dipublikasikan oleh pabrikan.
4. Layer mesin (Machine Layer)
Adalah tingkat hardware level yang paling bawah, dimana program dapat dituliskan dan memang hanya instruksi bahasa mesin (machine language) yang dapat diinterpretasikan secara langsung oleh hardware.
SOFTWARE LEVEL
1. Layer sistem operasi (Operating System Layer)
Mengontrol cara yang dilakukan oleh semua software dalam menggunakan hardware yang mendasari (underlying) dan juga menyembunyikan kompleksitas hardware dari software lain dengan cara memberikan fasilitasnya sendiri, yang memungkinkan software menggunakan hardware tersebut secara lebih mudah. la juga mencegah software lain melewati fasilitas ini, sehingga hardware tersebut hanya bisa diakses secara langsung oleh sistem operasi. Oleh karenanya, ia memberikan lingkungan yang tertata aman, dimana dalam lingkungan ini instruksi bahasa mesin dapat dieksekusi (dijalankan) secara aman dan efektif.
2. Layer software urutan atas (Higher Order Software Layer)
Mencakup semua program dalam bahasa selain bahasa mesin yang memerlukan penerjemahan ke dalam kode mesin sebelum mereka dapat dijalankan. Ketika diterjemahkan, program seperti itu akan mengandalkan (menyandarkan diri) pada fasilitas sistem operasi yang mendasari maupun instruksi-instruksi mesin mereka sendiri.
3. Layer aplikasi (Applications Layer)
Adalah bahasa komputer seperti yang dilihat oleh end-user. Komputer yang mendasari, apabila dipandang dari setiap layer, kadang-kadang disebut 'Virtual machine". Sebagai contoh, sistem operasi (operating) merupakan virtual machine bagi software di atasnya, sebab, untuk tujuan praktisnya, ia adalah "mesin" yang digunakan software.
3. Sistem pelayanan pada operasi pada sebuah komputer
1. Pembuatan program (program creation)
Sistem operasi menyediakan beragam fasilitas dan layanan untuk membantu pemrogram menulis program seperti edotor, biasanya berbentuk program utilitas. Program utilitas bukan bagian sistem operasi tapi dapat diakses lewat sistem operasi.
2. Eksekusi program
Sejumlah tugas perlu dilakukan untuk mengeksekusi program. Instruksi-instruksi dan data harus dimuat ke memori utama, perangkat-perangkat masukan/keluaran dan berkas-berkas harus diinialisasi, serta sumber daya-sumber daya harus disiapkan. Sistem operasi harus menangani semua itu untuk pemakai/program.
3. Pengaksesan perangkat masukan
Program yang sedang dijalankan kadang kala membutuhkan Masukan/Keluaran. Untuk efisiensi dan keamanan, pengguna biasanya tidak bisa mengatur peranti Masukan/Keluaran secara langsung, untuk itulah sistem operasi harus menyediakan mekanisme dalam melakukan operasi Masukan/Keluaran.
4. Pengaksesan system
Pada sistem public atau pemakai bersama (shared sistem), sistem operasi mngendalikan pengaksesan ke sumber daya-sumber daya sistem secara keseluruhan. Fungsi pengaksesan harus menyediakan proteksi terhadap sumber daya dan data dari pemakai tak diotorisasi serta harus menyelesaikan konflik-konfik dalam perebutan sumber daya.
5. Deteksi dan memberi tangggapan terhadap kesalahan
Sistem operasi harus selalu waspada terhadap kemungkinan error. Error dapat terjadi di CPU dan memori perangkat keras, Masukan/Keluaran, dan di dalam program yang dijalankan pengguna. Untuk setiap jenis error sistem operasi harus bisa mengambil langkah yang tepat untuk mempertahankan jalannya proses komputasi. Misalnya dengan menghentikan jalannya program, mencoba kembali melakukan operasi yang dijalankan, atau melaporkan kesalahan yang terjadi agar pengguna dapat mengambil langkah selanjutnya.
Sistem operasi adalah seperangkat program yang mengelola sumber daya perangkat keras komputer, dan menyediakan layanan umum untuk aplikasi perangkat lunak. Sistem operasi adalah jenis yang paling penting dari perangkat lunak sistem dalam sistem komputer. Tanpa sistem operasi, pengguna tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali program aplikasi boot diri.
Beberapa tipe dari sistem operasi yaitu :Real-time Operating System
Ini adalah sebuah sistem operasi multitasking yang bertujuan untuk menjalankan aplikasi waktu nyata. sistem operasi real-time sering menggunakan algoritma penjadwalan khusus sehingga mereka dapat mencapai sifat deterministik perilaku. Adapun tujuan utama dari sistem operasi real-time respon yang cepat dan diprediksi ke acara. Mereka juga memiliki-event driven atau desain time-sharing. Sebuah sistem switch-event antara tugas-tugas berdasarkan prioritas mereka sementara sistem operasi time-sharing beralih pekerjaan berdasarkan interupsi jam.
Ini adalah sebuah sistem operasi multitasking yang bertujuan untuk menjalankan aplikasi waktu nyata. sistem operasi real-time sering menggunakan algoritma penjadwalan khusus sehingga mereka dapat mencapai sifat deterministik perilaku. Adapun tujuan utama dari sistem operasi real-time respon yang cepat dan diprediksi ke acara. Mereka juga memiliki-event driven atau desain time-sharing. Sebuah sistem switch-event antara tugas-tugas berdasarkan prioritas mereka sementara sistem operasi time-sharing beralih pekerjaan berdasarkan interupsi jam.
Multi-user dan Single-user Operating System
Sistem operasi jenis ini memungkinkan beberapa pengguna untuk mengakses sistem komputer secara bersamaan. Sistem Time-sharing dapat diklasifikasikan sebagai sistem multi-user karena mereka memungkinkan akses beberapa pengguna ke komputer melalui berbagi waktu. sistem operasi Single-user, sebagai lawan dari sistem operasi multi-user, dapat digunakan oleh satu pengguna pada satu waktu. Bisa punya beberapa account pada sistem operasi Windows tidak membuat sistem multi-user. Sebaliknya, hanya administrator jaringan adalah pengguna yang sebenarnya. Tapi untuk sebuah sistem operasi mirip Unix, adalah mungkin bagi dua pengguna untuk login pada satu waktu dan ini kemampuan OS membuatnya menjadi sistem operasi multi-user.
Multi-tasking dan tasking Operating System-Single
Ketika sebuah program tunggal yang diijinkan untuk dijalankan pada satu waktu, sistem ini dikelompokkan dalam sebuah sistem tunggal-tasking, sedangkan dalam kasus sistem operasi memungkinkan pelaksanaan tugas pada satu waktu, diklasifikasikan sebagai sistem operasi multi-tasking. Multi-tasking dapat dari dua jenis yaitu, pre-emptive atau koperasi. Dalam pre-emptive multitasking, sistem operasi irisan waktu CPU dan mendedikasikan satu slot untuk masing-masing program. Unix-seperti sistem operasi seperti Solaris dan dukungan Linux pre-emptive multitasking. Koperasi multitasking dicapai dengan mengandalkan setiap proses untuk memberi waktu untuk proses lain dengan cara yang ditetapkan. MS Windows sebelum Windows 95 digunakan untuk mendukung multitasking kooperatif.
Distributed Operating System
Sistem operasi yang mengelola sekelompok komputer independen dan membuat mereka tampaknya satu komputer dikenal sebagai sistem operasi terdistribusi. Pengembangan jaringan komputer yang dapat dihubungkan dan saling berkomunikasi, memunculkan komputasi terdistribusi. perhitungan terdistribusi dilakukan pada lebih dari satu mesin. Ketika komputer dalam kerja kelompok dalam kerja sama, mereka membuat sistem terdistribusi.
Embedded System
sistem operasi ini dirancang untuk digunakan dalam sistem komputer embedded yang dikenal sebagai sistem operasi tertanam. Mereka dirancang untuk beroperasi pada mesin kecil seperti PDA dengan otonomi kurang. Mereka mampu beroperasi dengan jumlah terbatas sumber daya. Mereka sangat kompak dan sangat efisien dengan desain. Windows CE, FreeBSD dan Minix 3 adalah beberapa contoh sistem operasi tertanam.
5. Penjelasan Mengenai :
a. Sistem Time-Sharing
adalah beberapa terminal terhubung secara seri ke sebuah host komputer. Dalam proses TSS mulai nampak perpaduan teknologi komputer dan teknologi telekomunikasi yang pada awalnya berkembang sendiri- sendiri dan dari berbagai sumber time-sharing merupakan sebuah cara di mana sebuah sistem mengizinkan beberapa pengguna atau proses untuk menggunakan CPU dan memori. Dalam sistem tersebut, sistem operasi akan menggilir proses-proses yang sedang berjalan, dan mengizinkan setiap proses untuk dijalankan oleh CPU (serta disimpan di dalam memori), sebelum pindah ke proses selanjutnya.
Mesin-mesin tersebut telah menjadi cukup cepat sehingga kebanyakan pengguna saat itu dapat merasakan seolah-olah mereka menggunakan mesin tersebut hanya untuk sendiri. Secara teori, time-sharing mampu mengurangi biaya komputasi secara signifikan, mengingat sebuah mesin dapat digunakan oleh beberapa pengguna, bahkan ada yang mencapai angka ratusan pengguna. Time Sharing, sistem menggunakan CPU untuk penjadwalan dan multiprogramming untuk memberikan ekonomis interaktif penggunaan sistem. CPU beralih cepat dari satu pengguna lain. Alih-alih memiliki pekerjaan yang didefinisikan oleh gambar kartu spooled, setiap program membaca kartu kendali berikutnya dari terminal, dan output biasanya dicetak langsung ke layar.
b. Swapping
Proses swapping menukarkan sebuah proses keluar dari memori untuk sementara waktu ke sebuah penyimpanan sementara dengan sebuah proses lain yang sedang membutuhkan sejumlah alokasi memori untuk dieksekusi. Tempat penyimpanan sementara ini biasanya berupa sebuah fast disk dengan kapasitas yang dapat menampung semua salinan dari semua gambaran memori serta menyediakan akses langsung ke gambaran tersebut. Jika eksekusi proses yang dikeluarkan tadi akan dilanjutkan beberapa saat kemudian, maka ia akan dibawa kembali ke memori dari tempat penyimpanan sementara tadi. Bagaimana sistem mengetahui proses mana saja yang akan dieksekusi? Hal ini dapat dilakukan dengan ready queue. Ready queue berisikan semua proses yang terletak baik di penyimpanan sementara maupun memori yang siap untuk dieksekusi. Ketika penjadwal CPU akan mengeksekusi sebuah proses, ia lalu memeriksa apakah proses bersangkutan sudah ada di memori ataukah masih berada dalam penyimpanan sementara. Jika proses tersebut belum berada di memori maka proses swapping akan dilakukan seperti yang telah dijelaskan di atas.
Sebuah contoh untuk menggambarkan teknik swapping ini adalah sebagai berikut: Algoritma Round-Robin yang digunakan pada multiprogramming environment menggunakan waktu kuantum (satuan waktu CPU) dalam pengeksekusian proses-prosesnya. Ketika waktu kuantum berakhir, memory managerakan mengeluarkan (swap out) proses yang telah selesai menjalani waktu kuantumnya pada suatu saat serta memasukkan (swap in) proses lain ke dalam memori yang telah bebas tersebut. Pada saat yang bersamaan penjadwal CPU akan mengalokasikan waktu untuk proses lain dalam memori. Hal yang menjadi perhatian adalah, waktu kuantum harus cukup lama sehingga waktu penggunaan CPU dapat lebih optimal jika dibandingkan dengan proses penukaran yang terjadi antara memori dan disk.
c. Partisi
Dalam sistem berkas dan manajemen media penyimpanan adalah sebuah bagian dari memori atau media penyimpanan yang terpisah secara logis yang berfungsi seolah-olah bagian tersebut terpisah secara fisik. Media penyimpanan yang dapat dipartisi adalah memori (baik itu memori fisik ataupun memori maya oleh manajer memori sistem operasi), hard disk, magneto-optical disk (MO Disk), dan beberapa flash memory. Meskipun demikian, istilah partisi saat ini digunakan untuk merujuk pada bagian dari hard disk.
Partisi dibuat ketika pengguna membuatnya dengan menggunakan utilitas partisi (seperti halnya utilitas DOS/Linux fdisk, fips, Disk Druid, utilitas Windows diskpart, atau produk komersial Symantec Norton Partition Magic) dan memformatnya dengan memberinya sebuah sistem berkas tertentu.
Dalam rangka membuat partisi, maka sebenarnya yang dilakukan oleh pengguna tersebut adalah membuat sebuah "daftar isi" dari hard disk yang dimilikinya. Dalam sistem x86 serta x86-64, daftar isi yang dibuat adalah tabel partisi, yang disimpan di dalam Master Boot Record. Adalah mungkin bagi pengguna untuk membuat beberapa partisi di dalam sebuah hard disk, sehingga menjadikannya terlihat sebagai beberapa hard disk, meski jumlahnya dibatasi oleh skema partisiyang digunakannya. Dalam sistem x86 serta x86-64, partisi utama yang dapat dibuat hanyalah empat buah saja, sementara sistem IA-64 dapat mendukung partisi hingga 128 buah. Sistem operasi akan menganggap partisi-partisi yang berbeda ini dianggap sebagai sebuah media penyimpanan yang berbeda. Membuat beberapa partisi dalam sebuah hard disk akan lebih memudahkan dalam melakukan manajemen data pengguna.
Setiap sistem operasi dan sistem berkas memiliki sebutan tersendiri untuk menyebut partisi. Sebagai contoh, MS-DOS menggunakan istilah partition, sementara keluarga Windows NT menggunakan istilah volume. Hal ini disebabkan oleh Windows NT yang memiliki kemampuan untuk membentuk satu volume yang terdiri dari beberapa partisi terpisah, daripada sistem operasi MS-DOS yang hanya dapat membuat satu volume untuk satu partisi.