Algoritma penggantian page acak
Algoritma page ini memungkinkan proses yang baru berjalan dapat digantikan oleh proses yang lain, Sehingga sangat merugikan dan sangat buruk. percobaan yang page rate fault sangat tinggi pada saat penggunaan teknik seperti ini.
Algoritma penggantian page optimal
Algoritma yang memilih page baru terpakai untuk digantikan oleh string acuan terbaru. Algoritma ini belum sempurna karena sulit untuk dapat dimengerti dari system, tidak bisa mengetahui page berkitnya. Serta dapat disimulasiakan untuk suatu program.
Algoritma penggantian page NRU
Algoritma ini dapat diasumsikan pada kelas-kelas yang bernomor lebih rendah dan akan digunakan dalam jangka waktu yang lama. Algoritma ini sangatlah efisien dan mudah untuk dipahami.
mekanisme pada algoritma ini memiliki 2 bit untuk mencatat status page
seperti bit M dan bit R :
Bit M page yang telah dimodifikasi
bit M : 0 belum di modif
bit M : 1 telah di modif
Bit R page yang sedang dipacu
bit R : 0 tidk sedang dipacu
bit R : 1 sedang dipacu
Dan untuk algoritma ini terdapat beberapa kelas yang dilihat dari 2 bit diatas
kelas 0 : Tidak sedang di pacu / belum di modif (R=0 , M=0)
kelas 1 : Tidak sedang dipacu / telah di modif (R=0, M=1)
kelas 2 : sedang di pacu / belum di modif (R=1, M=0)
kelas 3 : sedang dipacu/ telah di modif (R=1, M=1)
Algoritma penggantian page FIFO
Algoritma fifo ini sangat sederhana karena prinsip sama seperti prinsip antrian yang tak berprioritas . programnya menggunakan algoritma stack yang berarti page yang masuk terlebih dahulu akan keluar duluan. dimana jika tidak ada frame kosong saat terjadi page fault maka yang akan dipilih adalh frame dengan stack yang paling bawah.
Algoritma penggantian page LRU
Pada algoritma ini pada saat terjadi page fault untuk memindahkan page yag tidak digunakan akan terasa paling lama .
dan dengan menggunakan linked list untuk mendata halaman yang mana yang paling lama tidak terpakai. Linked list yang membuat cost membesar, karena harus meng-update linked list setiap saat ada halaman yang di akses.
Jumat, 11 Januari 2013
Kamis, 10 Januari 2013
PRAKTIKUM 7 PROSES DAN MANAJEMEN PROSES
Soal
1.
a. Sebutkan nama-nama proses yang bukan root
jawab: anie 2787 0.0 0.1 5400 1756 pts/0 Ss 14:52 0:00 bash
jawab: anie 2787 0.0 0.1 5400 1756 pts/0 Ss 14:52 0:00 bash
anie
25924 16.0 0.1 4924 1036 pts/0 R+ 16:10 0:00 ps -au
b.
Tulis PID dan COMMAND dari proses yang paling banyak menggunakan CPU
time
jawab : PID = 2005 time= 3:07 command= /usr/bin/Xorg :
jawab : PID = 2005 time= 3:07 command= /usr/bin/Xorg :
c.
Sebutkan buyut proses dan PID dari proses tersebut
jawab : PID = 2005 %3.5
jawab : PID = 2005 %3.5
d.
Sebutkan beberapa proses daemon
jawab : tidak ada proses deamon
jawab : tidak ada proses deamon
e.
Pada prompt login lakukan hal-hal sebagai berikut :
$
csh = untuk search manual
$
who = Menampilkan prosesyang sedang aktif
$
bash = tampilan shell
$
ls = Menampilkan dorektory
$
sh = sh-4.1$
$
ps = Menampilkan terminal yang sedang aktif
f.
Sebutkan PID yang paling besar dan kemudian buat urut-urutan proses
sampai ke
PPID
= 1
jawab : PID TTY TIME CMD
jawab : PID TTY TIME CMD
26083
pts/0 00:00:00 ps
26081
pts/0 00:00:00 sh
26058
pts/0 00:00:00 csh
2787
pts/0 00:00:00 bash
2.
Cobalah format tampilan ps dengan opsi berikut dan perhatikan hasil
tampilannya :
• -f
daftar penuh = UID PID PPID C STIME TTY TIME CMD
anie
2787 2785 0 14:52 pts/0 00:00:00 bash
anie
26058 2787 0 16:31 pts/0 00:00:00 -sh
anie
26120 26058 0 16:39 pts/0 00:00:00 ps -f
• -j format job = PID PGID SID TTY TIME CMD
2787
2787 2787 pts/0 00:00:00 bash
26058
26058 2787 pts/0 00:00:00 csh
26127
26127 2787 pts/0 00:00:00 ps
• j
format job control = PPID PID PGID SID TTY TPGID STAT UID
TIME COMMAND
2785
2787 2787 2787 pts/0 26131 Ss 500 0:00 bash
2787 26058 26058 2787 pts/0 26131 S 500 0:00 -sh
26058
26131 26131 2787 pts/0 26131 R+ 500 0:00 ps j
• l
daftar memanjang = F UID PID PPID PRI NI VSZ RSS WCHAN STAT
TTY TIMECMD
0
500 2787 2785 20 0 5400 1756 - Ss pts/0
0:00 bash
0
500 26058 2787 20 0 5796 1972 - S pts/0
0:00 -sh
0
500 26169 26058 20 0 4868 896 - R+ pts/0
0:00 ps l
• s
format sinyal = UID PID PENDING BLOCKED IGNORED CAUGHT
STAT TTY TIME COMMAND
500
2787 00000000 00010000 00384004 4b813efb Ss pts/0 0:00
bash
500
26058 00000000 00000000 00384004 09812003 S pts/0 0:00
-sh
500
26181 00000000 00000000 00000000 73d3fad9 R+ pts/0 0:00 ps
s
• v
format virtual memory = PID TTY STAT TIME MAJFL TRS DRS
RSS %MEM COMMAND
2787
pts/0 Ss 0:00 0 828 4571 1756 0.1 bash
26058
pts/0 S 0:00 0 355 5440 1972 0.1 -sh
26184
pts/0 R+ 0:00 0 77 4790 892 0.0 ps v
• X
format register i386 = PID STACKP ESP EIP TMOUT ALARM
STAT TTY TIME COMMAND
2787
bf896b00 bf896718 0054e424 - - Ss pts/0 0:00 bash
26058
bfa9a6e0 bfa99ddc 00f4a424 - - S pts/0 0:00 -sh
26192
bfa86a20 bfa862f8 0090b424 - - R+ pts/0 0:00 ps X
3.
Lakukan urutan pekerjaan berikut :
a.
Gunakan perintah find ke seluruh direktory pada sistem, belokkan
output sehingga
daftar
direktori dialihkan ke file directories.txt dan daftar pesan error
dialihkan
ke
file errors.txt
b.
Gunakan perintah sleep 5. Apa yang terjadi dengan perintah ini ?
jawab : tidak terjadi apa-apa
jawab : tidak terjadi apa-apa
c.
Jalankan perintah pada background menggunakan &
jawab : [2] 26272
jawab : [2] 26272
[1]
Done sleep 5
background:
Command not found.
d.
Jalankan sleep 15 pada foreground , hentikan sementara dengan Ctrl-Z
dan kemudian
letakkan
pada background dengan bg. Ketikkan jobs. Ketikkan ps. Kembalikan job
ke
foreground
dengan perintah fg.
jawab : [anie@localhost ~]$ sleep 15
jawab : [anie@localhost ~]$ sleep 15
^Z
Suspended
[2]
Exit 1 background
[anie@localhost
~]$ bg
[3]
sleep 15 &
[anie@localhost
~]$ jobs
[3]
Done sleep 15
[anie@localhost
~]$ ps
PID
TTY TIME CMD
2787
pts/0 00:00:00 bash
26058
pts/0 00:00:00 csh
26277
pts/0 00:00:00 ps
[anie@localhost
~]$ fg
fg:
No current job.
e.
Jalankan sleep 15 pada background menggunakan & dan kemudian
gunakan perintah
kill
untuk menghentikan proses diikuti job number.
jawab : [anie@localhost ~]$ sleep 15 &
jawab : [anie@localhost ~]$ sleep 15 &
[1]
26294
[anie@localhost
~]$ kill 26294
[1]+
Terakhiri sleep 15
f.
Jalankan sleep 15 pada background menggunakan & dan kemudian
gunakan kill
untuk
menghentikan sementara proses. Gunakan bg untuk melanjutkan
menjalankan
proses.
jawab : [anie@localhost ~]$ sleep 15 &
jawab : [anie@localhost ~]$ sleep 15 &
[1]
26301
[anie@localhost
~]$ kill
kill:
penggunaan: kill [-s sigspec | -n signum | -sigspec] pid | jobspec
... or kill -l [sigspec]
[anie@localhost
~]$ bg
bash:
bg: pekerjaan 1 sudah berjalan di belakang (background)
g.
Jalankan sleep 60 pada background 5 kali dan terminasi semua pada
dengan
menggunakan
perintah killall.
jawab :
jawab :
h.
Gunakan perintah ps, w dan top untuk menunjukkan semua proses yang
sedang
dieksekusi.
jawab : [anie@localhost ~]$ ps
jawab : [anie@localhost ~]$ ps
PID
TTY TIME CMD
2787
pts/0 00:00:00 bash
26325
pts/0 00:00:00 ps
[anie@localhost
~]$ w
17:28:59
up 2:47, 2 users, load average: 0,42, 0,27, 0,15
USER
TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
anie
tty1 :0 14:42 2:47m 6:19 0.34s pam:
gdm-passwo
anie
pts/0 :0.0 14:52 0.00s 0.34s 0.02s w
[anie@localhost
~]$ top
top - 17:31:01 up 2:49, 2 users, load average: 0.29, 0.25, 0.16
top - 17:31:01 up 2:49, 2 users, load average: 0.29, 0.25, 0.16
Tasks:
222 total, 1 running, 221 sleeping, 0 stopped, 0 zombie
Cpu(s):
3.7%us, 1.7%sy, 0.0%ni, 94.5%id, 0.0%wa, 0.1%hi, 0.0%si,
0.0%st
Mem:
1018696k total, 990232k used, 28464k free, 48616k buffers
Swap:
1023992k total, 8k used, 1023984k free, 496060k cached
i.
Gunakan perintah ps –aeH untuk menampilkan hierarki proses.
Carilah init proses.
Apakah
Anda bisa identifikasi sistem daemon yang penting ? Dapatkan Anda
identifikasi
shell dan subproses ?
jawab : PID TTY TIME CMD
jawab : PID TTY TIME CMD
2
? 00:00:00 kthreadd
3
? 00:00:00 migration/0
4
? 00:00:56 ksoftirqd/0
5
? 00:00:00 migration/0
6
? 00:00:00 watchdog/0
7
? 00:00:00 migration/1
8
? 00:00:00 migration/1
9
? 00:00:42 ksoftirqd/1
10
? 00:00:00 watchdog/1
11
? 00:00:00 migration/2
j.
Kombinasikan ps –fae dan grep, apa yang Anda lihat ?
jawab : [anie@localhost ~]$ ps -fae|grep deamon
jawab : [anie@localhost ~]$ ps -fae|grep deamon
anie
26377 2787 0 17:37 pts/0 00:00:00 grep deamon
k.
Jalankan proses sleep 300 pada background. Log off komputer dan log
in kembali.
Lihat
daftar semua proses yang berjalan. Apa yang terjadi pada proses sleep
?
jawab : [anie@localhost ~]$ sleep 300
jawab : [anie@localhost ~]$ sleep 300
PRAKTIKUM 6 PROSES INPUT OUTPU
Soal :
1.
Apa yang dimaksud redirection ?
2.
Apa yang dimaksud pipeline ?
3.
Apa yang dimaksud perintah di bawah ini :
echo,
cat, more, sort, grep, wc, cut, uniq
jawab
:
- redirection yaitu pembelokan input output dan error yang dilakukan untuk mengalihkan file descriptor dari 0,1,2
- Pipeline yaitu teknik untuk meningkatkan kerja processor dengan melakukan sejumlah pekerjaan secara bersamaan dan continue dalam suatu waktu. Atau sebagai alat komunikasi antar proses.
- Echo = untuk menampilkan input dari keyboard atau pesan
Cat = untuk melihat isi fileMore = untuk melihat sebagian dari isi suatu file
Sort = untuk mengurutkan masukan berdasarkan ascii dari suatu karakter
Grep = untuk menyaring masukan dan menampilkan baris-baris yang hanya mengandung pola yang ditentukan
Wc =untuk untuk menghitung jumlah baris, kata dan karakter dari baris-baris masukan yang diberikan kepadanyaCut =untuk mengambil kolom tertentu dari baris-baris masukannya, yang ditentukan pada option –cUniq =untuk menghilangkan baris-baris berurutan yang mengalami duplikasi,biasanya digabungkan dalam pipeline dengan sort.
Latihan
1.
Lihat daftar secara lengkap pada direktori aktif, belokkan tampilan
standard output ke
file
baru.
2.
Lihat daftar secara lengkap pada direktori /etc/passwd,
belokkan tampilan standard
output
ke file baru tanpa menghapus file baru sebelumnya.
3.
Urutkan file baru
dengan cara
membelokkan standard inp ut.
4.
Urutkan file baru
dengan cara
membelokkan standard input dan standard output ke file
baru.urut.
5.
Buatlah direktori latihan2 sebanyak 2 kali dan belokkan standard
error ke file
rmdirerror.txt.
6.
Urutkan kalimat berikut :
Jakarta
Bandung
Surabaya
Padang
Palembang
Lampung
Dengan
menggunakan notasi here document (<@@@ …@@@)
7.
Hitung jumlah baris, kata dan karakter dari file baru.urut
dengan menggunakan filter
dan
tambahkan
data tersebut ke file baru.
8.
Gunakan perintah di bawah ini dan perhatikan hasilnya.
$
cat > hello.txt
dog
cat
cat
duck
dog
chicken
chicken
duck
chicken
cat
dog
duck
[Ctrl-d]
$
cat hello.txt | sort |
uniq
$
cat hello.txt | grep
“dog” | grep –v “cat”
Selasa, 01 Januari 2013
ALGORITMA SAFTY dan OSTRICH
Algoritma SAFTY yaitu algortma yang dilakukan untuk menentukan apakah sistem berada pada state selamat atau tidak
contohnya seperti :
contohnya seperti :
1. work and finish vektor
dengan panjang m dan n , jika work : available dan finish[i] : false
untuk i = 1,2,3......
2. cari i dengan finish[i] = false , need ≤ work
jika i tidak terdapat
3. work + work = allocation
finish[i]= true , kembali ke 2
finish[i]= true , kembali ke 2
4. finish[i] = true pada semua i maka sistem selamat .
ALgoritma OSTRICH yaitu strategi pengabaian masalah yang mungkin terjadi atas dasar masalah yang jarang terjadi . yang digunakan untuk menangani deadlock pada pemograman concurrent.
SELESAI...... !!!!!
SELESAI...... !!!!!
ALGORITMA BANKER
Sudah lama nih gak posting...
sekaramg waktunya saya posting lagii...
Pada Postingan kali ini saya akan membahas tentang algoritma banker .... Baru denger ch ??
Ayo kita mulai aja dehh !!
sekaramg waktunya saya posting lagii...
Pada Postingan kali ini saya akan membahas tentang algoritma banker .... Baru denger ch ??
Ayo kita mulai aja dehh !!
ALGORITMA BANKER ini sering digunakan oleh bank untuk dapat memastikan tidak akan mengalami kekurangan pada resource. Algoritma banker merupakan algoritma resaource allocation dan deadlock advoidance yang menguji untuk tingkat keamanan yang memugkinkan terjadinya deadlock dengan cara melakukan simulasi terhadap jumlah max resource dan mengecek safe state terhadap kondisi deadlock pada saat posisi pending, sebelum pengalokasian resource. algoritma ini dijalankan oleh sistem operasi pada saat proses melakukan request resource.
Ada 3 hal supaya algoritma banker dapat bekerja :
1. jumlah resource dari setiap proses yang akan di request
2. jumlah resource dari tiap proses yang sedang digunakan
3. jumlah sisa resource yang ada di sistem
proses yang diberikan oleh resource :
1. request* ≤ max**, (max = jumlah resource yang sebelumnya sudah diklaim) jika tidak set error, karena request melebihi jumlah klaim sebelumnya.
2. request ≤ available***, (availebel = jumlh sisa resource yg tidak terpakai) jika tidak, proses harus menunggu hingga resource yang diminta ada
Langganan:
Postingan (Atom)