overview sistem operasi ( pertemuan ke-1)
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
OverviewSistem Operasi
(Pertemuan ke-1)
Agustus 2012
Sistem Operasi/20100820 #2
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 #3
Kemampuan apa yang harus dimiliki oleh Sistem Operasi ?
Dapat memberi kenyamanan bagi user dalam memanfaatkan resource komputerSebagai interface user dengan komputer
Dapat mengatur resource komputer (resource manager)Resource komputer dapat dimanfaatkan
secara lebih efisienDapat berkembang (berevolusi)
Dapat dikembangkan atau ditambahkan fungsi atau layanan baru tanpa mengganggu layanan yang telah ada
Sistem Operasi/20100820 #4
Layer/Tingkatan Sistem Komputer (1)
Sistem Operasi/20100820 #5
Layer/Tingkatan Sistem Komputer (2)
Physical devices
Microprogramming
Machine language
Operating system
Compilers EditorsCommand interpreter
Banking systemAirline
reservationWeb browser
Application programs
Hardware
System programs
Sistem Operasi/20100820 #6
Sistem Operasi sebagai Interface antara User dan Komputer (1)
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 #7
Sistem Operasi sebagai Interface antara User dan Komputer (2)
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 #8
Sistem Operasi sebagai Interface antara User dan Komputer (3)
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 #9
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 #10
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 #11
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 #12
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 #13
Contoh Evolusi Berbagai Sistem Operasi
55
60
65
70
75
80
85
90
95
00
03
IOCS
DOS/360
DOS/VDSE
VS
VS/ESA
OS/360
MVS/370
MVS/XA
MVS/ES
TSO
IBSYS
CTSS
CP/CM5
VM/370
VM/XA
VM/ESA
SYSTEM III
SYSTEM V
SYSTEM V.4
MULTICS
UNIX
UNIXV.7
AIX/370
AIXSUN OS
POSIX
SOLARIS 2
4.1BSD
4.2BSD
4.3BSD
4.4BSD
MACH
OSF/1
AIX/ESA
XENIX MS-DOS 1.0
CP/M
DR/DOS
OS/2WIN 3.0
WIN NT
WIN 2000
WIN 9X
WIN XP
LINUX
RSX-11M
VMS 1.0
VMS 5.4
VMS 7.3
WIN 3.1
SOLARIS 10
RT-11
LINUX 2.6
WIN Server 2003
Sistem Operasi/20100820 #14
Evolusi Windows dan Linux
1970 1980 1990 2000
VMS
v1.0
Win
dows NT
3.1
NT
4.0
Win
dows 20
00
Win
dows XP
Serv
er 2
003
1970 1980 1990 2000
UNIX
pub
licUNIX
V6
Linu
x v1
.0v2
.0
v2.2
v2.3
v2.4
v2.6
(see http://www.levenez.com for diagrams showing history of Windows & Unix)
Sistem Operasi/20100820 #15
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 #16
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 urut-urutan 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 #17
Simple Batch System (2)
Monitor di-load di lokasi memori tertentu
Punch card
Sistem Operasi/20100820 #18
Simple Batch System (3)
Apa yang dilakukan monitor ?Baca sebuah job yang ada di card atau
tapeTaruh job tersebut ke dalam area program
userSerahkan kontrol (eksekusi) terhadap job
tersebut kepada prosesorBila job selesai ambil alih kontrolKirim hasil job ke device output (printer)Baca job berikutnya
Sistem Operasi/20100820 #19
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 #20
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 berikutnyaTimer:
Setiap job diberi timer job tidak boleh memonopoli resource
Bila waktu habis program dihentikan prosesor mengembalikan kontrol ke monitor
Sistem Operasi/20100820 #21
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 #22
Mode pada Simple Batch SystemUser mode
Adalah kondisi pada saat program user (job) sedang dieksekusi oleh prosesor
Protected memory dan privileged instructions tidak boleh diakses
Kernel modeAdalah kondisi pada saat program monitor
(OS) sedang dieksekusi oleh prosesorProtected memory dan priviledged
instructions boleh diakses
Sistem Operasi/20100820 #23
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 #24
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 #25
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 #26
Multiprogrammed Batch System (1)
Multiprogrammed batch system multiprogramming multitasking OS modern
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 #27
Multiprogrammed Batch System (2)
Contoh eksekusi multiprogram dengan 3 buah program: Semakin banyak program yang dieksekusi
utilitas prosesor semakin tinggi
Sistem Operasi/20100820 #28
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 #29
Contoh kasus Multiprogrammed Batch System (2)
Hasil pengujian ditampilkan dalam Histogram utilitas sbb:
Sistem Operasi/20100820 #30
Contoh kasus Multiprogrammed Batch System (3)
Hasil perbandingan penggunaan uniprogramming dan multiprogramming terhadap utilitas resource adalah sbb:
Sistem Operasi/20100820 #31
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 #32
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 #33
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 #34
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 #35
Contoh Kasus Time Sharing System (2)
Urut-urutan eksekusi job:
Sistem Operasi/20100820 #36
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 #37
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 #38
Referensi:
[STA05]Stallings, William. 2009. Operating System: Internal and Design Principles. 6th edition. Prentice Hall