tugas kelompok so(linux u-buntu) pengganti kuliah pertemuan 14

  • Ø  Sejarah Linux U-Buntu

Ubuntu berasal dari bahasa Afrika yakni “Humanity to Others” yang berarti “Kemanusiaan untuk Sesama”.

Sistem Operasi ini merupakan turunan dari system operasi linux yang lain,yakni Debian.

Proyek Ubuntu disponsori oleh Cannonical Ltd (perusahaan milik Mark Shuttleworth).

Tujuan dari distribusi Linux Ubuntu adalah membawa semangat yang terkandung di dalam Ubuntu ke dalam dunia perangfkat lunak.

Ubuntu adalah system operasi lengkap berbasis Linux,yang tersedia secara bebas dan mempunyai dukungan baik yang berasal dari komunitas maupun tenaga ahli professional.

  • Manajemen Proses Linux Ubuntu-Manajemen Proses

Secara umum, manajemen proses di dalam OS (operating system) Linux Ubuntu memiliki cara dan mekanisme yang hampir sama dengan manajemen proses dalam OS turunan UNIX (dan Linux) lainnya.

Manajemen Proses Linux

Pada Linux Ubuntu Terdapat beberapa tipe proses yang dikenal dalam OS berbasis Linux pada umumnya, antara lain :

  1. Interactive : proses yang dimulai (dan dikontrol oleh) shell. Bisa tampak di luar (foreground) ataupun hanya di dalam (background).
  2. Batch :  proses yang tidak berhubungan dengan terminal, tetapi menunggu untuk dieksekusi secara berurutan (sekuensial).
  3. Daemon :  proses yang dimulai ketika Linux booting dan berjalan secara background. Proses ini menunggu permintaan dari proses lainnya, bila tidak ada request, maka berada dalam keadaan ‘idle’.

Dalam Linux, sifat-sifat proses dibagi menjadi tiga bagian, yakni: Identitas Proses, Lingkungan, dan Konteks.

Identitas Proses

Identitas proses memuat beberapa hal penting berikut:

  1. 1.      Process ID (PID) → pengenal unik untuk proses, digunakan untuk menentukan proses-proses mana yang dibawa ke dalam OS saat suatu aplikasi membuat system call untuk mengirim sinyal, mengubah, atau menunggu proses lainnya. Process ID adalah 32-bit bilangan yang mengidentifikasikan setiap proses dengan unik. Linux membatasi Process ID sekitar 0-32767 untuk menjamin kompatibilitas dengan sistem UNIX tradisional.
  2. Mandat (Credentials) → setiap proses harus memiliki sebuah user ID dan satu atau lebih group ID yang menentukan hak proses untuk mengakses sumber daya sistem dan file.
  3. Personality → tidak ditemukan dalam sistem UNIX, namun dalam Linux setiap proses memiliki sebuah pengenal pribadi (personality) yang dapat (sedikit) mengubah system call tertentu secara semantic. Terutama digunakan oleh library emulation agar system call dapat kompatibel dengan bentuk tertentu UNIX.

Lingkungan Proses

Lingkungan proses diturunkan dari orang tuanya dan terdiri atas dua vektor null-terminated sebagai berikut:

  • Vektor argument berisi daftar argument command-line yang digunakan untuk memanggil program yang berjalan; secara konvensional dimulai dengan nama programnya sendiri.
  • Vektor lingkungan merupakan sebuah daftar pasangan “NAME=VALUE” yang menghubungkan nama variabel lingkungan dengan nilai tekstual tertentu.

Konteks Proses

Yang dimaksud dengan konteks proses adalah keadaan (perubahan konstan) dari suatu program yang berjalan pada setiap titik dalam satuan waktu. Konteks proses terdiri atas konteks penjadwalan, accounting, tabel file, konteks file-system, tabel penanganan sinyal, dan konteks virtual-memory.

  • Konteks penjadwalan adalah bagian terpenting dari proses konteks; berupa informasi yang dibutuhkan oleh penjadwal (scheduler) untuk menghentikan sementara (suspend) dan menjalankan kembali (restart) proses tersebut. Kernel menyimpan informasi statistik (accounting) mengenai sumber daya yang digunakan saat ini oleh tiap proses dan total sumber daya yang digunakan oleh proses tersebut sepanjang hidupnya (selama dieksekusi). Tabel file (file table) adalah sebuah larik pointer yang merujuk pada struktur file kernel. Saat membuat system call file I/O, proses merujuk pada file berdasarkan indeksnya dalam tabel ini. Bila tabel file berisi daftar file terbuka yang ada, file-system context digunakan untuk meminta pembukaan file baru. Root saat ini dan default direktori yang akan digunakan untuk file baru disimpan di sini. Tabel penanganan sinyal (signal-handler table) mendefinisikan rutin dalam ruang alamat proses yang akan dipanggil saat sinyal tertentu tiba. Konteks virtual-memory (virtual-memory context) dari sebuah proses menggambarkan seluruh isi dari ruang alamat pribadinya.
  • Adapun beberapa status proses yang dikenal dalam Linux, antara lain sebagai berikut:
  1. Task running : proses sedang ataupun siap dieksekusi oleh CPU
  2. Task interruptible : proses sedang menunggu sebuah kondisi. Interupsi, sinyal, ataupun pelepasan sumber daya akan membangunkan proses
  3. Task uninterruptible : proses sedang tidur dan tidak dapat dibangunkan oleh suatu sinyal
  4. Task stopped : proses dihentikan, misalnya oleh sebuah debugger
  5. Task zombie : proses telah berhenti, namun masih memiliki struktur data task_struct di task vektor dan masih memegang sumber daya yang sudah tidak digunakan lagi

Proses dan Thread

Linux menggunakan representasi internal yang sama untuk proses dan thread; sederhananya sebuah thread adalah sebuah proses baru yang membagi ruang alamat yang sama dengan orang tuanya. Perbedaan hanya terlihat pada saat sebuah thread baru diciptakan dengan system call clone.

  • Fork menciptakan sebuah proses baru dengan proses konteks-nya sendiri yang baru. Sementara clone menciptakan sebuah proses baru dengan identitasnya sendiri, namun diizinkan untuk membagi struktur data orang tuanya.
  • Clone memberikan suatu aplikasi control yang baik tentang apa yang di-share di antara dua thread.

Empat buah argumen clone yang umum dijumpai adalah sebagai berikut:

Fn : fungsi yang akan dieksekusi oleh thread.

Arg : pointer ke data yang dibawa oleh fn.

Flags : sinyal yang dikirim ke orang tua ketika anak berakhir dan pembagian sumber daya antara anak dan orang tua.

child_stack : pointer stack untuk proses anak.

  • MENJALANKAN LAYANAN SAAT BOOTUP

Meskipun kebanyakan orang pada umumnya hanya melihat keadaan komputer sedang hidup atau mati, dalam Ubuntu tidak hanya terdapat dua keadaan – hidup atau mati – namun ada beberapa keadaan di antaranya. Istilah yang digunakan adalah runlevel, yang mengendalikan layanan-layanan sistem apa yang dimulai pada saat bootup. Layanan ini sederhananya adalah aplikasi yang berjalan secara background yang menyediakan beberapa fungsi yang diperlukan ke dalam sistem, seperti menangkap informasi dari mouse dan menampilkannya ke layar monitor, dan sebagainya. Layanan-layanan pada umumnya di-load dan dijalankan (dimulai) selama proses boot, sebagaimana seperti layanan pada Microsoft Windows. Namun secara internal, Ubuntu menggunakan sebuah sistem yang dikenal dengan Upstart untuk fast booting, yang umum dikenal oleh para veteran Linux. Disini kita dapat mengatur hampir seluruh aspek dalam komputer kita dan mengatur bagaimana perilakunya setelah booting dengan mengkonfigurasi boot scripts, atau dengan menggunakan berbagai alat system administration yang disediakan dalam Ubuntu. Pembahasan lebih lanjut akan diberikan pada subbab berikutnya.

  • MENJALANKAN PROSES BOOT LOADING

Mekanisme boot loading diselesaikan melalui Basic Input Output System atau BIOS. BIOS adalah sebuah aplikasi yang disimpan dalam suatu chip di motherboard yang menginisialisasi perangkat keras motherboard. BIOS akan menyiapkan sistem agar siap me-load dan menjalankan software yang dikenal sebagai sistem operasi (OS). Sebagai langkah terakhir, kode BIOS akan mencari suatu program khusus yang dikenal sebagai boot loader atau kode boot. Perintah-perintah dalam kode kecil ini akan memberitahu BIOS letak kernel Linux, bagaimana cara untuk me-load kernel tersebut ke dalam memori, dan bagaimana untuk mulai menjalankannya.

Loading Kernel Linux

Sebagaimana yang diketahui, kernel-lah yang mengatur sumber daya sistem. Di dalam Linux, setiap aplikasi adalah sebuah proses, dan kernel memberikan setiap proses sebuah bilangan yang disebut sebagai process ID (PID). Pertama, kernel Linux akan me-load dan menjalankan sebuah proses bernama init, yang juga dikenal sebagai “ayah dari semua proses” karena ia yang memulai semua proses lainnya. Langkah berikutnya dari proses boot dimulai dengan sebuah pesan bahwa kernel Linux sedang loading, dan sekumpulan pesan yang memberikan informasi tentang status setiap perintah akan ditampilkan di layar. Untuk menjalankan sistem dengan baik, layanan sistem harus dimulai terlebih dahulu. Layanan-layanan tersebut adalah aplikasi-aplikasi yang memungkinkan pengguna untuk dapat berinteraksi dengan sistem komputer.

Layanan Sistem dan Runlevel

Perintah init mengarahkan Ubuntu pada suatu keadaan sistem tertentu, umumnya dikenal sebagai runlevel. Runlevel akan menentukan layanan sistem mana yang akan dijalankan di antara layanan yang tersedia, dan dalam urutan yang benar. Sebuah runlevel khusus digunakan untuk menghentikan sistem, dan runlevel khusus lainnya digunakan untuk maintenance (menjaga performa) sistem. Jadi, setiap runlevel memiliki tujuannya masing-masing. Anda dapat menggunakan runlevel untuk mengatur layanan sistem yang berjalan di komputer Anda.

Definisi Runlevel

Untuk sistem Ubuntu, runlevel-runlevel Ubuntu didefinisikan dalam /etc/init.d.

Setiap runlevel memberitahu perintah init tentang layanan mana yang dimulai dan dihentikan. Meskipun setiap runlevel dapat memiliki definisinya sendiri, Ubuntu mengadopsi beberapa standar runlevel sebagai berikut:

Runlevel 0 – dikenal sebagai “halt”, runlevel ini digunakan untuk menghentikan sistem.

Runlevel 1 – adalah runlevel khusus, didefinisikan sebagai “single”, yang akan mem-boot Ubuntu ke shell prompt akses root, di mana hanya pengguna root yang dapat log in. Runlevel 1 (dikenal juga sebagai mode single-user atau maintenance mode) banyak digunakan untuk memperbaiki file system dan mengubah password root pada sebuah sistem bila password-nya terlupakan.

Runlevel 2 – adalah runlevel default Ubuntu.

Runlevel 3-5runlevel-runlevel ini tidak digunakan di Ubuntu, namun banyak digunakan pada distro Linux lainnya.

Runlevel 6runlevel ini digunakan untuk reboot sistem.

  • UBUNTU Shell

Ubuntu menyediakan shell-shell yang memiliki kapabilitas, fleksibilitas, dan sangat powerful. Setiap shell berbeda satu sama lainnya, namun memiliki berbagai perintah built-in dan command-line prompt yang dapat dikonfigurasi, dan dapat menyertakan fitur-fitur seperti command-line history, kemampuan untuk memanggil kembali dan menggunakan command line sebelumnya, dan kemampuan untuk mengedit command-line. Di antara sekian banyak shell yang dapat digunakan, kebanyakan orang tetap memilih menggunakan shell default, yakni bash. Hal ini dikarenakan bash mampu mengerjakan segala sesuatu yang kebanyakan orang perlukan. Anda disarankan untuk mengganti shell Anda hanya jika Anda memang sangat membutuhkannya.

Nama Deskripsi Lokasi
bashksh

pdksh

rsh

sh

tcsh

zsh

the Bourne Again Shellthe Korn Shell

a symbolic link to ksh

the Restricted Shell (for network operation)

a symbolic link to bash

a csh-compatible shell

a compatible csh, ksh, and sh shell

/bin/bash/bin/ksh, /usr/bin/ksh

/usr/bin/pdksh

/usr/bin/rsh

/bin/sh

/bin/tcsh

/bin/zsh

 

 

 

Kelebihan atau Manfaat Menggunakan Linux Ubuntu

Berikut beberapa keuntungan atau manfaat tersebut:

  • Gratis
    Hal ini sudah menjadi ciri khas utama dari Ubuntu. Jika ada yang gratis dan memiliki kemampuan yang sama dengan sistem operasi lainnya yang tidak gratis, apalagi memiliki bayak kelebihan, kenapa tidak dimanfaatkan? Dengan menggunakan Ubuntu paling tidak kita bisa berhemat dalam situsasi dan kondisi perekonomian yang kurang kondusif saat ini.
  • Tidak ada virus, trojan ataupun malware
    Salah satu yang membuat saya memutuskan untuk menggunakan linux, dalam hal ini Ubuntu, adalah banyaknya virus yang bersliweran di dunia sistem operasi Windows. Virus agak sulit hidup di lingkungan Linux, karena ketika masuk ke aplikasi, kita disuruh memasukkan password terlebih dahulu. Jarang untuk membobol OS Linux Ubuntu.
  • Stabil dan Aman
    Linux sebagai turunan dari sistem operasi Unix memang terkenal dengan masalah keamanannya. Berbeda dengan sistem di Windows, di Linux seorang pengguna tidak bisa melakukan apa pun sebatas operasi-operasi yang berhubungan dengan file-file miliknya sendiri. Di Ubuntu,  satu-satunya cara untuk melakukan installasi, menghapus, merename dan menambahkan sesuatu kedalam sistem hanyalah dengan menggunakan perintah sudo, yang dilanjutkan dengan pertanyaan password. Hal ini kelihatannya mulai di-implementasikan di Windows Vista, sayang  implementasinya masih belum sempurna.
    Dengan sistem keamanan seperti ini lah, virus (jikalau pun ada) akan sulit hidup di Ubuntu.
  • Tidak terlalu membutuhkan hardware berspesifikasi tinggi
    Ubuntu tidak membutuhkan hardware dengan spesifikasi yang tinggi. Bahkan ada banyak distro turunan Ubuntu yang sengaja dibuat untuk digunakan pada komputer-komputer dengan spesifikasi yang minim.
  • Update OS dan aplikasinya secara keseluruhan
    Windows memiliki Windows Update yang sayangnya hanya mengupdate sistem operasinya dan produk-produk Microsoft lainnya. Sementara di Ubuntu update akan dilakukan tidak hanya pada sistem operasinya tetapi pada seluruh aplikasi yang diinstall menggunakan repository.
  • Sudah terdapat banyak sekali repository yang diletakkan pada server-server lokal
    Dengan menggunakan repository yang ada pada server-server lokal, maka kegiatan menginstall dan mengupdate sistem dan aplikasi menjadi lebih cepat. Selain itu, karena hampir semua aplikasi yang kita butuhkan terdapat dalam repository maka risiko penyebaran virus (jikalau pun ada) bisa dihindari.
  • Tidak perlu pusing mencari crack atau keygen
    Sudah bukan rahasia lagi, para pengguna Windows akan selalu disibukkan untuk mencari crack atau keygen agar aplikasi atau tools yang akan digunakan bisa dimanfaatkan Tentu berikut crack untuk menggunakan sistem operasinya Nah, hal ini tidak perlu dilakukan di Ubuntu karena hampir semua aplikasi yang kita butuhkan bisa kita dapatkan dari repository-nya dengan gratis!
  • Tampilan desktop yang bisa diubah semaunya
    Anda dengan mudah dapat mengganti tampilan default dari Ubuntu (baik GNOME atau KDE) jika memang tidak menyukainya. Bahkan, Anda bisa menggunakan desktop-environtment yang lain selain GNOME atau KDE, ada Xfce, Fluxbox, IceWM, EDE, Enlightenment, Window Maker, Openbox, Blackbox dsb. Semua disediakan (lagi-lagi) secara gratis.
  • Bisa belajar dan dikembangkan
    Hampir semua yang ada di linux besifat open source. Jika kita adalah seorang programmer maka Anda dengan mudah bisa mempelajari berbagai hal di linux dengan membuka dan mempelajari dari source code-nya.
  • Memungkinkan untuk membuat distro sendiri
    Jika kita tidak puas dengan dengan Ubuntu yang ada, kita bisa membuat sendiri distro turunan Ubuntu yang isinya sesuai dengan  kebutuhan kita. Selanjutnya distro ini bisa kita gunakan untuk keperluan pribadi, kantor atau pun akan disebarkan sebagai distro baru yang telah kita buat.
  • Komunitas yang selalu siap membantu
    Terdapat banyak sekali komunitas pengguna Ubuntu yang siap membantu jika kita menemui kesulitan atau masalah. kita bisa masuk ke dalam milis Ubuntu atau sekedar mencari solusi dengan memanfaatkan Google. Hampir semua masalah bisa diatasi hanya dengan modal mencari dan membaca .

Kekurangan Linux Ubuntu:

  • Banyak pengguna yang belum terbiasa dengan Linux dan masih ‘Windows minded’, takut untuk beralih dari Windows.
  • Dukungan perangkat keras dari vendor-vendor tertentu yang tidak terlalu baik pada Linux. Untuk mencari daftar perangkat keras yang didukung pada Linux, kita dapat melihatnya di Linux-Drivers.org atau LinuxHardware.org.
  • Proses instalasi software atau  aplikasi yang tidak semudah di Windows. Instalasi software di Linux, akan menjadi lebih mudah bila terkoneksi ke internet atau bila mempunyai CD / DVD repository-nya. Bila tidak, maka kita harus men-download satu per satu package yang dibutuhkan beserta dependencies-nya.
  • Bagi administrator sistem yang belum terbiasa dengan Unix-like (seperti Linux), maka mau tidak mau harus mempelajari hal ini. Sehingga syarat untuk menjadi administrator adalah manusia yang suka belajar hal-hal baru dan terus-menerus belajar.
  • Aplikasi-aplikasi di Linux belum seampuh aplikasi di Windows.
  • Struktur direktori dan hak-akses yang membingungkan bagi yang sudah terbiasa dengan Windows dan belum mengenal UNIX/Linux sama sekali.
About these ads