430 likes | 764 Views
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.
E N D
OverviewSistemOperasi(Pertemuan ke-1) Agustus2012
SistemOperasi? • Adalah program yang mengatur eksekusi program aplikasi • Merupakan penghubung (interface) antara aplikasi dengan perangkat keras • Merupakan jembatan penghubung antara user dengan perangkat keras komputer
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
Banking system Airline reservation Web browser Application programs Compilers Editors Command interpreter System programs Operating system Machine language Hardware Microprogramming Physical devices Layer/TingkatanSistem Komputer (2)
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 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 rebutanresource • Menyediakan data-data accounting (log) • OS memonitor parameter performansi (misal response time) untuk perbaikan selanjutnya • OS mengumpulkan statistik penggunaan resource untuk keperluan penagihan (pada sistemmulti user)
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
OS SebagaiResource 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
OS SebagaiResource Manager(2) Kernel/nucleus = Bagian OS yang di memori = Fungsi yang sering digunakan dan bagian OS lain yang sedang digunakan
Mengapa Sistem OperasiBer-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
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
IBSYS IOCS 55 60 65 70 75 80 85 90 95 00 03 CTSS DOS/360 OS/360 MULTICS CP/CM5 RSX-11M UNIX TSO RT-11 CP/M UNIXV.7 VMS 1.0 DOS/VDSE MVS/370 VM/370 4.1BSD XENIX MS-DOS 1.0 SYSTEM III DR/DOS SUN OS 4.2BSD VS MVS/XA VM/XA SYSTEM V AIX OS/2 POSIX MACH WIN 3.0 OSF/1 4.3BSD VMS 5.4 WIN 3.1 AIX/370 SYSTEM V.4 VS/ESA MVS/ES VM/ESA AIX/ESA SOLARIS 2 LINUX 4.4BSD WIN NT WIN 9X VMS 7.3 WIN 2000 LINUX 2.6 WIN XP SOLARIS 10 WIN Server 2003 Contoh Evolusi Berbagai Sistem Operasi
1970 1980 1990 2000 VMS v1.0 NT 4.0 Server 2003 Windows XP Windows 2000 Windows NT 3.1 1970 1980 1990 2000 v2.0 v2.6 v2.2 v2.3 v2.4 Linux v1.0 UNIX public UNIX V6 Evolusi Windows dan Linux (see http://www.levenez.com for diagrams showing history of Windows & Unix)
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
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
Simple Batch System(2) • Monitor di-load di lokasi memori tertentu Punch card
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
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
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 memonopoliresource • Bila waktu habis program dihentikan prosesor mengembalikan kontrol ke monitor
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 deviceharus 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
Mode pada Simple Batch System • User mode • Adalah kondisi pada saat program user (job) sedang dieksekusi oleh prosesor • Protected memory dan privileged instructionstidak boleh diakses • Kernel mode • Adalah kondisi pada saat program monitor (OS) sedang dieksekusi oleh prosesor • Protected memory dan priviledged instructionsboleh diakses
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 devicejauh lebih lambat dibanding prosesor
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 !!!
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
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
Multiprogrammed Batch System(2) • Contoh eksekusi multiprogram dengan 3 buah program: • Semakin banyak program yang dieksekusi utilitas prosesor semakin tinggi
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:
Contoh kasus Multiprogrammed Batch System (2) • Hasil pengujian ditampilkan dalam Histogram utilitas sbb:
Contoh kasus Multiprogrammed Batch System (3) • Hasil perbandingan penggunaan uniprogramming dan multiprogramming terhadap utilitas resource adalah sbb:
Contoh kasus Multiprogrammed Batch System (4) • Apa yang dapat anda simpulkan dari histogram utilitas tersebut ? • Waktu eksekusi multiprogramming2 kali lebih cepat dibanding uniprogramming • Utilitas setiap resource komputer pada multiprogramming lebih tinggi daripada uniprogramming • ............
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…?
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
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 userselalu 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
Contoh Kasus Time Sharing System(2) • Urut-urutan eksekusi job:
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
Permasalahan Pada Time Sharing • Bagaimana cara mencegah agar suatu program user tidak dapat mengaksesdata 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……… !
Referensi: [STA05] Stallings, William. 2009. Operating System: Internal and Design Principles. 6th edition. Prentice Hall