Post on 09-Mar-2019
SISTEM OPERASI & SISTEM KOMPUTER
1. Sistem Operasi → pengertian/definisi → mengawasi
Seperangkat program : memantau & mengatur (kontrol) Penghubung Karnel Guardian
2. Sisem Operasi → fungsi/peran sebagai
Extended machine (virtual machine) Resource manager Resource allocator
3. Sistem Operasi → tujuan
Lingkungan dimana user dapat mengeksekusi program program Umum : untuk berbagai keperluan → p.l. memadai Khusus : untuk penelitian Sistem komputer nyaman Efesiensikan hardware
4. Sejarah perkembangan sistem operasi
Generasi 1
Belum ada bahasa pemrograman Belum ada sistem operasi Menggunakan plugboard Mengenal punched card
Generasi 2
Pengenalan fungsi personil Pengenalan program (seperangkat prg) Penggunaan bahasa Penerapan batch file Pengoperasian off-line Penggunaan mesin mesin besar (sains.eng)
Generasi 3
Menggunakan IC Menangani komputasi sains & bisnis Sistem operasi yang besar dan kompleks Multiprogramming & multiprocessing SPOOLING Time sharing/Multitaksing Komputer mini UNIX Realtime system
Generasi 4
LSI – VLSI → PC & workstation (dekstop system) Perangkat lunak user friendly Sistem operasi → MS DOS & UNIX Network operating system Distributed operating system
Generasi 5
Pentium pada server & workstation Sistem operasi windows Internet & multimedia & aplikasi berasis web
5. Istilah istilah
Batch system Multiprogramming system Time sharing system / multitasking Parallel system (multiprocessing system)/tightly coupled Real time system Distributed system / loosely coupled system
1. Block diagram komputer
Konsep Sistem komputer
Tertinggi : Diagram block
Arsitektur
Transfer register
Rangkaian sakelar
Terrendah: Elektronika
Komponen Sistem komputer
Para pemakai komputer
Program aplikasi & berkas data
Sistem utilitas & sistem bahasa
Sistem Operasi komputer
Hardware
INPUT
OUTPUT
MEMORI PENDUKUNG
Saluran
Penghubung
CONTROL UNIT
PROCESSOR
MEMORY
CLOCK
STRUKTUR SISTEM KOMPUTER
Arsitektur sistem komputer
1. Operasi Sistem Komputer
CPU device dan I/O dapat beroperasi serentak (concurrent) → effisiensi
Semua request ke I/O dikendalikan oleh I/O systemo Setiap device terdapat controllero Setiap device controller mempunyai local buffer
CPU memindahkan data dari / ke memory ke / dari local buffero Lalu controller akan mengirim data dari buffer ke device
Interrupt (software-hardware) → jenis :
Polling (tanya) : mellalui Prosesor Vectored interrupt system (langsung) dari berbagai sumber daya
Interrupt Handler : Jika terjadi intterupt maka kendali perossesor diserahkan ke I H : - device yang intterupt
- menyimpan status CPU
CPU Disk Controller Printer Controller Tape Drive Controller
Memory Controller
Memory
2. Struktur Input / Output
User request I/Oo CPU : load instruksi ke register controllero Controller : menjalankan instruksi
Setelah I/O mulai, control kembali ke user jika operasi I/O belum selesai
Dua metode I/Oo Synchronous (blocking)o Asynchronous (Interrupt Driver)
I/O intterupto Pilihan lebih baik: asynchronous I/Oo Setelah I/O mulai kendali langsung kembali ke user program
tanpa menunggu I/O selesai User dapat / harus menunggu I/O selesai
Potensi lebih dari satu device (sharable vs dedicated)o User dapat menggunakan I/O melalui system callo Device status table : informasi I/O device (tipe, alm, status
(idle/busy), dll)
3. Struktur storage
Main memory → CPU dapat akses langsung Secondary storage → kapasitas besar dan nonvolatile Magnetic disks → piringan
o Terbagi secara logikal dalam track lalu sectoro Disk controller menentuka interaksi logical antara device dan
komputer
Hirarki storage
Dikategorikan dalam bentuko Kecepatano Biayao Volatilitas
Cachingo Penduplikasian informasi ke dalam sistem storage yang cepat
dapat dilakukan melalui cache pada secondary storage
Migrasi dari disk ke register
A A A
4. Proteksi Hardware
Dual mode operation Proteksi I/O Proteksi memory Proteksi CPU
Dual Mode Operation
Menggunakan resource sharing membutuhkan sistem operasi yang menjamin program yang salah tidak menyebabkan program yang lain terpengaruh
Menyediakan dukungan hardware yang dibedakan dalam dua mode operasi
1. user mode2. monitor mode (karnel mode/system mode/supervisor
mode/privileged mode)
Magnetic disk
Main memory Cache Hardware
register
Mode bit ditambahkan pada komputer hardware (CPU) untuk indikasi mode sekarang : monitor (0) atau user (1)
Jika terjadi intterupt/fault/error → hardware mengubah mode ke monitor
Proteksi I/O
Semua instruksi I/O adalah instruksi privileged OS menjaga supaya program user tidak dapat menjadi “monitor
mode”
Proteksi memory
Melindungi memory terutama untuk isi → interrupt Cara umum adalah setiap user program hanya dapat mengakses
lokasi memory yang telah dibatasio Range addresso Base registero Limit register
Memory di luar range tidak dapat di akses
Proteksi CPU
Timer : - interupsi secara berkala oleh hardware
- nilai timer akan berukarang sesuai “clock thick”
- saat nilai timer menjadi 0, interrupt akan terjadi
- Housekeeping : CPU scheduling, status device table dll
Timer digunakan untuk system time
0
Base : B
limit x
add=b+x
AB
CD
monitorJob 1Job 2Job 3
STRUKTUR SISTEM OPERASI
A. Komponen sistem1. Management process
Procses adalah sebuah program yang sedang di eksekusi Sistem operasi yang bertanggung jawab atas aktifitas yang
berhubungan dengan manajemen proses :o Creation & deletiono Suspension (block) & resumptionoMekanisme : sinkronasi & komunikasi proses
2. Manajement main memory Memori sebagai tempat penyimpanan instruksi/data dari
program yang sifatnya volatile Managemn memory
oMelacak pemakaian memory (siapa&berapa besar)oMemilih program mana yang akan di load ke memori
alokasi & de-alokasi memori fisik untuk program3. Manajemen secondary storage
Penyimpanan permanen untuk semua program & data OS bertanggung jawab untuk manajemen disk
oManajemen ruang kosongoAlokasi storageoMenjadwalan disk
4. Manajement I/O system Disebut device manager → device driver : operasi I/O dapat
seragam (open, read, write, close) pada hard disk, cd rom, floppy disk
Komponen OS untuk sistem I/OoBuffer : menampung sementara data dari/ke I/O deviceoSpooling : melakukan scheduling pemakaian I/O
(antrian)
oMenyediakan “driver” untuk operasi rinci untuk hardware tertentu
5. Manajemen file OS bertanggung jawab atas :
oMembuat dan menghapus file/directoryoDukungan primitif untuk manipulasi file/directoryoPemetaan fole ke dalam secondary storageoBackup file ke media storage yang stabil / non volatile
B. Layanan Sistem Operasi
1. Eksekusi program → load & eksekusi proses2. Operasi I/O
a. User tidak dapat langsung mengakses resources, OS harus menyediakan mekanisme untuk operasi I/O
3. Manipulasi file system4. Komunikasi5. Deteksi error6. Penggunaan system yang effisien
a. Proteksi : menjamin akses ke resource di kendalikanb. Accounting : merekam kegiatan user, jatah pemakaian
resources
C. System Call
o Menyediakan interface antara program dan OSo System call ditulis dalam assembly language atau bahasa tingkat
tinggi yang dapat mengendalikan mesin (C)o Berkaitan dengan pembuatan dan penghentian setiap proces
Tipe system call
1. Kontrol proseso Mengakhiri (end) dan membatalkan (abort)o Mengambil (load) dan eksekusio Membuat dan mengakhiri proseso Menentukan dan men set atribut proseso Wait for time, wait event, signal evento Mengalokasi dan membebaskan memory
2. Manipulasi fileo Membuat dan menghapus fileo Membuka dan menutup fileo Membaca, menulis dan mereposisi fileo Menentukan dan mengeset atribut file
3. Management deviceo Meminta dan membebaskan deviceo Membaca, menulis dan mereposisi deviceo Menentukan dan mengeset atribut device
4. Informasi lingkungano Mengambil atau mengeset waktu atau tanggalo Mengambil atau mengeset sistem data proses, file, attribut
device5. Komunikasi
o Membuat dan menghapus sambungan komunikasio Mengirim dan menerima pesano Mentransfer status informasio Komunikasi dilakukan dengan passing/tukar atau sharing
memory
D. Program System
Menyediakan kemudahan pembangunan program dan eksekusi
o Manipulasi fileo Informasi statuso Modifikasi fileo Dukungan bahasa pemrogramano Loading dan eksekusi program/debuggingo Komunikasio Aplikasi program
Kebanyakan user memandang sistem operasi sebagai program sistem bukan sebagau “actual system call”
II. Penjadwalan Proses
Pada multi programming : maximize pemakaian CPU secara efisien → CPU digunakan oleh proses terus menerus
Pada time sharing : pemakaian CPU dapat di switch dari satu proses ke proses lain → user dapat berinteraksi dengan sistem sesering mungkin
Pada proses tunggal : hanya ada 1 proses yang dapat dijalankan. Proses lain menunggu sampai CPU di jadwalkan ke proses tersebut
A. Shceduling Queque
Proses yang masuk ke system diletakkan di job queue Proses yang ada di memori utama menunggu untuk di eksekusi di
letakkan pada setiap list yang disebut ready queue Queue ini disimpan sebagai linked list yang berisi pointer awal dan
akhir PCB stiap PCB memiliki stiap pointer field yang menunjuk ke proses berikutnya dalam ready queue
B. Penjadwalan / Schedulers
Queque headerPCB 7 PCB 2
READYQUEQUE
HEAD
TAIL
MAG TAPE
UNIT1
HEAD
TAILDISK
UNIT 0
HEAD
TAIL
TERMINAL
UNIT 0
Register RegisterHeadTail
Scheduler memilih proses atau program (lebih dari satu)
1. Longterm scheduler (job scheduler)Memilih program yang akan di load dan ada di ready queue : mungkin akan ada proses 1 job baru atau proses di pindahkan dari memori ke disk (swap out)
2. Shortterm scheduler (CPU scheduler)Memilih proses yang berada di ready queue akan “run” mendapat jatah CPU. Dikenal dengan istilah context switch proses
C. Alih konteks / Context swtich Saat terjadi swith (switching)
Sistem harus menyimpan “informasi” proses sekarang Load “informasi” dari proses baru yang berada di PCB Waktu context switching adalah overhead, sistem tidak bekerja
III. Operasi pada proses
A. Pembuatan proses Umumnya proses (parent) dapat membuat proses baru (child
process) Child process dapat membuat proses baru sehingga terbentuk
“tree process” Pilihan hubungan antara parent & child process
1. Resource sharing Parent & child berbagi resource Child berbagi subset dari resource parent Parent & child tidak berbagi resource
2. Struktur Sistem OperasiMetode untuk mengorganisasikan dan membangun sistem operasi1. Struktur Monolitnic (struktur sederhana dengan operasi dual mode)
a. Kumpulan program yang menggunakan langsung resource hardware
b. Terdapat program yang mewakili fungsi OS : processor management, memory management
c. OS awal : satu kesatuan proses dimana kontrol berpindah dari program program tersebut (produce call)
d. Program user (process) : menjadi satu bagian rutin dari (loop) program utama jika tidak melakukan fungsi os
e. User program dijalankan “call” dari OS → eksekusi pada user mode akan berhenti : timeout, kembali ke OS, intterupt
2. Pendekatan sederhana (karnel)Struktur terbatas pada 2 layerSystem program : bagian OS yang di bangun di atas karnel → extended machineKarnel (berisi semua layanan yang disediakan SO untuk user) Operasi vital melindungi resources hardware Semua service untuk user proses melakukan mekanisme system
call Tugas utama karnel menyediakan fasilitas untuk multitasking /
multiprogramming → dimana proses proses berjalan serentak dan terpisah
Contoh : UNIX
Yang lainnya MS-DOS (tidak menggunakan dual mode & tanpa modul)
Struktur Sistem UNIX
----------------------------------------------------------------------------------------------------
The users
----------------------------------------------------------------------------------------------------
Shell & commands
Compilers & interpreters
System libraries
---------------------------------------------------------------------------------------------------
System call interface to the karnel
Signals terminal file system CPU schedulling
Handling swapping block I/O page replacement
Char I/O system system demand paging
Terminal drivers disk & tape drivers virtual memory
Karnel interface to the hardware
----------------------------------------------------------------------------------------------------
Terminal controlers device controllers memory controllers
Terminals disk & tapes Physical memory
3. Pendekatan berlapis (layer approach)
Susunan berlapis : lebih dari 2 layer Setiap layer melingkupi layer dibawahnya (kendali, akses)
o Layer paling bawah (o) → hardwareo Layer paling atas (N) → user interface
Rancangan modular :
o Layer disusun sehingga setiap fungsi / operasi layer atas akan menggunakan “services” pada layer bawah
Application application application
----------------------------------------------------------------------------------------------------
Application programming interface API extention
----------------------------------------------------------------------------------------------------
Subsystem --------------- subsystem
----------------------------------------------------------------------------------------------------
Karnel
----------------------------------------------------------------------------------------------------
Device driver device driver
PROSES
I. Konsep Proses
A. Proses adalah sesuatu program yang sedang dieksekusi, banyak & beragam. Instruksi pada program (code) akan dieksekusi secara sekuensial sesuai dengan “line code” (stored program concept)Proses lebih dari “program code yang aktif” :
o Melacak posisi insruksi (sequential execution) : program counter
o Menyimpan data sementara var, parameter, return value, stack
o Menyimpan data (initial, global variable, dll) : data sectiono Menyimpan status proses. Contoh : aktif, wait, I/O req, dll
B. Status prosesSaat saat proses dijalankan (executed) maka status dari proses akan berubah
o New : proses di buato Running : instruksi di eksekusio Waiting : proses menunggu beberapa event yang akan terjadio Ready : proses menunggu jatah waktu dari prosessoro Terminated : proses selesai di eksekusi
Diagram status proses
Menunggu I/O atau
event
Pekerjaan I/O atau
event selesai
keluar
Scheduller dispatch
interrupt
New
Ready
Waiting
Running
Terminateddisetujui
Informasi proses disimpan di?
o Data structure dari OS dalam bentuk tableo Satu entry table / linked list (array of structure)
o Informasi yang disimpano Informasi internal CPU : isi regeister, program counter, status
CPU dll (umumnya bentuk stack frame)o Identifikasi Proses : nama proses, nomer proses/index, proses
ido Accounting & timer : usertime, system time, alarm, dllo Resources : memory file management
C. Proces control block (PCB)
Pointer ProsesProses number
Program counterRegister
Memory limitList of open file
.
.
.
2. Execution
o Parent & child melakukan eksekusi secara serentako Parent menunggu hinggal chilren selesai
3. Addres space (ruang alamat)
o Child menduplikasi parento Child memiliki program yang di load kedalamnya
D. Terminasi proses (penghentian proses)
o Proses dapat berakhiro Eksekusi instruksi trakhir (exit system call)o OS yang akan melakukan dealokasi (memory, file resource)
o Parent dapat menghenikan eksekusi proses child secara paksa : mengirim sinyal (abort, kill system call)
IV. Kerjasama proses
o Proses independent tidak mempengaruhi eksekusi proses laino Kerja sama proses dapat mempengaruhi atau dipengaruhi oleh
proses laino Keuntungan kerja sama proses :
o Sharing informasio Meningkatkan kecepatan komputasio Modularitaso Kemudahan
V. Interprocess communication (IPC)
o Mekanisme proses untuk komunikasi & sinkronasi aksio Sistem pesan komunikasi proses satu dengan yang lain dapat
dilakukan tanpa perlu pembagian datao IPC menyediakan 2 operasi : send dan receiveo Jika P dan Q melakukan komunikasi maka keduanya memerlukan
o Jalur komunikasi antaro Melakukan pertukaran pesan melalui send/receive
o Implementasi jalur komunikasio Phisical (shared memory, hardware bus)o Logical (logical properties)
A. komunikasi langsung
o Proses harus diberi nama dengan jelaso Send (P, message)o Receive (Q, massage)
o Properti: jalur komunikasio Di bangun secara otomatiso Setiap jalur memiliki pasangan masing masing dalam
komunikasio Jalur tersebut biasanya directional : unidr / bidr
B. Komunikasi tidak langsung
o Pesan dikirim dan diterima melalui mail boxes (port)o Properti : jalur komunikasi
o Dibangun jika proses di share dalam mailboxo Jalur merupakan gabungan beberapa proseso Setiap pasangan dibagi ke dalam beberapa jalur komunikasi
o Operasi : o Membuat mailbox baruo Mengirim & menerima pesan melalui mailboxo Menghapus mailbox
o Primitive didefinisikano Send (A, massage)o Receive (A, massage)
Sinkronisasi
Pesan yang disampaikan dapat di block / blocking (synchronous) atau tidak diblock / nonblocking (Asynchronous)
Buffering
o Antrian pesan yang di hubungkan dalam setiap jalur, di implementasikan dalam 3 jalan
o Zero capacity : tidak ada pesan (max = nol) Sender menunggu reciever (rendezvous)
o Bounded capacity : memiliki panjang teratas (finite length) dari n pesan
Sender menunggu saat penuho Unbounded capacity : memiliki panjang tidak terbatas (infinity
length) Sender tidak pernah menunggu
Kondisi kondisi perkecualian
1. Proses dihentikanPengirim atau penerima menghentikan komunikasi sebelum pesan di proses
2. Kehilangan pesanPesan dari proses P ke proses Q bisa jadi hilang dalam setiap jaringan komunikasi. Untuk mendeteksi digunakan time out. Jika melebihi batas waktu maka pesan tersebut dianggap hilang dan dikirim kembali
3. Pesan tergangguPesan yang dikirim sebelum sampai tujuan terkadang mengalami gangguan di tengah jalan
Thread
o Program yang di eksekusio Proses berat (heavyweight) →proses tradisionalo Proses ringan (lightweight) → thread
o Thread terdiri dari :o ID thread, program counter, himpunan register stack
o Thread dapat melakukan lebih dari satu pekerjaan pada waktu yang sama
Keuntungan
o Tanggapo Pembagian sumberdayao Ekonomiso Pemberdayaan arsitektur multiprosesor
Proses single dan multithread
1. status sama dengan proses, hanya satu yang aktif dalam satu waktu dapat membuat child. Jika 1 thread di blocked yang lain dapat jalan
2. tidak seperti proses, tidak saling bebas, tidak ada proteksi
Tread
Code Data Files
reg Stack
Tread
Code Data Files
reg
Stack
reg
Stack
reg
Stack
tread tread tread
Single threaded Multi treaded