Prinsip-prinsip dasar Desain Linux Ubuntu
Linux secara umum merupakan sistem operasi yang bersifat multiuser dan multitasking yang dapat berjalan di berbagai platform
antara lain ARM (HP iPAQ, Palm’s Tungsten, Nintendo’s DS, Apple’s
iPod), IBM Series, Intel Series, AMD Series, HP Series, Hitachi Super H
(Sega Dreamcast), Sony Playstation 2, NEC v850e, Motorola series (Sun
Microsystem – 3 included), Alpha AXMP, MIPS, Sparc, PowerPC dan lain
sebagainya. Meskipun Linux dapat berjalan pada berbagai platform,
pada awalnya Linux dikembangkan secara eksklusif pada arsitektur PC.
Sebagian besar dari pengembangan awal Linux dilakukan oleh individu
(penggemar), bukan oleh developer yang didanai secara khusus
(riset), sehingga dari awal, Linux didesain agar dapat mendukung
fungsionalitas pada sumberdaya yang terbatas.
Linux adalah tiruan (clone) UNIX sehingga secara keseluruhan
rancangan Linux menyerupai implementasi UNIX yang ditulis ulang dengan
menggunakan standar POSIX. Standar POSIX terdiri dari kumpulan
spesifikasi dari berbagai aspek perilaku dari sistem operasi. Terdapat
dokumen POSIX yang memuat fungsi-fungsi dasar sistem operasi dan
terdapat juga dokumen POSIX untuk ekstensi(exstension) seperti contohnya proses threads dan operasi real time.
Lingkungan sistem operasi Linux mencakup banyak program, termasuk
didalamnya kompiler, interpreter, editor, utilitas, perangkat bantu yang
mendukung konektifitas dan ethernet.
Seiring dengan semakin berkembangnya Personal Computer(PC), memori dan hardisk
juga semakin murah, maka Kernel Linux yang awalnya minimalis berkembang
menjadi lebih kuat. Saat ini, Linux dapat berjalan dengan baik pada
mesin multiprosesor dengan memori utama dan ruang disk yang
berkapasitas besar. Namun demikian, faktor kecepatan dan efisiensi tetap
menjadi tujuan utama dari desain sistem operasi Linux sehingga meskipun
telah mengalami banyak perkembangan, Linux tetap mampu beroperasi
secara baik pada memori di bawah RAM 4MB.
Arah desain sistem operasi Linux terus berkembang. Saat ini yang
menjadi konsentrasi para pengembang Linux adalah aspek Standarisasi.
Standarisasi merupakan target penting ke tiga (setelah kecepatan dan
efisiensi). Hal ini disebabkan karena keberagaman implementasi UNIX yang
diadopsi Linux menimbulkan konsekwensi bahwa kode sumber (source code)
yang ditulis untuk suatu kebutuhan pada suatu sistem mungkin tidak
dapat dikompilasi dan berjalan dengan baik ketika diterapkan sistem yang
lain. Contohnya suatu system call yang sama diterapkan pada dua sistem UNIX yang berbeda, system call tersebut sangay mungkin tidak selalu berperilaku sama persis.
Dari sisi desain antarmuka (interface) baga bagi programmer dan
pengguna, Linux hadr dengan tampilan yang memudahkan bagi siapapun
terutama yang telah akrab dengan sistem UNIX. Secara default, interface pemrograman Linux mematuhi SVR4 UNIX Semantics.
Sistem File dan Struktur Direktori
Sistem file pada Linux menyerupai pepohonan (tree), yaitu dimulai dari root, kemudian directory dan sub directory. Sistem file pada Linux diatur secara hirarkhikal, yaitu dimulai dari root dengan simbol “/” .
Kita dapat menciptakan file dan directory mulai dari root ke bawah. Directory
adalah file khusus, yang berisi nama file dan INODE (pointer yang
menunjuk ke data / isi file tersebut). Secara logika, directory berisi file dan directory lagi (disebut juga subdirectory).
Deskripsi Direktori
/etc | Berisi deskripsi administrative (konfigurasi dll) dan file executable atau script yang berguna untuk administrasi sistem. |
/dev | Berisi file khusus yang mempresentasikan peralatan hardware seperti memori, disk, printer, tape, floopy, jaringan dll. |
/bin | Berisi utilitas sistem level rendah (binary) |
/sbin | Berisi utilitas sistem untuk superuser (untukmembentuk administrasi sistem) |
/usr/sbin/usr/bin | Berisi utilitas sistem dan program aplikasi leveltinggi. |
/usr/lib | Berisi program library yang diperlukan untuk kompilasi program (misalnya C). Berisi instruksi (command) misalnya untuk Print Spooler (lpadmin) dll. |
/tmp | Berisi file sementara, yang pada saat Bootstrap akan dihapus (dapat digunakan oleh sembarang user) |
/boot | Berisi file yang sangat penting untuk bootstrap Kernel vmlinuzdisimpan di directory ini. |
/proc | Berisi informasi tentang kernel Linux, proses danvirtual sistem file |
/var | Directory variable, artinya tempat penyimpanan LOG (catatan hasil output program), file ini dapat membengkak dan perlu dimonitor perkembangannya |
/home | Berisi directory untuk pemakai Linux (pada SCO diletakkan pada /usr) |
/mnt | Directory untuk mounting sistem file |
/root | Home directory untuk superuser (root) |
/usr/bin/x11 | Symbolic link ke /usr/x11R6/bin, program untuk X-Window |
/usr/src | Source code untuk Linux Option, directory ini biasanya berisi aplikasi |
/opt | tambahan (“add-on”) seperti Netscape Navigator, KDE, Gnomo, Applix dll. |
Tidak ada komentar:
Posting Komentar