Anda di halaman 1dari 45

KONSEP-KONSEP

OPERATING SYSTEM
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.
BAGIAN I
Overview
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
– SO akan melakukan berinteraksi
dengan system resource (sumber daya
komputer) yang berada di
hardware/mesin.
– Terbentuk komunikasi tidak langsung
antara user dengan hardware
Obyektif OS
• 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
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
Definisi Operating System
(Lanjutan…)
• Sebagai Extended Machine/Virtual Machine
– Bare hardware (instruction set, memory
access dan operasi I/O)
• primitif dan sulit digunakan
• low level dan hardware dependant
– Dengan adanya OS sebagai interface
• sederhana dan general
• high level dan hardware independent
• easy to program & easy to operate
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
Sistem-sistem Awal
• 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
Sistem-sistem Batch Sederhana
• Operator
– Secara khusus menangani beroperasinya sistem
• Programmer
– 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
Resident Monitor
Loader
• Program selalu resident di
Job sequencing
memory Control card interpreter
• Diaktifkan saat komputer
dihidupkan
User program area
• Transfer kontrol ke program
yang di-load & dikembalikan
saat program selesai
• Control card berisi spesifikasi
bagaimana program
dijalankan
Control Card
• Deretan informasi mengenai bagaimana
dan apa saja yang perlu disetup sistem
dalam menjalankan suatu job
– Compiler dari bahasa pemrograman
– Library yang akan digunakan
– Storage (magnetic tape) yang perlu di-mount
untuk I/O
– Option-option bagaimana program running
Kelemahan Batch System
• Masih ketergantungan pada operator
manusia untuk setup dan sequencing
• CPU lebih banyak idle saat pergantian job
atau I/O
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 off-line
• 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
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
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
Sistem Personal-Computer
(Desktop System)
• Personal computer – sistem komputer yang
ditujukan untuk single user
• I/O devices : keyboard, mouse, display screen,
printer
• User convenience & responsif
• Dapat mengadopsi teknologi yang berkembang
untuk OS yang lebih besar dan tidak
membutuhkan utilisasi CPU untuk proteksi
• Running pada tipe-tipe OS : Window, MacOS,
UNIX, Linux
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
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-to-peer
Struktur Umum Client-Server
Struktur Umum Peer-to-Peer
• Arsitektur sistem terdistribusi
– Tidak ada kontrol tersentralisasi
– Node-node memiliki fungsi
symmetric
• High capacity Node
– Many disk Node Node
– Many network connection
Internet
– Many CPU

Node Node
Clustered Systems
• Clustering memungkinkan dua atau lebih
sistem men-sharing 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
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
Real-Time Embedded Systems
Handheld Systems
• Personal Digital Assistant (PDA)
• Cellular telephones
• Issue :
– Keterbatasan memori
– Processor yang lambat
– Display screen yang kecil
Migrasi OS – Konsep dan Fitur
Histori Singkat OS
• First generation 1945 - 1955
– vacuum tubes, plug boards
• Second generation 1955 - 1965
– transistors, batch systems
• Third generation 1965 – 1980
– ICs and multiprogramming
• Fourth generation 1980 – present
– personal computers
Computing Environments
• Traditional computing
– PCs, Servers, limited remote access
• Web-Based Computing
– Client-server and web services, convenient remote
access, locationless Servers
• Embedded Computing
– Most computers (auto engine controllers,
microwaves)
– Very limited operating system features
– Little or no user interface, remote access

Anda mungkin juga menyukai