Rabu, 23 April 2014

MAKALAH DAMN SMALL LINUX

1.      SEJARAH
  1. KELEBIHAN DAN KEKURANGAN
  2. KOMPONEN-KOMPONEN SISTEM
            a. MANAJEMEN PROSES, MEMORI, FILE
  1. LAYANAN SISTEM OPERASI
  2. STRUKTUR SO
  3. PENJADWALAN PROSES
  4. KEAMANAN
  5. KESIMPULAN DAN SARAN
  6. DAFTAR PUSTAKA






1. SEJARAH LINUX

            Linux pada awalnya dibuat oleh seorang mahasiswa finlandia yang bernama Linus Torvalds. Dulunya Linux merupakan proyek hobi yang diinspirasikan dari minix, yaitu sistemUNIX kecil yang dikembangkan oleh Andrew Tanen-baum. Linux versi 0.01 dikerjakan sekitar bulan Agustus 1991. Kemudian pada tanggal 5 Oktober 1991, Linus mengumumkan versi resmi Linux, yaitu versi 0.02 yang hanya dapat menjalankan shell bash (GNU Bourne Again Shell) dan gcc (GNU C Compiler).
 Saat ini Linux adalah sistem UNIX yang sangat lengkap, bisa digunakan untuk jaringan, pengembangan soft-ware dan bahkan untuk pekerjaan sehari-hari. Linux sekarang merupakan alternatif sistem operasi yang jauh lebih murah jika dibandingkan dengan sistem operasi komersial (misalnya  windows 9.x/NT/2000/ME).


2.KELEBIHAN DAN KEKURANGAN LINUX
KELEBIHAN DSL(DAMN SMALL LINUX)
 LINUXWalaupun kecil tetapi DSL ini mempunyai banyak sekali kelebihan diantaranya :
1.     Proses instalasi yang mudah dan cepat (hanya membutuhkan waktu kurang lebih 15 menit)
2.     Dapat mendeteksi hardware secara tepat.
3.     Mengenali Flash DIsk dengan mudah.
4.     Dapat digunakan untuk wireless lan.
5.     Dapat menggunakan apt-get sehingga mudah untuk melakukan penambahan program.
6.     Menggunakan Desktop Manager Fluxbox yang mudah dan nyaman untuk digunakan.
7.     dan masih banyak lagi.
KEKURANGAN DSL(DAMN SMALL LINUX)
Selain keuntungan-keuntungan tersebut tentu saja ada beberapa kekurangan diantaranya adalah :
1.     Kurangnya dukungan program-program yang dapat digunakan di DSL (DSL mempunyai ekstensi sendiri sehingga tidak mudah untuk melakukan upgrade atau penambahan program.
2.     Belum adanya repository yang mendukung DSL.

3. KOMPONEN-KOMPONEN SISTEM
a. manajeman proses
manajeman Proses adalah Program yang sedang dieksekusi. Setiap kali menjalankan suatu program, Sistem UNIX melakukan suatu fork, yaitu melakukan beberapa urutan operasi untuk membuat suatu proses konteks dan kemudian mengeksekusi program tersebut dalam konteks yang sudah dibuat. Oleh karena itu kita harus menguasai Manajemen Proses Linux. Manajemen Proses Linux adalah salah satu hal yang sangat penting yang harus dikuasai oleh seorang Teknisi Komputer. Kenapa? Karena selain kita mengetahui proses di Windows, kita harus tahu proses di Linux dan dengan penguasaan manajemen prose ini kita bisa mengetahui proses apa saja yang running pada setiap user. Atau dalam suatu jaringan juga kita bisa melakukan controlling terhadap proses setiap client.
Dalam Manajemen proses beberapa hal penting yang harus dikuasai, yaitu :
1. Mengetahui proses yang terjadi Linux
2. Dapat melakukan proses controlling terhadap proses di Linux
3. Menghentikan proses yang tidak dibutuhkan dan mengurangi performa Linux

TIPE PROSES
Terdapat beberapa tipe proses yang dikenal dalam OS berbasis Linux pada umumnya, antara lain:
1.   Interactive : proses yang dimulai (dan dikontrol oleh) shell[i][i][i]. 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:
·      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. PID adalah 32-bit bilangan yang mengidentifikasikan setiap proses dengan unik. Linux membatasi PID sekitar 0-32767 untuk menjamin kompatibilitas dengan sistem UNIX tradisional.
·      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.
·      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.
Status Proses yang dikenali dalam Linux
1.   Task Running : Proses yang siap untuk dieksekusi CPU
2.   Task Interruptable : Proses yang menunggu sebuah kondisi. Interupsi, Sinyal dan aktifitas lain akan membangunkan proses.
3.   Task Uninterruptable : Proses yang sedang sleep, dan tidak dapat di interrupt oleh signal.
4.   Task Stopped : Proses yang dihentikan
5.    Task Zombie : Proses telah berhenti, namun masih memiliki struktur data ditask_struct di task vektor dan masih memegang sumber daya yang tidak digunakan lagi.

Konsep Pembuatan dan Penghentian Proses
Konsep pembuatan proses pada sistem operasi linux :
·      Setiap proses diberi nomor khusus sebagai identifikasi yang disebut process identification atau PID berupa angka integer unik.
·      Jika proses selesai (Terminated) maka semua sumber daya yang digunakan termasuk PID dibebaskan kembali.
·      Proses dibuat menggunakan system call fork() yang sering disebut forking proses
·      System call fork() mengkopi proses pemanggil sehingga akan terdapat 2 proses yaitu :
1. Proses pemanggil disebut PARENT
2. Proses hasil kopian disebut CHILD
·      Proses CHILD identik dengan proses PARENT-nya tetapi memiliki PID yang berbeda.
·      Setelah proses baru (child) berhasil dibuat eksekusi dilanjutkan secara normal di masing –masing proses pada aris setelah pemanggilan system call fork().
·      Proses pemanggil (PARENT) dapat melakukan forking proses lebih dari satu kali sehingga memungkinkan terdapat banyak proses CHILD yang dieksekusi.
·      Proses CHILD dapat melakukan forking proses seperti halnya PARENT sehingga dapat terbentuk struktur pohon proses.

Sedangkan pada proses penghentian pada OS linux, jika telah menyelesaikan pernyataan terakhir, dan meminta pada sistem operasi untuk menghapusnya dengan menggunakan system call exit. Proses mengembalikan semua data (output) ke parent proses melalui system call wait. Kemudian proses dihapus dari list atau tabel sistem, dilanjutkan dengan menghapus PCB.
Penghapusan proses ini akan menjadi sangat kompleks jika ternyata proses yang akan dihentikan tersebut membuat proses-proses yang lain. Pada beberapa sistem, proses-proses anak akan dihentikan secara otomatis jika proses induknya berhenti. Namun, ada beberapa sistem yang menganggap bahwa proses anak ini terpisah dengan induknya, sehingga proses anak tidak ikut dihentikan secara otomatis pada saat proses induk dihentikan.
Parent dapat menghentikan eksekusi proses child dengan menggunakan system call abort. Proses anak dihentikan parent karena beberapa alasan, antara lain :
·      Child mengalokasikan sumber daya melampaui batas
·      Tugas child tidak dibutuhkan lebih lanjut
·      Parent berhenti, karena system operasi tidak mengijinkan child untuk melanjutkan jika parent berhenti dan terminasi dilanjutkan


b. memory

Managemen Memori di Linux

Managemen Memori Fisik

Bagian ini menjelaskan bagaimana linux menangani memori dalam sistem. Memori managemen merupakan salah satu bagian terpenting dalam sistem operasi. Karena adanya keterbatasan memori, diperlukan suatu strategi dalam menangani masalah ini. Jalan keluarnya adalah dengan menggunakan memori virtual. Dengan memori virtual, memori tampak lebih besar daripada ukuran yang sebenarnya.
Dengan memori virtual kita dapat:
1.      Ruang alamat yang besar
Sistem operasi membuat memori terlihat lebih besar daripada ukuran memori sebenarnya. Memori virtual bisa beberapa kali lebih besar daripada memori fisiknya.
2.      Pembagian memori fisik yang adil
Managemen memori membuat pembagian yang adil dalam pengalokasian memori antara proses-proses.
3.      Perlindungan
Memori managemen menjamin setiap proses dalam sistem terlindung dari proses-proses lainnya. Dengan demikian, program yang crash tidak akan mempengaruhi proses lain dalam sistem tersebut.
4.      Penggunaan memori virtual bersama
Memori virtual mengizinkan dua buah proses berbagi memori diantara keduanya, contohnya dalam shared library. Kode library dapat berada di satu tempat, dan tidak dikopi pada dua program yang berbeda.

Memori Virtual

Gambar 7-2. Pemetaan Memori Virtual ke Alamat Fisik. Sumber: . . .

Memori fisik dan memori virtual dibagi menjadi bagian-bagian yang disebut page. Page ini memiliki ukuran yang sama besar. Tiap page ini punya nomor yang unik, yaitu Page Frame Number (PFN). Untuk setiap instruksi dalam program, CPU melakukan mapping dari alamat virtual ke memori fisik yang sebenarnya.
Penerjemahan alamat di antara virtual dan memori fisik dilakukan oleh CPU menggunakan tabel page untuk proses x dan proses y. Ini menunjukkan virtial PFN 0 dari proses x dimap ke memori fisik PFN 1. Setiap anggota tabel page mengandung informasi berikut ini:
1.      Virtual PFN
2.      PFN fisik
3.      informasi akses page dari page tersebut
Untuk menerjemahkan alamat virtual ke alamat fisik, pertama-tama CPU harus menangani alamat virtual PFN dan offsetnya di virtual page. CPU mencari tabel page proses dan mancari anggota yang sesuai degan virtual PFN. Ini memberikan PFN fisik yang dicari. CPU kemudian mengambil PFN fisik dan mengalikannya dengan besar page untuk mendapat alamat basis page tersebut di dalam memori fisik. Terakhir, CPU menambahkan offset ke instruksi atau data yang dibutuhkan. Dengan cara ini, memori virtual dapat dimap ke page fisik dengan urutan yang teracak.

Demand Paging

Cara untuk menghemat memori fisik adalah dengan hanya meload page virtual yang sedang digunakan oleh program yang sedang dieksekusi. Tehnik dimana hanya meload page virtual ke memori hanya ketika program dijalankan disebut demand paging.
Ketika proses mencoba mengakses alamat virtual yang tidak ada di dalam memori, CPU tidak dapat menemukan anggota tabel page. Contohnya, dalam gambar, tidak ada anggota tabel page untuk proses x untuk virtual PFN 2 dan jika proses x ingin membaca alamat dari virtual PFN 2, CPU tidak dapat menterjemahkan alamat ke alamat fisik. Saat ini CPU bergantung pada sistem operasi untuk menangani masalah ini. CPU menginformasikan kepada sistem operasi bahwa page fault telah terjadi, dan sistem operasi membuat proses menunggu selama sistem operasi menagani masalah ini.
CPU harus membawa page yang benar ke memori dari image di disk. Akses disk membutuhkan waktu yang sangat lama dan proses harus menunggu sampai page selesai diambil. Jika ada proses lain yang dapat dijalankan, maka sistem operai akan memilihnya untuk kemudian dijalankan. Page yang diambil kemudian dituliskan di dalam page fisik yang masih kosong dan anggota dari virtual PFN ditambahkan dalam tabel page proses. Proses kemudian dimulai lagi pada tempat dimana page fault terjadi. Saat ini terjadi pengaksesan memori virtual, CPU membuat penerjemahan dan kemudian proses dijalankan kembali.
Demand paging terjadi saat sistem sedang sibuk atau saat image pertama kali diload ke memori. Mekanisme ini berarti sebuah proses dapat mengeksekusi image dimana hanya sebagian dari image tersebut terdapat dalam memori fisik.

Swaping

Jika memori fisik tiba-tiba habis dan proses ingin memindahkan sebuah page ke memori, sistem operasi harus memutuskan apa yang harus dilakukan. Sistem operasi harus adil dalam mambagi page fisik dalam sistem diantara proses yang ada, bisa juga sistem operasi menghapus satu atau lebih page dari memori untuk membuat ruang untuk page baru yang dibawa ke memori. Cara page virtual dipilih dari memori fisik berpengaruh pada efisiensi sistem.
Linux menggunakan tehnik page aging agar adil dalam memilih page yang akan dihapus dari sistem. Ini berarti setiap page memiliki usia sesuai dengan berapa sering page itu diakses. Semakin sering sebuah page diakses, semakin muda page tersebut. Page yang tua adalah kandidat untuk diswap.

Pengaksesan Memori Virtual Bersama

Memori virtual mempermudah proses untuk berbagi memori saat semua akses ke memori menggunakan tabel page. Proses yang akan berbagi memori virtual yang sama, page fisik yang sama direference oleh banyak proses. Tabel page untuk setiap proses mengandung anggota page table yang mempunyai PFN fisik yang sama.

Efisiensi

Desainer dari CPU dan sistem operasi berusaha meningkatkan kinerja dari sistem. Disamping membuat prosesor, memori semakin cepat, jalan terbaik adalah manggunakan cache. Berikut ini adalah beberapa cache dalam managemen memori di linux:
1.      Page Cache
Digunakan untuk meningkatkan akses ke image dan data dalam disk. Saat dibaca dari disk, page dicache di page cache. Jika page ini tidak dibutuhkan lagi pada suatu saat, tetapi dibutuhkan lagi pada saat yang lain,page ini dapat segera diambil dari page cache.
2.      Buffer Cache
Page mungkin mengandung buffer data yang sedang digunakan oleh kernel, device driver dan lain-lain. Buffer cache tampak seperti daftar buffer. Contohnya, device driver membutuhkan buffer 256 bytes, adalah lebih cepat untuk mengambil buffer dari buffer cache daripada mengalokasikan page fisik lalu kemudian memecahnya menjadi 256 bytes buffer-buffer.
3.      Swap Cache
Hanya page yang telah ditulis ditempatkan dalam swap file. Selama page ini tidak mengalami perubahan setelah ditulis ke dalam swap file, maka saat berikutnya page di swap out tidak perlu menuliskan kembali jikapage telah ada di swap file. Di sistem yang sering mengalami swap, ini dapat menghemat akses disk yang tidak perlu.
Salah satu implementasi yang umum dari hardware cache adalah di CPU, cache dari anggota tabel page. Dalam hal ini, CPU tidak secara langsung membaca tabel page, tetap mencache terjemahan page yang dibutuhkan.

Load dan Eksekusi Program

1.      Penempatan program dalam memori
Linux membuat tabel-tabel fungsi untuk loading program, memberikan kesempatan kepada setiap fungsi untuk meload file yang diberikan saat sistem call exec dijalankan. Pertama-tama file binari dari pageditempatkan pada memori virtual. Hanya pada saat program mencoba mengakses page yang telah diberikan terjadi page fault, maka page akan diload ke memori fisik.
2.      Linking statis dan linking dinamis
a.       Linking statis:
librari-librari yang digunakan oleh program ditaruh secara langsung dalam file binari yang dapat dieksekusi. Kerugian dari linking statis adalah setiap program harus mengandung kopi library sistem yang umum.
b.      Linking dinamis:
hanya sekali meload librari sistem menuju memori. Linking dinamis lebih efisien dalam hal memori fisik dan ruang disk.


c.     file
3.     File system atau manajemen file adalah metode dan struktur data yang digunakan sistem operasi untuk mengatur dang mengorganisir file pada disk atau partisi. File system juga dapat diartikan sebagai pasrtisi atau disk yang digunakan untuk menyimpan file-file dalam cara tertentu. Cara memberi suatu file system ke dalam disk atau partisi dengan cara melakukan Format.
4.     Berikut adalah perintah manajemen file di dalam linux :
5.     1. mkdir : untuk membuat folder/direktori.
6.     2. pwd : point work directory (menampilkan tempat direktori yang sedang dikerjakan).
7.     3. cp : untuk mengcopy file.
8.     4. cp –r : untuk mengcopy folder.
9.     5. mv : untuk memindahkan atau merename file.
10.  6. rm : untuk menghapus file.
11.  7. rm –r : untuk menghapus direktori.
12.  8. find : mencari file dalam suatu direktori.
13.  9. touch : untuk membuat file baru tetapi tidak ada isinya.
14.  10. whereis   : untuk mengetahui lokasi file yang dicari.
15.  11. echo : untuk menampilkan baris teks.
16.  12. wc : untuk menghitung jumlah kata, baris dan jumlah huruf dalam suatu file.
17.  13. chmod : untuk mengubah perizinan suatu direktori atau file.
18.  14. chown : untuk mengubah pemilik file dan group.
19.  15. Who : untuk melihat siapa yang login.
20.  16. ifconfig : konfigurasi perangkat jaringan.
21.  17. iwconfig : konfigurasi perangkat jaringan nirkabel.

4.LAYANAN SISTEM OPERASI
·         Pembuatan program
·         Eksekusi program
·         Pengaksesan perangkat masukan ataupun keluaran
·         Pengaksesan terkendali terhadap berkas
·         Pengaksesan system
·         Deteksi dan member tanggapan terhadap kesalahan
·         Member layanan accounting..

5.STRUKTUR SO
Struktur Sistem Operasi Linux itu terdiri dari 3 komponen utama. 
1.     Kernel : yakni suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Disini kernel menyediakan semua fungsi untuk menjalankan proses, juga menyediakan layanan sistem untuk memberikan pengaturan dan proteksi akses ke sumber daya perangkat keras termasuk memori virtual.
2.     System Library : yakni kumpulan fungsi standar dimana aplikasi dapat berinteraksi dengan inti dari sebuah sistem operasi yaitu kernel.
3.     System Utilities : yakni program yang bertugas mengatur dan memanage secara individual, termasuk semua program yang di perlukan untuk menginisialisasi sistem.

Dan untuk struktur sistem file nya, di Linux di kenal dengan nama Directory. Berikut beberapa penjelasan dan kegunaan dari masing-masing file-file di Linux:
1.     / (Root) 
o    Merupakan directory yang dapat di akses oleh super administrator atau user root.
o    Perhatikan saat penulisannya / tidak sama dengan /root. 
 2.     /bin (User Binaries)
       o    Berisi file-file ekseskusi. Direcktori ini juga menyimpan perintah yang di gunakan oleh  sistem.
o    Contoh : ps, ls, ping, grep, cp
3.     /sbin (System Binaries)
  o    Fungsinya masih sama dengan /bin, perbedaannya ini untuk perintah-perintah yang di lakukan oleh administrator sistem untuk memelihara sistem.
·         Contoh: arp, halt, shutdown, route dll.
4.     /etc (Configuration Files)
o    Berisi file yang di jalankan ketika startup, serta file-file konfigurasi semua program. 
o    Contoh: /etc/resolv.conf , /etc/logrotate.conf
5.     /dev (Device Files)
o    Berisi file device komputer. Termasuk perangkat terminal, USB atau perangkat lainnya. 
o    Contoh: /dev/tty1 ,  /dev/usbmon0 
6.     /proc (Process Information)
o    Berisi informasi tentang proses sistem, baik itu file System virtual dengan teks yang menginformasikan tentang sumber daya sistem maupun informasi tentang menjalankan proses.
o    Contoh: /proc/uptime ,  /proc/{pid}
7.     /var (Variable Files) beberapa contoh nya sebagai berikut:
o    /var/log  = berisi file-file log sistem 
o    /var/lib  = berisi paket dan file database
o    /var/mail = email
o    /var/spool = antrian print
o    /var/lock = kunci file
o    /var/tmp = temporary file yang di butuhkan saat reboot.
8.     /tmp (Temporary Files)
o    Berisi file-file sementara yang di buat oleh sistem dan user, dan akan di hapus saat sistem reboot
9.     /usr (User Program)
o    Berisi file-file binari, libraries, dokumentasi dan source code dari sistem.
o    Terbagi menjadi beberapa:
§  Yang berisi file binari untuk program (/usr/bin). Contoh : at, awk, cc
§  Yang berisi file binari untuk sistem administrator (/usr/sbin). Contoh : atd, cron, sshd
§  Yang berisi file libraries (/usr/lib)
10.   /home (Home Directories)
o    Direktori ini digunakan untuk menyimpan semua file pribadi pengguna.  
·         Contoh: /home/nurul
11.   /boot (Boot Loader Files)
o    Berisi file-file yang berhubungan dengan boot loader, seperti initrd.img-5.2.20-12-generic
12.   /lib (System Libraries)
13.   /opt (Optional add-on Applications)
o    Menyimpan file-file tambahan dari vendor tertentu yang bersifat sementara.
14.   /mnt (Mount Directory)
o    Direktori sementara tempat sysadmin men mount filesystem. 
15.   /media (Removable Media Device)
o    Direktori sementara untuk removable device. 
16.   /srv (Service Data)
o    Berisi file-file yang di perlukan oleh server.

6.PENJADWALAN PROSES
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
Default user interface
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 taskyang berjalan di runqueue data structure. Karena dukungan Linux untuk SMP, setiap prossesor mengatur runqueuemereka sendiri dan penjadwalan yang bebas. Setiap runqueue terdiri dari dua array prioritas - activedan 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 taskdi array aktif yang baru ditentukan prioritasnya yang baru dan disesuaikan juga time slices-nya



7.Perkembangan Sistem Operasi Linux 
 Linux mempunyai perkembangan yang sangat cepat. Hal ini dapat dimungkinkan karena Linux dikembangkan oleh beragam kelompok orang. Keragaman ini termasuk tingkat pengetahuan, pengalaman serta geografis. Agar kelompok ini dapat berkomunikasi dengan cepat dan efisien, internet menjadi pilihan yang sangat tepat. Karena kernel Linux dikembangkan dengan usaha yang independent, banyak aplikasi yang tersedia, sebagai contoh C-Compiler menggunakan gcc dari Free Software Foundation GNU’s Project. Compiler ini banyak digunakan  pada lingkungan Hewlett-Packard dan Sun. Sekarang ini, banyak aplikasi Linux yang dapat digunakan untuk keperluan kantor seperti untuk spreadsheet, word processor, database dan program editor grafis yang memiliki fungsi dan tampilan seperti Microsoft Office, yaitu Star Office. Selain itu, juga sudah tersedia versi Corel untuk Linux dan aplikasi seperti Matlab yang pada Linux dikenal sebagai Scilab. Linux bisa didapatkan dalam berbagai distribusi (sering disebut Distro).

Distro adalah bundel dari kernel Linux, beserta sistem dasar linux, program instalasi, tools basic, dan program-program lain yang bermanfaat sesuai dengan tujuan pembuatan distro. Ada banyak sekali distro Linux, diantaranya :

RedHat, distribusi yang paling populer, minimal di Indonesia. RedHat merupakan distribusi pertama yang instalasi dan pengoperasiannya mudah.
Debian, distribusi yang mengutamakan kestabilan dan kehandalan, meskipun mengorbankan aspek kemudahan dan kemutakhiran program. Debian menggunakan .deb dalam paket instalasi programnya.
Slackware, merupakan distribusi yang pernah merajai di dunia Linux. Hampir semua dokumentasi Linux disusun berdasarkan Slackware. Dua hal penting dari Slackware adalah bahwa semua isinya (kernel, library ataupun aplikasinya) adalah yang sudah teruji. Sehingga mungkin agak tua tapi yang pasti stabil. Yang kedua karena dia menganjurkan untuk menginstall dari source sehingga setiap program yang kita install teroptimasi dengan sistem kita. Ini alasannya dia tidak mau untuk  menggunakan binary RPM dan sampai Slackware 4.0, ia tetap menggunakan libc5 bukan glibc2 seperti yang lain.
SuSE, distribusi yang sangat terkenal dengan YaST (Yet another Setup Tools) untuk mengkonfigurasi sistem. SuSE merupakan distribusi pertama dimana instalasinya dapat  menggunakan bahasa Indonesia.
Mandrake, merupakan varian distro RedHat yang dioptimasi untuk pentium. Kalau komputer kita menggu-nakan pentium ke atas, umumnya Linux bisa jalan lebih cepat dengan Mandrake. WinLinux, distro yang dirancang untuk diinstall di atas partisi DOS (WIndows). Jadi untuk menjalankannya bisa di-klik dari Windows. WinLinux dibuat seakan-akan merupakan suatu program aplikasi under Windows. Dan masih banyak distro-distro lainnya yang telah tersedia maupun yang akan muncul.

8.KESIMPULAN DAN SARAN
Kesimpulan:
1)       Linux atau GNU/Linux adalah sistem operasi non-commersial (free) yang sedang populer di negara-negara berkembang salah satu nya di Indonesia.

2)      Kelebihan linux sangatlah rumityaitu Linux memberikan beberapa proses spesial dimana terminal, printer dan device hardware lainnya dapat diakses seperti mengakses file yang tersimpan dalam harddisk atau disket

3)      Jenis-jenis linux yaitu debian linux,redhat linux,mandrake linux,caldera linux,slackwre linux,suse linux,corel linux,dan turbo linux.

Saran:
Sebagai mahasiswa dan penyusun makalah, kami sangat memerlukan kritikan dan saran demi kesempurnaan penyusunan makalah yang selanjutnya
9.DAFTAR PUSTAKA
Sumber: