SISTEM OPERASI - · PDF filememori hanya sebuah program yang sedang dijalankan ... •...

36
10/17/2012 1 PROSES-PROSES [email protected] SISTEM OPERASI http://blogriki.wordpress.com Pembahasan Konsep Proses Penjadualan Proses Operasi-operasi pada Proses Cooperating Processes Interprocess Communication Komunikasi pada Sistem Client-Server

Transcript of SISTEM OPERASI - · PDF filememori hanya sebuah program yang sedang dijalankan ... •...

Page 1: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

1

PROSES-PROSES

[email protected]

SISTEM OPERASI

http://blogriki.wordpress.com

Pembahasan

• Konsep Proses• Penjadualan Proses• Operasi-operasi pada Proses• Cooperating Processes• Interprocess Communication• Komunikasi pada Sistem Client-Server

Page 2: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

2

Konsep Proses

• Proses : suatu program yang sedang dieksekusi danmemiliki status jalannya eksekusi yaitu minimalinformasi-informasi sbb :– Program counter : menunjukkan instruksi berikutnya

yang akan dieksekusi– Register : data hasil eksekusi antara– Stack : tempat penyimpanan temporary data yang

dibutuhkan selama program dieksekusi– Data section : mengandung variabel global dari suatu

proses• Dalam literatur, istilah job dan proses dan task

sering dapat dipertukarkan

Perkembangan Konsep Proses

• Konsep proses berkembang sejalan denganmodus operasi sistem komputer :– Fase-fase monoprogramming : pada suatu saat di

memori hanya sebuah program yang sedang dijalankan(mungkin disertai suatu monitor proses)

– Fase-fase multiprogramming : pada suatu saat dimemori bisa terdapat beberapa program yang sedangdijalankan

Page 3: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

3

Konsep Proses Monoprogramming

• Program oleh proses monitor (atau operator) di-load ke memori, dieksekusi (kontrol diberikanpada proses), dan selesai (sukses atau abort),kemudian kontrol dikembalikan ke proses monitor(atau operator)

• Status proses direkam dan di-print hanyadiperlukan untuk keperluan debugging

Konsep Proses Modern

• Karena adanya sejumlah program yang di-loaddimemori dalam status sedang dijalankan,maka setiap saat jumlah aktual proses yangdieksekusi maksimum sama dengan jumlahCPU

• Untuk pembahasan konsep proses selanjutnyaakan berdasarkan paradigma ini

Page 4: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

4

Status Proses

• Selama eksekusinya proses berada dalamsalah satu dari status-status berikut ini :– New : proses sedang di-create– Running : instruksi-instruksi sedang dieksekusi– Waiting : proses sedang menunggu terjadinya

event-event tertentu– Ready : proses menunggu di-assign ke prosesor– Terminated : proses selesai eksekusi

Diagram Status Proses

Page 5: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

5

Process Control Block (PCB)

• Agar suatu proses yang running, laluwaiting/ready, dan kemudian running kembalidapat meneruskan proses tanpa kehilangankonteks maka diperlukan struktur data untukmenyimpan informasi dan status proses,disebut Process Control Block (PCB)

• Satu blok digunakan untuk satu proses danisinya bisa bervariasi dari proses ke proses

Informasi dalam PCB

• Informasi Manajemen Memori– Posisi program di memori, dll

• Informasi Accounting– Jumlah waktu eksekusi/elapse, time limit,

account/job number, dll

• Informasi Status I/O– List dari I/O device yang dialokasi proses, list file

yang status sedang dibuka (baca/tulis), dll

Page 6: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

6

Process Control Block (PCB)

Proses-proses dari Memori Utama keRegister

Page 7: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

7

CPU Switch dari Proses ke Proses

Scheduling Proses

• Dalam multiprogramming sejumlah proses yangrunning secara concurrent menggunakanresources : CPU dan devices

• Jika hanya ada satu prosesor (uniprosesor) makahanya satu proses setiap saat yang benar-benarrunning dan yang lainnya menunggu (waiting)dalam queue atau melakukan aktifitas I/O

Page 8: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

8

Queue untuk Scheduling

• Job queue berisi seluruh proses di dalamsistem

• Ready queue berisi proses-proses yang beradadi memori dan siap (ready)/ menunggu (wait)untuk dieksekusi

• Device queue – proses-proses yang menunggugiliran penggunaan device tertentu

• Proses berpindah antara bermacam-macamqueue

Ready Queue dan I/O Device Queues

Page 9: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

9

Representasi Process Scheduling

= resource yang melayani= resource yang melayaniqueuequeue

= queue (ready queue & device queue)= queue (ready queue & device queue)

Scheduler• Long-term scheduler (job scheduler)

– Memilih proses yang mana yang harus dibawa ke dalamready queue

– Menentukan degree of multiprogramming– Lebih jarang (second, minute) (may be slow)

• Short-term scheduler (CPU scheduler)– Memilih proses mana yang harus dieksekusi berikutnya dan

mengalokasi CPU untuknya– Lebih sering (milisecond) (must be fast)

• Medium-term scheduler : swap proses In dan Outantara memori dan swap-device untuk mengubahkarakteristik dari proses dalam penggunaan memoriatau I/O device

Page 10: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

10

Status Proses - Scheduler

shortshort--termtermschedulerscheduler

longlong--termtermschedulerscheduler

Diagram Perpindahan Proses

Baru terproses sebagian &di swap-out sementara

Baru terproses sebagian &di swap-out sementara

Ready queueReady queue

I/O waiting queueI/O waiting queueI/OI/O

CPUCPU

shortshort--termtermschedulerscheduler

longlong--termtermschedulerscheduler

medium termmedium termschedulerscheduler

enendd

Swap outSwap outSwap inSwap in

newnew

Page 11: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

11

Status Proses - Update

I/O vs CPU Bounds

• Proses-proses dapat dideskripsikan sbb :– I/O-bound process : proses-proses yang melakukan

I/O dalam jumlah waktu yang lebih banyakdaripada untuk komputasi; banyak terdapat CPUburst yang pendek

– CPU-bound process : proses-proses yang melakukanlebih banyak komputasi; beberapa CPU burst yangpanjang

Page 12: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

12

Context Switch

• Saat CPU dipindahkan dari suatu proses keproses yang lain sistem harus menyimpanstatus dari proses lama dan me-load statusproses yang baru

• Tugas ini dilakukan oleh context switch• Waktu untuk context-switch merupakan

overhead (waktu sistem “terbuang” saatswitching)

• Jumlah waktu ini bergantung pada dukunganHardware

Operasi pada Proses-proses

• Dalam multiprogramming akan ada prosesyang baru mulai, dan ada proses yang selesai,disamping proses-proses yang sedang running

• Untuk dapat dimanage maka diperlukanmekanisme tertentu untuk menanganiaktifitas create dan terminate proses

Page 13: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

13

Proses Creation

• Mekanisme “ayah-anak” atau “parent-child” :proses “parent” meng-create proses “child”yang juga dapat meng-create proses-proseslainnya membentuk pohon (tree) dari proses-proses

• Pada fase-fase awal : code dari user programdi-load ke memori, control dialihkan keprogram, proses berjalan hingga selesai/abort,dan control kembali ke monitor

Modus-modus saat Create Proses (1)

• Dalam hal resource sharing– Parent & child men-share semua resource– Child men-share subset dari resource-resource

milik parent– Parent & child tidak men-share apa pun

• Dalam hal eksekusi– Parent & child dieksekusi secara concurrent– Parent menunggu hingga child terminate

Page 14: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

14

Modus-modus saat Create Proses (2)

• Dalam hal address space :– Child menduplikasi milik parent– Child memiliki suatu program yang akan di-load ke

dalamnya

• Contoh UNIX– System call fork() meng-create proses baru– System call execve() digunakan setelah itu

untuk mengganti memory space dari prosesdengan program yang baru

Proses Tree pada UNIX System

Page 15: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

15

Process Termination

• suatu proses mengalami terminasi akibatinisiatif child atau parent

Terminasi karena Child

• Proses mengeksekusi statement terakhir yangjuga meminta OS untuk mengahapusnya (misalnya dengan exit() )– Data output dihasilkan child kepada parent (

misalnya sebagai return dari fork() )– Resource-resource proses didealokasi oleh OS

Page 16: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

16

Terminasi karena Parent

• Parent mengakhiri eksekusi proses-proseschild ( misalnya dengan abort() )– Child telah menggunakan jumlah resource

melebihi dari yang telah dialokasi– Task yang diberikan pada child sudah tidak

diperlukan lagi

• Parent telah exit– OS tidak mengijinkan child untuk berlanjut jika

parent terminate– Cascading termination

Cooperating Processes• Independent process tidak dapat dipengaruhi oleh

eksekusi proses lain• Cooperating process dapat mempengaruhi dan

dipengaruhi oleh eksekusi proses lain• Keuntungan proses berkooperasi :

– Sharing informasi : Menggunakan informasi(resource) yangsama untuk beberapa proses

– Peningkatan kemampuan komputasi (Computation Speedup) :Suatu task tertentu bisa dipecah menjadi beberapa cooperatingprocesses sehingga bisa dikerjakan secara paralel sehinggamenjadi lebih cepat selesai

– Modularitas : Pembuatan suatu sistem yang moduler denganmemecahkan fungsi-fungsi dari sistem tersebut menjadibeberapa proses atau thread

– Convenience : User bisa dengan mudah mengerjakan sesuatuyang berbeda dalam waktu yang sama

Page 17: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

17

Producer-Consumer Problem

• “Producer” merupakan proses yang menghasilkaninformasi yang akan dikonsumsi oleh proses“Consumer”. Contoh :– Compiler memproduksi assembly code yang dikonsumsi

oleh Assembler– Assembler memproduksi Object yang dikonsumsi oleh

Loader• Sebagai perantara digunakan suatu buffer

– Unbound-buffer : tidak ada batas kapasitas– Bounded-buffer : buffer berukuran tetap

• Consumer harus menunggu jika buffer kosong danProducer harus menunggu jika buffer penuh.

Bounded-Buffer – Shared-Memory Solution

• Shared data#define BUFFER_SIZE 10typedef struct {

. . .} item;item buffer[BUFFER_SIZE];int in = 0;int out = 0;

• Hanya dapat menggunakan BUFFER_SIZE-1elemen

Page 18: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

18

Bounded-Buffer – Producer Process

item nextProduced;

while (1) {while (((in + 1) % BUFFER_SIZE) == out)

; /* do nothing */buffer[in] = nextProduced;in = (in + 1) % BUFFER_SIZE;

}

Bounded-Buffer – Consumer Process

item nextConsumed;

while (1) {while (in == out)

; /* do nothing */nextConsumed = buffer[out];out = (out + 1) % BUFFER_SIZE;

}

Page 19: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

19

Ilustrasi Producer-Consumer Problem

0

11

011

producer

consumer

0

11

Ring-buffer12 slots

out

in

inout

in out

FullHalf-fullEmpty

Algoritma Producer-Consumer (Pascal)

• Producer :repeat

…produce an item nextp…while in+1 mod n = outdo no-op;buffer[in] := nextp;in := in+1 mod n;

until false;

Consumer :Consumer :repeatrepeat

whilewhile inin == outout dodo nono--opop;;nextcnextc :=:= bufferbuffer[[outout];];outout :=:= outout+1 mod+1 mod nn;;……consume the item inconsume the item in nextcnextc……

untiluntil falsefalse;;

Shared dataShared datavarvar n;n; typetype item = …;item = …; varvar buffer :buffer : arrayarray [0..n[0..n--1]1] ofof item;item;in, out : 0..nin, out : 0..n--1; n := 0; out := 0;1; n := 0; out := 0;

Page 20: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

20

Interprocess Communication (IPC)• Menyediakan mekanisme yang

memungkinkan proses-proses berkomunikasidan mensinkronisasi aksi-aksinya

• Message System – komunikasi tanpamemerlukan penggunaan shared variabelmilik proses user

Operasi-operasi IPC

• Operasi-operasi yang disediakan– Send(message)

– Receive(message)

• Message dapat berukuran tetap atau variabel– Ukuran tetap; implementasi fisik lebih simple, tapi lebih

sulit bagi user dalam pemrograman– Ukuran variabel; pemrograman lebih mudah tapi

implementasi fisik lebih sulit

Page 21: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

21

Communication Link

• Bila P dan Q hendak berkomunikasi– mereka perlu menetapkan suatu communication link di

antara mereka lalu melakukan tukar-menukar messagemelalui send/receive

• IPC dalam implementasinya memerlukancommunication link– Secara fisik, contohnya shared memory, hardware bus– Secara logic, contohnya logical properties

Implementasi

• Menjawab pertanyaan-pertanyaan :– Cara penetapan link– Bisa berasosiasi dengan > 2 proses– Jumlah link yang ditetapkan antara 2 proses– Kapasitas link– Ukuran message : tetap atau variabel– Arah link : satu arah (unidirectional) atau dua arah (bi-

directional)• Satu arah : proses hanya send (atau receive) dan hanya satu

yang receive

Page 22: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

22

Metodologi

• Direct vs. Indirect Communication• Symmetric vs. Asymmetric Communication• Automatic vs. Explicit Buffering• Send by Copy vs. Send by Reference• Fixed Sized vs. Variabel Sized Message

Direct Communication

• Proses-proses harusmenyebutkan pasangannyasecara eksplisit– send(Q, message)

• Q adalah receiver– receive(P, message)

• P adalah senderPP QQ

Page 23: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

23

Sifat-sifat Communication Link DirectComm.

• Link ditetapkan secara otomatis• Link diasosiasikan dengan pasangan proses

yang sedang berkomunikasi tsb• Antara sepasang proses hanya bisa ada 1 link• Link bisa satu arah tapi biasanya dua arah

Contoh Producer-Consumer

• Producer :repeat

…Produce(nextp)…send(consumer,nextp)…

until false;

Consumer :Consumer :repeatrepeat

……receive(produser, nextc)receive(produser, nextc)……Consume(nextc)Consume(nextc)……

untiluntil falsefalse;;

Page 24: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

24

Kekurangan Direct Comm.

• Modularitas terbatas– Pengubahan nama proses perlu pengubahan di

seluruh call– Perlu pemeriksaan jika terdapat nama yang sama

Indirect Communication

• Message-message dikirim dan diterimamelalui suatu mailbox (juga disebut port)– Masing-masing mailbox memiliki id yang

unik– Proses-proses hanya dapat berkomunikasi

jika mereka men-share mailbox– send(A, message)

• Kirim message ke dalam mailbox A– receive(A, message)

• Terima message dari dalam mailbox A

APP QQ

Page 25: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

25

Sifat-sifat Communication Link IndirectComm.

• Link ditetapkan saat dua proses men-sharesuatu mailbox

• Link dapat diasosiasikan dengan sejumlahproses

• Setiap pasang proses bisa men-sharebeberapa link

• Link bisa satu arah atau dua arah

Operasi-operasi Indirect Comm.

• Proses memulai komunikasi dengan men-create mailbox

• Komunikasi berlangsung dengan pemanggilanperintah send & receive message melaluimailbox tersebut

• Saat proses hendak exit maka proses men-destroy mailbox

Page 26: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

26

Masalah pada Mailbox Sharing• Mailbox sharing

– P1, P2, and P3 share mailbox A.– P1, sends; P2 dan P3 receive.– Siapa yang mendapatkan message?

• Solusi– Batasi link diasosiasikan hanya untuk max 2 proses– Hanya mengijinkan satu proses setiap saat yang

meng-eksekusi operasi receive– Sistem memilih siapa receiver-nya– Sender menyebutkan siapa receiver-nya

AP1P1

P2P2

P3P3

Sinkronisasi

• Message passing dapat dibedakan menjadi :– blocking– non-blocking

• Blocking adalah synchronous• Non-blocking adalah asynchronous• Primitif send and receive dapat blocking or

non-blocking.

Page 27: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

27

Buffering untuk Link

• 3 kemungkinan cara implementasi– Zero capacity – tidak ada buffer

• Sender harus menunggu sampai muncul receiver dansebaliknya (sinkronisasi - rendezvous)

– Bounded capacity – bisa berisi max n message• Sender harus menunggu jika penuh

– Unbounded capacity – tak terbatas• Sender tidak pernah menunggu

Komunikasi Client-Server

• Sockets• Remote Procedure Calls• Remote Method Invocation (Java)

Page 28: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

28

Socket• Socket didefinisikan sebagai suatu endpoint for

communication.• Sebuah programming interface ke OS yang

memungkinkan proses untuk saling berkomunikasi keproses lainya

• Eksekusi TCP/UDP berlangsung di level kernel, socketbertindak sebagai jembatan ke user space.

• Merupakan gabungan IP address dan port• Socket 161.25.19.8:1625 menunjukkan bahwa port

1625 pada host 161.25.19.8• Komunikasi terdiri dari pasangan socket.

Komunikasi antar Socket

• Contoh standard port :– TELNET menggunakan port 23– FTP menggunakan port 21– HTTP server menggunakan port 80

Page 29: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

29

Ilustrasi Socket

Komunikasi Socket

Page 30: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

30

Detail Komunikasi Socket

Sockets in UnixServer membuat socketmenggunakan bind(), sehinggadapat dimanfaatkan oleh clients

Page 31: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

31

Server for time of day (in Java)Public class Server {public static void main (String[], args) throws IOException {Socket client = null; // connection-oriented socketPrintWriter pout = null;ServerSocket sock = null;

try {sock = new ServerSocket (5155);// now listen for connectionswhile (true) {

client = sock.accept ();

// we have a connectionpout = new PrintWriter (client.getOutputStream(), true);

// write the Date to the socketpout.println( new Java.util.Date().toString());

pout.close();client.close();

…..

New socketto connectto client

To send datasimplyusing println

Client for time of dayPublic class Client {public static void main (String[], args) throws IOException {InputStream in = null;BufferedReader bin = null;Socket sock = null;

try {// make connection to socketsock = new Socket (“127.0.0.1”, 5155);

in = sock.getInputStream ();bin = new BufferedReader (new InputStreamReader (in));

String line;

while ( (line = bin.readLine ()) != null)System.out.println (line);

}…….…..

Page 32: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

32

Remote Procedure Calls (RPC) (1)

• Remote Procedure Call (RPC) membuatabstraksi pemanggilan prosedur antara prosesdalam sistem jaringan (network)

• Stubs – client-side proxy untuk procedureaktual pada server

• Client-side stub mengalokasikan server danmengirimkan marshalls parameter

• Server-side stub menerima message,membuka parameter marshall, danmenjalankan procedure pada server

Mekanisme RPC

Page 33: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

33

Remote Procedure Calls (RPC) (2)

• Dalam sistem single-processor :– message send = pemanggilan fungsi– reply = function return– sender mengaktifkan receiver dengan message

sebagai argument, dan sender wait untukmendapatkan reply dari function return

• Skema RPC ini dilakukan juga pada proses-proses yang running di komputer berlainan

Mekanisme IPC

• Sebelum mekanisme IPC digunakan, data harus di-packaging kedalam format transimisi. Langkah ini dinamakan marshalling

• Proxy bertanggung jawab untuk marshalling data, kemudianmengirimkan data dan meminta instans dari komponen (remote)

• Stub menerima request, unmarshall data, dan memanggil methodyang diminta. Kemudian proses mengembalikan nilai yangdiinginkan

• Contoh : COM (Component Object Model) - Microsoft, CORBA(Common Object Request Broker Architecture - OMG)

Page 34: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

34

Contoh RPC

• Server hosts subroutines which can be called from aclient machine

Kelebihan RPC• Relatif mudah digunakan :

– Pemanggilan remote procedure tidak jauh berbedadibandingkan pemanggilan local procedure. Sehinggapemrogram dpt berkonsentrasi pd software logic, tidakperlu memikirkan low level details seperti socket,marshalling & unmarshalling.

• Relatively portable :– S/W developed using RPC is easier to be ported compared

to sockets.• Robust :

– Sejak th 1980-an RPC telah banyak digunakan dalampengembangan mission-critical application yg memerlukanscalability, fault tolerance, & reliability.

Page 35: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

35

Kekurangan RPC• Tidak fleksibel terhadap perubahan :

– Static relationship between client & server at run-time.

• Berdasarkan prosedural /structuredprogramming yang sudah ketinggalan jamandibandingkan OOP.

Remote Method Invocation (RMI)• Remote Method Invocation (RMI) adalah mekanisme

Java yang sama dengan RPC• RMI memungkinkan program Java pada satu

komputer untuk memanggil suatu method padaremote object

Page 36: SISTEM OPERASI -   · PDF filememori hanya sebuah program yang sedang dijalankan ... • Informasi Manajemen Memori ... Proses-proses dari Memori Utama ke Register

10/17/2012

36

Marshalling Parameters

- Local objects passed by copy (object serialization)- Remote objects passed by reference