Kamis, 19 September 2013

Model Name Service

Name Service dalam Sistem Terdistribusi merupakan layanan penamaan yang berfungsi untuk menyimpan naming context, yakni kumpulan binding nama dengan objek, tugasnya untuk me-resolve nama. Pengaksesan resource pada sistem terdistribusi yang memerlukan:
  • Nama resource (untuk pemanggilan),
  • Alamat (lokasi resource tsb),
  • Rute (bagaimana mencapai lokasi tsb).

Name Service memiliki konsentrasi pada aspek penamaan dan pemetaan antara nama & alamat, bukan pada masalah rute, yang dibahas di Jaringan Komputer. Resource yang dipakai dalam Name Service adalah: komputer, layanan, remote object, berkas, pemakai.
Contoh penamaan pada aplikasi sistem terdistribusi:
–        URL untuk mengakses suatu halaman web.
–        Alamat e-mail utk komunikasi antar pemakai.

Selain itu name service juga merupakan layanan penamaan yang berfungsi untuk  menyimpan naming context, yakni kumpulan binding nama dengan objek, tugasnya untuk me-resolve nama. Kebutuhan akan penamaan juga memicu  munculnya layanan penamaan (Naming Services) yang menyediakan mekanisme dan struktur penamaan objek itu sendiri. Contohnya DNS (Domain Name Service), X.500, COBRA, dan GNS.

Name Resolution, Binding, Attributes
–       Name resolution:  Nama ditranslasikan ke data ttg resource/object tsb.
–       Binding: Asosiasi antara nama & obyek, dan biasanya nama diikat (bound) ke attributes dr suatu obyek.
–       Address: atribut kunci dari sebuah entitas dalam sistem terdistribusi.
–       Attribute: nilai suatu object property.

Penguraian Naming Domains untuk mengakses resource dari URL
 

Tujuan Penamaan
  • Mengidentifikasi
  • Memungkinkan terjadinya sharing
  • Memungkinkan location independence
  • Memberikan kemampuan keamanan (security)

Jenis Nama
User names: Merujuk pada suatu obyek atau layanan; Terdiri dari strings of characters.
Contoh: hp201 untuk pencetak, ~bettyp/tmp/test.c untuk berkas.
System names: Terdiri dari bit string; Internal untuk sistem, tidak ditujukan untuk manusia.

Struktur Nama
  • Primitive/flat names (Unique Identifiers = UIDs)
  • Partitioned Names (PN)
  • Descriptive names (DN)

Name Context
Nama selalu diasosiasikan dengan konteks, yang mendefinisikan di mana nama tsb valid. Ada 2 macam konteks:
–        Universal context
–        Relative context

Name List
Name Lists terdiri dari 2 komponen yaitu:
  • Name agents
  • Name servers

Bentuk Name List
  • Name List Tersentralisasi : Adalah Name list yang berada pada satu mesin.
  • Name List Tereplikasi Penuh : Digunakan untuk mengatasi kekurangan name list tersentralisasi.
  • Name List Tereplikasi Sebagian : Sebagian name lists disimpan dalam cache setiap mesin dan memerlukan mekanisme petunjuk (hint), yang biasanya benar.

Contoh Name Service
  • DNS (Domain Name Service) – memetakan nama domain ke alamat
  • GNS (Global Name Service) – memetakan global name ke atribut-atribut dan skalabilitas, dapat menangani perubahan
  • X500 directory service – memetakan nama orang ke dalam alamat suatu e-mail dan nomor telepon
  • Jini discovery service – mencari objek sesuai dengan atribut yang ada

Suatu name service dapat menyimpan kumpulan satu atau lebih kontek penamaan yaitu sehimpunan keterkaitan antara nama dan atribut objek, seperti user, komputer, services dan remote object.
Yang dibutuhkan dari suatu Name Services adalah : 
– penamaan unik yang standard
– scalability
– consistency
– performance dan availability
– mudah menyesuaikan terhadap perubahan
– perlindungan kegagalan

Dalam rangka memenuhi kebutuhan tersebut, sebuah name server setidaknya dapat  menerapkan mekanisme berikut :
o Partitioning
 Tidak ada satu name server yang dapat menyimpan seluruh nama dan atribut untuk seluruh jaringan. Data nama dipartisi berdasarkan domain.
o Replication
Sebuah domain biasanya memiliki lebih dari satu name server¸ Untuk meningkatkan availability dan performance
o Caching
Sebuah name server dapat melakukan mekanisme caching terhadap data nama dari name server lain
¸ Hal ini dilakukan untuk mencegah operasi permintaan sama berulang ulang

Source :
http://teg849.wordpress.com/2011/04/27/name-service/

posted under | 0 Comments

Proses & Thread Dalam Sistem Operasi

undefinedundefined
1. Proses

Proses adalah konsep pokok dari sistem operasi. Berbagai macam defnisi mengenai proses 

telah dicetuskan. Secara sederhana, proses adalah sebuah program yang dieksekusi. Proses 

merupakan unit kerja terkecil yang secara individu memiliki sumber daya-sumber daya dan 

dijadwalkan sistem operasi. Sistem operasi mengelola semua proses di sistem dan 

mengalokasikan sumber daya ke proses sesuai kebutuhan.



Secara informal; proses adalah program dalam eksekusi. Suatu proses adalah lebih dari kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar prosesor/ processor's register. Suatu proses umumnya juga termasuk process stack, yang berisikan data temporer (seperti parameter metoda, address yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan variabel global. 


Process State
Status proses selalu berubah-ubah selama suatu program dieksekusi atau dijalankan. Beberapa status tersebut ialah :
- New : proses baru diciptakan
- Running : proses sedang dijalankan
- Waiting : proses sedang menunggu suatu kondisi tertentu untuk bisa berjalan. (misalkan menunggu respon dari perangkat I/O)
- Ready : proses menunggu untuk dilayani processor
- terminated : proses telah menyelesaikan eksekusi.
pst
Diagram status proses

1.2 Process Control Block (PCB)
Sistem operasi membutuhkan banyak informasi mengenai proses guna pengelolaan proses. Semua informasi ini ada pada PCB. PCB mengandung beberapa informasi seperti berikut :
1. Process State >> berisi informasi status proses. (new,running,waiting,ready,terminated)
2. Program counter >> berisi informasi mengenai alamat instruksi yang akan digunakan selanjutnya.
3. CPU register >> berisi register2 CPU apa saja yang digunakan
4. CPU scheduling information >> berisis penjadwalan proses beserta algoritmanya
5. Memory management information >> berisi informasi tentang berapa jumlah memory yang digunakan, limit register, tabel segment, dll berkenaan dengan penggunaan memory.
6. I/O status information >> berisi informasi tentang perangkat apa saja yang digunakan dalam proses
7. Accounting >> berisi informasi tentang statistik eksekusi proses seperti waktu yang diperlukan, jumlah proses, dll.
pcb
Diagram PCB


2. Thread
Program yang dieksekusi :
1.Proses berat (heavyweight) => proses tradisional
2.Proses ringan (lightweight) => THREAD

Thread terdiri dari ID thread, program counter,himpunan register dan stack. Thread dapat melakukan lebih dari satu
pekerjaan pada waktu yang sama (multithreading). Thread bekerja sama dengan thread lain dalam penggunaan bagian kode, bagian data, dan resource. Dengan penggunaan thread CPU dapat secara ekstensif di antara peer thread tanpa menggunakan manajemen memori.

Keuntungan penggunaan thread :
1.Tanggap
2.Pemberdayaan resorce
3.Ekonomis
4.Pemberdayaan arsitektur multiprocessor


2.1 Single thread dan multi thread
1.Single thread >> process hanya mengeksekusi satu thread saja pada satu waktu
2.Multi thread >> process dapat mengeksekusi sejumlah thread dalam satu waktu.

snmthread

2.2 Model Multithread
Sebelumnya, perlu diketahui apa itu user thread dan kernel thread.
User thread >> pengelolaan thread dilakukan oleh user level (pengguna)
Kernel thread >> pengelolaan thread dilakukan oleh kernel komputer User tidak dapat menginterupsi.

Model-model multithreading :
1. Many to one.
- Beberapa thread user-lever dipetakan ke dalam single kernel thread
- Penggunaannya pada sistem tidak memerlukan dukungan kernel thread

many2one
2. One to one
- Setiap user-level thread dipetakan ke kernel thread.
- Contoh : Windows 95/98/NT/2000

one2one
3. Many to many
- Membolehkan setiap user-level thread dipetakan ke banyak kernel thread
- Membolehkan sistem operasi membuat sejumlah kernel thread
- Contoh : Windows NT/2000 dengan paket ThreadFiber 10, Solaris 2



Kesimpulan:
Proses dan Thread merupakan dua bagian yang saling berhubungan dan berkaitan. Suatu 
program yang sedang dieksekusi merupakan pengertian dari sutau proses. Proses 
membutuhkan sumber daya. Sistem operasi mengeksekusi proses dengan dua cara yaitu batch 
system  yang mengeksekusi  jobs  dan  time-shared system  yang mengatur pengeksekusian 
program pengguna ( user) atau tasks. Proses berisikan stack yang menyimpan alamat register 
dan juga alamat dari sebuah instruksi yang berisikan data  – data  yang dibutuhkan untuk 
instruksi selanjutnya. Program Counter, register set serta stack merupakan bagian dari thread. 
Thread berbagi code section, data section dan juga sumber daya sistem operasi dengan thread 
lain yang dalam proses yang  sama. Kelebihan thread antara lain responsif, berbagi 
sumberdaya, ekonomis serta utilitas arsitektur mikroprosessor.