SISTEM OPERASI DAN EVOLUSINYA Sartim
[email protected]
Abstrak Sistem operasi pada dasarnya merupakan sebuah program sistem yang berguna untuk mengoperasikan komputer. Tanpa sistem operasi maka komputer hanya sebuah “onggokan” perangkat elektronik yang tidak berguna. Sistem operasi merupakan lapisan dalam sistem komputer yang berada di antara hardware dan program-program aplikasi. Sistem operasi dibangun di atas interface hardware dan menyediakan interface antara hardware dengan program-program aplikasi. Kata Kunci:
Pendahuluan Penulis berharap dengan artikel ini, pembaca akan lebih bertambah pengetahuan dan wawasan tentang ilmu pengetahuan teknologi informasi.
Pembahasan Sistem operasi merupakan bagian yang sangat penting dan vital untuk setiap sistem komputer. Sistem komputer secara global terdiri dari empat komponen: a. Hardware Terdiri dari CPU, memori, perangkat I/O, dan sistem bus sebagai sumber daya dasar. b. Sistem operasi Sebagai jembatan dan perantara antara program aplikasi dan pemakai dengan hardware komputer, sertamengontrol dan mengkoordinasikan penggunaan hardware untuk aplikasi yang beragam untuk pemakai yang beragam pula. Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
c. Program aplikasi Misalnya compiler, sistem database, game, program-program bisnis, dan lain-lain, yang digunakan oleh pemakai untuk menyelesaikan masalahnya. d. Pemakai Menggunakan komputer untuk menyelesaikan masalahnya. Dibawah ini adalah gambarannya:
Sistem operasi bertugas sebagai interface antara pemakai dengan hardware komputer. Pada dasarnya pemakai tidak tahu(dan tidak mau tahu)secara detail hardware komputer, sehingga pemakai melihat suatu sistem kumputer sebagai suatu kumpulan program aplikasi. Suatu aplikasi dibuat dengan satu atau beberapa bahasa pemograman lainnya. Jika ada seorang programmer mengembangkan aplikasi dengan kumpulan intruksiintruksi bahasa mesin yang akan mengontrol hardware komputer, maka programmer tersebut membutuhkan suatu aplikasi pemograman yang disebut utility. Dibawah ini gambaran sistem komputer menurut tingkatan dan pandangan masing-masing pemakai:
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Sumber: Stallings, Operating Systems, 4th e, 2001, Prentice Hall, halaman 46. Apa yang dikerjakan sistem operasi? Kita dapat menyebut sistem operasi sebagai resource allocator atau resource manager yang bertugas untuk mengalokasikan sumber daya komputer. Apa yang disebut sumber daya komputer? Dibawah ini gambaran tentang sumber daya komputer: Sistem operasi bertugas sebagai manajer atas sumber daya ini dan mengalokasikan sumber daya ini seperlunya kepada program-program dan pemakai berjumlah banyak dan ada kemungkinan berbenturan pada waktu memintasumber daya, maka sistem operasi harus dapat membuat keputusan: mana yang harus didahulukan sehingga pemakai sumber daya dapat efisien dan adil. Dibawah ini gambaran siste operasi sebagai resource allocator atau resource manager. Dapat juga disebut bahwa sistem operasi merupakan suatu control program, yang mengontrol eksekusi program pemakai untuk mencegah error dan pemakaian yang tidak benar pada komputer. Hal ini menyangkut operasi dan kontrol pada perangkat I/O. Sebenarnya tidak ada definisi yang paling tepat untuk mendefinisikan sistem operasi. Akan lebih mudah mendefinisikan sistem operasi dengan apa yang dikerjakan sistem operasi daripada apa yang dimaksud dengan sistem operasi. Yang pasti sistem operasi ada karena sistem operasi membuat pemakai komputer menjadi lebih mudah dalam memakai komputer dibandingkan jika sistem operasi tidak ada. Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Bagaimana Sistem Operasi Berkomunikasi Dengan Perangkat(device)? Sisttem operasi harus dapat berkomunikasi dengan perangkat-perangkat I/O yang ada, terutama perangkat I/O eksternal, dan /atau saling bertukar informasi dengan hardware (chip) khusus yang berada di dalam komputer yang berhubungan dengan perangkat yang berada di luar komputer. Komunikasi sistem operasi dengan perangkat I/O ini dapat terlaksana berkat adanya kode suatu program yang disebut dengan device driver. Device driver bersifat khusus, yaitu ditujukan untuk perangkat I/O tertentu saja, walaupun ada yang ditujukan secara global sehingga sering disebut dengan generic device driver. Hal tersebut digambar sebagai berikut:
Perkembangan Sistem Operasi Sistem operasi dan arsitektur komputer mempunyai hubungan yang sangat erat karena saling mempengaruhi dan dipengaruhi.. untuk mem-falisitasi penggunaan hardware, maka sistem operasi dikembangkan. Dengan kata lain ketika hardware berkembang dan bertambah maju, maka sistem operasi pun demikian. Dibawah ini adalah beberapa perkembangan dari sistem operasi dari waktu ke waktu.
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Sistem awal(Serial Prosesing) Komputer-komputer awal secara fisik berukuran besar dan dijalankan dari suatu console. Consol terdiri dari lampu-lampu, tombol-tombol, beberapa bentuk perangkat masukan(card reader), dan printer. Seorang programmer yang juga sekaligus merangkap sebagai operator, menulis program dan menjalankan program tersebut secara langsung dari console-nya. Program tersebut dimuatkan ke dalam memori dengan cara dijalankan per intruksi;biasanya dari kartu plong. Kemudian ada suatu tombol di console yang harus ditekan untuk menjalankan keseluruhan program tersebut. Jika ada erroe pada program tersebut; yang diketahui dengan menyalanya lampu indikator tertentu maka programmer dapat menghentikan program tersebut dan memeriksa isi memeori dan register-registernya serta men-debug program tersebut secara langsung dari console. Jika tidak ada error pada menjalankan program tersebut maka ouput program tersebut dapat dicetak atau dibuatkan kartu plongnya untuk percetakan kemudian hari. Karena kebutuhan yang beragam, maka software dan hardware tambahan banyak dikembangkan. Card reader, line printer, dan magnetic tape menjadi halyang biasa. Assembler, linker, dan loader didesain untuk memudahkan pemograman. Fungsi-fungsi yang biasadan sering digunakan dalam pemograman kemudian disatukan dan disimpan tersendiri sebagai library;sehingga programmer tidak perlu menulis ulang fungsi-fungsi tersebut. Pada saat itu, setiap job terdiri atas beberapa langkah (misalnya menggunakan FORTRAN):
Me-load ke memori tape compiler FORTRAN, Menjalankan compiler, Membuang(meng-unload)dari memori kompiler tersebut, Me-load ke memori tape assembler, Membuang(meng-unload)dari emori assembler tersebut, Me-load program yang bersangkutan, Menjalankan program tersebut, dan seterusnya.
Jika terdapat error pada salah satu langkah, maka kita harus memulai lagi dari awal, termasuk me-load dan meng-unload magnetic tape, paper tape(jika ada), dan kartu plong.
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Sistem Batch Sederhana Dengan sistem awal(serial prosessing), ternyata banyak waktu CPU yang terbuang. Sering CPU tidak terpakai(idle) karena programmer atau operator sedang mengganti atau memasang tape. Padahal pada saat itu harga komputer serta biaya perawatan dan operasionalnya sangat mahal. Oleh sebab itu waktu pemakaian komputer menjadi sangat bernilai. Pemilik komputer menghendaki komputer mereka digunakan sebanyak/sesering mungkin. Mereka menginginkan utiization untuk mendapatkan sebanyak mungkin hasil. Karena hal tersebut kemudian ditemukan sebuah cara, yaitu mengumpulkan job-job yang sejenis untuk dieksekusi oleh CPU sebagai suatu group atau kumpulan job. Dengan sistem batch sederhana ini maka pemakai tidak punya akses langsung ke mesin komputer. Contohnya ketika operator menerima urutan job FORTRAN, COBOL, FORTRAN. Jika operator tersebut menjalankan FORTRAN( memasang tape FORTRAN, mengambil tape FORTRAN, memasanga compiler dan seterusnya), kemudian menjalakan COBOL(dengan cara seperti menjalankan FORTRAN), dan kemudian menjalankan FORTRAN lagi. Jika operator tersebut menjalankan program FORTRAN dengan batch, maka operator tersebut hanya perlu mengerjakan FORTRAN sekali saja. Hal ini akan menghemat waktu dan tentu saja mempercepat pekerjaan. Resident Monitor Resident Monitor merupakan sebuah program kecil yang menetap di memori yang berguna sebagai automatic job sequencing, yaitu pengurutan job secara otomatis. Ketika komputer dijalankan, resident monitor mentransfer kontrol ke program. Ketika program terhenti, program akan mengembalikan kontrol ke resident monitor yang kemudian akan pindah ke program berikutnya. Resident monitor akan secara otomatis mengurutkan satu program ke program yang lain dan dari job yang satu ke job yang lain.
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Sumber: http://dc443.4shared.com/doc/FDW3OwRD/preview.html Penggunaan resident monitor ternyata menambah performa hasil pekerjaan komputer. Tetapi dengan menggunakan cara seperti ini pun ternyata CPU masih sering menganggur. Masalahnya terletak pada mekanik perangkat I/O yang lambat dibandingkan dengan perangkat elektronik, sehingga terjadi overlap antara CPU dan perangkat I/O. Off-line Processing Dikarenakan terjadi overlap antara CPU dan perangkat I/O jika dihubungkan secara online, maka dibuatkanlah suatu cara , yaitu proses off-line. Proses off-line ini menggunakan tape drive untuk menjembatani antara CPU dan perngkat I/O (misal: card reader, plotter, printer, dst). Dibawah ini gambaran tentang proses on-line dan proses off-line:
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
a. On-line processing
b. Off-line processing
Spooling Sebenarnya teknik spooling ini pada dasarnya sama dengan teknik offline processing, hanya perangkat I/O-nya saja yang berbeda, yaitu perangkat drivenya diganti dengan perangkat disk. Akibatnya performa yang dihasilkan menjadi bertambah, karena tape drive bekerja secara sekuensial (berurutan) sedangkan disk bekerja secara acak, sehingga ketika kan membaca bagian akhir dari suatu data, tidak perlu membaca seluruh data dari awal sampai akhir. Spooling berasal dari kata spool yang sebenarnya kependekan dari simultaneous peripheral operation on-line. Pada dasarnya teknik ini menggunakan disk sebagai buffer yang sangat besar untuk membaca sebanyak mungkin data dari perangkat input dan menyimpan file-file output sampai perangkat output dapat menerima file-file output tesebut.
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Sumber: http://djsumampouw.wordpress.com/2013/01/28/sistem-operasi-komputer2/
Sistem Batch Multiprogram Spooling menyediakan sebuah struktur data yang penting, yaitu job pool. Job-job yang sudah berkelompok di pool(biasanya berada di disk) akan dipilih oleh sistem operasi untuk dijalankan pada urutan berikutnya dalam rangka menaikkan CPU utilization. Job dijalankan secara sequensial dengan cara FIFO(First In First Out). Proses ini disebut dengan multiprogramming. Multiprogramming dapat meningkatkan CPU selalu mempunyai tugas untuk mengeksekusi sesuatu. Sistem operasi mempunyai beberapa job dalam satu waktu di dalam memori, seperti gambar dibawah ini:
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Sumber: http://operatingsystemconcepts.blogspot.com/2008/07/multiprogrammed-batched systems.html Job-job yang ada di memori tersebut merupakan himpunan bagian dari job-job yang berada di job pool;karena secara umum jumlah job yang berada di memori lebiih kecil daripada jumlah job yang berada di job pool. Sistem operasi mengambil dan mulai mengeksekusi salh satu job yang ada di memori. Ketika job tersebut menunggu suatu masukan (misal dari tape drive atau operasi I/O yang lain), maka sistem operasi akan memindahkan tugas eksekusinya ke job yang lain. Demikian juga ketika job tersebut menuggu aplikasi I/O, maka sistem operasi akan berpindah ke job yang lainnya lagi, demikian seterusnya. Jadi selama ada job yang harus dieksekusi, maka CPU tidak akan pernah menganggur, sehingga CPU utilization-nya naik. Sistem batch multiprogramming bertujuan untuk menggunakan berbagai macam sumber daya sistem(CPU, Memori, Perangkat I/O) secara efektif. Tetapi hal tersebut akan menjadi sulit. Misalnya ketika seorang programmer mengkompilasi programnya dan kebetulan program tersebut ada kesalahan, maka programer tidak dapat langsung memperbaiki programnya, karena harus menunggu sampai job-job yang lain selesai dikerjakan(karena memakai cara FIFO. Dibawah ini gambaran dari sistem batch multiprogramming dengan 3(tiga) program yang berada di memori. Sistem Time-Sharing Sistem Time-Sharing (sering juga disebut dengan multitaking) sebenarnya juga merupakn sistem multi programming, yaitu banyak job dieksekusi oleh CPU dengan
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
cara berpindah-pindah di antara job-job tersebut. Hanya saja frekuensi perpindahan CPU dari job satu ke job yang lainnya dilakukan lebih sering, sehingga pemakai dapat berinteraksi dengan program mereka ketika program tersebut berjalan. Seperti pada contoh di atas, programmer tidak perlu menunggu terlalau lama untuk memperbaiki programnya( karena menunggu semua job dieksekusi). Untuk lebih jelasnya, marilah kita perhatikan gambar di bawah ini: Pada dasarnya sistem Time-Sharing ini membatasi job-job yang dieksekusi dengan satuan waktu yang sering disebut dengan quantum time. Sistem Paralel Kebanyakan sistem komputer yang ada sekarang ini masih menggunakan prosesor tunggal, hanya menggunakan satu prosesor saja. Tetapi di masa yang akan datang, penggunaan prosesor lebih dari satu dalam satu sistem komputer akan menjadi trend; yang disebut multiprosesor. Beberapa sistem sudah dianggap mempunyai multiprosesor dengan cara “terhubung dekat” dengan komputer lain sehingga dapat berbagi jalur-jalur bus, memori, dan perangkat-perangkat lainnya. Terhubung dekat disini berarti terhubung dalam jaringan LAN. Sistem seperti ini sering dengan Tightly Couple System. Ada beberapa alasan mengapa sistem ini digunakan: Meningkatkan throughtput Dengan jumlah prosesor yang bertambah maka diharapkan akan dapat diselesaikan pekerjaan lebih banyak dalam waktu yang lebih singkat. Menghemat biaya Karena perangkat komputer dapat dibagi-pakai oleh komputer lainnya, maka tidak perlu lagi memasang perangkat yang sama di setiap komputer, tetapi cukup hanya satu perangkat saja. Meningkatkan kehandalan Jika fungsi-fungsi program yang akan dieksekusi dapat didistribusikan ke seluruh komputer yang ada dengan lebih baik, maka jika ada kegagalan dari satu komputer, hal itu tidak akan membuat sistem secara keseluruhan menjadi macet, tetapi hanya akan sedikit memperlambat unjuk kerja sistem. Misalnya jika kita memakai sepuluh
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
komputer dan ada satu komputer yang gagal, maka kesembilan komputer yang lain akan mengambil alih pekerjaan komputer yang gagal tersebut, sehingga sistem secara keseluruhan hanya akan menurun unjuk kerjanya sebesar 10% saja. Ada dua penggunaan multiprosesor:
Symmetric Multiprocessing Setiap prosesor mengerjakan salinan yang identik dari sistem operasi dan salinan ini akan saling berkomunikasi jika dibutuhkan.
Assymmetric Multiprocessing Setiap prosesor diberi tugas yang spesifik. Disini terjadi relasi master-slave. Prosesor master mengontrol sistem, prosesor slave “melihat” ke prosesor master untuk menerima perintah. Prosesor master menjadwal dan mengalokasikan pekerjaan pada prosesor slave.
Ada dua istilah dalam sistem paralel:
Moderately Paralel
Jika arsitekturnya menggunakan 10 sampai 100 prosesor.
Massive Paralel
Jika arsitekturnya menggunakan lebih dari 1000 prosesor. Sistem Terditribusi Ada perbedaan yang mencolok antara Sistem Terditribusi dan Tightly Coupled System, yaitu prosesor tidak berbagi-pakai memori dan clock. Setiap prosesor mempunyai memori dan clock sendiri-sendiri. Prosesor berkomunikasi satu sama lain dengan menggunakan bermacam-macam jalur komunikasi, misalnya jalur telepon. Sistem ini disebut dengan Loosely Coupled System. Prosesor-prosesor yang tergabung dalam sistem terdistribusi ini memiliki bermacammacam ukuran maupun fungsi. Prosesor-prosesor ini dikenali dengan nama-nama yang unik, seperti situs, node, komputer, atau yang lain,tergantung konteksnya. Keuntungan yang didapat dari sistem ini adalah:
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Bagi-pakai sumber daya Masing-masing sumber daya yang ada pada masing-masing “situs” dapat dibagi-pakai dengan seluruh komputer yang tergabung dalam sistem ini.
Meningkatkan komputasi Jika suatu perhitungkan komputasi dapat dibagi-bagi menjadi bagian-bagian yang lebih kecil dan dapat diolah secara bersamaaan, maka dengan sistem ini bagian-bagian yang lebih kecil tersebut dapat didistribusikan ke seluruh komputer yang tergabung dalam sistem.
Kehandalaan (reliability) Jika ada satu situs yang gagal dalam sistem ini, maka situs-situs yang lain mempunyai kesempatan untuk melanjutkan operasi yang gagal tersebut, sehingga keseluruhan operasi dapat diselesaikan.
Penutup Demikianlah artikel tentang sistem operasi saya buat, semoga berguna dan bermanfaat bagi para pembaca
Referensi http://dc443.4shared.com/doc/FDW3OwRD/preview.html http://djsumampouw.wordpress.com/2013/01/28/sistem-operasi-komputer-2/ http://operatingsystemconcepts.blogspot.com/2008/07/multiprogrammed-batched.html Binanto, Iwan (2005). sistem operasi, Yogyakarta: penerbit ANDI
Biografi Sartim Pria kelahiran 28 Desember 1989. Masih menggeluti dunia pemrograman dari HTML5, CSS3,JavaScript/jQuery,dan PHP. Dan sekarang penulis sedang fokus menggeluti bidang pemograman database Mysql secara otodidak. Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Teman-teman bisa menghubungi penulis di : Email :
[email protected] atau
[email protected] Sosial Media : Facebook | Twitter BBM : 75D70BFC HP/WhatsApp : 089694342829
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org