Showing posts with label OPERATING SYSTEM. Show all posts
Showing posts with label OPERATING SYSTEM. Show all posts

Friday, December 14, 2007

Sejarah Linux

Linux atau GNU/Linux adalah sistem operasi bebas yang sangat populer. Istilah Linux atau GNU/Linux (GNU) juga digunakan bagi merujuk kepada keseluruhan edaran Linux (Linux distribution), yang selalunya disertakan program-program lain selain Sistem Pengoperasian. Contoh-contoh program adalah seperti Server Web, Bahasa Pengaturcaraan, Basis Data, Persekitaran Desktop (Desktop environment) (seperti GNOME dan KDE), dan suite kantor (office suite) seperti OpenOffice.org. Edaran-edaran Linux telah mengalami pertumbuhan yang pesat dari segi kepopuleran, sehingga lebih populer dari versi UNIX yang propritari (proprietary) dan mula menandingi dominasi Microsoft Windows dalam beberapa kasus.Linux menyokong banyak Perkakasan Komputer, dan telah diguna di dalam berbagai peralatan dari Komputer pribadi sampai Superkomputer dan Sistem Benam (Embedded System) (seperti Telefon Mudahalih dan Perekam Video pribadi Tivo).Pada mulanya, ia dibuat dan digunakan oleh peminatnya saja. Kini Linux telah mendapat sokongan dari perusahaan besar seperti IBM, dan Hewlett-Packarddan perusahaan besar lain. Para penganalisa menujukan kejayaannya ini disebabkan karena Linus tidak bergantung kepada vendor (vendor-independence), biaya perkakasan yang rendah, dan kepantasannya berbanding versi UNIX proprietari, serta faktor keselamatan dan kestabilannya berbanding dengan Microsoft Windows. Ciri-ciri ini juga menjadi bukti atas keunggulan model pembangunan sumber terbuka.SejarahKernel Linux pada mulanya ditulis sebagai hobi oleh pelajar universitas Finland Linus Torvalds yang belajar di Universitas Helsinki, untuk membuat kernel Minix yang bebas dan dapat sunting. (Minix adalah projek pelajaran menyerupai UNIX direka untuk mudah dan bukannya untuk kegunaan perniagaan.) Versi 0.01 dikeluarkan ke Internet pada September 1991, Versi 0.02 pada 5 Oktober 1991. [1]Berikutnya, beribu-ribu penulis program sukarelawan seluruh dunia telah menyertai projek ini.Sejarah sistem pengoperasian berdasarkan Linux berkaitan arat dengan projek GNU, projek program bebas terkenal diketuai oleh Richard Stallman. Projek GNU bermula pada 1983 untuk membuat sistem pengoperasian seperti Unix lengkap — kompiler, utiliti aplikasi, utiliti pembangunan dan seterusnya — dikarang sepenuhnya dengan Program Bebas. Pada 1991, apabila versi pertama kerangka Linux ditulis, projek GNU project telah menghasilkan hampir kesemua komponen sistem ini — kecuali kernel. Torvalds dan pembangun kernel seperti Linux menyesuaikan kernel mereka supaya dapat berfungsi dengan komponen GNU, dan seterusnya mengeluarkan Sistem Pengoperasian yang cukup berfungsi. Oleh itu, Linux melengkapkan ruang terakhir dalam rancangan GNU.Walaupun kernel Linux dilisensikan di bawah GNU General Public License, ia bukannya sebesar dari projek GNU.Tux, seekor Penguin, merupakan logo dan maskot bagi Linux. Linux adalah tandaniaga (SN: 1916230) yang dimiliki oleh Linus Torvalds. Linux terdaftar sebagai "Program sistem pengoperasian komputer bagi penggunaan komputer dan operasi". Tandaniaga ini diletak setelah berlaku suatu kejadian di mana seorang pemalsu bernama William R Della Croce Jr mula menghantar surat kepada para pengedar Linux yang megklaim tandaniaga Linux adalah kepunyaannya serta meminta royalti sebanyak 10% dari mereka. Para pengedar Linux mulai mendorong agar tandaniaga yang asal diberi kepada Linus Torvalds. Perlisensian tandaniaga Linux sekarang dikendali oleh Linux Mark Institute.Distribusi LinuxLihat juga Distribusi LinuxTerdapat banyak edaran atau distribusi Linux (lebih dikenali sebagai Distro), yang dibuat oleh individu, grup, dan lembaga lain. Masing masingnya mungkin disertakan dengan program sistem dan program aplikasi tambahan, di samping menyertakan suatu program yang memasang keseluruhan sistem dalam komputer baru.Inti bagi setiap edaran Linux adalah Kernel Linux, koleksi program dari projek GNU (atau projek lain), shell, dan aturcara utiliti seperti pustaka (libraries), Kompiler, dan Pengedit (editor). Kebanyakan sistem juga menyertakan aturcara dan utiliti yang bukan-GNU, bagaimanapun utiliti tersebut dapat diasingkan dan masih menyediakan sistem ala-Unix. Beberapa contoh adalah aturcara dan utiliti dari BSD dan Sistem Tetingkap-X (X-Window System). X menyediakan Antaramuka Grafik (GUI) yang asas bagi sistem Linux.Aplikasi Sistem Pengoperasian berdasarkan LinuxPengguna Linux, yang secara tradisinya perlu memasang dan melakukan konfigurasi terhadap sistem sendiri, lebih cenderung mengerti teknologi dibanding pengguna Microsoft Windows atau Mac OS. Mereka sering disebut "hacker" atau "geek". Namun stereotipe ini semakin berkurang dengan peningkatan sifat ramah-pengguna dan makin luasnya pengguna edaran Linux. Linux telah membuat pencapaian yang agak baik dalam pasaran komputer server dan komputer tujuan khusus. Contohnya, mesin render gambar, dan servis web. Linux juga mulai populer dalam pasaran komputer "desktop".Linux merupakan asas kepada kombinasi program-server LAMP, kependekan dari Linux, Apache, MySQL, Perl/PHP,Python. LAMP telah mencapai kepopuleran yang luas di kalangan pembangun Web.Linux juga sering digunakan sebagai Sistem Pengoperasian Benam. Biaya Linux yang murah memungkinkan penggunaannya dalam peralatan seperti Simputer, yaitu komputer biaya rendah yang disasarkan pada penduduk berpendapatan rendah di Negara-negara Membangun.Dengan Persekitaran Desktop seperti KDE dan GNOME, Linux menawarkan Antarmuka Pengguna yang lebih menyerupai Apple Macintosh atau Microsoft Windows dari Antarmuka Baris Arahan seperti Unix. Justru itu, lebih banyak program grafik dapat didapati pada Linux, yang menawarkan berbagai fungsi yang ada pada utiliti komersil.Pasaran serta dapatpakaiLinux yang pada awalnya hanya merupakan sistem pengoperasian yang digunakan oleh peminat komputer, telah menjadi sistem yang lebih Ramah-pengguna, dengan antaramuka grafik yang berbagai macam aplikasi yang lebih mirip sistem pengoperasian konsumer lain, dari baris arahan Unix. Namun kesan ini telah menimbulkan kritikan ramai, termasuk dari penyokong Linux. Mereka berpendapat bahwa Linux dan projek program bebas masih belum mencapai faktor ke'dapatpakai'an yang memuaskan. Persoalan tentang ke'dapatpakai'an Linux berbanding Windows atau Macintosh masih menjadi isu perdebatan yang hangat. Pasaran Linux dalam komputer "desktop" masih agak kecil tapi semakin berkembang. Menurut Lembaga Penyelidikan Pasaran IDC, besar pasaran bagi Linux pada tahun 2002 adalah 25% bagi pasaran server, dan 2.8% bagi pasaran Komputer pribadi.Bagi mereka yang hanya biasa menggunakan Windows atau Macintosh, Linux mungkin kelihatan lebih sukar disebabkan perbedaan dalam melakukan berbagai kerja komputer. Dan lagi, lebih mudah untuk mencari sokongan teknis bagi Windows atau Mac OS dibandingkan Linux. Tambahan lagi, secara lazimnya pengguna perlu menukar program yang sering digunakan, disebabkan program tersebut tidak didapati dalam Linux (atau pilihan yang agak terbatas, terutamanya permainan komputer). Faktor lain adalah sifat ragu-ragu pengguna yang merasa susah untuk melepaskan sistem pengoperasian mereka (banyak pengguna masih menggunakan versi Windows yang lama). Selain itu, kebanyakan komputer didatangkan dengan Windows sedia dipasang (preinstalled). Faktor-faktor ini menyebabkan perkembangan Linux yang agak lambat.Walau bagaimanapun, kelebihan Linux seperti biaya rendah, sekuritas yang lebih aman, dan tidak bergantung pada vendor, telah menggalakkan penggunaan yang meluas di kalangan koperasi dan kerajaan. Dalam situasi ini, halangan yang disebut di atas dapat dikurangkan karena hanya aplikasi/utiliti yang terbatas digunakan, serta kerja pentadbiran komputer (administration) dikendalikan oleh sekumpulan pekerja pakar IT yang sedikit.Terdapat berbagai kajian yang dilakukan terbatas biaya serta ke'dapatpakai'an Linux. Relevantive, (sebuah lembaga berpusat di Berlin, yang mengkhusus dalam rundingan lembaga tentang ke'dapatpakai'an program, serta servis web), telah membuat kesimpulan bahawa ke'dapatpakai'an Linux bagi pekerjaan dengan komputer "desktop" adalah hampir sama dengan Windows XP. Bagaimanapun, kajian oleh IDC (yang dibiayai oleh Microsoft) mengklaim bahwa Linux mempunyai biaya pemilikan (Total Cost of Ownership) yang lebih tinggi berbanding Windows.Linux juga sering dikritik karena jadwal pembangunannya yang tidak dapat diduga. Secara langsung, menyebabkan pengguna Enterprise kurang selesa dengan Linux dibanding sistem pengoperasian lain (Sumber:Marcinkowski, 2003). Pilihan yang banyak dalam edaran Linux juga dikatakan mengelirukan konsumer, dan vendor program.[sunting]InstalasiProses pemasangan yang sukar sering-kali menjadi penghalang bagi pengguna baru, namun proses ini sekarang menjadi lebih mudah akhir akhir ini. Dengan penerimaan Linux oleh beberapa pengeluar PC (Komputer pribadi) terbesar, komputer yang disedia-pasang dengan edaran Linux dapat didapati. Ada juga edaran Linux yang dimana Linux di-boot secara terus dari Live CD tanpa perlu memasangnya ke dalam Hard Disk. Contoh-contoh edaran Linux berbentuk Live CD adalah Knoppix/Gnoppix dan Gentoo. Gambar ISO bagi CD untuk edaran Linux tersebut biasanya dapat dimuat turun dari Internet, ditulis ke CD, dan selanjutnya membootkan CD tersebut.[sunting]KonfigurasiKonfigurasi bagi kebanyakan setting Linux seringkali perlu dilakukan menerusi penyuntingan berkas teks dalam direktori /etc. Terdapat juga utiliti seperti Linuxconf dan GNOME System Tools yang bertujuan memudahkan kerja ini dengan menyediakan antaramuka grafik. Namun baris arahan merupakan cara paling lazim digunakan.DukunganDukungan bagi Linux biasanya didapatkan menerusi peer(dalam konteks ini bermaksud rakan dalam talian) - pengguna Linux lain di dalam forum internet, newsgroup dan senarai mel. Kumpulan Pengguna Linux (LUG, Linux User Group) telah didirikan di sulurh dunia untuk membantu pengguna lokal, pengguna baru, dan pengguna berpengalaman. Bantuan termasuk pemasangan, penggunaan, penyelenggaraan serta menggalakkan perkembangan sistem Linux.Pembekalan komersil bagi edaran Linux secara umumnya mengamalkan model perniagaan dengan menyediakan sokongan. Sokongan partai ketiga juga sudah tersediaSkala Usaha Pembangunan LinuxSebuah studi (More Than a Gigabuck: Estimating GNU/Linux's Size [2]) Terhadap Red Hat Linux 7.1 menemukan bahwa edaran ini berisi 30 juta baris kode source (‘’source lines of code (SLOC)’’). Menggunakan model biaya COCOMO studi ini menunjukan bahwa edaran ini memerlukan waktu pengembangan sebanyak 8000 tahun, apabila software ini di kembangkan dengan cara proprietasi konvensional. Dan akan memakan sekitar 1.08 miliar dolar (dolar tahun 2000) untuk di kembangkan di Amerika Serikat.Mayoritas dari kode (71%) ditulis dalam C, namun banyak bahasa lain digunakan, termasuk C++ shell scripts, Lisp, assembly language, Perl, Fortran dan Python.Sekitar setengah dari kodenya di lisensikan di bawah GPL.Kernel Linux kernel mengandung 2.4 juta baris kode, atau sekitar 8% dari total, Menunjukan bahwa mayoritas dari edaran Linux terdiri dari kode yang tidak terkandung dalam Kernel Linux.[sunting]"GNU/Linux"Lihat Kontroversi Penamaan GNU/LinuxDisebabkan utiliti-utiliti dari projek sistem pengoperasian bebas GNU - tanpa ini sistem Linux tidak akan menyerupai sistem Unix dalam perspektif pengguna - Richard Stallman dari GNU/FSF memohon agar kombinasi sistem (projek GNU dan kernel Linux), disebut sebagai "GNU/Linux". Pengguna edaran Linux dari projek Debian lebih cenderung menggunakan nama tersebut. Kebanyakan pengguna lebih mudah menggunakan istilah "Linux".Tindakan Undang-undang (Litigasi)Artikel utama: SCO Vs IBM Pada bulan Mac 2003, Kumpulan SCO (SCOG - SCO Group) telah mengeluarkan saman terbatasap IBM yang mengklaim bahwa IBM telah memasukkan sebesar dari bahan intelektual milik SCOG ke dalam kernel Linux, di mana ia merupakan pelanggaran terbatasap lisensi IBM untuk menggunakan UNIX. Lisensi tersebut dikatakan dipegang oleh Kumpulan SCO. Tambahan lagi, Kumpulan SCO juga telah mengirim surat kepada beberapa lembaga dan memberi amaran tentang penggunaan Linux tanpa lisensi dari kumpulan SCO akan menerima tindakan dari mereka. Kumpulan SCO juga mengeluarkan pernyataan pada media massa yang mereka akan menyaman pengguna Linux selanjutnya. Kontroversi ini telah mencetus beberapa kecaman oleh Kumpulan SCO terbatasap Novell, DaimlerChrysler, dan AutoZone, selain saman balik oleh Red Hat dan pihak lain terbatasap SCOG.

Operating System

Sistem operasi telah berkembang selama lebih dari 40 tahun dengan dua tujuan utama. Pertama, sistem operasi mencoba mengatur aktivitas-aktivitas komputasi untuk memastikan pendayagunaan yang baik dari sistem komputasi tersebut. Kedua, menyediakan lingkungan yang nyaman untuk pengembangan dan jalankan dari program.

Pada awalnya, sistem komputer digunakan dari depan konsol. Perangkat lunak seperti assembler, loader, linker dan compiler meningkatkan kenyamanan dari sistem pemrograman, tapi juga memerlukan waktu set-up yang banyak. Untuk mengurangi waktu set-up tersebut, digunakan jasa operator dan menggabungkan tugas-tugas yang sama (sistem batch). Sistem batch mengijinkan pengurutan tugas secara otomatis dengan menggunakan sistem operasi yang resident dan memberikan peningkatan yang cukup besar dalam utilisasi komputer. Komputer tidak perlu lagi menunggu operasi oleh pengguna. Tapi utilisasi CPU tetap saja rendah. Hal ini dikarenakan lambatnya kecepatan alat-alat untuk I/O relatif terhadap kecepatan CPU. Operasi off-line dari alat-alat yang lambat bertujuan untuk menggunakan beberapa sistem reader-to-tape dan tape-to-printer untuk satu CPU.

Untuk meningkatkan keseluruhan kemampuan dari sistem komputer, para developer memperkenalkan konsep multiprogramming . Dengan multiprogramming, beberapa tugas disimpan dalam memori dalam satu waktu; CPU digunakan secara bergantian sehingga menambah utilisasi CPU dan mengurangi total waktu yang dibutuhkan untuk menyelesaikan tugas-tugas tersebut. Multiprogramming, yang dibuat untuk meningkatkan kemampuan, juga mengizinkan time sharing. Sistem operasi yang bersifat time-shared memperbolehkan banyak pengguna untuk menggunakan komputer secara interaktif pada saat yang bersamaan. Personal Komputer adalah mikrokomputer yang dianggap lebih kecil dan lebih murah dibandingkan komputer mainframe . Sistem operasi untuk komputer-komputer seperti ini diuntungkan oleh pengembangan sistem operasi untuk komputer mainframe dalam beberapa hal. Namun, semenjak penggunaan komputer untuk keperluan pribadi, maka utilisasi CPU tidak lagi menjadi perhatian utama. Karena itu, beberapa desain untuk komputer mainframe tidak cocok untuk sistem yang lebih kecil.

Sistem parallel mempunyai lebih dari satu CPU yang mempunyai hubungan yang erat; CPU-CPU tersebut berbagi bus komputer, dan kadang-kadang berbagi memori dan perangkat yang lainnya. Sistem seperti itu dapat meningkatkan throughput dan reliabiliti. Sistem hard real-time seringkali digunakan sebagai alat pengontrol untuk applikasi yang dedicated. Sistem operasi yang hard real-time mempunyai batasan waktu yang tetap yang sudah didefinisikan dengan baik.Pemrosesan harus selesai dalam batasan-batasan yang sudah didefinisikan, atau sistem akan gagal. Sistem soft real-time mempunyai lebih sedikit batasan waktu yang keras, dan tidak mendukung penjadwalan dengan menggunakan batas akhir. Pengaruh dari internet dan World Wide Web baru-baru ini telah mendorong pengembangan sistem operasi modern yang menyertakan web browser serta perangkat lunak jaringan dan komunikasi sebagai satu kesatuan.

Multiprogramming dan sistem time-sharing meningkatkan kemampuan komputer dengan melampaui batas operasi ( overlap ) CPU dan I/O dalam satu mesin. Hal seperti itu memerlukan perpindahan data antara CPU dan alat I/O, ditangani baik dengan polling atau interrupt-driven akses ke I/O port , atau dengan perpindahan DMA. Agar komputer dapat menjalankan suatu program, maka program tersebut harus berada di memori utama (main memory). Memori utama adalah satu-satunya tempat penyimpanan yang besar yang dapat diakses secara langsung oleh prosessor, merupakan suatu array dari word atau byte, yang mempunyai ukuran ratusan sampai jutaan ribu. Setiap word memiliki alamatnya sendiri. memori utama adalah tempat penyimpanan yang volatile, dimana isinya hilang bila sumber energinya ( energi listrik ) dimatikan. Kebanyakan sistem komputer menyediakan secondary storage sebagai perluasan dari memori utama. Syarat utama dari secondary storage adalah dapat menyimpan data dalam jumlah besar secara permanen. Secondary storage yang paling umum adalah disk magnetik, yang meyediakan penyimpanan untuk program maupun data. Disk magnetik adalah alat penyimpanan data yang nonvolatile yang juga menyediakan akses secara random. Tape magnetik digunakan terutama untuk backup, penyimpanan informasi yang jarang digunakan, dan sebagai media pemindahan informasi dari satu sistem ke sistem yang lain.

Beragam sistem penyimpanan dalam sistem komputer dapat d isusun dalam hirarki berdasarkan kecepatan dan biayanya. Tingkat yang paling atas adalah yang paling mahal, tapi cepat. Semakin kebawah, biaya perbit menurun, sedangkan waktu aksesnya semakin bertambah ( semakin lambat). Sistem operasi harus memastikan operasi yang benar dari sistem komputer. Untuk mencegah pengguna program mengganggu operasi yang berjalan dalam sistem, perangkat keras mempunyai dua mode : mode pengguna dan mode monitor. Beberapa perintah (seperti perintah I/O dan perintah halt) adalah perintah khusus, dan hanya dapat dijalankan dalam mode monitor. Memori juga harus dilindungi dari modifikasi oleh pengguna. Timer mencegah terjadinya pengulangan secara terus menerus (infinite loop). Hal-hal tersebut (dual mode, perintah khusus, pengaman memori, timer interrupt ) adalah blok bangunan dasar yang digunakan oleh sistem operasi untuk mencapai operasi yang sesuai.

Sistem operasi menyediakan banyak pelayanan. Di tingkat terendah, sistem calls mengizinkan program yang sedang berjalan untuk membuat permintaan secara langsung dari sistem operasi. Di tingkat tertinggi, command interpreter atau shell menyediakan mekanisme agar pengguna dapat membuat permintaan tanpa menulis program. Command dapat muncul dari file sewaktu jalankan batch-mode, atau secara langsung dari terminal ketika dalam mode interaktive atau time-shared. Program sistem disediakan untuk memenuhi kebanyakan dari permintaan pengguna. Tipe dari permintaan beragam sesuai dengan levelnya. Level sistem call harus menyediakan fungsi dasar, seperti kontrol proses serta manipulasi alat dan file. Permintaan dengan level yang lebih tinggi ( command interpreter atau program sistem) diterjemahkan kedalam urutan sistem call.

Pelayanan sistem dapat dikelompokkan kedalam beberapa kategori : kontrol program, status permintaan dan permintaan I/O. Program error dapat dipertimbangkan sebagai permintaan yang implisit untuk pelayanan. Bila sistem pelayanan sudah terdefinisi, maka struktur dari sistem operasi dapat dikembangkan. Berbagai macam tabel diperlukan untuk menyimpan informasi yang mendefinisikan status dari sistem komputer dan status dari sistem tugas. Perancangan dari suatu sistem operasi yang baru merupakan tugas yang utama. Sangat penting bahwa tujuan dari sistem sudah terdefinisi dengan baik sebelum memulai perancangan. Tipe dari sistem yang diinginkan adalah landasan dalam memilih beragam algoritma dan strategi yang akan digunakan. Karena besarnya sistem operasi, maka modularitas adalah hal yang penting. Merancang sistem sebagai suatu urutan dari layer atau dengan menggunakan mikrokernel merupakan salah satu teknik yang baik. Konsep virtual machine mengambil pendekatan layer dan memperlakukan baik itu kernel dari sistem operasi dan perangkat kerasnya sebagai suatu perangkat keras. Bahkan sistem operasi yang lain dapat dimasukkan diatas virtual machine tersebut. Setiap sistem operasi yang mengimplemen JVM dapat menjalankan semua program java, karena JVM mendasari dari sistem ke program java, menyediakan arsitektur tampilan yang netral.

Didalam daur perancangan sistem operasi, kita harus berhati-hati untuk memisahkan pembagian kebijakan (policy decision)dengan detail dari implementasi (mechanism) . Pemisahan ini membuat fleksibilitas yang maksimal apabila policy decision akan diubah kemudian. Sistem operasi sekarang ini hampir selalu ditulis dengan menggunakan bahasa tingkat tinggi. Hal ini meningkatkan implementasi, perawatan portabilitas. Untuk membuat sistem operasi untuk suatu konfigurasi mesin tertentu, kita harus melakukan system generation.

Wednesday, November 14, 2007

Sistem Operasi Terdistribusi

Perkembangan pesat teknologi informasi menyebabkan bertambahnya permintaan suatu sistem, baik berupa perangkat keras maupun perangkat lunak yang dapat digunakan dengan baik dan cepat. Permintaan yang terus bertambah ini tidak sebanding dengan kemampuan perangkat keras yang ada. Salah satu cara untuk mengatasi hal itu dibuat pengembangan di sisi perangkat lunak dengan membuat suatu sistem virtual di mana beberapa perangkat keras atau komputer dihubungkan dalam jaringan dan diatur oleh sebuah sistem operasi yang mengatur seluruh proses yang ada pada setiap komputer tersebut sehingga memungkinkan proses berjalan dengan cepat. Sistem operasi yang mengatur proses ini sering disebut sebagai sistem operasi terdistribusi (distributed operating system) .

Sistem operasi terdistribusi ini sekarang menjadi trend, terutama untuk research yang kadang membutuhkan CPU yang sangat cepat untuk melakukan perhitungan yang sangat kompleks. Dalam makalah ini akan dibahas mengenai sistem operasi terdistribusi, terutama untuk mengetahui apa dan bagaimana cara sistem ini bekerja.

Sistem Operasi GNU - Bebas Merdeka!


Apakah proyek GNU itu?

Proyek GNU diluncurkan pada tahun 1984 untuk mengembangkan – sebuah sistem operasi lengkap serupa Unix – yang berbasis perangkat lunak bebas (PLB): yaitu sistem GNU. Varian dari sistem operasi GNU, yang menggunakan kernel Linux, dewasa ini telah digunakan secara meluas. Walaupun sistem ini sering dirujuk sebagai “Linux”, seharusnya lebih tepat jika disebut sistem GNU/Linux.

GNU merupakan singkatan rekursif dari “GNU's Not Unix” (GNU bukan Unix); serta dilafalkan ge-nuu.

Apakah Perangkat Lunak Bebas itu?

“Perangkat Lunak Bebas” (Free Software) itu terkait dengan kebebasan, bukan harga. Agar lebih memahami konsep ini, perhatikan kata “bebas” dalam “mimbar bebas” dan bukan dalam “minuman bebas/gratis”

Perangkat Lunak Bebas berhubungan dengan kebebasan para pengguna untuk menjalankan (run), menyalin (copy), mengedarkan (distribute), mempelajari (study), mengubah (change), serta memperbaiki (improve) perangkat lunak. Lebih tepatnya, hal ini merujuk ke empat jenis kebebasan, untuk para pengguna perangkat lunak:

  • Kebebasan untuk menjalankan program, untuk keperluan apa pun (kebebasan 0).
  • Kebebasan untuk mempelajari cara kerja program, serta mengadaptasikan sesuai dengan keperluan (kebebasan 1). Prasyarat kebebasan ini ialah akses terhadap kode sumber (source code) program.
  • Kebebasan untuk mengedarkan perangkat lunak, sehingga dapat membantu yang membutuhkan (kebebasan 2).
  • Kebebasan untuk memperbaiki program, serta mengedarkan perbaikan tersebut kepada masyarakat, sehingga bermanfaat bagi semua (kebebasan 3). Prasyarat kebebasan ini ialah akses terhadap kode sumber program.

Apakah Free Software Foundation itu?

Yayasan Perangkat Lunak Bebas (FSF – The Free Software Foundation) merupakan sponsor utama dari proyek GNU. FSF menerima sedikit sekali sumbangan dana dari kalangan perusahaan atau organisasi donatur lainnya. Kelangsungan FSF sangat tergantung dari bantuan perorangan seperti anda.

Pertimbangkan untuk membantu FSF dengan menjadi anggota asosiasi, atau dengan membeli manual/lainnya atau dengan memberikan sumbangan. Jika bisnis/usaha anda menggunakan Perangkat Lunak Bebas, mohon untuk mempertimbangkan membantu FSF dengan cara menjadi penyumbang tetap atau memesan distribusi istimewa dari perangkat lunak GNU.

Proyek GNU mendukung misi FSF untuk melestarikan, melindungi, serta mempromosikan kebebasan menggunakan, mempelajari, mengubah, dan mengedarkan perangkat lunak komputer, serta mempertahankan hak para pengguna perangkat lunak bebas. Kami mendukung kebebasan berbicara, pers, berserikat di Internet, hak untuk mengunakan perangkat lunak yang dapat melakukan enkripsi untuk komunikasi pribadi, serta hak untuk menulis perangkat lunak, yang terlepas dari monopoli pribadi. Silakan mempelajari lebih lanjut hal ini pada buku Free Software, Free Society.

Sistem operasi

Dalam Ilmu komputer, Sistem Operasi (SO, atau dalam bahasa Inggris: Operating System atau OS) adalah suatu software sistem yang bertugas untuk melakukan kontrol dan manajemen hardware 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.
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

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, dan Windows Vista yang akan dirilis pada tahun 2007)).
  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