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
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
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
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
CONTROL UNIT
INPUT
Saluran
Penghubu ng
OUTPU
T PROCESS
OR MEMOR
Y
MEMORI PENDUKUN
G
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 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
DiskController
Printer Controller
Tape Drive Controlle
Memory Controller
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
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
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
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
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
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 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 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 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
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
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
---
---
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
disetujui
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 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 jalur komunikasi
o Operasi :
o Membuat mailbox baru
o Mengirim & menerima pesan melalui mailbox
o Menghapus mailbox
o Primitive didefnisikan
o Send (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
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