SISTEM OPERASI 1. Pengertian Sistem Operasi Sistem operasi adalah perangkat lunak komputer atau software yang bertugas untuk melakukan kontrol dan manajemen perangkat keras dan juga operasoperasi dasar sistem. Sistem operasi adalah pengelola seluruh sumber daya yang terdapat pasa sistem komputer dan penyedia layanan bagi pemakai sehingga memudahkan dalam penggunaan dan pemanfaatan sumber daya tersebut. 2. Peran sistem operasi a. Mengatur fasilitas komputer, memberikan layanan untuk pemogram dan menjadwal eksekusi program lainnya b. Menjembatani perangkat keras dari pemrogram c. Memberikan interface yang bagus untuk menggunakan sistem d. Mengontrol eksekusi program-program aplikasi yang memerlukan fasilitas dan pelayanan hardware komputer 3. Komponen-komponen sistem komputer a. Hardware : CPU, memory, perangkat I/O b. Sistem Operasi : mengontrol dan mengelola penggunaan sumber daya komputer c. Program aplikasi : compiler, database system, business program, games dll d. User : Manusia, mesin dan komputer. 4. Tujuan dan Fungsi Sistem Operasi a. Nyaman : suatu sistem operasi akan membuat sistem komputer lebih mudah untuk digunakan b. Efisien : sistem operasi memungkinkan fasilitas sistem komputer dapat digunakan dengan cara yang efisien. 5. Komponen-komponen utama sistem operasi 1. Manajemen proses 2. Manajemen memori 3. Manajemen input/output 4. Manajemen berkas 5. Protection system 6. Networking 7. Command interpreter system 6. Sistem operasi a. Dapat memerintah hardware, menangani alokasi sumber daya dan melindungi aplikasi dari koneksi langsung ke hardware b. Kernel adalah “jantung” nya sistem operasi. Bagian yang harus selalu beroperasi agar sistem operasi selalu hidup c. Tujuan dan tugas sistem operasi adalah mengelola seluruh sumber daya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan kepada user, sehingga user lebih mudah dan nyaman dalam menggunakan atau memanfaatkan sumber daya sistem komputer. 1. Sumber daya fisik : keyboard, mouse, joystick, disk drive, CD ROM, hard disk, printer, monitor, modem, ethernet card, peralatan multimedia dll. 2. Sumber daya abstrak : data dan program 7. Layanan yang diberikan sistem operasi 7.1 pembuatan pemrograman sistem operasi menyediakan berbagai fasilitas latana bagi pemogram untuk pembuatan program dalam bentuk utilitas (general utilitas) 7.2 eksekusi program sistem operasi melakukan penanganan pemuatan instruksi dan data ke memori utama, perangkat input/output (I/O) dan instalasi file, dan penyiapan fasilitas. 7.3 Akses ke Perangkat I/O Sistem operasi menangani set intruksi I/O atau sinyal kontrol untuk keperluan operasi 7.4 Akses Terkontrol ke file Sistem operasi dapat menyediakan perlindungan untuk mengontrol akses ke fasilitas yang digunakan secara bersama 7.5 Akses Sistem Sistem operasi mengontrol akses ke sistem sebagai keseluruhan dan ke sumber daya sistem tertentu. 8. Sistem operasi sebagai pengelola fasilitas Sebuah komputer adalah sekumpulan fasilitas untuk pemindahan, penyimpanan dan pengolahan data dan mengontrol ketiga fungsi yang dilakukan oleh operasi. Sistem operasi merupakan program yang dieksekusi oleh CPU, sistem operasi mengarahkan CPU dalam menggunakan fasilitas lainnya dan dalam perwaktuan dan atau penjadwalan eksekusi program. 9. Operasi-operasi Sistem Operasi Operasi-operasi pada sistem operasi umumnya dibangkitkan oleh perangkat keras, sedangkan perangkat lunak menciptakan operasi-operasi yang sifatnya pengecualian (exception) atau jebakan (trap), seperti pembagian dengan nol atau permintaan layanan dari sistem operasi. Beberapa masalah yang sering terjadi dalam proses adalah pengulangan abadi (infinite loop) dan munculnya proses yang dapat memodifikasi proses lain atau sistem operasi. Oleh karena itu, untuk mengatasi masalah-masalah tersebut dan melindungi komponenkomponen sistem lainnya, maka sistem operasi menerapkan operasi mode ganda (dual-mode), yaitu mode kernel dan mode pemakai. Dengan adanya mode ganda ini, maka proses yang dimiliki oleh kernel ataupun pemakai tidak dapat saling mempengaruhi satu sama lain, karena secara logika keduanya berjalan pada dunia yang berbeda. Untuk beralih dari mode kernel ke mode pemakai, begitu juga sebaliknya, maka diperlukan suatu pengalih (switch) yang dalam hal ini disebut dengan bit mode. Bit mode diimplementasikan dalam bentuk perangkat keras. Gambar 8 berikut menggambarkan pengalihan mode operasi dari pemakai ke kernel menggunakan bit mode, begitu pula sebaliknya. Mekanisme yang dapat dilakukan untuk mencegah terjadinya pengulangan abadi atau pengikatan sumber daya terus menerus oleh suatu proses tertentu adalah dengan cara membangkitkan sebuah interupsi setelah selang waktu tertentu. Pembangkitan interupsi ini dilakukan oleh sistem operasi dengan cara mengaktifkan penghitung waktu mundur (decrement counter), dimana pada saat penghitung waktu mundur mencapai nol maka sebuah interupsi akan dibangkitkan. Jika sebuah proses memakan waktu melebihi batas yang telah ditentukan, maka sistem operasi akan langsung memberhentikan proses tersebut agar kendali dapat dipegang kembali oleh sistem operasi. 10. Pengelolaan Proses Sebuah proses adalah sebuah program yang sedang berjalan. Proses disebut juga dengan entitas aktif sedangkan program disebut entitas pasif. Proses merupakan sebuah unit atau satuan dari pekerjaan. Setiap proses membutuhkan sumber daya untuk dapat menyelesaikan pekerjaannya. Sumber daya dapat berupa CPU, memori, masukan/keluaran, berkas (file), atau data awal/inisial. Setelah sebuah proses selesai, maka kendali terhadap semua sumber daya yang dapat digunakan ulang harus dikembalikan ke sistem operasi. Sebuah proses dapat memiliki thread-tunggal (singlethreaded) ataupun threadjamak (multi-threaded). Proses thread-tunggal hanya memiliki satu penghitung program (program counter – PC) yang berisi lokasi instruksi berikutnya untuk dieksekusi. Proses mengeksekusi instruksi-instruksi secara berurutan (sequential) satu persatu sampai selesai. Untuk proses threadjamak, setiap thread memiliki PC masing-masing, dengan demikian, secara teori, setiap thread dapat berjalan sendiri-sendiri atau paralel. Umumnya, sistem operasi memiliki banyak proses, beberapa pemakai, dan bahkan beberapa sistem operasi berjalan secara bersamaan pada satu atau lebih CPU. Hal ini dicapai dengan cara melakukan multiplexing CPU terhadap proses-proses atau threads. Beberapa aktivitas yang merupakan tanggung jawab sistem operasi yang berkenaan dengan pengelolaan proses adalah: 1. Menciptakan dan menghapus baik proses pemakai ataupun sistem operasi. 2. Menyela (suspend) dan melanjutkan (resume) proses. 3. Menyediakan mekanisme untuk sinkronisasi proses. 4. Menyediakan mekanisme untuk komunikasi proses. 5. Menyediakan mekanisme untuk penanganan jalan buntu (deadlock). 11. Pengelolaan Memori Sistem operasi bertanggung jawab atas pengelolaan memori yang meliputi pengaturan semua data yang ada di memori sebelum/sesudah proses berlangsung dan semua instruksi yang ada di memori yang akan dieksekusi. Pengelolaan memori juga ikut berperan serta dalam optimasi penggunaan CPU dan respon komputer terhadap pemakai dengan cara menentukan apa yang seharusnya ada di memori. Kegiatan-kegiatan pengelolaan memori meliputi: 1. Melacak dan mencatat bagian memori yang dipakai dan oleh siapa. 2. Menentukan proses-proses dan data yang dipindah ke dan dari memori. 3. Melakukan alokasi dan dealokasi ruang memori sesuai keperluan. 12. Pengelolaan Penyimpanan Pengelolaan penyimpanan (storage management) adalah sebuah layanan yang tidak kalah pentingnya yang disediakan oleh sistem operasi. Pengelolaan memori memberikan pandangan yang seragam dan logis mengenai media penyimpanan informasi seperti berkas (file) yang merupakan properti fisik abstrak dari unit penyimpanan logis. Setiap medium penyimpanan dikendalikan oleh piranti, misal: disk drive atau tape drive. Piranti-piranti ini memiliki sifat yang beragam, mulai dari kecepatan akses (access speed), kapasitas, tingkat transfer data (data transfer rate), dan metode akses (random atau sequential). Pengelolaan berkas (file system management) dilakukan melalui pengelompokan berkas ke dalam direktori (directory) atau map (folder) yang disusun secara hirarki dan menerapkan kendali akses untuk menentukan siapa yang dapat mengakses apa. Pekerjaanpekerjaan yang menjadi tanggung jawab sistem operasi dalam pengelolaan berkas adalah: 1. Membuat dan menghapus berkas dan direktori. 2. Perintah-perintah dasar untuk manipulasi berkas dan direktori. 3. Memetakan dan menyimpan berkas ke tempat penyimpanan tingkat dua (secondary storage). 4. Melakukan backup berkas ke media penyimpanan yang permanen/stabil (nonvolatile). Seiring dengan meningkatnya volume informasi yang dihasilkan dari kegiatan pemakai sehari-hari, maka muncullah kebutuhan akan media penyimpanan dengan kapasitas besar. Namun demikian, sistem operasi telah melakukan antisipasi untuk menangani munculnya kebutuhan ini dengan menjalankan mekanisme pengelolaan penyimpanan kapasitas besar (mass- storage management). Pengelolaan penyimpanan tipe ini biasanya melalui cakram (disk), dimana data yang disimpan melebihi kapasitas memori utama atau digunakan untuk keperluan jangka panjang. Pengelolaan penyimpanan menjadi hal yang cukup penting, karena kinerja keseluruhan operasi sistem komputer tergantung dari kecepatan sub-sistem cakram (baca:media penyimpanan) berikut algoritma yang digunakan dalam pengelolaannya. Beberapa hal yang menjadi tugas sistem operasi dalam pengelolaan penyimpanan adalah pengelolaan ruang kosong/bebas (free-space management), alokasi penyimpanan (storage allocation), dan penjadwalan cakram (disk scheduling). Media penyimpanan tingkat tiga (tertiary storage) tidak memerlukan kecepatan yang tinggi, seperti: penyimpanan optik (optical storage) dan pita magnet (magnetic tape), karena tujuannya untuk menyimpan data dalam jangka waktu yang lama dengan akses yang sedikit, misal: data backup. Dua tipe dari media penyimpanan tingkat tiga adalah write-once read-many-times (WORM) dan read-write (RW). Untuk media tipe WORM hanya bisa ditulis satu kali dan selanjutnya hanya bisa dibaca, sedangkan tipe RW dapat ditulis dan dibaca berkali-kali. Sub-sistem lainnya yang berada dalam ruang lingkup media penyimpanan adalah sub-sistem masukan/keluaran. Sub-sistem ini memiliki tugas berikut: 1. Buffering, penyimpanan data sementara pada saat data sedang ditransfer. 2. Caching, penyimpanan sebagian dari data pada media yang lebih cepat aksesnya untuk meningkatkan kinerja. 3. Spooling, menumpang-tindihkan keluaran dari suatu pekerjaan dengan masukan dari pekerjaan lain. 13. Proteksi dan Keamanan Sistem operasi melakukan proteksi dengan cara memberlakukan mekanisme untuk mengendalikan hak akses dari proses atau pemakai terhadap sumberdaya komputer. Hal ini ditempuh dengan memberikan identitas pemakai (user id) ke setiap pemakai dan identitas proses (process identity) ke setiap proses, dan menerapkan kebijakan hak akses (access right policy) untuk menentukan siapa/apa dapat mengakses apa. Kebijakan hak akses dapat dilakukan dengan membuat dan mematuhi matriks hak akses. Aspek keamanan yang diterapkan oleh sistem operasi ditujukan sebagai pertahanan dari serangan baik internal maupun eksternal terhadap sistem komputer. Setiap serangan yang datang memiliki potensi untuk merusak atau menghancurkan sistem komputer yang berakibat pada turunnya kinerja ataupun tidak berfungsinya sistem.