Jumat, 26 Januari 2018

Modul X

Modul X
MANAJEMEN APLIKASI

Pada pembahasan kali ini anda akan mempelajari dan dapat mengerti konsep RPM, TAR dan GZIP. menggunakan RPM, menggunakan TAR dan GZIP untuk  instalasi software .
1.    MANAJEMEN PAKET SOFTWARE
Setiap system Linux mempunyai manajemen paket software, yang paling popular adalah RPM (RedHat Package Management). 
RPM mengatur instalasi paket software, maintenance/upgrade dan menghapus paketsoftware dari system, atau lebih dikenal dengan install dan uninstall (install / remove).
RPM menyimpan informasi tentang paket yang diinstalasi dalam sebuah database. Penghapusan paket berarti juga menghapus semua files dan direktori yang terdaftar pada database tersebut, lengkap dengan nama PATH (lokasi dimana file dan direktori tersebut berada). 
RPM menyimpan paket dalam bentuk file yang telah dikompres dan ditulis sebagai file degan ekstensi .rpm. 
2.    FUNGSI MANAJER PAKET SOFTWARE
  • Menghitung besar paketyang disesuaikan dengan kapasitas penyimpanan disk yang masih tersedia, apakah cukup atau tidak.
  • Memeriksa apakah ada library atau file- file lain yang dibutuhkan untuk software tersebut.
  • Menghindari konflik dengan software yang telah terpasang di system.
  • Proses instalasi tidak mengacaukan system (membuat system file menjadi terganggu / korup). 
  • Upgrade ke versi yang baru tanpa mengganggu konfigurasi yang sudah ada.
  • Verifikasi files dalam paket tersebut.
3.    PAKET SOFTWARE
Terdiri dari 2 jenis :
  1. Paket binary (biner), terdiri atas kumpulan program executable. Paket ini berekstensi *.rpm.
  2. Paket source, Berisi teks dari program yang kemudian dapat dikompilasi menjadi executable. Paket ini mempunyai ekstensi *.src.rpm.
4.    NAMA PAKET
Penamaan paket diatur dengan konven si sebagai berikut :
  • Nama
  • Versi
  • Release
  • Platform arsitektur (Intel, Alpha, Risc, …)
Linux
5.    RPM QUERY
RPM dengan opsi  –qmemberikan informasi tentang paket sebagai berikut :
# rpm –q samba
samba –2.0.5 -1S
#
Informasi tentang versi paket samba adalah versi 2.0.5. 
Beberapa sub - opsi dapat diberikan, antara lain :
imenampilkan informasi yang lebih rinci
llist (daftar) se mua file(s)
dtampilkan hanya file dokumentasi saja
ctampilkan hanya konfigurasi file
finfo tentang paket memiliki file apa saja
pberfungsi pada paket yang belum diinstalasi
--scriptsmenampilkan script untuk instalasi
6.    TAR
Tar singkatan dari Tape A Rchive. Tar mula- mula didesain untuk backup tape, tetapi digunakan untuk membuat file tar pada semua sistem file. tar membuat satu "tar nama  versi   release   platform file" (yang disebut dengan "tarball") pada beberapa file dan direktori. File tar tidak dikompresi, hanya sebuah file heap yang dibentuk bersama dalam satu kontainer.Sehingga file tar akan mempunyai jumlah byte yang sama dengan semua file individu yang dikombinasikan ditambah sedikit file ekstra. File tar dapat dikompresi dengan menggunakan gzip atau bzip2.
Contoh :
  • tar  –xvf example.tar  mengekstraksi isi dari  example.tar dan menunjukkan file yang akan diekstraksi
  • tar  –cf backup.tar /home/ftp/pub  membuat file tar bernama backup.tar  dari isi direktori home/ftp/pub
  • tar –tvf example.tar  menampilkan isi dari example.tar pada screen. 

7.    GZIP
Gzip merupakan format ZIP UNIX yang asli. Biasanya membentuk file tar terlebih dahulu dan kemudian mengkompresi dengan menggunakan gzip. File -file ini mempunyai ekstensi .tar.gz yang menunjukkan file tar yang di - zip dengan gzip. Selain itu juga terdapat file berekstensi .tgz. File ini merupakan file kompresi dengan gzip yang kompatibel dengan WinZip dan PkZip. Sehingga file zip pada UNIX dapat di unzip pada Windows.
Contoh :
  • Untuk kompresi file menggunakan gzip, eksekusi perintah berikut  : gzip filename.tar (dimana filename.tar adalah nama file yang dikompres).  Hasil dari operasi ini adalah file yang bernama filename.tar.gz.  Defaultnya, gzip akan menghapus file filename.tar
  • Untuk dekompresi file menggunakan gzip, eksekusi perintah beriku t : gzip   – d filename.tar.gz. Hasil dari operasi ini adalah file bernama filename.tar. Defaultnya, gzip akan menghapus file filename.tar.gz.


    Daftar Pustaka
    https://siteblogforu.blogspot.co.id/2014/02/manajemen-aplikasi-linux.html

Modul IX

Modul IX
FILE PERMISSION

Sekarang mari kita bahas tentang Sistem Operasi (lagi) . Untuk sekarang, mari kita bahas tentang Manajemen File dan Direktori, dilanjutkan dengan File Permission (Perizinan File)

Sebelum mempelajari teknisnya, ada baiknya kita mengetahui tujuan mempelajari materi ini dahulu. Manajemen File dan Direktori dibutuhkan jika kita ingin memenej file dan direktori (ya iya lah -_-). Apa saja yang bisa dilakukan saat memenej file dan direktori ? Ada banyak, kita bisa melihat daftar file dan direktori, menyalin, menghapus, dan memindahkan file/direktori, juga memanipulasi file/direktori secara rekursif, kayaknya sih masih banyak yg bisa dilakukan di manajemen file dan direktori ini, tapi yang akan kita bahas segitu dulu aja. 

Pada materi File Permission, seperti terjemahannya yaitu Perizinan File yang akan dibahas adalah perizinan file/direktori yang ada pada memori. Apa yang diizinkan dan tidak diizinkan ? Siapa saja yang diizinkan dan tidak diizinkan dan bagaimana cara mengaturnya ? Nah itu yang akan dibahas pada materi ini :D, so just lets check this out ! *kayak VJ VJ gituh biar gawl*

Pertama - tama kita akan melihat daftar direktori secara lengkap dan panjang, dengan cara : mengetikkan ls -al pada terminal kita, maka hasilnya akan seperti ini :

*ps : ls itu list (untuk melihat daftar direktori), dan tambahan -a(all) adalam untuk menampilkan semua file termasuk yang hidden, dan -l(long) untuk menampilkan keterangan file secara lengkap, jadi ls -al untuk melihat daftar direktori secara lengkap dan panjang termasuk yang hidden #hah



Terlihat ada banyak tulisan antah berantah yang keluar, apa an sih itu sebenarnya ? Ini penjelasannya :

Kolom pertama adalah jenis file dan perizinannya (yang akan kita pelajari)
Kolom kedua adalah  jumlah link
Kolom ketiga adalah pemilik file(user)
Kolom keempat adalah kelompok pemilik file(group)
Kolom kelima adalah ukuran file dalam byte
Kolom keenam adalah tanggal modifikasi terakhir
Kolom ketujuh adalah waktu modifikasi terakhir
Kolom kedelapan yang terakhir adalah nama file nya

Selanjutnya kita hanya akan mengotak atik kolom satu, tiga, dan empat, tapi untuk sekarang mari kita otak atik kolom pertama dahulu :D

Apasih huruf antah berantah itu di kolom pertama ? Sip mari dibahas.
jadi , di kolom pertama itu terdiri dari 10 karakter. Karakter pertama menunjukkan jenis filenya, lalu 9 karakter berikutnya menunjukkan masing2 perizinan untuk user, group dan other. Kenapa harus dan boleh diatur ? Anggapnya kalo ada yg mau pinjem laptop kita, lalu kita buat si peminjam dalam mode 'guest' atau other, maka si tamu itu tidak bisa melakukan hal aneh2 #naooon, si tamu hanya bisa melakukan apa yang kita izinkan terhadapnya #euy .

Jenis file di karakter pertama itu ada :

d = directory
- = regular file
l = symbolic link
s = Unit domain socket
p = named pipe
c = character device file
b = block device file

Lalu 9 karakter berikutnya yang dibagi menjadi 3, yang juga terdiri dari 3 karakter r,w,x adalah ?
r =  read
w = write
x = execute
- = no permission



Urutannya sudah pasti begini : rwx, nah kalo ada yg  ( rw- ) >> berarti yang diizinkan hanya read dan write. Misalnya ada file , kolom pertamanya kayak gini :

-rwxr--rw-  >> ini artinya si file merupakan regular file, permission untuk user(3 karakter selanjutnya) adalah read, write dan execute, lalu permission untuk group (3 karakter selanjutnya) adalah read saja, dan terakhir permission untuk other (3 karakter terakhir) adalah read dan write. Begitulah.

Bisa ga sih ngatur biar si group bisa write juga ? Bisa bingiits (alaynya kambuh), berikutnya mari kita bahas ngotak ngatik permissionya :D

Ada 2 cara yang bisa kita lakukan : 1. Metode simbolik, 2. Metode Numerik (kayak nama mata kuliah -,-)

Mari kita bahas metode simbolik dulu ya. Sesuai namanya, berarti kita hanya menggunakan simbol-simbol khusus untuk merubahnya. Simbol yang digunakan untuk pengguna atau user adalah (u), lalu group (g), other (o), dan all (a) untuk semua. Lalu simbol untuk menambah / mengurangi permissionnya : (+) untuk menambahkan, (-) untuk mengurangi , (=) untuk menghapus izin sebelumnya dan menambahkan izin yang baru. Selanjutnya izinnya apakah (w) untuk write, (r) untuk read, dan (x) untuk execute. Untuk mengubah file permission tadi, kita menggunakan chmod (change mode) di awalnya. Baiklah daripada bingung lebih baik kita langsung ke contoh saja :D

Misalnya ada file namanya haha, di kolom pertamanya saat ls -al tertulis seperti ini : -rwxrw-r-- , whats that means ? ah pasti masih inget lah ya, si file haha ini bisa di read, write dan execute oleh user, read dan write oleh group, lalu read saja oleh other. 

Kita akan menghapus izin sebelumnya, tapi menambahkan izin read pada semua pihak, maka : 
$ chmod a = r haha
izin filenya menjadi -r--r--r--

Kita ingin menambahkan hak akses execute hanya pada user, maka :
$ chmod u+x haha
izin filenya menjadi -r-xr--r--

Kita ingin menambahkan hak akses write pada user dan group, maka :
$ chmod ug+w haha
izin filenya menjadi -rwxrw-r--

Kita ingin mengurangi hak akses execute pada user, maka :
$ chmod u-x haha
izin filenya menjadi -rw-rw-r--

Begitulah untuk metode simbolik, semoga mudah dipahami, selanjutnya mari ke Metode Numerik

2. Metode Numerik

Kalau pada metode simbolik yang digunakan untuk mengubah izin filenya adalah dengan simbol, maka pada numerik sesuai namanya yang digunakan adalah angka-angka. Angka-angka disini hanya mewakili perintah saja, nah yang diwakilkan adalah :

4 = read (r)
2 = write (w)
1 = execute (x)
0 = no permission (-)

Misalnya ada file namanya haha, di kolom pertamanya saat ls -al tertulis seperti ini : -rwxrw-r-- , whats that means ? ah pasti masih inget lah ya, si file haha ini bisa di read, write dan execute oleh user, read dan write oleh group, lalu read saja oleh other. 

Bagaimana cara merubahnya ?
Kita pake $ chmod [permission user][permission group][permission other] nama file

Dengan menggunakan contoh file haha, kita ingin membuat semuanya hanya bisa me read saja, maka :
$ chmod 444 haha
izin filenya menjadi -r--r--r--

angka 4 pada kolom pertama adalah read untuk user
angka 4 pada kolom kedua adalah read untuk group
angka 4 pada kolom ketiga adalah read untuk other

Kalo pengen bikin read dan write sekaligus ? Bisa bingit, tinggal dijumlahin ajaa :D , read = 4, write = 2 , maka perintah yang harus diketikkan adalah 6.

Misal : untuk user bikin read dan execute (4+1 = 5)
untuk group bikin read dan write (4 + 2 = 6)
untuk oterh bikin read saja (4)

Perintahnya : $ chmod 564 haha

Selesailah pembahasan dengan metode numerik, lebih mudah mana ? Kata saya sih lebih mudah numerik tapi harus teliti kalo pake numerik :D , dan ga maksa kalo kita harus selalu pake metode numerik, pake apapun boleh asal bertanggungjawab (?)

Sekarang kita akan membahas bagaimana mengubah kepemilikan file dan direktori .

Kan tadi saat mengetikkan ls -al , di kolom ketiga dan keempat ada yang muncul, nah yang muncul itu adalah kepemilikan file tersebut. Bisa looh kita ubah - ubah. Bagaimana caranya ? dengan perintah chown (change own).

Misal yang muncul seperti ini : 


Ingin diubah si pemiliknya menjadi gue , maka tinggal ketik 
$ chown gue contohfile

*ps : gue si user harus udah ada di sistem

Jika ingin mengubah semua kepemilikan yang ada di direktori , cukup tambahkan -R di perintahnya , misal :
$ chown gue contohfile -R


Sorting

Secara default, perintah ls akan menampilkan file/direktori secara alfabetik. Ada beberapa cara sorting lain :
- sort berdasarkan waktu : ls -lt (terbaru hingga terlama)
- sort berdasarkan ukuran : ls -lS (terbesar hingga terkecil)
Dengan tambahan -r maka akan membalikkan urutannya, misal
ls -lrt (mengurutkan berdasarkan waktu dari terlama hingga terbaru) , dll


Copying, Moving, Deleting File

cp = digunakan untuk menyalin satu/banyak file/direktori
mv = digunakan untuk memindahkan / memberi nama baru (kayak save as) pada satu/banyak file/direktori
rm = digunakan untuk menghapus file/direktori

Ada beberapa pilihan yang bisa digunakan untuk perintah cp dan mv, rm :
-f atau --force
sesuai namanya, 'maksa' , maka perintah akan memaksa menghapus file walaupun tidak ada

-i atau --interactive
sesuai namanya juga, interaktif, maka dia akan meminta persetujuan 2 pihak ga asal main paksa kayak -f, dia akan ngeluarin pertanyaan lagi sebelum benar2 melaksanakan perintah yang sudah diinputkan

-b atau --backup
kalo ini akan membuat backupan / cadangan file yang akan diganti/dipindahkan


Membuat / Menghapus direktori 
$ mkdir a b c d 
maka akan membuat direktori a b c d secara langsung

Jika ingin membuat direktori bersarang maka , 
$ mkdir -p d1/d2/d3

Untuk menghapusnya , jika direktori itu kosong maka bisa langsung dengan cara :
$ rmdir a

Jika didalamnya ada file, maka file itu harus dihapus dahulu satu per satu
$ rmdir -p d1/d2

atau jika ingin semua file yang ada didalam direktori itu dihapus, maka bisa menggunakan recursive, dengan :
$ rmdir -r d1 
maka otomatis d2 dan d3 serta file lainnya akan terhapus juga


Membuat file kosong

untuk membuat file kosong , kita bisa menggunakan perintah 
$ touch file

boleh menggunakan ekstensi file, boleh tidak,namun jika tidak biasanya dia akan dianggap sebagai text biasa.

Mencari file
untuk mencari file, kita bisa menggunakan perintah
$ find . -name "text" >> pencarian ini didasarkan berdasarkan nama file

Kompresi File
Kompresi file digunakan jika file yang akan dikirimkan dirasa terlalu besar, lebih baik kita kompresi dahulu agar menjadi lebih ringan :D
Di linux ada 2 program populer untuk kompresi yaitu gzip dan bzip2.


Dengan gzip :
$ gzip (nama file/directory)
misal : $ gzip haha

untuk dekompresi :
$ gzip -d haha.gz


Dengan bzip2 :
$ bzip2 haha
untuk dekompresi :
$ bunzip haha.bz2




Daftar Pustaka
http://justizzah.blogspot.co.id/2013/11/manajemen-file-dan-file-permission.html
 

Modul VIII

Modul VIII
MANAJEMEN PROSES



Terdapat beberapa definisi mengenai proses, antara lain :
  1. Merupakan konsep pokok dalam sistem operasi, sehingga masalah manajemen proses   adalah masalah utama dalam perancangan sistem operasi.
  2. Proses adalah program yang sedang dieksekusi.
  3. Proses adalah unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem operasi.
Sistem operasi bertanggung jawab terhadap aktifitas yang berhubungan dengan manajemen proses:
Pembuatan dan penghapusan proses Penundaan dan pelanjutan proses
Penyedia mekanisme untuk:
  1. Sinkronisasi antar proses
  2. Komunikasi antar proses
  3. Penanganan Deadlock
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses seperti:
  1. Membuat dan menghapus proses pengguna dan sistem proses. Sistem operasi bertugas mengalokasikan sumber daya yang dibutuhkan oleh sebuah proses dan kemudian mengambil sumber daya itu kembali setelah proses tersebut selesai agar dapat digunakan untuk proses lainnya.
  2. Menunda atau melanjutkan proses. Sistem operasi akan mengatur proses apa yang harus dijalankan terlebih dahulu berdasarkan berdasarkan prioritas dari proses-proses yang ada. Apa bila terjadi 2 atau lebih proses yang mengantri untuk dijalankan, sistem operasi akan mendahulukan proses yang memiliki prioritas paling besar.
  3. Menyediakan mekanisme untuk proses sinkronisasi. Sistem operasi akan mengatur jalannya beberapa proses yang dieksekusi bersamaan. Tujuannya adalah menghindarkan terjadinya inkonsistensi data karena pengaksesan data yang sama, juga untuk mengatur urutan jalannya proses agar setiap proses berjalan dengan lancar
  4. Menyediakan mekanisme untuk proses komunikasi. Sistem operasi menyediakan mekanisme agar beberapa proses dapat saling berinteraksi dan berkomunikasi (contohnya berbagi sumber daya antar proses) satu sama lain tanpa menyebabkan terganggunya proses lainnya.
  5. Menyediakan mekanisme untuk penanganan deadlock. Deadlock adalah suatu keadaan dimana sistem seperti terhenti karena setiap proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses lain. Saling menunggu inilah yang disebut deadlock(kebuntuan). Sistem operasi harus bisa mencegah, menghindari, dan mendeteksi adanya deadlock. Jika deadlock terjadi, sistem operasi juga harus dapat memulihkan kondisi sistemnya.
Beberapa hal yang berhubungan dengan manajemen konsep dalam sistem operasi :
  1. Komunikasi antar proses(Inter Process Communinication / IPC) :
  • Beberapa proses biasanya berkomunikasi dengan proses lain.
  • Contohnya pada shell pipe line : output dari proses pertama harus diberikan kepada proses ke dua dan seterusnya. Pada beberapa sistem operasi, proses-proses yang bekerja bersama sering sharing (berbagi) media penyimpanan, dimana suatu proses dapat membaca dan menulis pada shared storage (main memory atau files).
2. Mekanisme proses untuk komunikasi dan sinkronisasi aksi.  Sistem Pesan – komunikasi    proses satu dengan yang lain dapat dilakukan tanpa perlu  pembagian data.
3. Pembuatan dan Penghancuran Proses Pembuatan Proses (Create)
Penciptaan proses terjadi karena terdapat batch baru. SO dengan kendali batch job, setelah menciptakan proses baru, kemudian melanjutkan membaca job selanjutnya.
Penciptaan proses melibatkan banyak aktivitas, yaitu :
  1. Menamai (memberi identitas) proses.
  2. Menyisipkan proses pada senarai proses atau tabel proses.
  3. Menentukan prioritas awal proses.
  4. Menciptakan PCB.
  5. Mengalokasikan sumber daya awal bagi proses.
Penghancuran Proses (Destroyed)
Penghancuran proses terjadi karena :
  1. Selesainya proses secara normal.
  2. Proses mengeksekusi panggilan layanan So untuk menandakan bahwa proses telah berjalan secara lengkap.
  3. Batas waktu telah terlewati.
  4. Proses telah berjalan melebihi batas waktu total yang dispesifikasikan. Terdapat banyak kemungkinan untuk tipe waktu yang diukur, termasuk waktu total yang dijalani (“walk clock time”) jumlah waktu yang dipakai untuk eksekusi, dan jumlah waktu sejak pemakai terakhir kali memberi masukan (pada proses interaktif) .
  5. Memori tidak tersedia.
  6. Proses memerlukan memori lebih banyak daripada yang dapat disediakan oleh sistem.
  7. Pelanggaran terhadap batas memori.
  8. Proses memcoba mengakses lokasi memori yang tidak diijinkan untuk diakses.
  9. Terjadi kesalahan karena pelanggaran proteksi.Dll
  1. Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua pendekatan, yaitu :
  1. Pada beberapa sistem, proses-proses turunan dihancurkan saat proses induk dihancurkan secara otomatis.
  2. Beberapa sistem lain menganggap proses anak independen terhadap proses induk Proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.
Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu :
  1. Sumber daya-sumber daya yang dipakai dikembalikan.
  2. Proses dihancurkan dari senarai atau tabel sistem.
  3. PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).
4. Keadaan Proses
Keadaan proses terdiri dari :
  1. Running, yaitu suatu kondisi pemroses sedang mengeksekusi instruksi. Benar-benar menggunakan CPU pada saat itu (sedang mengeksekusi instruksi proses itu).
  2. Ready, yaitu suatu kondisi proses siap dieksekusi, akan tetapi pemroses belum siap atau sibuk.
  3. Blocked, yaitu suatu proses menunggu kejadian untuk melengkapi tugasnya. Bentuk kegiatan menunggu proses yaitu : selesainya kerja dari perangkat I/Otersedianya memori yang cukup.
5. Penjadwalan Proses
Kriteria untuk mengukur dan optimasi kinerja penjadwalan
  1. Adil (fairness) Adalah proses-proses yang diperlakukan sama, yaitu mendapat jatah waktu pemroses yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga mengalami kekurangan waktu.
  2. Efisiensi (eficiency)
  3. Waktu tanggap (response time) , Waktu tanggap berbeda untuk :
  1. Sistem interaktif Didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari . perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar. Waktu tanggap ini disebut terminal response time.
  2. Sistem waktu nyata Didefinisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event response time.
4Turn around time Adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem.
5 .  Throughput Adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/interval waktu
Algoritma Penjadwalan
Berikut jenis-jenis algoritma berdasarkan penjadwalan :
  1. Nonpre-emptive, menggunakan konsep :
    1. FIFO (First In First Out) atau FCFS (First Come First Serve)
    2. SJF (Shortest Job First)
    3. HRN (Highest Ratio Next)
    4. MFQ (Multiple Feedback Queues)
    5. Pre-emptive, menggunakan konsep :
      1. RR (Round Robin)
      2. SRF (Shortest Remaining First)
      3. PS (Priority Schedulling)
      4. GS (Guaranteed Schedulling)
Algoritma Pre-emptive
  1. A. Round Robin (RR)
Merupakan :
  • Penjadwalan yang paling tua, sederhana, adil,banyak digunakan algoritmanya dan mudah diimplementasikan.
  • Penjadwalan ini bukan dipreempt oleh proses lain tetapi oleh penjadwal berdasarkan lama waktu berjalannya proses (preempt by time).
  • Penjadwalan tanpa prioritas.
  • Berasumsi bahwa semua proses memiliki kepentingan yang sama, sehingga tidak   ada prioritas tertentu.
Semua proses dianggap penting sehingga diberi sejumlah waktu oleh pemroses yang disebut kwanta (quantum) atau time slice dimana proses  itu berjalan. Jika proses masih running sampai akhir quantum, maka CPU akan mempreempt proses itu dan memberikannya ke proses lain.
Algoritma yang digunakan :
  1. Jika kwanta habis dan proses belum selesai, maka proses menjadi runnable dan pemroses dialihkan ke proses lain.
  2. Jika kwanta belum habis dan proses menunggu suatu kejadian (selesainya operasi I/O), maka proses menjadi blocked dan pemroses dialihkan ke proses lain.
  3. Jika kwanta belum habis tetapi proses telah selesai, maka proses diakhiri dan pemroses dialihkan ke proses lain.
Diimplementasikan dengan :
  1. Mengelola senarai proses ready (runnable) sesuai urutan kedatangan.
  2. proses yang berada di ujung depan antrian menjadi running.
  3. Bila kwanta belum habis dan proses selesai, maka ambil proses di ujung depan antrian proses ready.
  4. Jika kwanta habis dan proses belum selesai, maka tempatkan proses running ke ekor antrian proses ready dan ambil proses di ujung depan antrian proses ready.
Masalah yang timbul adalah menentukan besar kwanta, yaitu :
  • Kwanta terlalu besar menyebabkan waktu tanggap besar dan turn arround time rendah.
  • Kwanta terlalu kecil menyebabkan peralihan proses terlalu banyak sehingga  menurunkan efisiensi proses.
Penjadwalan ini :
  • Baik untuk sistem interactive-time sharing dimana kebanyakan waktu dipergunakan menunggu kejadian eksternal.
Contoh : text editor, kebanyakan waktu program adalah untuk menunggu keyboard, sehingga dapat dijalankan proses-proses lain.
  • Tidak cocok untuk sistem waktu nyata apalagi hard-real-time applications.
  1. B. Priority Schedulling (PS)
Adalah tiap proses diberi prioritas dan proses yang berprioritas tertinggi mendapat jatah waktu lebih dulu (running).  Berasumsi bahwa masing-masing proses memiliki prioritas tertentu, sehingga akan dilaksanakan berdasar prioritas yang dimilikinya. Ilustrasi yang dapat memperjelas prioritas tersebut adalah dalam komputer militer, dimana proses dari jendral berprioritas 100, proses dari kolonel 90, mayor berprioritas 80, kapten berprioritas 70, letnan berprioritas 60 dan seterusnya. Dalam UNIX perintah untuk mengubah prioritas menggunakan perintah nice.
Pemberian prioritas diberikan secara :
  1. Statis (static priorities)
Berarti prioritas tidak berubah.
Keunggulan :
  • Mudah diimplementasikan.
  • Mempunyai overhead relatif kecil.
Kelemahan :
  • Tidak tanggap terhadap perubahan lingkungan yang mungkin menghendaki  penyesuaian prioritas.
  1. Dinamis (dynamic priorities)
Merupakan mekanisme untuk menanggapi perubahan lingkungan sistem   beroperasi. Prioritas awal yang diberikan ke proses mungkin hanya berumur pendek setelah disesuaikan ke nilai yang lebih tepat sesuai lingkungan.
Kelemahan :
  • Implementasi mekanisme prioritas dinamis lebih kompleks dan mempunyai  overhead lebih besar. Overhead in diimbangi dengan peningkatan daya     tanggap sistem.
Dalam algoritma berprioritas dinamis dituntun oleh keputusan untuk memenuhi kebijaksanaan tertentu yang menjadi tujuan. Layanan yang bagus adalah menset prioritas dengan nilai 1/f, dimana f adalah ration kwanta terakhir yang digunakan proses.
Contoh :
  • Proses yang menggunakan 2 msec kwanta 100 ms, maka prioritasnya50.
  • Proses yang berjalan selama 50 ms sebelum blocked berprioritas 2.
  • Proses yang menggunakan seluruh kwanta berprioritas 1.
  1. C. Multiple Feedback Queues (MFQ)
Merupakan :
  • Penjadwalan berprioritas dinamis.
Penjadwalan ini untuk mencegah (mengurangi) banyaknya swapping dengan proses-proses yang sangat banyak menggunakan pemroses (karena menyelesaikan tugasnya memakan waktu lama) diberi jatah waktu (jumlah kwanta) lebih banyak dalam satu waktu. Penjadwalan ini juga menghendaki kelas-kelas prioritas bagi proses-proses yang ada. Kelas tertinggi berjalan selama satu kwanta, kelas berikutnya berjalan selama dua kwanta, kelas berikutnya berjalan empat kwanta, dan seterusnya.
Ketentuan yang berlaku adalah sebagai berikut  :
  • Jalankan proses pada kelas tertinggi.
  • Jika proses menggunakan seluruh kwanta yang dialokasikan, maka diturunkan kelas prioritasnya.
  • Proses yang masuk untuk pertama kali ke sistem langsung diberi kelas tertinggi.
Mekanisme ini mencegah proses yang perlu berjalan lama swapping berkali-kali  dan mencegah proses-proses interaktif yang singkat harus menunggu lama.
  1. D. Shortest Remaining First (SRF)
Merupakan :
  • Penjadwalan berprioritas dinamis.
  • Adalah preemptive untuk timesharing.
  • Melengkapi SJF.
Pada SRF, proses dengan sisa waktu jalan diestimasi terendah dijalankan, termasuk proses-proses yang baru tiba.
  • Pada SJF, begitu proses dieksekusi, proses dijalankan sampai selesai.
  • Pada SRF, proses yang sedang berjalan (running) dapat diambil alih proses baru dengan sisa waktu jalan yang diestimasi lebih rendah.
Kelemahan :
  • Mempunyai overhead lebih besar dibanding SJF. SRF perlu penyimpanan waktu  layanan yang telah dihabiskan job dan kadang-kadang harus menangani peralihan.
  • Tibanya proses-proses kecil akan segera dijalankan.
  • Job-job lebih lama berarti dengan lama dan variasi waktu tunggu lebih lama   dibanding pada SJF.
SRF perlu menyimpan waktu layanan yang telah dihabiskan , menambah overhead.  Secara teoritis, SRF memberi waktu tunggu minimum tetapi karena overhead peralihan, maka pada situasi tertentu SFJ bisa memberi kinerja lebih baik dibanding SRF.
  1. E. Guaranteed Scheduloing (GS)
Penjadwalan ini memberikan janji yang realistis (memberi daya pemroses yang sama) untuk membuat dan menyesuaikan performance adalah jika ada N pemakai, sehingga setiap proses (pemakai) akan mendapatkan 1/N dari daya pemroses CPU. Untuk mewujudkannya, sistem harus selalu menyimpan informasi tentang jumlah waktu CPU untuk semua proses sejak login dan juga berapa lama pemakai sedang login. Kemudian jumlah waktu CPU, yaitu waktu mulai login dibagi dengan n, sehingga lebih mudah menghitung rasio waktu CPU. Karena jumlah waktu pemroses tiap pemakai dapat diketahui, maka dapat dihitung rasio antara waktu pemroses yang sesungguhnya harus diperoleh, yaitu 1/N waktu pemroses seluruhnya dan waktu pemroses yang telah diperuntukkan proses itu.
Rasio 0,5 berarti sebuah proses hanya punya 0,5 dari apa yang waktu CPU miliki dan rasio 2,0  berarti sebuah proses hanya punya 2,0 dari apa yang waktu CPU miliki. Algoritma akan menjalankan proses dengan rasio paling rendah hingga naik ketingkat lebih tinggi diatas pesaing terdekatnya. Ide sederhana ini dapat diimplementasikan ke sistem real-time  dan memiliki penjadwalan berprioritas dinamis.
Algoritma Non Pre-emptive
  1. A. First In First Out (FIFO)
Merupakan :
  • Penjadwalan tidak berprioritas.
FIFO adalah penjadwalan paling sederhana, yaitu :
  • Proses-proses diberi jatah waktu pemroses berdasarkan waktu kedatangan.
  • Pada saat proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai.
Penjadwalan ini :
  • Baik untuk sistem batch yang sangat jarang berinteraksi dengan pemakai.
Contoh : aplikasi analisis numerik, maupun pembuatan tabel.
  • Sangat tidak baik (tidak berguna) untuk sistem interaktif, karena tidak memberi waktu tanggap yang baik.
  • Tidak dapat digunakan untuk sistem waktu nyata (real-time applications).
  1. B. Shortest Job First (SJF)
Penjadwalan ini mengasumsikan waktu jalan proses sampai selesai diketahui sebelumnya. Mekanismenya adalah menjadwalkan proses dengan waktu jalan terpendek lebih dulu sampai selesai, sehingga memberikan efisiensi yang tinggi dan turn around time rendah dan penjadwalannya tak berprioritas.
Masalah yang muncul adalah :
  • Tidak mengetahui ukuran job saat job masuk. Untuk mengetahui ukuran job adalah dengan membuat estimasi berdasarkan  kelakukan sebelumnya.
  • Proses yang tidak datang bersamaan, sehingga penetapannya harus dinamis.
Penjadwalan ini jarang digunakan, karena merupakan kajian teoritis untuk  pembandingan turn around time.
  1. C. Highest Ratio Next (HRN)
Merupakan :
  • Penjadwalan berprioritas dinamis.
  • Penjadwalan untuk mengoreksi kelemahan SJF.
  • Adalah strategi penjadwalan dengan prioritas proses tidak hanya merupakan fungsi waktu layanan tetapi juga jumlah waktu tunggu proses. Begitu proses mendapat jatah pemroses, proses berjalan sampai selesai.
Prioritas dinamis HRN dihitung berdasarkan rumus :
Prioritas = (waktu tunggu + waktu layanan ) / waktu layanan
Karena waktu layanan muncul sebagai pembagi, maka job lebih pendek berprioritas lebih baik, karena waktu tunggu sebagai pembilang maka proses yang telah menunggu lebih lama juga mempunyai kesempatan lebih bagus.
Disebut HRN, karena waktu tunggu ditambah waktu layanan adalah waktu tanggap, yang berarti waktu tanggap tertinggi yang harus dilayani.
Interupsi
Kerja prosesor pada suatu proses terhenti oleh pensaklaran konteks (perubahan kegiatan prosesor dari proses ke proses yang terjadi diantara proses sistem / proses aplikasi).
2 cara interupsi pada processor :
  1. 1. Interupsi langsung
Berasal dari luar prosesor (peripheral / alat mengirim sinyal kepada prosesor untuk meminta pelayanan)
  1. 2. Interupsi Tanya / Polling, Berasal dari prosesor (prosesor secara bergiliran mengecek apakah ada peripheral yang memerlukan pelayanan atau tidak)
  • Interupsi dapat di-enable dan disable tergantung pada levelnya.
  • Pembangkit interupsi dapat berasal dari :
    • Program, di dalam program telah dirancang pada bagian tertentu akan terjadi pensaklaran konteks, yang menimbulkan interupsi, contohnya pada saat penggunaan alat / prosesor secara bergantian.
    • Prosesor, prosesor sendiri dapat membangkitkan interupsi, yang biasa mengolah logika dan aritmatika. Jika melampoi ukuran tampung register di dalam prosesor, maka terjadi kekeliruan yang akan menginterupsi kerjanya sendiri dan menyerahkan kendali prosesor pada sistem operasi. Misalnya pembagian dengan bilangan nol.
    • Satuan kendali, tugas untuk melaksanakan interupsi terletak pada satuan kendali, sehingga satuan kendali dapat membangkitkan interupsi. Misalnya kekeliruan instruksi
    • Kunci waktu / clock, menggunakan interupsi berkala. Misalnya pada program looping yang tak terhingga, diinterupsi pada setiap selang waktu 60 detik.
    • Peripheral I/O, I/O jika akan bekerja memberitahukan pada prosesor dengan interupsi prosesor dan juga ketika pekerjaan selesai atau pada saat terjadi kekeliruan paritas.
    • Memori, karena terjadi kekeliruan, misalnya ketika prosesor ingin mencapai alamat memori yang terletak di luar bentangan alamat memori yang ada.
Sumber daya lain, misal dibangkitkan oleh operator sistem komputer yang mengerti cara interupsi.
  1. î  Interupsi vector : Berisi alamat prosedur service interupsi
  2. î  Penerimaan interupsi dan interupsi berganda : ada kalanya interupsi ditolak oleh prosesor atau interupsi yang datang tidak hanya satu sehingga diperlukan prioritas.
Tindak lanjut interupsi :
  1. 1. Penata interupsi / interrupt handler
Jika terjadi interupsi, maka kendali prosesor diserahkan ke bagian penata interupsi pada sistem operasi, maka penata interupsi inilah yang melaksanakan interupsi.
  1. Instruksi yang sedang diolah oleh prosesor dibiarkan sampai selesai program.
  2. Penata interupsi merekam semua informasi proses ke dalam blok kendali proses.
  3. Penata interupsi mengidentifikasi jenis dan asal interupsi.
  4. Penata interupsi mengambil tindakan sesuai dengan yang dimaksud interupsi.
  5. Penata interupsi mempersiapkan segala sesuatu untuk pelanjutan proses yang diinterupsi.
  6. Penata keliru / error handler
yaitu interupsi karena kekeliruan pada pengolahan proses dan bagian pada sistem operasi yang menata kegiatan akibat kekeliruan adalah penata keliru.
  1. Pemulihan, komputer telah dilengkapi dengan sandi penemuan dan pemulihan kekeliruan, contohnya telah dilengkapi dengan sandi Hamming sehingga ketika menemukan kekeliruan sandi akan mengoreksi kekeliruan itu, proses pulih ke bentuk semula sebelum terjadi kekeliruan.
  2. Pengulangan, mengatur agar proses yang membangkitkan interupsi keliru dikerjakan ulang, jika kekeliruan dapat diatasi maka proses akan berlangsung seperti biasa, jika tidak teratasi maka interupsi akan menempuh tindak lanjut keluar dari proses.
  3. Keluar dari proses, penata keliru menyiapkan tampilan berita keliru dari monitor, setelah itu prosesor keluar dari proses, ini adalah tindakan terakhir jika tidak dapat menolong proses yang keliru tersebut.
Langkah-langkah yang dilakukan sistem operasi pada saat terjadi interupsi :
  1. hardware memasukkan program counter, dl.l.
memasukkan ke dalam stack pencacah program
  1. Hardware memuatkan (load) program counter baru dari vector interrupsi
  2. Prosedur bahasa rakitan menyimpan isi register
  3. Prosedur bahasa rakitan men-set stack yang baru
  4. Prosedur C menandai proses servis siap (ready)
  5. Scheduler / penjadwalan menentukan proses mana yang akan jalan berikutnya
  6. Prosedur C kembali ke modus bahasa rakitan
  7. Prosedur bahasa rakitan memulai proses yang sedang dilaksanakan.

    Daftar Pustaka
    https://khairuddinuad.wordpress.com/2011/03/19/konsep-manajemen-proses-pada-sistem-operasi/

Modul X

Modul X MANAJEMEN APLIKASI Pada pembahasan kali ini anda akan mempelajari dan dapat mengerti konsep RPM, TAR dan GZIP. menggunak...