Minggu, 18 Juli 2010

sistem operasi open source
pendahuluan
Banyak pengembang Ubuntu adalah juga sebagai anggota komunitas Debian. Mereka melanjutkan untuk tetap aktif memberikan kontribusi bagi Debian baik di jalan kerja mereka untuk Ubuntu dan juga untuk Debian secara langsung.

Saat sebuah bug dilaporkan dalam sistem pelacakan bug debian dan lalu akhirnya diperbaiki di Ubuntu, perbaikan itu juga diberitahukan langsung kepada pengembang Debian yang bertanggung jawab terhadap paket tersebut di Debian and mencatat URL patch di dalam sistem bug Debian. Tujuan jangka panjang dari pekerjaan itu adalah untuk meyakinkan bahwa patch yang dibuat oleh anggota Ubuntu perlu untuk segera disertakan dalam paket Debian saat para pengelola Debian menyukainya. Dalam Ubuntu, anggota tim dapat membuat perubahan terhadap paket apapun, bahkan jika paket tersebut dikelola oleh orang lain.

Ubuntu tidak menyediakan perbaikan dalam hal keamanan dan dukungan profesional untuk setiap paket yang ada pada dunia open source. Ubuntu melakukan pemilihan paket yang ada lalu menyatukannya untuk membangun sebuah sistem desktop yang lengkap. Paket-paket tersebut akan mendapatkan dukungan dari Ubuntu.

Untuk pengguna yang ingin mengakses setiap paket yang ada, Ubuntu menyediakan komponen "universe" (kumpulan paket) dimana pengguna sistem Ubuntu dapat menginstal versi terakhir dari paket yang tidak berada dalam kumpulan paket-paket utama yang mendapatkan dukungan penuh. Kebanyakan paket yang ada dalam Ubuntu universe terdapat juga dalam paket Debian, walaupun ada beberapa sumber lainnya juga.

Ubuntu membuat rilis terbaru setiap enam bulan sekali, dan mendukung rilis tersebut selama 18 bulan dengan perbaikan keamanan harian dan patch untuk bug yang kritis.

Pola Open Source lahir karena kebebasan berkarya, tanpa intervensi berpikir dan mengungkapkan apa yang diinginkan dengan menggunakan pengetahuan dan produk yang cocok. Kebebasan menjadi pertimbangan utama ketika dilepas ke publik. Komunitas yang lain mendapat kebebasan untuk belajar, mengutak-ngatik, merevisi ulang, membenarkan ataupun bahkan menyalahkan, tetapi kebebasan ini juga datang bersama dengan tanggung jawab, bukan bebas tanpa tanggung jawab.

Salah satu Operating Sistem yang open source adalah Linux, dimana Linux sendiri memiliki banyak distro atau yang lebih dikenal dengan distro linux. Distro Linux merupakan singkatan dari distribusi Linux, yaitu sebuah sebutan untuk sistem operasi komputer yang mirip Unix. Dimana kernel yang digunakan adalah kernel Linux, bukan kernel Unix. Istilah Linux sendiri digunakan untuk menyatakan bahwa sistem operasi ini di-ilhami dari sistem operasi Unix yang telah lebih dulu populer.

Linux merupakan singkatan dari Like Unix. Distro Linux yang ada pada saat ini yaitu :
1. Debian GNU/Linux
2. Red Hat Linux
3. Slackware
4. S.u.S.E
5. Turbo Linux
6. Trustik Linux Merdeka
7. WinLinux
8. Xandros
9. Ubuntu
10. Kubuntu
11. Mandrake 10
12. Fedora Core 4
13. Lycoris
14. Knoppix 3.6
15. Simply Mepis



SEJARAH UBUNTU
Linux “Ubuntu” berasal dari bahasa kuno Afrika, yang berarti “rasa perikemanusian terhadap sesama manusia”. Ubuntu juga bisa berarti “aku adalah aku karena keberadaan kita semua”. Tujuan dari distribusi Linux Ubuntu adalah membawa semangat yang terkandung di dalam Ubuntu ke dalam dunia perangkat_lunak.

Ubuntu adalah sistem operasi lengkap berbasis Linux, tersedia secara bebas dan mempunyai dukungan baik yang berasal dari komunitas maupun tenaga ahli profesional. Ubuntu sendiri dikembangkan oleh komunitas sukarelawan Ubuntu dan kami mengundang Anda untuk turut serta berpartisipasi mengembangkan Ubuntu.

Komunitas Ubuntu dibentuk berdasarkan gagasan yang terdapat di dalam filosofi Ubuntu: bahwa perangkat lunak harus tersedia dengan bebas biaya, bahwa aplikasi perangkat lunak tersebut harus dapat digunakan dalam bahasa lokal masing-masing dan untuk orang-orang yang mempunyai keterbatasan fisik, dan bahwa pengguna harus mempunyai kebebasan untuk mengubah perangkat lunak sesuai dengan yang mereka butuhkan.

Perihal kebebasan inilah yang membuat Ubuntu berbeda dari perangkat lunak berpemilik (proprietary); bukan hanya peralatan yang Anda butuhkan tersedia secara bebas biaya, tetapi Anda juga mempunyai hak untuk memodifikasi perangkat lunak Anda sampai perangkat lunak tersebut bekerja sesuai dengan yang Anda inginkan.Berikut ini adalah komitmen publik tim

Ubuntu untuk para penggunanya:
a. Ubuntu akan selalu bebas dari biaya, maka dari itu tidak akan ada biaya tambahan untuk “edisi enterprise”
b. Ubuntu juga menyediakan dukungan komersial dari ratusan perusahaan di seluruh dunia. Ubuntu dirilis secara tetap dan dapat Anda prediksikan.
c. Ubuntu akan menyertakan terjemahan dan prasarana aksesibilitas terbaik yang dimiliki oleh Komunitas Perangkat Lunak Bebas, hal ini berguna untuk membuat Ubuntu dapat dipergunakan oleh banyak orang.
d. Ubuntu berkomitmen secara penuh terhadap prinsip-prinsip dari pengembangan perangkat lunak bebas. Ubuntu menyertakan lebih dari 16.000 buah perangkat lunak dan untuk instalasi desktop dapat dilakukan dengan menggunakan satu CD saja. Ubuntu menyertakan semua aplikasi standar untuk desktop mulai dari pengolah kata, aplikasi lembar sebar (spreadsheet) hingga aplikasi untuk mengakses internet, perangkat lunak untuk server web, peralatan untuk bahasa pemrograman dan tentu saja beragam permainan.

Beberapa aplikasi untuk Ubuntu :
1.WUBI. Wubi merupakan aplikasi Ubuntu Installer untuk pengguna Windows yang dapat membawa kita semua ke dunia linux dengan satu kali klik saja.
2.GDM Theme atau GNOME Display Manager (GDM) adalah aplikasi yang bertangung jawab atas graphical user login yang berada pada desktop GNOME.
3.Ubuntu Tweak merupakan aplikasi khusus linux Ubuntu yang didesain menggunakan Ubuntu GNOME desktop.
4.FTP (File Transfer Protocol) digunakan untuk melakukan transfer data melalui internet ataupun local komputer



Ubuntu sendiri memiliki beberapa versi di antaranya yaitu :
• Ubuntu 4.10 (Warty Warthog)
Ubuntu 4.10 merupakan cikal bakal Ubuntu yang akan diluncurkan pada tanggal 20 Oktober 2004. Kode namanya Warty Warthog dengan logo babi hutan dengan kode 4.10. Ubuntu 4.10 menggunakan Linux kernel-2.6.7 dan desktop environment GNOME versi 2.8. Beberapa Fitur yang dimiliki yaitu Firefox 0.9, Evolution 2.0, OpenOffice.org 1.1.2, dan juga dukungan untuk hardware. Server Ubuntu 4.10 bisa di-install dengan mode minimalis.

•Ubuntu 5.04 (Hoary Hedgehog)
Kode nama Hoary Hedgehog adalah Ubuntu kedua yang dikeluarkan dengan kode nomor 5.04 pada tanggal 8 April 2005. Icon yang digunakan yaitu landak sesuai dengan namanya Hedgehog. Pada versi ini merupakan awal mula dari Kubuntu yaitu Ubuntu yang berbasiskan KDE sebagai desktop environment. KDE yang digunakan yaitu versi 3.4 dangan GNOME 2.10, dengan kernel-2.6.10. Versi ini mendukung instalansi melalui media USB, sudah mendukung program kompresi bzip2, autentifikasi Apt, dan juga sudah adanya versi Live CD yang memungkinkan kita menggunakan Ubuntu tanpa install terlebih dahulu.

• Ubuntu 5.10 (Breezy Badger)
Icon yang digunakan yaitu Breezy Badger, dimana Badger adalah luwak, binatang liar sejenis musang. Rilis pada tanggal 13 Oktober 2005 dengan menggunakan kernel-2.6.12 dengan desktop environment GNOME 2.12.1 dan KDE 3.5.2. didalamnya sudah terpasang OpenOffice versi 2.0 beta 2. Pada rilis ini versi server sudah dikeluarkan untuk keperluan membangun komputer server. Pada versi ini terdapat EDUbuntuyang berfokus dalam dunia pendidikan, yang berisi aplikasi-aplikasi edukatif dan dapat digunakan oleh siswa sebagai sarana belajar. Fitur tambahan yang terdapat versi ini misalnya usplash yaitu loading bar pada saat proses boot Ubuntu, menulis audio CD, tambahan driver hardware dari third party atau pihak ketiga, dukungan penuh untuk printer dan scanner Hewlett-Packard (HP), kompabilitas keyboard dan mouse Bluetooth dan juga kernel 64-bit untuk PowerPC.

• Ubuntu 6.06 (Dapper Drake)
Versi ini dirilis pada tanggal 1 Juni 2006 dengan nama Dapper Drake dan berkode nomor 6.06 dengan icon bebek. Menggunakan kernel Linux terbaru yaitu kernel-2.6.15, desktop environment GNOME 2.14 dan KDE 3.5.4. Pada versi ini mulai bermunculan tempat download lokal di Indonesia untuk mengunduh Ubuntu. Fitur terbaru yang dimiliki pada versi ini yaitu instalasi melalui Live CD secara cepat, sistem startup yang pesat pada saat login, menu yang simpel, proses shutdown dengan bentuk loading grafis, dukungan terhadap video playback, adanya pilihan untuk menentukan jaringan dengan menggunakan wireless atau kabel, dan paket aplikasi OpenOffice 2.0.2. Muncul Xubuntu dengan desktop encironment yang digunakan berupa XFCE versi 4.3.90.1. Desktop environment ini lebih ringan dibandingkan dengan GNOME maupun KDE.

• Ubuntu 6.10 (Edgy Eft)
Rilis pada tanggal 26 Oktober 2006 dengan lambang kadal berwarna orange, memiliki perubahan pada kecepatan startup dan shutdown serta terintegrasi dengan Tomboy dan F-spot. Kernel yang digunakan kernel-2.16.17, desktop environment menggunakan GNOME 2.16, KDE 3.5.5 dan XFCE 4.3.99 RC1, Evolution 2.8.0, Firefox 2.0 dan OpenOffice 2.0.4. Adanya aplikasi tambahan seperti beryl, xgl dan compiz. Aplikasi-aplikasi addons ini menjadikan tampilan desktop dari Ubuntu semakin menarik.

• Ubuntu 7.04 (Feisty Fawn)
Generasi keenam ini dirilis pada tanggal 19 April 2007 dengan nama Feisty Fawn dengan icon seekor kancil. Versi ini menggunakan kernel linux-2.6.20, dekstop GNOME 2.18, KDE 3.5.6 dan XFCE 4.4 dengan RAM minimal 256 MB agar dapat dijalankan pada komputer. Ubuntu 7.04 ini mulai digunakan edisi Alternate. Edisi ini digunakan jika kita ingin meng-install dengan waktu yang lebih singkat dibandingkan dengan menggunakan grafis. Fitur terbarunya adalah tool migrasi Windows yang memudahkan integrasi antara aplikasi-aplikas Windows dan Ubuntu jika kita menggunakan dual booting. Fitur lainnya berupa kemudahan instalasi codec, dan plug and play jaringan dengan menggunakan Avahi.

• Ubuntu 7.10 (Gusty Gibbon)
Dirilis pada tanggal 15 Oktober 2007 dengan nama Gusty Gibbon dengan kode nomor 7.10 dengan icon siamang. Keunggulannya adanya dukungan add-on atau plugin untuk web browser Firefox, wizard untuk dukungan printer, Wi-Fi, kamera digital, iPod dan peranti digital lainnya. Adanya dukungan dengan akses ke system file NTFS secara default. Efek 3D disetel default jika persyaratan minimumnya terpenuhi. Didukung keamanan jaringan dengan Apparmor dari Novell, ditambah Desktop Search, Switch User yang cepat dan dukungan untuk thin client atau biasa disebut LTSP (Linux Terminal Server Project).

• Ubuntu 8.04 (Hardy Heron)
24 April 2008 muncul Ubuntu terbaru dengan kode nama Hardy Heron dengan lambang burung bangau dengan minimal memori RAM 384 MB. Hardy Heron merupakan versi LTS (Life Time Support) yaitu paket yang dimiliki oleh Ubuntu 8.04 yang akan di dukung selama jangka waktu tiga tahun untuk varian desktop dan lima tahun untuk varian server. Varian ini dapat kita jumpai pada Ubuntu Dapper Drake. Pada versi ini muncul istilah Wubi yaitu [installer di dalam sistem operasi Windows. NFS z(network File System) juga sudah didukung didalam versi ini. Aplikasi OpenOffice.org sudah didukung oleh Java.

• Ubuntu 8.10 (Interpid Ibex)
30 Oktober 2008 Ubuntu merilis versi terbarunya yaitu Ubuntu 8.10 Interpid Ibex dengan icon kambing gunung. Ubuntu 8.10 menggunakan memori RAM 256 MB. Fitur yang dimiliki Ubuntu 8.10 antara lain yaitu dukungan jaringan 3G dengan menggunakan kabel maupun Wifi, pada rilis ini juga banyak modem-modem dan juga handphone untuk berinternet ria sudah dikenali dan kita tidak perlu melakukan konfigurasi yang rumit. Untuk memasukkan LiveUSB dan melakukan instalasi dari LiveUSB juga sudah bisa dilakukan pada Interpid Ibex.

• Ubuntu 9.04 (Jaunty Jackalope)
Pada tanggal 23 April 2009 Ubuntu merilis Ubuntu generasi 10 dengan nama Jaunty Jackalope dengan lambang kelinci bertanduk. RAM yang digunakan minimal 256 MB dan lebih baik lagi menggunakan ukuran yang lebih besar lagi. Ubuntu 9.04 memiliki speed booting sekitar kurang lebih 25 detik. Tersedinya 3G dan wireless diikutsertakan dengan dukungan yang lebih besar lagi. Menggunakan OpenOffice.org 3.0 terbaru. Adanya Ubuntu Tweak yang memudahkan kita mengatur sistem hingga manajemen paket dari third party sudah tersedia pada Ubuntu ini. Desktop yang digunakan GNOME 2.26 dan kernel linux-2.6.28. Perbedaan utama pada versi sebelumnya adalah system file Ext4 yang merupakan dile sistem terbaru dari Linux setelah Ext3. File sistem ini lebih tahan uji dan stabil karena merupakan penyempurnaan dari system file Ext3.

•Ubuntu9.10(KarmicKoala)
Ubuntu 9.10 merupakan versi yang penulis gunakan. Ubuntu 9.10 dirilis pada tanggal 29 Oktober 2009 dengan lambang seekor koala. Menggunakan GNOME 2.28.1, KDE 4.3.1 yang merupakan KDE terbaru, OpenOffice.org 3.1.1 dan kernel Linux yang digunakan adalah Linux-2.6.31. Karmic menggantikan arsitektur akselarasi grafis X.org Server EXA menjadi UXA karena adanya masalah pada driver video Intel tersebut.


KERNEL
Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengakses perangkat keras komputer secara aman.

Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing.
Ada 4 kategori kernel:

1. Monolithic kernel. Kernel yang menyediakan abstraksi perangkat keras yang kaya dan tangguh.

2. Microkernel. Kernel yang menyediakan hanya sekumpulan kecil abstraksi perangkat keras sederhana, dan menggunakan aplikasi-aplikasi yang disebut sebagai server untuk menyediakan fungsi-fungsi lainnya.

3. Hybrid (modifikasi dari microkernel). Kernel yang mirip microkernel, tetapi ia juga memasukkan beberapa kode tambahan di kernel agar ia menjadi lebih cepat.

4. Exokernel. Kernel yang tidak menyediakan sama sekali abstraksi hardware, tapi ia menyediakan sekumpulan pustaka yang menyediakan fungsi-fungsi akses ke perangkat keras secara langsung atau hampir-hampir langsung.

Dari keempat kategori kernel yang disebutkan diatas, kernel Linux termasuk kategori monolithic kernel. Kernel Linux berbeda dengan sistem Linux. Kernel Linux merupakan sebuah perangkat lunak orisinil yang dibuat oleh komunitas Linux, sedangkan sistem Linux, yang dikenal saat ini, mengandung banyak komponen yang dibuat sendiri atau dipinjam dari proyek pengembangan lain.
Filosofi Kernel Dan Perkembanganya
Pada tanggal 14 Maret 1994 dirilis versi 1.0, yang merupakan tonggak sejarah Linux. Versi ini adalah kulminasi dari tiga tahun perkembangan yang cepat dari kernel Linux. Fitur baru terbesar yang disediakan adalah jaringan. Versi 1.0 mampu mendukung protokol standar jaringan TCP/IP. Kernel 1.0 juga memiliki sistem berkas yang lebih baik tanpa batasan-batasan sistem berkas Minix. Sejumlah dukungan perangkat keras ekstra juga dimasukkan ke dalam rilis ini. Dukungan perangkat keras telah berkembang termasuk diantaranya floppy-disk, CD-ROM, sound card, berbagai mouse, dan keyboard internasional. Dukungan juga diberikan terhadap modul kernel yang loadable dan unloadable secara dinamis.

Satu tahun kemudian dirilis kernel versi 1.2. Kernel ini mendukung variasi perangkat keras yang lebih luas. Pengembang telah memperbaharui networking stack untuk menyediakan support bagi protokol IPX, dan membuat implementasi IP lebih lengkap dengan memberikan fungsi accounting dan firewalling. Kernel 1.2 ini merupakan kernel Linux terakhir yang PC-only. Konsentrasi lebih diberikan pada dukungan perangkat keras dan memperbanyak implementasi lengkap pada fungsi-fungsi yang ada.

Pada bulan Juni 1996, kernel Linux 2.0 dirilis. Versi ini memiliki dua kemampuan baru yang penting, yaitu dukungan terhadap multiple architecture dan multiprocessor architectures. Kode untuk manajemen memori telah diperbaiki sehingga kinerja sistem berkas dan memori virtual meningkat. Untuk pertama kalinya, file system caching dikembangkan ke networked file systems, juga sudah didukung writable memory mapped regions. Kernel 2.0 sudah memberikan kinerja TCP/IP yang lebih baik, ditambah dengan sejumlah protokol jaringan baru. Kemampuan untuk memakai remote netware dan SMB (Microsoft LanManager) network volumes juga telah ditambahkan pada versi terbaru ini. Tambahan lain adalah dukungan internal kernel threads, penanganan dependencies antara modul-modul loadable, dan loading otomatis modul berdasarkan permintaan (on demand). Konfigurasi dinamis dari kernel pada run time telah diperbaiki melalui konfigurasi interface yang baru dan standar.

Semenjak Desember 2003, telah diluncurkan Kernel versi 2.6, yang dewasa ini (2008) telah mencapai patch versi 2.6.26.1 ( http://kambing.ui.edu/kernel-linux/v2.6/). Hal-hal yang berubah dari versi 2.6 ini ialah:

* Subitem M/K yang dipercanggih.

* Kernel yang pre-emptif.

* Penjadwalan Proses yang dipercanggih.

* Threading yang dipercanggih.

* Implementasi ALSA (Advanced Linux Sound Architecture) dalam kernel.

* Dukungan sistem berkas seperti: ext2, ext3, reiserfs, adfs, amiga ffs, apple macintosh hfs, cramfs, jfs, iso9660, minix, msdos, bfs, free vxfs, os/2 hpfs, qnx4fs, romfs, sysvfs, udf, ufs, vfat, xfs, BeOS befs (ro), ntfs (ro), efs (ro).
KERNEL UBUNTU LUCID 10.04
linux (2.6.32-16.23) lucid; urgency=low
  [ Andy Whitcroft ]
  * SAUCE: PM report driver and device suspend/resume times -- move config
   * update to standards version 3.8.4.0
   * printenv -- expose all of the package selectors
   * source package -- cleanup source content control
   * doc package -- ensure we do build package content on buildd
   * lintian -- correct the address in the debian/copyright
   * lintian -- update debhelper package version dependancy
   * lintian -- fix ghostscript dependancy
   * lintian -- add required misc:Depends
   * lintian -- move our debhelper compat level to debian/compat
   * perf -- build the kernel carried tools
   * perf -- add linux-tools carrying the version switches and manuals
  * SAUCE: fix up Kconfig for staging drivers
  * [Config] enable NOUVEAU etc following drm backport
  * update DRM to mainline v2.6.33
  * [Config] Remove AppArmor config options that no longer exist (ports)
  * [Config] updateportsconfigs following drm update 

Sabtu, 19 Juni 2010

kata kunci manajemen I/O dan manajemen file

KATA KUNCI MANAJEMEN INPUT OUTPUT
Secara umum perangkat I/O dibagi menjadi :
- Perangkat Blok adalah perangkat yang menyimpan informasi dalam bentuk blok-blok berukuran tertentu dan setiap blok memiliki alamat masing-masing.
- Perangkat Karakter adalah perangkat yang mengirim atau menerima sebarisan karakter , tanpa menghiraukan struktur blok.

Unit I/O terdiri dari dua komponen , yaitu :
- Komponen mekanis yakni perangkat M/K itu sendiri , seperti mouse , layar (screen) , keyboard, dan lainnya.
- Komponen elektronis disebut pengendali perangkat I/O (device controller)

Dalam berkomunikasi dengan device controller terdapat dua cara sistem operasi memberikan perintah dan data yaitu :
- Instruksi I/O merupakan instruksi CPU yang khusus menangani transfer byte atau word ke sebuah port I/O.
- I/O memory Mapped yakni, register- register pengendali perangkat dipetakan ke ruang alamat prosesor.
KATA KUNCI MANAJEMEN FILE
System manajemen file sering menimbulkan banyak masalah antaralain: penyimpanan file, manajemen ruang penyimpanan file, kehandalan dan kinerja dalam implementasi file tersebut.
1.penyimpanan file
Penyimpanan dan pengaksesan dari/ke perangkat dalam unit informasi. Blok berisi sekumpulan byte berukuran tetap yang dipindah dari tempat penyimpanan memori untuk diproses dan sebaliknya. Ukuran blok yang sama pada perangkat berbeda dapat menyebabkan pemborosan ruang penyimpanan, selain itu perbedaan ukuran blok juga sangat menyulitkan penulisan program. Untuk itu diperlukan pemilihan ukuran blok secara hati-hati agar meminimumkan pemborosan, sekaligus mempermudah penulisan program.
Blok data memiliki pengalamatan, berfungsi untuk mengacu blok tersebut. Alamat blok bias disebut block pointer, yang berisi alamat untuk mengakses blok. Pengalamatan blok dapat dilakukan dengan tiga cara, yaitu pengalamatan fisik disk, pengalamatan relatif, serta pengalamatan simbolik.
Pengalamatan simbolik adalah pemberian nama tiap blok, penggunaan tabel alamat, berisi alamat fisik atau relatif blok dan prosedur pencarian untuk mendapatkan alamat blok.
Pengalamatan fisisk disk mengacu satu unit data pada disk secara fisik. Pengalamatan relatif yaitu penggunaan bilangan dari nol sampai jumlah maksimum blok yang kemudian dikonversi menjadi alamat fisik dengan suatu penghitungan yang dialkukan oleh sIstem operasi.
2. Implementasi manajemen file
File berisi sekumpulan blok. Sistem manajemen file bertanggung jawab untuk alokasi blok-blok disk ke file. Dua hal penting yang harus ditangani adalah pencatatan ruang yang dialokasikan untuk file, pencatatan ruang bebas yang tersedia di disk. Sistem file meliputi alokasi file, pencatatan ruang disk, shared file, kehandalan system file, serta kinerja sistem file.
Masalah pokok dalam alokasi file adalah pencatatan blok-blok yang digunakan file. Beragam metode dapat digunakan, diantaranya alokasi berturutan/kontigu (contigous allocation). Teknik ini merupakan skema alokasi paling sederhana, yaitu menyimpan file sebagai blok-blok data berturutan (kontigu) di disk.
Keunggulannya adalah sederhana dalam implementasi karena pencatatan dimana blok-blok file berada direduksi menjadi hanya mengingat alamat awal file dan panjang file, yaitu jumlah blok dari file. Kinerjanya luar biasa bagus Karena seluruh file dapat dibaca dari disk dengan satu operasi. Tak ada metode alokasi lain yang dapat menandingi kinerja pengaksesan. Keunggulan ini diperoleh karena rekord-rekord yang secara logik berturutan biasanya juga saling berdekatan secara fisik.
Kelemahannya adalah Hanya bila ukuran maksimum diketahui pada saat file diciptakan. Layak digunakan kecuali bila ukuran maksimum diketahui pada saat file diciptakan. Tanpa informasi itu, sistem operasi tidak mengetahui berapa banyak ruang disk yang digunakan untuk suatu file. Kelemahan lain adalah Terjadi fragmentasi disk. Fragmentasi disk dapat dihasilkan metode alokasi ini, ruang yang disiakan seharusnya dapat digunakan.
Metode kedua adalah alokasi blok-blok file sebagai senarai berkait yang mencatat blok-blok file dengan senarai berkait blok-blok didisk. Word pertama di blok data sebagai pointer ke blok berikutnya, sisanya untuk menyimpan data. Skema ini disebut rantai blok (block chaining) karena blok pertama merantai blok kedua, blok kedua merantai blok ketiga, dan seterusnya. Blok sebelumnya merantai blok berikutnya. Direktori mencatat blok pertama file.
Keunggulan metode ini adalah Setiap blok di disk dapat digunakan. Tak ada ruang yang hilang karena fragmentasi eksternal. Isian/elemen direktori cukup menyimpan alamat blok pertama file.
Kelemahannya adalah Pembacaan sekuen cukup merepotkan karena harus menelusuri blok satu per satu. Blok data tidak lagi berukuran 2k, karena pointer memerlukan beberapa byte. Masalah ini tidak fatal. Ukuran yang janggal (bukan berukuran 2k) kurang efisien karena program membaca dan menulis blok tidak dapat memanfaatkan sifat bilangan biner.
Metode ketiga adalah alokasi blok-blok sebagai senarai berkait menggunakan indeks (FAT). Kelemahan alokasi senarai berkait dieliminasi dengna menghilangkan pointer di blok dan meletakkan sebagai tabel tersendiri di memori. Seluruh blok tersedia untuk data. Skema ini disebut block oriented file mapping. Tabel yang mencatat nomor blok data disebut FAT (File Allocation Table).
Keunggulan metode ini adalah pengaksesan acak lebih mudah. Meski masih harus menelusuri rantai berkait untuk menemukan lokasi blok file, rantai blok seluruhnya di memori sehingga dapat dilakukan secara cepat tanpa membuat pengaksesan ke disk. Direktori cukup menyimpan bilangan bulat nomor blok awal. Blok awal ini digunakan untuk menemukan seluruh blok, tak peduli jumlah blok file itu. Direktori menunjuk blok pertama file dan FAT menunjukkan blok-blok file berikutnya.
Kelemahannya adalah seluruh tabel (FAT) harus disimpan di memori. Jika penyimpanan berukuran besar mengakibatkan tabel berukuran besar dan harus ditaruh di memori utama meskipun hanya satu file yang dibuka. MS-DOS menggunakan metode ini.
Operasi-operasi di sistem akses file
Sistem akses harus mampu menyediakan operasi-operasi berikut terhadap organisasi akses yang dipilih, yaitu Pencarian suatu rekord tertentu, Bergerak ke rekord berikutnya, Memperbarui rekord berupa penghapusan rekord atau modifikasi suatu record, Pembacaan kumpulan rekord dengan kriteria tertentu, Pembacaan seluruh rekord di file, Reorganisasi, Tiap organisasi akses mempunyai keunggulan dan kelemahan tersendiri sehingga tidak mungkin menerapkan satu organisasi akses untuk seluruh kebutuhan aplikasi sistem komputer.

Kamis, 17 Juni 2010

SINGGLE BUFFRING,DOUBLE BUFFERING,CIRCULLAR BUFFERING

PENJELASAN
a. Singgle Buffering
Merupakan teknik paling sederhana. Ketika proses memberi perintah untuk perangkat I/O, sistem operasi menyediakan buffer memori utama sistem untuk operasi.Untuk perangkat berorientasi blok.Transfer masukan dibuat ke buffer sistem. Ketika transfer selesai, proses memindahkan blok ke ruang pemakai dan segera meminta blok lain. Teknik ini disebut reading ahead atau anticipated input. Teknik ini dilakukan dengan harapan blok akan segera diperlukan. Untuk banyak tipe komputasi, asumsi ini berlaku. Hanya di akhir pemrosesan maka blok yang dibaca tidak diperlukan.
b.Doublle Buffering
Peningkatan dapat dibuat dengan dua buffer sistem.Proses dapat ditransfer ke/dari satu buffer sementara sistem operasi mengosongkan (atau mengisi) buffer lain. Teknik ini disebut double buffering atau buffer swapping. Double buffering menjamin proses tidak menunggu operasi I/O. Peningkatan ini harus dibayar dengan peningkatan kompleksitas.
c. Circular Buffering
Seharusnya melembutkan aliran data antara perangkat I/O dan proses. Jika kinerja proses tertentu menjadi fokus kita, maka kita ingin agar operasi I/O mengikuti proses. Double buffering tidak mencukupi jika proses melakukan operasi I/O yang berturutan dengan cepat. Masalah sering dapat dihindari denga menggunakan lebih dari dua buffer. Ketika lebih dari dua buffer yang digunakan, kumpulan buffer itu sendiri diacu sebagai circulat buffer. Tiap bufferindividu adalah satu unit di circular buffer.

Jumat, 11 Juni 2010

manajemen memory

Latar Belakang Manajemen Memory
1. Konsep binding, dinamic linking, dinamik loading, overlay, swapping
Binding

Pemetaaan alamat suatu data program ke alamat memory tertentu dapat terjadi pada 3 saat, yaitu:
• Compilation Time.
Jika kita tahu dimana proses akan ditempatkan di memori pada saat
mengkompilasi, maka kode yang absolut dapat dibuat. Kita harus mengkompilasi ulang kode jika
lokasi berubah.
• Load Time.
Kita harus membuat kode relokasi jika pada saat mengkompilasi kita tidak tahu
proses akan ditempatkan dimana dalam memori. Pada kasus ini, binding harus ditunda sampai
load time.
• Execution Time.
Binding harus ditunda sampai waktu proses berjalan selesai jika pada saat
dieksekusi proses dapat dipindah dari satu segmen ke segmen yang lain di dalam memori. Kita butuh perangkat keras khusus untuk melakukan ini.
Dinamic Linking
• Menghubungkan semua rutin yang ada scr dinamis.
• Tidak membuang-buang tempat di disk dan memori (Kumpulan data yang ada dapat digunakan bersama-sama).
• Membutuhkan bantuan sistem operasi (Operating system dibutuhkan untuk memeriksa apakah routine itu ada dalam processes’ memory address).
• Linking dilaksanakan pada execution time.
• Sekumpulan kode kecil yg disebut stub, digunakan untuk mencari memory-resident library routine yang tepat (Stub akan mengganti dirinya sendiri dengan address dari routine, dan kemudian mengeksekusi routine).
• Dynamic linking digunakan untuk file libraries (System also known as shared libraries).
• Kelebihan: ukuran file kecil, irit, dipakai bersama
. Kekurangan: jika dll hilang, perbedaaan versi
Dinamic loading
• Memanggil routine yang diperlukan saja pada memory (Routine yang tidak diperlukan, tidak akan dipanggil).
• Tidak memerlukan bantuan sistem operasi.
• Better memory-space utilization(Because unused routine is never loaded).
• Sangat berguna jika menangani banyak kode yg jarang diakses.
• Ketika pemanggilan terjadi rutin pemanggil akan memeriksa di memory, apakah rutin yg dibutuhkan itu sudah ada atau belum, jika belum dipanggil dan dialokasi ke memory
Overlay
Untuk memasukkan suatu proses yang membutuhkan memori lebih besar dari yang tersedia.
• Caranya:
– Data dan instruksi yang diperlukan dimasukkan langsung ke memori utama.
– Routine-nya dimasukkan ke memori secara bergantian. (dibagi-bagi / dipecah2).
– Bagian pendukung lain dimasukkan ke memory sekunder
– Memerlukan algoritma tambahan untuk melakukan overlays.
• Tidak memerlukan bantuan dari sistem operasi. Sulit untuk dilakukan.
Swapping
Sebuah proses harus berada di dalam memori untuk dapat dijalankan.
• Sebuah proses dapat di-swap sementara keluar memori ke sebuah penyimpanan cadangan (backing store) untuk kemudian dikembalikan lagi ke memori.
• Roll out, roll in adalah penjadualan swapping berbasis pada prioritas
proses berprioritas rendah di-swap keluar memori agar proses berprioritas tinggi dapat masuk dan dijalankan dimemori
• Backing store – fast disk large enough to accommodate copies of all memory images for all users
harus dapat direct access ke memory images
2. Konsep alokasi memory(single dan multiple partition allocation)
Single partition: alamat pertama memory yang dialokasikan untuk suatu proses adalah alamat setelah alamat yang dialokasikan untuk proses sebelumnya.
Partisi banyak: adalah dimana Sistem Operasi menyimpan informasi tentang semua bagian memori yang tersedia untuk digunakan (disebut hole).
Konsep MFT dan MVT dan akibatnya serta solusi dari akibat tersebut
Algoritma pada pengalokasian memory pada partisi dinamis.
• First fit : Mengalokasikan hole pertama yang besarnya mencukupi. Pencarian dimulai dari awal.
• Best fit : Mengalokasikan hole terkecil yang besarnya mencukupi (tepat).
• Next fit : Mengalokasikan hole pertama yang besarnya mencukupi.
– Pencarian dimulai dari akhir pencarian sebelumnya.
• Worst fit : Mengalokasikan hole terbesar yang tersedia. • First-fit and best-fit better than worst-fit in terms of speed and storage utilization
Multiprogramming Dengan Partisi statis
a. Mempermudah pemogram.Pemogram dapat memecah program menjadi dua proses atau lebih.
b. Agar dapat memberi layanan interaktif ke beberapa orang secara simultan.
Untuk itu diperlukan kemampuan mempunyai lebih dari satu proses dimemori agar memperoleh kinerja yang baik.
c. Efisiensi penggunaan sumber daya. Bila pada multiprogramming maka proses tersebut diblocked (hanya DMA yang bekerja) dan proses lain mendapat jatah waktu pemroses, maka DMA dapat meningkatkan efisiensi sistem.
d. Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil.
e. Dapat mengerjakan sejumlah job secara simultan.
Memori Nyata dan Memori Maya

Sistem operasi yang memberikan fasilitas multitasking, misalnya OS/2 atau Unix, mampu memberikan kesan seolah-olah setiap program mengakses dan mengalokasikan memori sendiri-sendiri tanpa khawatir terjadi tumpang-tindih pemakaian ruang memori. Padahal kenyataannya, setiap byte memori utama hanya memiliki satu alamat saja. Sistem operasi bersama-sama dengan perangkat keras menciptakan dua jenis alamat yakni alamat nyata dan alamat maya. Program menggunakan alamat maya sedangkan pengendali sistem memori memerlukan alamat nyata.

Sistem operasi mengalokasikan memori untuk program dalam unit-unit berukuran tetap yang disebut halaman (page). Satu halaman pada umumnya berukuran 4 KB. Sistem operasi juga menyimpan tabel yang berisi pemetaan halaman maya ke halaman nyata. Setiap kali program mengakses alamat maya, sistem harus melihat tabel translasi alamat maya ke alamat nyata sehingga lokasi memori yang benar dapat diakses.

Sistem pemeriksaan tabel (table look-up) memerlukan waktu operasi yang cukup lama. Oleh karena itu, prosesor menggunakan cache khusus yang disebut sebagai TLB (translation look-aside buffer) untuk menyimpan translasi alamat terbaru. Jadi, hanya bila translasi halaman yang diperlukan tidak tersedia dalam TLB, sistem operasi akan menginterupsi program, memeriksa translasi halaman dalam tabel yang menetap dalam memori (memory resident), mengisikan hasil translasi ke dalam TLB dan mengembalikan kontrol kepada program.

Luput yang terjadi pada TLB memerlukan siklus detak yang lebih banyak daripada luput yang terjadi pada cache. Bila terjadi luput pada TLB maka seluruh alur-pipa (pipeline) harus dikosongkan, register-register harus diselamatkan, rutin pemeriksaan harus dieksekusi, dan register-register harus dipulihkan. Proses ini memerlukan belasan bahkan ratusan siklus detak.

Untuk memeriksa dan menyimpan data dalam cache, baik alamat nyata maupun alamat maya dapat dipakai. Pemilihan organisasi cache mempengaruhi berbagai aspek dalam organisasi sistem komputer dan unjuk-kerja aplikasi.



Cache Alamat Maya
Cache dengan alamat maya memiliki beberapa kelebihan. Pengendali cache tidak perlu menunggu selesainya proses translasi alamat sebelum mulai memeriksa alamat dalam cache sehingga pasokan data dapat lebih cepat diberikan.
Karena program juga menggunakan alamat maya, pelaksanaan program yang sama akan membentuk pola pemakaian cache yang sama pula.

Pada cache yang dipetakan ke alamat nyata, sistem operasi bisa saja mengalokasikan halaman nyata yang berbeda untuk pelaksanaan program yang sama.
Dengan demikian, tag dari cache untuk alamat-alamat instruksi bisa berbeda pada pelaksanaan program yang sama, bahkan meskipun dilakukan komputasi yang sama.
Unjuk-kerja bisa berbeda jauh meskipun program yang dijalankan sama, terutama bila alamat nyata tersebut dipetakan langsung.
Cache Alamat Nyata
Meski cache dengan alamat nyata unjuk-kerjanya bervariasi, cache ini memiliki dua kelebihan.
Pertama, jika cache eksternal dirancang untuk prosesor yang memiliki unit pengelola memori internal (on-chip memory management unit), alamat yang dikirimkan oleh prosesor telah merupakan alamat hasil translasi, dan dengan demikian cache dengan alamat nyata adalah satu-satunya pilihan.
Kedua, karena semua alamat adalah untuk ruang alamat-nyata tunggal, maka data dapat ditinggalkan dalam cache saat sistem operasi memindahkan kendali dari satu aplikasi ke aplikasi lain.

Hal ini tidak bisa dilakukan pada cache yang menggunakan ruang alamat-maya berbeda untuk tiap-tiap aplikasi.
Pada sistem cache dengan alamat-maya, data harus dihapus setiap kali terjadi pemindahan kendali. Bila tidak, aplikasi A misalnya, akan membaca isi alamat 0 aplikasi B, bukan alamat 0nya sendiri.
Karena alasan itulah, cache dengan alamat nyata memiliki unjuk kerja yang lebih baik dalam lingkungan multitasking di mana pemindahan kendali relatif sering terjadi.
Multiprogramming

Untuk sistem komputer yang berukuran besar (bukan small computers),
membutuhkan pengaturan memori, karena dalam multiprogramming akan
melibatkan banyak pemakai secara simultan sehingga di memori akan terdapat
lebih dari satu proses bersamaan. Oleh karena itu dibutuhkan sistem operasi yang
mampu mendukung dua kebutuhan tersebut, meskipun hal tersebut saling
bertentangan, yaitu :
a. Pemisahan ruang-ruang alamat.
b. Pemakaian bersama memori.
Manajer memori harus memaksakan isolasi ruang-ruang alamat tiap proses agar
mencegah proses aktif atau proses yang ingin berlaku jahat mengakses dan
merusak ruang alamat proses lain. Manajer memori di lingkungan multiprogramming
sekalipun melakukan dua hal, yaitu :
a. Proteksi memori dengan isolasi ruang-ruang alamat secara disjoint.
c. Pemakaian bersama memori.

Memungkinkan proses-proses bekerja sama mengakses daerah memori bersama.
Ketika konsep multiprogramming digunakan, pemakaian CPU dapat ditingkatkan.
Sebuah model untuk mengamati pemakaian CPU secara probabilistic :
CPU utilization = 1 - p n
Dengan :
* N menunjukkan banyaknya proses pada suatu saat, sehingga kemungkinan
bahwa semua n proses akan menunggu menggunakan I/O (masalah CPU
menganggur) adalah sebesar p n. Fungsi dari n disebut sebagai degree of
multiprogramming.
* P menunjukkan besarnya waktu yang digunakan sebuah proses
Contoh analisisnya :
Diketahui :
------------------------------------------
Job Arrival time CPU minutes needed
------------------------------------------
1 10:00 4
2 10:10 3
3 10:15 2
4 10:20 2
------------------------------------------
Bila semua job bersifat 80% I/O wait. Tentukan kapan waktu selesainya masingmasing
job !
Jawab :
----------------------------------------------
Process
----------------------------------------------
Modul Training TOT : Sistem Operasi
Halaman : 74
1 2 3 4
----------------------------------------------
CPU idle .80 .64 .51 .41
CPU busy .20 .36 .49 .59
CPU/process .20 .18 .16 .15
----------------------------------------------
0.2x10 0.18x5 0.16x5
| :: | :: | :: | | | | |
| 2.0 | .9 | .8 | .3 | | | |
1 +------------+-----------+----------+----+ | | | = 4
| | | | | | | |
| | .9 | .8 | .3 | .9 | .1 | |
2 + +-----------+----------+----+--------+-----+ | = 3
| | | | | | | |
| | | .8 | .3 | .9 | | |
3 + | +----------+----+--------+ | | = 2
| | | | | | | |
| | | | .3 | .9 | .1 | .7 |
4 + | | +----+--------+-----+-------+ = 2
| | | | | | | |
| | | | | | | |
+------------+-----------+----------+----+--------+-----+-------+--
0 10 15 20 22 27.6 28.2 31.7
<----><-------><----><------>
a b c d
Keterangan :
ax0.15=0.3 bx0.16=0.9 cx0.18=0.1 dx0.2=0.7
a=2 b=5.6 c=0.6 d=3.5
Monoprogramming.

Monoprogramming sederhana tanpa swapping merupakan manajemen memori
paling sederhana, sistem komputer hanya mengijinkan satu program/pemakai
berjalan pada satu waktu. Semua sumber daya sepenuhnya dkuasi proses yang
sedang berjalan.

Manajemen memori monoprogramming sederhana mempunyai ciri-ciri berikut :

a. Hanya terdapat satu proses pada satu saat, sehingga proses baru akan
menimpa proses lama yang sudah selesai eksekusi.
b. Hanya satu proses mengunakan semua memori.
c. Pemakai memusatkan program keseluruh memori dari disk atau tape.
d. Program mengambil kendali seluruh mesin.

Karena hanya terdapat satu proses dan menguasai seluruh sistem, maka
eksekusi memori dilakukan secara berurutan.

Teknik ini digunakan sampai sekitar 1960, ditinggalkan bahkan untuk komputer
pribadi karena tiap proses harus berisi device driver perangkat I/O yang
digunakan.
Gambar 6.3 menunjukkan tiga organisasi memori menjalankan satu proses
tunggal :
c. Gambar 6.3(a) menunjukkan seluruh kebutuhan (sistem operasi, device
driver dan proses driver dapat ditempatkan di sistem operasi atau di setiap
proses pemakai, bergantung perancang sistem operasi.
d. Gambar 6.3(b) menunjukkan sistem operasi ditempatkan di ROM, sedang
program pemakai di RAM.
e. Gambar 6.3(c) menunjukkan device driver di ROM. Device driver di ROM
biasa disebut ROM-BIOS (Read Only Memory - Basic Input Output Systems).

Jumat, 28 Mei 2010

Referensi sistem operasi

                      Sistem Operasi

Sistem operasi merupakan sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Sebelum ada sistem operasi, orang hanya mengunakan komputer dengan menggunakan sinyal analog dan sinyal digital. Seiring dengan berkembangnya pengetahuan dan teknologi, pada saat ini terdapat berbagai sistem operasi dengan keunggulan masing-masing. Untuk lebih memahami sistem operasi maka sebaiknya perlu diketahui terlebih dahulu beberapa konsep dasar mengenai sistem operasi itu sendiri.
Pengertian sistem operasi secara umum ialah pengelola seluruh sumber-daya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan (system calls) ke pemakai sehingga memudahkan dan menyamankan penggunaan serta pemanfaatan sumber-daya sistem komputer.
                       Fungsi Dasar

Sistem komputer pada dasarnya terdiri dari empat komponen utama, yaitu perangkat-keras, program aplikasi, sistem-operasi, dan para pengguna. Sistem operasi berfungsi untuk mengatur dan mengawasi penggunaan perangkat keras oleh berbagai program aplikasi serta para pengguna.
Sistem operasi berfungsi ibarat pemerintah dalam suatu negara, dalam arti membuat kondisi komputer agar dapat menjalankan program secara benar. Untuk menghindari konflik yang terjadi pada saat pengguna menggunakan sumber-daya yang sama, sistem operasi mengatur pengguna mana yang dapat mengakses suatu sumber-daya. Sistem operasi juga sering disebut resource allocator. Satu lagi fungsi penting sistem operasi ialah sebagai program pengendali yang bertujuan untuk menghindari kekeliruan (error) dan penggunaan komputer yang tidak perlu.

Tujuan Mempelajari Sistem Operasi

Tujuan mempelajari sistem operasi agar dapat merancang sendiri serta dapat memodifikasi sistem yang telah ada sesuai dengan kebutuhan kita, agar dapat memilih alternatif sistem operasi, memaksimalkan penggunaan sistem operasi dan agar konsep dan teknik sistem operasi dapat diterapkan pada aplikasi-aplikasi lain. 

Sasaran Sistem Operasi

Sistem operasi mempunyai tiga sasaran utama yaitu kenyamanan -- membuat penggunaan komputer menjadi lebih nyaman, efisien -- penggunaan sumber-daya sistem komputer secara efisien, serta mampu berevolusi -- sistem operasi harus dibangun sehingga memungkinkan dan memudahkan pengembangan, pengujian serta pengajuan sistem-sistem yang baru. 

Sejarah Sistem Operasi

Menurut Tanenbaum, sistem operasi mengalami perkembangan yang sangat pesat, yang dapat dibagi kedalam empat generasi: