Sistem Operasi Silabus : 1. 2. 3. 4. 5. 6.
Tujuan Mempelajari Sistem Operasi Pengantar Sistem Operasi Pengelolaan Memory (Memory Management) Pengelolaan Processor Utama (Processor Management) Pengelolaan Peralatan (Device Management) Pengelolaan Informasi (Information Management)
TUJUAN MEMPELAJARI SISTEM OPERASI (SO) Tujuan tertinggi mempelajari Sistem Operasi adalah sebagai berikut : 1. Supaya mahasiswa dapat merancang atau membuat sendiri, serta juga dapat memodifikasi atau mengembangkan sistem operasi yang telah ada pada saat ini sesuai dengan kebutuhan yang diinginkan. 2. Agar dapat menilai sistem operasi dan dapat memilih alternative Sistem Operasi yang mana harus digunakan pada komputer kita sesuai dengan tujuan berbasis komputer yang akan dibangun. 3. Memaksimalkan penggunaan Sistem Operasi sangatlah penting agar konsep utama serta teknik sistem operasi dapat diterapkan pada aplikasiaplikasi lain dalam membangun sistem berbasis komputer.
Pengantar Sistem Operasi • Sistem operasi adalah Sebuah program yang bertindak sebagai perantara/interface antara pemakai (user) dengan komputer (hardware).
• Komputer = tubuh, SO = roh • SO digunakan dalam hal - Mengeksekusi program dan membantu menyediakan sarana serta memberikan lingkungan bagi program yang mudah untuk berinteraksi dengan system resource sehingga pemakai (user) akhirnya dapat menjalankan/mengeksekusi program.
• Pengertian sistem operasi secara umum : Pengelola seluruh sumber-daya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan (system calls) ke pemakai sehingga memudahkan dan menyamankan penggunaan serta pemanfaatan sumber-daya sistem komputer
TUJUAN SISTEM OPERASI 1. Convenience Sistem Operasi membuat komputer menjadi lebih mudah dan menarik serta nyaman untuk digunakan.
2. Efficiency Sistem Operasi memungkinkan sumberdaya komputer digunakan secara efisien. 3. Rebustness Sistem Operasi memiliki kesalahan dari user/sistem
kehandalan
sistem
proteksi
terhadap
4. Evolution Sistem Operasi yang disusun/diprogram sedemikian rupa memungkinkan menerima perubahan/ pengembangan baru yang efektif dan efisien, dapat melakukan pengujian sistem tanpa mengganggu layanan yang telah ada.
Fungsi Dasar Sistem Komputer Sistem komputer pada dasarnya terdiri dari empat komponen utama : 1. Perangkat keras CPU, RAM, storage (hardisk, floppy disk, CDROM, dsb), piranti I/O (printer, scanner,dsb) 2. Operating System Mengontrol dan mengkoordinasikan penggunaan hardware dari berbagai program aplikasi dan user 3. Program-program aplikasi Pengaturan penggunaan system resources untuk pemecahan problem kebutuhan user (kompiler, sistem basis data, games, dan program-program untuk bisnis) 4. User Orang, mesin, atau komputer lain
Sistem Komputer dibagi menjadi 4 (empat) komponen : Hardware, Sistem Operasi, Program Aplikasi dan User.
User
User
User
1
2
3
Compiler
Assembler
Text Editor
User
……...
N
Database System
System dan Program-program aplikasi Sistem Operasi Hardware
Layanan Sistem Operasi • • • • • • • • •
Menyediakan User interface Menyediakan Program execution Menyediakan I/O operations Menyediakan File-system manipulation Sebagai Communications Mampu melakukan Error detection Mampu melakukan Resource Sharing Ada fasilitas Security Fasilitas Accounting
• Tugas Utama OS - Sebagai Resource Manager (pengelola seluruh sumber daya komputer) – Sebagai Penyedia sekumpulan layanan (system calls) ke user sehingga memudahkan dan menyamakan pemanfaatan sumber daya komputer.
• Sumber Daya Komputer terdiri dari : - Sumber daya fisik - Sumber daya abstrak
• Sasaran SO Agar seluruh sumberdaya komputer dapat dimanfaatkan secara efektif dan efisien.
Main Memory
OS External Memory
Processor
CPU
Disk Controller
Print Controller
Memory Controller
Memory
Gambar Struktur Komputer Drive
Media Pembaca
Disk
Media Penyimpanan
Tape-drive Controller
Sistem Operasi Komputer Sistem Operasi yang berlaku pada komputer adalah sebagai berikut : 1. Saran I/O dalam CPU dapat mengeksekusi secara bersamaan 2. Masing-masing device controller bertanggung jawab terhadap alat tertentu.
3. Masing-masing device controllrer mempunyai lokal buffer sendiri 4. CPU memindahkan data dari/ke memory utama ke/dari lokal buffer.
5. I/O adalah dari device ke lokal buffer dari controller 6. Device controller menginformasikan kepada CPU bahwa telah menyelesaikan operasinya dengan melakukan interupt
Fungsi Komputer Pengolahan Instruksi pada sistem komputer terdiri dari 2 (dua) langkah yaitu : 1. Instruksi baca (fetch) CPU ke Memory 2. CPU mengeksekusi setiap instruksi yang ada.
Sejarah Perkembangan Sistem Operasi 1. Generasi I (Tahun 1940-an s/d 1950-an) SO Pertama kali diimplementasikan oleh the General Motor Research Laboratories pada IBM 701 (system batch). Pemrosesnan dilakukan satu persatu. 2. Generasi II (Tahun 1960-an) Sudah dapat memproses lebih dari 1 (satu) pada suatu waktu (multiprogramming). 3. Generasi III (1970-an) Data file sudah berbentuk deskripsi dan dikodekan 4. Generasi IV (1980-an) Pembuatan Sistem Komputer sudah mengarah ke Desktop/PC 5. Generasi V (1990-an) Multi user dalam bentuk GUI
Macam-macam Sistem Operasi • • • • • • • •
DOS Windows 3XX Windows 98 Windows 2000 Server Windows Profesional Windows ME Windows NT Windows XP
• • • • • • • •
Windows FD Windows Home Edition Windows LH Windows Vista Linux read Linux Fedora 1 Linux Fedora 2 Linux Fedora 3
Peranan Sistem Operasi • Bertindak sebagai “Pemerintah” • Dipandang sebagai “Resource Allocator” • Dipandang sebagai “Control Program”
• • • • • • •
Linux Fedora 4 Linux Fedora 5 Linux Fedora 6 Linux Fedora 7 Linux Fedora 8 Linux Fedora 9 Linux Fedora 10
Sistem Operasi Dalam Berbagai Sudut Pandang
Pemakai dan Administrator Sistem Pemrogram Aplikasi Utilitas Sistem Operasi
Hardware
Perancang SO
PROCESS STATE-DIAGRAM
new interrupt ready
terminated running
Scheduller dispatch waiting
Proses state : • Bila proses dieksekusi kemungkinan terjadi perubahan “State” • State dari proses menjadi bagian dari aktifitas yang sedang dilakukan proses, state terdiri dari : – New : proses sedang dibuat – Running : proses bisa dieksekusi, karena CPU tidak sedang mengerjakan tugas lain. – Waiting : proses sedang menunggu beberapa event yang akan terjadi seperti penyelesaian I/O atau menerima sinyal. – Ready : proses menunggu jatah waktu dari processor – Terminated : proses selesai dieksekusi
SUB MODUL PROGRAM SO • • • •
Memory Management Processor Management Device Management Information/File Management
18
MEMORY MANAGEMENT Memory management bertujuan untuk optimalisasi penggunaan ruang-ruang main memory di dalam mengalokasikan job-job atau proses.
Fungsi : 1. Mengatur track yang ada pada memory dan mencatat status dari memory apakah sedang digunakan atau dalam keadaan free 2. Pada kasus multiprogramming manajemen berguna untuk menentukan kasus mana yang dapat menggunakan memory terlebih dahulu.
3. Mengalokasikan memory pada saat processor membutuhkan. 4. Memberitahukan pada memory membutuhkan lagi ruang memory
saat
processor
tidak 19
MEMORY MANAGEMENT Ada beberapa teknik yang digunakan dalam hal pengalokasian job dalam memory diantaranya : • SINGLE CONTIGUOUS ALLOCATION • PARTITION ALLOCATION - Static Partition Allocation - Dynamic Partition Allocation * First Fit * Best Fit * Worst Fit • RELOCATABLE PARTITION ALLOCATION • PAGE • DEMAND PAGE • SEGMENT 20
SINGLE CONTIGUOUS ALLOCATION OS
- OS mengatur memory hanya sebagai ruang tunggal (single) yang letaknya bersebelahan (contiguous) dengan ruang yang ditempati modul program OS.
Free Area
- Memory hanya ditempati oleh 1 job saja yang bersebelahan dengan OS (bukan multi programming)
Bagan Memory OS
Job A
Diketahui : Ukuran memory 1 MB = 1024 Kb
Misalnya dimasukan : Job A = 485 Kb
Free area
Job B = 100 Kb
Job C = 50 Kb 21
SINGLE CONTIGUOUS ALLOCATION Kelemahan SCA : 1. Pemakaian memory tidak optimal karena banyak terjadinya fragmentasi 2. Banyak menimbulkan waiting time (waktu tunda) 3. Tidak bisa untuk kasus multi programming 4. Kerja processor tidak optimal
Fragmentasi Merupakan sisa memory yang terbentuk setelah pengalokasian job, yang dikenal dengan istilah : • Internal fragmentasi OS Fragmentasi terjadi karena kapasitas job yang akan masuk ke dalam ruang Free area Job 2 KB memory berkapasitas lebih kecil dari (1 MB) ruang memory itu sendiri • Eksternal fragmentasi Fragmentasi terjadi karena kapasitas job yang akan masuk ke dalam ruang memory berkapasitas lebih besar dari ruang memory itu sendiri
OS Free area (1 KB)
Job 2 KB
23
Partition Allocation Untuk mengatasi kelemahan SCA maka dibuatlah sistem pembagian memory dalam bentuk partisi-partisi. • Memory disekat/dibagi ke dalam beberapa ruangan (PARTISI)
OS Partisi 1
Ada 2 (dua) teknik pembentukan partisi : - Static - Dynamic
Partisi 2
Kelebihan PA :
…… Partisi n
• Dapat digunakan untuk kasus multi programming • Mengurangi terjadinya fragmentasi • Mengurangi Waiting Time
Kelemahan PA : • Kinerja Processor menjadi lambat • Banyak terjadi fragmentasi internal karena penggunaan partisi tidak optimal • Pekerjaan SO menjadi lebih rumit
24
Static Partition Allocation
Pembentukan Partisi sebelum terjadinya penglokasian job Jumlah dan ukuran partisi tetap Satu job hanya dalam satu partisi Satu partisi hanya untuk 1 job Kemungkinan fragmentasi sangat besar job <> partisi Contoh : Akan dialokasikan job-job dengan ukuran : OS - Job A = 75 Kb P1 100 Kb - Job B = 120 Kb
180 Kb
- Job C = 140 Kb
P3
80 Kb
Bagaimanakah keadaan memory setelah job-job tersebut dialokasikan.
P4
20 Kb
P2
25
Static Partition Allocation Contoh : Sebuah memory dengan kapasitas 700 Mb akan dialokasikan job-job sebagai berikut : Job A = 150 Mb, Job B = 200 Mb, Job C = 100 Mb, dan Job D = 50 Mb. Kapasitas Memory untuk OS = 100 Mb, sedang sisa ruang memory terbentuk 3 (tiga) partisi dengan ukuran yang sama besar. a. Tentukan besarnya kapasitas fragmentasi internal dan fragmentasi eksternal b. Job apa saja yang terdapat pada antrian?
Dynamic Partititon Allocation • • • • • •
Keadaan awal memory seperti Single Contiguous Allocation (SCA) Pembentukan partisi terjadi bersamaan dengan teralokasinya job Jumlah Partisi dan ukuran tidak tetap First Fit pengalokasian berdasarkan alamat terendah Best Fit berdasarkan sisa memory terkecil Worst Fit berdasarkan sisa memory terbesar Contoh : OS
1000 Kb
Bagaimana keadaan memory berukuran 1000 Kb jika terjadi pengalokasian dan dealokasi (terminated) jobjob sebagai berikut : Job A = 100 Kb, Job B = 45 Kb, Job C = 200 Kb, Job B terminate, Job D = 20 Kb dan Job C terminate
27
Latihan : 1. Suatu memori berkapasitas 2 MB dibagi atas 6 partisi yang masingmasing berukuran 275 Kb (sisa ruang memory digunakan oleh OS). Ada beberapa job/proses yang akan antri masuk kedalam memori yaitu Job1 = 205 Kb, Job2 = 175 Kb, Job3 = 197 Kb, Job4 = 250 Kb, Job 2 terminated, Job5 = 88 Kb, Job6 = 136 Kb, Job 1 terminated, Job7 = 275 Kb dan Job8 = 126 Kb. Tentukan bagan memory dengan metode pemartisian statis. 2. Gambarkan perubahan memory yang terjadi jika pengalokasian job yang digunakan oleh sistem operasi adalah dynamic partition allocation (first fit, best fit, worst fit), dimana ukuran memory adalah sebesar 1000 kb dan sistem operasi membutuhkan memory sebesar 150 kb, dimana event yang terjadi adalah sebagai berikut : a. Job A = 200 kb b. Job B = 250 kb c. Job C = 50 kb d. Job D = 150 kb e. Job B terminated f. Job E = 75 kb
Relocatable Partition Allocation • Mengumpulkan semua partisi yang berisikan job ke sebuah area yang berdekatan, sehingga seluruh partisi kosong juga terkumpul dalam area yang lain • Proses ini disebut dengan proses “COMPACTION” atau “RECOMPACTION” jika dilakukan berulang • Mengakibatkan free area yang tersedia lebih besar • Namun tidak selalu menjamin bahwa semua job yang tadinya tidak bisa dialokasikan, akan langsung bisa dia alokasian setelah proses compaction
Contoh : OS
OS
Job 1 (20 Kb)
Job 1 (20 Kb)
Job 2 (50 Kb)
Job 2 (50 Kb)
Compaction Job 3 (25 Kb) Free 30 Kb Job 3 (25 Kb)
Job 4 (45 Kb)
Free 15 Kb Job 4 (45 Kb)
Free 45 Kb
29
Relocatable Partition Allocation Kelemahan : 1. Instruksi operating system lebih rumit, karena harus memindahkan alamat. 2. Memperlambat waktu pemrosesan karena menyita waktu processor 3. Ada kemungkinan free partisi yang terbentuk tetap tidak bisa ditempati, karena job yang akan dialokasikan relatif lebih besar. Kelebihan : Mengurangi fragmentasi, dialokasikan.
sehingga
banyak
job
yang
bisa
Latihan : OS Job P 100 Kb
Free Area 250 Kb Job Q 100 Kb Job R 75 Kb
Job S 200 Kb
Gambarkan perubahan yang terjadi pada memory jika terjadi event-event seperti dibawah ini dengan menggunakan metode dynamic partition allocation (First Fit, Best Fit dan Worst Fit) : 1. Job A = 200 Kb 2. Job B = 100 Kb 3. Job A terminated 4. Job C = 50 Kb 5. Compaction
Free Area 225 Kb
Job T 100 Kb Job U 150 Kb
6. Job D = 100 Kb 7. Job C terminated 8. Job E = 225 Kb
PAGE • • • • •
Page job yang dibagi kedalam ukuran yang sama Block memory yang dibagi ke dalam ukuran yang sama Satu block hanya untuk satu page Sebuah page dapat dialokasikan ke dalam lebih dari satu block Page Map Table (PMT) tabel yang berisikan informasi tentang alamat PAGE di dalam memory untuk menghubungkan page dan block Job A Page 0 Page1
PMT P B p0 3 p1 7
Job B Page0 Page1 Page2
p0 p1 p2
2 1 4
Memory OS Free area
Block 0
Page 1
Block 1
Page 0
Block 2
Page 0
Block 3
Page 2
Block 4
Free area
Block 5
Free area
Block 6
Page 1
Block 7 32
PAGE Kelebihan : 1. Mengurangi fragmentasi 2. Meningkatkan level multiprogramming 3. Penggunaan processor dan memory lebih optimal Kekurangan : 1. Ruang memory banyak ditempati oleh PMT 2. Pemrosesan relatif lebih lambat (slow down) atau overhead processor banyak terpakai untuk menangani (mengubah) isi PMT
PAGE Pada teknik page ini masih terdapat masalah fragmentasi, khususnya internal fragmentasi. Fragmentasi yang terjadi karena : 1. Ukuran page lebih kecil dari ukuran block Page 0 (100 Kb)
OS
Page 1 (100 Kb)
Page 0 (100 Kb)
Block 0
Free
Page 1 (100 Kb)
Block 1
Free
2. Ukuran page lebih besar dari ukuran block Page 0 (150 Kb)
OS Page 0
Page 1 (150 Kb)
Page 0 Free
Page 1 Page 1 Free
Block 0 Block 1 Block 2 Block 3
DEMAND PAGE • Page yang dialokasikan ke dalam block hanyalah page yang dibutuhkan oleh processor • Page yang tidak dibutuhkan akan disimpan di dalam auxilliary memory AM
• • • • • •
MM
CPU
Sering terjadi PAGE REMOVAL Page Reference Page Fetch Page Replacement Page Faulted Page Successive
35
Teknik Pengalokasian Block pada Demand Page • First In First Out (FIFO) Yaitu : Page yang harus digantikan posisinya oleh page lain yang dibutuhkan oleh processor / dikembalikan ke Auxiliari Memory (AM) adalah page yang pertama kali masuk ke dalam block. • Least Recently Used (LRU) Yaitu : Page yang harus digantikan posisinya oleh page lain yang dibutuhkan oleh processor / dikembalikan ke Auxiliari Memory (AM) adalah page yang telah lama digunakan oleh processor.
• Optimal Replacement (OR) Yaitu : Page yang harus digantikan posisinya oleh page lain yang dibutuhkan oleh processor / dikembalikan ke Auxiliari Memory (AM) adalah page yang masih lama lagi akan dialokasikan / digunakan oleh processor. Perbandingan tersebut dilakukan dengan melihat page reference yang ada. 36
Contoh : 1. Main memory yang berkapasitas 2 MB (1 MB = 1024 Kb) dibagi dalam bentuk block-block yang sama besar sebanyak 12 Block. Sisa memory digunakan untuk Sistem Operasi sebesar 248 Kb. Terdapat 3 antrian jobjob yaitu : Job X(600 Kb) = 4 page, Job Y (300 Kb) = 2 page, Job Z (450 Kb) = 3 page. Dimana PMT masing-masing job adalah : a. PMT Job X alokasi page pada block 11, 3, 5, 1 b. PMT Job Y alokasi page pada block 2, 0 c. PMT Job Z alokasi page pada block 4, 6, 8 Gambarkan bentuk bagan memory setelah dialokasikan Job X, Y dan Z. Tentukan berapakan jumlah block kosong dan total ukuran block kosong tersebut.
2. Berdasarkan soal no. 1, setelah job X, Y, dan Z dialokasikan ada Job W datang yang terdiri dari 5 page (0, 1, 2, 3, 4) dengan ukuran yang sama masing-masing 150 Kb. Job tersebut juga akan dialokasikan pada block kosong menggunakan Demand Page dengan Page Reference sebagai berikut : 0 1 3 4 2 0 1 2 3 0 4 2 1 3 1 4 3 2 1 3. Tentukan jumlah Page Successive dan Page Replacement yang terjadi dengan menggunakan salah satu teknik (FIFO/LRU/OR). 37
SEGMENT Pada teknik ini digunakan cara program overlays, artinya ketika program ditulis, dibagi-bagi menjadi suatu program utama (main program) dan beberapa program bagian (program overlay) Main memory dibagi ke dalam beberapa area yang disebut dengan SEGMENT yaitu : * Main program area untuk program utama * Program Overlay Area untuk program overlay, dapat dipakai bergantian dengan program overlay lain. Program
Memory
Program Utama
OS
Program Overlay
Main Program Area
Segment
Program Overlay
Program Overlay Area
Segment 38
PROCESSOR MANAGEMENT •
•
Long Term Scheduler (LTS) penjadwalan Job jarang, karena jarak kedatangan job bisa dalam waktu bermenit-menit Short Term Scheduller (STS) penjadwalan processor paling sedikit setiap 10 milidetik LTS
END
STS Ready queue
I/O
CPU
I/O Waiting Queue
39
PROCESSOR MANAGEMENT
Sistem Penjadwalan Processor • First Come First Serve (FCFS) • Shortest Job First (SJF) • Preemptive Shortest Job First (PSJF) • High Penalty Ratio Next (HPRN) • Round Robin (RR) • Penjadwalan untuk lingkungan mutli programming Variabel yang digunakan dalam penjadwalan • Arrival Time (AT) Waktu kedatangan • Start Time (ST) Waktu sebuah job mulai diproses • Run Time (RT) Lamanya sebuah job diproses • Wait Time (WT) Waktu tunggu sebuah job • Finish Time (FT) Waktu proses selesai dikerjakan • Turn Arround Time (TAT) Lamanya job berada dalam memory • Average Turn Arround Time (Avr TAT) Waktu rata-rata job berada dalam Memory 40
First Come First Serve • Job yang pertama datang akan dilayani pertama kali • Jika datang bersamaan, processor akan melayani salah satu di antaranya Job
AT
RT
A
8.00
20‟
B
8.15
15‟
C
8.10
25‟
Job C-
ST
FT
TAT
∑TAT AVR TAT =
∑Job
25
* 15
B-
*
20
A -*
800
„ 10
„ 20
„ 30
„ 40
„50 „
„ 900
Waktu 41
•
Shortest Job First Job yang memiliki run time terkecil dalam antrian akan dilayani pertama
kali • Jika run time sama FCFS
Job
AT
RT
A
8.00
20‟
B
8.15
15‟
C
8.10
25‟
Job C-
ST
FT
∑TAT
TAT AVR TAT =
∑Job
25
* 15
B-
*
20
A -*
800
„ 10
„ 20
„
„ 30
„ 40
„ 50
9„ 00
Waktu 42
Preemptive Shortest Job First • Berdasarkan Run time terkecil, yang dibandingkan pada 2 masa : - Di awal kedatangan - Saat job lain datang
• Hak preemptive hak sebuah job menghentikan proses job lain • Jika sisa RT Job yang sedang diproses (mis : Sisa RT Job A > RT Job B yang baru datang) Job A masuk ke dalam antrian dan Job B diproses. • Sebaliknya (mis : Sisa RT Job A < RT Job B yang baru datang) Job B masuk ke dalam antrian dan proses terhadap Job A dilanjutkan. 43
Preemptive Shortest Job First Job
AT
RT
A
8.00
40‟
B
8.15
15‟
C
8.10
25‟
ST
FT
TAT
∑TAT AVR TAT =
∑Job
Job C B A 800
10
20
30
40
50
900
10
20
30
40
Waktu 44
High Penalty Ratio Next • Job dengan nilai Penalty Ratio tertinggi akan mendapat prioritas untuk terlebih dahulu diproses • Penalty Ratio = TAT / RT • Penalty Ratio = (RT + WT) / RT • Jika nilai PR sama FCFS
45
High Penalty Ratio Next Job
AT
RT
A
8.00
20‟
B
8.15
15‟
C
8.10
25‟
ST
FT
TAT
∑TAT AVR TAT =
∑Job
Job C B A 800
10
20
30
40
50
900
Waktu 46
Round Robin • Setiap Job seolah-olah memiliki hak preemptive • Setiap Job memiliki TIME SLICING (QUANTUM WAKTU) yang sama • Job yang telah habis quantum waktunya, akan masuk ke dalam antrian untuk selanjutnya proses dilanjutkan oleh job lain dengan quantum waktu yang sama
47
Round Robin Job
AT
RT
A
8.00
20‟
B
8.15
15‟
C
8.05
25‟
Job C-
ST
FT
TAT
Quantum Waktu = 10 ∑TAT AVR TAT =
∑Job
25
* 15
B-
*
20
A *-
„ 800 05
„ 10
„20
„ 30
„ 40
„50
„ 900
Waktu 48
Latihan/PR :
Job D datang pada jam 08.20 dengan runtime sebesar 30 menit, 10 menit sebelum Job D telah datang job E dengan runtime 20 menit lebih besar daripada runtime job D. Job A datang pada jam 08.40 dengan runtime sama besar dengan runtime Job D. Ternyata 5 menit sebelum job E datang telah datang pula Job C dengan runtime 20 menit, sedangkan job B datang lebih awal 40 menit dari job A dengan runtimenya 40 menit. Tentukan Average Turn Arround Time (AVR-TAT) dari job-job di atas dengan metode : FCFS, SJF, PSJF, HPRN dan RR (Q=10 Menit).
Pemrosesan di Lingkungan Multi Programming • Multiprogramming processor dapat melayani pemrosesan lebih dari satu job pada saat yang bersamaan • Diterapkannya teknik Time Slicing • Disebut juga dengan Elapsed Time setiap satu satuan waktu processor akan terbagi-bagi untuk job yang ada. mis : dalam 10 menit, jika ada 1 job, maka keseluruhan waktu processor adalah untuk job tsb. Jika ada 2 job, maka masing-masing job akan mendapat ½ dari 10 menit, jika ada 3 job, masing-masing job akan mendapat 1/3 dari 10 menit, dst Bagian-bagian tersebut dikenal dgn istilah HEADAWAY PER JOB
50
Pemrosesan di Lingkungan Multi Programming Contoh :
Job
AT
RT
A
8.10 40‟
B
8.00 60‟
C
8.30 50‟
ST
FT
TAT
∑TAT AVR TAT =
∑Job
Job CBA„ 08.00 10
20„
„
30
„
40
„
50
„ 00 10„ 09.
„
20
„
30
„
40
„ „ 50 10.00 10 „
„ 20
„ 30
Waktu
Pemrosesan di Lingkungan Multi Programming Tabel Informasi :
Jam
Even
Jml. Job yang Elapsed di Proses Time
Headway/ Job
Job RT/Sisa RT
Pemrosesan di Lingkungan Multi Programming Di dalam melakukan penjadwalan pada lingkungan multi programming perlu diperhatikan jumlah memory yang dibutuhkan oleh job dan disesuaikan dengan jumlah memory yang tersedia.
Ada kemungkinan sebuah job yang sudah datang tidak dapat langsung diproses karena memory yang dibutuhkan tidak tersedia atau sedang digunakan oleh job lain, sehingga job tersebut harus menunggu sampai
ada job yang selesai dan melepas ruang memory yang digunakan.
53
Pemrosesan di Lingkungan Multi Programming Contoh :
Job
AT
RT
MN
ST FT
A
8.10
40‟ 60 kb
B
8.00
60‟ 80 kb
C
8.30
50‟ 90 kb
Memory yang tersedia 170 kb
TAT
∑TAT AVR TAT =
∑Job
Job CBA„ 08.00 10
20„
„
30
„
40
„
50
„ 00 10„ 09.
„ 20
„ 30
„ 40
„ 50
„ „ 10.00 10
„ 20
„ 30
Waktu
Pemrosesan di Lingkungan Multi Programming Tabel Informasi : Jam
Even
Jml. Job yang di Proses
Elapsed Time
Headway/ Job
Job
Memory Need
RT/ Sisa RT
Pemrosesan di Lingkungan Multi Programming Latihan :
Job
AT
RT
MN
A
8.40
30‟ 10 kb
B
8.00
40‟ 50 kb
C
8.05
20‟ 90 kb
D
8.20
30‟ 30 kb
E
8.10
50‟ 80 kb
ST FT
TAT
Tentukan Average TAT dari job-job di atas, dimana kapasitas memory yang tersedia adalah 100 kb. Lengkapi dengan tabel informasinya.
DEVICE MANAGEMENT
• Fungsi : - Mengirim perintah ke I/O device agar menyediakan layanan - Menangani interupsi I/O device - Menangani kesalahan pada I/O device - Menyediakan interface ke pemakai
57
DEVICE MANAGEMENT Karena tugas utama ke empat modul os adalah melakukan sinkronisasi, apabila tidak terjadi sinkronisasi, maka akan timbul :
1. Race Condition Yaitu suatu keadaan dimana lebih dari satu job/proses meminta satu aktifitas pemrosesan resource yang sama pada waktu yang bersamaan.
OS Proses A Proses B …
Proses N
Printer
DEVICE MANAGEMENT 2. Deadly Embrace Yaitu suatu keadaan dimana lebih dari satu job/proses saling menunggu dan tidak mengetahui kapan mendapatkan resource yang dibutuhkan (device), melakukan operasi pemesanan (request) dan melepas (release) resource/device yang ada.
OS
Proses A Proses B
Request Printer
Proses C Proses D Proses E Proses F
Proses G
Device
Jika Deadly terjadi, maka akan timbul suatu kondisi yang disebut dengan deadlock yaitu dimana secara keseluruhan pemrosesan tidak dapat berlangsung
Management Disk
• Salah satu contoh I/O Device adalah diskette yang merupakan media penyimpanan eksternal.
• Tiap kali melakukan pengaksesan akan terjadi pergerakan mekanik dari head drivenya untuk mencari lokasi (track/silinder) di permukaan disk yang berisi data yang akan diakses. • Semua ini dikendalikan oleh modul OS yaitu device manajemen • OS mengontrol pergerakan mekanik dari head drive untuk membaca lokasi (track/silinder) tempat data disimpan.
• Logika : * FCFS * Look * Scan
* Shortest Seek First * Circular-Look * Circular-Scan 60
Management Disk • FCFS Yaitu Nomor track yang dilayani adalah berdasarkan urutan terdepan pada daftar antrian track yang dibentuk oleh modul OS Contoh : Lokasi/track yang akan diakses adalah : 45 20 53 70 85 12 60 47 35 75 Jumlah track seluruhnya adalah 100 (0 – 99) dan posisi awal head pada track 50 (RWH=50). Jawab :
61
Management Disk • SHORTEST SEEK FIRST Yaitu Head akan menuju kearah track yang berada dekat dengan track yang sedang diakses, sehingga setiap kali melakukan pengaksesan terhadap track berikutnya harus selalu dilakukan perbandingan atau pembedaan track yang dilewati. Contoh : Lokasi/track yang akan diakses adalah : 36 20 55 70 85 12 63 46 30 75 Jumlah track seluruhnya adalah 100 (0 – 99) dan posisi awal head pada track 50 (RWH=50). Jawab :
62
Management Disk
• LOOK Yaitu Head akan menuju kearah track yang terkecil dalam daftar urutan sehingga setiap track yang dilalui akan di akses. Kemudian head akan menuju ke arah track terbesar dalam daftar dan setiap track yang dilalui akan langsung diakses. Contoh : Lokasi/track yang akan diakses adalah : 45 20 53 70 85 12 60 47 35 75 Jumlah track seluruhnya adalah 100 (0 – 99) dan posisi awal head pada track 50 (RWH=50). Jawab :
63
Management Disk • Circular-LOOK (C-LOOK) Yaitu Head akan menuju kearah track yang terbesar dari media penyimpanan dan setiap track yang dilalui akan diakses. Kemudian head akan menuju ke arah track terkecil dari media penyimpanan kemudian mengakses track yang belum dilalui. Contoh : Lokasi/track yang akan diakses adalah : 45 20 53 70 85 12 60 47 35 75 Jumlah track seluruhnya adalah 100 (0 – 99) dan posisi awal head pada track 50 (RWH=50). Jawab :
64
Management Disk • SCAN Yaitu Head akan menuju kearah track yang terkecil dalam daftar urutan sehingga setiap track yang dilalui akan diakses. Kemudian head akan menuju ke arah track terbesar dalam daftar urutan dan setiap track yang dilalui akan langsung di akses. Contoh : Lokasi/track yang akan diakses adalah : 45 20 53 70 85 12 60 47 35 75 Jumlah track seluruhnya adalah 100 (0 – 99) dan posisi awal head pada track 50 (RWH=50). Jawab :
65
Management Disk • Circular-SCAN (C-SCAN) Yaitu Head akan menuju kearah track yang terbesar dari urutan dan setiap track yang dilalui akan diakses. Kemudian head akan menuju ke arah track terkecil dari urutan, kemudian mengakses track yang belum dilalui. Contoh : Lokasi/track yang akan diakses adalah : 45 20 53 70 85 12 60 47 35 75 Jumlah track seluruhnya adalah 100 (0 – 99) dan posisi awal head pada track 50 (RWH=50). Jawab :
66