Akim Manaor Hara Pardede, ST Email : [email protected]
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
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,
Pembahasan
Apakah suatu Operating System ?
Perkembangan Operating System
Struktur-struktur Sistem Komputer
Struktur-struktur Operating System
Struktur-struktur Operating System
Apakah suatu Operating System ?
Sebagai perantara (intermediatary) user
komputer dengan hardware,
dalam hal user mengeksekusi program
Fungsi dan Tujuan SO secara
Obyektif
Convenience : user merasakan kemudahan dan
kenyamanan dalam penggunaan
Efficiency : resources system dapat diutilisasi
semaksimal mungkin semaksimal mungkin
Robustness : kehandalan sistem proteksi terhadap
kesalahan user
Evolution : memudahkan pengembangan,
mendukung sistem baru dan program aplikasi yang berkembang
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
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 Karena adanya beberapa resource untuk dapat diutilisasi oleh
user/program aplikasi dalam suatu keterbatasan
Manajemen diperlukan untuk mencegah konflik dan
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
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 • 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
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 Proses-proses masih sederhana dan diaktifkan melalui
console dan tombol-tombol pada panel
Punch card / paper Bahasa mesin
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 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,
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 Program (source code) ditulis dalam bahasa ybs Dikompilasi oleh compiler ke dalam assembly
Ditranslasikan ke dalam bahasa mesin (object code) oleh
Tahapan Eksekusi
Load compiler
Masukan : source code, keluaran : assembly code Me-load assembler
Masukan : assembly code, keluaran : object code Me-load linker
Me-load linker
Masukan : object code & library, keluaran : executable code Run executable code
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
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
Layout Memori Sistem Batch
Sederhana
1. Resident Monitor
Program selalu resident di
memory
Diaktifkan saat komputer
dihidupkan
Transfer kontrol ke program
Loader Loader
Job sequencing Job sequencing Control card interpreter Control card interpreter
User program area User program area
Transfer kontrol ke program
yang di-load & dikembalikan
saat program selesai
Control card berisi spesifikasi
bagaimana program
dijalankan
User program area User program area
Kelemahan Batch System
Masih ketergantungan pada operator manusia untuk
setup dan sequencing
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
dari tape, card reading, dan line printing secara
off-line
Spooling : ketika melakukan suatu job, OS :
Membaca job berikutnya dari card reader ke dalam
storage pada disk (job queue)
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 CPU scheduling : sistem harus mampu mengorganisir
penjadualan beberapa job yang di-run.
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
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
IV. Multiprocessing System
Merupakan suatu system yang memiliki lebih dari
1 CPU (Processor).
Pengerjaan Job dilakukan dgn 2 cara :
Paralel System
1.
Paralel System
Parallel System
Sistem multiprocessor dimana terdapat lebih dari satu
CPU
Tightly coupled system – processor membagi bersama
(sharing) memori dan clock; komunikasi terjadi (sharing) memori dan clock; komunikasi terjadi biasanya melalui shared memory
Keuntungan Sistem Parallel
Meningkatkan throughput Ekonomis
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
Distributed System
Loosely coupled system : Setiap site memiliki
processor, memori lokal dan clock sendiri namun semua resource dapat diakses dari setiap site (eg. Database)
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
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
Struktur Umum Peer-to-Peer
Arsitektur sistem terdistribusi Tidak ada kontrol tersentralisasi Node-node memiliki fungsi
symmetric
High capacity Node
High capacity
Many disk
Many network connection Many CPU Node Node Node Node Node Internet
Clustered Systems
Clustering memungkinkan dua atau lebih sistem
men-sharing storage
Reliabilitas yang tinggi
Asymmetric clustering : satu server run aplikasi Asymmetric clustering : satu server run aplikasi
sementara server yang lain standby
VI. Real-Time Systems
Rancangan OS khusus untuk aplikasi spesifik yang
memerlukan waktu response cepat : hardware/software
Misal : kontrol proses kimia, alat kedokteran/scientifik, Misal : kontrol proses kimia, alat kedokteran/scientifik,
ponsel, home appliances
Terdapat batasan waktu tertentu untuk eksekusi
(processing), response, dll
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, 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
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, sementara secara cepat (multimedia, virtual reality, etc)
Utilitas yang terbatas pada mesin kontrol industri atau
Histori Singkat OS
First generation 1945 – 1955Awal 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 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