Komponen-komponen Sistem
- Manajemen Proses
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses seperti:
- Membuat dan menghapus proses pengguna dan sistem proses. Sistem operasi bertugas mengalokasikan sumber daya yang dibutuhkan oleh sebuah proses dan kemudian mengambil sumber daya itu kembali setelah proses tersebut selesai agar dapat digunakan untuk proses lainnya.
- Menunda atau melanjutkan proses. Sistem operasi akan mengatur proses apa yang harus dijalankan terlebih dahulu berdasarkan berdasarkan prioritas dari proses-proses yang ada. Apa bila terjadi 2 atau lebih proses yang mengantri untuk dijalankan, sistem operasi akan mendahulukan proses yang memiliki prioritas paling besar.
- Menyediakan mekanisme untuk proses sinkronisasi. Sistem operasi akan mengatur jalannya beberapa proses yang dieksekusi bersamaan. Tujuannya adalah menghindarkan terjadinya inkonsistensi data karena pengaksesan data yang sama, juga untuk mengatur urutan jalannya proses agar setiap proses berjalan dengan lancar
- Menyediakan mekanisme untuk proses komunikasi. Sistem operasi menyediakan mekanisme agar beberapa proses dapat saling berinteraksi dan berkomunikasi (contohnya berbagi sumber daya antar proses) satu sama lain tanpa menyebabkan terganggunya proses lainnya.
- Menyediakan mekanisme untuk penanganan deadlock. Deadlock adalah suatu keadaan dimana sistem seperti terhenti karena setiap proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses lain. Saling menunggu inilah yang disebut deadlock (kebuntuan). Sistem operasi harus bisa mencegah, menghindari, dan mendeteksi adanya deadlock. Jika deadlock terjadi, sistem operasi juga harus dapat memulihkan kondisi sistemnya.
- Manajemen Memori Utama
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 I/O. Memori utama termasuk tempat penyimpanan data yang yang bersifat volatile(tidak permanen), yaitu data akan hilang kalau komputer dimatikan.
Sistem komputer modern memiliki sistem hirarki memori, artinya memori yang ada di komputer disusun dengan tingkatan kecepatan dan kapasitas yang berbeda. Memori yang memiliki kecepatan sama dengan kecepatan prosesor memiliki kapasitas yang kecil, berkisar hanya dari ratusan KB hingga 4 MB dengan harga yang sangat mahal. Sedangkan memori utama yang kecepatannya jauh di bawah kecepatan prosesor memiliki kapasitas yang lebih besar, berkisar dari 128 MB hingga 4 GB dengan harga yang jauh lebih murah. Sistem hirarki memori ini memiliki tujuan agar kinerja komputer yang maksimal bisa didapat dengan harga yang terjangkau.
- Manajemen Memori Sekunder
Sarana memori sekunder memiliki ciri-ciri umum sebagai berikut:
- Non volatile(tahan lama). Walaupun komputer dimatikan, data-data yang disimpan di sarana memori sekunder tidak hilang. Data disimpan dalam piringan-piringan magnetik.
- Tidak berhubungan langsung dengan bus CPU. Dalam struktur organisasi komputer modern, sarana memori sekunder terhubung dengan northbridge. Northbridge yang menghubungkan sarana memori sekunder pada I/O dengan bus CPU.
- Lambat. Data yang berada di sarana memori sekunder memiliki waktu yang lebih lama untuk diakses (read/write) dibandingkan dengan mengakses di memori utama. Selain disebabkan oleh bandwidth bus yang lebih rendah, hal ini juga dikarenakan adanya mekanisme perputaran head dan piringan magnetik yang memakan waktu.
- Harganya murah. Perbandingan harga yang dibayar oleh pengguna per byte data jauh lebih murah dibandingkan dengan harga memori utama.
Sarana memori sekunder memiliki fungsi-fungsi sebagai berikut:
- Menyimpan File secara permanen. Data atau File diletakkan secara fisik pada piringan magnet dari disk, yang tidak hilang walaupun komputer dimatikan ( non volatile)
- Menyimpan program yang belum dieksekusi prosesor. Jika sebuah program ingin dieksekusi oleh prosesor, program tersebut dibaca dari disk, lalu diletakkan di memori utama komputer untuk selanjutnya dieksekusi oleh prosesor menjadi proses.
- Memori virtual. Adalah mekanisme sistem operasi untuk menjadikan beberapa ruang kosong dari disk menjadi alamat-alamat memori virtual, sehingga prosesor bisa menggunakan memori virtual ini seolah-olah sebagai memori utama. Akan tetapi, karena letaknya di memori sekunder, akses prosesor ke memori virtual menjadi jauh lebih lambat dan menghambat kinerja komputer.
Sistem operasi memiliki peran penting dalam manajemen memori sekunder. Tujuan penting dari manajemen ini adalah untuk keamanan, efisiensi, dan optimalisasi penggunaan sarana memori sekunder.
- Manajemen I/O
Fungsi-fungsi sistem operasi untuk sistem I/O:
- Penyanggaan ( buffering). Menampung data sementara dari/ke perangkat I/O
- Penjadwalan ( scheduling). Melakukan penjadualan pemakaian I/O sistem supaya lebih efisien.
- Spooling. Meletakkan suatu pekerjaan program pada penyangga, agar setiap perangkat dapat mengaksesnya saat perangkat tersebut siap.
- Menyediakan driver perangkat yang umum. Driver digunakan agar sistem operasi dapat memberi perintah untuk melakukan operasi pada perangkat keras I/O yang umum, seperti optical drive, media memori sekunder, dan layar monitor.
- Menyediakan driver perangkat yang khusus. Driver digunakan agar sistem operasi dapat memberi perintah untuk melakukan operasi pada perangkat keras I/O tertentu, seperti kartu suara, kartu grafis, dan motherboard
- Manajemen File
File adalah representasi program dan data yang berupa kumpulan informasi yang saling berhubungan dan disimpan di perangkat penyimpanan. Sistem File ini sangatlah penting, karena informasi atau data yang disimpan dalam File adalah sesuatu yang sangat berharga bagi pengguna. Sistem operasi harus dapat melakukan operasi-operasi pada File, seperti membuka, membaca, menulis, dan menyimpan File tersebut pada sarana memori sekunder. Oleh karena itu, sistem operasi harus dapat melakukan operasi File dengan baik.
Sistem operasi melakukan manajemen sistem File dalam beberapa hal:
- Pembuatan File atau direktori. File yang dibuat nantinya akan diletakkan pada direktori-direktori yang diinginkan pada sistem File. Sistem operasi akan menunjukkan tempat dimana lokasi File atau direktori tersebut akan diletakkan. Setelah itu, sistem operasi akan membuat entri yang berisi nama File dan lokasinya pada sistem File.
- Penghapusan File atau direktori. Sistem operasi akan mencari letak File atau direktori yang hendak dihapus dari sistem File, lalu menghapus seluruh entri File tersebut, agar tempat dari File tersebut dapat digunakan oleh File lainnya.
- Pembacaan dan menulis File. Proses pembacaan dan penulisan File melibatkan pointer yang menunjukkan posisi dimana sebuah informasi akan dituliskan di dalam sebuah File.
- Meletakkan File pada sistem memori sekunder. Sistem operasi mengatur lokasi fisik tempat penyimpanan File pada sarana memori sekunder
- 2. Pelayanan Sistem Operasi
Berikut ini adalah kategori-kategori layanan yang diberikan oleh sistem operasi:
- Antarmuka. Sistem operasi menyediakan berbagai fasilitas yang membantu programmer dalam membuat program seperti editor. Walaupun bukan bagian dari sistem operasi, tapi layanan ini diakses melalui sistem operasi.
- Eksekusi Program. Sistem harus bisa me- load program ke memori, dan menjalankan program tersebut. Program harus bisa menghentikan pengeksekusian baik secara normal maupun tidak (ada error).
- Operasi Masukan/Keluaran. Program yang sedang dijalankan kadang kala membutuhkan Masukan/Keluaran. Untuk efisiensi dan keamanan, pengguna biasanya tidak bisa mengatur piranti masukan/keluaran secara langsung, untuk itulah sistem operasi harus menyediakan mekanisme dalam melakukan operasi masukan/keluaran.
- Manipulasi Sistem Berkas. Program harus membaca dan menulis berkas, dan kadang kala juga harus membuat dan menghapus berkas.
- Komunikasi. Kadang kala sebuah proses memerlukan informasi dari proses lain. Ada dua cara umum dimana komunikasi dapat dilakukan. Komunikasi dapat terjadi antara proses dalam satu komputer, atau antara proses yang berada dalam komputer yang berbeda tetapi dihubungkan oleh jaringan komputer. Komunikasi dapat dilakukan dengan share-memory atau message-passing, dimana sejumlah informasi dipindahkan antara proses oleh sistem operasi.
- Deteksi Error. 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 mempertahanan 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.
Disamping pelayanan di atas, terdapat juga layanan-layanan lain yang bertujuan untuk mempertahankan efisiensi sistem itu sendiri. Layanan tambahan itu yaitu:
- Alokasi Sumber Daya. Ketika beberapa pengguna menggunakan sistem atau beberapa program dijalankan secara bersamaan, sumber daya harus dialokasikan bagi masing-masing pengguna dan program tersebut.
- Accounting. Kita menginginkan agar jumlah pengguna yang menggunakan sumber daya, dan jenis sumber daya yang digunakan selalu terjaga. Untuk itu maka diperlukan suatu perhitungan dan statistik. Perhitungan ini diperlukan bagi seseorang yang ingin merubah konfigurasi sistem untuk meningkatkan pelayanan.
- Proteksi. Layanan proteksi memastikan bahwa segala akses ke sumber daya terkontrol; dan tentu saja keamanan terhadap gangguan dari luar sistem tersebut. Keamanan bisa saja dilakukan dengan terlebih dahulu mengindentifikasi pengguna. Ini bisa dilakukan dengan meminta password bila ingin menggunakan sumber daya.
- 3. System Call
Mengenai shell, shell itu sendiri secara umum adalah layer yang berfungsi sebagai interface antara user dan inti dalam sistem operasi (kernel). Melalui shell, user dapat memberi perintah-perintah yang akan dikirim ke sistem operasi, sehingga shell ini merupakan layer yang menerima interaksi dari user secara langsung. Shell dalam SO secara umum dibagi menjadi 2, Command Line(CLI) dan Graphical(GUI). Jadi dengan kata lain, system calls berperan sebagai interface dalam layanan-layanan yang disediakan oleh sistem operasi.
Untuk lebih jelasnya lihat gambar berikut. Contoh di atas adalah sytem calls di dalam program yang membaca data dari satu file lalu meng- copy-nya ke file lain.
- 4. Sistem Program
- Manajemen/manipulasi Berkas. Membuat, menghapus, menyalin, mengganti nama, mencetak, memanipulasi berkas dan direktori.
- Informasi Status. Beberapa program meminta informasi tentang tanggal, jam, jumlah memori dan disk yang tersedia, jumlah pengguna dan informasi yang sejenis.
- Modifikasi Berkas. Membuat berkas dan memodifikasi isi berkas yang disimpan pada disk atau tape.
- Pendukung Bahasa Pemograman. Kadang kala kompilator, assembler, interpreter, dari bahasa pemograman diberikan kepada pengguna dengan bantuan sistem operasi.
- Loading dan Eksekusi Program. Ketika program di assembly atau dikompilasi, program tersebut harus di load ke dalam memori untuk dieksekusi. Untuk itu sistem harus menyediakan absolute loaders, relocatable loaders, linkage editors, dan overlay loaders.
- Komunikasi. Komunikasi menyediakan mekanisme komunikasi antara proses, pengguna, dan sistem komputer yang berbeda. Sehingga pengguna bisa mengirim pesan, browse web pages, mengirim e-mail, atau mentransfer berkas.
- 5. Struktur Sistem Operasi
- Struktur Sederhana
Begitu pula dengan UNIX, yang pada awalnya juga terbatas oleh hardware yang ada. Sistem ini dapat dibagi menjadi dua bagian, yaitu kernel dan program sistem. Kernel sendiri dapat dibagi menjadi dua bagian, yaitu device driver dan interface, yang kemudian terus berkembang seiring dengan perkembangan UNIX. Berikut ini adalah skema struktur UNIX.
- Monolithic System
Kelemahan :
- Pengujian dan penghilangan kesalahan sulit karena tidak dapat dipisahkan dan dilokalisasi.
- Sulit dalam menyediakan fasilitas pengamanan.
- Merupakan pemborosan bila setiap komputer harus menjalankan kernel monolitik sangat besar sementara sebenarnya tidak memerlukan seluruh layanan yang disediakan kernel.
- Tidak fleksibel.
- Kesalahan pemograman satu bagian dari kernel menyebabkan matinya seluruh sistem.
Keunggulan :
- Layanan dapat dilakukan sangat cepat karena terdapat di satu ruang alamat.
Kebanyakan UNIX sampai saat ini berstruktur monolitik. Meskipun monolitik, yaitu seluruh komponen/subsistem sistem operasi terdapat di satu ruang alamat tetapi secara rancangan adalah berlapis. Rancangan adalah berlapis yaitu secara logik satu komponen/subsistem merupakan lapisan lebih bawah dibanding lainnya dan menyediakan layanan-layanan untuk lapisan-lapisan lebih atas. Komponen-komponen tersebut kemudia dikompilasi dan dikaitkan (di-link) menjadi satu ruang alamat.
Untuk mempermudah dalam pengembangan terutama pengujian dan fleksibilitas, kebanyakan UNIX saat ini menggunakan konsep kernel loadable modules,yaitu:
- Bagian-bagian kernel terpenting berada di memori utama secara tetap.
- Bagian-bagian esensi lain berupa modul yang dapat ditambahkan ke kernel saat diperlukan dan dicabut begitu tidak digunakan lagi di waktu jalan (run time).
- Pendekatan Berlapis (Layered Approach)
Lapisan-lapisan sistem operasi adalah suatu abstraksi dari enkapsulasi sekumpulan struktur data dalam sistem operasi. Layer yang berada di atas bisa mengakses operasi-operasi yang tersedia di layer bawahnya. Stallings memberi model yang lebih detail, sebagai berikut:
- Layer 1. Berisi berbagai sirkuit elektronik, misal register, memory cells, dan logic gate.
- Layer 2. Berisi instruksi prosesor, misal instruksi aritmatika, instruksi transfer data, dsb.
- Layer 3. Penambahan konsep seperti prosedur/subrutin, maupun fungsi yang me-return nilai tertentu.
- Layer 4. Penambahan interrupt.
- Layer 5. Program sebagai sekumpulan instruksi yang dijalankan oleh prosesor.
- Layer 6. Berhubungan dengan secondary storage device, yaitu membaca/menulis head, track, dan sektor.
- Layer 7. Menciptakan alamat logika untuk proses. Mengatur hubungan antara main memory, virtual memory, dan secondary memory.
- Layer 8. Program sebagai sekumpulan instruksi yang dijalankan oleh prosesor.
- Layer 9. Berhubungan dengan secondary storage device, yaitu membaca/menulis head,track, dan sektor.
- Layer 10. Menciptakan alamat logika untuk proses. Mengatur hubungan antara main memory, virtual memory, dan secondary memory.
- Layer 11. Program sebagai sekumpulan instruksi yang dijalankan oleh prosesor.
- Layer 12. File adalah objek yang memiliki nama dan ukuran. Abstraksi dari layer 9.
- Layer 13. Menyediakan interface agar bisa berinteraksi dengan pengguna.
Layer dari 1-4 bukanlah bagian dari sistem operasi dan masih menjadi bagian dari prosesor secara ekslusif.
Layer ke-5 hingga ke-7, sistem operasi sudah berhubungan dengan prosesor. Selanjutnya dari layer ke-8 hingga 13, sistem operasi berhubungan dengan media penyimpanan maupun perlatan-peralatan lain yang ditancapkan, misalnya peralatan jaringan.
- Mesin Virtual
- Perangkat keras (semua bagian fisik komputer)
- Kernel (program untuk mengontrol disk dan sistem file, multi-tasking, load-balancing, networking dan security)
- Sistem program (program yang membantu general user)
- Client System Model
- Karakteristik Server
- Pasif
- Menunggu request
- Menerima request, memproses mereka dan mengirimkan balasan berupa service
- Karakteristik Client
- Aktif
- Mengirim request
- Menunggu dan menerima balasan dari server
0 komentar:
Post a Comment