Sabtu, 04 Januari 2014

HaKI Perangkat Lunak



HaKI Perangkat Lunak
 Pendahuluan
Sebelum membahas aspek teknis secara mendalam, sebaiknya kita memantapkan terlebih dahulu
sebuah pengertian aspek non teknis dari sebuah sistem operasi yaitu Hak atas Kekayaan Intelektual
Perangkat Lunak (HaKI PL) Pembahasan dimulai dengan menerangkan konsep HaKI secara umum,
serta HaKI PL secara lebih dalam. Secara khusus akan dibahas konsep Perangkat Lunak
Bebas/Sumber Terbuka – PLB/ST (Free/Open Source Software – F/OSS). Pembahasan ini bukan
bertujuan sebagai indoktrinasi faham tersebut! Justru yang diharapkan:
• Pelurusan atas persepsi keliru PLB dan ST, serta penjelasan perbedaan dan persamaan dari kedua
konsep tersebut.
• Apa yang boleh dan apa yang tidak boleh dilakukan dengan PLB/ST.
• Pelurusan atas persepsi bahwa para penulis program komputer tidak berhak digaji layak.
• Pelurusan atas persepsi bahwa PLB tidak boleh dijual/dikomersialkan.
• Pelurusan atas persepsi bahwa PLB wajib disebarluaskan.
• Pelurusan atas persepsi bahwa saat distribusi tidak wajib menyertakan kode sumber.
Setelah menyimak tulisan ini, diharapkan akan lebih memahami dan lebih menghargai makna
PLB/ST secara khusus, serta HaKI/PL secara umum.
''Hak atas Kekayaan Intelektual'' (HaKI) merupakan terjemahan atas istilah ''Intellectual Property
Right'' (IPR). Istilah tersebut terdiri dari tiga kata kunci yaitu: ''Hak'', ''Kekayaan'' dan ''Intelektual''.
Kekayaan merupakan abstraksi yang dapat: dimiliki, dialihkan, dibeli, maupun dijual. Sedangkan
''Kekayaan Intelektual'' merupakan kekayaan atas segala hasil produksi kecerdasan daya pikir seperti
teknologi, pengetahuan, seni, sastra, gubahan lagu, karya tulis, karikatur, dan seterusnya. Terakhir,
HaKI merupakan hak-hak (wewenang/kekuasaan) untuk berbuat sesuatu atas Kekayaan Intelektual
tersebut, yang diatur oleh norma-norma atau hukum-hukum yang berlaku.
``Hak'' itu sendiri dapat dibagi menjadi dua. Pertama, ``Hak Dasar (Azasi)'', yang merupakan hak
mutlak yang tidak dapat diganggu-gugat. Umpama: hak untuk hidup, hak untuk mendapatkan
keadilan, dan sebagainya. Kedua, ``Hak Amanat/ Peraturan'' yaitu hak karena diberikan oleh
masyarakat melalui peraturan/perundangan. Di berbagai negara, termasuk Amrik dan Indonesia,
HaKI merupakan ''Hak Amanat/Pengaturan'', sehingga masyarakatlah yang menentukan, seberapa
besar HaKI yang diberikan kepada individu dan kelompok. Sesuai dengan hakekatnya pula, HaKI
dikelompokkan sebagai hak milik perorangan yang sifatnya tidak berwujud (intangible). Terlihat
bahwa HaKI merupakan Hak Pemberian dari Umum (Publik) yang dijamin oleh Undang-undang.
HaKI bukan merupakan Hak Azazi, sehingga kriteria pemberian HaKI merupakan hal yang dapat
diperdebatkan oleh publik. Apa kriteria untuk memberikan HaKI? Berapa lama pemegang HaKI
memperoleh hak eksklusif? Apakah HaKI dapat dicabut demi kepentingan umum? Bagaimana
dengan HaKI atas formula obat untuk para penderita HIV/AIDs?
Undang-undang mengenai HaKI pertama kali ada di Venice, Italia yang menyangkut masalah paten
pada tahun 1470. Caxton, Galileo, dan Guttenberg tercatat sebagai penemu-penemu yang muncul
dalam kurun waktu tersebut dan mempunyai hak monopoli atas penemuan mereka. Hukum-hukum
tentang paten tersebut kemudian diadopsi oleh kerajaan Inggris di jaman TUDOR tahun 1500-an
dan kemudian lahir hukum mengenai paten pertama di Inggris yaitu Statute of Monopolies (1623).
Amerika Serikat baru mempunyai undang-undang paten tahun 1791. Upaya harmonisasi dalam
bidang HaKI pertama kali terjadi tahun 1883 dengan lahirnya konvensi Paris untuk masalah paten,
merek dagang dan desain. Kemudian konvensi Berne 1886 untuk masalah Hak Cipta (Copyright).
 Perangkat Lunak Bebas
Bebas pada kata perangkat lunak bebas tepatnya adalah bahwa para pengguna bebas untuk
menjalankan suatu program, mengubah suatu program, dan mendistribusi ulang suatu program
dengan atau tanpa mengubahnya. Berhubung perangkat lunak bebas bukan perihal harga, harga yang
murah tidak menjadikannya menjadi lebih bebas, atau mendekati bebas. Jadi jika anda mendistribusi
ulang salinan dari perangkat lunak bebas, anda dapat saja menarik biaya dan mendapatkan uang.
Mendistribusi ulang perangkat lunak bebas merupakan kegiatan yang baik dan sah; jika anda
melakukannya, silakan juga menarik keuntungan.I
Perangkat lunak bebas ialah perangkat lunak yang mengizinkan siapa pun untuk menggunakan,
menyalin, dan mendistribusikan, baik dimodifikasi atau pun tidak, secara gratis atau pun dengan
biaya. Perlu ditekankan, bahwa kode sumber dari program harus tersedia. Jika tidak ada kode
program, berarti bukan perangkat lunak. Perangkat Lunak Bebas mengacu pada kebebasan para
penggunanya untuk menjalankan, menggandakan, menyebarluaskan, mempelajari, mengubah dan
meningkatkan kinerja perangkat lunak. Tepatnya, mengacu pada empat jenis kebebasan bagi para
pengguna perangk at lunak:
Kebebasan 0. Kebebasan untuk menjalankan programnya untuk tujuan apa saja.
Kebebasan 1. Kebebasan untuk mempelajari bagaimana program itu bekerja serta dapat
disesuaikan dengan kebutuhan anda. Akses pada kode program merupakan suatu prasyarat.
Kebebasan 2. Kebebasan untuk menyebarluaskan kembali hasil salinan perangkat lunak tersebut
sehingga dapat membantu sesama anda.
Kebebasan 3. Kebebasan untuk meningkatkan kinerja program, dan dapat menyebarkannya ke
khalayak umum sehingga semua menikmati keuntungannya. Akses pada kode program
merupakan suatu prasyarat juga.
Suatu program merupakan perangkat lunak bebas, jika setiap pengguna memiliki semua dari
kebebasan tersebut. Dengan demikian, anda seharusnya bebas untuk menyebarluaskan salinan
program itu, dengan atau tanpa modifikasi (perubahan), secara gratis atau pun dengan memungut
biaya penyebarluasan, kepada siapa pun dimana pun. Kebebasan untuk melakukan semua hal di atas
berarti anda tidak harus meminta atau pun membayar untuk izin tersebut.
Perangkat lunak bebas bukan berarti ``tidak komersial''. Program bebas harus boleh digunakan untuk
keperluan komersial. Pengembangan perangkat lunak bebas secara komersial pun tidak merupakan
hal yang aneh; dan produknya ialah perangkat lunak bebas yang komersial.
 Aneka Ragam HaKI
Hak Cipta (Copyright). Berdasarkan pasal 1 ayat 1 Undang-Undang Nomor 19 Tahun 2002
Tentang Hak Cipta:
Hak Cipta adalah hak eksklusif bagi Pencipta atau penerima hak untuk
mengumumkan atau memperbanyak ciptaannya atau memberikan izin untuk itu
dengan tidak mengurangi pembatasan-pembatasan menurut peraturan
perundang-undangan yang berlaku.
Paten (Patent). Berdasarkan Pasal 1 ayat 1 Undang-Undang Nomor 14 Tahun 2001 Tentang
Paten:
Paten adalah hak eksklusif yang diberikan oleh Negara kepada Inventor atas hasil
Invensinya di bidang teknologi, yang untuk selama waktu tertentu melaksanakan
sendiri Invensinya tersebut atau memberikan persetujuannya kepada pihak lain
untuk melaksanakannya.
Berbeda dengan hak cipta yang melindungi sebuah karya, paten melindungi sebuah ide, bukan
ekspresi dari ide tersebut. Pada hak cipta, seseorang lain berhak membuat karya lain yang
fungsinya sama asalkan tidak dibuat berdasarkan karya orang lain yang memiliki hak cipta.
Sedangkan pada paten, seseorang tidak berhak untuk membuat sebuah karya yang cara
bekerjanya sama dengan sebuah ide yang dipatenkan.
Merk Dagang (Trademark). Berdasarkan pasal 1 ayat 1 Undang-Undang Nomor 15 Tahun 2001
Tentang Merek:
Merek adalah tanda yang berupa gambar, nama, kata, huruf-huruf, angka-angka,
susunan warna, atau kombinasi dari unsur-unsur tersebut yang memiliki daya
pembeda dan digunakan dalam kegiatan perdagangan barang atau jasa.
Contoh: Kacang Atom cap Ayam Jantan.
Rahasia Dagang (Trade Secret). Menurut pasal 1 ayat 1 Undang-Undang Nomor 30 Tahun
2000 Tentang Rahasia Dagang:
Rahasia Dagang adalah informasi yang tidak diketahui oleh umum di bidang
teknologi dan/atau bisnis, mempunyai nilai ekonomi karena berguna dalam
kegiatan usaha, dan dijaga kerahasiaannya oleh pemilik Rahasia Dagang.
Contoh: rahasia dari formula Parfum.
Service Mark. Adalah kata, prase, logo, simbol, warna, suara, bau yang digunakan oleh sebuah
bisnis untuk mengindentifikasi sebuah layanan dan membedakannya dari kompetitornya. Pada
prakteknya perlindungan hukum untuk merek dagang sedang service mark untuk identitasnya.
Contoh: ''Pegadaian: menyelesaikan masalah tanpa masalah''.
Desain Industri. Berdasarkan pasal 1 ayat 1 Undang-Undang Nomor 31 Tahun 2000 Tentang
Desain Industri:
Desain Industri adalah suatu kreasi tentang bentuk, konfigurasi, atau komposisi
garis atau warna, atau garis dan warna, atau gabungan daripadanya yang
berbentuk tiga dimensi atau dua dimensi yang memberikan kesan estetis dan dapat
diwujudkan dalam pola tiga dimensi atau dua dimensi serta dapat dipakai untuk
menghasilkan suatu produk, barang, komoditas industri, atau kerajinan tangan.
Desain Tata Letak Sirkuit Terpadu. Berdasarkan pasal 1 Undang-Undang Nomor 32 Tahun
2000 Tentang Desain Tata Letak Sirkuit Terpadu;
Ayat 1: Sirkuit Terpadu adalah suatu produk dalam bentuk jadi atau setengah jadi,
yang di dalamnya terdapat berbagai elemen dan sekurang-kurangnya satu dari
elemen tersebut adalah elemen aktif, yang sebagian atau seluruhnya saling
berkaitan serta dibentuk secara terpadu di dalam sebuah bahan semikonduktor
yang dimaksudkan untuk menghasilkan fungsi elektronik.
Ayat 2: Desain Tata Letak adalah kreasi berupa rancangan peletakan tiga dimensi
dari berbagai elemen, sekurang-kurangnya satu dari elemen tersebut adalah
elemen aktif, serta sebagian atau semua interkoneksi dalam suatu Sirkuit Terpadu
dan peletakan tiga dimensi tersebut dimaksudkan untuk persiapan pembuatan
Sirkuit Terpadu.
Indikasi Geografis. Berdasarkan pasal 56 ayat 1 Undang-Undang No. 15 Tahun 2001 Tentang
Merek:
Indikasi-geografis dilindungi sebagai suatu tanda yang menunjukkan daerah asal
suatu barang yang karena faktor lingkungan geografis termasuk faktor alam,
faktor manusia, atau kombinasi dari kedua faktor tersebut, memberikan ciri dan
kualitas tertentu pada barang yang dihasilkan.
 Lisensi Perangkat Lunak
Di Indonesia, HaKI PL termasuk ke dalam kategori Hak Cipta (Copyright). Beberapa negara,
mengizinkan pematenan perangkat lunak. Pada industri perangkat lunak, sangat umum perusahaan
besar memiliki portfolio paten yang berjumlah ratusan, bahkan ribuan. Sebagian besar
perusahaan-perusahaan ini memiliki perjanjian cross-licensing, artinya ''Saya izinkan anda
menggunakan paten saya asalkan saya boleh menggunakan paten anda''. Akibatnya hukum paten
pada industri perangkat lunak sangat merugikan perusahaan-perusahaan kecil yang cenderung tidak
memiliki paten. Tetapi ada juga perusahaan kecil yang menyalahgunakan hal ini.
Banyak pihak tidak setuju terhadap paten perangkat lunak karena sangat merugikan industri
perangkat lunak. Sebuah paten berlaku di sebuah negara. Jika sebuah perusahaan ingin patennya
berlaku di negara lain, maka perusahaan tersebut harus mendaftarkan patennya di negara lain
tersebut. Tidak seperti hak cipta, paten harus didaftarkan terlebih dahulu sebelum berlaku.
Perangkat Lunak Berpemilik (Propriety)
Perangkat lunak berpemilik (propriety) ialah perangkat lunak yang tidak bebas atau pun semi-bebas.
Seseorang dapat dilarang, atau harus meminta izin, atau akan dikenakan pembatasan lainnya jika
menggunakan, mengedarkan, atau memodifikasinya.
Perangkat Lunak Komersial
Perangkat lunak komersial adalah perangkat lunak yang dikembangkan oleh kalangan bisnis untuk
memperoleh keuntungan dari penggunaannya. ``Komersial'' dan ``kepemilikan'' adalah dua hal yang
berbeda! Kebanyakan perangkat lunak komersial adalah berpemilik, tapi ada perangkat lunak bebas
komersial, dan ada perangkat lunak tidak bebas dan tidak komersial. Sebaiknya, istilah ini tidak
digunakan.
Perangkat Lunak Semi-Bebas
Perangkat lunak semibebas adalah perangkat lunak yang tidak bebas, tapi mengizinkan setiap orang
untuk menggunakan, menyalin, mendistribusikan, dan memodifikasinya (termasuk distribusi dari
versi yang telah dimodifikasi) untuk tujuan tertentu (Umpama nirlaba). PGP adalah salah satu
contoh dari program semibebas. Perangkat lunak semibebas jauh lebih baik dari perangkat lunak
berpemilik, namun masih ada masalah, dan seseorang tidak dapat menggunakannya pada sistem
operasi yang bebas.
Public Domain
Perangkat lunak public domain ialah perangkat lunak yang tanpa hak cipta. Ini merupakan kasus
khusus dari perangkat lunak bebas non-copyleft, yang berarti bahwa beberapa salinan atau versi
yang telah dimodifikasi bisa jadi tidak bebas sama sekali. Terkadang ada yang menggunakan istilah
``public domain'' secara bebas yang berarti ``cuma-cuma'' atau ``tersedia gratis". Namun ``public
domain'' merupakan istilah hukum yang artinya ``tidak memiliki hak cipta''. Untuk jelasnya, kami
menganjurkan untuk menggunakan istilah ``public domain'' dalam arti tersebut, serta menggunakan
istilah lain untuk mengartikan pengertian yang lain.
Sebuah karya adalah public domain jika pemilik hak ciptanya menghendaki demikian. Selain itu,
hak cipta memiliki waktu kadaluwarsa. Sebagai contoh, lagulagu klasik sebagian besar adalah
public domain karena sudah melewati jangka waktu kadaluwarsa hak cipta.
Freeware
Istilah ``freeware'' tidak terdefinisi dengan jelas, tapi biasanya digunakan untuk paket-paket yang
mengizinkan redistribusi tetapi bukan pemodifikasian (dan kode programnya tidak tersedia).
Paket-paket ini bukan perangkat lunak bebas.
Shareware
Shareware ialah perangkat lunak yang mengizinkan orang-orang untuk meredistribusikan
salinannya, tetapi mereka yang terus menggunakannya diminta untuk membayar biaya lisensi.
Dalam prakteknya, orang-orang sering tidak mempedulikan perjanjian distribusi dan tetap
melakukan hal tersebut, tapi sebenarnya perjanjian tidak mengizinkannya.
GNU General Public License (GNU/GPL)
GNU/GPL merupakan sebuah kumpulan ketentuan pendistribusian tertentu untuk
meng-copyleft-kan sebuah program. Proyek GNU menggunakannya sebagai perjanjian distribusi
untuk sebagian besar perangkat lunak GNU. Sebagai contoh adalah lisensi GPL yang umum
digunakan pada perangkat lunak Open Source. GPL memberikan hak kepada orang lain untuk
menggunakan sebuah ciptaan asalkan modifikasi atau produk derivasi dari ciptaan tersebut memiliki
lisensi yang sama. Kebalikan dari hak cipta adalah public domain. Ciptaan dalam public domain
dapat digunakan sekehendaknya oleh pihak lain.
Sumber Terbuka (Open Source)
Walau pun PL memegang peranan yang penting, pengertian publik terhadap Hak atas Kekayaan
Intelektual Perangkat Lunak (HaKI PL) masih relatif minim. Kebinggungan ini bertambah dengan
peningkatan pemanfaatan dari Perangkat Lunak Bebas (PLB) – Free Software – dan Perangkat
Lunak Sumber Terbuka (PLST) – Open Source Software (OSS). PLB ini sering disalahkaprahkan
sebagai PLST, walau pun sebetulnya terdapat beberapa berbedaan yang mendasar diantara kedua
pendekatan tersebut. Pada dasarnya, PLB lebih mengutamakan hal fundamental kebebasan,
sedangkan PLST lebih mengutamakan kepraktisan pemanfaatan PL itu sendiri.
Konsep Perangkat Lunak Kode Terbuka (Open Source Software) pada intinya adalah membuka
kode sumber (source code) dari sebuah perangkat lunak. Konsep ini terasa aneh pada awalnya
dikarenakan kode sumber merupakan kunci dari sebuah perangkat lunak. Dengan diketahui logika
yang ada di kode sumber, maka orang lain semestinya dapat membuat perangkat lunak yang sama
fungsinya. Open source hanya sebatas itu. Artinya, tidak harus gratis. Kita bisa saja membuat
perangkat lunak yang kita buka kode-sumber-nya, mempatenkan algoritmanya, medaftarkan hak
cipta, dan tetap menjual perangkat lunak tersebut secara komersial (alias tidak gratis). definisi open
source yangasli seperti tertuang dalam OSD (Open Source Definition) yaitu:
• Free Redistribution
• Source Code
• Derived Works
• Integrity of the Authors Source Code
• No Discrimination Against Persons or Groups
• No Discrimination Against Fields of Endeavor
• Distribution of License
• License Must Not Be Specific to a Product
• License Must Not Contaminate Other Software
Beberapa bentuk model bisnis yang dapat dilakukan dengan Open Source:
• Support/seller, pendapatan diperoleh dari penjualan media distribusi, branding, pelatihan, jasa
konsultasi, pengembangan custom, dan dukungan setelah penjualan.
• Loss leader, suatu produk Open Source gratis digunakan untuk menggantikan perangkat lunak
komersial.
• Widget Frosting, perusahaan pada dasarnya menjual perangkat keras yang menggunakan program
open source untuk menjalankan perangkat keras seperti sebagai driver atau lainnya.
• Accecorizing, perusahaan mendistribusikan buku, perangkat keras, atau barang fisik lainnya yang
berkaitan dengan produk Open Source, misal penerbitan buku O Reilly.
• Service Enabler, perangkat lunak Open Source dibuat dan didistribusikan untuk mendukung ke
arah penjualan service lainnya yang menghasilkan uang.
• Brand Licensing, Suatu perusahaan mendapatkan penghasilan dengan penggunaan nama
dagangnya.
• Sell it, Free it, suatu perusahaan memulai siklus produksinya sebagai suatu produk komersial dan
lalu mengubahnya menjadi produk open Source.
• Software Franchising, ini merupakan model kombinasi antara brand licensing dan support/seller.
Copyleft
Copyleft adalah pelesatan dari copyright (Hak Cipta). Copyleft merupakan PLB yang turunannya
tetap merupakan PLB. Contoh lisensi copyleft ialah adalah GNU/GPL General Public License.
Perangkat lunak copylefted merupakan perangkat lunak bebas yang ketentuan pendistribusinya tidak
memperbolehkan untuk menambah batasan-batasan tambahan – jika mendistribusikan atau
memodifikasi perangkat lunak tersebut. Artinya, setiap salinan dari perangkat lunak, walaupun telah
dimodifikasi, haruslah merupakan perangkat lunak bebas.
Perangkat lunak bebas non-copyleft dibuat oleh pembuatnya yang mengizinkan seseorang untuk mendistribusikan dan memodifikasi, dan untuk menambahkan batasan-batasan tambahan dalamnya.
Jika suatu program bebas tapi tidak copyleft, maka beberapa salinan atau versi yang dimodifikasi
bisa jadi tidak bebas sama sekali. Perusahaan perangkat lunak dapat mengkompilasi programnya,
dengan atau tanpa modifikasi, dan mendistribusikan file tereksekusi sebagai produk perangkat lunak
yang berpemilik. Sistem X Window menggambarkan hal ini.

Rabu, 04 Desember 2013

PENJADWALAN PROSES SISTEM OPERASI



PENJADWALAN PROSES SISTEM OPERASI
 Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Proses penjadwalan yang akan dibahas disini adalah proses penjadwalan sistem operasi SOLARIS, LINUX, dan WINDOWS XP.
Sasaran atau tujuan utama penjadwalan proses optimasi kinerja menurut kriteria tertentu. dimana kriteria untuk mengukur dan optimasi kerja penjadwalan antara lain :
  • Agar semua pekerjaan memperoleh pelayanan yang adil (firness).
  • Agar pemakaian prosesor dapat dimaksimumkan.
  • Agar waktu tanggap dapat diminimumkan.
  • Agar pemakaian sumber daya seimbang.
  • Turn arround time, waktu sejak program masuk ke system sampai proses selesai.
  • Efesien, proses tetap dalam keadaan sibuk tidak menganggur.
  • Agar terobosan (thoughput) dapat dimaksimumkan.
Terdapat 3 tipe penjadwal berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:
  1. Penjadwal jangka pendek (short term scheduller)
Bertugas menjadwalkan alokasi pemroses di antara proses-proses ready di memori utama Penjadwalan dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.
  1. Penjadwal jangka menengah (medium term scheduller)
Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah eksekusi karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan menuju selesai sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan. Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan dimasukkan kembali ke memori utama dan ready.
  1. Penjadwal jangka panjang (long term scheduller)
Penjadwal ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, masukan/keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah.
PENJADWALAN PROSES SISTEM OPERASI SOLARIS

Programmed in
C
OS family
Source model
Initial release
1992
10 10/09 / October 8, 2009; 10 months ago
Availablelanguage(s)
C
Supported platforms
SPARCIA-32x86-64,PowerPC (Solaris 2.5.1 only)
Kernel type
Various
Official website
Solaris menggunakan penjadwalan berdasarkan prioritas dimana yang mempunyai prioritas yang lebih tinggi dijalankan terlebih dahulu. Informasi tentang penjadwalan kernel thread dapat dilihat dengan ps -elcL. Kernel Solaris adalah fully preemtible, artinya semua thread, termasuk thread yang mendukung aktifitas kernel itu sendiri dapat ditunda untuk menjalankan thread dengan prioritas yang lebih tinggi.

Gambar penjadwalan solaris
Solaris mengenal 170 prioritas yang berbeda, 0-169. Terbagi dalam 4 kelas penjadwalan yang berbeda:
  1. Real time (RT). Thread di kelas RT memiliki prioritas yang tetap dengan waktu kuantum yang tetap juga. Thread ini memiliki prioritas yang tinggi berkisar antara 100-159. Hal inilah yang membuat proses waktu nyata memiliki response time yang cepat. Proses waktu nyata akan dijalankan sebelum proses-proses dari kelas yang lain dijalankan sehingga dapat menghentikan proses di system class. Pada umumnya, hanya sedikit proses yang merupakan real time class.
  2. System (SYS). Solaris menggunakan system class untuk menjalankan kernel proses, seperti penjadwalan dan paging daemonThreads di kelas ini adalah “bound” threads, berarti bahwa mereka akan dijalankan sampai mereka di blok atau prosesnya sudah selesai. Prioritas untuk SYS threads berkisar 60-99. Sekali dibangun, prioritas dari sistem proses tidak dapat dirubah. System classdialokasikan untuk kernel useuser proses berjalan di kernel mode bukan di system class).
  3. Time Sharing (TS). Time sharing class merupakan default class untuk proses dan kernel thread yang bersesuaian. Time slices masing-masing proses dibagi berdasarkan prioritasnya. Dalam hal ini, prioritas berbanding terbalik dengan time slices-nya. Untuk proses yang prioritasnya tinggi mempunyai time-slices yang pendek, dan sebaliknya proses dengan prioritas yang rendah mempunyai time slices yang lebih panjang. Besar prioritasnya berada antara 0-59. Proses yang interaktif berada di prioritas yang tinggi sedangkan proses CPU-bound mempunyai prioritas yang rendah. Aturan penjadwalan seperti ini memberikan response time yang baik untuk proses yang interaktif, dan troughput yang baik untuk proses CPU-bound.
  4. Interactive (IA). Kelas Interaktif menggunakan aturan yang sama dengan aturan dengan kelas kelas time sharing, tetapi kelas ini memberikan prioritas yang tinggi untuk aplikasi jendela ( windowing application) sehingga menghasilkan performance yang lebih baik. Seperti TS, range IA berkisar 0-59.
Tabel . Solaris dispatch table for interactive and time sharing threads
Priority
Time quantum
Time quantum expired
return from sleep
0
200
0
50
5
200
0
50
10
160
0
51
15
160
5
51
20
120
10
52
25
120
15
52
30
80
20
53
35
80
25
54
40
40
30
55
45
40
35
56
50
40
40
58
55
40
45
58
59
20
49
59
Keterangan:
  1. Priority: prioritas berdasarkan kelas untuk time sharing dan interactive class. Nomor yang lebih tinggi menunjukkan prioritas yang lebih tinggi.
  1. Time quantum: waktu kuantum untuk setiap prioritas. Dapat diketahui bahwa fungsi waktu kuantum berbanding terbalik dengan prioritasnya.
  1. Time quantum expired: Prioritas terbaru untuk thread yang telah habis time slices-nya tanpa diblok. Dapat dilihat dari tabel bahwa thread yang CPU-bound tetap mempunyai prioritas yang rendah.
  1. Return from sleep: Prioritas thread yang kembali dari sleeping(misalnya menunggu dari M/K). Seperti yang terlihat dari tabel ketika M/K berada di waiting thread, prioritasnya berada antara 50-59, hal ini menyebabkan response time yang baik untuk proses yang interaktif.
  1. Fixed Priority (FX). Thread di kelas fixed priority memiliki range prioritas (0-59) yang sama seperti di time-sharing class; tetapi, prioritas mereka tidak akan berubah.
  2. Fair Share Scheduler (FSS). Thread yang diatur oleh FSS dijadwalkan berdasar pembagian sumber daya dari CPU yang tersedia dan dialokasikan untuk himpunan proses-proses (yang dikenal sebagai project). FS juga berkisar 0-59. FSS and FX baru mulai diimplementasikan di Solaris 9.
Seperti yang telah diketahui, setiap kelas penjadwalan mempunyai himpunan dari prioritas-prioritas. Tetapi, penjadwal mengubah class-specific priorities menjadi global priorities kemudian memilih threaddengan prioritas paling tinggi untuk dijalankan. Thread yang dipilih tersebut jalan di CPU sampai thread tersebut (1) di- block, (2) habis time slices-nya, atau (3) dihentikan oleh thread dengan prioritas yang lebih tinggi. Jika ada beberapa thread dengan prioritas yang sama, penjadwal akan menggunakan Round-Robin queue. Seperti yang pernah dijelaskan sebelumnya, Solaris terdahulu menggunakan many-to-many model tetapi solaris 9 berubah menggunakan one-to-one model.
PENJADWALAN PROSES SISTEM OPERASI LINUX

Linus Torvalds and many others
Programmed in
OS family
Working state
Current
Source model
2.6.35.3 (August 20, 2010; 3 days ago)[1] [+/−]
2.6.36-rc2 (August 23, 2010; 0 days ago)[2][+/−]
Marketing target
Desktops, servers, embedded devices
Availablelanguage(s)
Multi-lingual
Supported platforms
Kernel type
GNU and others
Officialwebsite
Mulai di versi 2.5, Kernel linux dapat berjalan di berbagai algoritma penjadwalan UNIX tradisional. Dua masalah dengan penjadwal UNIX tradisional adalah tidak disediakannya dukungan yang cukup untuk SMP (symmetric multiprocessor) sistem dan tidak diperhitungkan dengan baik jumlah tasks pada sistem yang berkembang. Dalam versi 2.5, penjadwal memeriksa dengan teliti hal tersebut, dan sekarang kernel juga menyajikan algoritma penjadwalan yang dapat run dalam waktu yang konstan tidak tergantung dari jumlah tasks dalam sistem. Penjadwal yang baru juga menyediakan peningkatan dukungan untuk SMP, termasuk processor affinity dan load balancing, sebaik dalam menyediakan keadilan dan dukungan terhadap interactive tasks.
Penjadwal linux adalah preemptive, algoritmanya berdasarkan prioritas dengan dua range prioritas yang terpisah: real-time range dari 0-99 dan nice value berkisar dari 100-140. Dua range ini dipetakan menjadi global priority scheme dimana nilai yang lebih rendah memiliki prioritas yang lebih tinggi. Tidak seperti penjadwal yang lain, Linux menetapkan prioritas yang lebih tinggi memiliki waktu kuantum yang lebih panjang dan prioritas yang lebih rendah memiliki waktu kuantum yang lebih pendek.
Linux mengimplementasikan real time scheduling seperti yang didefinisikan oleh POSIX 1.b: First Come First Served dan Round Robin. Sistem waktu nyata( real time)diberikan untuk task yang prioritasnya tetap. Sedangkan task yang lainnya memiliki prioritas yang dinamis berdasakan nice values ditambah atau dikurangi dengan 5. Interaktifitas sebuah task menentukan apakah nilai 5 tersebut akan ditambah atau dikurangi dari nice value. Task yang lebih interaktif mempunyai ciri khas memiliki sleep times yang lebih lama dan karena itu maka ditambah dengan -5, karena penjadwal lebih menyukaiinteractive task. Hasil dari pendekatan ini akan membuat prioritas untuk interactive task lebih tinggi. Sebaliknya, task dengan sleep time yang lebih pendek biasanya lebih CPU-bound jadi prioritasnya lebih rendah.

Gambar . Hubungan antara prioritas dan waktu kuantum
Task yang berjalan memenuhi syarat untuk dieksekusi oleh CPU selama time slice-nya masih ada. Ketika sebuah task telah kehabisan time slice-nya, maka task tersebut akan expired dan tidak memenuhi syarat untuk dieksekusi lagi sampai semua task yang lain sudah habis waktu kuantumnya. Kernel mengatur daftar semua task yang berjalan di runqueue data structure. Karena dukungan Linux untuk SMP, setiap prossesor mengatur runqueue mereka sendiri dan penjadwalan yang bebas. Setiap runqueue terdiri dari dua array prioritas - active dan expiredActive array terdiri dari semua task yang mempunyai sisa waktu time slices, dan expired array terdiri dari task yang telah berakhir. Setiap array prioritas ini memiliki daftar task indexed berdasakan prioritasnya. Penjadwal memilih task dengan prioritas paling tinggi di active array untuk dieksekusi dalam CPU. Di mesin multiprossesor, ini berarti setiap prossesor menjadwalkan prioritas paling tinggi dalam runqueue structure masing-masing. Ketika semua tasktelah habis time slices-nya (dimana, active array-nya sudah kosong), dua array prioritas bertukar; expired array menjadi active array, dan sebaliknya.

Gambar . Daftar task indexed berdasarkan prioritas
Penghitungan ulang dari task yang memiliki prioritas yang dinamis berlangsung ketika task telah menyelesaikan waktu kuantumnya dan akan dipindahkan ke expired array. Jadi, ketika ada dua larik ( array) ditukar, semua task di array aktif yang baru ditentukan prioritasnya yang baru dan disesuaikan juga time slices-nya.
PENJADWALAN PROSES SISTEM OPERASI WINDOWS XP

Developer
Microsoft Corporation
Release date
RTM: August 24, 2001 Retail: October 25, 2001 (info)
Current version
5.1.2600.5512 Service Pack 3 (x86 SP3) (21 April 2008; 2 years ago) (info)
Source model
Kernel type
Update method
Platform support
Website
Windows XP menggunakan algoritma, prioritas penjadwalan quantum-based berbasis reemptive priority scheduling .
Gambar Proses Pada Windows Xp
Threads dijadwalkan dalam proses, Karena prioritas preemptive algoritma diimplementasikan dengan beberapa queue, dapat dianggap sebagai algoritma multiple feedback-queue . Namun, masing-masing Threads biasanya terbatas pada kelompok kecil dari 5 level prioritas,
Preemption dapat terjadi karena salah satu dari 4 alasan:
  •  
    • thread menjadi prioritas lebih tinggi-siap
    • thread berakhir
    • kuantum habis waktu
    • thread melakukan panggilan sistem pemblokiran, seperti untuk I / O, dalam hal ini meninggalkan keadaan ready menjadi keadaan menunggu.
Gambar Quatum pada windows XP
32 tingkat prioritas digunakan, di mana prioritas 31 merupakan prioritas tertinggi dan prioritas 0 adalah prioritas terendah

    • memori manajemen thread: prioritas 0
    • variabel kelas prioritas (1-15)
    • real-time kelas prioritas (16-31)
  • Threads di kelas real-time telah tetap prioritasnya.
  • Threads yang berjalan selalu dengan tingkat prioritas tertinggi.
  • Jika tidak ada thread yang ready, Threads idle dijalankan.
  • Ketika waktu quantum thread habis, prioritasnya diturunkan, tetapi prioritasnya tidak pernah diturunkan terlalu jauh

HaKI Perangkat Lunak

0 comments


HaKI Perangkat Lunak
 Pendahuluan
Sebelum membahas aspek teknis secara mendalam, sebaiknya kita memantapkan terlebih dahulu
sebuah pengertian aspek non teknis dari sebuah sistem operasi yaitu Hak atas Kekayaan Intelektual
Perangkat Lunak (HaKI PL) Pembahasan dimulai dengan menerangkan konsep HaKI secara umum,
serta HaKI PL secara lebih dalam. Secara khusus akan dibahas konsep Perangkat Lunak
Bebas/Sumber Terbuka – PLB/ST (Free/Open Source Software – F/OSS). Pembahasan ini bukan
bertujuan sebagai indoktrinasi faham tersebut! Justru yang diharapkan:
• Pelurusan atas persepsi keliru PLB dan ST, serta penjelasan perbedaan dan persamaan dari kedua
konsep tersebut.
• Apa yang boleh dan apa yang tidak boleh dilakukan dengan PLB/ST.
• Pelurusan atas persepsi bahwa para penulis program komputer tidak berhak digaji layak.
• Pelurusan atas persepsi bahwa PLB tidak boleh dijual/dikomersialkan.
• Pelurusan atas persepsi bahwa PLB wajib disebarluaskan.
• Pelurusan atas persepsi bahwa saat distribusi tidak wajib menyertakan kode sumber.
Setelah menyimak tulisan ini, diharapkan akan lebih memahami dan lebih menghargai makna
PLB/ST secara khusus, serta HaKI/PL secara umum.
''Hak atas Kekayaan Intelektual'' (HaKI) merupakan terjemahan atas istilah ''Intellectual Property
Right'' (IPR). Istilah tersebut terdiri dari tiga kata kunci yaitu: ''Hak'', ''Kekayaan'' dan ''Intelektual''.
Kekayaan merupakan abstraksi yang dapat: dimiliki, dialihkan, dibeli, maupun dijual. Sedangkan
''Kekayaan Intelektual'' merupakan kekayaan atas segala hasil produksi kecerdasan daya pikir seperti
teknologi, pengetahuan, seni, sastra, gubahan lagu, karya tulis, karikatur, dan seterusnya. Terakhir,
HaKI merupakan hak-hak (wewenang/kekuasaan) untuk berbuat sesuatu atas Kekayaan Intelektual
tersebut, yang diatur oleh norma-norma atau hukum-hukum yang berlaku.
``Hak'' itu sendiri dapat dibagi menjadi dua. Pertama, ``Hak Dasar (Azasi)'', yang merupakan hak
mutlak yang tidak dapat diganggu-gugat. Umpama: hak untuk hidup, hak untuk mendapatkan
keadilan, dan sebagainya. Kedua, ``Hak Amanat/ Peraturan'' yaitu hak karena diberikan oleh
masyarakat melalui peraturan/perundangan. Di berbagai negara, termasuk Amrik dan Indonesia,
HaKI merupakan ''Hak Amanat/Pengaturan'', sehingga masyarakatlah yang menentukan, seberapa
besar HaKI yang diberikan kepada individu dan kelompok. Sesuai dengan hakekatnya pula, HaKI
dikelompokkan sebagai hak milik perorangan yang sifatnya tidak berwujud (intangible). Terlihat
bahwa HaKI merupakan Hak Pemberian dari Umum (Publik) yang dijamin oleh Undang-undang.
HaKI bukan merupakan Hak Azazi, sehingga kriteria pemberian HaKI merupakan hal yang dapat
diperdebatkan oleh publik. Apa kriteria untuk memberikan HaKI? Berapa lama pemegang HaKI
memperoleh hak eksklusif? Apakah HaKI dapat dicabut demi kepentingan umum? Bagaimana
dengan HaKI atas formula obat untuk para penderita HIV/AIDs?
Undang-undang mengenai HaKI pertama kali ada di Venice, Italia yang menyangkut masalah paten
pada tahun 1470. Caxton, Galileo, dan Guttenberg tercatat sebagai penemu-penemu yang muncul
dalam kurun waktu tersebut dan mempunyai hak monopoli atas penemuan mereka. Hukum-hukum
tentang paten tersebut kemudian diadopsi oleh kerajaan Inggris di jaman TUDOR tahun 1500-an
dan kemudian lahir hukum mengenai paten pertama di Inggris yaitu Statute of Monopolies (1623).
Amerika Serikat baru mempunyai undang-undang paten tahun 1791. Upaya harmonisasi dalam
bidang HaKI pertama kali terjadi tahun 1883 dengan lahirnya konvensi Paris untuk masalah paten,
merek dagang dan desain. Kemudian konvensi Berne 1886 untuk masalah Hak Cipta (Copyright).
 Perangkat Lunak Bebas
Bebas pada kata perangkat lunak bebas tepatnya adalah bahwa para pengguna bebas untuk
menjalankan suatu program, mengubah suatu program, dan mendistribusi ulang suatu program
dengan atau tanpa mengubahnya. Berhubung perangkat lunak bebas bukan perihal harga, harga yang
murah tidak menjadikannya menjadi lebih bebas, atau mendekati bebas. Jadi jika anda mendistribusi
ulang salinan dari perangkat lunak bebas, anda dapat saja menarik biaya dan mendapatkan uang.
Mendistribusi ulang perangkat lunak bebas merupakan kegiatan yang baik dan sah; jika anda
melakukannya, silakan juga menarik keuntungan.I
Perangkat lunak bebas ialah perangkat lunak yang mengizinkan siapa pun untuk menggunakan,
menyalin, dan mendistribusikan, baik dimodifikasi atau pun tidak, secara gratis atau pun dengan
biaya. Perlu ditekankan, bahwa kode sumber dari program harus tersedia. Jika tidak ada kode
program, berarti bukan perangkat lunak. Perangkat Lunak Bebas mengacu pada kebebasan para
penggunanya untuk menjalankan, menggandakan, menyebarluaskan, mempelajari, mengubah dan
meningkatkan kinerja perangkat lunak. Tepatnya, mengacu pada empat jenis kebebasan bagi para
pengguna perangk at lunak:
Kebebasan 0. Kebebasan untuk menjalankan programnya untuk tujuan apa saja.
Kebebasan 1. Kebebasan untuk mempelajari bagaimana program itu bekerja serta dapat
disesuaikan dengan kebutuhan anda. Akses pada kode program merupakan suatu prasyarat.
Kebebasan 2. Kebebasan untuk menyebarluaskan kembali hasil salinan perangkat lunak tersebut
sehingga dapat membantu sesama anda.
Kebebasan 3. Kebebasan untuk meningkatkan kinerja program, dan dapat menyebarkannya ke
khalayak umum sehingga semua menikmati keuntungannya. Akses pada kode program
merupakan suatu prasyarat juga.
Suatu program merupakan perangkat lunak bebas, jika setiap pengguna memiliki semua dari
kebebasan tersebut. Dengan demikian, anda seharusnya bebas untuk menyebarluaskan salinan
program itu, dengan atau tanpa modifikasi (perubahan), secara gratis atau pun dengan memungut
biaya penyebarluasan, kepada siapa pun dimana pun. Kebebasan untuk melakukan semua hal di atas
berarti anda tidak harus meminta atau pun membayar untuk izin tersebut.
Perangkat lunak bebas bukan berarti ``tidak komersial''. Program bebas harus boleh digunakan untuk
keperluan komersial. Pengembangan perangkat lunak bebas secara komersial pun tidak merupakan
hal yang aneh; dan produknya ialah perangkat lunak bebas yang komersial.
 Aneka Ragam HaKI
Hak Cipta (Copyright). Berdasarkan pasal 1 ayat 1 Undang-Undang Nomor 19 Tahun 2002
Tentang Hak Cipta:
Hak Cipta adalah hak eksklusif bagi Pencipta atau penerima hak untuk
mengumumkan atau memperbanyak ciptaannya atau memberikan izin untuk itu
dengan tidak mengurangi pembatasan-pembatasan menurut peraturan
perundang-undangan yang berlaku.
Paten (Patent). Berdasarkan Pasal 1 ayat 1 Undang-Undang Nomor 14 Tahun 2001 Tentang
Paten:
Paten adalah hak eksklusif yang diberikan oleh Negara kepada Inventor atas hasil
Invensinya di bidang teknologi, yang untuk selama waktu tertentu melaksanakan
sendiri Invensinya tersebut atau memberikan persetujuannya kepada pihak lain
untuk melaksanakannya.
Berbeda dengan hak cipta yang melindungi sebuah karya, paten melindungi sebuah ide, bukan
ekspresi dari ide tersebut. Pada hak cipta, seseorang lain berhak membuat karya lain yang
fungsinya sama asalkan tidak dibuat berdasarkan karya orang lain yang memiliki hak cipta.
Sedangkan pada paten, seseorang tidak berhak untuk membuat sebuah karya yang cara
bekerjanya sama dengan sebuah ide yang dipatenkan.
Merk Dagang (Trademark). Berdasarkan pasal 1 ayat 1 Undang-Undang Nomor 15 Tahun 2001
Tentang Merek:
Merek adalah tanda yang berupa gambar, nama, kata, huruf-huruf, angka-angka,
susunan warna, atau kombinasi dari unsur-unsur tersebut yang memiliki daya
pembeda dan digunakan dalam kegiatan perdagangan barang atau jasa.
Contoh: Kacang Atom cap Ayam Jantan.
Rahasia Dagang (Trade Secret). Menurut pasal 1 ayat 1 Undang-Undang Nomor 30 Tahun
2000 Tentang Rahasia Dagang:
Rahasia Dagang adalah informasi yang tidak diketahui oleh umum di bidang
teknologi dan/atau bisnis, mempunyai nilai ekonomi karena berguna dalam
kegiatan usaha, dan dijaga kerahasiaannya oleh pemilik Rahasia Dagang.
Contoh: rahasia dari formula Parfum.
Service Mark. Adalah kata, prase, logo, simbol, warna, suara, bau yang digunakan oleh sebuah
bisnis untuk mengindentifikasi sebuah layanan dan membedakannya dari kompetitornya. Pada
prakteknya perlindungan hukum untuk merek dagang sedang service mark untuk identitasnya.
Contoh: ''Pegadaian: menyelesaikan masalah tanpa masalah''.
Desain Industri. Berdasarkan pasal 1 ayat 1 Undang-Undang Nomor 31 Tahun 2000 Tentang
Desain Industri:
Desain Industri adalah suatu kreasi tentang bentuk, konfigurasi, atau komposisi
garis atau warna, atau garis dan warna, atau gabungan daripadanya yang
berbentuk tiga dimensi atau dua dimensi yang memberikan kesan estetis dan dapat
diwujudkan dalam pola tiga dimensi atau dua dimensi serta dapat dipakai untuk
menghasilkan suatu produk, barang, komoditas industri, atau kerajinan tangan.
Desain Tata Letak Sirkuit Terpadu. Berdasarkan pasal 1 Undang-Undang Nomor 32 Tahun
2000 Tentang Desain Tata Letak Sirkuit Terpadu;
Ayat 1: Sirkuit Terpadu adalah suatu produk dalam bentuk jadi atau setengah jadi,
yang di dalamnya terdapat berbagai elemen dan sekurang-kurangnya satu dari
elemen tersebut adalah elemen aktif, yang sebagian atau seluruhnya saling
berkaitan serta dibentuk secara terpadu di dalam sebuah bahan semikonduktor
yang dimaksudkan untuk menghasilkan fungsi elektronik.
Ayat 2: Desain Tata Letak adalah kreasi berupa rancangan peletakan tiga dimensi
dari berbagai elemen, sekurang-kurangnya satu dari elemen tersebut adalah
elemen aktif, serta sebagian atau semua interkoneksi dalam suatu Sirkuit Terpadu
dan peletakan tiga dimensi tersebut dimaksudkan untuk persiapan pembuatan
Sirkuit Terpadu.
Indikasi Geografis. Berdasarkan pasal 56 ayat 1 Undang-Undang No. 15 Tahun 2001 Tentang
Merek:
Indikasi-geografis dilindungi sebagai suatu tanda yang menunjukkan daerah asal
suatu barang yang karena faktor lingkungan geografis termasuk faktor alam,
faktor manusia, atau kombinasi dari kedua faktor tersebut, memberikan ciri dan
kualitas tertentu pada barang yang dihasilkan.
 Lisensi Perangkat Lunak
Di Indonesia, HaKI PL termasuk ke dalam kategori Hak Cipta (Copyright). Beberapa negara,
mengizinkan pematenan perangkat lunak. Pada industri perangkat lunak, sangat umum perusahaan
besar memiliki portfolio paten yang berjumlah ratusan, bahkan ribuan. Sebagian besar
perusahaan-perusahaan ini memiliki perjanjian cross-licensing, artinya ''Saya izinkan anda
menggunakan paten saya asalkan saya boleh menggunakan paten anda''. Akibatnya hukum paten
pada industri perangkat lunak sangat merugikan perusahaan-perusahaan kecil yang cenderung tidak
memiliki paten. Tetapi ada juga perusahaan kecil yang menyalahgunakan hal ini.
Banyak pihak tidak setuju terhadap paten perangkat lunak karena sangat merugikan industri
perangkat lunak. Sebuah paten berlaku di sebuah negara. Jika sebuah perusahaan ingin patennya
berlaku di negara lain, maka perusahaan tersebut harus mendaftarkan patennya di negara lain
tersebut. Tidak seperti hak cipta, paten harus didaftarkan terlebih dahulu sebelum berlaku.
Perangkat Lunak Berpemilik (Propriety)
Perangkat lunak berpemilik (propriety) ialah perangkat lunak yang tidak bebas atau pun semi-bebas.
Seseorang dapat dilarang, atau harus meminta izin, atau akan dikenakan pembatasan lainnya jika
menggunakan, mengedarkan, atau memodifikasinya.
Perangkat Lunak Komersial
Perangkat lunak komersial adalah perangkat lunak yang dikembangkan oleh kalangan bisnis untuk
memperoleh keuntungan dari penggunaannya. ``Komersial'' dan ``kepemilikan'' adalah dua hal yang
berbeda! Kebanyakan perangkat lunak komersial adalah berpemilik, tapi ada perangkat lunak bebas
komersial, dan ada perangkat lunak tidak bebas dan tidak komersial. Sebaiknya, istilah ini tidak
digunakan.
Perangkat Lunak Semi-Bebas
Perangkat lunak semibebas adalah perangkat lunak yang tidak bebas, tapi mengizinkan setiap orang
untuk menggunakan, menyalin, mendistribusikan, dan memodifikasinya (termasuk distribusi dari
versi yang telah dimodifikasi) untuk tujuan tertentu (Umpama nirlaba). PGP adalah salah satu
contoh dari program semibebas. Perangkat lunak semibebas jauh lebih baik dari perangkat lunak
berpemilik, namun masih ada masalah, dan seseorang tidak dapat menggunakannya pada sistem
operasi yang bebas.
Public Domain
Perangkat lunak public domain ialah perangkat lunak yang tanpa hak cipta. Ini merupakan kasus
khusus dari perangkat lunak bebas non-copyleft, yang berarti bahwa beberapa salinan atau versi
yang telah dimodifikasi bisa jadi tidak bebas sama sekali. Terkadang ada yang menggunakan istilah
``public domain'' secara bebas yang berarti ``cuma-cuma'' atau ``tersedia gratis". Namun ``public
domain'' merupakan istilah hukum yang artinya ``tidak memiliki hak cipta''. Untuk jelasnya, kami
menganjurkan untuk menggunakan istilah ``public domain'' dalam arti tersebut, serta menggunakan
istilah lain untuk mengartikan pengertian yang lain.
Sebuah karya adalah public domain jika pemilik hak ciptanya menghendaki demikian. Selain itu,
hak cipta memiliki waktu kadaluwarsa. Sebagai contoh, lagulagu klasik sebagian besar adalah
public domain karena sudah melewati jangka waktu kadaluwarsa hak cipta.
Freeware
Istilah ``freeware'' tidak terdefinisi dengan jelas, tapi biasanya digunakan untuk paket-paket yang
mengizinkan redistribusi tetapi bukan pemodifikasian (dan kode programnya tidak tersedia).
Paket-paket ini bukan perangkat lunak bebas.
Shareware
Shareware ialah perangkat lunak yang mengizinkan orang-orang untuk meredistribusikan
salinannya, tetapi mereka yang terus menggunakannya diminta untuk membayar biaya lisensi.
Dalam prakteknya, orang-orang sering tidak mempedulikan perjanjian distribusi dan tetap
melakukan hal tersebut, tapi sebenarnya perjanjian tidak mengizinkannya.
GNU General Public License (GNU/GPL)
GNU/GPL merupakan sebuah kumpulan ketentuan pendistribusian tertentu untuk
meng-copyleft-kan sebuah program. Proyek GNU menggunakannya sebagai perjanjian distribusi
untuk sebagian besar perangkat lunak GNU. Sebagai contoh adalah lisensi GPL yang umum
digunakan pada perangkat lunak Open Source. GPL memberikan hak kepada orang lain untuk
menggunakan sebuah ciptaan asalkan modifikasi atau produk derivasi dari ciptaan tersebut memiliki
lisensi yang sama. Kebalikan dari hak cipta adalah public domain. Ciptaan dalam public domain
dapat digunakan sekehendaknya oleh pihak lain.
Sumber Terbuka (Open Source)
Walau pun PL memegang peranan yang penting, pengertian publik terhadap Hak atas Kekayaan
Intelektual Perangkat Lunak (HaKI PL) masih relatif minim. Kebinggungan ini bertambah dengan
peningkatan pemanfaatan dari Perangkat Lunak Bebas (PLB) – Free Software – dan Perangkat
Lunak Sumber Terbuka (PLST) – Open Source Software (OSS). PLB ini sering disalahkaprahkan
sebagai PLST, walau pun sebetulnya terdapat beberapa berbedaan yang mendasar diantara kedua
pendekatan tersebut. Pada dasarnya, PLB lebih mengutamakan hal fundamental kebebasan,
sedangkan PLST lebih mengutamakan kepraktisan pemanfaatan PL itu sendiri.
Konsep Perangkat Lunak Kode Terbuka (Open Source Software) pada intinya adalah membuka
kode sumber (source code) dari sebuah perangkat lunak. Konsep ini terasa aneh pada awalnya
dikarenakan kode sumber merupakan kunci dari sebuah perangkat lunak. Dengan diketahui logika
yang ada di kode sumber, maka orang lain semestinya dapat membuat perangkat lunak yang sama
fungsinya. Open source hanya sebatas itu. Artinya, tidak harus gratis. Kita bisa saja membuat
perangkat lunak yang kita buka kode-sumber-nya, mempatenkan algoritmanya, medaftarkan hak
cipta, dan tetap menjual perangkat lunak tersebut secara komersial (alias tidak gratis). definisi open
source yangasli seperti tertuang dalam OSD (Open Source Definition) yaitu:
• Free Redistribution
• Source Code
• Derived Works
• Integrity of the Authors Source Code
• No Discrimination Against Persons or Groups
• No Discrimination Against Fields of Endeavor
• Distribution of License
• License Must Not Be Specific to a Product
• License Must Not Contaminate Other Software
Beberapa bentuk model bisnis yang dapat dilakukan dengan Open Source:
• Support/seller, pendapatan diperoleh dari penjualan media distribusi, branding, pelatihan, jasa
konsultasi, pengembangan custom, dan dukungan setelah penjualan.
• Loss leader, suatu produk Open Source gratis digunakan untuk menggantikan perangkat lunak
komersial.
• Widget Frosting, perusahaan pada dasarnya menjual perangkat keras yang menggunakan program
open source untuk menjalankan perangkat keras seperti sebagai driver atau lainnya.
• Accecorizing, perusahaan mendistribusikan buku, perangkat keras, atau barang fisik lainnya yang
berkaitan dengan produk Open Source, misal penerbitan buku O Reilly.
• Service Enabler, perangkat lunak Open Source dibuat dan didistribusikan untuk mendukung ke
arah penjualan service lainnya yang menghasilkan uang.
• Brand Licensing, Suatu perusahaan mendapatkan penghasilan dengan penggunaan nama
dagangnya.
• Sell it, Free it, suatu perusahaan memulai siklus produksinya sebagai suatu produk komersial dan
lalu mengubahnya menjadi produk open Source.
• Software Franchising, ini merupakan model kombinasi antara brand licensing dan support/seller.
Copyleft
Copyleft adalah pelesatan dari copyright (Hak Cipta). Copyleft merupakan PLB yang turunannya
tetap merupakan PLB. Contoh lisensi copyleft ialah adalah GNU/GPL General Public License.
Perangkat lunak copylefted merupakan perangkat lunak bebas yang ketentuan pendistribusinya tidak
memperbolehkan untuk menambah batasan-batasan tambahan – jika mendistribusikan atau
memodifikasi perangkat lunak tersebut. Artinya, setiap salinan dari perangkat lunak, walaupun telah
dimodifikasi, haruslah merupakan perangkat lunak bebas.
Perangkat lunak bebas non-copyleft dibuat oleh pembuatnya yang mengizinkan seseorang untuk mendistribusikan dan memodifikasi, dan untuk menambahkan batasan-batasan tambahan dalamnya.
Jika suatu program bebas tapi tidak copyleft, maka beberapa salinan atau versi yang dimodifikasi
bisa jadi tidak bebas sama sekali. Perusahaan perangkat lunak dapat mengkompilasi programnya,
dengan atau tanpa modifikasi, dan mendistribusikan file tereksekusi sebagai produk perangkat lunak
yang berpemilik. Sistem X Window menggambarkan hal ini.

PENJADWALAN PROSES SISTEM OPERASI

0 comments


PENJADWALAN PROSES SISTEM OPERASI
 Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Proses penjadwalan yang akan dibahas disini adalah proses penjadwalan sistem operasi SOLARIS, LINUX, dan WINDOWS XP.
Sasaran atau tujuan utama penjadwalan proses optimasi kinerja menurut kriteria tertentu. dimana kriteria untuk mengukur dan optimasi kerja penjadwalan antara lain :
  • Agar semua pekerjaan memperoleh pelayanan yang adil (firness).
  • Agar pemakaian prosesor dapat dimaksimumkan.
  • Agar waktu tanggap dapat diminimumkan.
  • Agar pemakaian sumber daya seimbang.
  • Turn arround time, waktu sejak program masuk ke system sampai proses selesai.
  • Efesien, proses tetap dalam keadaan sibuk tidak menganggur.
  • Agar terobosan (thoughput) dapat dimaksimumkan.
Terdapat 3 tipe penjadwal berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:
  1. Penjadwal jangka pendek (short term scheduller)
Bertugas menjadwalkan alokasi pemroses di antara proses-proses ready di memori utama Penjadwalan dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.
  1. Penjadwal jangka menengah (medium term scheduller)
Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah eksekusi karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan menuju selesai sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan. Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan dimasukkan kembali ke memori utama dan ready.
  1. Penjadwal jangka panjang (long term scheduller)
Penjadwal ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, masukan/keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah.
PENJADWALAN PROSES SISTEM OPERASI SOLARIS

Programmed in
C
OS family
Source model
Initial release
1992
10 10/09 / October 8, 2009; 10 months ago
Availablelanguage(s)
C
Supported platforms
SPARCIA-32x86-64,PowerPC (Solaris 2.5.1 only)
Kernel type
Various
Official website
Solaris menggunakan penjadwalan berdasarkan prioritas dimana yang mempunyai prioritas yang lebih tinggi dijalankan terlebih dahulu. Informasi tentang penjadwalan kernel thread dapat dilihat dengan ps -elcL. Kernel Solaris adalah fully preemtible, artinya semua thread, termasuk thread yang mendukung aktifitas kernel itu sendiri dapat ditunda untuk menjalankan thread dengan prioritas yang lebih tinggi.

Gambar penjadwalan solaris
Solaris mengenal 170 prioritas yang berbeda, 0-169. Terbagi dalam 4 kelas penjadwalan yang berbeda:
  1. Real time (RT). Thread di kelas RT memiliki prioritas yang tetap dengan waktu kuantum yang tetap juga. Thread ini memiliki prioritas yang tinggi berkisar antara 100-159. Hal inilah yang membuat proses waktu nyata memiliki response time yang cepat. Proses waktu nyata akan dijalankan sebelum proses-proses dari kelas yang lain dijalankan sehingga dapat menghentikan proses di system class. Pada umumnya, hanya sedikit proses yang merupakan real time class.
  2. System (SYS). Solaris menggunakan system class untuk menjalankan kernel proses, seperti penjadwalan dan paging daemonThreads di kelas ini adalah “bound” threads, berarti bahwa mereka akan dijalankan sampai mereka di blok atau prosesnya sudah selesai. Prioritas untuk SYS threads berkisar 60-99. Sekali dibangun, prioritas dari sistem proses tidak dapat dirubah. System classdialokasikan untuk kernel useuser proses berjalan di kernel mode bukan di system class).
  3. Time Sharing (TS). Time sharing class merupakan default class untuk proses dan kernel thread yang bersesuaian. Time slices masing-masing proses dibagi berdasarkan prioritasnya. Dalam hal ini, prioritas berbanding terbalik dengan time slices-nya. Untuk proses yang prioritasnya tinggi mempunyai time-slices yang pendek, dan sebaliknya proses dengan prioritas yang rendah mempunyai time slices yang lebih panjang. Besar prioritasnya berada antara 0-59. Proses yang interaktif berada di prioritas yang tinggi sedangkan proses CPU-bound mempunyai prioritas yang rendah. Aturan penjadwalan seperti ini memberikan response time yang baik untuk proses yang interaktif, dan troughput yang baik untuk proses CPU-bound.
  4. Interactive (IA). Kelas Interaktif menggunakan aturan yang sama dengan aturan dengan kelas kelas time sharing, tetapi kelas ini memberikan prioritas yang tinggi untuk aplikasi jendela ( windowing application) sehingga menghasilkan performance yang lebih baik. Seperti TS, range IA berkisar 0-59.
Tabel . Solaris dispatch table for interactive and time sharing threads
Priority
Time quantum
Time quantum expired
return from sleep
0
200
0
50
5
200
0
50
10
160
0
51
15
160
5
51
20
120
10
52
25
120
15
52
30
80
20
53
35
80
25
54
40
40
30
55
45
40
35
56
50
40
40
58
55
40
45
58
59
20
49
59
Keterangan:
  1. Priority: prioritas berdasarkan kelas untuk time sharing dan interactive class. Nomor yang lebih tinggi menunjukkan prioritas yang lebih tinggi.
  1. Time quantum: waktu kuantum untuk setiap prioritas. Dapat diketahui bahwa fungsi waktu kuantum berbanding terbalik dengan prioritasnya.
  1. Time quantum expired: Prioritas terbaru untuk thread yang telah habis time slices-nya tanpa diblok. Dapat dilihat dari tabel bahwa thread yang CPU-bound tetap mempunyai prioritas yang rendah.
  1. Return from sleep: Prioritas thread yang kembali dari sleeping(misalnya menunggu dari M/K). Seperti yang terlihat dari tabel ketika M/K berada di waiting thread, prioritasnya berada antara 50-59, hal ini menyebabkan response time yang baik untuk proses yang interaktif.
  1. Fixed Priority (FX). Thread di kelas fixed priority memiliki range prioritas (0-59) yang sama seperti di time-sharing class; tetapi, prioritas mereka tidak akan berubah.
  2. Fair Share Scheduler (FSS). Thread yang diatur oleh FSS dijadwalkan berdasar pembagian sumber daya dari CPU yang tersedia dan dialokasikan untuk himpunan proses-proses (yang dikenal sebagai project). FS juga berkisar 0-59. FSS and FX baru mulai diimplementasikan di Solaris 9.
Seperti yang telah diketahui, setiap kelas penjadwalan mempunyai himpunan dari prioritas-prioritas. Tetapi, penjadwal mengubah class-specific priorities menjadi global priorities kemudian memilih threaddengan prioritas paling tinggi untuk dijalankan. Thread yang dipilih tersebut jalan di CPU sampai thread tersebut (1) di- block, (2) habis time slices-nya, atau (3) dihentikan oleh thread dengan prioritas yang lebih tinggi. Jika ada beberapa thread dengan prioritas yang sama, penjadwal akan menggunakan Round-Robin queue. Seperti yang pernah dijelaskan sebelumnya, Solaris terdahulu menggunakan many-to-many model tetapi solaris 9 berubah menggunakan one-to-one model.
PENJADWALAN PROSES SISTEM OPERASI LINUX

Linus Torvalds and many others
Programmed in
OS family
Working state
Current
Source model
2.6.35.3 (August 20, 2010; 3 days ago)[1] [+/−]
2.6.36-rc2 (August 23, 2010; 0 days ago)[2][+/−]
Marketing target
Desktops, servers, embedded devices
Availablelanguage(s)
Multi-lingual
Supported platforms
Kernel type
GNU and others
Officialwebsite
Mulai di versi 2.5, Kernel linux dapat berjalan di berbagai algoritma penjadwalan UNIX tradisional. Dua masalah dengan penjadwal UNIX tradisional adalah tidak disediakannya dukungan yang cukup untuk SMP (symmetric multiprocessor) sistem dan tidak diperhitungkan dengan baik jumlah tasks pada sistem yang berkembang. Dalam versi 2.5, penjadwal memeriksa dengan teliti hal tersebut, dan sekarang kernel juga menyajikan algoritma penjadwalan yang dapat run dalam waktu yang konstan tidak tergantung dari jumlah tasks dalam sistem. Penjadwal yang baru juga menyediakan peningkatan dukungan untuk SMP, termasuk processor affinity dan load balancing, sebaik dalam menyediakan keadilan dan dukungan terhadap interactive tasks.
Penjadwal linux adalah preemptive, algoritmanya berdasarkan prioritas dengan dua range prioritas yang terpisah: real-time range dari 0-99 dan nice value berkisar dari 100-140. Dua range ini dipetakan menjadi global priority scheme dimana nilai yang lebih rendah memiliki prioritas yang lebih tinggi. Tidak seperti penjadwal yang lain, Linux menetapkan prioritas yang lebih tinggi memiliki waktu kuantum yang lebih panjang dan prioritas yang lebih rendah memiliki waktu kuantum yang lebih pendek.
Linux mengimplementasikan real time scheduling seperti yang didefinisikan oleh POSIX 1.b: First Come First Served dan Round Robin. Sistem waktu nyata( real time)diberikan untuk task yang prioritasnya tetap. Sedangkan task yang lainnya memiliki prioritas yang dinamis berdasakan nice values ditambah atau dikurangi dengan 5. Interaktifitas sebuah task menentukan apakah nilai 5 tersebut akan ditambah atau dikurangi dari nice value. Task yang lebih interaktif mempunyai ciri khas memiliki sleep times yang lebih lama dan karena itu maka ditambah dengan -5, karena penjadwal lebih menyukaiinteractive task. Hasil dari pendekatan ini akan membuat prioritas untuk interactive task lebih tinggi. Sebaliknya, task dengan sleep time yang lebih pendek biasanya lebih CPU-bound jadi prioritasnya lebih rendah.

Gambar . Hubungan antara prioritas dan waktu kuantum
Task yang berjalan memenuhi syarat untuk dieksekusi oleh CPU selama time slice-nya masih ada. Ketika sebuah task telah kehabisan time slice-nya, maka task tersebut akan expired dan tidak memenuhi syarat untuk dieksekusi lagi sampai semua task yang lain sudah habis waktu kuantumnya. Kernel mengatur daftar semua task yang berjalan di runqueue data structure. Karena dukungan Linux untuk SMP, setiap prossesor mengatur runqueue mereka sendiri dan penjadwalan yang bebas. Setiap runqueue terdiri dari dua array prioritas - active dan expiredActive array terdiri dari semua task yang mempunyai sisa waktu time slices, dan expired array terdiri dari task yang telah berakhir. Setiap array prioritas ini memiliki daftar task indexed berdasakan prioritasnya. Penjadwal memilih task dengan prioritas paling tinggi di active array untuk dieksekusi dalam CPU. Di mesin multiprossesor, ini berarti setiap prossesor menjadwalkan prioritas paling tinggi dalam runqueue structure masing-masing. Ketika semua tasktelah habis time slices-nya (dimana, active array-nya sudah kosong), dua array prioritas bertukar; expired array menjadi active array, dan sebaliknya.

Gambar . Daftar task indexed berdasarkan prioritas
Penghitungan ulang dari task yang memiliki prioritas yang dinamis berlangsung ketika task telah menyelesaikan waktu kuantumnya dan akan dipindahkan ke expired array. Jadi, ketika ada dua larik ( array) ditukar, semua task di array aktif yang baru ditentukan prioritasnya yang baru dan disesuaikan juga time slices-nya.
PENJADWALAN PROSES SISTEM OPERASI WINDOWS XP

Developer
Microsoft Corporation
Release date
RTM: August 24, 2001 Retail: October 25, 2001 (info)
Current version
5.1.2600.5512 Service Pack 3 (x86 SP3) (21 April 2008; 2 years ago) (info)
Source model
Kernel type
Update method
Platform support
Website
Windows XP menggunakan algoritma, prioritas penjadwalan quantum-based berbasis reemptive priority scheduling .
Gambar Proses Pada Windows Xp
Threads dijadwalkan dalam proses, Karena prioritas preemptive algoritma diimplementasikan dengan beberapa queue, dapat dianggap sebagai algoritma multiple feedback-queue . Namun, masing-masing Threads biasanya terbatas pada kelompok kecil dari 5 level prioritas,
Preemption dapat terjadi karena salah satu dari 4 alasan:
  •  
    • thread menjadi prioritas lebih tinggi-siap
    • thread berakhir
    • kuantum habis waktu
    • thread melakukan panggilan sistem pemblokiran, seperti untuk I / O, dalam hal ini meninggalkan keadaan ready menjadi keadaan menunggu.
Gambar Quatum pada windows XP
32 tingkat prioritas digunakan, di mana prioritas 31 merupakan prioritas tertinggi dan prioritas 0 adalah prioritas terendah

    • memori manajemen thread: prioritas 0
    • variabel kelas prioritas (1-15)
    • real-time kelas prioritas (16-31)
  • Threads di kelas real-time telah tetap prioritasnya.
  • Threads yang berjalan selalu dengan tingkat prioritas tertinggi.
  • Jika tidak ada thread yang ready, Threads idle dijalankan.
  • Ketika waktu quantum thread habis, prioritasnya diturunkan, tetapi prioritasnya tidak pernah diturunkan terlalu jauh