Sistem operasi
Dalam Ilmu komputer, Sistem operasi atau dalam bahasa Inggris: operating system atau OS adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah kata dan browser web.
Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi.
Pendahuluan
Biasanya, istilah Sistem Operasi sering ditujukan kepada semua software yang masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi software terinstall. Dalam Ilmu komputer, Sistem operasi atau dalam bahasa Inggris: operating system atau OS adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah kata dan browser web.
Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditempatkan pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi.
Kalau sistem komputer terbagi dalam lapisan-lapisan, maka Sistem Operasi adalah penghubung antara lapisan hardware dan lapisan software. Lebih jauh daripada itu, Sistem Operasi melakukan semua tugas-tugas penting dalam komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar. Sistem Operasi menjamin aplikasi software lainnya dapat menggunakan memori, melakukan input dan output terhadap peralatan lain, dan memiliki akses kepada sistem file. Apabila beberapa aplikasi berjalan secara bersamaan, maka Sistem Operasi mengatur skedule yang tepat, sehingga sedapat mungkin semua proses yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta tidak saling mengganggu.
Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka dari fungsi-fungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut dari awal.
Sistem Operasi secara umum terdiri dari beberapa bagian:
1. Mekanisme Boot, yaitu meletakkan kernel ke dalam memory
2. Kernel, yaitu inti dari sebuah Sistem Operasi
3. Command Interpreter atau shell, yang bertugas membaca input dari pengguna
4. Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain
5. Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrol mereka.
Sebagian Sistem Operasi hanya mengizinkan satu aplikasi saja yang berjalan pada satu waktu, tetapi sebagian besar Sistem Operasi baru mengizinkan beberapa aplikasi berjalan secara simultan pada waktu yang bersamaan. Sistem Operasi seperti itu disebut sebagai Multi-tasking Operating System. Beberapa Sistem Operasi berukuran sangat besar dan kompleks, serta inputnya tergantung kepada input pengguna, sedangkan Sistem Operasi lainnya sangat kecil dan dibuat dengan asumsi bekerja tanpa intervensi manusia sama sekali. Tipe yang pertama sering disebut sebagai Desktop OS, sedangkan tipe kedua adalah Real-Time OS
Sebagai contoh, yang dimaksud sistem operasi itu antara lain adalah Windows, Linux, Free BSD, Solaris, palm, dan sebagainya.
Layanan Inti Umum
Seiring dengan berkembangnya Sistem Operasi, semakin banyak lagi layanan yang menjadi layanan inti umum. Kini, sebuah OS mungkin perlu menyediakan layanan network dan koneksitas internet, yang dulunya tidak menjadi layanan inti umum. Sistem Operasi juga perlu untuk menjaga kerusakan sistem komputer dari gangguan program perusak yang berasal dari komputer lainnya, seperti virus. Daftar layanan inti umum akan terus bertambah.
Program saling berkomunikasi antara satu dengan lainnya dengan Antarmuka Pemrograman Aplikasi, Application Programming Interface atau disingkat dengan API. Dengan API inilah program aplikasi dapat berkomunikasi dengan Sistem Operasi. Sebagaimana manusia berkomunikasi dengan komputer melalui Antarmuka User, program juga berkomunikasi dengan program lainnya melalui API.
Walaupun demikian API sebuah komputer tidaklah berpengaruh sepenuhnya pada program-program yang dijalankan diatas platform operasi tersebut. Contohnya bila program yang dibuat untuk windows 3.1 bila dijalankan pada windows 95 dan generasi setelahnya akan terlihat perbedaan yang mencolok antara window program tersebut dengan program yang lain.
Sistem Operasi Saat Ini
Sistem operasi-sistem operasi utama yang digunakan komputer sistem umum (termasuk PC, komputer personal) terbagi menjadi 3 kelompok besar:
1. Keluarga Microsoft Windows - yang antara lain terdiri dari Windows Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows 7 (Seven) yang akan dirilis pada tahun 2009, dan Windows Orient yang akan dirilis pada tahun 2014)).
2. Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd.
3. Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau Macintosh. Sistem operasi yang terbaru adalah Mac OS X versi 10.4 (Tiger). Awal tahun 2007 direncanakan peluncuran versi 10.5 (Leopard).
Sedangkan komputer Mainframe, dan Super komputer menggunakan banyak sekali sistem operasi yang berbeda-beda, umumnya merupakan turunan dari sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX, HP/UX, dll.
Proses
Prosesor mengeksekusi program-program komputer. Prosesor adalah sebuah chip dalam sistem komputer yang menjalankan instruksi-instruksi program komputer. Dalam setiap detiknya prosesor dapat menjalankan jutaan instruksi.
Program adalah sederetan instruksi yang diberikan kepada suatu komputer. Sedangkan proses adalah suatu bagian dari program yang berada pada status tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita lebih sering membahas proses dibandingkan dengan program. Pada Sistem Operasi modern, pada satu saat tidak seluruh program dimuat dalam memori, tetapi hanya satu bagian saja dari program tersebut. Sedangkan bagian lain dari program tersebut tetap beristirahat di media penyimpan disk. Hanya pada saat dibutuhkan saja, bagian dari program tersebut dimuat di memory dan dieksekusi oleh prosesor. Hal ini sangat menghemat pemakaian memori.
Beberapa sistem hanya menjalankan satu proses tunggal dalam satu waktu, sedangkan yang lainnya menjalankan multi-proses dalam satu waktu. Padahal sebagian besar sistem komputer hanya memiliki satu prosesor, dan sebuah prosesor hanya dapat menjalankan satu instruksi dalam satu waktu. Maka bagaimana sebuah sistem prosesor tunggal dapat menjalankan multi-proses? Sesungguhnya pada granularity yang sangat kecil, prosesor hanya menjalankan satu proses dalam satu waktu, kemudian secara cepat ia berpindah menjalankan proses lainnya, dan seterusnya. Sehingga bagi penglihatan dan perasaan pengguna manusia, seakan-akan prosesor menjalankan beberapa proses secara bersamaan.
Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga merubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).
Status Proses
Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu:
1. Ready, yaitu status dimana proses siap untuk dieksekusi pada giliran berikutnya
2. Running, yaitu status dimana saat ini proses sedang dieksekusi oleh prosesor
3. Blocked, yaitu status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas
Haiku (sistem operasi)
Haiku, sebelumnya dikenal sebagai OpenBeOS, adalah sebuah proyek sistem operasi open source untuk menciptakan Be Operating System pada komputer x86 dan PowerPC. Dimulai sebagai "OpenBeOS" pada 2001 setelah Be dibeli oleh Palm, Inc. dan BeOS tidak lagi dilanjutkan. Pada 2004 nama baru dipilih untuk menghindari pelanggaran hak nama Palm. Proyek ini dikendalikan oleh Haiku Incorporated, sebuah perusahaan nirlaba di New York.
Linux
Linux (diucapkan ˈlɪnəks atau /ˈlɪnʊks/)[1] adalah nama yang diberikan kepada sistem operasi komputer bertipe Unix. Linux merupakan salah satu contoh hasil pengembangan perangkat lunak bebas dan sumber terbuka utama. Seperti perangkat lunak bebas dan sumber terbuka lainnya pada umumnya, kode sumber Linux dapat dimodifikasi, digunakan dan didistribusikan kembali secara bebas oleh siapapun.[2]
Nama "Linux" berasal dari nama kernelnya (kernel Linux), yang dibuat tahun 1991 oleh Linus Torvalds. Sistemnya, peralatan sistem dan pustakanya umumnya berasal dari sistem operasi GNU, yang diumumkan tahun 1983 oleh Richard Stallman. Kontribusi GNU adalah dasar dari munculnya nama alternatif GNU/Linux.[3]
Linux telah lama dikenal untuk penggunaannya di server, dan didukung oleh perusahaan-perusahaan komputer ternama seperti Dell, Hewlett-Packard, IBM, Novell, Oracle Corporation, Red Hat, dan Sun Microsystems. Linux digunakan sebagai sistem operasi di berbagai macam jenis perangkat keras komputer, termasuk komputer desktop, superkomputer,[4], dan sistem benam seperti pembaca buku elektronik, sistem permainan video (PlayStation 2, PlayStation 3 dan XBox[5]), telepon genggam dan router. Para pengamat teknologi informatika beranggapan kesuksesan Linux dikarenakan Linux tidak bergantung kepada vendor (vendor independence), biaya operasional yang rendah, dan kompatibilitas yang tinggi dibandingkan versi UNIX tak bebas, serta faktor keamanan dan kestabilannya yang tinggi dibandingkan dengan sistem operasi lainnya seperti Microsoft Windows. Ciri-ciri ini juga menjadi bukti atas keunggulan model pengembangan perangkat lunak sumber terbuka (opensource software).
Sistem operasi Linux yang dikenal dengan istilah distribusi Linux (Linux distribution) atau distro Linux umumnya sudah termasuk perangkat-perangkat lunak pendukung seperti server web, bahasa pemrograman, basisdata, tampilan desktop (desktop environment) (seperti GNOME dan KDE), dan paket aplikasi perkantoran (office suite) seperti OpenOffice.org, KOffice, Abiword, dan Gnumeric.
Sejarah
Richard Stallman, pendiri proyek GNU, dan Linus Torvalds, pembuat kernel Linux
Sistem operasi Unix dikembangkan dan diimplementasikan pada tahun 1960-an dan pertama kali dirilis pada 1970. Faktor ketersediaannya dan kompatibilitasnya yang tinggi menyebabkannya dapat digunakan, disalin dan dimodifikasi secara luas oleh institusi-institusi akademis dan pada pebisnis.
Proyek GNU yang mulai pada 1984 memiliki tujuan untuk membuat sebuah sistem operasi yang kompatibel dengan Unix dan lengkap dan secara total terdiri atas perangkat lunak bebas.[6] Tahun 1985, Richard Stallman mendirikan Yayasan Perangkat Lunak Bebas dan mengembangkan Lisensi Publik Umum GNU (GNU General Public License atau GNU GPL). Kebanyakan program yang dibutuhkan oleh sebuah sistem operasi (seperti pustaka, kompiler, penyunting teks, shell Unix dan sistem jendela) diselesaikan pada awal tahun 1990-an, walaupun elemen-elemen tingkat rendah seperti device driver, jurik dan kernel masih belum selesai pada saat itu.[7] Linus Torvalds pernah berkata bahwa jika kernel GNU sudah tersedia pada saat itu (1991), dia tidak akan memutuskan untuk menulis versinya sendiri.
MINIX
MINIX, sebuah sistem bertipe Unix yang ditujukan untuk penggunaan akademis dirilis oleh Andrew S. Tanenbaum pada tahun 1987. Kode sumber MINIX 1.0 tercantum dalam bukunya Operating Systems: Design and Implementation. Walaupun dapat secara mudah didapatkan, modifikasi dan pendistribusian ulang tidak diperbolehkan pada saat itu. Hak cipta dari kode sumbernya termasuk ke dalam hak cipta dari bukunya yang dipublikasikan oleh Prentice Hall. Sebagai tambahan, disain versi 16-bit dari MINIX kemudian tidak secara baik diadaptasikan kepada versi 32-bit dari arsitektur Intel 386 yang murah dan populer yang digunakan secara luas di komputer pribadi.
Tahun 1991, Torvalds mulai bekerja untuk membuat versi non-komersial pengganti MINIX sewaktu ia belajar di Universitas Helsinki.[9] Hasil kerjaannya itu yang kemudian akan menjadi kernel Linux.
Pada tahun 1992, Tanembaum menulis sebuah artikel di Usenet, mengklaim bahwa Linux sudah ketinggalan zaman. Dalam artikelnya, ia mengkritik Linux sebagai sebuah sistem operasi dengan rancangan monolitik dan terlalu terpaku dengan arsitektur x86 sehingga tidak bersifat portable, di mana digambarkannya sebagai sebuah "kesalahan mendasar".[10] Tanenbaum menyarankan bahwa mereka yang menginginkan sebuah sistem operasi modern harus melihat kepada sebuah rancangan yang berdasarkan kepada model mikrokernel. Tulisan tersebut menekankan tanggung jawab Torvalds yang berujung kepada sebuah debat tentang rancangan kernel monolitik dan mikrokernel.[10]
Sekarang ini Linux telah digunakan di berbagai domain, dari sistem benam[11] sampai superkomputer,[12] dan telah mempunyai posisi yang aman dalam instalasi server web dengan aplikasi LAMP-nya yang populer.[13] Pengembangan kernel Linux masih dilanjutkan oleh Torvalds, sementara Stallman mengepalai Yayasan Perangkat Lunak Bebas yang mendukung pengembangan komponen GNU. Selain itu, banyak individu dan perusahaan yang mengembangkan komponen non-GNU. Komunitas Linux menggabungkan dan mendistribusikan kernel, komponen GNU dan non-GNU dengan perangkat lunak manajemen paket dalam bentuk distribusi Linux.
Pengucapan
Pada tahun 1992, Torvalds menjelaskan bagaimana ia mengeja kata Linux:
“ 'li' dieja dengan bunyi [ee] pendek, 'nux' juga pendek, non-diftong, seperti dalam pUt. Linux hanya merupakan nama kerja untuk sesuatu, dan karena saya menulisnya untuk menggantikan minix di sistemku, hasilnya adalah apa adanya... linus' minix menjadi linux. ”
Torvalds membuat sebuah contoh audio yang berisi suara bagaimana pengejaannya dalam bahasa Inggris dan Swedia.[14][15] Tetapi, sebuah wawancara dari dokumentasi tahun 2001 Revolution OS mengindikasikan bahwa cara pengejaannya sedikit berubah.[16]
Dalam bahasa Inggris, banyak orang cenderung mengeja Linux sebagai [ˈlɪnʊks] atau [ˈlɪnəks].
Disain
Linux merupakan sistem operasi bertipe Unix modular. Linux memiliki banyak disain yang berasal dari disain dasar Unix yang dikembangkan dalam kurun waktu 1970-an hingga 1980-an. Linux menggunakan sebuah kernel monolitik, kernel Linux yang menangani kontrol proses, jaringan, periferal dan pengaksesan sistem berkas. Device driver telah terintegrasi ke dalam kernel.
Banyak fungsi-fungsi tingkat tinggi di Linux ditangani oleh proyek-proyek terpisah yang berintegrasi dengan kernel. Userland GNU merupakan sebuah bagian penting dari sistem Linux yang menyediakan shell dan peralatan-peralatan yang menangani banyak fungsi-fungsi dasar sistem operasi. Di atas kernel, peralatan-peralatan ini membentuk sebuah sistem Linux lengkap dengan sebuah antarmuka pengguna grafis yang dapat digunakan, umumnya berjalan di atas X Window System
Antarmuka pengguna
Lihat pula: Antarmuka pengguna
Linux dapat dikendalikan oleh satu atau lebih antarmuka baris perintah (command line interface atau CLI) berbasis teks, antarmuka pengguna grafis (graphical user interface atau GUI, yang umumnya merupakan konfigurasi bawaan untuk versi desktop).
Pada komputer meja, GNOME, KDE dan Xfce merupakan antarmuka pengguna yang paling populer,[17] walaupun terdapat sejumlah varian antarmuka pengguna. Antarmuka pengguna yang paling populer berjalan di atas X Window System (X), yang menyediakan transparansi jaringan yang memperolehkan sebuah aplikasi grafis berjalan di atas satu mesin tetapi ditampilkan dan dikontrol di mesin yang lain.
GUI yang lain memiliki X window manager seperti FVWM, Enlightenment, Fluxbox dan Window Maker. Manajer jendela menyediakan kontrol untuk penempatan dan penampilan dari jendela-jendela aplikasi individual serta interaksi dengan sistem jendela X.
Sebuah sistem Linux umumnya menyediakan sebuah antarmuka baris perintah lewat sebuah shell, yang merupakan cara tradisional untuk berinteraksi dengan sebuah sistem Unix. Sebuah distro Linux yang dikhususkan untuk lingkungan peladen mungkin hanya memiliki CLI sebagai satu-satunya antarmuka. Sebuah sistem yang tidak memiliki monitor hanya dapat dikontrol melalui baris perintah lewat protokol seperti SSH atau telnet.
Kebanyakan komponen tingkat rendah Linux, termasuk GNU Userland, menggunakan CLI secara ekslusif. CLI cocok untuk digunakan pada lingkungan otomasi tugas-tugas yang repetitif atau tertunda, dan menyediakan komunikasi inter-proses yang sangat sederhana. Sebuah program emulator terminal grafis sering digunakan untuk mengakses CLI dari sebuah Linux desktop.
Pengembangan
Sebuah ringkasan sejarah sistem operasi-sistem operasi bertipe Unix menunjukkan asal usul Linux. Perhatikan walaupun memiliki konsep dan disain arsitektur yang sama, Linux tidak memiliki kode sumber yang tidak bebas seperti halnya Unix atau Minix.
Perbedaan utama antara Linux dan sistem operasi populer lainnya terletak pada kernel Linux dan komponen-komponennya yang bebas dan terbuka. Linux bukan satu-satunya sistem operasi dalam kategori tersebut, walaupun demikian Linux adalah contoh terbaik dan terbanyak digunakan. Beberapa lisensi perangkat lunak bebas dan sumber terbuka berdasarkan prinsip-prinsip copyleft, sebuah konsep yang menganut prinsip: karya yang dihasilkan dari bagian copyleft harus juga merupakan copyleft. Lisensi perangkat lunak bebas yang paling umum, GNU GPL, adalah sebuah bentuk copyleft, dan digunakan oleh kernel Linux dan komponen-komponen dari proyek GNU.
Sistem Linux berkaitan erat dengan standar-standar POSIX,[18] SUS,[19] ISO dan ANSI. Akan tetapi, baru distribusi Linux-FT saja yang mendapatkan sertifikasi POSIX.1.[20]
Proyek-proyek perangkat lunak bebas, walaupun dikembangkan dalam bentuk kolaborasi, sering dirilis secara terpisah. Akan tetapi, dikarenakan lisensi-lisensi perangkat lunak bebas secara eksplisit mengijinkan distribusi ulang, terdapat proyek-proyek yang bertujuan untuk mengumpulkan perangkat lunak-perangkat lunak tersebut dan menjadikannya tersedia dalam waktu bersamaan dalam suatu bentuk yang dinamakan distribusi Linux.
Sebuah distribusi Linux, yang umum disebut dengan "distro", adalah sebuah proyek yang bertujuan untuk mengatur sebuah kumpulan perangkat lunak berbasis Linux dan memfasilitasi instalasi dari sebuah sistem operasi Linux. Distribusi-distribusi Linux ditangani oleh individu, tim, organisasi sukarelawan dan entitas komersial. Distribusi Linux memiliki perangkat lunak sistem dan aplikasi dalam bentuk paket-paket dan perangkat lunak yang spesifik dirancang untuk instalasi dan konfigurasi sistem. Perangkat lunak tersebut juga bertanggung jawab dalam pemutakhiran paket. Sebuah Distribusi Linux bertanggung jawab atas konfigurasi bawaan, sistem keamanan dan integrasi secara umum dari paket-paket perangkat lunak sistem Linux.
No comments:
Post a Comment