MODUL PERKULIAHAN (APLIKOM) Sistem Operasi (Operating System) Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komunikasi Penyiaran 02 90001 Abstract Untuk menjalankan sebuah Komputer membutuhkan system operasi. Sistem operasi yang sekarang ini beredar didunia antara lain windows 3.11. Windows 9X, Windows NT. Mac OS, Noveil OS/2, BeOS, dan Unix, secara umum UNIX sendiri berkembang dalam bentuk yang beragam, antara lain : BSD-44, Net BSD, Free BSD, Solaris, SunOS, AIX, QNS, Xenix, SCO, Mach, Xinu, GNU Hurd, Open BSD, dan Linux secara umum. Kompetensi Mahasiswa lebih memahami tentang struktur dan fungsi dari suatu sistem operasi secara umum
Sistem Operasi Pendahuluan Untuk menjalankan sebuah computer membutuhkan system operasi. Sistem operasi yang sekarang ini beredar didunia antara lain windows 3.11. Windows 9X, Windows NT. Mac OS, Noveil OS/2, BeOS, dan Unix, secara umum UNIX sendiri berkembang dalam bentuk yang beragam, antara lain : BSD-44, Net BSD, Free BSD, Solaris, SunOS, AIX, QNS, Xenix, SCO, Mach, Xinu, GNU Hurd, Open BSD, dan Linux secara umum. Pengertian Dan Tujuan Operating System (Sistem Operasi) Secara garis besar sistem operasi dapat kita definisikan sebagai perangkat lunak atau software yang bertindak sebagai perantara antara pemakai (USER) dengan perangkat keras (Hardware). Tujuan adanya sistem operasi ini untuk : a. Menjalankan program-program dari user dan membantu user dalam menggunakan komputer. b. Menyediakan sarana agar pemakaian computer menjadi mudah (convenient) c. Memanfaatkan perangkat keras computer yang terbatas secara efesiensi. Proses Yang Terjadi Pada Sistem Operasi Saat komputer dinyalakan pertama kali, sistem operasilah yang pertama kali dijalankan. Sistem operasi tersebut mengatur semua proses yang terjadi dalam komputer, termasuk menterjemahkan masukan, mengatur proses internal, memanajemen penggunaan memori dan menentukan keluaran (output) ke peralatan yang sesuai. Proses yang terjadi pada saat Komputer dinyalakan : Sistem BIOS (Basic Input/Output sistem) akan membaca semua periperal yang ada pada komputer kita. Jika terjadi error (kesalahan) maka BIOS akan melaporkannya kepada kita dengan mengeluarkan bunyi Beep yang masing-masing bunyi memiliki arti masingmasing. Jika tidak ada error maka BIOS akan melanjutkan proses dan akan membaca harddisk pada sector O (sektor awal) yang berisi sistem operasi. Jika BIOS menemukan sistem operasi terinstal pada harddisk tersebut maka BIOS akan melemparkan tugas selanjutnya kepada sistem operasi yang ada. 2
Oleh sistem operasi, semua informasi yang dikirim oleh BIOS akan digunakan untuk melakukan Booting selanjutnya, sehingga akhirnya sistem computer kita dapat menyala dengan benar dan dapat digunakan. Catatan : Booting sendiri adalah proses menghidupkan komputer dimana proses ROM (Read Only Memory) mengirim perintah ke CPU (Central Processing Unit) untuk memulai operasional saat komputet dinyalakan. Booting dibagi atas dua : Booting Dingin : Ketika komputer dalam kondisi sudah disalurkan listrik tapi power belum dinyalakan. Booting Panas : Proses menghidupkan komputer dari tombol power pada CPU. Struktur Sistem Komputer Tidak ada suatu ketentuan khusus tentang bagaimana seharusnya struktur sistem sebuah komputer. Setiap ahli dan desainer arsitektur komputer memiliki pandangannya masingmasing. Akan tetapi, untuk mempermudah kita memahami detail dari sistem operasi di babbab berikutnya, kita perlu memiliki pengetahuan umum tentang struktur sistem komputer. Operasi Sistem Komputer Secara umum, sistem komputer terdiri atas CPU dan sejumlah device controller yang terhubung melalui sebuah bus yang menyediakan akses ke memori. Umumnya, setiap device controller bertanggung jawab atas sebuah hardware spesisfik. Setiap device dan CPU dapat beroperasi secara konkuren untuk mendapatkan akses ke memori. Adanya beberapa hardware ini dapat menyebabkan masalah sinkronisasi. Karena itu untuk mencegahnya sebuah memory controller ditambahkan untuk sinkronisasi akses memori. Komponen Sistem Operasi Pada kenyataannya tidak semua sistem operasi mempunyai struktur yang sama, umumnya sebuah sistem operasi modern mempunyai komponen sebagai berikut: Managemen Proses Managemen Memori Utama Managemen Secondary-Storage Managemen Sistem I/O Managemen Berkas Sistem Proteksi 3
Jaringan Command-Interpreter System Manajemen Proses Proses adalah keadaan ketika sebuah program sedang dieksekusi. Sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU Time, Memori, berkas-berkas, serta perangkat-perangkat I/O Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan managemen proses seperti: Pelaksanaan dan penghapusan proses yang diinginkan user atau sistem Menunda atau melanjutkan proses Menyediakan mekanisme untuk proses sinkronisasi Menyediakan mekanisme untuk proses komunikasi Menyediakan mekanisme untuk penanganan deadlock Managemen Memori Utama Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word atau byte, yang ukurannya mencapai ratusan, ribuan, atau jutaan byte. Setiap word atau byte mempunyai alamat tersendiri. Memori utama berfungsi sebagai tempat penyimpanan yang akses utamanya digunakan oleh CPU atau perangkat I/O. memori utama termasuk tempat penyimpanan data yang sementara (volatile), artinya data dapat hilang begitu sistem dimatikan. Sistem operasi bertanggung jawab 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 Mengalokasikan dan meng-dealokaasikan ruang memori sesuai kebutuhan Managemen Secondary-Storage Data yang disimpan dalam memori utama bersifat sementara dan jumlahnya sangat kecil. Oleh karena itu, untuk menyimpan keseluruhan data dan program komputer dibutuhkan secondary-storage yang bersifat pemanen dan mampu menampung banyak data. Contoh dari secondary-storage adalah harddisk, flashdisk, CD Room, disket dan lain-lain. 4
Managemen Sistem I/O Managemen sistem I/O sering juga disebut device manager, yang fungsinya menyediakan device driver yang umum sehingga operasi I/O dapat seragam (seperti kegiatan untuk membuka, membaca, menulis, menjalankan dan menutup file atau program). Komponen sistem operasi untuk sistem I/O adalah: Buffer: menampung sementara data dari dan keperangkat I/O Spooling : melakukan penjadwalan pemakaian I/O Sistem, supaya lebih efektif dan efisien (pengaturan antrian) Menyediakan driver untuk dapat melakukan operasi rinci untuk perangkat keras I/O tertentu Managemen Berkas Berkas adalah kumpulan informasi yang berhubungan sesuai dengan tujuan pembuat berkas tersebut. Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori, volume dll). Sistem operasi bertanggung jawab terhadap: Pembuatan dan penghapusan berkas Pembuatan dan penghapusan direktori Mendukung manipulasi berkas dan direktori Memetakan berkas ke secondary storage Mem-backup berkas kemedia penyimpanan yang permanen (non-volatile) 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 Specify the controls to be imposed (menetapkan sistem pengaturan yang digunakan) Provide a mean of enforcement (menyiapkan alat yang digunakan) Jaringan Dukungan terhadap komunikasi data antar perangkat komputer mutlak diperlukan. Pada model sistem terdistribusi, dimana sistem operasi mengatur mekanisme penjadwalan penggunaan resourse komputer dalam jaringan, maka sekumpulan prosesor yang tidak berbagi memori atau clock diatur oleh sistem operasi komputer host untuk penggunaan prosesor dan alokasi tempat penyimpanan serta mekanisme pendistribusian data maupun proses yang dilakukan. 5
Tiap prosesor mempunyai memori sendiri, prosesor-prosesor tersebut terhubung melalui jaringan komunikasi, sistem terdistribusi menyediakan akses pengguna kebermacam sumberdaya sistem. Akses tersebut menyebabkan: Computation speed-up (proses komputasi semakin cepat) Increased data availability (peningkatan ketersediaan data) Enhanced reliability (peningkatan kemampuan) Command Interpreter System Sistem operasi menunggu intruksi dari user (command driven). Program yang dapat membaca intruksi dan mengartikan control statements berdasarkan masukan dari user umumnya disebut control-card interpreter, atau command-line interpreter. Pada sistem Unix sering disebut juga shell atau console. Command-interpreter system sangat bervariasi dari satu sistem operasi ke sistem operasi yang lain dan disesuaikan dengan tujuan dan teknologi I/O devices yang ada. Layanan Sistem Operasi Sebuah sistem operasi yang baik menurut Tanenbaum, harus memiliki layanan sebagai berikut: Pembuatan Program, yaitu sistem operasi menyediakanfasilitas dan layananuntuk membantu para pemogram untuk menulis program Eksekusi program, adalah kemampuan sistem untuk load program ke memori dan menjalankan program yang dikehendaki user maupun sistem Operasi I/O (pengakses I/O Device), merupakan kegiatan dimana pengguna tidak dapat secara langsung mengakses sumber daya perangkat keras, sehingga sistem operasi harus menyediakan mekanisme untuk melakukan operaasi I/O atas nama pengguna Sistem manipulasi berkas, adalah kemampuan program untuk operasi berkas(membaca, menulis, membuat dan menghapus berkas yang berupa file atau directori) Komunikasi,I adalah penukaran data/informasi antar dua atau lebih proses yang berada pada satu komputer atau lebih Deteksi Error, adalah kegiatan untuk menjaga kestabilan sistem dengan mendeteksi error, perangkat keras maupun operasi yang dilakukan. Deteksi dan pemberian tanggapan pada kesalahan, jika terjadi kesalahan pada sistem komputer maka sistem operasi harus memberikan tanggapan yang menjelaskan kesalahan yang terjadi serta dampaknya terhadap aplikasi yang sedang berjalan Efesiensi penggunaan sistem, diantaranya 6
Resourse allocator, yaitu mengalokasikan sumber daya hardware maupun software kebeberapa pengguna atau mengalokasikan job yang jalan pada saat yang bersamaan ke beberapa komputer dalam jaringan Proteksi sistem, yaitu untuk menjamin akses ke sistem sumber daya yang aman, dikendalikan oleh sistem sehingga pengguna dikontrol aksesnya ke sistem Accounting, adalah kegiatan merekam aktifitas pengguna, report pemakaian sumber daya. Sistem operasi yang baik harus mampu mengumpulkan data statistik penggunaan beragam sumber daya dan memonitor parameter kinerja System Call System call menyediakan interface antara program (program pengguna yang berjalan) dan bagian OS. System call menjadi jembatan antara proses dan sistem operasi. System call ditulis dalam bahasa assembly atau bahasa tingkat tinggi yang dapat mengendalikan mesin, contoh UNIX menyediakan system call: read, write operasi I/O untuk berkas. Seing pengguna program harus memberikan data (parameter) ke OS yang akan dipanggil. Contoh pada UNIX: read(buffer, max, size, file_id); Tiga cara memberikan parameter dari program ke sistem operasi adalah Melalui registers Menyimpan parameter pada data struktur (tabel) di memori, dan alamat tabel tersebut ditunjuk oleh pointer yang disimpan di register Push (store) melalui stack pada memori dan OS mengambilnya melalui POP pada stack tersebut Mesin Virtual Program sistem diatas kernel dapat menggunakan system call atau intruksi-intruksi hardware. Dalam beberapa hal, program sistem tidak membedakan kedua lapisan tersebut, program sistem memperlakukan system call dan hardware dilapisan yang sama. Beberapa sistem mengadopsi teknik ini supaya program sistem dapat dipanggil secara mudah oleh programprogram aplikasi. Meskipun program sistem berada ditingkat yang lebih tinggi dari rutin-rutin program aplikasi yang lain, program-pragram aplikasi akan melihat semua yang berada dibawahnya (dalam hirarki). 7
Gambar Sistem Virtual Perancangan Sistem dan Implementasi Target untuk pengguna: sistem operasi harus nyaman digunakan, mudah dipelajari, dapat diandalkan, aman dan cepat. Target untuk sistem: sistem operasi harus gampang dirancang, diimplementasi, dan dipelihara, sebagaimanafleksibel, error, dan efisien System Generation (Sysgen) Sistem operasi dirancang untuk dapat dijalankan di berbagai jenis mesin, sistemnya harus di konfigurasi untuk tiap tipe komputer. Program Sysgen mendapatkan informasi mengenai konfigurasi khusus ini dari sistem perangkat keras, ketika melakukan: Booting, yakni melalui komputer dengan me-load kernel Bootstrap program, yakni kode yang disimpan di code ROM yang dapat menempatkan kernel, memasukkannya kedalam memori, dan memulai eksekusinya. Struktur I/O Ada dua macam tindakan jika ada operasi I/O. Kedua macam tindakan itu adalah: Setelah proses I/O dimulai, kendali akan kembali ke user program saat proses I/O selesai (Synchronous). Instruksi wait menyebabkan CPU idle sampai interrupt berikutnya. Akan terjadi Wait loop (untuk menunggu akses berikutnya). Paling banyak satu proses I/O yang berjalan dalam satu waktu. Setelah proses I/O dimulai, kendali akan kembali ke user program tanpa menunggu proses I/O selesai (Asynchronous). System call permintaan pada sistem operasi untuk mengizinkan user menunggu sampai I/O selesai.device-status table mengandung data masukkan untuk tiap I/O device yang menjelaskan tipe, alamat, dan keadaannya. Sistem 8
operasi memeriksa I/O device untuk mengetahui keadaan device dan mengubah tabel untuk memasukkan interrupt. Jika I/O device mengirim/mengambil data ke/dari memory hal ini dikenal dengan nama (Direct Memory Access) DMA. Direct Memory Access Digunakan untuk I/O device yang dapat memindahkan data dengan kecepatan tinggi (mendekati frekuensi bus memori). Device controller memindahkan data dalam blok-blok dari buffer langsung ke memory utama atau sebaliknya tanpa campur tangan prosesor. Interrupt hanya terjadi tiap blok bukan tiap word atau byte data. Seluruh proses DMA dikendalikan oleh sebuah controller bernama DMA Controller (DMAC). DMA Controller mengirimkan atau menerima signal dari memori dan I/O device. Prosesor hanya mengirimkan alamat awal data, tujuan data, panjang data ke DMA Controller.. Interrupt pada prosesor hanya terjadi saat proses transfer selesai. Hak terhadap penggunaan bus memory yang diperlukan DMA controller didapatkan dengan bantuan bus arbiter yang dalam PC sekarang berupa chipset Northbridge. Bus Suatu jalur transfer data yang menghubungkan setiap device pada komputer. Hanya ada satu buah device yang boleh mengirimkan data melewati sebuah bus, akan tetapi boleh lebih dari satu device yang membaca data bus tersebut. Terdiri dari dua buah model: Synchronous bus di mana digunakan dengan bantuan clock tetapi berkecepatan tinggi, tapi hanya untuk device berkecepatan tinggi juga; Asynchronous bus digunakan dengan sistem handshake tetapi berkecepatan rendah, dapat digunakan untuk berbagai macam device 9
Struktur Storage Hal penting yang perlu diingat adalah program adalah bagian dari data. Register Tempat penyimpanan beberapa buah data volatile yang akan diolah langsung di prosesor yang berkecepatan sangat tinggi. Register ini berada di dalam prosesor dengan jumlah yang sangat terbatas karena fungsinya sebagai tempat perhitungan/komputasi data Cache Memory Tempat penyimpanan sementara ( volatile ) sejumlah kecil data untuk meningkatkan kecepatan pengambilan atau penyimpanan data di memori oleh prosesor yang berkecepatan tinggi. Dahulu cache disimpan di luar prosesor dan dapat ditambahkan. Misalnya pipeline burst cache yang biasa ada di komputer awal tahun 90-an. Akan tetapi seiring menurunnya biaya produksi die atau wafer dan untuk meningkatkan kinerja, cache ditanamkan di prosesor. Memori ini biasanya dibuat berdasarkan desain static memory. Random Access Memory (RAM) - Main Memory Tempat penyimpanan sementara sejumlah data volatile yang dapat diakses langsung oleh prosesor. Pengertian langsung di sini berarti prosesor dapat mengetahui alamat data yang ada di memori secara langsung. Sekarang, RAM dapat diperoleh dengan harga yang cukup murah dangan kinerja yang bahkan dapat melewati cache pada komputer yang lebih lama. Extension Memory Tambahan memory yang digunakan untuk membantu proses-proses dalam komputer, biasanya berupa buffer. Peranan tambahan memori ini sering dilupakan akan tetapi sangat penting artinya untuk efisiensi. Biasanya tambahan memori ini memberi gambaran kasar kemampuan dari perangkat tersebut, sebagai contoh misalnya jumlah VGA memory, soundcard memory. Secondary Storage Media penyimpanan data yang non-volatile yang dapat berupa Flash Drive, Optical Disc, Magnetic Disk, Magnetic Tape. Media ini biasanya daya tampungnya cukup besar dengan harga yang relatif murah. Portability-nya juga relatif lebih tinggi. 10
Gambar Struktur Harddisk Hirarki Storage Gambar Struktur Optical Disc Dasar susunan sistem storage adalah kecepatan, biaya, sifat volatilitas. Caching menyalin informasi ke storage media yang lebih cepat; Main memory dapat dilihat sebagai cache terakhir untuk secondary storage. Menggunakan memory berkecepatan tinggi untuk memegang data yang diakses terakhir. Dibutuhkan cache management policy. Cache juga memperkenalkan tingkat lain di hirarki storage. Hal ini memerlukan data untuk disimpan bersama-sama di lebih dari satu level agar tetap konsisten. 11
Gambar Hirarki Strorage Proteksi Hardware dan Struktur Jaringan Proteksi Perangkat Keras Dual Mode Operation Membagi sumber daya sistem yang memerlukan sistem operasi untuk menjamin bahwa program yang salah tidak menyebabkan program lain berjalan salah juga. Menyediakan dukungan hardware untuk membedakan minimal dua mode operasi yaitu: User Mode - Eksekusi dikendalikan oleh user; Monitor/Kernel/System Mode - Eksekusi dikendalikan oleh sistem operasi. Instruksi tertentu hanya berjalan di mode ini. (Privileged Instruction). Ditambahkan sebuah bit penanda operasi. Jika terjadi interrupt, maka hardware berpindah ke monitor mode. I/O Protection Gambar Dual Mode Operation Semua instruksi I/O umumnya Privileged Instruction (kecuali pada DOS, dan program tertentu). Harus menjamin user program tidak dapat mengambil alih kontrol komputer di monitor mode 12
. Gambar I/O Protection Memory Protection Harus menyediakan perlindungan terhadap memori minimal untuk interrupt vector dan interrupt service routine. Ditambahkan dua register yang menentukan di mana alamat legal sebuah program boleh mengakses, yaitu base register untuk menyimpan alamat awal yang legal dan limit register untuk menyimpan ukuran memori yang boleh diakses Memori di luar jangkauan dilindungi. Gambar Memory Protection CPU Protection Timer melakukan interrupt setelah perioda waktu tertentu untuk menjamin kontrol sistem operasi. Timer diturunkan setiap clock. Ketika timer mencapai nol, sebuah Interrupt terjadi. Timer biasanya digunakan untuk mengimplementasikan pembagian waktu. Timer dapat juga digunakan untuk menghitung waktu sekarang walaupun fungsinya sekarang ini sudah digantikan Real Time Clock (RTC). (System Clock Timer terpisah dari Pencacah Waktu). Timer sekarang secara hardware lebih dikenal sebagai System Timer/ CPU Timer. Load Timer juga Privileged Instruction. Struktur Jaringan Local Area Network Muncul untuk menggantikan komputer besar. Dirancang untuk melingkupi suatu daerah yang kecil. Menggunakan peralatan berkecepatan lebih tinggi daripada WAN. Hanya terdiri atas sejumlah kecil komputer. 13
Gambar 1-21. Local Area Network Wide Area Network Menghubungkan daerah yang lebih luas. Lebih lambat, dihubungkan oleh router melalui jaringan telepon. Gambar 1-22. Wide Area Network 14
15
Daftar Pustaka Pawirosumarto, Suharno, 2008, Aplikasi komputer, Jakarta:Mitra Wacana Media Pawirosumarto, Suharno., Elmande, Yusuf., Nugraha, Nugi Edisi Ketiga, Jakarta:Mitra Wacana Media Kadir, Abdul, 2007, Pengenalan Teknologi informasi, Yogyakarta, Penerbit Andi 16