ayo cari tau model name service dalam distribusi itu apa!

Untuk kali ini kita mau bahas tentang apa itu name service dan apa aja model dalam name service itu. Sebenernya tema akan lebih fokus dijelasin disini itu tentang apa saja model name service? Tapi gimana kita bisa tau apa aja model dari name service kalau kita ga tau name service itu apa! Disini di jelaskan yang di dapat dari wikipeida kalau, suatu name service menyimpan kumpulan satu atau lebih kontak penamaan – yaitu  himpunan keterkaitan antara nama dan atribut objek, seperti user, komputer, services dan remote object.
Dalam sistem terdistribusi, name service digunakan untuk menunjuk ke suatu sesumber yang beragam dan tersebar seperti komputer, layanan (services), file, remote object, use yang dapat memudahkan pengguna.
Contoh penamaan pada aplikasi sistem terdistribusi:
  • URL untuk mengakses suatu halaman web. 
  • Alamat e-mail utk komunikasi antar pemakai.
 Sebenarnya apa sih hubungan dari name service dengan pengantar terdistribusi? Nih sedikit dibahas apa sih sistem distrubusi itu, Sistem terdistribusi adalah kelompok komputer dan prosesor dihubungkan oleh jaringan. Sistem terdistribusi memungkinkan kumpulan komputer untuk memberikan pandangan global yang sama berbagi sumber daya. Sistem Terdistribusi vs sistem Jaringan itu terdapat perbedaan sistem terdistribusi dan sistem jaringan adalah bahwa sistem jaringan dilakukan  tidak mencoba untuk memberikan pandangan global yang konsisten dari sumber daya bersama. Sistem terdistribusi mempunyai sistem erat dan sistem jaringan tidak erat. Terdistribusi Sistem ini erat karena sistem terdistribusi memiliki banyak aturan yang harus  diikuti pada rangka mempertahankan integritas.

Model Sistem Terdistribusi
Sistem Terdistribusi memiliki dua model utama: model Client Server dan Peer-to-peer model. Model Client Server memiliki node klien membuat permintaan dan node Server  menerima permintaan dan proses permintaan klien. Dalam model peer-to-peer,  setiap komputer dalam sistem terdistribusi dapat memproses permintaan komputer lain. Sistem terdistribusi menyediakan berbagai tingkat transparansi untuk setiap node dalam jaringan. Sistem terdistribusi menyediakan transparansi nama, transparansi lokasi, akses transparansi, transparansi migrasi, transparansi replikasi, bersamaan dan paralelisme transparansi dan transparansi kegagalan. Transparansi terutama berarti bahwa ketika pengguna meminta layanan, pengguna tidak akan dapat membedakan apakah bersama sumber daya berada pada PC saat ini, atau dari sistem PC dalam sistem terdistribusi.

Selain itu, Kebutuhan terhadap Name Services itu seperti:
  • penamaan unik yang standard 
  • scalability 
  • consistency 
  • performance dan availability 
  • mudah menyesuaikan terhadap perubahan 
  • perlindungan kegagalan
Secara khusus, 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.

Contoh Name Service
  1. DNS (Domain Name Service) – memetakan nama domain ke alamat
  2. GNS (Global Name Service) – memetakan global name ke atribut-atribut dan skalabilitas, dapat menangani perubahan
  3. X500 directory service – memetakan nama orang ke dalam alamat suatu e-mail dan nomor telepon
  4. Jini discovery service – mencari objek sesuai dengan atribut yang ada
Dalam rangka memenuhi kebutuhan tersebut, sebuah name server setidaknya dapat menerapkan mekanisme berikut :  
  1.  Partitioning  : Tidak ada satu name server yang dapat menyimpan seluruhnama dan atribut untuk seluruh jaringan. Data nama dipartisi berdasarkan domain.  
  2. Replication : Sebuah domain biasanya memiliki lebih dari satu name server. Untuk meningkatkan availability dan performance. 
  3. 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.
 Name servers and navigation

Navigasi dan name servers di sini memiliki arti petunjuk pengaksesan nama data dari lebih dari satu name server untuk menyelesaikan suatu pemetaan nama (resolve a name). Yang didalamnya terdapat 3 metode,yaitu :
  • Iterative Navigation 

  • Non-recursive, server-controlled 
 
  • Recursive, server-controlled;

Kebutuhan akan penamaan tersebut memicu munculnya layanan penamaan (Naming Services) yang menyediakan mekanisme dan struktur penamaan objek itu sendiri. Contoh : DNS (Domain Name Service). Dan juga kebutuhan untuk pencarian objek berdasar nama dan juga atribut objek itu sendiri (Directory Service). Suatu nama akan diterjemahkan ke dalam suatu data tentang sesumber atau objek yang dimaksudkan. Gabungan antara objek dan nama disebut binding.
Dalam nama objek terdapat beberapa atribut yang merupakan properti suatu objek. Contoh :
• DNS : memetakan dari nama ke atribut alamat IP host
• X.500 : memetakan suatu nama seseorang ke beberapa atribut, seperti email, telepon, dsb.
• CORBA Naming Service yang memetakan nama remote objek ke remote object reference.

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

Ancaman terhadap Nama Layanan

Nama layanan adalah target serangan potensial pada mobile agent infrastruktur mendatang. DoS (Denial of Service) menyerang pada koneksi jaringan server nama yang sangat mengganggu karena semua agen dilayani oleh itu dipengaruhi simulta-  neously.

Ini salah satu model dari name service, contohnya ada linux, oracle, corba dll. 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). Beberapa contoh perangkat pengembangan berbasis CORBA yang berjalan di Linux antara lain: MICO dari mico.org (bahasa yang didukung: C++), Fnorb dari DSTC, Australia (Python), JacORB oleh Gerard Brose dari Freie Universitat, Berlin (Java), OmniORB2 dari AT&T (C++), serta tak ketinggalan pula ORBit keluaran laboratorium riset RedHat (mendukung bahasa C) yang dipakai dalam proyek Gnome. CORBA dirancang oleh Object Management Group (OMG) untuk terutama memberikan berorientasi objek interoperabilitas aplikasi dalam sistem terdistribusi heterogen. Itu penggunaan Object-Oriented desain, analisis, dan pengembangan menggunakan CORBA memungkinkan lebih besar usabilitas di sistem. Keuntungan dari Berorientasi Objek fitur seperti warisan, enkapsulasi, redefinisi dan dinamis mengikat diimplementasikan dalam CORBA. Obyek- fitur berorientasi objek CORBA juga efektif lebih mudah untuk memperluas dan memodifikasi tanpa mempengaruhi aplikasi lain dan objek. CORBA merangkum aplikasi dan menyediakan infrastruktur umum untuk komunikasi menggunakan ORB CORBA dan digunakan untuk menerima permintaan dan menemukan server objek.
CORBA mendorong pengembangan aplikasi yang terbuka, aplikasi yang dapat terintegrasi dengan sistem yang lebih besar. Kelebihan CORBA juga meliputi: transparansi lokasi, bahasa pemrograman transparansi, Sistem Operasi transparansi dan transparansi Komputer

Dalam satu sistem, Layanan Penamaan diimplementasikan menggunakan mendasari perusahaan- lebar penamaan server seperti CDS DCE. Layanan Penamaan digunakan untuk membangun besar, perusahaan-lebar penamaan grafik mana NamingContexts model "direktori" atau "Folder" dan nama lain mengidentifikasi "dokumen" atau "file" jenis objek. Di lain kata-kata, layanan penamaan digunakan sebagai tulang punggung sebuah sistem pengarsipan perusahaan-lebar.

Model Penamaan Layanan
Penamaan adalah gudang yang referensi nama toko objek. Layanan Penamaan digunakan untuk terletak objek dalam CORBA. Layanan Penamaan dapat digunakan untuk mengambil objek referensi. Operasi layanan dapat dipanggil, melalui referensi objek.  Penamaan mendukung dua operasi dasar: toko (mengikat) dan mengambil (menyelesaikan). Layanan mengiklankan ketersediaan mereka untuk Layanan Penamaan dengan referensi objek mereka nama.

Keuntungan dari Layanan Penamaan
Penamaan mendukung lingkungan didistribusikan. Penamaan Service adalah layanan standar dan implementasi yang platform independen.

Kekurangan Penamaan Layanan
Layanan penamaan tidak tersedia untuk semua implementasi, tetapi dapat dengan mudah diimplementasikan jika diperlukan

 referensi:

Apa ya pengertian serta kelebihan dari proses dan thread pada OS itu?

Dari judul yang sudah kita lihat bisa kita tebak apa yang akan dibahas, nah bagi siapapun itu saya mau coba jelasin nih apa itu thread?, apa itu proses? Dan kekurangan serta kelebihannya di dalam OS.

Thread merupakan unit dasar dari penggunaan CPU yang terdiri dari Thread_ID, program counter, register set, dan stack dan thread disebut juga lightweight process. Secara umum kita bisa simpulkan bahwa, Thread adalah sebuah alur kontrol dari sebuah proses. Suatu proses yang multithreaded mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama. Keuntungan dari multithreaded meliputi peningkatan respon dari pengguna (responsif), pembagian sumber daya proses, ekonomis, dan kemampuan untuk mengambil keuntungan dari arsitektur multiprosesor. Akan tetapi, multithread juga dapat merugikan pengguna. Salah satunya, jika digunakan secara berlebihan, multithreading akan berdampak pada pemborosan resource dan CPU yang dialokasikan untuk switching threads.

                Selain itu dapat dilihta disini keuntungan dari thread yaitu:
  • Responsiveness : Melakukan multithreading pada aplikasi yang interaktif dapat membuat program terus berjalan meskipun bagian dari program tersebut diblok atau sedang menjalankan operasi yang panjang, karena itu dapat meningkatkan respon kepada user. 
  • Resource sharing : sebuah aplikasi dapat mempunyai beberapa thread yang berbeda dalam sebuah alamat memori yang sama karena Thread berbagi memori dan sumber daya dari proses yang memilikinya.
  • Economy: karena mahal untuk mengalokasikan memori dan sumber daya untuk pembuatan proses. Alternatifnya adalah dengan pengunaan thread sebab thread berbagi sumber daya dari proses yang memilikinya oleh sebab itu akan lebih ekonomis untuk membuat sebuah thread 
  • Utilization of multiproccesor architectures: keuntungan dari multithreading dapat meningkat secara drastis dalam arsitektur multiprosesor, dimana setiap thread dapat berjalan secara pararel pada prosesor yang berbeda.
Keadaan thread yang dapat kita ketahui seperti:

  1. new: sebuah thread pada keadaan ini ada ketika objek dari thread tersebut dibuat. 
  2. runnable: memanggil start() method untuk mengalokasikan memori bagi thread baru dalam JVM dan memanggil run() method untuk membuat objek. 
  3. block: sebuah thread akan diblok jika menampilkan sebuah kalimat pengeblokan. Contohnya: sleep() atau suspend(). 
  4. dead: sebuah thread dipindahkan ke keadaan dead ketika run() method berhenti atau ketika stop() method dipanggil.


Thread pada OS seperti, Threads di dalam Solaris 2 sudah dilengkapi dengan library mengenai API-API untuk pembuatan dan managemen thread. Di dalam Solaris 2 terdapat juga level tengah thread. Di antara level pengguna dan level kernel thread terdapat proses ringan/ lightweight (LWP). Setiap proses yang ada setidaknya mengandung minimal satu buah LWP. Library thread memasangkan beberapa thread level pengguna ke ruang LWP-LWP untuk diproses, dan hanya satu user-level thread yang sedang terpasang ke suatu LWP yang bisa berjalan. Sisanya bisa diblok mau pun menunggu untuk LWP yang bisa dijalankan.

Ada tiga perbedaan tipe dari model yang berhubungan dengan user dan kernel thread.
  • Model many to one: memetakan beberapa user level thread hanya ke satu buah kernel thread.
  • Model one to one: memetakan setiap user thread ke dalam satu kernel thread. Berakhir.
  • Model many to many: mengizinkan pengembang untuk membuat user thread sebanyak mungkin, konkurensi tidak dapat tercapai karena hanya satu thread yang dapat dijadualkan oleh kernel dalam satu waktu.
Nah kan thread udah sedikit saya bahas sekarang saatnya bahas tentang proses yuk! Proses adalah suatu program yang sedang dieksekusi. Suatu proses meliputi:
·         Program counter
Tempat untuk menyimpan alamat suatu proses yang akan dieksekusi selanjutnya
·         Stack
tempat penyimpanan temporary data yang dibutuhkan selama program dieksekusi
·         Data section
mengandung variabel global dari suatu proses

Itu kan dibahas secara khusus, tapi kalo secara informal; proses adalah program dalam eksekusi. Suatu proses itu merupakan 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.
Keadaan proses itu seperti di bawah ini:

·         New                      : Proses sedang dikerjakan/ dibuat.
·         Running              : Instruksi sedang dikerjakan.
·         Waiting               : Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/Oatau penerimaan sebuah tanda/ signal).
·         Ready                  : Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
·         Terminated      : Proses telah selsesai melaksanakan tugasnya/ mengeksekusi.

Dari pernyataan dan pengertian antara thread dan proses maka kita bisa simpulkan bahwa perbedaan thread dengan prose situ adalah thread berbeda dengan proses karena thread memiliki address space yang sama yang artiya mereka berbagi variable global. karenanya masing2 thread dapat saling mengakses virtual address, membaca, menulis bahkan menghentikan thread lain. Sedangkan proses bisa dimiliki oleh user dan kemungkinan proses tersebut menunggu atau ditahan proses yang lain. proses selalu dimiliki oleh satu user sehingga mereka dapat saling bekerja sama tidak saling berbenturan.

alhasil hanya segitu yang bisa saya bagiin deh informasinya, makasih juga buat referensi di bawah yang udah membantu banget. kalo masi ada yang kurang dilanjutin pembahasan lain kali ya.. terima kasih...
Referensi :
file.unsri.ac.id/.../%5BRev%5DTugas3_SO_MayaKinanty_SK4B.doc
[1] Naghibzadeh, Mahmoud  (2005) Operating Systems Concepts and Techniques. United Stated of America. iUniverse (Published)
[2] Tanenbaum, Andrew and Woodhull, Albert (1997) Operating Systems Design and Implementation Second Edition. United State of America. Pearson Education International (Published)
[3] Stallings, William (2009) Operating Systems Internals and Design Principles Sixth Edition. United State of America. Pearson Prentice Hall (Published)
[4] Silberschatz, Abraham and Galvin, Peter Baer and Gagne, Greg (2005) Operating System Concepts Seventh Edition. United State of America. John Wiley and Sons (Published)
[5] Patterson, David A. and Hennessy, John L (2005) Computer Organization and Design. United State of America. Morgan Kauffman Publishers (Published)