Overview Sistem Operasi (Pertemuan keke-2) Agustus 2014 5 Hal Utama Dalam Pengembangan Sistem Operasi Pokok Bahasan: Overview Sistem Operasi Sub Pokok Bahasan: Lima Hal Utama Dalam Pengembangan Sistem Operasi Jenis sistem operasi modern TIU: Mahasiswa dapat memahami konsep sistem operasi secara umum TIK: Mahasiswa dapat menjelaskan 5 hal utama dalam pengembangan sistem operasi Mahasiswa dapat menjelaskan model sistem operasi modern Sistem Operasi/2014 #1 5 Hal Utama Dalam Pengembangan Sistem Operasi Proses Manajemen memori Proteksi dan keamanan informasi (data/file) Penjadualan dan manajemen resource Struktur sistem operasi Sistem Operasi/2014 #2 Apakah proses itu ? Program yang dieksekusi Program yang sedang berjalan di komputer Entitas yang dapat diberikan kepada prosesor untuk dieksekusi Sebuah aktifitas yang sangat dipengaruhi oleh eksekusi sebelumnya, status saat ini, dan sejumlah resource sistem Sistem Operasi/2014 #3 Model sistem operasi yang mana saja yang mempersyaratkan adanya timing dan sinkronisasi ? Sistem multiprogramming Sistem yang mengutamakan penggunaan setiap resource komputer secara maksimal Sistem time sharing Sistem yang melayani banyak user secara bersama-sama Sistem yang dapat melayani kebutuhan setiap user Sistem transaksi real-time Sistem yang dapat melayani banyak user yang bersamasama mengantri untuk mengakses data dalam sebuah basis data yang sama Contoh: sistem pemesanan tiket (pesawat terbang, kereta api, dll) Sistem Operasi/2014 #4 Apa perbedaan antara sistem time sharing dengan sistem transaksi real real--time ? Sistem time sharing dapat melayani berbagai macam program aplikasi sesuai dengan kebutuhan user Banyak user mengakses banyak aplikasi Sistem transaksi real-time hanya dapat melayani beberapa jenis aplikasi saja Banyak user mengakses satu atau dua aplikasi Sistem Operasi/2014 #5 Permasalahan apa saja yang dapat terjadi pada proses ? (1) Sinkronisasi tidak tepat Efek: salah membaca data Misal: program yang berfungsi untuk membaca data dari harddisk mengambil data dari buffer data pada saat yang tidak tepat, maka data yang diambil bukan data yang diinginkan Kegagalan mutual exclusion Efek: lebih dari satu user/program berusaha mengakses sebuah resource secara bersamaan Eksekusi program tidak terkendali Efek: hasil eksekusi program tidak pasti (sangat dipengaruhi oleh program lain) Penjadualan eksekusi program harus secara tepat Sistem Operasi/2014 #6 Permasalahan apa saja yang dapat terjadi pada proses ? (2) Deadlock Efek: terjadi hang (terdapat dua atau lebih program saling menunggu) Misal: Dua buah program dapat dieksekusi bila telah memperoleh 2 buah data yang terletak pada 2 buah harddisk terpisah. Masing-masing program sedang mengakses harddisk sendirisendiri dan saling menunggu program lain melepaskan harddisk yang sedang diaksesnya Sistem Operasi/2014 #7 Apa saja komponen proses ? Executable program (.exe) Hal-hal yang berhubungan dengan data yang dibutuhkan proses (variabel, buffer, work space, dll) Execution context atau process state: Semua informasi yang dibutuhkan oleh: OS untuk mengatur proses (misal: prioritas, sedang menunggu signal dari I/O atau tidak, dll) Prosesor untuk mengeksekusi proses (misal: nilai program counter dan beberapa register) Sistem Operasi/2014 #8 Contoh Pengaturan proses Process list: Daftar proses yang akan dieksekusi (responsible OS) Memuat entry untuk setiap proses Entry process = pointer ke lokasi memori proses Proses = context + data + program (code) Process index = indeks daftar proses yang sedang dieksekusi prosesor entry process b = base = alamat awal suatu proses h = limit = jumlah alamat yang digunakan oleh suatu proses Sistem Operasi/2014 #9 5 Hal Utama Dalam Pengembangan Sistem Operasi Proses Manajemen memori Proteksi dan keamanan informasi (data/file) Penjadualan dan manajemen resource Struktur sistem operasi Sistem Operasi/2014 #10 Manajemen Memori (1) Apa tujuan manajemen memori ? Agar alokasi memori dapat dilakukan secara terkendali dan efisien Apa tugas OS pada manajemen memori ? Mengisolasi proses OS harus dapat mencegah suatu proses mengakses/mengganggu area memori proses yang lain Mengatur dan mengalokasikan memori secara dinamis OS dapat mengalokasikan suatu program ke beberapa lokasi memori berbeda secara dinamis Programmer tidak perlu selalu memeriksa apakah memori yang akan digunakan cukup tersedia atau tidak ditangani oleh sistem operasi Mendukung pemrograman modular OS memberikan kemudahan bagi programmer dalam menentukan modul program (membuat, menghancurkan, dan mengubah ukuran modul) secara dinamis Sistem Operasi/2014 #11 Manajemen Memori (2) Apa tugas OS pada manajemen memori ? (lanjutan) Memproteksi dan mengendalikan pengaksesan area memori OS harus dapat mencegah terjadinya pengaksesan ilegal area memori suatu program oleh program yang lain OS harus dapat menyediakan lokasi memori tertentu sebagai share memory bila diperlukan Mendukung penyimpanan data jangka panjang OS harus menyediakan fasilitas untuk menyimpan data ke media yang dapat menyimpan data dalam waktu lama Sistem Operasi/2014 #12 Memori Virtual Adalah fasilitas yang disediakan oleh OS agar suatu program dapat memanfaatkan sebagian area memori sekunder (harddisk) sebagai memori utama secara lojik Bertujuan agar beberapa program dapat tersimpan di dalam memori secara bersamaan, sehingga tidak terjadi kekosongan aktifitas pada saat terjadi pergantian eksekusi proses Pengisolasian data antar proses dilakukan dengan cara memberi kode unik untuk setiap proses Memory sharing dilakukan dengan cara mengoverlap-kan bagian virtual memori yang akan di- sharing Sistem Operasi/2014 #13 Paging Adalah salah satu teknik mapping memori dengan cara membagi proses menjadi blok-blok kecil berukuran tetap yang disebut dengan page Mapping = penempatan program ke dalam memori Program mengakses data menggunakan alamat virtual yang terdiri dari nomor page dan offset Setiap page dapat ditempatkan di memori secara bebas (tidak perlu terurut) mapping dinamis Hanya page yang sedang diperlukan saja yang harus ditaruh di memori, sisanya tetap terletak pada harddisk Tugas OS: Membuat mekanisme translasi/mapping alamat dengan syarat: Overhead kecil trafik data sesedikit mungkin Sistem Operasi/2014 #14 Apa kelebihan paging ? (+) Mapping antara alamat virtual pada program dengan alamat fisik pada memori dapat dilakukan secara dinamis Program terdiri dari sejumlah instruksi dimana setiap instruksi mempunyai alamat virtual Alamat virtual setiap program selalu dimulai dari alamat nol Alamat fisik = alamat pada memori (RAM) (+) Menghilangkan keharusan untuk menempatkan semua page suatu proses ditaruh di memori secara bersamaan Sistem Operasi/2014 #15 Contoh Virtual Memori dengan Paging Sistem Operasi/2014 #16 Skema pengalamatan virtual memory hardware storage Sistem Operasi/2014 #17 5 Hal Utama Dalam Pengembangan Sistem Operasi Proses Manajemen memori Proteksi dan keamanan informasi (data/file) Penjadualan dan manajemen resource Struktur sistem operasi Sistem Operasi/2014 #18 Proteksi dan Keamanan Informasi (data/file) Pada sistem yang bagaimana proteksi dan keamanan informasi diperlukan ? Sistem time-sharing (banyak user) Sistem komputer yang terhubung ke jaringan Apa saja yang perlu diproteksi/diamankan ? Jaminan informasi selalu tersedia Informasi yang dibutuhkan dilindungi sehingga selalu tersedia Kerahasiaan informasi Informasi tidak dapat dibaca oleh user yang tidak berhak Keutuhan data Data dilindungi dari modifikasi oleh user yang tidak berhak Keaslian data Keaslian pemilik data dan validitas isinya dapat terlindungi Sistem Operasi/2014 #19 5 Hal Utama Dalam Pengembangan Sistem Operasi Proses Manajemen memori Proteksi dan keamanan informasi (data/file) Penjadualan dan manajemen resource Struktur sistem operasi Sistem Operasi/2014 #20 Manajemen Resource dan Penjadualan Kemampuan apa yang harus dimiliki OS dalam mengatur resource dan penjadualan ? Berlaku adil (fairness) OS harus dapat memberikan kesempatan secara adil (proporsional) kepada semua proses dalam mengakses resource Adil belum tentu sama + Adil itu sama untuk proses dengan prioritas sama + Adil itu berbeda untuk proses dengan prioritas berbeda Mampu membedakan OS harus dapat memberikan layanan yang berbeda-beda sesuai dengan prioritas proses Efisien Throughput maksimal Response time minimal Dapat mengakomodasi jumlah user sebanyak mungkin Sistem Operasi/2014 #21 Elemen kunci dalam penjadualan dan multiprogramming (1) Queue = daftar proses yang sedang menunggu resource Sistem Operasi/2014 #22 Elemen kunci dalam penjadualan dan multiprogramming (2) Keterangan gambar: Short-term queue: Proses yang sudah di memori dan siap dieksekusi Model antrian: round-robin, prioritas, dll Long-term queue Daftar job baru yang sedang menunggu prosesor I/O queue Daftar proses yang menginginkan I/O device yang sama Setiap I/O device mempunyai I/O queue sendiri-sendiri Interrupt handler Menangani interrupt yang berasal dari proses atau I/O device Service call handler Menangani permintaan layanan dari proses atau I/O device Sistem Operasi/2014 #23 5 Hal Utama Dalam Pengembangan Sistem Operasi Proses Manajemen memori Proteksi dan keamanan informasi (data/file) Penjadualan dan manajemen resource Struktur sistem operasi Sistem Operasi/2014 #24 Mengapa sistem operasi harus terstruktur secara baik ? Jumlah baris program pembentuk sistem operasi terus menerus membengkak: CTSS - MIT (1963) : 32.000 word masing-masing 36 bit OS/360 - IBM (1964): lebih dari satu juta instruksi mesin Multics system – MIT dan Bell (1975): lebih dari 20 juta instruksi mesin Windows NT 4.0: 16 juta baris program Windows 2000 : 32 juta baris program Penyelesaian pengembangan sistem operasi selalu terlambat dari jadual semula Selalu terdapat bug pada OS Performansi OS kadang-kadang tidak seperti yang diharapkan Terbukti tidak mudah membangun OS yang kompleks yang handal terhadap macam ancaman keamanaan (virus, worm, akses ilegal) Sistem Operasi/2014 #25 Struktur Sistem Operasi Hirarki (1) Untuk sistem yang kompleks modular saja tidak cukup perlu dibuat hirarki Sistem operasi terdiri dari beberapa level (tingkatan) Setiap tingkatan melakukan fungsi-fungsi khusus Semakin rendah tingkatannya, maka fungsi yang dilakukan semakin primitif, semikian pula sebaliknya Model hirarki dapat memecah permasalahan besar menjadi sub-sub masalah yang lebih kecil sehingga lebih mudah diatur dan dicari solusinya Sistem Operasi/2014 #26 Struktur Sistem Operasi Hirarki (1) Level hardware (CPU), bukan bagian sistem operasi: Level Name Objects Example Operations 4 Interrupts programs Interrupt-handling, context Invoke, mask, unmask, retry 3 Procedures Procedures (subroutine), Mark stack, call, return call stack, display 2 Instruction Set Evaluation stack, microprogram interpreter, scalar and array data Load, store, add, subtract, branch Registers, gates, buses, memory cells etc. Clear register, transfer, activate, complement (Machine instructions) 1 Electronic circuits Sistem Operasi/2014 #27 Struktur Sistem Operasi Hirarki Level Name 7 Virtual Memory (2) Object Example Operations Segments, pages Read, write, fetch (logical address) 6 Local secondary Blocks of data, (head, track, sector) device channels 5 Primitive processes Primitive processes, semaphores, ready list Read, write, allocate, free Suspend, resume, wait, signal Sistem Operasi/2014 #28 Struktur Sistem Operasi Hirarki Level Name 13 Shell (graphical manner) 12 11 User processes Directories Objects User programming environment User processes Directories (access rights) 10 9 8 Devices File system External devices, such as printer, displays and keyboards Files (3) Example Operations Statements in shell language Quit, kill, suspend, resume Create, destroy, attach, detach, search, list Open, close, read, write Create, destroy, open, close, read, write Communications Pipes (logical channel Create, destroy, open, (between processes) for flow of data) close, read, write Sistem Operasi/2014 #29 Pemicu perkembangan sistem operasi modern Hardware: Kecepatan hardware semakin tinggi Kecepatan jaringan semakin tinggi Kapasitas penyimpan data semakin besar dan semakin banyak macamnya Aplikasi: Aplikasi multimedia Internet dan akses jaringan Aplikasi client/server Keamanan: Virus Worm Hacker Sistem Operasi/2014 #30 Jenis sistem operasi modern Monolitic kernel Arsitektur microkernel Multithreading Symmetric multiprocessing (SMP) Sistem operasi terdistribusi Sistem operasi model object-oriented Sistem Operasi/2014 #31 Monolitic kernel dan Arsitektur Microkernel Monolitic kernel Sistem operasi diimplementasikan sebagai sebuah proses besar dimana seluruh komponen penyusunnya (penjadualan, sistem file, jaringan, device driver, manajemen memori, dll) mengakses ruang alamat yang sama Arsitektur Microkernel Sistem operasi model Microkernel terdiri dari 2 bagian: Kernel: terdiri dari interprocess communication (IPC), penjadualan dasar, dan ruang alamat Server: • Terdiri dari semua layanan yang lain • Berada pada user mode diperlakukan sama seperti program aplikasi Kelebihan: (+) Implementasinya lebih sederhana (+) Lebih fleksibel (+) Sangat sesuai untuk lingkungan terdistribusi Sistem Operasi/2014 #32 Multithreading (1) Proses yang sedang dieksekusi dipecah-pecah menjadi bagian-bagian kecil yang berjalan secara concurrent (sendiri-sendiri tapi akur) Thread: Pecahan dari proses yang dapat dieksekusi Thread mempunyai context untuk prosesor (PC dan stack pointer) dan area data untuk stack Thread yang sedang dieksekusi dapat diinterrupt dapat berpindah dari satu thread ke thread yang lain Proses: Kumpulan dari satu thread atau lebih dan resource yang diperlukan (code, data, file, device, dll) Sistem Operasi/2014 #33 Multithreading (2) Di mana model multithreading diterapkan ? Pada aplikasi yang menjalankan beberapa tugas berbeda yang boleh dilakukan secara tidak berurutan Misal: server database melayani permintaan banyak client secara terpisah Kelebihan: (+) Modularity aplikasi lebih terkontrol (+) Respon aplikasi terhadap suatu event lebih terjamin (+) Overhead prosesor pada saat pergantian thread yang dieksekusi lebih kecil (ingat interrupt pada proses !) Sistem Operasi/2014 #34 Symmetric Multiprocessing (SMP) (1) Sistem operasi yang dijalankan pada komputer yang menggunakan lebih dari satu prosesor yang simetris harus mempunyai fungsi dan tool yang dapat mengekploitasi prosesor paralel Tujuan: Efisiensi lebih tinggi Reliability (kehandalan) meningkat Ciri-ciri komputer multiprosesor: Terdapat lebih dari satu prosesor Memori dan fasilitas I/O digunakan secara bersamasama (sharing) Setiap prosesor dapat melakukan fungsi-fungsi yang sama (symmetric) Sistem Operasi/2014 #35 Symmetric Multiprocessing (SMP) (2) Apa kelebihan dibanding prosesor tunggal ? (+) Performansi lebih baik Dalam satu saat dapat dieksekusi lebih dari satu proses benarbenar bersamaan (lihat gambar pada slide selanjutnya) (+) Lebih handal (reliable) Jika sebuah prosesor mengalami gangguan sistem masih tetap dapat bekerja (+) Dapat dikembangkan Performansi sistem dapat ditingkatkan cukup dengan menambah jumlah prosesor (+) Pilihan produk lebih banyak (scaling) Pembuat komputer dapat menjual beberapa macam komputer dengan performansi dan harga berbeda berdasarkan jumlah prosesor yang digunakan (+) Performansinya tetap baik meskipun tidak menerapkan multithreading Sistem Operasi/2014 #36 Multiprogramming dan Multiprocessing Sistem Operasi/2014 #37 Sistem Operasi Terdistribusi dan Model object object--oriented Sistem operasi terdistribusi Sejumlah komputer terhubung melalui jaringan membentuk sebuah cluster Setiap komputer mempunyai resource (memori, harddisk, file) sendiri-sendiri User dapat memanfaatkan resource yang ada di komputer lain Sistem operasi model object-oriented Modul yang ditambahkan ke kernel dirancang dengan metode object-oriented Programmer dapat meng-customize sistem operasi tanpa mengganggu integritas sistem Sistem Operasi/2014 #38 Review Sistem Operasi Windows UNIX Sistem Operasi/2014 #39 Arsitektur Windows Strukturnya modular agar lebih fleksibel Dapat dijalankan pada berbagai perangkat keras Mendukung aplikasi yang dibuat untuk sistem operasi lain Menggunakan arsitektur model microkernel yang dimodifikasi Terdapat sejumlah fungsi sistem microkernel yang dijalankan pada mode kernel Suatu modul dapat dibuang, di-upgrade, atau diganti tanpa menulis ulang seluruh sistem Sistem Operasi/2014 #40 Arsitektur Windows 2000 Sistem Operasi/2014 #41 Komponen Mode Kernel (1) Executive Terdiri dari layanan dasar sistem operasi Manajemen memori Manajemen Proses dan thread Keamanan Manajemen I/O Komunikasi antar proses Kernel Terdiri dari komponen yang paling sering digunakan Sistem Operasi/2014 #42 Komponen Mode Kernel (2) Hardware Abstraction Layer (HAL) Mengisolasi sistem operasi dari platform perangkat keras yang berbeda-beda Device drivers Mentranslasikan fungsi call suatu I/O menjadi request I/O device Sistem window dan grafis Menerapkan Graphical User Interface (GUI) Sistem Operasi/2014 #43 Eksekutif Windows I/O manager Cache manager Object manager Plug and play manager Power manager Security reference monitor Virtual memory manager Process/thread manager Configuration manager Local procedure call (LPC) facility Sistem Operasi/2014 #44 Proses Mode User Merupakan sistem khusus yang mendukung proses Misal: logon process and the session manager Service processes Environment subsystems Aplikasi user Sistem Operasi/2014 #45 Model Client/Server Menyederhanakan Executive Memungkinkan untuk menyusun bermacammacam API Memperbaiki kehandalan Setiap layanan berjalan pada proses terpisah dengan partisi memori masing-masing Client tidak dapat mengakses hardware secara langsung Memberikan sarana yang seragam bagi aplikasi untuk berkomunikasi melalui LPC Mendukung komputasi terdistribusi Sistem Operasi/2014 #46 Thread dan SMP Routine sistem operasi dapat berjalan pada prosesor yang mana saja yang tersedia Routine berbeda dapat dieksekusi secara bersamaaan pada prosesor yang berbeda Sebuah proses dengan banyak thread dapat dieksekusi secara bersamaan pada prosesor yang berbeda Proses server bisa terdiri dari banyak thread Antar proses dapat menggunakan data dan resource bersama-sama Sistem Operasi/2014 #47 Objek Windows Encapsulasi Objek terdiri dari satu atau lebih item data dan satu atau lebih prosedur Kelas objek atau instansiasi Membuat instansiasi tertentu suatu objek Inheritance Mendukung sejumlah perluasan di dalam Executive Polimorfisme Sistem Operasi/2014 #48 Review Sistem Operasi Windows UNIX Sistem Operasi/2014 #49 Spesifikasi UNIX Hardware dikelilingi oleh software sistem operasi Sistem operasi disebutkernel sistem Terdiri dari sejumlah layanan dan antarmuka untuk user: Shell Komponen kompiler C Sistem Operasi/2014 #50 Arsitektur UNIX Sistem Operasi/2014 #51 Kernel UNIX Sistem Operasi/2014 #52 Kernel UNIX Modern Sistem Operasi/2014 #53 Contoh Sistem Operasi UNIX Modern System V Release 4 (SVR4) Solaris 9 4.4BSD Linux Sistem Operasi/2014 #54 Referensi: [STA00] Stallings, William. 2009. Operating System: Internal and Design Principles. 6th edition. Prentice Hall Sistem Operasi/2014 #55