2. Pengantar
Apa kegiatan yang dilakukan oleh CPU,,?
Sistem batch mengeksekusi jobs seba-gaimana
suatu sistem time-share menggunakan program
pengguna (user programs) atau tasks.
Bahkan suatu sistem pengguna tunggal mampu
menjalankan beberapa program pada saat yang
sama.
Dalam banyak hal, seluruh aktivitas ini adalah
serupa, maka kita menyebut seluruh program itu
proses-proses.
3. Defenisi Proses
Secara tidak langsung, proses merupakan program yang
sedang dieksekusi.
Menurut Silberschatz, suatu proses adalah lebih dari sebuah
kode program, yang terkadang disebut text section. Proses juga
mencakup program counter, yaitu sebuah stack untuk
menyimpan alamat dari instruksi yang akan dieksekusi
selanjutnya dan register.
Tanenbaum juga berpendapat bahwa proses adalah sebuah
program yang dieksekusi yang mencakup program counter
register, dan variabel di dalamnya. Kami tekankan bahwa
program itu sendiri bukanlah sebuah proses.
4. 遺看顎稼岳d
Dengan kata lain, proses terdistribusi adalah
sebuah proses yang dijalankan pada lebih dari
satu processor untuk menyelesaikan pekerjaan.
Proses distribusi dirancang agar sebuah program
dapat dijalankan pada berbagai tempat dalam
suatu jaringan computer, baik LAN maupun
WAN.
5. Status Proses
Tanenbaum:
Running: pada saat menggunakan CPU pada
suatu waktu.
Ready: proses diberhentikan sementara karena
menunggu proses lain untuk dieksekusi.
Blocked: tidak dijalankan sampai event dari
luar, yang berhubungan dengan proses tersebut
terjadi.
6. 遺看顎稼岳d
Sedangkan menurut Silberschatz, terdapat lima
macam jenisstatus yang mungkin dimiliki oleh suatu proses:
New: status yang dimiliki pada saat proses baru saja dibuat.
Running: status yang dimiliki pada saat instruksi-instruksi
dari sebuah proses dieksekusi.
Waiting: status yang dimiliki pada saat proses menunggu
suatu event (contohnya: proses I/O).
Ready: status yang dimiliki pada saat proses siap untuk
dieksekusi oleh prosesor.
Terminated: status yang dimiliki pada saat proses telah
selesai dieksekusi.
8. Proses Control Block
Tiap proses digambarkan dalam sistem operasi oleh
sebuah process control block (PCB) - juga disebut sebuah control
block. PCB berisikan banyak bagian dari informasi yang
berhubungan dengan sebuah proses yang spesifik, termasuk hal-
hal di bawah ini:
Status proses: status mungkin, new, ready, running, waiting,
halted, dan juga banyak lagi.
Program counter: suatu stack yang berisi alamat dari instruksi
selanjutnya untuk dieksekusi untuk proses ini.
CPU register: Register bervariasi dalam jumlah dan jenis,
tergantung pada rancangan komputer. Register tersebut termasuk
accumulator, register indeks, stack pointer, general-purposes
register, ditambah code information pada kondisi apa pun.
9. 遺看顎稼岳d
Informasi managemen memori: Informasi ini dapat termasuk suatu
informasi sebagai nilai dari dasar dan batas register, tabel
page/halaman, atau tabel segmen tergantung pada sistem memori
yang digunakan oleh sistem operasi.
Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan
waktu riil yang digunakan, batas waktu, jumlah akun jumlah job
atau proses, dan banyak lagi.
Informasi status I/O: Informasi termasuk daftar dari perangkat I/O
yang di gunakan pada proses ini, suatu daftar berkas-berkas yang
sedang diakses dan banyak lagi.
PCB hanya berfungsi sebagai tempat penyimpanan informasi yang
dapat bervariasi dari proses yang satu dengan yang lain.
10. Thread
Thread merupakan unit dasar dari penggunaan CPU, yang
terdiri dari Thread_ID, program counter, register set, dan stack.
Sebuah thread berbagi code section, data section, dan sumber
daya sistem operasi dengan Thread lain yang dimiliki oleh
proses yang sama. Thread juga sering disebut lightweight
process.
Sebuah proses tradisional atau heavyweight process
mempunyai thread tunggal yang berfungsi sebagai pengendali.
Perbedaan antara proses dengan thread tunggal dengan proses
dengan thread yang banyak adalah proses dengan thread yang
banyak dapat mengerjakan lebih dari satu tugas pada satu
satuan waktu.
12. Multithreading Model
1. Many to one Model
Many-to-One model memetakan banyak user-level
thread ke satu kernel thread. Pengaturan thread dilakukan di
user space, oleh karena itu ia efesien tetapi ia mempunyai
kelemahan yang sama dengan user thread. Selain itu karena
hanya satu thread yang dapat mengakses thread pada suatu
waktu maka multiple thread tidak dapat berjalan secara
pararel pada multiprocessor. Userlevel thread yang
dimplementasi pada sistem operasi yang tidak mendukung
kernel thread menggunakan Many-to-One model.
14. 2. One to one Model
One-to-One model memetakan setiap user
thread ke kernel thread. Ia menyediakan lebih
banyak concurrency dibandingkan Many-to-One
model. Keuntungannya sama dengan keuntungan
kernel thread. Kelemahannya model ini adalah
setiap pembuatan user thread membutuhkan
pembuatan kernel thread.
Karena pembuatan thread dapat menurunkan
performa dari sebuah aplikasi maka implmentasi
dari model ini membatasi jumlah thread yang
dibatasi oleh sistem. Contoh sistem operasi yang
mendukung One-to-One model adalah Windows NT
dan OS/2.
16. 3. Many to many Model
Many-to-many model multiplexes banyak user-
level thread ke kernel thread yang jumlahnya lebih
kecil atau sama banyaknya dengan user-level thread.
Jumlah kernel thread dapat spesik untuk sebagian
aplikasi atau sebagian mesin. Many-to-One model
mengizinkan developer ntuk membuat user thread
sebanyak yang ia mau tetapi concurrency tidak dapat
diperoleh karena hanya satu thread yang dapat dijadual
oleh kernel pada suatu waktu.
18. Distributed object
Sistem objek terdistribusi dapat mengadopsi arsitektur client-
server. Dalam kasus ini, objek dikelola oleh server dan klien
memanggil method mereka dengan menggunakan remote metode
invokasi. Di RMI, permintaan klien untuk memohon sebuah metode
objek dikirim dalam pesan ke server. invokasi dilakukan dengan
melaksanakan metode objek di server dan hasilnya dikembalikan ke
klien dalam pesan lain. Distributed object dapat mengasumsikan
model arsitektur lain. Sebagai contoh, objek dapat direplikasi dalam
rangka memperoleh manfaat untuk toleransi kesalahan dan
meningkatkan kinerja, dan objek dapat bermigrasi dengan maksud
untuk meningkatkan kinerja mereka.
19. CORBA
Interoperabilitas adalah kemampuan saling bekerjasama antar sistem
komputer. Sebenarnya interoperabilitas bukanlah barang baru, karena
protokol komunikasi datapun (TCP/IP misalnya) pada dasarnya
diciptakan untuk mewujudkan interoperabilitas.
Interoperabilitas perangkat lunak menuntut homogenitas pada suatu level
tertentu. Untuk itu diperlukan semacam 'standarisasi'. Berawal dari
keperluan ini lahirlah CORBA (Common Object Request Broker
Architecture). CORBA adalah hasil 'kesepakatan' antara sejumlah vendor
dan pengembang perangkat lunak terkenal seperti IBM, Hewlett-Packard,
dan DEC, yang tergabung dalam sebuah konsorsium bernama OMG
(Object Management Group).
CORBA adalah sebuah arsitektur software yang berbasis pada teknologi
berorientasi obyek atau Object Oriented (OO) dengan paradigma client-
server. Dalam terminologi OO, sebuah obyek berkomunikasi dengan
obyek lain dengan cara pengiriman pesan (message passing).
20. COUNTD
Keunikan dari CORBA adalah kemampuannya dalam
menangani heterogenitas antara client dan server
(dalam terminologi CORBA, obyek server dinamakan
implementasi obyek (object implementation).
Keduanya dapat saja diimplementasikan dalam
hardware, sistem operasi, bahasa pemrograman, dan di
lokasi yang berbeda, tetapi tetap bisa saling
berkomunikasi. Kuncinya ada pada sebuah lapisan
software yang disebut dengan ORB(Object Request
Broker).
21. COM DAN DCOM
COM (Component Object Model) adalah spesifikasi mencakup
implementasi yang dikembangkan Microsoft Corporation, yang
menyediakan framework untuk integrasi komponen. Framework
ini mendukung interoperability dan reusability objek-objek
terdistribusi yang memungkinkan developer membangun sistem
dengan melakukan assembly berbagai komponen dari berbagai
vendor. Komponen-komponen tersebut akan berkomunikasi
melalui COM.
22. COUNTD
COM dikembangkan menjadi DCOM (Distrubuted COM) untuk
mendukung interaksi antar komponen yang terdistribusi (berlokasi
di mesin yang berbeda). Dengan DCOM, komponen yang beroperasi
di berbagai platform yang berbeda akan dapat berinteraksi.
COM dan DCOM merepresentasikan teknologi low-level untuk
interaksi komponen, sedangkan OLE, ActiveX, dan MTS
merepresentasikan higher-level application services yang dibangun
di atas COM dan DCOM. Batasan antar berbagai teknologi
Microsoft kadang-kadang kurang jelas. Orang seringkali
menggunakan terminologi OLE technologies yang mencakup
COM, atau Active Platform sebagai web solution yang lengkap.
23. Layanan Terdistribusi
Dalam perkembangannya, objek terdistribusi masih
dirasa kurang.
Untuk itu dikembangkan layanan terdistribusi dimana
bukan lagi objek yang didistribusikan, tetapi sudah
berupa sebuah layanan.
Teknologi yang menggunakan konsep ini adalah web
service yang menggunakan protocol standard an terbuka
sehingga mudah untuk diadaptasi oleh berbagai pihak
dan dapat beroprasi pada berbagai aplikasi dan platform.
24. Web Service (WS)
WS, akronin dari Web Service, adalah system
software yang didesain untuk mendukung interaksi
antar computer dalam jaringan.
WS memiliki antar muka dalam format yang dapat
dibaca oleh computer seperti WSDL (Web Service
Description Language).
System lain berinteraksi dengan Web Service melalui
massage yang dikirim dengan protocol HTTP.
25. Keuntungan Web Service
a. Web Service memungkinkan aplikasi yang berjalan
dalam berbagai platform untuk dapat saling
berintraksi.
b. Web Service menggunakan standard an protocol yang
terbuka.
c. Dengan menggunakan protocol HTTP, Web Service
dapat melalui berbagai macam firewall tampa harus
banyak mengubah konfigurasi firewall tersebut.
d. Web service memungkinkan penggabungan aplikasi
dan layanan dari berbagai perusahaan untuk
menyediakan layanan yang terintegrasi bagi pengguna.
e. Web service memungkinkan penggunaan kembali
layanan dan komponen yang ada dalam
infastrukturnya.
26. Kelemahan dari Web Service
a. Karena relatife baru, fasilitas standar yang
dimiliki oleh Web Service masih ternatas bila
dibandingkan dengan teknologi yang lebih
matang CORBA.
b. Kinerja Web Service masih kalah dibandingkan
dengan teknologi terdistribusi lainnya karena
menggunakan format teks dalam melakukan
pertukaran data.