• Tidak ada hasil yang ditemukan

BAHAN KULIAH SISTEM TERDISTRIBUSI

N/A
N/A
Protected

Academic year: 2017

Membagikan "BAHAN KULIAH SISTEM TERDISTRIBUSI"

Copied!
66
0
0

Teks penuh

(1)

Catatan Kuliah Sistem Terdistribusi

Ruddy J. Suhatril, SKom

(2)

D aft ar I si

1 Pendahuluan 6

1.1 Apakah yang dimaksud dengan Sist em Terdist ribusi ? . . . 6

1.2 Cont oh Sist em Terdist ribusi . . . 6

1.3 Keunt ungan dan Permasalahan Sist em Terdit ribusi . . . 8

1.3.1 Keunt ungan Sist em Terdist r ibusi . . . 8

1.3.2 Permasalahan dalam Sist em Terdist ribusi . . . 8

1.4 Karakt erist ik Sist em Terdist ribusi . . . 9

1.4.1 Transparency . . . 9

1.4.2 Communicat ion . . . 10

1.4.3 Performance and Scalabilit y . . . 11

1.4.4 Het erogeneit y . . . 11

1.4.5 Opennes . . . 12

1.4.6 Reliability dan Fault Tolerance . . . 13

1.4.7 Security . . . 14

1.5 Model dalam Sist em Terdist ribusi . . . 14

1.5.1 Archit ect ural M odels . . . 15

1.5.2 I nt eract ion Models . . . 17

1.5.3 Failure M odels . . . 18

2 K om unikasi 20 2.1 Sist em K omunikasi . . . 20

2.2 Network Prot ocol . . . 21

2.2.1 TCP dan UDP . . . 21

2.2.2 Komunikasi Request - Reply . . . 22

2.3 RPC dan RM I . . . 23

2.3.1 RMI (Remot e Met hod I nvocat ion) . . . 23

2.3.2 RPC (Remot e Procedure Call) . . . 29

(3)

DAFTAR ISI 3

3 Pr oses 30

3.1 Konsep Proses . . . 30

3.1.1 De…nisi Proses . . . 31

3.1.2 St at us Proses . . . 32

3.1.3 Proses Cont rol Block . . . 33

3.2 Thread . . . 35

3.2.1 Apa it u t hread ? . . . 35

3.2.2 Keunt ungan Thread . . . 38

3.2.3 User dan K ernel Thread . . . 39

3.2.4 Mult it hr eading Model . . . 40

3.2.5 Fork dan Exec Syst em Call . . . 42

3.2.6 Cancellat ion . . . 43

3.2.7 Penanganan Sinyal . . . 44

3.2.8 Thread Pools . . . 45

4 Sist em O per asi Ter dist r ibusi 47 4.1 Apakah sist em operasi t erdist ribusi ? . . . 47

4.1.1 Sist em Operasi t erdist r ibusi vs Sist em Operasi Jaringan 47 4.2 Fungsi Sist em Operasi Terdist ribusi . . . 49

4.2.1 Shared Resource . . . 49

4.2.2 Manfaat K omput asi . . . 49

4.2.3 Reliabilit as . . . 49

4.2.4 Komunikasi . . . 50

4.3 Komponen Sist em Operasi . . . 50

4.3.1 Arsit ekt ur Software . . . 51

4.3.2 Manajemen Berkas . . . 52

4.4 Proses . . . 53

5 File Ser v ice 55 5.1 Pengenalan . . . 55

5.1.1 Konsep Sist em Files t erdist ribusi . . . 56

5.1.2 Jenis File Service . . . 57

5.2 Komponen File Service . . . 58

5.2.1 Naming . . . 58

5.2.2 File Sharing Semant ik . . . 60

(4)

DAFTAR ISI 4

6 N am e Ser vice 62

6.1 Pengenalan . . . 62

6.1.1 Tujuan Penamaan . . . 63

6.1.2 Cont oh Penamaan yang memberikan kemampuan kea-manan . . . 63

6.1.3 Jenis Nama . . . 64

6.1.4 St rukt ur Nama . . . 65

(5)

D aft ar G ambar

1.1 Cont oh sist em t erdist ribusi, Aut omat ic Banking (t eller

ma-chine) Syst em . . . 7

1.2 Arsit ekt ur sofware pada sist em t erdist r ibusi . . . 12

1.3 Sist em Terdist ribusi pada dua t it ik . . . 13

1.4 Model arsit ekt ur client - server . . . 16

1.5 Model Proxy Server . . . 16

2.1 Model komunikasi dan implement asi layer pada sist em t erdis-t ribusi . . . 20

2.2 I lust rasi implement asi RMI . . . 24

2.3 I lust rasi implement asi RPC . . . 29

3.1 St at us proses . . . 33

3.2 Proses Cont rol Block . . . 35

3.3 St at us proses . . . 36

3.4 Thread . . . 37

3.5 Many t o one . . . 40

3.6 One t o one . . . 41

3.7 Many t o many . . . 42

4.1 Skema Sist em Operasi Jar ingan . . . 48

(6)

B ab 1

Pendahuluan

1.1

A pakah yan g d imaksud den gan Si st em Ter

-dist r ibu si ?

Sist em Terdist ribusi adalah Sekumpulan komput er ot onom yang t erhubung ke suat u jaringan, dimana bagi pengguna sist em t erlihat sebagai sat u kom-put er.Maksud komkom-put er ot onomi adalah walaupun komkom-put er t idak t erhubung ke jaringan, komput er t ersebut t et ap dat a berjalan.

Dengan menjalankan sist em t erdist ribusi, komput er dapat melakukan :

² Koordinasi Akt i…t as

² Berbagi sumber daya : hardware, soft ware dan dat a

Dengan de…nisi t ersebut diat as maka int ernet sesungguhnya bukanlah su-at u sist em t erdist ribusi, melainkan infrast rukt ur dimana sist em t erdist ribusi dapat di aplikasikan pada jaringan t ersebut .

1.2

Cont oh Sist em Ter d ist r ibu si

² Sist em Telepon - I SDN, PSTN

² Manajemen Jaringan

- Adminst rasi sesumber jaringan

(7)

BAB 1. PENDAHULUAN 7

Gambar~1.1: Cont oh sist em t erdist ribusi, Aut omat ic Banking (t eller ma-chine) Syst em

² Net work File Syst em ( NFS)

- Arsit ekt ur unt uk mengakses sist em …le melalui jaringan

² WWW

- Arsit ekt ur client / server yang dit erapkan di at as infrast rukt ur int ernet - Shared Resource (melalui URL)

(8)

BAB 1. PENDAHULUAN 8

1.3

K eunt ungan dan Per m asalahan Sist em Ter

-dit r ibu si

1.3.1

K eunt ungan Sist em Ter dist r ibusi

Keunt ungan yang didapat kan dalam menerapkan sist em t erdist ribusi, ant ara lain :

² Performance

Kumpulan dari beberapa prosesor akan memberikan kinerja yang lebih baik dari pada komput er yang t erpusat . Begit u juga kalau dilihat dar i sisi biaya.

² Dist ribut ion

² Reliabilit y ( Fault t olerance)

apabila salah sat u komponen t erjadi kerusakan, syst em t et ap dapat berjalan

² Increment al Growt h

Mudah dalam melakukan penambahan komput er/ komponen

² Sharing Dat a/ Resour ces

Berbagi dat a adalah salah sat u hal yang pokok pada kebanyakan ap-likasi.

1.3.2

Per m asalahan dalam Sist em Ter dist r ibusi

Kelemahan pada sist em t erdist ribusi adalah :

² Kesulit an dalam membangun perangkat lunak .

Kesulit an yang akan dihadapi ant ara lain : bahasa pemrogramman yang harus dipakai, sist em operasi dll.

² Masalah Jaringan

(9)

BAB 1. PENDAHULUAN 9

² Masalah Keamanan

Karena pada sist em t erdist r ibusi berbagi dat a/ sumber daya merupakan hal yang mut lak maka muncul masalah2 yang berkait an dengan kea-manan dat a dll.

1.4

K ar ak t er i st ik Sist em Ter di st r ib usi

Ada beberapa hal yang harus diperhat ikan dalam membangun sist em t er dis-t ribusi, yaidis-t u :

² Transparency (Kejelasan)

² Communicat ion (Komunikasi)

² Performance & Scalability (Kinerja dan Ruang Lingkup)

² Het er ogeneit y (Keanekaragaman)

² Opennes (Ket erbukaan)

² Reliabilit y & Fault Tolerancy (Kehandalan dan Toleransi Kegagalan)

² Securit y (Kemanan)

1.4.1

Transpar ency

A ccess t r anspar ency

Sumber daya lokal dan r emot e di akses dengan menggunakan operasi yang sama.

L ocat ion t r anspar ency

Pengguna sist em t idak t ahu menget ahui keberadaan hardware dan software (CPU,…le dan dat a).

M igr at ion ( M obilit y) t r anspar ency

(10)

BAB 1. PENDAHULUAN 10

Replicat ion t r anspar ency

Sist em bebas unt uk menambah …le at au sumber daya t anpa diket ahui oleh user (dalam rangkan meningkat kan kinerja)

Concur ency t r anspar ency

User t idak akan menget ahui keberadaan user lain dalam sist em, walaupun user t ersebut menggunakan sumber daya yang sama.

Failur e t r anspar ency

Aplikasi harus dapat menyelesaikan proses nya walaupun t erdapat kegagalan pada beberapa pada komponen sist em.

Per f or m ance t r anspar ency

Beban kerja yang ber variasi t idak akan menyebabkan t urunnya kinerja sis-t em, hal ini dapasis-t di capai dengan melakukan ausis-t omasis-t isasi kon…gurasi sis-t er-hadap perubahan beban.

1.4.2

Com municat ion

Komponen2 pada sist em t erdist ribusi harus melakukan komunikasi dalam suat u urut an. Sebagai berikut :

² Infrast rukt ur jaringan (int erkoneksi dan soft ware jaringan)

² Met ode dan Model komunikasi yang cocok

Met ode komunikasi : - Send

- Receive

- Remot e Procedure Call Model Komunikasi

(11)

BAB 1. PENDAHULUAN 11

- group mulit cast : t arget dari pesan yang dikirimkan adalah gabungan dari proses, yang berasal dari suat u grup.

1.4.3

Per form ance and Scalabilit y

Ada beberapa fakt or yang mempengaruhi kinerja (performance) dari pada sist em t erdist ribusi :

² Kinerja dari pada personal workst at ions

² Kecepat an infrast rukt ur komunikasi

² Fleksibilit as dalam membagi beban kerja : cont oh, apabila t erdapat pr osesor (workst at ion) yang idle maka dapat di alokasikan secara ot oma-t is unoma-t uk mengerjakan oma-t ugas2 user.

Scalabilit y

Sist em t et ap harus memperhat ikan efesiensi walaupun t erdapat penambahan secara signi…kan user at au sumber daya yang t erhubung :

² Cost (biaya) penambahan sumber daya (resources) harus reasonable.

² Penurunan kinerja (performance) diakibat kan oleh penambahan user at au sumber daya harus t er kont r ol.

1.4.4

H et er ogeneit y

Aplikasi yang t erdist ribusi biasa berjalan dalam keberagaman :

² Hardware : mainframes, workst at ions, PC’s, server dll.

² Soft ware : UNI X, MS Windows, I MB OS/ 2, LI NUX dll.

² Devices : t eller machine, robot , sist em manufact uring dll.

² Net work dan Prot ocol : Et hernet , FDDI , ATM , TCP/ I P dll

(12)

BAB 1. PENDAHULUAN 12

Gambar~1.2: Arsit ekt ur sofware pada sist em t erdist ribusi

1.4.5

Opennes

Salah sat u hal t erpent ing yang harus dimiliki oleh sist em t erdist ribusi adalah opennes (ket erbukaan) dan ‡exibility (‡eksibilit as) :

² Set iap layanan (services) harus dapat di akses oleh semua user.

² Mudah dalam implement asi, inst all dan debug services;

² User dapat membuat dan menginst all service yang t elah dibuat oleh si user t ersebut .

Aspek kunci pada opennes :

² Int erface dan Prot ocol yang st andard (seper t i prot okol komunikasi di int ernet )

(13)

BAB 1. PENDAHULUAN 13

Gambar~1.3: Sist em Terdist ribusi pada dua t it ik

1.4.6

R eliability dan Fault Toler ance

Salah sat u t ujuan dalam membangun sist em t erdist ribusi adalah memunkinkan unt uk melakukan improvisasi t erhadap kehandalan sist em.

A vailabilit y : kalau mesin mat i (down), sist em t et ap har us berjalan dengan jumlah layananan yang t ersisa.

² Dalam sist em t erdist ribusi componen yang sangat vit al (crit ical resour ces) berjumlah se minimal mungkin. Yang dimaksud dengan crit -ical resources adalah komponen yang harus ada unt uk menjalankan sist em t erdist ribusi.

² Masing - masing Software dan Hardware harus di replikasi : kalau t er-jadi kegagalan / er ror maka yang lain akan menangani.

Dat a dalam sist em t idak boleh hilang, copy dari …le t ersebut disimpan pada secara redundan pada server lain, t api t et ap harus dijaga konsist ensi dat anya.

Fault Toler ance : Sist em harusbisa mendet eksi kegagalan dan melakukan t indakan dengan dasar sebagai berikut :

(14)

BAB 1. PENDAHULUAN 14

² Fail Gracefully : membuat suat u ant isipasi t erhadap suat u kegagalan ke suat u pr osedur yang t elah di rencanakan dan memungkinkan unt uk menghent ikan pr oses dalam wakt u yang singkat t anpa menghilangkan informasi at au dat a.

1.4.7

Secur ity

² Con…dent ialit y :

keamanan t erhadap dat a yang di akses oleh user yang t idak di per-bolehkan (unaut horizes user)

² Int egr ty:

keamanan t erhadap kelengkapan dan aut ent ikasi dat a.

² Availability

Menjaga agar resource dapat selalu di akses.

Sist em t erdist ribusi harus memperbolehkan komunikasi ant ara progr am/ user/ resources pada comput er yang berbeda, maka resiko keamanan akan muncul apabila

memberlakukan fr ee access. Dan ada hal lain juga yang harus dijamin dalam sist em t erdist ribusi, yait u : penggunaan rerources yang t epat oleh user yang berlainan.

1.5

M odel dalam Sist em Ter di st r i busi

Model dalam sist em t erdist r ibusi :

² Model Arsit ekt ur (Archit ect ural M odels)

² Model I nt eraksi (I nt eract ion Models)

² Model K egagalan (Failure Models)

(15)

BAB 1. PENDAHULUAN 15

Set iap resource di at ur oleh program yang disebut dengan resource mager. Resource manager memberikan kemungkinan komunikasi int erface an-t ar resource.

Resource Managers dapat digeneralisasi sebagai proses, kalau sist em di design dengan sudut pandang object (Object Orient ed), resource dibungkus dalam suat u objek.

1.5.1

A r chit ect ural M odels

Bagaimana cara ker ja sist em t erdisribusi ant ara komponen - komponen sis-t em dan bagaimana komponen sis-t ersebu berada pada sissis-t em sis-t erdissis-t ribusi :

² Client - Server M odel

² Pr oxy Server

² Peer processes ( peer t o peer )

Client - Ser ver M odel

Sist em yang t erdiri dari kumpulan2 proses disebut dengan server , dan mem-berikan layanan kepada user yang disebut dengan client .

M odel client -server biasanya berbasiskan prot okol request / reply. Cont oh implement asi nya, at ara lain: RPC (Remot e Procedure Calling) dan RMI (Remot e M et hod I nvocat ion) :

² client mengirimkan request berupa pesan ke server unt uk mengakses suat u ser vice.

(16)

BAB 1. PENDAHULUAN 16

Gambar~1.4: Model arsit ekt ur client - server

(17)

BAB 1. PENDAHULUAN 17

Pr oxy Ser ver

Proxy server menyediakan hasil copy (replikasi) dari resource yang di at ur oleh server lain

Biasa nya pr oxy server di pakai unt uk menyimpan hasil copy web re-sour ces. Ket ika client melakukan request ke server, hal yang pert ama di-lakukan adalah memeriksa proxy server apakah yang dimit a oleh client t er-dapat pada proxy server.

Proxy server dapat dilet akkan pada set iap client at au dapat di pakai bersama oleh beberapa client .

Tujuannya adalah meningkat kan performancedan availibit y dengan mence-gah frekwensi akses ke server.

Peer Pr ocess

Semua proses (object ) mempunyai peran yang sama.

² Pr oses berint er aksi t anpa ada nya perbedaan ant ara client dan server .

² Pola komunikasi yang digunakan berdasarkan aplikasi yang digunakan.

² Merupakan model yang paling general dan ‡eksible.

1.5.2

I nt er act ion M odels

Unt uk int er aksi nya sist em t erdist r ibusi dibagi menjadi dua bagian :

² Synchrounous dist ribut ed syst em

² Asynchronous dist ribut ed syst em

Synchr onous D ist r ibut ed Syst em

Bat as at as dan bat as bawah wakt u pengeksekusian dapat di set .

² Pesan yang dikirim di t er ima dalam wakt u yang sudah di t ent ukan

² Flukt uasi ukuran ant ara wakt u local ber ada dalam suat u bat asan.

(18)

BAB 1. PENDAHULUAN 18

² Dalam synchronous dist ribut ed syst em t erdapat sat u wakt u global.

² Hanya synchronous dist ribut ed syst em dapat memprediksi perilaku (wakt u).

² Dalam synchornous dist ribut ed syst em dimungkinkan dan aman un-t uk menggunakan mekanisme un-t imeouun-t dalam mendekun-t eksi error aun-t au kegagalan dalam proses at au komunikasi.

A sy nchr onous D ist r ibut ed Syst em

Banyak sist em t erdist ribusi yang menggunakan model int eraksi ini (t ermasuk Int ernet )

² Tidak ada bat asan dalam wakt u pengkeksekusian.

² Tidak ada bat asan dalam delay t ransmission (penundaan pengiriman)

² Tidak ada bat asan t erhadap ‡ukt uasi wakt u local.

Asynchronous syst em secara parkt ek lebih banyak digunakan.

1.5.3

Failure M odels

Kegagalan apa saja yang dapat t erjadi dan bagaimana efek yang dit imbulkan ?

² Omission Faluires

² Arbit ar y Failures

² Timing Failur es

Kegagalan dapat t erjadi pada proses at au kanal komunikasi. Dan penye-babnya bisa berasal dari hardwar e at aupun soft ware.

(19)

BAB 1. PENDAHULUAN 19

Om m ision Failur es

Yang dimaksud dengan Ommision Failures adalah ket ika prosesor dan kanal komunikasi mengalami kegagalan unt uk melakukan hal yang seharusnya di-lakukan. Dikat akan t idak mempunyai ommision failur es apabila :

² Terjadi ket erlambat an (delayed) t et api akhir nya t et ap t ereksekusi.

² Sebuah aksi di eksekusi walaupun t erdapat kesalahan pada hasil.

Dengan synchronous syst em, ommision failures dapat didet eksi dengan t imeout s. Kalau kit a yakin bahwa pesan yang dikirim sampai, t imeout akan mengindikasikan bahwa proses pengiriman r usak, sepert i fail-st op behavior pada sist em.

A r bit ar y Failur es

Ini adalah kegagalan yang paling buruk dalam sist em. Tahapan proses at au komunikasi diabaikan at au yang t idak diharapkan t erjadi dieksekusi. Se-hingga hasil yang dihar apkan t idak t erjadi at au megeluarkan hasil yang salah.

T im ing Failur es

(20)

B ab 2

K omunikasi

2.1

Sist em K omu nikasi

Pada bab ini akan dibahas bagaimana komunikasi ant ara object 2 dalam sis-t em sis-t erdissis-t ribusi, khusus nya dengan menggunakan RMI (Remod Mesis-t hod Invokat ion) dan RPC (Remot e Procedure Call). RMI dan RPC berbasiskan met ode request dan r eply.

Gambar~2.1: Model komunikasi dan implement asi layer pada sist em t er dis-t ribusi

Request dan repy diimplement asikan pada prot okol jaringan.

(21)

BAB 2. KOMUNIKASI 21

2.2

N et wor k Pr ot ocol

Middlewaredan aplikasi t erdist ribusi di implement asikan diat as prot okol net -wor k.Prot ocol diimplement asikan dalam beberapa lapisan (layer).

Layer prot ocol pada I nt ernet

2.2.1

T CP dan U D P

T CP

TCP ( Transport Cont r ol Prot ocol) dan UDP (User Dat agram Prot ocol) adalah prot okol t ransport yang berada di at as lapisan Int ernet Prot ocol (I P) . TCP adalah prot ocol yang handal, TCP dapat memast ikan dat a yang dikirimkan sampai ke t ujuan begit u juga sebaliknya.

TCP menambahkan beberapa prosedur diat as layer int ernet pr ot ocol un-t uk memasun-t ikan reliabiliun-t as un-t ransporun-t daun-t a :

² Sequencing

Pada set iap t ransmisi dat a (paket ) diberi nomor urut . Sehingga pada t it ik t ujuan t idak ada segmen yang dit erima sampai semua segmen pada urut an bawah belum di t erima.

² Flow Cont rol

Pengirim t idak akan membanjiri penerima.Karena pengiriman didasarkan pada periode acknowledgment yang di t erima oleh pengirim yang be-rasal dari penerima.

(22)

BAB 2. KOMUNIKASI 22

Apabila segmen t idak mendapat kan acknowledgedari penerima sampai wakt u t imeout yang dit ent ukan t erlampaui maka pengirim akan men-girim ulang. Berdasarkan nomor urut penerima dat a dapat mendet eksi dan menolak kalau t erjadi duplikasi.

² Bu¤ering

Bu¤ering digunakan unt uk menyeimbangkan ant ar a pengirim dan pener-ima. Kalau bu¤er pada pener ima penuh, maka segmen yang dat ang akan put us, sehingga menyebabkan t idak ada acknowledge ke pengir im dan pengirim akan melakukan t ransmot ulang.

² Checksum

Set iap segment membawa checksum. Apabila checksum segmen yang di t erima t idak sesuai maka paket dat a t ersebut akan di drop (dan kemudian akan di t ransmit ulang)

U DP

UDP t idak memberikan garansi sepert i halnya yang di berikan oleh TCP. ² UDP t idak memberikan garansi t erhadap pengiriman dat a

Pada Int er net Prot ocol paket dat a dapat drop karena suat u hal con-t ohnya jaringan yang rusak, UDP con-t idak mempunyai mekanisme uncon-t uk menanggulangi hal t ersebut .

² Kalau ingin menggunakan UDP sebagai prot ocol pengir iman yang han-dal, maka mekanismekehandalan yang diinginkan di lakukan pada layer aplikasi.

2.2.2

K omunikasi R equest - R eply

(23)

BAB 2. KOMUNIKASI 23

Client melakukan :

1. M engirim (request ) pesan ke server 2. M enerima hasil (reply dari server) Server melakukan :

1. Penerimaan pesan (request ) dari client 2. M engeksekusi permint aan dari client 3. M engirim hasil ( reply) ke client .

2.3

R P C dan R M I

Tujuan dar i RPC dan RMI dibuat bagi programmer, agar comput er yang t erdist ribusi t erlihat sepert i comput er yang t er pusat . Dan berguna unt uk melihat sist em t erdist ribusi dari sisi pemrogramman.

RPC dan RM I ber ada pada Middleware

2.3.1

R M I ( R em ot e M et hod I nvocat ion)

Berikut ilust rasi yang t erjadi pada met ode RMI : Programmer pada client menulis :

(24)

———————————————————————-BAB 2. KOMUNIKASI 24

server_ id.service(values_ t o_ server,result _ argument s); ———————————————————————-Pada sisi server mempunyai fungsi sebagai berikut :

public service(in t ype1 arg fr om client ; out type2 arg t o_ client ) { ————} ;

Programmer pada client t idak menget ahui bahwa reply message yang didapat kan berasal dari server yang dikirim melalui jaringan.

Gambar~2.2: I lust rasi implement asi RM I

Komponen2 dalam RMI (gambar 2.2):

² Object A (client ) : memint a layanan

² Object B (server) : menghant arkan layanan

² Pr oxy for B

(25)

BAB 2. KOMUNIKASI 25

- Proxy adalah perwakilan objek yang berada pada r emot e, dengan kat a lain ket ika t er jadi invokasi dari A ke B dit angani seolah -olah hanya mengakses Proxy B.

- Ket ika invokasi t erjadi proxy menggunakan met ode marshals un-t uk membungkus pesan yang akan dikirim ke server. Dan seun-t elah menerima hasil dari server proxy menggunakan met ode unmarshal (membuka bungkus) unt uk kemudian dit eruskan ke client (Object A)

² Skelet on for object B

- Pada sisi server, t erdapat object kerangka (skelet on) yang berhubun-gan ke class, kalau object pada class t ersebut dapat diakses oleh RMI .

- Skelet on menerima pesan kemudian melakukan unmarshal dan meneruskan ke met hod object yang dit uju. Dan kemudian menunggu hasil dar i object B dan kemudian membungkus hasil ( unmarshal) dan ke-mudian dikirimkan ke client (Objec A).

- Ada bagian dari skelet on B yang disebut dengan dispat cher. dis-pat cher menerima request dari communicat ion module, dan ke-mudian mengident i…kasi invokasi dan mengarahkan permint aan ke corresponding met hod ( met hod pada skelet on yang berfungsi unt uk berkomunikasi dengan object ).

² Communicat ion Modul (M odul Komunikasi)

-Communicat ion modul pada client at au server bert anggung jawab dalam pert ukaran pesan yang dilakukan melalui met ode request dan reply.

² Remot e Reference Module

- Bagian ini bert ugas unt uk ment erjemahkan ant ara referensi objek lokal dan remot e. Proses berkomunikasi ant ara mer eka disimpan dalam remot e object t able.

(26)

BAB 2. KOMUNIKASI 26

Object A dan object B dipunyai oleh aplikasi (berada pada Ap-plicat ion Layer)

Remot e Reference Modul dan Communicat ion modul dimiliki oleh middleware.

Pr oxy B dan Sekelet on B ber ada ant ara middleware dan aplikasi yang di generat e oleh middleware.

Langkah2 proses dengan RM I :

² Urut an pemanggilan pada object client mengakt ifkan met hod pada pr oxy yang akan berhubungan dengan invoked met hod (met hod yang t er-invokasi) pada object B.

² Kemudian met hod yang ada pada proxy melakukan pembungkusan ar-gumen menjadi suat u pesan (marshalling) dan meneruskan ke modul komunikasi.

² Berdasarkan pada remot e reference yang didapat dari remot e reference modul,modul komunikasi memulai request dan reply prot ocol melalui net work.

² Modul komunikasi pada server menerima request dari client . Kemudian berdasarkan referensi lokal yang dit erima dari remot e r eference modul maka akan mengakt ifkan met hod unt uk berkomunikasi dengan object pada skelet on B (corresponding met hod).

² Met hod pada skelet on meng-ekst rak (unmarshalling) argumen pada pe-san yang di t erima dan mengakt ifkan corresponding met hod (met hod yang berfungsi unt uk melakukan komunikasi) pada object B (ser ver).

² Set elah menerima hasil dari object B, met hod dari skelet on akan mem-bungkushasil t ersebut dalam sebuah pesan (marshalling) dan meneruskan pesan yang sudah dibungkus ke modul komunikasi.

² Modul komunikasi mengrimkan pesan t ersebut keclient melalui jaringan.

(27)

BAB 2. KOMUNI KASI 27

² Kemudian proxy meng-ekt rak hasil ( unmarshalling) dan meneruskan ke object A (client ).

Cont oh RMI dengan menggunakan Java RM I :

Server object akan mencet ak ” Hello Ruddy” ke layar & mengembalikan pesan ke klien

Pada sisi server :

² Server Met hod

i mpor t j ava. r mi . * ;

publ i c i nt er f ace Si mpl eI nt er f ace ext ends Remot e {

St r i ng pr i nt Message( St r i ng name) t hr ows Remot eEx cept i on; }

² Server Object

i mpor t j ava. r mi . * ;

i mpor t j ava. r mi . ser ver . * ;

publ i c cl ass Si mpl eSer ver ext ends Uni cast Remot eObj ect i mpl ement s Si mpl eI nt er f ac publ i c Si mpl eSer ver ( ) t hr ows Remot eExc ept i on { s uper ( ) ; }

publ i c St r i ng pr i nt Mess age( St r i ng name) t hr ows Remot eExcept i on { Sys t em. out . pr i nt l n( name) ;

r et ur n( Hel l o + name) ; }

publ i c st at i c voi d mai n( St r i ng ar gs[ ] ) {

Sys t em. s et Sec ur i t y Manager ( new RMI Secur i t yManager ( ) ) ; t r y {

Si mpl eSer ver newSer ver = new Si mpl eSer ver ( ) ; Sys t em. out . pr i nt l n( Si mpl eSer ver at t empt i ng t o bi nd t o t he r egi st r y) ;

Nami ng. r ebi nd( / / r uddy. i nf o: 30010/ Si mpl eSer v er , newSer ver ) ;

(28)

BAB 2. KOMUNIKASI 28

Sys t em. out . pr i nt l n( Si mpl eSer ver er r or : + e. get Message( ) ) ; e. pr i nt St ackTr ace( ) ;

} } }

Pada sisi client :

i mpor t j ava. r mi . * ;

publ i c cl ass Si mpl eCl i ent {

pr i vat e st at i c SI mpl eI nt er f ace ser ver = nul l ; publ i c s t at i c voi d mai n( St r i ng ar gs[ ] ) { t r y {

ser ver = ( Si mpl eI nt er f ace)

Nami ng. l ookup( / / r uddy. i nf o: 30010/ Si mpl eSer v er ) ; Sys t em. out . pr i nt l n( ser v er . pr i nt Message( Ruddy) ) ; } c at ch( Except i on e) {

Sys t em. out . pr i nt l n( Si mpl eCl i ent er r or : + e. get Message( ) ) ; e. pr i nt St ackTr ace( ) ;

(29)

BAB 2. KOMUNIKASI 29

2.3.2

R PC (R em ot e P r ocedur e C all)

Proses nya kurang lebih sama dengan RMI. Kalau RMI kit a mengenal Proxy dan Skelet on, pada RPC dikenal dengan St ub (Client St ub dan Server St ub) .

Gambar~2.3: I lust rasi implement asi RPC

(30)

B ab 3

Pr oses

3.1

K onsep P r oses

Jika kit a berdiskusi mengenai sist em operasi, maka akan t imbul sebuah pert anyaan yait u mengenai ist ilah apa yang t epat unt uk menyebut semua kegiat an yang dilakukan oleh CPU. Sist em bat ch mengeksekusi jobs seba-gaimana suat u sist em t ime-share menggunakan program pengguna (user pro-grams) at au t asks. Bahkan pada sist em dengan pengguna t unggal pun, sepert i pada M icrosoft Windows dan Macint osh OS, seorang pengguna mampu menjalankan beberapa program pada saat yang sama, cont ohnya Word Proces-sor, Web Browser, dan paket e-mail. Bahkan jika pengguna hanya dapat menjalankan sat u program pada sat u wakt u, sist em operasi perlu unt uk men-dukung akt ivit as program int ernalnya sendiri, sepert i managemen memori. Dalam banyak hal, seluruh akt ivit as ini adalah serupa, maka kit a menyebut seluruh program it u proses-proses.

I st ilah job dan proses digunakan hampir dapat dipert ukarkan pada t ulisan ini. Walau kami sendiri lebih menyukai ist ilah proses, banyak t eori dan t er-minologi sist em operasi dikembangkan selama suat u wakt u ket ika akt ivit as ut ama sist em oper asi adalah job pr ocessing. Akan membingungkan jika kit a menghindari penggunaan ist ilah yang t elah dit erima oleh masyarakat yang memasukkan kat a job hanya karena proses memiliki ist ilah job sebagai peng-gant i at au pendahulunya.

(31)

BAB 3. PROSES 31

3.1.1

D e…nisi P r oses

Secara t idak langsung, proses merupakan progr am yang sedang dieksekusi. Menurut Silberschat z, suat u proses adalah lebih dari sebuah kode program, yang t erkadang disebut t ext sect ion. Proses juga mencakup pr ogram count er , yait u sebuah st ack unt uk menyimpan alamat dari inst ruksi yang akan diek-sekusi selanjut nya dan regist er. Sebuah proses pada umumnya juga memi-liki sebuah st ack yang berisikan dat a-dat a yang dibut uhkan selama proses dieksekusi sepert i paramet er met oda, alamat ret urn dan variabel lokal, dan sebuah dat a sect ion yang menyimpan variabel global.

Sama halnya dengan Silberschat z, Tanenbaum juga berpendapat bahwa pr oses adalah sebuah program yang dieksekusi yang mencakup program count er, regist er, dan variabel di dalamnya.

Kami t ekankan bahwa program it u sendiri bukanlah sebuah proses; suat u pr ogram adalah sat u ent it as pasif; sepert i isi dari sebuah berkas yang dis-impan didalam disket . Sedangkan sebuah proses dalam suat u ent it as akt if, dengan sebuah program count er yang menyimpan alamat inst ruksi selanjut yang akan dieksekusi dan seperangkat sumber daya ( resource) yang dibu-t uhkan agar sebuah proses dapadibu-t dieksekusi.

Unt uk mempermudah kit a membedakan program dengan proses, kit a akan menggunakan analogi yang diberikan oleh Tanenbaum. Misalnya ada seorang t ukang kue yang ingin membuat kue ulang t ahun unt uk anaknya. Tukang kue t ersebut memiliki resep kue ulang t ahun dan bahan-bahan yang dibut uhkan unt uk membuat kue ulang t ahun di dapurnya seper t i: t epung t erigu, t elur, gula, bubuk vanila dan bahan-bahan lainnya. Dalam analogi ini, resep kue ulang t ahun adalah sebuah program, si t ukang kue t ersebut adala prosesor ( CPU), dan bahan-bahan unt uk membuat kuet ersebut adalah dat a input . Sedangkan proses-nya adalah kegiat an sang t ukang kue unt uk membaca resep, mengolah bahan, dan memanggang kue t ersebut .

(32)

BAB 3. PROSES 32

3.1.2

St at us P r oses

Bila sebuah proses dieksekusi, maka st at usnya akan berubah-ubah. St a-t us dari sebuah proses mencerminkan aka-t ivia-t as aa-t au keadaan dar i proses ia-t u sendiri. Berikut ini adalah st at us-st at us yang mungkin dimiliki sebuah proses menurut Tanenbaum:

² Running: pada saat menggunakan CPU pada suat u wakt u.

² Ready: proses diberhent ikan sement ara karena menunggu proses lain unt uk dieksekusi.

² Blocked: t idak dijalankan sampai event dari luar, yang berhubungan dengan proses t ersebut t erjadi.

Sedangkan menurut Silberschat z, t erdapat lima macam jenis st at us yang mungkin dimiliki oleh suat u proses:

² New: st at us yang dimiliki pada saat proses baru saja dibuat .

² Running: st at us yang dimiliki pada saat inst ruksi-inst ruksi dari sebuah pr oses dieksekusi.

² Wait ing: st at us yang dimiliki pada saat proses menunggu suat u event (cont ohnya: proses I/ O).

² Ready: st at us yang dimiliki pada saat proses siap unt uk dieksekusi oleh pr osesor.

² Terminat ed: st at us yang dimiliki pada saat proses t elah selesai diek-sekusi.

Nama-nama t ersebut adalah berdasar opini, ist ilah t ersebut bervariasi di sepanjang sist em operasi. Keadaan yang mereka gambarkan dit emukan pada seluruh sist em. Namun, pada sist em operasi t ert ent u lebih baik menggam-barkan keadaan/ st at us proses. Pent ing unt uk diket ahui bahwa hanya sat u pr oses yang dapat berjalan pada prosesor mana pun pada sat u wakt u. Na-mun, banyak proses yang dapat berst at us ready at au wait ing. Keadaan diagram yang ber kait an dengan keadaan t ersebut dijelaskan pada gambar 3.1

(33)
[image:33.612.137.475.121.283.2]

BAB 3. PROSES 33

Gambar~3.1: St at us proses

² Jika program t elah selesai dieksekusi maka st at us dari proses t ersebut akan berubah menjadi Terminat ed.

² Jika wakt u yang disediakan oleh OS unt uk proses t ersebut sudah habis maka akan t erjadi int errupt dan proses t ersebut kini berst at us Ready.

² Jika suat u event t erjadi pada saat proses dieksekusi (sepert i ada request I/ O) maka proses t ersebut akan menunggu event t ersebut selesai dan pr oses berst at us Wait ing.

3.1.3

Pr oses Cont r ol B lock

Tiap proses digambarkan dalam sist em operasi oleh sebuah process con-t rol block (PCB) - juga disebucon-t sebuah concon-t r ol block. Sebuah PCB dicon-t un-jukkan dalam Gambar 3.2. PCB berisikan banyak bagian dari infor masi yang berhubungan dengan sebuah proses yang spesi…k, t ermasuk hal-hal di bawah ini:

² St at us proses: st at us mungkin, new, ready, running, wait ing, halt ed, dan juga banyak lagi.

(34)

BAB 3. PROSES 34

² CPU regist er: Regist er bervariasi dalam jumlah dan jenis, t ergant ung pada rancangan komput er. Regist er t ersebut t ermasuk accumulat or , regist er indeks, st ack point er, general-purposes regist er, dit ambah code informat ion pada kondisi apa pun. Besert a dengan program count er , keadaan/ st at us informasi harus disimpan ket ika gangguan t erjadi, un-t uk memungkinkan proses un-t ersebuun-t berjalan/ bekerja dengan benar seun-t e-lahnya (lihat Gambar 3.3T iap prosesdigambarkan dalam sist em operasi oleh sebuah process cont rol block (PCB) - juga disebut sebuah cont rol block. Sebuah PCB dit unjukkan dalam Gambar 3-2. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesi…k, t ermasuk hal-hal di bawah ini:

² St at us proses: st at us mungkin, new, ready, running, wait ing, halt ed, dan juga banyak lagi.

² Pr ogram count er: suat u st ack yang berisi alamat dari inst ruksi selan-jut nya unt uk dieksekusi unt uk proses ini.

² CPU regist er: Regist er bervariasi dalam jumlah dan jenis, t ergant ung pada rancangan komput er. Regist er t ersebut t ermasuk accumulat or , regist er indeks, st ack point er, general-purposes regist er, dit ambah code informat ion pada kondisi apa pun. Besert a dengan program count er , keadaan/ st at us informasi harus disimpan ket ika gangguan t erjadi, un-t uk memungkinkan proses un-t ersebuun-t berjalan/ bekerja dengan benar seun-t e-lahnya (lihat Gambar 3.3) .

² Informasi managemen memori: I nformasi ini dapat t ermasuk suat u in-formasi sebagai nilai dari dasar dan bat as regist er, t abel page/ halaman, at au t abel segmen t ergant ung pada sist em memori yang digunakan oleh sist em operasi (lihat Bab 5).

² Informasi pencat at an: I nformasi ini t ermasuk jumlah dari CPU dan wakt u r iil yang digunakan, bat as wakt u, jumlah akun jumlah job at au pr oses, dan banyak lagi.

² Informasi st at us I/ O: Informasi t ermasuk daft ar dari perangkat I / O yang di gunakan pada proses ini, suat u daft ar berkas-berkasyang sedang diakses dan banyak lagi.

(35)
[image:35.612.247.363.121.352.2]

BAB 3. PROSES 35

Gambar~3.2: Proses Cont rol Block

3.2

T hr ead

3.2.1

A pa it u t hr ead ?

Thread merupakan unit dasar dari penggunaan CPU, yang t erdiri dari T hread_ ID, pr ogram count er , regist er set , dan st ack. Sebuah t hread berbagi code sect ion, dat a sect ion, dan sumber daya sist em operasi dengan Thread lain yang dim-iliki oleh proses yang sama. Thread juga sering disebut light weight process. Sebuah proses t radisional at au heavyweight process mempunyai t hread t ung-gal yang berfungsi sebagai pengendali. Perbedaan ant ara proses dengan t hread t unggal dengan proses dengan t hread yang banyak adalah proses den-gan t hread yang banyak dapat mengerjakan lebih dari sat u t ugas pada sat u sat uan wakt u.

(36)
[image:36.612.161.452.226.532.2]

gam-BAB 3. PROSES 36

(37)
[image:37.612.158.449.127.319.2]

BAB 3. PROSES 37

Gambar~3.4: Thread

bar at au t ulisan sedangkan t hread yang lain berfungsi sebagai penerima dat a dari net work.

Kadang kala ada sit uasi dimana sebuah aplikasi diper lukan unt uk men-jalankan beberapa t ugas yang serupa. Sebagai cont ohnya sebuah web server dapat mempunyai rat usan klien yang mengaksesnya secara concurrent . Kalau web server berjalan sebagai proses yang hanya mempunyai t hread t unggal maka ia hanya dapat melayani sat u klien pada pada sat u sat uan wakt u. Bila ada klien lain yang ingin mengajukan permint aan maka ia harus menunggu sampai klien sebelumnya selesai dilayani. Solusinya adalah dengan membuat web server menjadi mult i-t hreading. Dengan ini maka sebuah web server akan membuat t hread yang akan mendengar permint aan klien, ket ika per-mint aan lain diajukan maka web ser ver akan mencipt akan t hread lain yang akan melayani permint aan t ersebut .

(38)

BAB 3. PROSES 38

unt uk melakukan koneksi ke server dan t hread lain yang per t amanya t idur selamabeberap wakt u (misalnya 60 det ik) kemudian bangun. Ket ika wakt u t idurnya habis maka ia akan bangun dan memeriksa apakah t hread yang melakukan koneksi ke server masih mencoba unt uk melakukan koneksi ke server, kalau t hread t ersebut masih dalam keadaan mencoba unt uk melakukan koneksi ke server maka ia akan melakukan int errupt dan mencegah t hread t ersebut unt uk mencoba melakukan koneksi ke server.

3.2.2

K eunt ungan T hr ead

Keunt ungan dari program yang mult it hreading dapat dipisah menjadi empat kat egori:

1. Responsi: Membuat aplikasi yang int erakt if menjadi mult it hreading da-pat membuat sebuah program t erus berjalan meskipun sebagian dar i pr ogram t ersebut diblok at au melakukan operasi yang panjang, karena it u dapat meningkat kan respons kepada pengguna. Sebagai cont ohnya dalam web browser yang mult it hreading, sebuah t hread dapat melayani permint aan pengguna sement ara t hread lain berusaha menampilkan image.

2. Ber bagi sumber daya: t hread berbagi memori dan sumber daya dengan t hread lain yang dimiliki oleh proses yang sama. Keunt ungan dar i berbagi kode adalah mengizinkan sebuah aplikasi unt uk mempunyai beberapa t hread yang berbeda dalam lokasi memori yang sama.

3. Ekonomi: dalam pembuat an sebuah proses banyak dibut uhkan pen-galokasian memori dan sumber daya. Alt ernat ifnya adalah dengan penggunaan t hread, karena t hread berbagi memori dan sumber daya pr oses yang memilikinya maka akan lebih ekonomis unt uk membuat dan cont ext swit ch t hread. Akan susah unt uk mengukur perbedaan wakt u ant ara proses dan t hread dalam hal pembuat an dan pengat u-ran, t et api secara umum pembuat an dan pengat uran proses lebih lama dibandingkan t hread. Pada Solaris, pembuat an proses lebih lama 30 kali dibandingkan pembuat an t hread, dan cont ext swit ch proses 5 kali lebih lama dibandingkan cont ext swit ch t hread.

(39)

BAB 3. PROSES 39

t hread dapat berjalan secara parar el di at as processor yang berbeda. Pada arsit ekt ur processor t unggal, CPU menjalankan set iap t hread se-cara ber gant ian t et api hal ini berlangsung sangat cepat sehingga men-cipt akan ilusi pararel, t et api pada kenyat aannya hanya sat u t hread yang dijalankan CPU pada sat u-sat uan wakt u (sat u-sat uan wakt u pada CPU biasa disebut t ime slice at au quant um).

3.2.3

U ser dan K ernel T hr ead

U ser T hr ead

User t hread didukung di at as kernel dan diimplement asi oleh t hread library pada user level. Library menyediakan fasilit as unt uk pembuat an t hread, penjadualan t hread, dan managemen t hread t anpa dukungan dari kernel. Karena ker nel t idak menyadari user-level t hread maka semua pembuat an dan penjadualan t hread dilakukan di user space t anpa int ervensi dari kernel. Oleh karena it u, user-level t hread biasanya cepat unt uk dibuat dan diat ur . Tet api user t hread mempunyai kelemahan yait u apabila kernelnya merupakan t hread t unggal maka apabila salah sat u user-level t hread menjalankan block-ing syst em call maka akan mengakibat kan seluruh proses diblok walau pun ada t hread lain yang dapat jalan dalam aplikasi t ersebut . Cont oh user-t hread libraries adalah POSI X Pt hreads, M ach C-t hreads, dan Solaris t hreads.

K er nel T hr ead

(40)
[image:40.612.153.455.126.330.2]

BAB 3. PROSES 40

Gambar~3.5: Many t o one

3.2.4

M ult it hreading M odel

M any t o one M odel

Many-t o-One model memet akan banyak user-level t hread kesat u kernel t hread. Pengat uran t hread dilakukan di user space, oleh karena it u ia e…sien t et api ia mempunyai kelemahan yang sama dengan user t hread. Selain it u karena hanya sat u t hread yang dapat mengakses t hread pada suat u wakt u maka mul-t iple mul-t hread mul-t idak dapamul-t berjalan secar a pararel pada mulmul-t iprocessor . User-level t hread yang diimplement asi pada sist em operasi yang t idak mendukung kernel t hr ead menggunakan Many-t o-One model.

One t o one M odel

(41)
[image:41.612.153.457.125.315.2]

BAB 3. PROSES 41

Gambar~3.6: One t o one

aplikasi maka implment asi dari model ini membat asi jumlah t hread yang dibat asi oleh sist em. Cont oh sist em oper asi yang mendukung One-t o-One model adalah Windows NT dan OS/ 2.

M any t o m any M odel

(42)
[image:42.612.152.458.126.336.2]

BAB 3. PROSES 42

Gambar~3.7: Many t o many

call maka kernel dapat menjadualkan t hread lain unt uk melakukan eksekusi. Cont oh sist em operasi yang mendukung model ini adalah Solaris, I RI X, dan Digit al UNI X.

3.2.5

For k dan Exec Syst em C all

Ada dua kemungkinan dalam syst em UNIX jika fork dipanggil oleh salah sat u t hr ead dalam proses:

² Semua t hread diduplikasi.

² Hanya t hread yang memanggil fork.

Kalau t hread memanggil exec Syst em Call maka program yang dispesi-…kasi di paramet er exec akan menggant i keseluruhan proses t ermasuk t hread dan LWP.

(43)

BAB 3. PROSES 43

dibut uhkan, karena program yang dispesi…kasi di paramet er exec akan meng-gant i seluruh proses. Pada kasus ini cukup hanya mengmeng-gant i t hread yang memanggil fork. Tet api jika proses yang t erpisah t idak memanggil exec sesu-dah fork maka proses yang t erpisah t er sebut hendaknya menduplikasi selur uh t hread.

3.2.6

Cancellat ion

Thread cancellat ion adalah t ugas unt uk memberhent ikan t hread sebelum ia menyelesaikan t ugasnya. Sebagi cont ohnya jika dalam program java kit a hendak memat ikan Java Virt ual Machine (JVM) maka sebelum JVM-nya dimat ikan maka seluruh t hread yang berjalan dihent ikan t erlebuh dahulu. Thread yang akan diberhent ikan biasa disebut t ar get t hread.

Pemberhent ian t arget t hread dapat t erjadi melalui dua cara yang berbeda:

² Asynchronous cancellat ion: suat u t hread seket ika it u juga memberhen-t ikan memberhen-t argememberhen-t memberhen-t hread.

² Defered cancellat ion: t arget t hread secara perodik memeriksa apakah dia harus berhent i, cara ini memper bolehkan t arget t hread unt uk mem-berhent ikan dirinya sendiri secara t erurut .

Hal yang sulit dari pemberhent ian t hread ini adalah ket ika t erjadi sit u-asi dimana sumber daya sudah dialoku-asikan unt uk t hread yang akan diber-hent ikan. Selain it u kesulit an lain adalah ket ika t hread yang diberdiber-hent ikan sedang meng-updat e dat a yang ia bagi dengan t hread lain. Hal ini akan men-jadi masalah yang sulit apabila digunakan asynchronous cancellat ion. Sist em operasi akan mengambil kembali sumber daya dari t hread yang diberhent ikan t et api seringkali sist em operasi t idak mengambil kembali semua sumber daya dari t hread yang diberhent ikan.

(44)

BAB 3. PROSES 44

Pada umumnya sist em operasi memperbolehkan proses at au t hread un-t uk diberhenun-t ikan secara asynchr onous. Teun-t api Pun-t hread API menyediakan deferred cancellat ion. Hal ini berar t i sist em operasi yang mengimplemen-t asikan Pmengimplemen-t hread API akan mengizinkan deferred cancellamengimplemen-t ion.

3.2.7

Penanganan Sinyal

Sebuah sinyal digunakan di sist em UNI X unt uk not ify sebuah proses kalau suat u perist iwa t elah t erjadi. Sebuah sinyal dapat dit er ima secara synchro-nous at au asynchrosynchro-nous t ergant ung dari sumber dan alasan kenapa perist iwa it u memberi sinyal.

² Semua sinyal (asynchronous dan synchronous) mengikut i pola yang sama:

² Sebuah sinyal dimunculkan oleh kejadian dari suat u persit iwa.

² Sinyal yang dimunculkan t ersebut dikirim ke proses.

² Sesudah dikirim, sinyal t ersebut harus dit angani.

Cont oh dari sinyal synchronous adalah ket ika suat u proses melakukan pengaksesan memori secarai ilegal at au pembagian dengan nol, sinyal dimunculkan dan dikirim ke proses yang melakukan operasi t ersebut . Cont oh dari sinyal asynchronous misalnya kit a mengirimkan sinyal unt uk memat ikan prosesden-gan keyboar d (ALT-F4) maka sinyal asynchr onous dikirim keproses t ersebut . Jadi ket ika suat u sinyal dimunculkan oleh perist iwa diluar proses yang sedang berjalan maka proses t ersebut menerima sinyal t ersebut secara asynchronous.

Set iap sinyal dapat dit angani oleh salah sat u dari dua penerima sinyal:

² Penerima sinyal yang merupakan set awal dari sist em operasi.

² Penerima sinyal yang dide…nisikan sendiri ole user.

Penanganan sinyal pada program yang hanya memakai t hread t unggal cukup mudah yait u hanya dengan mengirimkan sinyal ke prosesnya. Tet api mengirimkan sinyal lebih rumit pada program yang mult it hreading, karena sebuah proses dapat memiliki beberapa t hread.

(45)

BAB 3. PROSES 45

² Mengirimkan sinyal ke t hread yang dit uju oleh sinyal t ersebut .

² Mengirimkan sinyal ke set iap t hread pada proses t ersebut .

² Mengirimkan sinyal ke t hread t ert ent u dalam proses.

² Menugaskan t hread khusus unt uk menerima semua sinyal yang dit u-jukan pada proses.

Cara unt uk mengirimkan sebuah sinyal t ergant ung dari jenis sinyal yang dimunculkan. Sebagai cont oh sinyal synchronous perlu dikirimkan ke t hread yang memunculkan sinyal t ersebut bukan t hread lain pada proses t ersebut . Tet api sit uasi dengan sinyal asynchronous menjadi t idak jelas. Beberapa sinyal asynchronous sepert i sinyal yang berfungsi unt uk memat ikan proses (cont oh: alt -f4) harus dikirim ke semua t hread. Beberapa versi UNI X yang mult it hreading mengizinkan t hr ead menerima sinyal yang akan ia t erima dan menolak sinyal yang akan ia t olak. Karena it u sinyal asynchronouns hanya dikirimkan ke t hread yang t idak memblok sinyal t ersebut . Solaris 2 mengim-plement asikan pilihan ke-4 unt uk menangani sinyal. Windows 2000 t idak menyediakan fasilit as unt uk mendukung sinyal, sebagai gant inya Windows 2000 menggunakan asynchronous procedur e calls (APCs). Fasilit as APC memperbolehkan user t hread unt uk memanggil fungsi t ert ent u ket ika user t hread menerima not i…kasi perist iwa t ert ent u.

3.2.8

T hr ead Pools

Pada web server yang mult it hreading ada dua masalah yang t imbul:

² Ukuran wakt u yang diperlukan unt uk mencipt akan t hread unt uk melayani permint aan yang diajukan t erlebih pada kenyat aannya t hread dibuang ket ika ia seket ika sesudah ia menyelesaikan t ugasnya.

² Pembuat an t hread yang t idak t erbat as jumlahnya dapat menurunkan performa dari sist em.

(46)

BAB 3. PROSES 46

t hread dar i pool dan jika t hread t ersedia maka permint aan t ersebut akan dilayani. Ket ika t hread sudah selesai mengerjakan t ugasnya maka ia kembali ke pool dan menunggu pekerjaan lainnya. Bila t idak t hread yang t ersedia pada saat dibut uhkan maka server menunggu sampai ada sat u t hread yang bebas.

Keunt ungan t hread pool:

² Biasanya lebih cepat unt uk melayani permint aan dengan t hread yang ada dibanding dengan menunggu t hread baru dibuat .

² Thread pool membat asi jumlah t hread yang ada pada suat u wakt u. Hal ini pent ingpada sist em yang t idak dapat mendukung banyak t hread yang berjalan secara concurrent .

(47)

B ab 4

Si st em Op er asi Ter dist r ibusi

4.1

A pakah sist em op er asi t er d ist r ibusi ?

Sist em operasi t erdist ribusi adalah salah sat u implement asi dari sist em t dist ribusi, di mana sekumpulan komput er dan prosesor yang het erogen t er-hubung dalam suat u jaringan. Koleksi-koleksi dari objek-objek ini secara t ert ut up bekerja secara bersama-sama unt uk melakukan suat u t ugas at au pekerjaan t ert ent u.

Tujuan ut amanya adalah unt uk memberikan hasil secara lebih, t er ut ama dalam:

² …le syst em

² name space

² wakt u pengolahan

² keamanan

² akses ke seluruh r esources, sepert i prosesor, memori, penyimpanan sekunder, dan perangkat keras.

4.1.1

Sist em Oper asi t er dist r ibusi vs Sist em Oper asi

Jar ingan

Suat u sist em operasi t erdist ribusi yang sejat i adalah yang berjalan pada beberapa buah mesin, yang t idak melakukan sharing memori, t et api t er-lihat bagi user sebagai sat u buah komput er single. Pengguna t idak perlu

(48)

BAB 4. SISTEM OPERASI T ERDISTRIBUSI 48

memikirkan keberadaan perangkat keras yang ada, sepert i prosesor. Cont oh dari sist em sepert i ini adalah Amoeba.

Sist em operasi t erdist ribusi berbeda dengan sist em operasi jaringan. Un-t uk dapaUn-t membedakannya, sisUn-t em operasi jaringan memiliki ciri-ciri sebagai berikut :

² Tiap komput er memiliki sist em operasi sendiri

² Tiap personal komput er memiliki sist em …le sendiri, di mana dat a-dat a disimpan

² Sist em operasi t iap komput er dapat berbeda-beda at au het erogen

² Pengguna harus memikirkan keberadaan komput er lain yang t erhubung, dan harus mengakses, biasanya menggunakan remot e login (t elnet )

² File syst em dapat digunakan dengan dukungan NFS

[image:48.612.123.493.353.611.2]

Cont oh dari sist em ini adalah Unix dan Linux Server

(49)

BAB 4. SISTEM OPERASI T ERDISTRIBUSI 49

4.2

Fungsi Sist em Op er asi Ter d ist r ibusi

Sist em operasi t erdist ribusi memiliki manfaat dalam banyak sist em dan dunia komput asi yang luas. M anfaat -manfaat ini t ermasuk dalan shar ing resource, wakt u komput asi, r eliabilit as, dan komunikasi.

4.2.1

Shar ed R esource

Walaupun perangkat sekarang sudah memiliki kemampuan yang cepat dalam pr oses-pr oses komput asi, at au misal dalam mengakses dat a, t et api pengguna masih saja menginginkan sist em berjalan dengan lebih cepat . Apabila hard-war e t erbat as, kecepat an yang diinginkan user dapat diat asi dengan meng-gabung perangkat yang ada dengan sist em DOS (Dist r ibut ed Oper at ing Sys-t em).

4.2.2

M anfaat K om put asi

Salah sat u keunggulan sist em operasi t erdist ribusi ini adalah bahwa kom-put asi ber jalan dalam keadaan pararel. Proses komkom-put asi ini dipecah dalam banyak t it ik (nodes), yang mungkin berupa komput er pribadi, prosesor t ersendiri, dan kemungkinan per angkat prosesor-prosesor yang lain. Sist em operasi t er-dist ribusi ini bekerja baik dalam memecah komput asi ini dan baik pula dalam mengambil kembali hasil komput asi dari t it ik-t it ik clust er unt uk dit ampilkan hasilnya.

4.2.3

R eliabilit as

Fit ur unik yang dimiliki oleh DOS ini adalah reliabilit as. Berdasarkan design dan implement asi dari design sist em ini, maka hilangnya suat u node t idak akan berdampak t erhadap int egrit as syst em. Hal ini berbeda dengan kom-put er personal, apabila ada salah sat u hardware yang mengalami kerusakan, maka syst em akan berjalan t idak seimbang, bahkan sist em bisa t idak dapat berjalan at au mat i.

(50)

BAB 4. SISTEM OPERASI T ERDISTRIBUSI 50

4.2.4

K omunikasi

Sist em operasi t erdist ribusi biasanya berjalan dalam jaringan, dan biasanya melayani koneksi jaringan. Sist em ini biasanya digunakan user unt uk proses net working. User dapat saling bert ukar dat a, at au saling berkomunikasi ant ar t it ik baik secara LAN maupun WAN.

4.3

K omp on en Sist em Op er asi

Sist em operasi t erdist ribusi, yang saat ini akan dibahas sebagai t it ik t olak adalah Amoeba, yang saat ini banyak digunakan sebagai salah sat u imple-ment asi dari sist em oper asi t erdist ribusi it u sendiri. Sist em Amoeba ini t um-buh dari bawah hingga akhirnya t umum-buh menjadi sist em operasi t erdist ribusi.

Design Sist em Operasi Amoeba

(51)

BAB 4. SISTEM OPERASI T ERDISTRIBUSI 51

ini mengambil alih proses yang memerlukan I/ O yang khusus dari larikan disk. Gat eway berfungsi unt uk mengambil alih t ugas unt uk t erhubung ke jaringan WAN.

Procesor pool mengambil alih semua proses yang lain. Tiap unit ini biasanya t erdiri dar i prosesor, memori lokal, dan koneksi jaringan. Tiap pr osesor mengerjakan sat u buah proses sampai prosesor yang t idak digu-nakan habis. Unt uk selanjut nya proses yang lain ber ada dalam ant rian me-nunggu proses yang lain selesai. I nilah keunggulan sist em operasi t er dis-t ribusi dalam hal reliabilidis-t as. Apabila ada sadis-t u unidis-t pemroses yang madis-t i, maka proses yang dialokasikan harus di rest art , t et api int egrit as sist em t idak akan t erganggu, apabila proses det eksi berjalan dengan baik. Desain sist em ini memungkinkan unt uk 10 sampai 100 prosesor.

Spesi…kasi perangkat keras yang harus disediakan pada t iap clust er min-imalnya adalah :

² File server: 16 MB RAM, 300MB HD, Et hernet car d.

² Workst at ion: 8 MB RAM, monit or, keyboard, mouse

² Pool processor: 4 MB RAM, 3.5 ‡oppy drive

4.3.1

A r sit ek t ur Soft war e

Sist em operasi t erdist ribusi sejat i memiliki arsiit ekt ur software yang unik. Arsit ekt ur soft ware ini dikarakt erkan dalam objek di dalam hubungan an-t ara klien dan ser ver. Proses-proses yang an-t erjadi di klien menggunakan re-mot e procedure yang memanggil dan mengirimkan request ke server unt uk memproses dat a at au objek yang dibawa. T iap objek yang dibawa memiliki karakt erist ik yang disebut sebagai kapabilit as.

Kapabilit as ini besarnya adalah 128 bit s. 48 bit s pert ama menunjukkan servis mana yang memiliki objek t ersebut . 24 bit s berikut nya adalah nomor dari objek. 8 bit s berikut nya menampilkan operasi yang diijinkan t erhadap objek yang bersangkut an. Dan 48 bit s t er akhir merupakan check …eld yang merupakan …eld yang t elah t erenkripsi agar t idak dapat dimodi…kasi oleh pr oses yang lain.

(52)

BAB 4. SISTEM OPERASI T ERDISTRIBUSI 52

ini memiliki bidang alamat sendiri, dan bisa saja memiliki sat u at au lebih hubungan. Hubungan ini ket ika berjalan memiliki pr ogram count er dan st ack sendiri, t et api dapat saling berbagi kode dan dat a ant ara hubungan lain di dalam proses. Ada 3 macam basis panggilan sist em yang dapat di-gunakan dalam proses yang dimiliki user, yait u do_ operat ion, get _ r equest , dan send_ reply.

Bagian yang pert ama mengirimkan pesan ke server, set elah proses mem-blok sampai server mengirimkan balasan. Server menggunakan panggilan sist em ke dua unt uk mengindikasikan bahwa server akan menerima pesan pada port t ert ent u. Server juga menggunakan panggilan sist em ke t iga un-t uk mengirimkan kembali informasi ke proses yang dipanggil.

Dengan dibangun dari perint ah sist em yang primit if, maka sist em ini menjadi ant armuka unt uk pr ogram aplikasi. Hal ini diselesaikan oleh t ingkat dari pengarahan yang mengijinkan pengguna unt uk ber…kir t erhadap st ruk-t ur ini sebagai objek dan operasi-operasi ruk-t erhadap objek ini.

Berhubungan dengan objek-objek adalah class. Kelas dapat berisi kelas yang lain dan juga hierarki secara alami. Pewarisan membuat ant armuka objek unt uk implement asi manipulasi objek sepert i menghapus, membaca, menulis, dan sebagainya.

4.3.2

M anaj em en B er kas

Dalam sist em operasi t erdist ribusi ini sist em berkas dipet akan dengan baik dengan berorient asi pada objek yang ada dan kapabilit asnya. Hal ini akan menjadi berkesan abst rak, t erut ama unt uk kelas pengguna. Ada t ingkat an yang lebih ekst ra dalam pemet aan berkas yang ada, mulai dari simbol, pen-gurut an nama pat h, dan kapabilit asnya. Melalui sist em ini objek lokal t idak ada bedanya dengan objek publik.

Dalam sist em ini ada semacan t ingkat an akses yang sebenarnya mirip UNI X. Set iap user dan group memiliki hak akses yang berbeda-beda pada set iap berkas at au folder yang ada pada sist em operasi t erdist ribusi.

Dalam implement asi sist em Amoeba, t erut ama di negeri Belanda, hak akses yang dimiliki pengguna t erbat as pada hak baca …le, t ulis/ membuat …le, dan hapus …le. Dengan hal ini, maka keamanan server dapat t erjaga.

(53)

BAB 4. SISTEM OPERASI T ERDISTRIBUSI 53

t ersebut sehingga t idak mudah dibaca oleh siapapun. Kode penyandinya akan digunakan lagi oleh sist em unt uk mengembalikan …le sepert i semula kepada user .

Kode ini hanya akan diberikan kepada pemilik …le t ersebut . Jadi ket ika user mengakses …le/ berkas yang ber sangkut an, maka kode penyandi akan dibuat oleh sist em, agar pemilik …le dapat membacanya.

Pelayanan direkt ori ini juga bert anggungjawab dalam hal backup sist em. Hal ini akan menyebabkan …le selalu berada dalam keadaan yang aman, dan lebih kebal t ehadap gangguan yang t erjadi di dalam sist em, karena pelayanan direkt ori ini menyimpan cache dari …le at au direkt ori yang berada pada sis-t em.

4.4

Pr oses

Dalam sist em operasi t erdist ribusi yang sejat i, t iap proses berada pada ala-mat segmen-segmen virt ual. Proses-proses ini dapat memiliki lebih dari sat u hubungan. Kait an-kait an ini dialokasikan ke prosesor-prosesor sampai semua pr osesor habis digunakan. Hasil dari manajemen proses sepert i ini meng-hasilkan ut ilisasi yang lebih baik, di mana t idak perlu swit ch apabila harus ada proses yang berat , karena sat u proses dialokasikan ke sat u prosesor . Sedangkan unt uk proses yang t idak kebagian t empat , maka akan masuk ke ant rian. Kait an-kait an proses ini menggunakan semaphore unt uk menun-jukkan akt i…tasnya

M asing- masing proses memiliki kont r ol sendiri pada spasi alamat nya. Masing-masing proses dapat menambah at au menghapus segmen dari spasi alamat virt ualnya melalui operasi pemet aan. Objek sepert i …le yang berisi kapabilit as, dan yang membaca adalah kernel, dan apabila proses diijinkan, maka ia dapat memet akan at au menghapus pemet aan segmen pada alamat virt ualnya.

(54)

BAB 4. SISTEM OPERASI T ERDISTRIBUSI 54

Kapabilit as proses adalah memiliki t ingkat an lebih t inggi dari proses, yang mengat ur apa yang dapat dilakukan oleh proses, at au proses ini hanya dapat dilakukan oleh siapa. Pengat ur kapabilit as mirip dengan hal ini, t et api hanya bekerja unt uk proses yang t idak normal.

Alamat proses t erenkapsulasi di dalam pet a memori int ernal. Pet a ini meiliki ent ri unt uk set iap segmen dari alamat unt uk proses yang pot ensial. Ent ri berisi alamat virt ual, panjang segmen, pemet aan segmen, dan kapabil-it as dari objek yang menget ahui dari mana objek t ersebut diinisialisasi..

(55)

B ab 5

Fil e Ser v ice

5.1

Pen gen alan

Present ly, our most common exposur e t o dist ribut ed syst ems t hat exemplify some degree of t ransparency is t hrough dist ribut ed …le syst ems. We’d like remot e …les t o look and feel just like local ones.

A …le syst em is responsible for t he organizat ion, st orage, r et rieval, nam-ing, sharnam-ing, and prot ect ion of …les. File syst ems provide direct ory services, which convert a …le name (possibly a hierarchical one) int o an int ernal iden-t i…er (e.g. inode, FAT index) . They coniden-t ain a represeniden-t aiden-t ion of iden-t he …le dat a it self and met hods for accessing it (read/ writ e). The …le syst em is r esponsi-ble for cont rolling access t o t he dat a and for performing low-level operat ions such as bu¤ering frequent lyused dat a and issuing disk I/ O request s.

Our goals in designing a dist ribut ed …le syst em are t o present cert ain degrees of t ransparency t o t he user and t he syst em:

² access t ransparency

Client s are unaware t hat …les are dist ribut ed and can access t hem in t he same way as local …les are accessed.

² locat ion t ranspar ency

A consist ent name space exist s encompassing local as well as remot e …les. The name of a …le does not give it locat ion.

² concurrency t ransparency

(56)

BAB 5. FI LE SERVI CE 56

All client s have t he same view of t he st at e of t he …le syst em. T his means t hat if one process is modifying a …le, any ot her processes on t he same syst em or remot e syst ems t hat are accessing t he …les will see t he modi…cat ions in a coherent manner.

² failure t ransparency

The client and client programs should operat e correct ly aft er a server failure.

² het er ogeneit y

File service should be provided across di¤erent hardware and operat ing syst em plat forms.

² scalability

The …le syst em should work well in small environment s (1 machine, a dozen machines) and also scale gracefully t o huge ones (hundreds t hrough t ens of t housands of syst ems).

² replicat ion t ransparency

To support scalability, we may wish t o replicat e …les across mult iple servers. Client s should be unaware of t his.

² migrat ion t ransparency

Files should be able t o move around wit hout t he client ’s knowledge.

5.1.1

K onsep Sist em F iles t er dist r ibusi

A …le service is a speci…cat ion of what t he …le syst em o¤ers t o client s. A …le server is t he implement at ion of a …le service and runs on one or more machines.

A …le it self cont ains a name, dat a, and at t ribut es ( such as owner, size, creat ion t ime, access right s). An immut able …le is one t hat , once creat ed, cannot be changed. I mmut able …les are easy t o cache and t o replicat e across servers since t heir cont ent s are guarant eed t o remain unchanged.

(57)

BAB 5. FI LE SERVI CE 57

² capabilit ies

Each user is grant ed a t icket (capabilit y) from some t rust ed source for each object t o which it has access. The capabilit y speci…es what kinds of access are allowed.

² access cont rol list s

Each …le has a list of users associat ed wit h it and access permissions per user. M ult iple users may be organized int o an ent it y known as a group.

5.1.2

Jenis F ile Ser vice

To provide a r emot e syst em wit h …le service, we will have t o select one of two models of operat ion. One of t hese is t he upload/ download model. I n t his model, t her e are t wo fundament al operat ions: read …le t ransfers an ent ire …le from t he server t o t he request ing client , and writ e …le copies t he …le back t o t he server. It is a simple model and e¢ cient in t hat it provides local access t o t he …le when it is being used. T hree problems are evident . I t can be wast eful if t he client needs access t o only a small amount of t he …le dat a. I t can be pr oblemat ic if t he client doesn’t have enough space t o cache t he ent ire …le. Finally, what happens if ot her s need t o modify t he same …le? The second model is a remot e access model. T he …le service provides remot e operat ions such as open, close, read byt es, writ e byt es, get at t ribut es, et c. The …le syst em it self runs on servers. T he drawback in t his approach is t he servers are accessed for t he durat ion of …le access rat her t han once t o download t he …le and again t o upload it .

(58)

BAB 5. FI LE SERVI CE 58

5.2

K omp on en F ile Ser v ice

5.2.1

N am ing

In designing a dist ribut ed …le service, we should consider whet her all ma-chines (and processes) should have t he exact same view of t he direct ory hierarchy. We might also wish t o consider whet her t he name space on all machines should have a global root direct ory (a.k.a. super root ) so t hat …les can be accessed as, for example, / / server/ pat h. This is a model t hat was adopt ed by t he Apollo Domain Syst em, an early dist ribut ed …le syst em, and more recent ly by t he web communit y in t he const ruct ion of a uniform resour ce locat or (URL).

I n considering our goals in name resolut ion, we must dist inguish between locat ion t ransparency and locat ion independence. By locat ion t ransparency we mean t hat t he pat h name of a …le gives no hint t o where t he …le is locat ed. For inst ance, we may refer t o a …le as / / server1/ dir / …le. T he server (server) can move anywhere wit hout t he client caring, so we have locat ion t ransparency. However, if t he …le moves t o server2 t hings will not work. I f we have locat ion independence, t he …les can be moved wit hout t heir names changing. Hence, if machine or server names are embedded int o pat h names we do not achieve locat ion independence.

I t is desirable t o have access t ransparency, so t hat applicat ions and users can access remot e …les just as t hey access local …les. To facilit at e t his, t he remot e …le syst em name space should be synt act ically consist ent wit h t he local name space. One way of accomplishing t his is by rede…ning t he way …les ar e named and require an explicit synt ax for ident ifying remot e …les. This can cause legacy applicat ions t o fail and user discont ent (users will have t o lear n a new way of naming t heir …les). An alt ernat e solut ion is t o use a …le syst em mount ing mechanism t o overlay port ions of anot her …le syst em over a node in a local direct ory st ruct ure. Mount ing is used in t he local environment t o const ruct a uniform name space fr om separat e …le syst ems (which reside on di¤erent disks or part it ions) as well as incorporat ing special-purpose …le syst ems int o t he name space (e.g. / proc on many UNI X syst ems allows …le syst em access t o processes). A remot e …le syst em can be mount ed at a part icular point in t he local direct or y t ree. At t empt s t o access …les and direct ories under t hat node will be direct ed t o t he driver for t hat …le syst em.

(59)

BAB 5. FI LE SERVI CE 59

² machine and pat h naming (machine:pat h, ./ machine/ pat h).

² mount remot e …le syst ems ont o t he local direct ory hierarchy (merging t he two name spaces) .

² pr ovide a single name space which looks t he same on all machines.

The …rst t wo of t hese opt ions are relat ively easy t o implement .

T ip e N am a

When we t alk about …le names, we refer t o symbolic names ( for example, server.c). These names are used by people (users or programmers) t o refer t o …les. Anot her name is t he ident i…er used by t he syst em int ernally t o refer t o a …le. We can t hink of t his as a binary name (more precisely, as an address). On most UNI X …le syst ems, t his would be t he device number and inode number. On M S-DOS syst ems, t his would be t he drive let t er and FAT index.

(60)

BAB 5. FI LE SERVI CE 60

5.2.2

File Shar ing Sem ant ik

The analysis of …le shar ing semant ics is t hat of underst anding how …les be-have. For inst ance, on most syst ems, if a read follows a writ e, t heread of t hat locat ion will ret urn t he values just writ t en. If two writ es occur in succession, t he following r ead will ret urn t he result s of t he last writ e. File syst ems t hat behave t his way are said t o observe sequent ial semant ics.

Sequent ial semant ics can be achieved in a dist ribut ed syst em if t here is only one server and client s do not cache dat a. This can cause perfor mance pr oblems since client s will be going t o t he server for every …le operat ion (such as single-byt ereads). Theperformanceproblems can be alleviat ed wit h client caching. However, now if t heclient modi…esit s cacheand anot her client reads dat a from t he server, it will get obsolet e dat a. Sequent ial semant ics no longer hold.

One solut ion is t o make all t he writ es writ e-t hrough t o t he server . This is ine¢ cient and does not solve t he problem of client s having invalid copies in t heir cache. To solve t his, t he server would have t o not ify all client s holding copies of t he dat a.

Anot her solut ion is t o relax t he semant ics. We will simply t ell t he users t hat t hings do not work t he same way on t he dist ribut ed …le syst em as t hey did on t he local …le syst em. T he new rule can be changes t o an open …le are init ially visible only t o t he process (or machine) t hat modi…ed it . These are known as session semant ics.

Yet anot her solut ion is t o make all t he …les immut able2. T hat is, a …le cannot be open for modi…cat ion, only for reading or creat ing. I f we need t o modify a …le, we’ll creat e a complet ely new …le under t he old name. Immut able …les are an aid t o replicat ion but t hey do not help wit h changes t o t he …le’s cont ent s (or, more precisely, t hat t he old …le is obsolet e because a new one wit h modi…ed cont ent s succeeded it ). We st ill have t o cont end wit h t he issue t hat t her e may be anot her process reading t he old …le. It ’s possible t o det ect t hat a …le has changed and st art failing request s from ot her pr ocesses.

(61)

BAB 5. FI LE SERVI CE 61

at t he same t ime, t he syst em ensures t hat t he end result is as if t hey were run in some sequent ial order. All changes have an all or not hing propert y.

5.2.3

Chaching

We can employ caching t o improve syst em performance. There are four places in a dist ribut ed syst em where we can hold dat a:

1. on t he server’s disk

2. in a cache in t he server’s memory

3. in t he client ’s memory

4. on t he client ’s disk

The …rst t wo places are not an issue since any int erface t o t he server can check t he cent ralized cache. I t is in t he last t wo places t hat problems arise and we have t o consider t he issue of cache consist ency. Several approaches may be t aken:

² writ e-t hr ough

What if anot her client reads it s own cached copy? All accesses would require checking wit h t he server …rst (adds network congest ion) or rquire t he server t o maint ain st at e on who has what …les cached. Writ e-t hrough also does noe-t alleviae-t e congese-t ion on wrie-t es.

² delayed writ es

Dat a can be bu¤ered locally (where consist ency su¤ers) but …les can be updat ed periodically. A single bulk writ e is far more e¢ cient t han lot s of lit t le writ es ever y t ime any …le cont ent s are modi…ed. Unfort unat ely t he semant ics become ambiguous.

² writ e on close

This is admit t ing t hat t he …le syst em uses session semant ics.

² cent ralized cont rol

(62)

B ab 6

N am e Ser v ice

6.1

Pen gen alan

Pengaksesan resource pd sist em t erdist ribusi memerlukan:

² Nama resource (unt uk pemanggilan).

² Alamat (lokasi resour ce t sb) .

² Rut e (bagaimana mencapai lokasi t sb).

Konsent rasi pada aspek penamaan, dan pemet aan ant ara nama & ala-mat , bukan pada masalah rut e, yg dibahas di Jaringan Komput er.

Yang dimaksud dengan resource adalah : komput er, layanan, remot

Gambar

Gambar~1.1: Contoh sistem terdistribusi, Automatic Banking (teller ma-chine) System
Gambar~1.2: Arsitekt ur sofware pada sistem terdistribusi
Gambar~1.3: Sistem Terdistribusi pada dua titik
Gambar~1.4: Model arsitektur client - server
+7

Referensi

Dokumen terkait

Ulinuha, A., 2015., Sistem informasi geografis pemetaan kos berdasarkan perguruan tinggi di kabupaten kudus. Kudus: Jurusan

Cara pembuatan obat yang baik (CPOB) merupakan bagian dari sistem pemastian mutu yang mengatur obat dan memastikan obat diproduksi dan mutunya dikendalikan secara konsisten

[r]

Langkah – langkah algoritma Chuang – Kung adalah dengan menentukan semua lintasan yang mungkin dilalui dari titik sumber ke titik tujuan, kemudian menghitung nilai derajat

[r]

Laksanakan penilaian mandiri dengan mempelajari dan menilai kemampuan yang sdr miliki secara obyektif terhadap seluruh daftar pertanyaan yang ada, serta tentukan

Laksanakan penilaian mandiri dengan mempelajari dan menilai kemampuan yang sdr miliki secara obyektif terhadap seluruh daftar pertanyaan yang ada, serta tentukan

Perangkat lunak yang dihasilkan dapat mempermudah pengelola toko dalam pencatatan barang dan transaksi jual beli barang, perhitungan laba usaha toko, dan pembuatan laporan