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.
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
bersama-sama 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 SPARC-based 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;
- 1965 : Bell Laborotaries bergabung dengan MIT dan General Electric mengembangkan Multics.
- 1970 : Ken Thompson dan Dennis Ritchie mengembangkan UNIX.
- 1965 : Bell Laborotaries bergabung dengan MIT dan General Electric mengembangkan Multics.
- 1970 : Ken Thompson dan Dennis Ritchie mengembangkan UNIX.
- 1971 : Versi B-Language dari sistem operasi jalan pada PDP-11.
- 1973 : UNIX ditulis ulang dalam bahasa C.
- 1974 : Thomson dan Ritchie mempublikasikan paper dan memacu antusiasme yangbesar terhadap UNIX di kalangan akademisi. Berkeley mulai mengembangkan BSD.
- 1975 : Versi license pertama UNIX BSD diluncurkan.
- 1979 : Bill Joy memperkenalkan "Berkeley Enhancements" sebagai BSD 4.1.
- 1982 : AT&T pertama kali memasarkan UNIX. Sun Microsystem berdiri (Sun singkatan dari Stanford University Network). Di perusahaan inilah Bill Joy sang pengembang UNIX BSD bergabung.
- 1983 : Sun Microsystem memperkenalkan SunOS‡
- 1984 : Sekitar 100.000 situs UNIX tersebar di seluruh dunia.
- 1988 : AT&T dan Sun mengawali pekerjaan pengembangan SVR4 (System VRelease 4) yang merupakan versi gabungan dari UNIX (BSD & System V).
- 1988 : OSF (Open Software Foundation) dibentuk, kemudian sebagai counternyaAT&T, Sun, Data General, dan Unisys membentuk UI (UNIX International).
- 1989 : AT&T meluncurkan System V, release 4.
- 1990 : OSF merluncurkan OSF/1.
- 1992 : Sun memperkenalkan Solaris, yang berbasis System V, Release. SunOSyang berbasis BSDF UNIX, akan di nonaktifkan.
- 1993 : Novell membeli UNIX dari AT&T.
- 1994 : Solaris 2.4 tersedia.
- 1995 : 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.
- 1997 : Solaris 2.6 tersedia di pasaran.
- 1998 : Solaris 7 tersedia di pasaran.
- 2000 : Solaris 8 tersedia di pasaran.
- 2001 : Solaris 9 Beta testing Q3.
- 2004 : Solaris 10 diluncurkan di pasaran. Pada versi ini Sun berencana untuk menjadikan Solaris sebagai open source. Pada versi ini Solaris dapat 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.
- 2011 : 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.
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 scanner
kemudian 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 rata-rata 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 melakukan pekerjaan 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 nikmat mengambil pekerjaan yang
telah berjalan untuk waktu yang lama atau proses yang telah
mengalokasikan jumlah yang relatif besar memori.
Perintah-perintah yang ada pada sistem operasi Solaris
Dalam
menuliskan sebuah perintah ada beberapa bentuk yaitu :
- Menggunakan perintah (command)
- Menggunakan perintah dengan option
- Menggunakan perintah dengan argument
- Menggunakan perintah dengan Option dan argument
a) Man
Dalam
sistem operasi solaris terdapat fasilitas bantuan jika tidak mengetahui bentuk
umum penulisan dari sebuah perintah baris, yaitu dengan menggunakan perintah man. Perintah “man” diperlukan untuk mengakses online sistem help.
$ man [perintah yang
ingin diketahui]
Contoh :
$ man man
$ man ls
b) pwd
Untuk
melihat apakah seorang pemakai sudah berada didalam direktori kerja, maka
seorang pemakai dapat memastikan bahwa dirinya sudah berada ditempat yang benar
dengan menggunakan perintah pwd (print working directory)
Contoh : $ pwd
/home/user
c) ls
Perintah
ls digunakan untuk menampilkan secara detail informasi dari isi sebuah direktori.
Contoh : $ls
$ls-1
d) cp
Perintah
ini digunakan untuk menyalin file yang diinginkan
Contoh : $ cp file1 file2
e) rm
Perintah
ini digunakan untuk menghapus file atau beberapa file sekaligus.
Contoh : $ rm file3
f) cd
Perintah
ini digunakan untuk pindah ke direktori lain. Jika menggunakan perintah “cd
pathname”, direktori yang dispesifikasikan akan menjadi current direktori. Pada
solaris, “ . “ merepresentasikan current direktori dan “ .. “ parent direktori.
Contoh : $ cd
$
cd usr/lib
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.
Source:
http://keto-kone69.blogspot.com/2012/12/sistem-operasi-solaris.html
extreme24.files.wordpress.com/2008/11/bab-7-pengenalan-sun-solaris.doc+&cd=2&hl=en&ct=clnk