1.
SEJARAH
- KELEBIHAN DAN KEKURANGAN
- KOMPONEN-KOMPONEN SISTEM
a.
MANAJEMEN PROSES, MEMORI, FILE
- LAYANAN SISTEM OPERASI
- STRUKTUR SO
- PENJADWALAN PROSES
- KEAMANAN
- KESIMPULAN DAN SARAN
- 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
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:
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
Programmed in
|
|
OS family
|
|
Working state
|
Current
|
Source model
|
|
Marketing target
|
Desktops, servers, embedded devices
|
Multi-lingual
|
|
Supported platforms
|
|
Various including GNU General Public License, BSD License, Apache
License, MIT License, and others[3]
|
|
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 expired. Active
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:
Tidak ada komentar:
Posting Komentar