Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Proses. Pembahasan Konsep ProsesKonsep Proses Penjadualan ProsesPenjadualan Proses Operasi-operasi pada ProsesOperasi-operasi pada Proses Cooperating.

Presentasi serupa


Presentasi berjudul: "Proses. Pembahasan Konsep ProsesKonsep Proses Penjadualan ProsesPenjadualan Proses Operasi-operasi pada ProsesOperasi-operasi pada Proses Cooperating."— Transcript presentasi:

1 Proses

2 Pembahasan Konsep ProsesKonsep Proses Penjadualan ProsesPenjadualan Proses Operasi-operasi pada ProsesOperasi-operasi pada Proses Cooperating ProcessesCooperating Processes Interprocess CommunicationInterprocess Communication Komunikasi pada Sistem Client-ServerKomunikasi pada Sistem Client-Server

3 Konsep Proses Proses : suatu program yang sedang dieksekusi dan memiliki status jalannya eksekusi yaitu minimal informasi-informasi sbb :Proses : suatu program yang sedang dieksekusi dan memiliki status jalannya eksekusi yaitu minimal informasi-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 dipertukarkanDalam literatur, istilah job dan proses dan task sering dapat dipertukarkan

4 Perkembangan Konsep Proses Konsep proses berkembang sejalan dengan modus operasi sistem komputer :Konsep proses berkembang sejalan dengan modus 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 di memori bisa terdapat beberapa program yang sedang dijalankan

5 Konsep Proses Monoprogramming Program oleh proses monitor (atau operator) di-load ke memori, dieksekusi (kontrol diberikan pada proses), dan selesai (sukses atau abort), kemudian kontrol dikembalikan ke proses monitor (atau operator)Program oleh proses monitor (atau operator) di-load ke memori, dieksekusi (kontrol diberikan pada proses), dan selesai (sukses atau abort), kemudian kontrol dikembalikan ke proses monitor (atau operator) Status proses direkam dan di-print hanya diperlukan untuk keperluan debuggingStatus proses direkam dan di-print hanya diperlukan untuk keperluan debugging

6 Konsep Proses Modern Karena adanya sejumlah program yang di-load dimemori dalam status sedang dijalankan, maka setiap saat jumlah aktual proses yang dieksekusi maksimum sama dengan jumlah CPUKarena adanya sejumlah program yang di-load dimemori dalam status sedang dijalankan, maka setiap saat jumlah aktual proses yang dieksekusi maksimum sama dengan jumlah CPU Untuk pembahasan konsep proses selanjutnya akan berdasarkan paradigma iniUntuk pembahasan konsep proses selanjutnya akan berdasarkan paradigma ini

7 Status Proses Selama eksekusinya proses berada dalam salah satu dari status-status berikut ini :Selama eksekusinya proses berada dalam salah 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

8 Diagram Status Proses

9 Process Control Block (PCB) Agar suatu proses yang running, lalu waiting/ready, dan kemudian running kembali dapat meneruskan proses tanpa kehilangan konteks maka diperlukan struktur data untuk menyimpan informasi dan status proses, disebut Process Control Block (PCB)Agar suatu proses yang running, lalu waiting/ready, dan kemudian running kembali dapat meneruskan proses tanpa kehilangan konteks maka diperlukan struktur data untuk menyimpan informasi dan status proses, disebut Process Control Block (PCB) Satu blok digunakan untuk satu proses dan isinya bisa bervariasi dari proses ke prosesSatu blok digunakan untuk satu proses dan isinya bisa bervariasi dari proses ke proses

10 Informasi dalam PCB Informasi Manajemen MemoriInformasi Manajemen Memori –Posisi program di memori, dll Informasi AccountingInformasi Accounting –Jumlah waktu eksekusi/elapse, time limit, account/job number, dll Informasi Status I/OInformasi Status I/O –List dari I/O device yang dialokasi proses, list file yang status sedang dibuka (baca/tulis), dll

11 Process Control Block (PCB)

12 Contoh tampilan Windows Task Manager

13 Contoh list proses di Linux

14 Proses-proses dari Memori Utama ke Register

15 CPU Switch dari Proses ke Proses

16 Scheduling Proses Dalam multiprogramming sejumlah proses yang running secara concurrent menggunakan resources : CPU dan devicesDalam multiprogramming sejumlah proses yang running secara concurrent menggunakan resources : CPU dan devices Jika hanya ada satu prosesor (uniprosesor) maka hanya satu proses setiap saat yang benar-benar running dan yang lainnya menunggu (waiting) dalam queue atau melakukan aktifitas I/OJika hanya ada satu prosesor (uniprosesor) maka hanya satu proses setiap saat yang benar-benar running dan yang lainnya menunggu (waiting) dalam queue atau melakukan aktifitas I/O

17 Queue untuk Scheduling Job queue berisi seluruh proses di dalam sistemJob queue berisi seluruh proses di dalam sistem Ready queue berisi proses-proses yang berada di memori dan siap (ready)/ menunggu (wait) untuk dieksekusiReady queue berisi proses-proses yang berada di memori dan siap (ready)/ menunggu (wait) untuk dieksekusi Device queue – proses-proses yang menunggu giliran penggunaan device tertentuDevice queue – proses-proses yang menunggu giliran penggunaan device tertentu Proses berpindah antara bermacam- macam queueProses berpindah antara bermacam- macam queue

18 Ready Queue dan I/O Device Queues

19 Representasi Process Scheduling = resource yang melayani queue = queue (ready queue & device queue)

20 Scheduler Long-term scheduler (job scheduler)Long-term scheduler (job scheduler) –Memilih proses yang mana yang harus dibawa ke dalam ready queue –Menentukan degree of multiprogramming –Lebih jarang (second, minute)  (may be slow) Short-term scheduler (CPU scheduler)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 Out antara memori dan swap-device untuk mengubah karakteristik dari proses dalam penggunaan memori atau I/O deviceMedium-term scheduler : swap proses In dan Out antara memori dan swap-device untuk mengubah karakteristik dari proses dalam penggunaan memori atau I/O device

21 Status Proses - Scheduler short-term scheduler long-term scheduler

22 Diagram Perpindahan Proses Baru terproses sebagian & di swap-out sementara Baru terproses sebagian & di swap-out sementara Ready queue I/O waiting queue I/O CPU short-term scheduler long-term scheduler medium term scheduler end Swap out Swap in new

23 Status Proses - Update

24 I/O vs CPU Bounds Proses-proses dapat dideskripsikan sbb :Proses-proses dapat dideskripsikan sbb : –I/O-bound process : proses-proses yang melakukan I/O dalam jumlah waktu yang lebih banyak daripada untuk komputasi; banyak terdapat CPU burst yang pendek –CPU-bound process : proses-proses yang melakukan lebih banyak komputasi; beberapa CPU burst yang panjang

25 Context Switch Saat CPU dipindahkan dari suatu proses ke proses yang lain sistem harus menyimpan status dari proses lama dan me-load status proses yang baruSaat CPU dipindahkan dari suatu proses ke proses yang lain sistem harus menyimpan status dari proses lama dan me-load status proses yang baru Tugas ini dilakukan oleh context switchTugas ini dilakukan oleh context switch Waktu untuk context-switch merupakan overhead (waktu sistem “terbuang” saat switching)Waktu untuk context-switch merupakan overhead (waktu sistem “terbuang” saat switching) Jumlah waktu ini bergantung pada dukungan HardwareJumlah waktu ini bergantung pada dukungan Hardware

26 Operasi pada Proses-proses Dalam multiprogramming akan ada proses yang baru mulai, dan ada proses yang selesai, disamping proses-proses yang sedang runningDalam multiprogramming akan ada proses yang baru mulai, dan ada proses yang selesai, disamping proses-proses yang sedang running Untuk dapat dimanage maka diperlukan mekanisme tertentu untuk menangani aktifitas create dan terminate prosesUntuk dapat dimanage maka diperlukan mekanisme tertentu untuk menangani aktifitas create dan terminate proses

27 Proses Creation Mekanisme “ayah-anak” atau “parent- child” : proses “parent” meng-create proses “child” yang juga dapat meng- create proses-proses lainnya membentuk pohon (tree) dari proses-prosesMekanisme “ayah-anak” atau “parent- child” : proses “parent” meng-create proses “child” yang juga dapat meng- create proses-proses lainnya membentuk pohon (tree) dari proses-proses Pada fase-fase awal : code dari user program di-load ke memori, control dialihkan ke program, proses berjalan hingga selesai/abort, dan control kembali ke monitorPada fase-fase awal : code dari user program di-load ke memori, control dialihkan ke program, proses berjalan hingga selesai/abort, dan control kembali ke monitor

28 Modus-modus saat Create Proses (1) Dalam hal resource sharingDalam 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 eksekusiDalam hal eksekusi –Parent & child dieksekusi secara concurrent –Parent menunggu hingga child terminate

29 Modus-modus saat Create Proses (2) Dalam hal address space :Dalam hal address space : –Child menduplikasi milik parent –Child memiliki suatu program yang akan di- load ke dalamnya Contoh UNIXContoh UNIX –System call fork() meng-create proses baru –System call execve() digunakan setelah itu untuk mengganti memory space dari proses dengan program yang baru

30 Proses Tree pada UNIX System

31 Process Termination suatu proses mengalami terminasi akibat inisiatif child atau parent suatu proses mengalami terminasi akibat inisiatif child atau parent

32 Terminasi karena Child Proses mengeksekusi statement terakhir yang juga meminta OS untuk mengahapusnya ( misalnya dengan exit() )Proses mengeksekusi statement terakhir yang juga meminta OS untuk mengahapusnya ( misalnya dengan exit() ) –Data output dihasilkan child kepada parent ( misalnya sebagai return dari fork() ) –Resource-resource proses didealokasi oleh OS

33 Terminasi karena Parent Parent mengakhiri eksekusi proses-proses child ( misalnya dengan abort() )Parent mengakhiri eksekusi proses-proses child ( misalnya dengan abort() ) –Child telah menggunakan jumlah resource melebihi dari yang telah dialokasi –Task yang diberikan pada child sudah tidak diperlukan lagi Parent telah exitParent telah exit –OS tidak mengijinkan child untuk berlanjut jika parent terminate –Cascading termination

34 Cooperating Processes Independent process tidak dapat dipengaruhi oleh eksekusi proses lainIndependent process tidak dapat dipengaruhi oleh eksekusi proses lain Cooperating process dapat mempengaruhi dan dipengaruhi oleh eksekusi proses lainCooperating process dapat mempengaruhi dan dipengaruhi oleh eksekusi proses lain Keuntungan proses berkooperasi :Keuntungan proses berkooperasi : –Sharing informasi : Menggunakan informasi(resource) yang sama untuk beberapa proses –Peningkatan kemampuan komputasi (Computation Speedup) : Suatu task tertentu bisa dipecah menjadi beberapa cooperating processes sehingga bisa dikerjakan secara paralel sehingga menjadi lebih cepat selesai –Modularitas : Pembuatan suatu sistem yang moduler dengan memecahkan fungsi-fungsi dari sistem tersebut menjadi beberapa proses atau thread –Convenience : User bisa dengan mudah mengerjakan sesuatu yang berbeda dalam waktu yang sama

35 Producer-Consumer Problem “Producer” merupakan proses yang menghasilkan informasi yang akan dikonsumsi oleh proses “Consumer”. Contoh :“Producer” merupakan proses yang menghasilkan informasi 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 bufferSebagai perantara digunakan suatu buffer –Unbound-buffer : tidak ada batas kapasitas –Bounded-buffer : buffer berukuran tetap Consumer harus menunggu jika buffer kosong dan Producer harus menunggu jika buffer penuh.Consumer harus menunggu jika buffer kosong dan Producer harus menunggu jika buffer penuh.

36 Bounded-Buffer – Shared-Memory Solution Shared dataShared data #define BUFFER_SIZE 10 typedef struct {... } item; item buffer[BUFFER_SIZE]; int in = 0; int out = 0; Hanya dapat menggunakan BUFFER_SIZE-1 elemenHanya dapat menggunakan BUFFER_SIZE-1 elemen

37 Bounded-Buffer – Producer Process item nextProduced; item nextProduced; while (1) { while (1) { while (((in + 1) % BUFFER_SIZE) == out) ; /* do nothing */ buffer[in] = nextProduced; in = (in + 1) % BUFFER_SIZE; }

38 Bounded-Buffer – Consumer Process item nextConsumed; while (1) { while (in == out) ; /* do nothing */ nextConsumed = buffer[out]; out = (out + 1) % BUFFER_SIZE; }

39 Ilustrasi Producer-Consumer Problem producer consumer 0 11 Ring-buffer 12 slots out in out in out Full Half-full Empty

40 Algoritma Producer-Consumer (Pascal) Producer :Producer :repeat… produce an item nextp … while in+1 mod n = out do no-op; buffer[in] := nextp; in := in+1 mod n; until false; Consumer : Consumer :repeat while in = out do no-op; nextc := buffer[out]; out := out+1 mod n; … consume the item in nextc … until false; Shared data Shared data var n; type item = …; var buffer : array [0..n-1] of item; in, out : 0..n-1; n := 0; out := 0;

41 Interprocess Communication (IPC) Menyediakan mekanisme yang memungkinkan proses-proses berkomunikasi dan mensinkronisasi aksi- aksinyaMenyediakan mekanisme yang memungkinkan proses-proses berkomunikasi dan mensinkronisasi aksi- aksinya Message System – komunikasi tanpa memerlukan penggunaan shared variabel milik proses userMessage System – komunikasi tanpa memerlukan penggunaan shared variabel milik proses user

42 Operasi-operasi IPC Operasi-operasi yang disediakanOperasi-operasi yang disediakan –Send(message) –Receive(message) Message dapat berukuran tetap atau variabelMessage 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

43 Communication Link Bila P dan Q hendak berkomunikasiBila P dan Q hendak berkomunikasi –mereka perlu menetapkan suatu communication link di antara mereka lalu melakukan tukar-menukar message melalui send/receive IPC dalam implementasinya memerlukan communication linkIPC dalam implementasinya memerlukan communication link –Secara fisik, contohnya shared memory, hardware bus –Secara logic, contohnya logical properties

44 Implementasi Menjawab pertanyaan-pertanyaan :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 receiveSatu arah : proses hanya send (atau receive) dan hanya satu yang receive

45 Metodologi Direct vs. Indirect CommunicationDirect vs. Indirect Communication Symmetric vs. Asymmetric CommunicationSymmetric vs. Asymmetric Communication Automatic vs. Explicit BufferingAutomatic vs. Explicit Buffering Send by Copy vs. Send by ReferenceSend by Copy vs. Send by Reference Fixed Sized vs. Variabel Sized MessageFixed Sized vs. Variabel Sized Message

46 Direct Communication Proses-proses harus menyebutkan pasangannya secara eksplisitProses-proses harus menyebutkan pasangannya secara eksplisit –send(Q, message) Q adalah receiverQ adalah receiver –receive(P, message) P adalah senderP adalah sender P P Q Q

47 Sifat-sifat Communication Link Direct Comm. Link ditetapkan secara otomatisLink ditetapkan secara otomatis Link diasosiasikan dengan pasangan proses yang sedang berkomunikasi tsbLink diasosiasikan dengan pasangan proses yang sedang berkomunikasi tsb Antara sepasang proses hanya bisa ada 1 linkAntara sepasang proses hanya bisa ada 1 link Link bisa satu arah tapi biasanya dua arahLink bisa satu arah tapi biasanya dua arah

48 Contoh Producer-Consumer Producer :Producer :repeat…Produce(nextp)… send(consumer, nextp) … until false; Consumer : Consumer :repeat… receive(produser, nextc) …Consume(nextc)… until false;

49 Kekurangan Direct Comm. Modularitas terbatasModularitas terbatas –Pengubahan nama proses perlu pengubahan di seluruh call –Perlu pemeriksaan jika terdapat nama yang sama

50 Indirect Communication Message-message dikirim dan diterima melalui suatu mailbox (juga disebut port)Message-message dikirim dan diterima melalui 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 AKirim message ke dalam mailbox A –receive(A, message) Terima message dari dalam mailbox ATerima message dari dalam mailbox A A P P Q Q

51 Sifat-sifat Communication Link Indirect Comm. Link ditetapkan saat dua proses men- share suatu mailboxLink ditetapkan saat dua proses men- share suatu mailbox Link dapat diasosiasikan dengan sejumlah prosesLink dapat diasosiasikan dengan sejumlah proses Setiap pasang proses bisa men-share beberapa linkSetiap pasang proses bisa men-share beberapa link Link bisa satu arah atau dua arahLink bisa satu arah atau dua arah

52 Operasi-operasi Indirect Comm. Proses memulai komunikasi dengan men- create mailboxProses memulai komunikasi dengan men- create mailbox Komunikasi berlangsung dengan pemanggilan perintah send & receive message melalui mailbox tersebutKomunikasi berlangsung dengan pemanggilan perintah send & receive message melalui mailbox tersebut Saat proses hendak exit maka proses men-destroy mailboxSaat proses hendak exit maka proses men-destroy mailbox

53 Masalah pada Mailbox Sharing Mailbox sharingMailbox sharing –P 1, P 2, and P 3 share mailbox A. –P 1, sends; P 2 dan P 3 receive. –Siapa yang mendapatkan message? SolusiSolusi –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 A P1P1 P1P1 P2P2 P2P2 P3P3 P3P3

54 Sinkronisasi Message passing dapat dibedakan menjadi :Message passing dapat dibedakan menjadi : –blocking –non-blocking Blocking adalah synchronousBlocking adalah synchronous Non-blocking adalah asynchronousNon-blocking adalah asynchronous Primitif send and receive dapat blocking or non-blocking.Primitif send and receive dapat blocking or non-blocking.

55 Buffering untuk Link 3 kemungkinan cara implementasi3 kemungkinan cara implementasi –Zero capacity – tidak ada buffer Sender harus menunggu sampai muncul receiver dan sebaliknya (sinkronisasi - rendezvous)Sender harus menunggu sampai muncul receiver dan sebaliknya (sinkronisasi - rendezvous) –Bounded capacity – bisa berisi max n message Sender harus menunggu jika penuhSender harus menunggu jika penuh –Unbounded capacity – tak terbatas Sender tidak pernah menungguSender tidak pernah menunggu

56 Komunikasi Client-Server SocketsSockets Remote Procedure CallsRemote Procedure Calls Remote Method Invocation (Java)Remote Method Invocation (Java)

57 Socket Socket didefinisikan sebagai suatu endpoint for communication.Socket didefinisikan sebagai suatu endpoint for communication. Sebuah programming interface ke OS yang memungkinkan proses untuk saling berkomunikasi ke proses lainyaSebuah programming interface ke OS yang memungkinkan proses untuk saling berkomunikasi ke proses lainya Eksekusi TCP/UDP berlangsung di level kernel, socket bertindak sebagai jembatan ke user space.Eksekusi TCP/UDP berlangsung di level kernel, socket bertindak sebagai jembatan ke user space. Merupakan gabungan IP address dan portMerupakan gabungan IP address dan port Socket :1625 menunjukkan bahwa port 1625 pada host Socket :1625 menunjukkan bahwa port 1625 pada host Komunikasi terdiri dari pasangan socket.Komunikasi terdiri dari pasangan socket.

58 Komunikasi antar Socket Contoh standard port :Contoh standard port : –TELNET menggunakan port 23 –FTP menggunakan port 21 –HTTP server menggunakan port 80

59 Ilustrasi Socket

60 Komunikasi Socket

61 Detail Komunikasi Socket

62 Sockets in Unix Server membuat socket menggunakan bind(), sehingga dapat dimanfaatkan oleh clients

63 Server for time of day (in Java) Public class Server { public static void main (String[], args) throws IOException { Socket client = null; // connection-oriented socket PrintWriter pout = null; ServerSocket sock = null; try { sock = new ServerSocket (5155); // now listen for connections while (true) { client = sock.accept (); // we have a connection pout = new PrintWriter (client.getOutputStream(), true); // write the Date to the socket pout.println( new Java.util.Date().toString()); pout.close(); client.close(); ….. New socket to connect to client To send data simply using println

64 Client for time of day Public class Client { public static void main (String[], args) throws IOException { InputStream in = null; BufferedReader bin = null; Socket sock = null; try { // make connection to socket sock = new Socket (“ ”, 5155); in = sock.getInputStream (); bin = new BufferedReader (new InputStreamReader (in)); String line; while ( (line = bin.readLine ()) != null) System.out.println (line); } ……. …..

65 Remote Procedure Calls (RPC) (1) Remote Procedure Call (RPC) membuat abstraksi pemanggilan prosedur antara proses dalam sistem jaringan (network)Remote Procedure Call (RPC) membuat abstraksi pemanggilan prosedur antara proses dalam sistem jaringan (network) Stubs – client-side proxy untuk procedure aktual pada serverStubs – client-side proxy untuk procedure aktual pada server Client-side stub mengalokasikan server dan mengirimkan marshalls parameterClient-side stub mengalokasikan server dan mengirimkan marshalls parameter Server-side stub menerima message, membuka parameter marshall, dan menjalankan procedure pada serverServer-side stub menerima message, membuka parameter marshall, dan menjalankan procedure pada server

66 Mekanisme RPC

67 Remote Procedure Calls (RPC) (2) Dalam sistem single-processor :Dalam sistem single-processor : –message send = pemanggilan fungsi –reply = function return –sender mengaktifkan receiver dengan message sebagai argument, dan sender wait untuk mendapatkan reply dari function return Skema RPC ini dilakukan juga pada proses-proses yang running di komputer berlainanSkema RPC ini dilakukan juga pada proses-proses yang running di komputer berlainan

68 Mekanisme IPC Sebelum mekanisme IPC digunakan, data harus di- packaging ke dalam format transimisi. Langkah ini dinamakan marshallingSebelum mekanisme IPC digunakan, data harus di- packaging ke dalam format transimisi. Langkah ini dinamakan marshalling Proxy bertanggung jawab untuk marshalling data, kemudian mengirimkan data dan meminta instans dari komponen (remote)Proxy bertanggung jawab untuk marshalling data, kemudian mengirimkan data dan meminta instans dari komponen (remote) Stub menerima request, unmarshall data, dan memanggil method yang diminta. Kemudian proses mengembalikan nilai yang diinginkanStub menerima request, unmarshall data, dan memanggil method yang diminta. Kemudian proses mengembalikan nilai yang diinginkan Contoh : COM (Component Object Model) - Microsoft, CORBA (Common Object Request Broker Architecture - OMG)Contoh : COM (Component Object Model) - Microsoft, CORBA (Common Object Request Broker Architecture - OMG)

69 Contoh RPC Server hosts subroutines which can be called from a client machineServer hosts subroutines which can be called from a client machine

70 Kelebihan RPC Relatif mudah digunakan :Relatif mudah digunakan : –Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local procedure. Sehingga pemrogram dpt berkonsentrasi pd software logic, tidak perlu memikirkan low level details seperti socket, marshalling & unmarshalling. Relatively portable :Relatively portable : –S/W developed using RPC is easier to be ported compared to sockets. Robust :Robust : –Sejak th 1980-an RPC telah banyak digunakan dalam pengembangan mission-critical application yg memerlukan scalability, fault tolerance, & reliability.

71 Kekurangan RPC Tidak fleksibel terhadap perubahan :Tidak fleksibel terhadap perubahan : –Static relationship between client & server at run-time. Berdasarkan prosedural /structured programming yang sudah ketinggalan jaman dibandingkan OOP.Berdasarkan prosedural /structured programming yang sudah ketinggalan jaman dibandingkan OOP.

72 Remote Method Invocation (RMI) Remote Method Invocation (RMI) adalah mekanisme Java yang sama dengan RPCRemote Method Invocation (RMI) adalah mekanisme Java yang sama dengan RPC RMI memungkinkan program Java pada satu komputer untuk memanggil suatu method pada remote objectRMI memungkinkan program Java pada satu komputer untuk memanggil suatu method pada remote object

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

74 END OF MODUL - 4


Download ppt "Proses. Pembahasan Konsep ProsesKonsep Proses Penjadualan ProsesPenjadualan Proses Operasi-operasi pada ProsesOperasi-operasi pada Proses Cooperating."

Presentasi serupa


Iklan oleh Google