darmastuti.staff.gunadarma.ac.iddarmastuti.staff.gunadarma.ac.id/downloads/files/45554... · web...

31
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

Upload: dangkien

Post on 09-Mar-2019

247 views

Category:

Documents


0 download

TRANSCRIPT

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