Sistem Operasi - Telkom University

advertisement
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
Download