Akim Manaor Hara Pardede, ST Email : akimmhp@live.com
Buku Pegangan A. Silberschatz, P.B. Galvin, Operating System Concepts 5th Ed., Addison-Wesley, 1998 A. Silberschatz, P.B. Galvin, G. Gagne, Operating System Concepts with Java 6th Ed., John Wiley & Sons, 2004 Stalling, W, Operating System, 2th Ed, New-Jersey : Prentice-Hall, 1995 Tanenbaum. Operating System : Design, Implementation, 4th Ed, New-Jersey : Prentice-Hall, 1995 Selected papers : case study on various OS : NT, Solaris, Linux, etc.
Pembahasan Apakah suatu Operating System? Perkembangan Operating System Struktur-struktur Sistem Komputer Struktur-struktur Operating System
Apakah suatu Operating System? Sebagai perantara (intermediatary) user komputer dengan hardware, dalam hal user mengeksekusi program dalam hal berinteraksi dengan system resource
Fungsi dan Tujuan SO secara Obyektif Convenience : user merasakan kemudahan dan kenyamanan dalam penggunaan Efficiency : resources system dapat diutilisasi semaksimal mungkin Robustness : kehandalan sistem proteksi terhadap kesalahan user Evolution : memudahkan pengembangan, mendukung sistem baru dan program aplikasi yang berkembang
Abstraksi Sistem Komputer
Komponen-komponen Sistem Komputer Perangkat keras CPU, RAM, storage (hardisk, floppy disk, CDROM, dsb), piranti I/O (printer, scanner, dsb) Operating System Mengontrol dan mengkoordinasikan penggunaan Mengontrol dan mengkoordinasikan penggunaan hardware dari berbagai program aplikasi dan user Program-program aplikasi Pengaturan penggunaan system resources untuk pemecahan problem kebutuhan user (kompiler, sistem basis data, games, dan program-program untuk bisnis) User Orang, mesin, atau komputer lain
Definisi Operating System Sebagai System Resource Allocator OS sebagai resource manager diperlukan karena adanya beberapa user/program aplikasi Karena adanya beberapa resource untuk dapat diutilisasi oleh user/program aplikasi dalam suatu keterbatasan Manajemen diperlukan untuk mencegah konflik dan berperan sebagai interface
Definisi Operating System (Lanjutan ) Sebagai Control Program Mengontrol eksekusi program dari adanya kesalahan utilisasi Menghindari pemakaian komputer yang tidak benar Khususnya untuk I/O device Sebagai Kernel OS merupakan program yang berjalan sepanjang sistem perangkat keras dihidupkan
Jadi apa definisi Operating System? Dalam hal OS sebaiknya kita tidak membatasi diri dengan definisi karena definisi akan berkembang sejalan dengan perkembangan teknologi dan kebutuhan, tetapi secara garis besar system operasi bisa diberi defenisi sbb : Software yang mengontrol hardware Program yang menjadikan hardware lebih mudah untuk digunakan Kumpulan program yang mengatur kerja hardware sesuai keinginan user Manager sumber daya atau pengalokasian sumber daya Sebagai program pengendali Sebagai kernel Sebagai guardian (pengawal) yang menjaga komputer dari berbagai kejahatan komputer
Konsep Dasar SO Secara Global Sistem komputasi adalah hanya sebuah mesin yang dijalankan oleh programmer yang juga bertindak sebagai operator Proses-proses masih sederhana dan diaktifkan melalui console dan tombol-tombol pada panel Punch card / paper Bahasa mesin Buffer, flag, register dan control bit lain
Hasil Perkembangan Teknologi HW Teknologi storage : magnetic tape Program dan data dapat disimpan dalam media yang berkapasitas besar dan relatif mudah di-load Modul-modul perangkat lunak pendukung yang membantu pengoperasian perangkat keras serta memberikan lingkungan yang lebih baik bagi pembuat program aplikasi Device driver (misalnya I/O), library fungsi komputasi, assembler, modul loader
High Level Language Hasil lebih lanjut : munculnya high level language Sehingga penulisan program menjadi jauh lebih mudah Tahapan pemrograman : Program (source code) ditulis dalam bahasa ybs Dikompilasi oleh compiler ke dalam assembly Ditranslasikan ke dalam bahasa mesin (object code) oleh assembler
Tahapan Eksekusi Load compiler Masukan : source code, keluaran : assembly code Me-load assembler Masukan : assembly code, keluaran : object code Me-load linker Masukan : object code & library, keluaran : executable code Run executable code Jika terjadi error seluruh rangkaian harus diulangi
I. Sistem-sistem Batch Sederhana Operator Secara khusus menangani beroperasinya sistem Programmer Menspesifikasikan aktifitas-aktifitas job Menspesifikasikan aktifitas-aktifitas job Automatic Job Sequencing : transfer kontrol secara otomatis dari satu job ke job yang lain. Menjadi dasar awalnya operating system Resident Monitor Program kecil untuk melakukan Automatic Job Sequencing
Ilustrasi Batch System Operator membawa card ke 1401 : card dibaca oleh card reader Hasil pembacaan data dari card reader dismpan ke dalam tape Operator membawa ke 7094 untuk melakukan komputasi Outputnya kemudian dimasukkan ke output tape Operator membawa hasil output tape ke 1401 untuk dicetak
Layout Memori Sistem Batch Sederhana
1. Resident Monitor Program selalu resident di memory Diaktifkan saat komputer dihidupkan Transfer kontrol ke program yang di-load & dikembalikan saat program selesai Control card berisi spesifikasi bagaimana program dijalankan Loader Job sequencing Control card interpreter User program area
Kelemahan Batch System Masih ketergantungan pada operator manusia untuk setup dan sequencing CPU lebih banyak idle saat pergantian job atau I/O
2. Overlapped Operations Overlapping bekerjanya CPU dan I/O Maksimalisasi utilisasi CPU dan I/O devices Aktifitas-aktifitas dalam running job : card reading, CPU, line printing Metode off-line : loading job ke dalam memory dari tape, card reading, dan line printing secara offline Spooling : ketika melakukan suatu job, OS : Membaca job berikutnya dari card reader ke dalam storage pada disk (job queue) Output pada job sebelumnya dicetak dari disk ke printer
Overlapped Operations (lanjutan) Job pool : struktur data yang memungkinkan OS memilih job yang mana yang akan dieksekusi berikutnya untuk meningkatkan utilisasi CPU
II. Multiprogramming Sistem Batch Beberapa job di simpan dalam memori pada waktu yang sama, dan CPU mengerjakan job tersebut secara bersamaan (multiplexing)
Kebutuhan OS untuk Multiprogramming Fungsi/routine untuk I/O disediakan oleh sistem Manajemen memori : sistem harus dapat mengalokasikan memori untuk beberapa job CPU scheduling : sistem harus mampu mengorganisir penjadualan beberapa job yang di-run. Pengalokasian devices
III. Sistem Time-Sharing, Interactive Computing CPU di-multiplex antara beberapa job dan disimpan dalam memori & disk (CPU dialokasikan untuk job jika job tersebut ada di memori) Job di swap-in dan swap-out dari memori ke disk Komunikasi on-line antara user dan sistem; ketika OS menyelesaikan eksekusi dari suatu command, maka OS akan mencari control statement berikutnya dari user (keyboard) Sistem on-line harus tersedia untuk user untuk mengakses data dan code
IV. Multiprocessing System Merupakan suatu system yang memiliki lebih dari 1 CPU (Processor). Pengerjaan Job dilakukan dgn 2 cara : 1. Paralel System 2. Distributed system
Parallel System Sistem multiprocessor dimana terdapat lebih dari satu CPU Tightly coupled system processor membagi bersama (sharing) memori dan clock; komunikasi terjadi biasanya melalui shared memory Keuntungan Sistem Parallel Meningkatkan throughput Ekonomis Meningkatkan reliabilitas
Parallel System (Lanjutan..) Symmetric multiprocessing (SMP) Masing-masing processor run dan memiliki OS yang identik Pemrosesan yang banyak tidak menyebabkan Pemrosesan yang banyak tidak menyebabkan penurunan performance OS modern banyak yang mendukung sistem SMP Asymmetric multiprocessing Masing-masing processor diberikan tugas (task) yang spesifik; master processor menjadual dan mengalokasikan pekerjaan (work) pada slave processor Umumnya digunakan pada sistem yang besar
Arsitektur Symmetric Multiprocessing
Distributed System Loosely coupled system : Setiap site memiliki processor, memori lokal dan clock sendiri namun semua resource dapat diakses dari setiap site (eg. Database) OS mengatur alokasi resources & load sharing untuk speedup tingkat komputasi Jika suatu site down, site yang lain tetap bisa running (khusus data diperlukan duplikasi) - reliability Komunikasi data digunakan melalui jaringan atau sistem interkoneksi (switch)
Distributed System (Lanjutan..) Membutuhkan infrastruktur jaringan (network) Local Area Network (LAN), Wide Area Network (WAN), Wireless LAN (WLAN) Metode sistem dapat bersifat client-server atau peer- Metode sistem dapat bersifat client-server atau peerto-peer
Struktur Umum Client-Server
Struktur Umum Peer-to-Peer Arsitektur sistem terdistribusi Tidak ada kontrol tersentralisasi Node-node memiliki fungsi symmetric High capacity Many disk Node Many network connection Many CPU Internet Node Node Node Node
Clustered Systems Clustering memungkinkan dua atau lebih sistem mensharing storage Reliabilitas yang tinggi Asymmetric clustering : satu server run aplikasi sementara server yang lain standby Symmetric clustering : semua N host running aplikasi
Struktur Clustered Systems
VI. Real-Time Systems Rancangan OS khusus untuk aplikasi spesifik yang memerlukan waktu response cepat : hardware/software Misal : kontrol proses kimia, alat kedokteran/scientifik, ponsel, home appliances Terdapat batasan waktu tertentu untuk eksekusi (processing), response, dll Hard & soft real-time system
Hard Real-Time Systems Garansi bahwa task kritis pasti selesai dalam batasan waktu tertentu (terdapat deadline yang harus dipenuhi) Optimasi dilakukan dengan melakukan prioritas task, menghilangkan hardware yang lambat (disk). Data disimpan dalam short term memory atau read-only memory (ROM) Overhead dikurangi (dengan membatasi feature untuk aplikasi spesifik) : misal file-system
Soft Real-Time Systems Versi lain dari OS yang umum dengan menambahkan fasilitas prioritas task, buffering antar proses, dll Aplikasi spesifik untuk melakukan processing sementara secara cepat (multimedia, virtual reality, etc) Utilitas yang terbatas pada mesin kontrol industri atau robotik
Migrasi OS Konsep dan Fitur
Histori Singkat OS First generation 1945 1955 Awal perkembangan sistem komputasi elektronik sebagai pengganti sistem komputasi mekanik vacuum tubes, plug boards Second generation 1955 1965 - Belum dilengkapi Sistem Operasi. transistors, batch systems Third generation 1965 1980 perkembangan sistem operasi dikembangkan untuk melayani banyak pemakai sekaligus, dimana para pemakai interaktif berkomunikasi lewat terminal secara on-line ke komputer (multi-user & multi-programming) ICs and multiprogramming Fourth generation 1980 present - Jaringan Komputer - Graphical User Interface - Era komputasi tersebar dimana komputasi-komputasi tidak lagi berpusat di satu titik personal computers