KONSEP MULTIPROGRAMMING Konsep jelas diperlukan di dalam proses pengelolaan memori, dengan tujuan, yaitu untuk mengurangi dan memperkecil CPU Idle-Time. CPU Idle-Time adalah : Suatu jangka waktu, dimana CPU tidak bekerja walaupun ada satu/lebih proses yang sedang berjalan. Hal ini terjadi karena proses I/O memerlukan waktu relatif lebih lama dari pada proses CPU. Dalam konsep memori , dapat kita bagi menjadi 3 bagian, yaitu : 1. Untuk sistem operasi 2. Untuk user/pemakai 3. Tidak dipergunakan (blank) Misal : Pada tipe mesin IBM 360/65, terdapat suatu program/job, mempunyai 3 proses dimana setiap job memakai 70% waktu, dari waktu tetap dan 30% untuk proses CPU. Apabila kapasitas memori mesin tersebut : 256 Kb. Sistem operasinya sebesar : 32 Kb. Dengan besar job yang berbeda Job 1 : 15 Kb. Job 2 : 30 Kb. Job 3 : 50 Kb.
46
Embed
KONSEP MULTIPROGRAMMING - Official Site of …aqwamrosadi.staff.gunadarma.ac.id/Downloads/files/12797/... · Web viewHal ini terjadi karena proses I/O memerlukan waktu relatif lebih
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
KONSEP MULTIPROGRAMMING
Konsep jelas diperlukan di dalam proses pengelolaan memori, dengan tujuan, yaitu untuk mengurangi dan memperkecil CPU Idle-Time.CPU Idle-Time adalah : Suatu jangka waktu, dimana CPU tidak
bekerja walaupun ada satu/lebih proses yang sedang berjalan.
Hal ini terjadi karena proses I/O memerlukan waktu relatif lebih lama dari pada proses CPU.
Dalam konsep memori, dapat kita bagi menjadi 3 bagian, yaitu : 1. Untuk sistem operasi2. Untuk user/pemakai3. Tidak dipergunakan (blank)
Misal : Pada tipe mesin IBM 360/65, terdapat suatu program/job, mempunyai 3 proses dimana setiap job memakai 70% waktu,
dari waktu tetap dan 30% untuk proses CPU. Apabila kapasitas memori mesin tersebut : 256 Kb.
Sistem operasinya sebesar : 32 Kb. Dengan besar job yang berbeda Job 1 : 15 Kb.
Job 2 : 30 Kb. Job 3 : 50 Kb.
Berapa sisa/blank memori dan gambarkan skema memorinya?
Jawaban : SKEMA PROSESNYA : Job 1 Job 2 Job 3
WAKTU TOTAL = WAKTU CPU + WAKTU I/O
Proses CPU Proses I/O CPU I/O CPU I/O (1) (1) (2) (2) (3) (3) CPU Idle Time Idle Time (2) Idle Time (3) 0 Sis.Operasi (32 Kb) 32 Job I (15 Kb) 47 Job II (30 Kb) 77 Job II (50 Kb) 127 Blank/available 256 Sedangkan untuk proses perhitungan waktu tunggu CPU, rumusnya adalah :
1. MONOPROGRAMMING
dimana : W = Waktu menunggu (untuk Mono) Ii = Waktu menunggu I/O Ci = Waktu total CPU
2. MULTIPROGRAMMING
IiW = x 100% Ii + Ci
Waktu total CPU (Ci total) = waktu CPUn + waktu I/On
n W 1 – W n i n! ∑ W W1 = I=0 1 - W i
III
III
dimana : W1 = waktu tunggu multi n = jumlah proses (derajat multiprogramming) W = waktu tunggu I/O yang mono i = waktu I/O
PARTITIONED ALLOCATION
Suatu bentuk pengaturan memori yang paling sederhana untuk Multiprogramming, dalam cara ini Main Memori/Memori Kerja dibagi dalam beberapa daerah memori (Memori Partition).
Dimana tabel yang digunakan untuk mencatat status memori, berapa yang sedang “in-use”, “available”, serta ukuran dan dimana letaknya.
H/W PENUNJANG
Hardware dilengkapi dengan beberapa kemampuan untuk dapat mendukung konsep ini, yaitu :
Bound Register Read/Wite Protect Pasangan Lock-key Write Protect (Read proses boleh walaupun di-lock dan key)
S/W PENUNJANG
A. STATIC PARTITIONED SPEC : Memori dibagi-bagi, baik besar dan lokasinya sebelum pemrosesan job dimulai.Contoh : Penerapan IBM OS/360 MFT (Multiprogramming with fix
number of tables).Spesifikasi dapat dilakukan oleh sistem operasi atau operator terhadap region/daerah tersebut.
Tabel yang dikelola :
Nomor Partisi(protection key)
Size Lokasi Status
12345
8 K 32 K 32 K
120 K520 K
312 K320 K352 K384 K504 K
In useIn use
Not in useNot in use
In use
B. DINAMIC PARTITIONED SPEC : Daerah memori dibentuk sewaktu berlangsungnya processing dengan tujuan untuk menyesuaikan dengan besarnya job.Untuk cara Dynamic, diperlukan 2 buah tabel yang berbeda yaitu :1. Tabel Status Daerah Memori yang diallokasi
(Allocation Partitioned Status Table)
Partitioned Number
Size Location Status
12345
8 K32 K24 K120 K-
312 K320 K352 K376 K
-
AllocatedAllocatedAllocatedAllocated
Empty Entry
2. Tabel Status Daerah Memori yang tidak diallokasi
(Unallocated Area Status Table)
Free Area Size Location Status123
8 K520 K
-
76 K504 K
-
AvailableAvailable
Empty Entry
Baik secara Static maupun Dynamic, dapat dilakukan dengan variasi/cara “Minimize Allocation” (untuk memperkecil penempatan), yaitu : I . FIRST FIT
Pada First Fit Free Table, disortir/diurut menurut lokasinya.Misal :
Pada Free Table Area yang kosong mempunyai address lebih rendah akan diletakkan terlebih dahulu.Bila : Tabel tersebut dalam bentuk List (daftar), maka tidak perlu melakukan sort setiap terjadi addition, deletion.Keuntungan :
1. Biasanya pada saat mengadakan Deallokasi (Penempatan kembali) kita harus memeriksa apakah terdapat partisi yang kosong, karena itu bila ada 2 atau lebih partisi kosong dapat dijadikan satu.
2. Teknik ini dasarnya, memilih penggunaan memori yang mempunyai alamat lebih rendah.Akibatnya pada memori yang lebih tinggi akan terkumpul Free Space yang cukup besar.
II . BEST FITPada Best Fit Sort dilakukan berdasarkan/menurut besarnya dan dimulai dari yang terkecil.Jadi partisi pertama, besar mencukupi dan merupakan pilihan.Keuntungan :
1. Apabila ada partisi yang sama besarnya, maka partisi ini akan dipakai.
2. Apabila kita tidak dapat menemukan partisi yang sesuai, maka partisi yang besar dapat kita pecah, untuk suatu job yang kecil.
Keuntungan Multiprogramming :1. Pemanfaatan Procesor dan I/O Device effisien2. Tak memerlukan H/W khusus yang mahal3. Algoritma yang digunakan sederhana dan mudah untuk di-
implementasi. SINGLE CONTIGIOUS ALLOCATION
Suatu bentuk pengaturan memori yang dilakukan oleh sistem (patent) dan dapat pula dilakukan dengan cara proteksi H/W.
AVAILABLE
H/W SUPPORT/PENUNJANG
Tidak memerlukan H/W khusus Cukup dengan mekanisme proteksi H/W primitif untuk
melindungi Sistem Operasi Bound Register (Alamat Daerah yang dilindungi).
S/W SUPPORT
Y
O. S
ACTUALLY USED BY JOB
ALLOCATED BUT UNUSED (WASTED)
ENTER
Job <= memory
Berikan memori ke job
Job selesai Deallocated memori dan dari job lain
Load & execute TPROTEKSI H/W
Dilakukan apabila monitor diletakkan pada Low-memory dan User Program yang akan dilaksanakan pada High-Memory.Proses Hardware tersebut berupa “Fence Address” (batas alamat), apabila :Address < Fence address : IllegalAddress > Fence address : Legal, disimpan untuk user program.
Keuntungan :Agar data-data yang masuk terhadap program tidak mengalami perubahan di dalam memori tersebut.
ADDRESS Y Y T
RELOCATION (RELOKASI)Untuk mengatasi jumlah/kapasitas memori dan user dalam Fence
Address (BATAS ALAMAT), perlu adanya Allokasi Monitor dan data
Fence Address
Add > F.add
CPU MEMORI
Addressing Error
Job tdk dpt di run coba job lain
dalam memory ke dalam bentuk variabel, proses ersebut dinamakan : Relokasi.
4 Kb Fence Address fence - agar penggunaan register 6 Kb monitor & user lebih fleksibel
FENCE REGISTER
Merupakan isi dari alamat batas/Fence Address yang digunakan untuk mengecek alamat yang benar dari semua user program.
Dimasukkan melalui sistem operasi, dengan instruksi tertentu:
MAR m Transfer alamat ke MAR(Memory Accumullator Register)
MBR m Membuat data(Memory Buffer Register)
Operasinya / Macro (terdiri dari 3 siklus) AC + M AC1. MAR m : Transfer alamat ke MAR2. MBR m : Membaca ke MBR3. AC AC + MBR : Jumlahkan isi AC dgn MBR hsl disimpan pada AC
Apabila Fence Address, diketahui pada saat Compile maka akan dibangkitkan kembali : Kode Absolute pada Fence Address tersebut.
Apabila Fence Address tersebut Variabel (selalu berubah), maka perlu adanya : Recompile , dimulai dari kode absolute pada Fence
Monitor
User
Monitor
User
Address tersebut, karena Fence Address setiap waktu dapat berubah, sehingga perlu di-compile untuk menempatkan alamat pada monitor.
MULTI-STEP PROCESSING DARI USER PROGRAM Source Program
Compiler time
Load time (loading)
execute time/run time
RELOKASI DINAMIS DGN REGISTER RELOKASI
REGISTER BASIS Alamat logika alamat fisik
0346 1746 (0346 + 1400)
BAHASA MESINNYA :Mov Ax, “ADDR” : Direct Addressing
Merupakan salah satu teknik allokasi memori dengan cara/konsep “virtual memory”, dimana mamori yang dimanfaatkan <= 100%.
Page tersebut tidak harus berada dimemori semuanya.Tidak seluruh address space selalu diperlukan.
VIRTUAL MEMORYYaitu merupakan suatu teknik yang memungkinkan pelaksanaan proses yang tidak secara lengkap berada di dalam memorinya.
Virtual Memory dapat diasumsikan semacam kotak dengan melaksanakan proses execute yang secara lengkap tidak ada dalam memorinya dan suatu memori/proses akan di execute bila semua proses telah berada di memori.
di-execute
VIRTUAL MEMORYManfaat Virtual Memory :
1. User program dapat lebih besar drpd kapasitas/ukuran fisik memori.
2. Array, List dan Table, biasanya menempai lokasi di dalam memori yang jauh lebih besar.
Pada Demand Page Management ini digunakan beberapa hal,sbb :a. Error Routineb. Optionc. Table, hanya sebagian yang diperlukand. PMT (Address Space), MBT (Memory Buffer Table) FMT (File Map Table)e. Demand Page Interuptf. Deallokasig. Allokasi
Teknik untuk Pengaturan suatu PAGE, dapat dengan :a. Page Swappingb. Page Remoralc. Page Replacementd. Page Turninge. Page Canibalizingf. Trashing (Bila terjadi suatu page yang baru diambil dari
memori harus dimasukkan kembali)
Proses
ProsesProses
Demand Paging Memory Management, diterapkan pada Sistem Operasi :
VMS pada DEC UNIX VMOS pada UNIVAC serie 70/76 VS/1, VS/2, VSE pada IBM S/370
Empat Fungsi Demand Paged menjadi lebih kompleks dan fleksibel :1. Mengikuti Status dengan tiga tabel :
a. PMT (Address Space)b. MBT (Sistem)c. FMT (File Map Table)/Sistem
2. Demand Page Interupt : Kebijakan untuk menentukan siapa yang mendapatkan
memori & kapan ditentukan oleh Job Scheduller.3. Allokasi :
Kapan Block harus diallokasi, block yang available harus didapatkan dan status block harus diubah.
4. Deallokasi :Bila tidak mungkin mendapatkan block yang available untuk allokasi, salah satu block memory yang diallokasikan harus di-deallocated dan dipakai kembali.Bila block selesai, semua block yang digunakan menjadi
available.
SEGMENTED MEMORY MANAGEMENT
Adalah salah satu teknik mengallokasikan memori, dengan cara mengelompokkan informasi secara logika.Misal : Subroutine, Array, Data Area.
Pada Segment, setiap job akan terdiri dari suatu kumpulan segment.
Konsep Segment, digunakan pada :1. IBM S/370 Os/VS22. Honeywell 6180 Multic3. Burrough 8500
Perbedaan Segment dengan Page :A. Segment :
1. Merupakan Logical Unit dari informasi dengan ukuran bebas.2. Dapat terlihat oleh user program.3. Ukuran tidak tergantung user program.
B. Paging :1. Merupakan Physical unit dari informasi.2. Tidak dapat terlihat oleh user program.3. Ukuran tertentu.
Karena adanya program/job yang di-execute secara bersama-sama, maka sebagian besar dapat melaksanakan copy program terrsebut dalam masing-masing useer area. Tetapi untuk menghemat area memori tidak dicopy untuk setiap user,akan tetapi menggunakan secara bersama (Shared Code).Misal : Pada proses compiler, editor, ass, yang merupakan suatu sel program dapat dijadikan suatu shared code adalah program tersebut harus berbentuk pure code (suatu program yang self modifiable) /tidak dapat berubah selama proses execute berlangsung.CONTOH SHARED PAGES!! J O B PAGE TABLE PHYSICAL MEMORY 0 1 LOGICAL MEMORY 1 2 JOB-1 2 JOB-1 3 USER 1 3 4
Dalam konsep multiprogramming lebih dari satu program yang di-run dalam suatu saat yang sama dan program yang akan di-execute harus sudah berada di memory.
Sedangkan program lebih daripada memory, sehingga hanya sebagian saja dari program tersebut yang boleh berada di memory, maka jika program yang di-execute dan code yang berada di suatu page tersebut belum berada di memory maka kita sebut sebagai “PAGE FAULTED”. Apabila terjadi suatu page faulted, maka kita harus dapat memanggil page yang ingin kita gunakan dari backing storage ke memory.
Jika jumlah page per program yang diperbolehkan berada di memory maximum, maka harus dicari suatu paged yang menggantikan disebut “PAGE REPLACEMENT”. BAGAN Page Faulted Handling : (3) cari di backing storage (2) trap (1) reference
ED-1
ED-2
ED-3
DATA
ED-1
ED-2
ED-3
DATA
3
4
5
6
3
4
5
6
DATA-2
DATA-3
O/S
BACKING STORAGE PAGE TABLE (6) restart LOAD (M) instruksi (5)reset page table (4) cari di free- frame
KETERANGAN :1. Pada waktu proses satu instruksi atau dilakukan terlebih dahulu
harus dilakukan cek, apakah page yang berintruksi sudah ada di memori.
2. Jika belum ada, beritahu o/s dan trap proses.3. Cari di secondary memory/backing storage.4. Setelah ketemu cari di frame free untuk menemukan page
tersebut.5. Reset page table dari invalid menjadi valid.6. Siap untuk melanjutkan execute.
Sebagai contoh :Setiap page terdiri dari 100 word.
Kemudian urutan program yang akan diexecute tersebut : 0100 0432 0101 0612 0102 0103 0104 0101 0611 0102 0103 0104 0101 0610 0120 0103 0104 0101 0609 0102 0105 Maka bentuk preference string menjadi : 1 4 1 6 1 1 1 1 6 1 1 1 1 6 1 1 1 1 6 1 1 Ditanya : Berapa jumlahnya ? 21 ( diambil digit ke-2)
FREE FRAME
Sehingga ditulisnya cukup diwakili : 1 4 1 6 1 6 1 6 1 6 1 1 Jadi max page perprogram = 1 ( yang paling banyak muncul )
REPLACEMENT ALGORITHM
Algoritma Replacement ini terbagi atas :1. FIFO
Apabila terjadi page replacement, maka page yang pertama kali masuk berada di memori yang diganti.Sebagai contoh :Max 3 pages perprogram Multiprogram level = 3 ( Tingkat memory max untuk dapat menampung beberapa program )Kita ambil contoh suatu string reference :7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1Maka untuk FIFO page replacement adalah sebagai berikut : 7 0 1 2 0 3 0 4 2 3 1 2 3 4 * 5 6 7 8 9 0 3 2 1 2 0 1 7 0 1
10 * * 11 12 * * 13 14 15Page yang sama tidak perlu ditulis lagi, sehingga page replacement = 15
3. LEAST RECENTLY USEDJika terjadi pengaktifan suatu page, maka page yang diganti adalah page yang paling lama sudah digunakan.Jumlah page replacement = 12 7 0 1 2 0 3 0 4 2 3
1 2 3 4 * 5 * 6 7 8 0 3 2 1 2 0 1 7 0 1 9 * * 10 * 11 * 12 * *Untuk menentukan pengalokasian tersebut, yaitu jumlah proses atau program digunakan teknik atau algoritma alokasi.
Pengalokasian Page tersebut terbagi atas dua cara :I. EQUAL ALLOCATION
Dimana jumlah setiap program akan mendapat jumlah frame yang sama besarnya.
203
203
201
201
70
701
7 203
203
243
243
243
017
017
017
013
013
213
213
203
7 70
701
201
201
203
203
403
402
432
032
032
032
132
132
102
102
107
107
107
Rumus :
II. PROPORTIONAL ALLOCATIONDimana setiap program akan mendapat jumlah frame yang besarnya, proporsional dengan besar programnya.
Contoh : Apabila terdapat jumlah frame (memory = 62) dimana program A terdapat 10 proses dan program B terdapat 200 proses.
Jawab : Cara equal allocation :
Untuk program A = Jumlah frame Jumlah program = 62/2 = 31 frame
Untuk program B = 62/2 = 31 frame Cara Proportional Allocation :
Untuk program A = 10/210 * 62 = 2,95 frameUntuk program B = 200/210 * 62 = 59,05 frame
DEVICE MANAGEMENT FUNCTION
Pada device management function yang kita pelajari adalah bagaimana malakukan pengaturan suatu peralatan untuk performance dari perangkat keras komputer.
Perangkat keras tersebut pada umumnya dibahas di disk dan drums.Pada disk terbagi atas klasifikasi, sebagai berikut :
I. FIXED HEAD DISK (FHD)
Besar frame tiap program = jumlah frame Jumlah program
Mempunyai suatu head untuk setiap track sehingga memungkinkan komputer untuk dapat berpindah dari suatu track ke track yang lainnya dengan cepat. FHD secara logika sama fungsinya dengan drums, namun FHD lebih mahal harganya.
II. MONING HEAD DISK (MHD)Memerlukan perangkat/hardware untuk dapat menggerakakan head tersebut sehingga hanya perlu single head/satu head.MHD harganya relatif murah.
Sebuah drums mempunyai kecepatan transfer lebih besar daripada disk namun kapasitas drums lebih kecil daripada disk.
Drums biasanya dipakai sebagai backing storage. Kebanyakan sistem device/ peralatan menggunakan teknik high speed disk atauun core memory yang bekerrja seperti drums namun kecepatan tranfer dan akses lebuh tinggi.Drum dirancang untuk menyimpan banyak file.
Hardware dari sistem disk terdiri dari dua bagian :1. DISK DRIVE
Yaitu meliputi motor yang digunakan untuk menggerakkan read, write, head.
2. DISK CONTROLLERYaitu untuk menentukan interaksi logika dengan komputer. Sebuah disk controller akan mengambil instruksi dari CPU dan memerintahkan disk drive untuk mengeluarkan instruksi tersebut.
Kecepatan media disk terbagi atas 3 bagian :1. SEEK TIME
Adalah waktu yang diperlukan pada waktu sistem menggerakkan head ke track yang diinginkan.
2. LATENCY TIME (DELAY TIME)Adalah waktu yang diperlukan untuk mendapatkan block atau sector yang dicari.
3. TRANSFER TIMEAdalah waktu yang diperlukan untuk memindahkan data antara disk dengan memory.
SISTEM PENJADWALAN DISK, dapat terbagi atas :1. FIRST COME FIRST SERVED (FCFS)
Contoh :Apabila ada urutan trak yang diinginkan adalah 98, 183, 37, 122, 14, 124, 65 dan 67. Pada saat itu head berada pada posisi track ke 53 (posisi awal track 53).
PROCESSOR MANAGEMENT FUNCTION Management Processor berkaitan dengan masalah pengelolaan secara fisik khususnya mengalokasikan processor untuk proses.Klasifikasi pengalokasian processor terbagi atas :
1. Penjadwalan job/ job schedullingMerupakan job schedulling yang berbentuk general manager dengan tugas-tugas sebagai berikut :
a. Mengikuti status job untuk mengetahui job mana yang sedang menunggu, selain itu juga untuk mengetahui status job yang diproses.
b. Menentukan job mana yang akan dimasukkan ke dalam sistem.
2. Penjadwalan proses/ proses schedullingSetelah suatu proses berubah status dari kondisii ‘hold’ ke kondisi ‘ready’ maka akan ada satu atau lebih proses di dalam sistem.Penjadwalan proses menentukan proses mana yang mendapatkan sumber/ resources dari kapan dan untuk berapa lama.
3. Sinkronisasi proses dengan jon (Process With Job Sinchronisasi)Pada tingkat job umumnya telah tersedia suatu mekanisme untuk mengatur pelaksanaan dari satu atau lebih dari job.Misalnya :
Apabila job step-1 sebelum dilaksanakan maka pada tingkat proses harus dibuat mekanisme disebut ‘race condition’.
RACE CONDITION adalah suatu keadaan yang terjadi sebagai suatu akibat dari pergantian proses komputasi dengan demikian akan terdapat ketergantungan terhadap waktu proses.
Misal :Suatu proses membutuhkan suatu printer dimana proses lain sedang menggunakan printer, untuk itu diperlukan suatu mekanisme agar proses tidak tercampur, yaitu dengan cara proses 2 dikerjakan terlebih dahulu sampai selesai, baru proses 1. Pemecahan ini dilaksanakan dengan mengharuskan proses secara implisit artinya proses dikerjakan secara satu per satu.
SINKRONISASI PROSES yaitu masalah yang timbul yang diakibatkan karena resurces yang ada digunakan bersama-sama sehingga terdapat dua masalah yang harus ditanggulangi yaitu :1. RACE CONDITION2. DEADLY EMBRACEDEADLY EMBRACE merupakan suatu situasi dimana terdapat dua buah proses atau lebih yang berdiri sendiri (saling tidak kenal).
CPU SCHEDULLING
Dalam pengelolaan processor berkaitan erat dengan CPU sehingga diperlukan teknik penjadwalan CPU secara benar.
Adapun algoritma penjadwalan CPU :1. First Come First Served (FCFS) Apabila job-job tersebut datanya berurutan sesuai
dengan tabel, maka kita harus manggambarkan ganti chartnya.
A. Ganti chartnya : 0 24 27 30 (0+24) (24+3) (27+3)B. Turn Arround Time : Job-1 = 24 Job-2 = 27 Job-3 = 30C. Average Turn Arround Time : (24+27+30) / 3 = 27
JOB BURST TIME 1 24
2 3
3 3
Job-1 Job-2 Job-3
A. Ganti Chartnya :
0 3 6 30 B. Turn Arround Time Job-1 = 3 Job-2 = 6 Job-3 = 30 C. Average Turn Arround Time (3+6+30) / 3 = 39/3 = 13
2. SHORTEST JOB FIRST (SJF)
A. Ganti chartnya :
0 3 9 16 24B. Turn Arround Time Job-1 = 9 Job-2 = 3 Job-3 = 24 Job-4 = 16C. Average Turn Arround Time (3+9+24+16) / 4 = 13
JOB BURST TIME
1 24
2 3
3 3
Job-3 Job-2 Job-1
JOB BURST TIME 1 6
2 3
3 8
4 7
Job-2 Job-1 Job-4 Job-3
A. ALGORITMA PRE EMPTIVE Contoh : SCF (3) (2) (1) (4) (4) (1) (2) (3)
Tentukan dengan cara Shortest Job First :a. Ganti Chartnya: 0 1 5 10 17 26 (1+4) (5+5) (10+8) (17+9) Pre emptiveb. Turn Arround Time Job-1 = 17 Job-2 = 5 Job-3 = 26 Job-4 = 10
B. ALGORITMA NON PRE EMPTIVE
Tentukan dengan cara FCFS
a. 0 1 10 17 22 26
b. Turn arround time Job-1 = 17 Job-2 = 26 Job-3 = 10
JOB ARRIVAL TIME BURST TIME
1 0 8
2 1 4
3 2 9
4 3 5
Job Job-2 Job-4 Job-1 Job-3
Job Job-3 Job-1 Job-4 Job-2
Job-4 = 22
c. Average Turn Arround Time (1+10+17+22+24) / 4 = 19
DEAD LOCK
Suatu set dari proses dalam keadan dead lock, apabila setiap proses dalam set menunggu suatu kejadian yang disebabkan oleh proses lain dalam set tersebut.
Proses dead lock terjadi karena menunggu suatu kejadian tertentu yang tak pernah terjadi.
Dimana dead lock terjadi ketika proses-proses mengakses secara exclusif sumber daya yang melibatkan persaingan untuk memproses sumber daya oleh dua atau lebih proses.
Proses tersebut biasanya release (pelepasan dari suatu resources dan proses menunggu adalah menunggu direleasenya suatu resources oleh proses lain.
Suatu dead lock digambarkan dalam bentuk/sebagai “graph”.Sebab-sebab terjadinya dead lock :
1. Mutual Exclusion
Terjadi karena proses non shahring device, misal : tape printer, card reader.
2. Hold and WaitDimana suatu resources yang memakai resources yang lain harus menunggu, karena resources tersebut sedang dipakai proses lain.
3. Non Pre EmptiveDimana suatu resources untuk sementara tidak dapat diberikan kepada proses lain.
4. Circular WaitSuatu set waiting proses (P0, P1, P2, …….., Pn) dimana P0 menunggu resources yang sedang dipakai P1, P1 menunggu resources yang sedang dipakai P2, dan seterusnya.
Metode mengatasi Dead Lock1. Dead Lock Prevention
Berkaitan dengan pengkondisian sistem agar menghilangkan kemungkinan terjadinya dead lock.
2. Dead Lock AvoidanceAdalah menghindari kondisi-kondisi yang paling mungkin menimbulkan terjadinya dead lock, agar memperoleh utilisasi sumber daya yang lebih baik.
3. Dead Lock Detection and RecoveryDigunakan pada sistem yang mengizinkan terjadinya dead lock dan bertujuan untuk memeriksa apakah telah terjadi dead lock dan menentukan proses-proses dan sumber daya yang terlibat dead lock secara presisi (seimbang).
Contoh :Resources Allocation Graph : Set P,V,R
P = {P1, P2, P3} R = {R1, R2, R3} V = { (P1, R1), (P2, R1), (R2, P1), (P2, R2), (P3, R3), (P2, R3) }
Mode ini hanya menghasilkan satu kejadian tunggal, diperlukan ketika clock diaktifkan berdasarkan kejadian.
2. Square Wave ModeMode ini hanya menghasilkan kejadian-kejadian interupsi timer secara periodik dilakukan secara otomatiss tanpa melibatkan proses.
Beberapa fungsi clock pada SO :1. Mengelola waktu dan tanggal.2. Mencegah proses berjalan lebih dari waktu yang ditetapkan.3. Menghitung penggunaan pemrosesan.4. Menangani sistemm call alarm, yang dibuat oleh user.5. Mengerjakan profiling, monitoring, dan pengumpulan statistik.
Contoh kasus PIT Teori : Apabila PIT digunakan untuk pewaktu, maka PIT akan
menghasilkan interupsi secara periodik, keluaran PIT menghitung pulsa eksternal yang diberikan Cystal Oscilator dan diteruskan langsung ke IRC (Interupt Request).
Periode waktu antara 2 interupt timer berurutan dapat diprogramkan dengan memasukkan nilai nilai holding register.
Rumus : Internal Interupt perode clock x nilai holding register. Problem : Apabila dikehendaki interval pewaktu setiap 10 ms.
Frekuensi cystal osilator adalah 2 MHz. Pertanyaan : Berapa nilai yang harus dimasukan ke Holding Register? Jawab : Periode clock = 1 = 0,5 x 10-6 = 0,5 s 1 (2x106) 2Mh
Nilai yang diberikan ke Holding Register : = (10x10-3) = 20x103
(0,5x10-6) Artinya : Holding Register di set dengan nilai 20.000