Apa itu Solaris

SOLARIS
Pengertian Solaris
Solaris merupakan suatu operasi system turunan asli dari varian kernel Unix yang
dikembangkan pada tahun 1969 oleh American Telephone and Telegraph (AT&T). Solaris
pada umumnya digunakan untuk menjalankan web server dan database server. Sejak Sun
memulai membangun Solaris, pangsa pasar ditujukan untuk perusahaan menengah ke atas
(Enterprise). Solaris juga membangun sebuah operasi system yang berfokus pada bagaimana
Solaris bisa berjalan dengan baik dan stabil dengan membandingkan operasi system dengan
turunan Unix lainnya. Solaris memberikan dukungan pada kemampuan Multiprocessor,
bagaimana mengatasi deadlock, bagaimana menjaga dan meningkatkan CPU dan bagaimana
teknik memanajemen Memory yang baik. Jika dilakukan perbandingan multiprocessor pada
mesin yang sebanding antara Solaris 10 x86, RedHat Enterprise Linux 4, RedHat Enterprise
Linux 5 dan Windows Server 2003 R2. Solaris lebih unggul dalam stabilitas, efisiensi dan
juga memiliki kinerja terbaik pada sebuah system operasi.
Dukungan Multiprocessor
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.

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.
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.
Diagram Multithreading Levels and Relation ships
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 2. 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.
1. Deadlocks
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.
Kernel juga mengimplementasikan pencegahan deadlocks menggunakan penguncian
Mutual Exclusion (mutexes) untuk mencegah lebih dari satu thread dari tiap-tiap proses
ketika ditemukan penguncian. Ini menghindari race condition ketika mengakses data secara
bersamaan. Jika mutex tidak dapat mengatur penguncian tersebut, maka kebijakan
pemblokiran defaultnya adalah dengan cara memutari penguncian tersebut ke arah processor.
Status ini akan terus berulang jika tidak menjalankan suatu proses dan menghentikan putaran
tersebut, maka statusnya pun akan idle. Hal ini memberikan respon yang cepat dengan tingkat
overhead yang rendah.
Deadlocks Detection juga diimplementasikan, deadlocks ini disebabkan oleh
hierarchy violations yang mendeteksi pada saat runtime dengan menggunakan mekanisme
prioritas inheritance. Karena mekanisme ini tidak mampu mendeteksi semua deadlocks,
beberapa deadlocks yang tidak dapat terdeteksi adalah dengan kondisi yang bervariasi.
2. . Virtual Memory
Pada saat booting, Solaris membagi semua memori ke dalam tiap
tiap halaman. Biasanya,membagi 4 kilobyte, dan dapat berkisar
hingga 4 megabyte. Solaris menggunakan algoritma LRU Second Chance two-handed untuk
sistem virtual memory. Semua halaman diberikan kesempatan kedua bagi suatu halaman
untuk berada didalam memory karena halaman yang sudah lama berada di memory mungkin
saja adalah halaman yang sering digunakan dan akan digunakan lagi. Hal ini dilakukan oleh

thread kernel pada Solaris yang biasa disebut Scanner. Kesempatan kedua itu direalisasikan
dengan adanya bit acuan yang diset untuk suatu halaman. Halaman yang lebih dulu diakses

berada didepan antrian dan yang baru saja diakases berada dibelakang antrian. Ketika terjadi
kesalahan halaman, algoritma ini tidak langsung mengganti halaman didepan antrian tapi
terlebih dahulu memeriksa bit acuannya. Jika bit acuannya sama dengan nol, halaman
tersebut akan langsung diganti. Jika bit acuannya sama dengan satu, halaman tersebut akan
dipindahkan ke akhir antrian dan bit acuannya diubah menjadi nol, kemudian mengulangi
proses ini untuk halaman yang sekarang berada didepan antrian.
Scanning dilakukan secara berkala pada sistem dan tergantung pada jumlah free memory.
Aktifitas scanner sistem berada di bawah parameter lotsfree(batas parameter untuk memulai
paging dari free memory yang tersedia), yang defaultnya adalah 1/64 dari
memori utama. Pageout scannerkemudian akan melakukan
scanning antara batas tetap slowscan dan fastscan. Jika diperlukan, juga dapat
dikonfigurasi untuk menjaga scanner dari penggunaan waktu CPU yang berlebihan.
Setelah memori turun di bawah desfree, yang defaultnya setengah
dari lotsfree, akan memicutimer yang akan mencoba untuk mendapatkan ratarata memori dalam waktu 30 detik di atas desfree.Jika seperti itu maka akan memicu soft
swapping. Dalam soft swapping, akan menukar proses yang idle untuk jangka waktu
tertentu. Proses standard idle adalah 20 detik.
Jika CPU menghabiskan lebih banyak waktu mengganti halaman daripada

melakukanpekerjaan yang berguna (ketika rata-rata selama 30 detik turun di bawah minfree
[setengah dari desfree] dan free memory yang saat itu dibawah desfree), maka akan masuk
ke dalam swap. Jika terdapat proses yang membutuhkan memory besar dan membutuhkan
waktu yang lama maka swap mengambil alih.Bahkan menjalankan pekerjaan yang layak
untuk swap keluar, dan itu nikmatmengambil pekerjaan yang telah berjalan untuk waktu yang
lama atau proses yang telah mengalokasikan jumlah yang relatif besar memori.
Sejarah Singkat Solaris
Pada tahun 1969, engineers dari Bell Labs yang merupakan bagian dari AT&T,
membuat operasi system baru yang dibiayai oleh Departemen Pertahanan Amerika. Sistem ini
dikenal sebagai Unix, memiliki banyak fitur, namun fitur yang paling menonjol adalah
kemampuan untuk memungkinkan mengakses beberapa user pada waktu yang bersamaan.
Pada awalnya, AT&T tidak memperbolehkan menjual perangkat lunak, karena AT&T hanya
menerbitkan izin tanpa dukungan teknis pada pihak-pihak yang berkepentingan, salah
satunya pada Lembaga Ilmu Komputer University of California, Berkley, yang menggunakan
Unix pada tahun 1974. Pada tahun 1977, lulusan U.C. Berkley menciptakan Berkley Software
versi pertama yang mendistribusikan Unix. Hal ini menarik Departemen Pertahanan Amerika
yang sedang mencari cara untuk mendesentralisasikan jaringan komputernya. Maka bersamasama mengembangkan cara untuk mendesentralisasikan jaringan dan pada akhirnya tercipta
World Wide Web(WWW). Pada tahun 1987 Sun Microsystems dan AT&T bekerjasama
dalam satu aliansi untuk mengembangkan Unix System V Release 4(SVR4). Sejak saat itu
Sun memperbaiki dan mendukung OS Solaris yaitu dengan menambahkan lebih banyak lagi

fitur-fitur baru, termasuk untuk arsitektur komputer 64-bit. Versi minor SunOS yang dirilis
oleh Sun disertakan dalam penamaan Solaris, misalnya Solaris 2.4 yang merupakan SunOS
5.4. Namun setelah versi Solaris 2.6, Sun menghilangkan angka “2” di depan kodifikasi
versinya, sehingga rilis berikutnya SunOS 5.7 dinamakan sebagai Solaris 7 dan rilis terakhir
adalah Solaris 11. Oracle saat ini merilis Solaris 11 Express untuk platform SPARC dan x86,
Oracle Solaris sendiri dapat berjalan pada lebih dari 1.000 sistem dari produsen terkemuka

dan memegang ratusan rekor dunia pada Oracle’s Sun x86-based X-series server dan SPARCbased T-series dan M-series servers. Oracle Solaris 11 Express memberikan keamanan,
pengelolaan dan kinerja yang profesional IT.
Berikut secara jelas perkembangan Solaris dalam kurun waktu sebagai berikut;
1.

1965

2.
3.

1970
1965


4.
5.
6.
7.

1970
1971
1973
1974

8. 1975
9. 1979
10. 1982

11. 1983
12. 1988
13. 1988

14. 1989
15. 1990

16. 1992
17. 1993
18. 1994
19. 1995

20.
21.
22.
23.
24.

1997
1998
2000
2001
2004

: Bell Laborotaries bergabung dengan MIT dan General Electric
mengembangkan Multics.
: Ken Thompson dan Dennis Ritchie mengembangkan UNIX.

: Bell Laborotaries bergabung dengan MIT dan General Electric
mengembangkan Multics.
: Ken Thompson dan Dennis Ritchie mengembangkan UNIX.
: Versi B-Language dari sistem operasi jalan pada PDP-11.
: UNIX ditulis ulang dalam bahasa C.
: Thomson dan Ritchie mempublikasikan paper dan memacu antusiasme
yangbesar terhadap UNIX di kalangan akademisi. Berkeley mulai
mengembangkan BSD.
: Versi license pertama UNIX BSD diluncurkan.
: Bill Joy memperkenalkan "Berkeley Enhancements" sebagai BSD 4.1.
: AT&T pertama kali memasarkan UNIX. Sun Microsystem berdiri
(Sunsingkatan dari Stanford University Network). Di perusahaan inilah Bill
Joy sangpengembang UNIX BSD bergabung.
: Sun Microsystem memperkenalkan SunOS‡ 1984 : Sekitar 100.000 situs
UNIX tersebar di seluruh dunia.
: AT&T dan Sun mengawali pekerjaan pengembangan SVR4 (System VRelease
4) yang merupakan versi gabungan dari UNIX (BSD & System V).
: OSF (Open Software Foundation) dibentuk, kemudian sebagai
counternyaAT&T, Sun, Data General, dan Unisys membentuk UI (UNIX
International).

: AT&T meluncurkan System V, release 4.
: OSF merluncurkan OSF/1.
: Sun memperkenalkan Solaris, yang berbasis System V, Release. SunOSyang
berbasis BSDF UNIX, akan di nonaktifkan.
: Novell membeli UNIX dari AT&T.
: Solaris 2.4 tersedia.
: Santa Cruz Operation membeli UNIXware dari Novell. SCO dan HP
mengumumkan kerja sama untuk mengembangkan UNIX versi 64-bit. Solaris
2.5 tersedia di pasaran. Pada tahun ini juga Linux, versi UNIX yang ditulis
oleh Linus Tovalds secara aktif dikembangkan dan mengalami perkembangan
yang pesat dengan berkembangnya Internet di mana komunitas developer
dapat dengan mudah saling berhubungan secara online.
: Solaris 2.6 tersedia di pasaran.
: Solaris 7 tersedia di pasaran.
: Solaris 8 tersedia di pasaran.
: Solaris 9 Beta testing Q3.
: Solaris 10 diluncurkan di pasaran. Pada versi ini Sun berencana untuk
menjadikan Solaris sebagai open source. Pada versi ini Solaris dapat

25. 2011




menjalankan aplikasi-aplikasi yang jalan pada Linux secara native. Pada versi
sebelumnya, untuk dapat menjalankan aplikasi yang jalan di Linux pada
Solaris harus diinstall suatu package yang disebut Janus dan dijalankan
sebagai suatu service.
: Solaris 11 diluncurkan di pasaran. Sun Microsystem Inc. Memegang peranan
penting pada perkembangan Sun Solaris. Pada bulan Januari 2010, Sun
Microsystem melakukan akuisisi pada Oracle, maka Solaris dikenal sebagai
Oracle Solaris. Solaris mendistribusikan source codenya dibawah licensi
Common Development and Distribution License (CCDL). Oracle juga akan
memulai program mitra teknologi yang telah dilakukan pada produk-produk
lainnya dengan nama Oracle Technology Network (OTN) yang memberikan
akses serta izin atas source code solaris tersebut.

Kelebihan dan kekurangan solaris
1. Kelebihan :













Free redistribution, setiap user bisa membeli atau memberikan secara bebas software
tersebut oleh dirinya sendiri atau sebagai bagian dari kumpulan distributor.
Derived works, setiap orang bisa mengubah kode dan mendistribusikan kembali untuk
umum.
No discrimination, kode disediakan untuk semua orang agar bisa dikembangkan.
ZFS adalah Fasilitas Restore Mirip seperti feature Restore di sistem operasi Windows.
Banyak tool observasi dan debugging, misal seperti tool monitoring system, modular
debugger (MDB), dynamic tracing (D-Trace).
Memiliki beberapa bentuk virtulasasi, selain virtualisasi pada tingkat system operasi
seperti virtualisai pada Solaris Zone, OpenSolaris juga mendukung virtualisasi untuk Xvm
hypervisor, Logical Domains (LDoms), virtualbox dan bisa juga jalan pada VMware dan
beberapa framework virtualisasi yang lainnya.
Mempunyai tingkat skalabilitas yang tinggi. OpenSolaris dapat berjalan pada single
prosesor maupun multiprosesor dengan ratusan CPU dan RAM dengan ukuran terabyte.
Integrasi AMP stack (Apache, MySQL, PHP) untuk menjalankan web server.
Sistem file stabil untuk database, server Internet, Intranet, file-server, Internet-client,
pembangunan Java.
Solaris bisa dijalankan di atas prosesor yang berspek x86,x64 dan SPARC.

2. Kekurangan





Harga sistem operasi komersil yang mahal (versi berbayar).
Kepantasan inovasi Linux lama kelamaan memberi kesan kepada sistem Unix
komersil.
Sistem operasi Unix versi "hampir" percuma tidak sebaik sistem operasi Unix
komersil.
Driver hardware yang kurang baik.