SISTEM OPERASI - 1 Struktur Sistem Komputer Danang Setiyawan, S.Kom
Deskripsi Matakuliah ini mengajarkan konsep dasar Sistem Operasi, materi: • tentang sejarah perkembangan, konsep dasar dan komponen-komponen yang menyusun Sistem Operasi.
Dalam mata kuliah ini tidak secara khusus membahas Sistem Operasi yang beredar luas di masyarakat, tetapi hanya konsep umum. Apabila diperlukan DOS, Windows, Linux dan Mac OS dibahas sebagai contoh kasus.
Kompetensi Setelah menempuh matakuliah ini mahasiswa dapat menjelaskan: – konsep dasar sistem operasi, khususnya komponenkomponen pembentuk suatu sistem operasi. • seperti: process, file, konsep penjadwalan antar process, dll.
Mahasiswa dapat membuat program sederhana yang berhubungan dengan sistem operasi (pengembangan).
Materi • Perkenalan dan Pendahuluan (Overview) • Struktur Sistem Komputer • Struktur Sistem Operasi • Process • Thread • Penjadwalan CPU • UTS (Mid Test) • Sinkronisasi Proses • Deadlock (kebuntuan) • Manajemen Memori • Memori Virtual (2) • File System & Security • Input/Output System • UAS
Referensi • Silberschatz, Avi, Galvin, Peter, Gagne, Greg, 2006, Operating System Concepts 7ed and 8ed, John Wiley & Sons, Inc. • Silberschatz, Avi, Galvin, Peter, Gagne, Greg, 2004, Operating System Concepts with Java 6ed, John Wiley & Sons, Inc. • Tanenbaum, Andrew S., 1992, Modern Operating Systems, Prentice-Hall, Inc., Englewood Cliffs, New Jersey. • Rahmat M. Samik-Ibrahim, M.Sc, Pengantar Sistem Operasi Komputer, Ardi Publishing, 2004. • Abas Ali P, Dony Ariyus, Sistem Operasi, Andi Offset, 2006.
Buku
Buku
Penilaian • • • • •
80.0 – 100 65.0 – 79.9 50.0 – 64.9 35.0 – 49.9 0 – 34.9
A B C D E
4 3 2 1 0
Distribusi Nilai • • • • • •
UTS UAS Presensi Tugas Paper Tugas Program Tugas Presentasi
20% 30% 10% 10% (kelompok) 15% (kelompok) 15% (kelompok)
Student Centered Learning
SCL
Peranan Dosen dlm SCL
Komponen Dasar Sistem Komputer • Hardware / Peripheral – Penyedia sumber daya untuk komputasi dasar • Memory, CPU, I/O
• Software – Operating system • Mengkontrol dan mengkoordinasi penggunaan hardware antara berbagai aplikasi dan pengguna – Application programs – mendefinisikan cara penggunaan sumber daya sistem dan persoalan komputasi yang dialami pengguna • Word processors, compilers, web browsers, database systems, video games
• Pengguna – orang, mesin, dan komputer lain
4 komponen dari Sistem Komputer
Kelas Kelas--kelas komputer • Menurut Ukuran Komputer: Grid Computer / Super Computer Mainframe / Enterprise System Minicomputer Workstation Desktop Computer Personal Computer Desknote Laptop / Notebook Handheld Computer Embedded System
Menurut Karakteristik • Singleprocessor – Komputer yang hanya memiliki satu prosesor
• Multiprocessor – Komputer yang memiliki lebih dari satu prosesor
• Personal Computer – Komputer yang digunakan oleh hanya satu orang dalam satu waktu (umumnya)
• Distributed System – Komputasi yang dikerjakan dengan beberapa prosesor
Menurut karakteristiknya • Clustered System – Gabungan dari beberapa sistem individu yang saling berbagi tempat penyimpanan data (storage) dan saling terhubung dalam jaringan lokal
• Real Time System – Sebuah sistem yang mengutamakan ketepatan waktu dalam eksekusi satu buah tugas
Grid Computer / Super Computer • Kumpulan dari banyak komputer yang dikembangkan dalam sebuah computer-farm • Pengembangan dari Mainframe dan Desktop • Menggunakan banyak CPU untuk menghasilkan output maksimal • Merupakan Kumpulan cluster
Mainframe System • Kumpulan dari device-device yang berfungsi sama atau bermacam-macam yang disatukan dalam sebuah sistem yang saling berbagi • Mengumpulkan job-job yang mirip • Secara otomatis berpindah dari satu job ke job yang lain
Mainframe System
•
Batch System – Job yang mempunyai kesamaan kebutuhan – sumber daya dikumpulkan – Ketika komputer dalam keadaan siap maka CPU menjalankan masing masing kumpulan job tersebut sebagai sebuah kelompok. – Diekseksui secara bergantian – User yang mengoperasikan
Mainframe System • Multiprogramming: – Job disimpan di main memory pada waktu yang sama – CPU dipergunakan bergantian oleh job-job tersebut – Dikerjakan oleh OS – Ada background dan foreground proses
• Dibutuhkan Kemampuan OS: – Penyediaan I/O routine – Pengaturan memory, untuk mengalokasikan memory untuk masing2 Job – Penjadwalan CPU, untuk memilih job mana yang akan dijalankan – Pengalokasian untuk hardware lain
Mainframe System • Time-Sharing System/Multitasking -Interactive Computing – CPU digunakan bergantian oleh job-job di memori dan di disk – Waktu dibatasi
• Response time harus < 1 detik – CPU dialokasikan hanya pada job yg ada di memory = CPU schedulling – Job dipindahkan dari dan ke disk = swapping dan virtual memory – Terjadi komunikasi antara user dan sistem operasi • Setelah sistem operasi menyelesaikan satu perintah ia mencari perintah berikutnya dari user
Mainframe System
• Multiprocess: – Sistem memiliki lebih dari satu CPU untuk memproses satu atau lebih program – Resource digunakan bersama-sama – Sering disebut Tightly Coupling System
Jenis Jenis--jenis Komputasi: Distributed System • Melaksanakan komputasi secara terdistribusi diantara beberapa prosesor, tidak digunakan bersamaan. • Loosely coupled system – setiap prosesor mempunyai local memory / resource. – Komunikasi terjadi melalui bus atau jalur telepon / LAN
•
Keunggulan: – Pembagian sumber daya – Komputasi lebih cepat
• Model – Client-Server Systems – Peer-to-peer (P2P) System
Peer to Peer
• P2P tidak membedakan client dan server – Semua node yang terhubung disebut dengan peer – Satu node bersifat sebagai client dan sekaligus sebagai server – Node harus terhubung dalam jaringan P2P • Menggunakan service melalui discovery protocol
– Contoh: Napster and Gnutella, Torrent – Menggunakan torrent client: utorrent
Real time system • Sistem yang mampu menyelesaikan proses dalam interval waktu tertentu. • Jika tidak selesai maka sistem gagal. • Sering digunakan dengan device pengendali dalam sebuah penggunaan khusus – misal: eksperimen ilmiah, industri, medis
• Model : – Hard Real Time – Soft Real Time
Hard vs Soft
• Hard Real Time
• Soft Real Time
• Menjamin proses yang paling penting selesai dalam interval waktu yang benar dan tertentu. • Tidak dapat dipadukan dengan sistem jenis lain (mis. Time-Shared System).
• Menjamin proses yang paling penting mendapat prioritas tertinggi untuk diselesaikan. • Dapat dipadukan dengan sistem lain.
Computer System Organization • Operasi-operasi Sistem Komputer – Satu atau lebih CPU, device controllers terhubung dalam jalur bus untuk mengakses shared memory – Concurrent execution dari CPU dan adanya kebutuhan devices berebut mendapatkan resource
PC Modern Architecture
Siklus Instruksi • Instruction fetch, dari main memory • Instruction Execution
Pengoperasian Sistem Komputer • Perangkat I/O dan CPU dapat berjalan secara secara konkuren. • Setiap device controller bertanggung jawab atas device tertentu. • Setiap device controller memiliki buffer. • CPU memindahkan data dari/ke memori utama ke/dari buffer controller. • Operasi I/O adalah pemindahan data dari device ke buffer controller. • Device controller memberitahu CPU bahwa operasi I/O selesai melalui interrupt.
Interrupt • Berfungsi memindahkan kontrol ke interrupt service routine, melalui interrupt vector yang mengandung seluruh alamat service routine. • Interrupt harus mencatat alamat dari instruksi yang di-interrupt. • Interrupt akan diabaikan jika ada interrupt lain yang sedang diproses. • Trap adalah interrupt yang disebabkan oleh software, baik yang disebabkan karena error atau permintaan user. • Sistem operasi bekerja berdasarkan model interrupt driven.
Penanganan interrupt • Sistem operasi menjaga keadaan CPU dengan menyimpan isi register & program counter. • Sistem operasi menentukan jenis interrupt yang terjadi : – Polling (Programmable I/O – PIO) • Software: system call – Vectored interrupt system (Interrupt Driven) • Hardware: oleh hardware seperti penekanan keyboard
Operasi IO • Dua macam tindakan jika ada operasi I/O: – Setelah proses I/O dimulai, kendali akan kembali ke user program saat proses I/O selesai (Synchronous).
• Instruksi wait menyebabkan CPU idle sampai interrupt berikutnya. – Wait loop - untuk menunggu akses berikutnya
• Paling banyak satu proses I/O yang berjalan dalam satu waktu. – Setelah proses I/O dimulai, kendali akan kembali ke user program tanpa menunggu proses I/O selesai (Asynchronous). • System call – permintaan pada sistem operasi untuk mengizinkan user menunggu sampai I/O selesai. • Device-status table mengandung data untuk tiap I/O device yang berisi tipe, alamat, dan keadaannya.
Direct Memory Access • Digunakan untuk I/O device yang dapat memindahkan data dengan kecepatan tinggi (mendekati frekuensi bus memori). • Device controller memindahkan data secara blok-blok dari buffer, langsung ke memory utama / sebaliknya tanpa campur tangan prosesor. – Dulu per karakter, 2 ms per kar + 2 untuk interrupt – Interrupt hanya terjadi tiap blok bukan tiap word / byte
• Seluruh proses DMA dikendalikan oleh sebuah controller bernama DMA Controller (DMAC). • Ada 2 DMA: – Third party: ada di motherboard – First party: dibagian logic di interface card per device
Sistem BUS • Suatu jalur transfer data yang menghubungkan setiap device pada komputer • Hanya 1 device yang boleh mengirimkan data, • Boleh > 1 device yang membaca data • Terdiri dari dua buah model: – Synchronous bus • Berkecepatan tinggi, hanya untuk device berkecepatan tinggi juga – Asynchronous bus • Berkecepatan rendah, dapat digunakan untuk berbagai macam device
Storage • Prinsip : program adalah bagian dari data • Register – Tempat penyimpanan volatile yang akan diolah langsung di prosesor. – Berkecepatan sangat tinggi.
• Cache Memory – Tempat penyimpanan sementara yg volatile sejumlah kecil data untuk meningkatkan kecepatan pengambilan atau penyimpanan data di memori oleh prosesor. – Berkecepatan tinggi.
• Random Access Memory (RAM) - Main Memory – Tempat penyimpanan sementara yg volatile yang dapat diakses langsung oleh prosesor
Storage (2) • Extension Memory – Tambahan memory yang digunakan untuk membantu proses-proses dalam komputer, biasanya berupa buffer
• Secondary Storage – Media penyimpanan data yang non-volatile – Dapat berupa Flash Drive ,Optical Disc, Magnetic Disk, Magnetic Tape
Storage Management • OS menyediakan keseragaman dan logical view terhadap information storage – Abstracts physical properties to logical storage unit – file – Each medium is controlled by device (i.e., disk drive, tape drive)
• File-System management – Files usually organized into directories – Access control: who can access what – OS activities include • • • •
Creating and deleting files and directories Primitives to manipulate files and dirs Mapping files onto secondary storage Backup files onto stable (non-volatile) storage media
Performance of Various Levels of Storage can be explicit or implicit
Caching • Menyalin informasi ke storage media yang lebih cepat; Main memory dapat dilihat sebagai cache terakhir untuk secondary storage – Menggunakan memory berkecepatan tinggi untuk memegang data yang diakses terakhir – Memperkenalkan tingkat lain di hirarki storage.
• Cara: – Jika ada di cache, gunakan yang dari cache (cepat) – Jika tidak ada di cache, data dikopikan ke cache dan gunakan
Storage Storage--Device Hierarchy
Dual Mode Operation of OS • Membagi sumber daya sistem yang memerlukan sistem operasi untuk menjamin bahwa program yang salah tidak menyebabkan program lain berjalan salah juga • User Mode – Eksekusi dikendalikan oleh user • Kernel Mode – Eksekusi dikendalikan oleh sistem operasi. – Instruksi tertentu hanya berjalan di mode ini. (Privileged Instruction)
Dual mode operation of OS • Ditambahkan sebuah bit penanda operasi • Jika terjadi interrupt, make hardware berpindah ke monitor mode.
Process Management • Process adalah sebuah program yang sedang dieksekusi. • Program adalah sebuah passive entity, process adalah sebuah active entity. • Process membutuhkan resources: – CPU, memory, I/O, files – Initialization data • Process termination harus membebaskan semua resource yang sudah dipakainya • Single-threaded: process memiliki program counter untuk menempatkan lokasi dari instruksi selanjutnya yang akan dieksekusi – Process mengeksekusi instruksi secara sekuensial, dalam satu satuan waktu sampai selesai • Multi-threaded: process memiliki satu program counter per thread
Process Management Activities • Sistem operasi akan melakukan: • Creating dan deleting baik user dan system processes • Suspending dan resuming processes • Menyediakan mekanisme untuk process synchronization • Menyediakan mekanisme untuk process communication • Menyediakan mekanisme pada deadlock handling
Memory Management • Semua instruksi dalam memory harus diatur untuk dieksekusi • Memory management activities – Mencatat semua penggunaan bagian pada memory, dipakai oleh siapa saja – Memutuskan mana proses dan data yang dimasukan dan dikeluarkan dari memory – Mengalokasikan dan mendealokasikan ruang pada memory yang dibutuhkan oleh proses
Protection and Security • Protection – mekanisme untuk menkontrol akses dari proses atau user terhadap resources yang didefinisikan oleh OS • Security – penjagaan sistem dari ancaman internal dan eksternal – including denial-of-service, worms, viruses, identity theft, theft of service • Pengaturan user: who can do what – User identities (user IDs, security IDs) include name and associated number, one per user – User ID then associated with all files, processes of that user to determine access control – Group identifier (group ID) allows set of users to be defined and controls managed, then also associated with each process, file – Privilege escalation allows user to change to effective ID with more rights
Sistem Proteksi • Proteksi berkenaan dengan mekanisme untuk mengontrol akses yang dilakukan oleh program, prosesor, pengguna sistem maupun pengguna sumber daya. • Mekanisme Proteksi harus : – membedakan antara penggunaan yang sah dan yang tidak sah. – spesifikasi kontrol untuk di terima / tidak