Laman udinoto

Selasa, 24 Oktober 2017

Threads pada Solaris (Sistem Operasi)

Threads Pada Solaris
Threads merupakan unit terkecil pada sistem operasi yang menjelaskan suatu proses mengenai status pada sebuah eksekusi (ready,running dll). Dalam thread terdapat program counter, register dan stack. Sistem operasi sangan mendukng  thread pada tingkatan kernel maupun pengguna dan memiliki proses sendiri dalam pengimplementasiannya, Seperti contohnya threads pada solaris
kernel Solaris memiliki kemampuan fully preemtible yang artinya semua thread, termasuk thread yang mendukung aktifitas kernel itu sendiri dapat ditunda untuk menjalankan thread dengan prioritas yang lebih tinggi; memiliki penjadwalan secara soft realtime; mendukung symmetrically multiprocessing yang mengoptimalkan kerja semua processornya dalam tingkatan yang sama, sehingga memberikan kualitas akses yang sama pada hardware computer yang lain dan; mendukung juga user-level multithreading. Kernel thread menggunakan resources yang sangat sedikit, dan peralihan kernel threadnya relative sangat sedikit karena tidak memerlukan sebuah perubahan space pada virtual memory.
    Dukungan multiprocessor pertama kali ditambahkan pada kernel Solaris, pengembang lebih mengutamakan pada kemampuan kernel, karena dengan kernel yang stabil, mampu meningkatkan concurrency, dan juga mampu mendukung dan mengontrol lebih dari satu thread dalam satu proses user. Thread sendiri mampu melaksanakan system calls dan menangani page faults secara independent. Untuk membuat kernel mendukung pengoperasian multiprocessor, thread mengontrol untuk menjalankan proses secara bersamaan pada processor yang berbeda. Para pengembang juga ingin kernel yang dibangun tersebut dapat beroperasi secara soft realtime, yang diperlukan untuk mengontrol penjadwalan yang berlebihan dan preemption adalah tindakan sementara pada proses yang sedang dilakukan oleh system computer, untuk melanjutkan proses di lain waktu. Dan preemption ini memungkinan untuk mengeksekusi pada banyak titik proses.


Proses pada Solaris
Kernel thread menggunakan resources yang sangat sedikit, dan peralihan kernel threadnya relative sangat sedikit karena tidak memerlukan sebuah perubahan space pada virtual memory. Kernel thread juga memiliki kemampuan fully preemptible dan dapat menjadwalkan berdasarkan prioritas pada realtime. Solaris mampu menggunakan kernel threads untuk memungkinkan asynchronous aktifitas kernel, seperti menulis asynchronous disk. Hal ini menghilangkan berbagai komplikasi dari idle loop dan menggantikannya dengan penjadwalan thread secara independent. Hal ini meningkatkan  concurrency karena tindakan yang ditangani oleh CPU terpisah dan memberikan aktifitas pada prioritas asynchronous sehingga dapat dijadwalkan secara tepat. Kernel thread juga menangani interrupt. Jika thread ditemukan interrupt, maka akan menguncinya pada blok-blok yang mengalami interrups tersebut dan memungkinkan untuk menghapus dan mencegah terjadinya deadlock. Karena membuat thread baru setiap kali terjadi interrupt itu sangat memakan waktu, maka kernel menyiapkan bagian-bagian untuk menginisialisasi thread interrupt tersebut, dan ketika interrupt terjadi maka satuan kerja tersebut memindahkannya pada tumpukan thread interrupt.

    Fitur utama pada multiprocessor kernel Solaris adalah dengan dukungan Lightweight Processes (LWPs). Dukungan LWPs sendiri adalah mendukung beberapa control dari kernel thread pada banyak proses user, seperti yang ditunjukan pada Gambar . Mereka berbagi space dengan proses, dan resources proses. Kernel mendukung pelaksanaan LWPs dengan menghubungkan penggunaan kernel thread dengan LWP masing-masing. Tiap-tiap user level library menggunakan LWPs untuk mengimplementasikan user level threads. Hal ini memungkinkan proses user memiliki ribuan thread tanpa membebankan kernel.

    Seperti yang dibahas sebelumnya, kernel Solaris dirancang untuk mencegah deadlocks yang disebabkan oleh thread interrupt. Hal ini dilakukan dengan memblokir thread-thread interrupt, jika ditemukan maka variable sinkronisasi akan terkunci dan menunggu sampai bagian yang critical sudah selesaikan. Strategi penguncian kernel ini digunakan untuk mengunci yang berbasis data. Didalam metode ini, setiap data dilindungi oleh objek sinkronisasi.

Namun ada juga penjelasan Threads pada solaris 2
Solaris 2 merupakan sistem operasi yang modern yang mendukung threads di dalam level kernel dan pengguna, multiprosesor simetrik (SMP), dan penjadualan real-time.
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) seperti pada solaris yang diatas. Setiap proses yang ada setidaknya mengandung minimal satu buah LWP. Dimana ada banyak threads  pada library threads namun hanya satu yang terpasang sisanya diblok.
Operasi-operasi di kernel seluruhnya dieksekusi oleh kernel-level threads yang standar. Terdapat satu kernel-level thread untuk tiap LWP, tetapi ada juga beberapa kernel-level threads yang berjalan di bagian kernel tanpa diasosiasikan dengan suatu LWP (misalnya thread untuk pengalokasian disk). Thread kernel-level merupakan satu-satunya objek yang dijadualkan ke dalam sistem (lihat Bagian 2.7 mengenai scheduling). Solaris menggunakan model many-to-many.
Thread level pengguna dalam Solaris bisa berjenis bound mau pun unbound. Suatu bound thread level pengguna secara permanen terpasang ke suatu LWP. Jadi hanya thread tersebut yang bekerja di LWP, dan dengan suatu permintaan, LWP tersebut bisa diteruskan ke suatu prosesor. Dalam beberapa situasi yang membutuhkan waktu respon yang cepat (seperti aplikasi real-time), mengikat suatu thread sangatlah berguna. Suatu thread yang unbound tidak secara permanen terpasang ke suatu LWP. Semua threads unbound dipasangkan (secara multiplex) ke dalam suatu ruang yang berisi LWP-LWP yang tersedia
untuk aplikasi. Secara default thread-thread yang ada adalah unbound. Misalnya sistem sedang beroperasi, setiap proses bisa mempunyai threads level pengguna yang banyak.User-user level thread ini bisa dijadual dan diganti di antara LWP-LWP-nya oleh thread library tanpa intervensi dari kernel. User-level threads sangatlah efisien karena tidak dibutuhkan bantuan kerja kernel oleh thread library untuk menukar dari satu user-level thread ke yang lain.
Setiap LWP terpasang dengan tepat satu kernel-level thread, dimana setiap user-level thread tidak tergantung dari kernel. Suatu proses mungkin mempunyai banyak LWP, tetapi mereka hanya dibutuhkan ketika thread harus berkomunikasi dengan kernel. Kernel-kernel threads dijadwal oleh penjadwal kernel dan dieksekusi di CPU atau CPU-CPU dalam sistemnya. Jika suatu kernel thread memblok (misalnya karena menunggu penyelesaian suatu proses I/O), prosesor akan bebas untuk menjalankan kernel thread yang akan ikut terblok.
Para pengembang menggunakan struktur-struktur data sebagai berikut untuk mengimplementasikan thread-thread dalam Solaris 2 yaitu user memilik ID threads yang dimana semua struktur data berasal dari ruang user, LWP memili -user level thread sebegai emori dan informasi pencatatan yg bertempat pada ruang kernel,  dan Suatu kernel thread hanya mempunyai struktur data yang kecil dan sebuah stack.
Setiap proses dalam Solaris 2 mempunyai banyak informasi yang terdapat di process control block (PCB). Secara umum, suatu proses di Solaris mempunyai suatu proses id (PID), peta memori, daftar dari berkas yang terbuka, prioritas, dan pointer yang menunjuk ke daftar LWP yang terasosiasi kedalam proses.
Sumber:

Sabtu, 07 Oktober 2017

Review VM Virtual Box (Sistem Operasi)

Review VM Virtual Box 


Oracle VM virttual box adalah Virtual Machine x86 yang dikembangkan oleh oracle cooperation yang dapat digunakan untuk urusan kantoran atau rumahan, dengan virtual box kita tidak perlu menginstall OS saat booting kita bisa mencoba OS yang ingin kita ketahui dengan virtual box. pada awalnya virtual box ini dikembangkan oleh inontek GmbH, dan diakuisisi oleh Sun Microsystem pada tahun 2008,kemudan diakuisisi oleh oracle pada 2010. Virtual box dapat digunakan untuk menginstall linux, solaris, windows, BSD, IBM OS/2, Mac OS x dan lainnya. Virtual box juga tersedia dalam berbagai bahasa dan juga bahasa indonesia, dan virtual box termasuk virtualisasi yang mudah untuk digunakan, dan virtual box bisa memuat beberapa OS yang 32 maupun 64 bit dalam virtual box manajer. VirtualBox mendukung kedua Intel VT-x dan AMD-V hardware-virtualisasi, di virtual box sistem mengemulasi hard disk dalam satu dari tiga format harddisk: VDI, VDMK, VHD. fitur dalam virtual box cukup banyak dan virtual box dapat mengatur ukuran ram yang digunakan untuk os tersebut dan chipset pada motherboardnya dan bisa mengatur prosesornya, lalu adaptor juga yang tersemabung pada jaringan yang bisa kita atur, hingga port serial dan USB kita dapat gunakan, dan support untuk video capturing. Virtual box juga memiliki dukungan paravirtualization untuk os Windows dan Linux untuk meningkatkan akurasi dan kinerja penyimpanan waktu. Dan sekarang virtual box sudah mencapai versi ke 5.2.
Berikut adalah tampilan virtual box manajer setelah menginstall os



Dan apabila ingin mensetting fiturnya cukup memencet pengaturan jika OS nya sudah terinstal maka akan muncul seperti gambar dibawah ini



Namun apabila kita ingin menginstall os baru cukup klik tombol yg dikiri atas dan buat baru maka akan muncul tampilan seperti ini  


Masukan nama, type dan versi nya jangan lupa untuk mempersiapkan dulu OS nya yg bisa di download di situs resminya. Setelah itu tekan lanjut maka anda bisa mengatur ukuran ram yg akan digunakan hanya dengan setelah itu akan ada opsi sebelum memilih tipe berkas yaitu:
Do not add a virtual hard disk
Opsi ini digunakan untuk tingkat mahir dimana hard disk virtual akan dibuat dalam pengaturan terpisah setelah pembuatan mesin virtual selesai.
  • Create a virtual hard disk now
    Opsi ini digunakan untuk membuat hard disk virtual baru bersamaan dengan pembuatan mesin vitual.
  • Use an existing virtual hard disk file
    Opsi ini digunakan untuk menggunakan hard disk virtual yang sudah pernah anda buat.


Setelah itu akan terdapat 3 opsi:
  • VDI (Virtualbox Disk Image) adalah format native dari Virtual Box
  • VHD (Virtual Hard Disk) adalah format native dari Microsoft Virtual PC
  • VMDK (Virtual Machine Disk) adalah format native dari VMWare

Jika anda tidak ingin menggunakannya untuk software virtualisasi lainnya pilih “VDI (VirtualBox Disk Image)”.
Lalu anda akan memilih harddisknya akan dialokasikan secara dinamik atau ukuran tetap yg penjelasannya sudah tertera 



Dan setelah itu anda dapat mengatur tempat OS itu dan ukurannya maka setelah itu anda klik pengaturan dan menuju penyimpanan untuk memasukan file isonya

 '
setelah itu klik ok dan anda dapat menekan start untuk melanjutkan penginstalan.


Sekian penjelasan dari saya kurang dan lebihnya mohon maaf terima kasih.