Pert-01 | Konsep OS
Download
Report
Transcript Pert-01 | Konsep OS
Overview
Sistem Operasi
(Pertemuan ke-1)
Agustus 2012
Sistem Operasi?
Adalah program yang mengatur eksekusi
program aplikasi
Merupakan penghubung (interface) antara
aplikasi dengan perangkat keras
Merupakan jembatan penghubung antara
user dengan perangkat keras komputer
Sistem Operasi/20100820 #1
Kemampuan apa yang harus dimiliki oleh Sistem
Operasi ?
Dapat memberi kenyamanan bagi user dalam
memanfaatkan resource komputer
Sebagai interface user dengan komputer
Dapat mengatur resource komputer (resource
manager)
Resource komputer dapat dimanfaatkan secara
lebih efisien
Dapat berkembang (berevolusi)
Dapat dikembangkan atau ditambahkan fungsi
atau layanan baru tanpa mengganggu layanan
yang telah ada
Sistem Operasi/20100820 #2
Layer/Tingkatan Sistem Komputer (1)
Sistem Operasi/20100820 #3
Layer/Tingkatan Sistem Komputer (2)
Banking system
Airline
reservation
Web browser
Compilers
Editors
Command
interpreter
Application programs
System programs
Operating system
Machine language
Microprogramming
Hardware
Physical devices
Sistem Operasi/20100820 #4
Sistem Operasi sebagai
Komputer (1)
Interface antara User dan
Layanan yang dapat disediakan Sistem Operasi:
Mendukung pengembangan program aplikasi
OS menyediakan fasilitas dan layanan (program utility) untuk
pengembangan program aplikasi, misal: editor dan debugger
Meng-eksekusi program
Load data dan instruksi ke memori
Inisialisasi I/O device dan resource lain
Atur penjadualan pengeksekusian program
Menyediakan akses ke I/O device
OS menyediakan interface yang seragam untuk berbagai jenis I/O
device yang berbeda dengan cara menyembunyikan detail I/O tsb
Programmer cukup menggunakan perintah read dan
write sederhana
Sistem Operasi/20100820 #5
Sistem Operasi sebagai
Komputer (2)
Interface antara User dan
Layanan yang dapat disediakan Sistem Operasi: (lanjutan)
Mengontrol pengaksesan file
OS menyediakan fasilitas untuk mengatur hak akses terhadap file
(read, write, hide)
Mengontrol pengaksesan sistem
OS dapat memproteksi resource dan data dari user yang tidak
berhak
OS mencegah terjadinya rebutan resource
Menyediakan data-data accounting (log)
OS memonitor parameter performansi (misal response time)
untuk perbaikan selanjutnya
OS mengumpulkan statistik penggunaan resource untuk
keperluan penagihan (pada sistem multi user)
Sistem Operasi/20100820 #6
Sistem Operasi sebagai
Komputer (3)
Interface antara User dan
Layanan yang dapat disediakan Sistem Operasi: (lanjutan)
Men-deteksi kesalahan/error
Kesalahan H/W, misal:
+ Memory error
+ Device failure
Kesalahan S/W, misal:
+ Arithmetic overflow
+ Pembagian dengan nol
+ Akses ke lokasi memori terlarang
+ Kegagalan OS memenuhi request dari program aplikasi (time out)
Memberikan respons terhadap error yang terjadi dengan efek
seminimal mungkin terhadap aplikasi yang sedang berjalan
dengan cara:
+ Hentikan program penyebab error
+ Mencoba kembali (retry)
+ Hanya berupa laporan telah terjadi error
Sistem Operasi/20100820 #7
OS Sebagai Resource Manager
(1)
Komputer = kumpulan resource yang berfungsi untuk
memindahkan, memproses, dan menyimpan data
OS bertanggung jawab terhadap aktifitas tersebut
Model kontrol oleh OS = model kontrol tidak lazim,
karena OS tidak selamanya menjadi pengontrol:
OS = program yang dieksekusi oleh prosesor
Saat OS dieksekusi prosesor yang mengontrol OS
Saat program lain (bukan OS) dieksekusi OS menjadi
pengontrol
Termasuk mengendalikan prosesor
Sistem Operasi/20100820 #8
OS Sebagai Resource Manager
(2)
Kernel/nucleus
= Bagian OS yang di
memori
= Fungsi yang sering
digunakan dan
bagian OS lain yang
sedang digunakan
Sistem Operasi/20100820 #9
Mengapa Sistem Operasi Ber-evolusi ?
Supaya dapat memanfaatkan kemajuan di bidang teknologi
H/W
H/W memori (RAM) berkembang sehingga dapat digunakan cara
pengaturan memori lebih baik (model paging atau segment)
OS diperbarui sehingga dapat memanfaatkan kemajuan di
bidang H/W tersebut
H/W monitor (display) telah berkembang sehingga dapat menampilkan
informasi secara grafis (tidak hanya mode teks)
OS dikembangkan sehingga beberapa aplikasi dapat ditampilkan
secara bersamaan dalam “window”
Ada penambahan layanan baru
Misal: penambahan tool baru yang dapat meningkatkan performansi OS
Koreksi terhadap kesalahan/bug
Apa ciri OS yang baik ? (dilihat dari sisi perancang OS)
tersusun secara modular
interface antar modul terdefinisi dengan baik
interface antar modul sesederhana mungkin
terdokumentasi secara baik
Sistem Operasi/20100820 #10
Evolusi Sistem Operasi
Serial Processing (1940 – 1950)
User harus mengakses mesin (komputer) secara langsung
dan eksekusi job dilakukan satu per satu secara urut dan
bergantian
Simple Batch System (1950)
Beberapa job (program) yang akan diproses dikumpulkan
menjadi satu (menjadi sebuah batch) oleh operator
komputer sebelum diproses oleh komputer
Multiprogrammed Batch System
Job (program) yang diproses berjumlah lebih dari satu
dan diproses secara “bersamaan”
Time-Sharing System (1961)
Sebuah komputer (support multiprogramming) digunakan
oleh lebih dari satu user secara bersamaan untuk
mengerjakan interaktif job
Sistem Operasi/20100820 #11
Contoh Evolusi Berbagai Sistem Operasi
55
IOCS
IBSYS
60
CTSS
65 DOS/360
OS/360
70
75
MULTICS
CP/CM5
DOS/VDSE MVS/370
RT-11
SYSTEM III
VS
MVS/XA
VM/XA SYSTEM V
90
SYSTEM V.4
VS/ESA MVS/ES
95
UNIXV.7
VM/370
80
85
VM/ESA
LINUX AIX/ESA
SOLARIS 2
CP/M
VMS 1.0
4.1BSD XENIX
MS-DOS 1.0
SUN OS
4.2BSD
AIX POSIX
MACH
OSF/1
4.3BSD
AIX/370
00
03
RSX-11M
UNIX
TSO
4.4BSD
OS/2
WIN 3.0
VMS 5.4
DR/DOS
WIN 3.1
WIN NT WIN 9X
VMS 7.3 WIN 2000
LINUX 2.6
SOLARIS 10
WIN XP
WIN Server 2003
Sistem Operasi/20100820 #12
Evolusi Windows dan Linux
1970
1980
1990
2000
1970
1980
1990
2000
(see http://www.levenez.com for diagrams showing history of Windows & Unix)
Sistem Operasi/20100820 #13
Serial Processing ≠ OS
Programmer berinteraksi langsung dengan H/W komputer
Tanpa sistem operasi
Mesin dijalankan dari sebuah konsole yang dilengkapi dengan lampu display,
saklar, peralatan input, dan printer
Masalah utama:
Penjadualan:
Sebelum menggunakan mesin user harus memesan terlebih
dahulu
Jika user memperkirakan job selesai dalam 1 jam dan ternyata
selesai dalam 45 menit mesin menunggu sia-sia selama 15 menit
Jika job tidak selesai dalam waktu yang telah ditentukan harus
berhenti bisa jadi harus diulangi dari awal
Waktu setup:
Setiap satu job membutuhkan satu persiapan tersendiri (loading
compiler, source program, penyimpanan compiled program, loading
dan linking)
Bila terjadi error setup harus dilakukan dari awal lagi boros
waktu
Sistem Operasi/20100820 #14
Simple Batch System
(1)
Simple batch system uniprogramming
Tujuan: untuk meningkatkan utilisasi mesin
(komputer)
Prinsip kerja:
Digunakan sebuah software (“sistem operasi”) yang
disebut “monitor” yang berfungsi untuk mengatur uruturutan eksekusi job (program)
User tidak langsung berinteraksi dengan komputer
User mengirimkan job melalui card atau pita magnet
Komputer dijalankan oleh operator
Setiap job langsung dieksekusi setelah job yang di
depannya selesai dieksekusi tidak ada waktu terbuang
Sistem Operasi/20100820 #15
Simple Batch System
(2)
Monitor di-load di
lokasi memori
tertentu
Punch card
Sistem Operasi/20100820 #16
Simple Batch System
(3)
Apa yang dilakukan monitor ?
Baca sebuah job yang ada di card atau tape
Taruh job tersebut ke dalam area program user
Serahkan kontrol (eksekusi) terhadap job
tersebut kepada prosesor
Bila job selesai ambil alih kontrol
Kirim hasil job ke device output (printer)
Baca job berikutnya
Sistem Operasi/20100820 #17
Simple Batch System
(4)
Apa yang dilakukan prosesor ?
Eksekusi instruksi (yang merupakan bagian dari program
monitor) yang ada di memori
Prosesor sebagai pengendali
Bila program yang dieksekusi adalah perintah untuk
membaca job, maka prosesor beralih dari mengeksekusi
program monitor menjadi mengeksekusi program job
Prosesor berubah dari pengontrol menjadi yang dikontrol OS
Demikian seterusnya sampai seluruh job selesai
dieksekusi
Sistem Operasi/20100820 #18
Feature Simple Batch System
(1)
Proteksi memori:
Area program monitor dilindungi terhadap
pengaksesan oleh program user
Bila terjadi pengaksesan ilegal ada pesan error
job dibatalkan eksekusi job berikutnya
Timer:
Setiap job diberi timer job tidak boleh
memonopoli resource
Bila waktu habis program dihentikan
prosesor mengembalikan kontrol ke monitor
Sistem Operasi/20100820 #19
Feature Simple Batch System
(2)
Instruksi eksklusif (Privileged instructions)
Instruksi tertentu dilindungi dari pengaksesan oleh
program user dan hanya boleh diakses oleh monitor,
misal perintah ke I/O
Program user yang akan mengakses I/O device harus
melalui monitor
Bila user langsung mengakses I/O ada pesan error kontrol
diambil alih oleh monitor
Tujuan:
Untuk mencegah jangan sampai suatu program mengakses I/O device
yang sedang diakses oleh program lain
Interrupts
Fasilitas ini digunakan untuk memperbaiki perpindahan
kontrol antara program monitor dan program user secara
fleksibel
Sistem Operasi/20100820 #20
Mode pada Simple Batch System
User mode
Adalah kondisi pada saat program user (job)
sedang dieksekusi oleh prosesor
Protected memory dan privileged instructions
tidak boleh diakses
Kernel mode
Adalah kondisi pada saat program monitor (OS)
sedang dieksekusi oleh prosesor
Protected memory dan priviledged instructions
boleh diakses
Sistem Operasi/20100820 #21
Kekurangan Simple Batch System
Apa kekurangan Simple Batch System ?
Terjadi overhead:
Sebagian lokasi memori ditempati oleh
monitor
Sebagian waktu prosesor digunakan untuk
mengeksekusi monitor
Waktu prosesor belum termanfaatkan secara
maksimal, mengapa ?
+Prosesor sering idle (menganggur) karena
I/O device jauh lebih lambat dibanding
prosesor
Sistem Operasi/20100820 #22
Contoh kasus Simple Batch System
Sebuah komputer akan membaca, memproses, dan
menyimpan kembali sebuah file ke media
penyimpan data (melalui I/O) yang menyimpan
sejumlah record. Jika:
Waktu untuk membaca sebuah file = 15 µS
Waktu untuk memproses sebuah file = 1 µS
Waktu untuk menyimpan sebuah file = 15 µS
Maka:
Total waktu yang diperlukan untuk mengolah sebuah file
= 31 µS
Utilisasi CPU = 1/31 = 0.032 = 3.2%
96,8% waktu CPU
hanya untuk menunggu !!!
Sistem Operasi/20100820 #23
Eksekusi job pada Simple Batch System
Contoh komputer simple batch system :
IBM 701 (1950)
IBM 704
IBM 7090/7094 (1960) dengan menggunakan sistem
operasi IBSYS
Sistem Operasi/20100820 #24
Multiprogrammed Batch System
Multiprogrammed batch system
multitasking OS modern
(1)
multiprogramming
Tujuan: untuk meningkatkan utilisasi prosesor
Contoh eksekusi multiprogram dengan 2 buah program:
Program B dieksekusi pada saat program A sedang mengakses
device lain melalui I/O
Sistem Operasi/20100820 #25
Multiprogrammed Batch System
(2)
Contoh eksekusi multiprogram dengan 3 buah
program:
Semakin banyak program yang dieksekusi utilitas
prosesor semakin tinggi
Sistem Operasi/20100820 #26
Contoh kasus Multiprogrammed Batch System
(1)
Ada 3 buah job (program) yang akan dieksekusi
melalui sebuah komputer yang mempunyai memori
250 MB (di luar OS), harddisk, terminal, dan printer.
Karakteristik masing-masing job adalah sbb:
Sistem Operasi/20100820 #27
Contoh kasus Multiprogrammed Batch System
(2)
Hasil pengujian ditampilkan dalam Histogram utilitas sbb:
Sistem Operasi/20100820 #28
Contoh kasus Multiprogrammed Batch System
(3)
Hasil perbandingan penggunaan uniprogramming dan
multiprogramming terhadap utilitas resource adalah
sbb:
Sistem Operasi/20100820 #29
Contoh kasus Multiprogrammed Batch System
(4)
Apa yang dapat anda simpulkan dari
histogram utilitas tersebut ?
Waktu eksekusi multiprogramming 2 kali
lebih cepat dibanding uniprogramming
Utilitas setiap resource komputer pada
multiprogramming lebih tinggi daripada
uniprogramming
............
Sistem Operasi/20100820 #30
Time Sharing System (1)
Time sharing system interactive mode multi user
Time sharing system adalah:
Adalah sistem yang membagi waktu prosesor kepada
sejumlah user, sehingga semua user dapat mengakses
resource komputer secara bersamaan melalui terminal
(keyboard dan display) masing-masing
Merupakan sistem multiprogramming yang dimanfaatkan
untuk menangani beberapa job interaktif
Bila terdapat n user, maka setiap user mendapatkan
giliran waktu prosesor sebanyak 1/n dalam satu putaran
User akan merasa “seolah-olah” menggunakan
sebuah komputer pribadi, mengapa…?
Sistem Operasi/20100820 #31
Time Sharing System (2)
• Mengapa timbul gagasan untuk membuat sistem
model time sharing ?
• Komputer telah dapat digunakan untuk melakukan
multiprogramming
Pada tahun 1960 ukuran komputer sangat besar dan
sangat mahal tidak realistis bila satu user satu
komputer
Contoh: CTSS
Compatible Time-Sharing System (CTSS) merupakan
sistem operasi model time sharing pertama yang
dikembangkan di MIT yang dijalankan pada komputer
IBM 709 (th 1961) dan IBM 7094
CTSS dapat digunakan oleh 32 user bersama-sama
Sistem Operasi/20100820 #32
Contoh Kasus Time Sharing System
(1)
Sebuah komputer CTSS mempunyai memori berkapasitas
32.000 word masing-masing 36 bit
Program monitor berukuran 5.000 word, sehingga memori
yang tersisa untuk user sebanyak 27.000 word
Setiap program user selalu diletakkan pada alamat 5.000
Komputer menghasilkan
clock interrupt setiap 0,2 detik
Setiap user memperoleh slot waktu sebesar 0,2 detik
Terdapat 4 user yang mempunyai job dan membutuhkan
memori sbb: JOB1=15.000, JOB2 = 20.000, JOB3 = 5.000,
dan JOB4 = 10.000
Ruang memori yang tersedia < jumlah total memori yang
dibutuhkan user
Data user di memori yang akan ditimpa oleh data user lain
harus dipindahkan ke harddisk
Sistem Operasi/20100820 #33
Contoh Kasus Time Sharing System
(2)
Urut-urutan eksekusi job:
Sistem Operasi/20100820 #34
Contoh Kasus Time Sharing System
(3)
Keterangan gambar:
(a) JOB1 (15 K) dieksekusi dan menempati alamat 5.000 – 20.000
(b) JOB2 (20 K) dieksekusi dan menempati alamat 5.000 – 25.000
semua JOB1 dipindah ke disk
(c) JOB3 (5 K) dieksekusi dan menempati alamat 5.000 – 10.000
sebagian JOB2 dipindah (tidak semua) ke disk
hemat waktu penulisan
(d) JOB1 (15 K) dieksekusi lagi dan menempati alamat 5.000 –
20.000
JOB3 dan sebagian JOB2 dipindah ke disk
(e) JOB4 (10 K) dieksekusi dan menempati alamat 5.000 – 15.000
sebagian JOB1 dipindah ke disk
(f) JOB2 (20 K) dieksekusi lagi dan menempati alamat 5.000 –
25.000
semua JOB4 dan bagian JOB1 dipindah ke disk. Bagian
JOB2 di disk dipindahkan ke memori
Sistem Operasi/20100820 #35
Permasalahan Pada Time Sharing
Bagaimana cara mencegah agar suatu
program user tidak dapat mengakses data
user lain ?
Bagaimana cara agar suatu file tidak dapat
diakses oleh user yang tidak berhak ?
Bagaimana cara mencegah agar tidak terjadi
rebutan resource (misal printer dan
harddisk) ?
Ingin tahu jawabannya……
Ikuti terus perkuliahan ini, don’t miss it……… !
Sistem Operasi/20100820 #36
Referensi:
[STA05] Stallings, William. 2009. Operating System:
Internal and Design Principles. 6th edition.
Prentice Hall
Sistem Operasi/20100820 #37