• Tidak ada hasil yang ditemukan

KONSEP MULTIPROGRAMMING

N/A
N/A
Protected

Academic year: 2021

Membagikan "KONSEP MULTIPROGRAMMING"

Copied!
41
0
0

Teks penuh

(1)

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.

Berapa sisa/blank memori dan gambarkan skema memorinya? Jawaban :

WAKTU TOTAL = WAKTU CPU + WAKTU I/O

(2)

SKEMA PROSESNYA :

Job 1 Job 2 Job 3

       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

Ii W = x 100% Ii + Ci I II III

(3)

2. MULTIPROGRAMMING

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.

Waktu total CPU (Ci total) =  waktu CPUn +  waktu I/On

n W 1 – W n i n! ∑ W W1 = I=0 1 - W

i

(4)

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

1 2 3 4 5 8 K 32 K 32 K 120 K 520 K 312 K 320 K 352 K 384 K 504 K In use In use Not in use Not in use In use

(5)

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

1 2 3 4 5 8 K 32 K 24 K 120 K - 312 K 320 K 352 K 376 K - Allocated Allocated Allocated Allocated Empty Entry

2. Tabel Status Daerah Memori yang tidak diallokasi (Unallocated Area Status Table)

Free Area Size Location Status

1 2 3 8 K 520 K - 76 K 504 K - Available Available 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.

(6)

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 FIT

Pada 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 effisien 2. Tak memerlukan H/W khusus yang mahal

3. Algoritma yang digunakan sederhana dan mudah untuk di-implementasi.

(7)

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

Load & execute T O. S ACTUALLY USED BY JOB ALLOCATED BUT UNUSED (WASTED) ENTER Job <= memory

Job tdk dpt di run coba job lain

Berikan memori ke job Job selesai Deallocated

(8)

PROTEKSI 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 : Illegal

Address > 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 Fence Address Add > F.add CPU MEMORI Addressing Error

(9)

RELOCATION (RELOKASI)

Untuk mengatasi jumlah/kapasitas memori dan user dalam Fence Address (BATAS ALAMAT), perlu adanya Allokasi Monitor dan data 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 AC

1. MAR m : Transfer alamat ke MAR 2. MBR m : Membaca ke MBR

3. AC AC + MBR : Jumlahkan isi AC dgn MBR hsl disimpan pada AC Monitor

User

Monitor

(10)

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 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

PROGRAM SUMBER MODUL OBJECT KOMPILER/ASSEMBLER LINKAGE EDITOR MODUL LOAD LOADER IN-CARE MEMORY

(11)

RELOKASI DINAMIS DGN REGISTER RELOKASI

REGISTER BASIS

Alamat logika alamat fisik 0346 1746

(0346 + 1400) BAHASA MESINNYA :

Mov Ax, “ADDR” : Direct Addressing Mov Ax, Bx : Register Addressing Mov Bx, 10 : Immidiate Addressing

1400

+

(12)

DEMAND PAGED MEMORY MANAGEMENT

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 MEMORY

Yaitu 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 MEMORY

Manfaat 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 Routine

b. Option Proses

(13)

c. Table, hanya sebagian yang diperlukan d. PMT (Address Space),

MBT (Memory Buffer Table) FMT (File Map Table)

e. Demand Page Interupt f. Deallokasi

g. Allokasi

Teknik untuk Pengaturan suatu PAGE, dapat dengan : a. Page Swapping

b. Page Remoral c. Page Replacement d. Page Turning e. Page Canibalizing

f. Trashing (Bila terjadi suatu page yang baru diambil dari memori harus dimasukkan kembali)

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 :

(14)

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.

(15)

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/VS2 2. Honeywell 6180 Multic 3. 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.

Keuntungan segmentasi :

1. Menghilangkan Fragmentasi. 2. Menyediakan Virtual Memory.

(16)

3. Pemuatan dan Penggandengan secara dinamis (Dynamic Linking & Loading).

4. Automatically Bound Checking (Pengecekan terbatas secara otomatis). 5. Shared Segment (Pemakaian bersama/prosedur).

Tabel Pendukung Segmented Memory Management :

1. SMT (Segment Map Table) : 1 per address space. 2. UAT (Unallocated Area Table) : 1 pada sistem.

3. ART (Active Reference Table) : 1 per address space. 4. AST (Active Segment Table) : 1 pada sistem.

CONFIGURATION TYPE SISTEM

Disks Drums Tape Control : Data : Processor Memory Selector Channel Multiplexor channel Blok Multiplexor channel-2 Blok Multiplexor channel-1 Card printer Card repeater Printer-2 Printer-1

(17)

SKEMA DEMAND PAGE

Logical memory Page Table Physical Memory Backing Storage Frame valid/invalid 0 1 0 2 1 3 2 4 SWAP OUT 3 5 4 6 7 8 SWAP IN 9 Drums 10 11 12 13 A B C D E F

(18)

SKEMATIS SEGMENTASI 0 6700 0 1 2 3 0 4 1400 2400 3200 4300 4700 5700 6300 6700 CPU TRAP ERROR MEMORY LIMIT BASE LIMIT BASE 1000 1400 400 6300 400 4300 1100 3200 1000 4700 PROG I PROG II SEG 1 SEG 2 FREE 0 FREE 3 2 4 FREE 1 FREE

(19)

CONTOH SEGMENTASI!!

Program Algoritma Memory

0 1. (S,D) (0,500) 0

500 0 2. Limit : 0 1000 1000

1000 3. Apakah : 500 < 1000 1500

1 4. Maka akan diletakkan 2000

0 2 pd add 1000+500=1500 100 6700 Physical Memory Logical Memory Page Table 0

0 1 2 3 4 5 6 7

Program Frame number page number 32

MOD-1 MOD-2 MOD-3 FREE MOD-1 MOD-2 MOD-3 FREE SPACE TABLE 1 1000 2000 2 5000 200 3 -- -- 1 0 1400 1 500 960 2 2400 800 3 5700 600 1 2 3 4 5 0 1 2 3 4 5 6 1 2 3 FREE 4 FREE 5 FREE

(20)

SHARED PAGES

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

0 5 6

JOB-2 1 JOB-2 USER 2 7 2 2 8 9 0 JOB-3 10 USER 3 1 11 JOB-3 2 12 3 ED-1 ED-2 ED-3 DATA 3 4 6 7 ED-1 ED-2 ED-3 DATA ED-1 ED-2 ED-3 DATA 3 4 5 6 3 4 5 6 ED-1 ED-2 ED-3 DATA ED-1 ED-2 ED-3 DATA ED-1 ED-2 ED-3 DATA ED-1 ED-2 ED-3 DATA-1 DATA-2 DATA-3

(21)

PAGE FAULTED HANDLING

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 BACKING STORAGE PAGE TABLE (6) restart LOAD (M) instruksi

(5)reset page table (4) cari di free- frame

O/S

(22)

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) 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 )

1 1

(23)

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, 1

Maka 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 15

Page yang sama tidak perlu ditulis lagi, sehingga page replacement = 15

7 4 3 0 7 0 7 0 1 4 2 0 2 0 1 2 0 1 4 2 3 2 3 0 7 0 1 7 0 2 2 3 1 0 2 3 0 1 2 7 1 2 0 1 3 0 1 2 0 1 2 0 2 3 0 2 3

(24)

2. OPTIMAL REPLACEMENT Jumlah page replacement = 10

7 0 1 2 0 3 0 4 2 3 0 3 1 2 3 4 * 5 * 6 * * 7 * 2 1 2 0 1 7 0 1 * 8 * 9 * 10 * * 3. LEAST RECENTLY USED

Jika 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.

2 0 3 2 0 3 2 0 1 2 0 1 7 0 7 0 1 7 2 0 3 2 0 3 2 4 3 2 4 3 2 4 3 0 1 7 0 1 7 0 1 7 0 1 3 0 1 3 2 1 3 2 1 3 2 0 3 7 7 0 7 0 1 2 0 1 2 0 1 2 0 3 2 0 3 4 0 3 4 0 2 4 3 2 0 3 2 0 3 2 0 3 2 1 3 2 1 3 2 1 0 2 1 0 2 1 0 7 1 0 7 1 0 7

(25)

Pengalokasian Page tersebut terbagi atas dua cara :

I. EQUAL ALLOCATION

Dimana jumlah setiap program akan mendapat jumlah frame yang sama besarnya.

Rumus :

II. PROPORTIONAL ALLOCATION

Dimana 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 frame Untuk program B = 200/210 * 62 = 59,05 frame

Besar frame tiap program = jumlah frame Jumlah program

(26)

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)

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.

(27)

Hardware dari sistem disk terdiri dari dua bagian : 1. DISK DRIVE

Yaitu meliputi motor yang digunakan untuk menggerakkan read, write, head.

2. DISK CONTROLLER

Yaitu 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 TIME

Adalah 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).

(28)

Penjadwalan FCFS adalah sebagai berikut :

0 14 37 53 65 67 98 122 124 183

Jumlah track dengan FCFS :

(98-53) + (183-98) + (183-37) + (122-37) + (122-14) + (124-14) + ( 124-65) + (67-65) = 640 track

2. SHORTEST SEEK TIME FIRST (SSTF)

0 14 37 53 65 67 98 122 124 183

Jumlah track dengan SSTF :

(65-53) + (67-65) + (67-37) + (37-14) + (98-14) + (122-98) + (124-122) + (183-124) = 236 track

(29)

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 schedulling

Merupakan 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 schedulling

Setelah 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‟.

(30)

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 CONDITION

2. DEADLY EMBRACE

DEADLY EMBRACE, merupakan suatu situasi dimana terdapat

dua buah proses atau lebih yang berdiri sendiri (saling tidak kenal).

(31)

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 = 30

C. Average Turn Arround Time : (24+27+30) / 3 = 27

JOB BURST TIME 1 24 2 3 3 3

(32)

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 24

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

(33)

B. Turn Arround Time Job-1 = 9

Job-2 = 3 Job-3 = 24 Job-4 = 16

C. Average Turn Arround Time (3+9+24+16) / 4 = 13

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 emptive b. Turn Arround Time Job-1 = 17 Job-2 = 5 Job-3 = 26 Job-4 = 10 JOB ARRIVAL TIME BURST TIME 1 0 8

2 1 4

3 2 9

4 3 5

(34)

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-4 = 22

c. Average Turn Arround Time (1+10+17+22+24) / 4 = 19

(35)

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 Wait

Dimana suatu resources yang memakai resources yang lain harus menunggu, karena resources tersebut sedang dipakai proses lain.

3. Non Pre Emptive

Dimana suatu resources untuk sementara tidak dapat diberikan kepada proses lain.

(36)

4. Circular Wait

Suatu 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 Lock 1. Dead Lock Prevention

Berkaitan dengan pengkondisian sistem agar menghilangkan kemungkinan terjadinya dead lock.

2. Dead Lock Avoidance

Adalah menghindari kondisi-kondisi yang paling mungkin menimbulkan terjadinya dead lock, agar memperoleh utilisasi sumber daya yang lebih baik.

3. Dead Lock Detection and Recovery

Digunakan 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}

(37)

Resources Instance : 1. VTK. R1 2. VTK. R2 3. VTK. R3 4. VTK. R4 Proses state P1 Menggunakan R1 Menunggu R3 P2 Menggunakan R1, R2 Menunggu R3 P3 Menggunakan R3 1. Dead Lock R1 R3 a. R2 b. R1 R0 R0 R1 P1 P2 P3 P0 P1 P0 P1

(38)

2. Non Dead Lock R3 R1 R2 R2 P1 P2 P3 P4

(39)

CLOCK

Dalam setiap komputer dilengkapi dengan komponen RTC (Real Time Clock), dimana perangkat keras clock tersebut terdiri dari :

1. Clock yang ditimbulkan impulse tegangan listrik clock ini dapat melakukan interupsi 50-60 interupt/detik sesuai dengan frekuensi listrik.

2. Progmaable Interval Timer (PIT)

Clock yang terdiri dari Crystal Oscilator, Coventer dan holding register.

Keunggulan PIT

1. Mempunyai akurasi tinggi.

2. Frekuensi interupt dapat diatur secara perangkat lunak/software. PIT digunakan sebagai:

1. Waktu sistem.

2. Pembangkit band rate (pada USART (Universal Synchonisasi Asyn chronisasi Recelver Transmitter)).

3. Penghitung kejadian. 4. Pengendali motor. 5. Pembangkit musik. Mode Pemrograman PIT

1. One – shot mode

Mode ini hanya menghasilkan satu kejadian tunggal, diperlukan ketika clock diaktifkan berdasarkan kejadian.

(40)

2. Square Wave Mode

Mode 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)

(41)

Nilai yang diberikan ke Holding Register : = (10x10-3) = 20x103

(0,5x10-6)

Gambar

Tabel yang dikelola :
Tabel Pendukung Segmented Memory Management :

Referensi

Dokumen terkait

Penelitian ini bertujuan untuk mengetahui efek ekstrak etanol akar tunjuk langit sebagai penurun kadar asam urat pada hewan yang diinduksi dengan jus hati

Ketepatan struktur seperti struktur kelompok nominal dan porsi kepadatan leksikal yang baik memberikan pengaruh besar dalam menulis teks tertulis seperti naskah

The used media in the implementation of learning trajectory of ordering decimal numbers in this study was picture of number line, LCD projector, body scales, cards of

merupakan salah satu jenis ikan kakap yang banyak dicari oleh konsumen. sebagai bahan konsumsi masyarakat yaitu sebagai lauk-pauk harian

[r]

BODY IMAGE PADA REMAJA PUTRI PENGGEMAR GIRL BAND K-POP.. Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu

Belum terdapat penelitian yang meneliti tentang ulkus DM sebagai faktor risiko timbulnya ISK oleh MDRO, namun terdapat penelitian yang menyatakan bahwa kolonisasi MDRO

Argumen ini mau menunjukan bahwa bisnis tidak hanya mempunyai uang yang dapat dipakai untuk kepentingan sosial, melainkan juga mempunyai tenaga manajer yang kompeten, tenaga ahli