1. Sistem Operasi → pengertian/definisi → mengawasi - SISTEM OPERASI & KOMPUTER
SISTEM OPERASI & SISTEM
KOMPUTER
1. Sistem Operasi → pengertian/defnisi → 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
Menggunakan plugboard Mengenal punched card
Generasi 2
Pengenalan fungsi personil Pengenalan program (seperangkat prg) Penggunaan bahasa Penerapan batch fle Pengoperasian offline 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
CONTROL
INPUT
UNIT
Saluran OUTPU
PROCESS Penghubu
T OR ng
MEMORI
MEMOR
PENDUKUN
Y
G
CLOCK
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
STRUKTUR SISTEM KOMPUTER
Arsitektur sistem komputer
CPU device dan I/O dapat beroperasi serentak (concurrent) → effisiensi
Semua request ke I/O dikendalikan oleh I/O system o Setiap device terdapat controller o Setiap device controller mempunyai local bufer
CPU memindahkan data dari / ke memory ke / dari local bufer o Lalu controller akan mengirim data dari bufer ke device Interrupt (softwarefhardware) → 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 : f device yang intterupt
CPU Disk Controller
Printer Controller Tape Drive
Controlle Memory Controller Memory
1. Operasi Sistem Komputer
f menyimpan status CPU
2. Struktur Input / Output
User request I/O o CPU : load instruksi ke register controller o Controller : menjalankan instruksi Setelah I/O mulai, control kembali ke user jika operasi I/
O belum selesai Dua metode I/O o Synchronous (blocking) o Asynchronous (Interrupt Driver)
I/O intterupt o Pilihan lebih baik: asynchronous I/O o 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 call o 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 sector o Disk controller menentuka interaksi logical antara device dan komputer
Hirarki storage
Dikategorikan dalam bentuk
o Kecepatan o Biaya o Volatilitas Caching o Penduplikasian informasi ke dalam sistem storage yang cepat dapat dilakukan melalui cache pada secondary storage Migrasi dari disk ke register
A A A
Hardwar Magnetic Main Cache e disk memory register
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 mode 2. monitor mode (karnel mode/system mode/supervisor mode/privileged mode)
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 dibatasi o Range address o Base register o Limit register Memory di luar range tidak dapat di akses
Proteksi CPU Timer : f interupsi secara berkala oleh hardware f nilai timer akan berukarang sesuai “clock thick” f saat nilai timer menjadi 0, interrupt akan terjadi f Housekeeping : CPU scheduling, status device table dll Timer digunakan untuk system time
A Base : B limit x add=b+x
B C D monitor Job 1
Job 2 Job 3
STRUKTUR SISTEM OPERASI
A. Komponen sistem
1. Management process Procses adalah sebuah program yang sedang di eksekusi Sistem operasi yang bertanggung jawab atas aktiftas yang berhubungan dengan manajemen proses : o Creation & deletion o Suspension (block) & resumption oMekanisme : 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 & defalokasi memori fsik untuk program
3. Manajemen secondary storage Penyimpanan permanen untuk semua program & data OS bertanggung jawab untuk manajemen disk oManajemen ruang kosong oAlokasi storage oMenjadwalan 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, foppy disk
Komponen OS untuk sistem I/O oBufer : menampung sementara data dari/ke I/O device oSpooling : melakukan scheduling pemakaian I/O (antrian) oMenyediakan “driver” untuk operasi rinci untuk hardware tertentu
5. Manajemen fle OS bertanggung jawab atas : oMembuat dan menghapus fle/directory oDukungan primitif untuk manipulasi fle/directory oPemetaan fole ke dalam secondary storage oBackup fle ke media storage yang stabil / non volatile
B. Layanan Sistem Operasi
1. Eksekusi program → load & eksekusi proses
2. Operasi I/O
a. User tidak dapat langsung mengakses resources, OS harus menyediakan mekanisme untuk operasi I/O
3. Manipulasi fle system
4. Komunikasi
5. Deteksi error
6. Penggunaan system yang effisien
a. Proteksi : menjamin akses ke resource di kendalikan b. Accounting : merekam kegiatan user, jatah pemakaian resources
C. System Call o Menyediakan interface antara program dan OS o 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 proses o Mengakhiri (end) dan membatalkan (abort) o Mengambil (load) dan eksekusi o Membuat dan mengakhiri proses o Menentukan dan men set atribut proses o Wait for time, wait event, signal event o Mengalokasi dan membebaskan memory
2. Manipulasi fle o Membuat dan menghapus fle o Membuka dan menutup fle o Membaca, menulis dan mereposisi fle o Menentukan dan mengeset atribut fle
3. Management device o Meminta dan membebaskan device o Membaca, menulis dan mereposisi device o Menentukan dan mengeset atribut device
4. Informasi lingkungan o Mengambil atau mengeset waktu atau tanggal o Mengambil atau mengeset sistem data proses, fle, attribut device
5. Komunikasi o Membuat dan menghapus sambungan komunikasi o Mengirim dan menerima pesan o Mentransfer status informasi o Komunikasi dilakukan dengan passing/tukar atau sharing memory
D. Program System
Menyediakan kemudahan pembangunan program dan eksekusi o Manipulasi fle o Informasi status o Modifkasi fle o Dukungan bahasa pemrograman o Loading dan eksekusi program/debugging o Komunikasi o 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 efsien → 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
PCB 7 PCB 2 Queque header Hea
READY Regis Regis d
QUEQUE ter ter Tail
TAIL MAG HEAD TAPE DISK HEAD UNIT1 UNIT TAIL TERMI HEAD NAL TAIL UNIT
- 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 feld yang menunjuk ke proses berikutnya dalam ready queue
B. Penjadwalan / Schedulers 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”
1. Resource sharing
Parent & child berbagi resource Child berbagi subset dari resource parent Parent & child tidak berbagi resource
2. Struktur Sistem Operasi
Metode untuk mengorganisasikan dan membangun sistem operasi
1. 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 layer System program : bagian OS yang di bangun di atas karnel → extended machine Karnel (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 MSfDOS (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 fle 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) → hardware o 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
section
o Menyimpan status proses. Contoh : aktif, wait, I/O
req, dll
B. Status proses
Saat saat proses dijalankan (executed) maka status dari proses akan berubah
o New : proses di buat o Running : instruksi di eksekusi o Waiting : proses menunggu beberapa event yang
akan terjadi
o Ready : proses menunggu jatah waktu dari
prosessor
o Terminated : proses selesai di eksekusi Diagram status proses New keluar
Terminate disetujui d interrupt Read Runnin Informasi proses disimpan di? o Data structure dari OS dalam bentuk table o Satu entry table / linked list (array of structure) o Informasi yang disimpan o Informasi internal CPU : isi regeister, program counter, status CPU dll (umumnya bentuk stack frame) o Identifkasi Proses : nama proses, nomer proses/index, proses id o Accounting & timer : usertime, system time, alarm, dll o Resources : memory fle management
C. Proces control block (PCB)
Pointer Proses
Proses number
Program counter
Register
Memory limit
List of open fle
.
.
.
2. Execution
o Parent & child melakukan eksekusi secara serentak o Parent menunggu hinggal chilren selesai
3. Addres space (ruang alamat) o Child menduplikasi parent o Child memiliki program yang di load kedalamnya
D. Terminasi proses (penghentian proses)
o Proses dapat berakhir o Eksekusi instruksi trakhir (exit system call) o OS yang akan melakukan dealokasi (memory, fle 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 lain o Kerja sama proses dapat mempengaruhi atau dipengaruhi oleh proses lain o Keuntungan kerja sama proses : o Sharing informasi o Meningkatkan kecepatan komputasi o Modularitas o Kemudahan
V. Interprocess communication (IPC)
o Mekanisme proses untuk komunikasi & sinkronasi aksi o Sistem pesan komunikasi proses satu dengan yang lain dapat dilakukan tanpa perlu pembagian data o IPC menyediakan 2 operasi : send dan receive o Jika P dan Q melakukan komunikasi maka keduanya memerlukan o Jalur komunikasi antar o Melakukan pertukaran pesan melalui send/receive o Implementasi jalur komunikasi o Phisical (shared memory, hardware bus) o Logical (logical properties)
A. komunikasi langsung
o Proses harus diberi nama dengan jelas o Send (P, message) o Receive (Q, massage) o Properti: jalur komunikasi o Di bangun secara otomatis o Setiap jalur memiliki pasangan masing masing dalam komunikasi o 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 mailbox o Jalur merupakan gabungan beberapa proses o Setiap pasangan dibagi ke dalam beberapa jalurkomunikasi
o Operasi : o Membuat mailbox baru o Mengirim & menerima pesan melalui mailbox o Menghapus mailbox o Primitive didefnisikan o 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 (fnite
length) dari n pesan Sender menunggu saat penuh
o Unbounded capacity : memiliki panjang tidak
terbatas (infnity length) Sender tidak pernah menunggu
Kondisi kondisi perkecualian
1. Proses dihentikan
Pengirim atau penerima menghentikan komunikasi sebelum pesan di proses
2. Kehilangan pesan Pesan 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 terganggu Pesan yang dikirim sebelum sampai tujuan terkadang mengalami gangguan di tengah jalan
Thread o Program yang di eksekusi o Proses berat (heavyweight) →proses tradisional o 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 Tanggap o Pembagian sumberdaya o Ekonomis o 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
Files Data Code Tread Tread Files Data Code reg
Stac reg reg reg
kStac k Stac k
Stac k trea d trea d trea d
Single threaded Multi treaded
2. tidak seperti proses, tidak saling bebas, tidak ada proteksi