Anda di halaman 1dari 40

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


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)

Sis.Operasi (32 Kb)

32 Job I (15 Kb)


I
47 Job II (30 Kb)
II
77

III Job II (50 Kb)


127

Blank/available
256

Sedangkan untuk proses perhitungan waktu tunggu CPU, rumusnya adalah :

1. MONOPROGRAMMING

Ii
W= x 100%
Ii + Ci

dimana : W = Waktu menunggu (untuk Mono)

Ii = Waktu menunggu I/O

Ci = Waktu total CPU


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

2. MULTIPROGRAMMING

n
W
1–W

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

i!

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

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
Size Lokasi Status
(protection key)
1 8K 312 K In use

2 32 K 320 K In use

3 32 K 352 K Not in use

4 120 K 384 K Not in use

5 520 K 504 K In use


A. 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 8K 312 K Allocated

2 32 K 320 K Allocated

3 24 K 352 K Allocated

4 120 K 376 K Allocated

5 - - Empty Entry

2. Tabel Status Daerah Memori yang tidak diallokasi

(Unallocated Area Status Table)

Free Area Size Location Status


1 8K 76 K Available

2 520 K 504 K Available

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

SINGLE CONTIGIOUS ALLOCATION


O. S
Suatu bentuk pengaturan memori yang dilakukan oleh sistem (patent)

dan dapat pula dilakukan dengan cara


ACTUALLY USEDproteksi
BY H/W.
JOB

ALLOCATED BUT
UNUSED (WASTED)
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

ENTE
R

Job <= Y Berikan memori ke job Job selesai Deallocated


memo memori dan dari job lain
ry Load & execute
T
PROTEKSI H/W
Job tdk dpt di run coba job lain
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.

Fence Address

ADDRESS Y Y
CPU Add > MEMORI
F.add
T

Addressing Error

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.

Monitor 4 Kb Monitor

Fence Address fence -


User agar penggunaan register
6 Kb monitor & user
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

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


PROGRA
M Source Program
SUMBER

KOMPILER/ASSEMBLER Compiler time

MODUL
OBJEC
T

LINKAGE EDITOR

Load time
MODU
L
(loading)
LOAD

LOADER

IN-CARE MEMORY execute time/run time

RELOKASI DINAMIS DGN REGISTER RELOKASI

1400 REGISTER BASIS

Alamat logika alamat fisik


CPU + MEMORI

0346 1746

(0346 + 1400)
BAHASA MESINNYA :

Mov Ax, “ADDR” : Direct Addressing

Mov Ax, Bx : Register Addressing

Mov Bx, 10 : Immidiate Addressing

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.

Proses

di-execute
Proses
Proses

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

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 :

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

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

Processor

Memory

Multiplexor Selector Blok Blok


channel Channel Multiplexor Multiplexor
channel-1 channel-2

Card Printer-2
repeater
Disks
Card Printer-1 Drums
printer
Tape

Control :
Data :
SKEMA DEMAND PAGE

Logical memory Page Table Physical Memory Backing Storage

Frame valid/invalid 0
A
1
B
0 2
C
1 3
D
2 4 SWAP OUT
E
3 5
F
4 6

8 SWAP IN

9 Drums
10

11

12

13

SKEMATIS SEGMENTASI

LIMIT BASE

MEMORY
CPU

6700

TRAP ERROR
LIMIT BASE
1000 1400
0

1 400 6300

2 400 4300

3 1100 3200

1000 4700 0

4 1400 FREE

2400 0

FREE

3200 3
PRO PRO
G G 4300 2
I II
4700
4
SEG SEG 5700
1 2 FREE
6300
1
6700
FREE

CONTOH SEGMENTASI!!

Program Algoritma Memory

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


500 MOD-1 0 2. Limit : 0 1000 1000
1000 3. Apakah : 500 < 1000 1500 MOD-1
MOD-2
1 4. Maka akan diletakkan 2000 MOD-2
0 MOD-3 2 pdFREE SPACE TABLE
add 1000+500=1500
MOD-3
100 1 1000 2000 6700

2 5000 200

1 3 -- --

2 1 0 1400

3 1 500 960

4 2 2400 800

5 3 5700 600
Physical Memory
Logical Memory Page Table 0
1

0 0
2
1 1 3
2
2
FREE
3 3
4 4
4
FREE
5 5
5
6 6
7 FREE
Program Frame number page number 32

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

JOB PAGE TABLE PHYSICAL MEMORY

0 3 ED-1 1 LOGICAL MEMORY


ED-1
1 4 ED-2 2
ED-2
JOB-1 ED-3 2 6 JOB-1 ED-3 3 USER 1

DATA 3 7 DATA 4 ED-1 DATA-1

ED-1 ED-2 DATA-2


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

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

O/S (2) trap

(1) reference

BACKING STORAGE

PAGE TABLE

(6) restart
LOAD (M) instruksi

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


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

Sehingga ditulisnya cukup diwakili :

141616161611

Jadi max page perprogram = 1 ( yang paling banyak muncul )

1 4 1 6 1 6 1 6 1 6 1 1

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
7 7 7 2 2 2 2 4 4 4
0 0 0 0 3 3 3 2 2
1 1 1 1 0 0 0 3

1 2 3 4 * 5 6 7 8 9

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

10 * * 11 12 * * 13 14 15

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

2. OPTIMAL REPLACEMENT

Jumlah page replacement = 10

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

1 2 3 4 * 5 * 6 * * 7 *

2 1 2 0 1 7 0 1
2 2 2 0 0 0 0 0
0 1 1 1 1 1 1 1
3 3 3 3 3 7 7 7
* 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
7 7 7 2 2 2 2 4 4 4
0 0 0 0 0 0 0 0 3
1 1 1 3 3 3 2 2

1 2 3 4 * 5 * 6 7 8

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

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.

Rumus :

Besar frame tiap program = jumlah frame


Jumlah program

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

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.

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

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

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

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

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.


JOB BURST TIME
1 24

2 3

3 3

A. Ganti chartnya :
Job-1 Job-2 Job-3

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

A. Ganti Chartnya :
Job-3 Job-2 Job-1

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)

JOB BURST TIME


1 6

2 3

3 8

4 7

A. Ganti chartnya :
Job-2 Job-1 Job-4 Job-3

0 3 9 16 24

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 :
JOB ARRIVAL TIME BURST TIME
SCF
1 0 8

2 1 4

3 2 9

4 3 5
(3) (2)

(1) (4)

(4) (1)

(2) (3)

Tentukan dengan cara Shortest Job First :

a. Ganti Chartnya:

Job Job-2 Job-4 Job-1 Job-3

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

B. ALGORITMA NON PRE EMPTIVE

Tentukan dengan cara FCFS

a. Job Job-3 Job-1 Job-4 Job-2

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

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.

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}

V = { (P1, R1), (P2, R1), (R2, P1), (P2, R2), (P3, R3), (P2, R3) }

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. P P P
1 2 3

R2

P
b. 0 R1

P
R0 P 1
0

R0 R1

P
1

2. Non Dead Lock R3


P
R1
2

P
1 P
3

R2

P
4
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.

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)

2Mh

Nilai yang diberikan ke Holding Register :

= (10x10-3) = 20x103

(0,5x10-6)

Artinya : Holding Register di set dengan nilai 20.000

Anda mungkin juga menyukai