Sistem Operasi - Telkom University

advertisement
Overview
Sistem Operasi
(Pertemuan keke-1)
Agustus 2014
Overview Sistem Operasi
 Pokok Bahasan:
 Overview Sistem Operasi
 Sub Pokok Bahasan:
 Konsep sistem operasi
 Evolusi sistem operasi
 TIU:
 Mahasiswa dapat memahami konsep sistem operasi
secara umum
 TIK:
 Mahasiswa dapat menjelaskan konsep sistem operasi
 Mahasiswa dapat menjelaskan evolusi sistem operasi
Sistem Operasi/2014 #1
Apakah Sistem Operasi itu ?
 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/2014 #2
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/2014 #3
Layer/Tingkatan
Layer
/Tingkatan Sistem Komputer (1)
Sistem Operasi/2014 #4
Layer/Tingkatan
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/2014 #5
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/2014 #6
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/2014 #7
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/2014 #8
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/2014 #9
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/2014 #10
Mengapa Sistem Operasi Ber
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/2014 #11
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/2014 #12
Contoh Evolusi Berbagai Sistem Operasi
55
IOCS
IBSYS
60
CTSS
65 DOS/360
OS/360
70
75
TSO
DOS/VDSE MVS/370
VM/370
80
85
90
95
MULTICS
CP/CM5
SYSTEM III
VS
MVS/XA
VS/ESA MVS/ES
VM/XA SYSTEM V
VM/ESA
SYSTEM V.4
UNIX
RSX-11M
UNIXV.7
VMS 1.0
4.1BSD XENIX
MS-DOS 1.0
SUN OS
4.2BSD
AIX POSIX
MACH
OSF/1
4.3BSD
AIX/370
LINUX AIX/ESA
SOLARIS 2
00
03
RT-11
4.4BSD
VMS 5.4
WIN 3.0
CP/M
DR/DOS
OS/2
WIN 3.1
WIN NT WIN 9X
VMS 7.3 WIN 2000
LINUX 2.6
SOLARIS 10
WIN XP
WIN Server 2003
Sistem Operasi/2014 #13
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/2014 #14
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/2014 #15
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/2014 #16
Simple Batch System
(2)
 Monitor di-load di
lokasi memori
tertentu
Punch card
Sistem Operasi/2014 #17
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/2014 #18
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/2014 #19
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/2014 #20
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/2014 #21
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/2014 #22
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/2014 #23
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/2014 #24
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/2014 #25
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/2014 #26
Multiprogrammed Batch System
(2)
 Contoh eksekusi multiprogram dengan 3 buah
program:
 Semakin banyak program yang dieksekusi  utilitas
prosesor semakin tinggi
Sistem Operasi/2014 #27
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/2014 #28
Contoh kasus Multiprogrammed Batch System
(2)
 Hasil pengujian ditampilkan dalam Histogram utilitas sbb:
Sistem Operasi/2014 #29
Contoh kasus Multiprogrammed Batch System
(3)
 Hasil perbandingan penggunaan uniprogramming dan
multiprogramming terhadap utilitas resource adalah
sbb:
Sistem Operasi/2014 #30
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/2014 #31
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/2014 #32
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/2014 #33
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/2014 #34
Contoh Kasus Time Sharing System
(2)
 Urut-urutan eksekusi job:
Sistem Operasi/2014 #35
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/2014 #36
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/2014 #37
Referensi:
[STA09] Stallings, William. 2009. Operating System:
Internal and Design Principles. 6th edition.
Prentice Hall
Sistem Operasi/2014 #38
Download