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