SISTIM OPERASI (Operating System) IKI-20230 Pengantar Johny Moningka (
[email protected]) Fakultas Ilmu Komputer Universitas Indonesia Semester 2000/2001
What is an Operating System? n
Perangkat lunak yang bertindak sebagai perantara antara pemakai komputer dan perangkat keras n
n
Pemakai komputer: “common user”, programmer, aplikasi (program)
Tujuan: n
n
n
Menjalankan program-program dari user dan membantu user dalam menggunakan komputer Menyediakan sarana sehingga pemakaian komputer menjadi mudah (convenient) Memanfaatkan perangkat keras komputer yang terbatas secara efisien (resource manager) JM-2000/v1.1/2
1
OS: abstraction Membungkus hardware: “makes pretty”, makes portable, makes infinite, makes secure
C compiler
E-commerce
Word-Processor OS Hardware
JM-2000/v1.1/3
Computer System Components 1. Hardware – menyediakan “basic computing resources” (CPU, memory, I/O devices). 2. Operating system – mengendalikan/mengkoordinasi pemakaian hardware oleh berbagai aplikasi/program dari users 3. Applications programs – menggunakan system resources untuk menyelesaikan masalah komputasi dari users (compilers, database systems, video games, business programs). 4. Users (people, machines, other computers). JM-2000/v1.1/4
2
Abstract View of System Components
JM-2000/v1.1/5
Operating System Definitions n
Resource allocator n n
n
Control program n
n
Mengatur resources Mengalokasikan dan mengontrol pemakaian resources dari berbagai program/aplikasi Mengendalikan eksekusi user program dan pemakaian system resources (contoh: operasi pada I/O devices) => handal, reliable, terlindung
Kernel n n
Sistim program yang berjalan (“ada”) terus menerus saat komputer aktif Kontras dengan aplikasi yang di “load”, eksekusi dan terminasi JM-2000/v1.1/6
3
OS Evolution n
OS sederhana:
n
Program tunggal, satu user, satu mesin komputer (CPU) : komputer generasi pertama, awal mesin PCs, controller: lift, Playstation etc. No problems, no bad people, no bad programs => interaksi sederhana Problem: terbatas pemakaiannya;
n
“Searching for “an ultimate machine … (as a human)””
n
n
JM-2000/v1.1/7
Simple Batch Systems n
Memakai seorang operator n
n n n
Menambahkan card reader Mengurangi waktu setup: batch jobs yang mirip/sama Automatic job sequencing – secara otomatis kontrol akan di transfer dari satu job ke job yang lain. n
n
Bentuk OS primitif
Resident monitor n
Fungsi monitor: awal (initial) melakukan kontrol Transfer control ke job (pertama)
n
Setelah job selesai, control kembali ke monitor
n
n
User ≠ operator
Control cards: mengatur batch jobs JM-2000/v1.1/8
4
Multiprogrammed Batch Systems Beberapa jobs disimpan di memori p a d a s a a t b e r s a m a a n , d a n C P U melakukan multiplexing ke jobs-jobs tersebut
JM-2000/v1.1/9
OS Features: multiprog. n n
n n
I/O rutin dikendalikan dan diatur oleh sistim Memory management – sistim harus mengalokasikan memori untuk beberapa jobs sekaligus CPU scheduling – sistim harus memilih jobs mana yang telah siap akan dijalankan Alokasi dari I/O devices untuk jobs dan proteksi bagi I/O devices tersebut Sistim menjadi => complex n
Bagaimana kalau program “loops terus menerus”, going mad etc. => proteksi JM-2000/v1.1/10
5
Time sharing systems n n n
CPU melakukan multiplex pada beberapa jobs yang berada di memory (dan disk) CPU hanya dialokasikan kepada jobs yang telah siap dan berada di memori Besar memori masih sangat terbatas: n
n
A job swapped in and out of memory to the disk.
Komunikasi on-line (interaktif) antara user dan sistim: jika OS telah selesai mengeksekusi satu perintah, menunggu perintah berikut bukan dari “card reader”, tapi dari terminal user n
On-line system must be available for users to access data and code. JM-2000/v1.1/11
Personal-Computer Systems n n n n
Personal computers – sistim komputer yang dirancang khusus untuk single user I/O devices – keyboards, mice, display screens, small printers. User convenience and responsiveness. Fungsi dasar mirip (adopsi) dari OS pada sistim yang besar n n
Sederhana: tidak terlalu fokus pada utilisasi CPU dan proteksi Contoh: MS-DOS untuk PC banyak mengambil features dari UNIX, minus proteksi dan CPU scheduler yang rumit. JM-2000/v1.1/12
6
Parallel Systems n n
Sistim multiprosesor: lebih dari satu CPU yang terhubung secara dekat satu sama lain Symmetric multiprocessing (SMP) n n
n
n
Setiap prosesor menjalankan “identical copy” dari OS Banyak proses dapat berjalan serentak murni dengan menggunakan resources pada masing-masing CPU Most modern operating systems support SMP
Asymmetric multiprocessing n
Setiap prosesor telah ditentukan untuk menjalankan task tertentu:
n
Master processor mengontrol, menjadwalkan dan mengalokasikan task ke slave processors More common in extremely large systems (main-frame)
n
JM-2000/v1.1/13
Real-Time Systems n
n
n
Digunakan sebagai control device untuk aplikasi khusus (misalkan medical imaging systems, industrial control process dll). Kemampuan untuk beroperasi, response dalam batasan “waktu tertentu” => OS harus sederhana, cepat, dan dapat memenuhi jadwal task (scheduling dll). Hard real-time system. n n
n
Secondary storage sangat terbatas atau tidak ada (menggunakan ROM, flash RAM). Task dapat diprediksi/ditentukan: waktu selesai dan response.
Soft real-time system n n
Lebih leluasa batasan waktu dari “hard real-time system”. Lebih umum digunakan di industri, aplikasi multimedia (video streaming, virtual reality). JM-2000/v1.1/14
7
Distributed Systems n n
n
Distribusikan kemampuan komputasi dan “resources” ke berbagai komputer di jaringan. Loosely coupled system – each processor has its own local memory; processors communicate with one another through various communications lines, such as high-speed buses or telephone lines. Advantages of distributed systems. n n n n
Resources Sharing Computation speed up – load sharing Reliability Communications JM-2000/v1.1/15
Migrasi OS vs Sistim Komputer
JM-2000/v1.1/16
8
OS (now!) n
SOFTRES (survey 1998): requirements for OS n
n
n
n
Availability tinggi: diandalkan untuk operasi / bisnis yang kritis (uptime terus menerus) Skalabilitas: mendukung multiprosesor (prosesing power dapat ditingkatkan), cluster (distributed processing, server dapat ditambah) Manajemen: bagaimana mengurangi biaya (peope are expensive !) pemeliharaan (cost of ownership), misalkan centralized account, security policy, flexible administration point etc. Internet networks support & application JM-2000/v1.1/17
Why we study … n
An experience and exercise, n n n
n
Memberikan “lahan” untuk implementasi “core CS” Landasan, dukungan untuk system programming, aplikasi dan software package
OS is a complex system, magic to other people n Most interesting things are complex: “multi” disc game, puzzle, girl/”doi”, Gus Dur, Pansus, etc. n
It’s impact on every aspect of how people using computer, services and now: doing business and personal/life-style JM-2000/v1.1/18
9
Course Content n
Overview n
n
n n
n
Proses & Thread CPU Scheduling Sinkronisasi & Concurrent System Deadlock
Protection & Security n
Manajemen Proses n
n
n
Struktur OS
n
n
Protection Security
Case: n n
Linux/UNIX Windows NT
Manajemen Storage n n n n
Memory Management Virtual Memory File System Secondary Storage JM-2000/v1.1/19
Administra-trivia n n
2 test tertulis (mid & final) Assigment: n
n
Distributed workload n n
n
4 tugas program labs (kelompok) Test/Exams: 65 % (UTS: 30% ; UAS: 35%) Labs Assigments: 35 %
Text books: n
Operating System Concepts: Silberschatz/Galvin – Addison Wesley, 5th Edition
n
MINIX Operating System, Design & Implementation, 2nd Edition A. S Tanenbaum dan AS Woodhull, Pretince Hall. JM-2000/v1.1/20
10