Jenis Program:
1. Utilitas
2. Aplikasi untuk mencapai tujuan komputasi (pengolahan)
tertentu.
Tugas Utama Sistem Operasi
(Lanjut…..)
B. Sistem operasi sebagai penyedia layanan
(Sebagai Extended/Virtual Machine)
2. File
Sekumpulan informasi yang saling berkaitan dan
didefinisikan oleh pembuatnya.
Konsep Utama Sistem Operasi (Lanjut….)
3. System Call
Sekumpulan instruksi tambahan yang disediakan
sistem operasi sebagai penghubung dengan program
pemakai.
4. System Program
Kumpulandari sistem yang banyak untuk menyelesaikan
masalah-masalah umum dan menyediakan lingkungan
yang mempermudah pengembangan dan pelaksanaan
program.
Sasaran Sistem Operasi
Menurut Stalling: Sistem operasi mempunyai tiga sasaran,
antara lain:
1. Kenyamanan
Sistem operasi harus membuat penggunaan komputer
menjadi lebih nyaman.
2. Efisiensi
Sistem Operasi menjadikan penggunaan sumber daya
sistem komputer efisiensi
3. Mampu Berevolusi
Sistem Operasi harus dibangun sehingga
memungkinkan dan memudahkan pengembangan,
pengujian, dan pengajuan fungsi-fungsi yang baru tanpa
mengganggu layanan yang dijalankan sistem komputer.
Sejarah Perkembangan Sistem
Operasi
1. Generasi I (1945-1955): Vacum Tubes
Awal pengembangan sistem komputasi
elektronik, menggantikan ide-ide mesin
komputasi mekanis.
2. Generasi II (1955-1965): Transistor dan Sistem
Batch
Batch system adalah job dikumpulkan dalam
satu rangkaian kemudian dieksekusi secara
berurutan.
Sejarah Perkembangan Sistem
Operasi (Lanjut…..)
3. Generasi III (1965-1980): IC dan Multiprogramming
a. Multiprogramming
Mempartisi memori menjadi beberapa bagian, dengan satu bagian
memori adalah satu job berbeda.
b. Spooling
Membuat peripheral dapat diakses secara simultan, yaitu dengan
cara menyediakan beberapa partisi memori.
c. Time Sharing
Merupakan varian dari multiprogramming , dimana tiap pemakai
mempunyai satu terminal online dengan pemroses hanya memberi
layanan pada pemakai yang aktif.
Sejarah Perkembangan Sistem
Operasi (Lanjut…..)
Contoh :
Diketahui disk mempunyai 100 track dg nomor urut 0 – 99,
& antrian akses track dengan saat awal 50 (letak head R/W)
13, 46, 65, 27, 95, 9, 17, 53, 17, 1, 82, 2, 17, 82, 98, 7
Penyelesaian Contoh PTPD
50
01 2 7 9 13 17 27 46 52 53 65 82 95 98 99
●
●
●
●
●
● ●
●
●
●
●
●
●
• Langkah proses :
• Dari 50 menuju ke lintasan 13, kemudian ke 46, ke 65,
dan seterusnya. Setiap lintas yang dilalui dihitung.
2. Algoritma PICK UP
Contoh :
• diketahui antrian akses track dengan saat awal 50 13, 46,
65, 27, 95, 82, 9, 17, 52, 53, 17, 1, 82, 2, 17, 98, 7
Penyelesaian Contoh Algoritma WCTD
50
0 1 2 7 9 13 17 27 46 52 53 65 82 95 98 99
●
●
● ●
●
● ● ●
● ●
● ● ●
Pada algoritma ini hulu tulis baca akan bergerak naik seperti
pergerakan lift Menuju antrian track terbesar pada disk
sambil mengakses antrian track yang dilalui, kemudian turun
menuju antrian track yang terkecil sambil mengakses track
yang dilalui, dan track yang telah diakses tidak diakses lagi.
● ● ●
●
● ● ●●
Pada algoritma ini hulu tulis baca akan bergerak naik seperti
pergerakan lift Menuju antrian track terbesar pada disk
sambil mengakses antrian track yang dilalui, kemudian turun
menuju antrian track yang terkecil tetapi tidak mengakses
track yang dilalui, baru pada saat naik akan mengakses
track yang belum diakses.
● ●
● ●
● ● ●
●
Pada algoritma ini hulu tulis baca akan bergerak naik seperti
pergerakan lift Menuju track terbesar pada disk sambil
mengakses antrian track yang dilalui, kemudian turun
menuju track terkecil pada disk sambil mengakses track
yang dilalui, dan track yang telah diakses tidak diakses lagi.
● ● ●
●
● ●
● ●
● ●
● ● ● ●
Langkah proses :
Dari 50 menuju ke lintasan track terbesar 99. Selanjutnya
menuju ke lintasan track terkecil 1. Pehitungan 50-99, 99-1.
7. Algoritma Circular Scan
Pada algoritma ini hulu tulis baca akan bergerak naik seperti
pergerakan lift Menuju track terbesar pada disk sambil
mengakses antrian track yang dilalui, kemudian turun
menuju track terkecil tetapi tidak mengakses track yang
dilalui, baru pada saat naik akan mengakses track yang
belum diakses.
● ●
● ● ●
● ● ●
PENJADWALAN PROSES
DESKRIPSI PENJADWALAN PROSES
1. Antrian
Sejumlah proses yang menunggu menggunakan prosesor
dan akan diproses sesuai dengan urutan antrian proses.
Proses berada dalam memori utama
Penjadwalan proses (Lanjut....)
2. Prioritas
Mendahului pada antrian proses, kalau proses itu berada
di bagian belakang antrian, maka dengan pemberian
prioritas, proses itu langsung berada di bagian paling
depan pada antrian itu sambil menunggu sampai kerja
prosesor selesai.
3. Prempsi
Mendahului pada antrian proses, kalau proses itu berada
di bagian belakang antrian, maka dengan pemberian
prempsi, proses itu langsung berada di bagian paling
depan pada antrian itu bahkan akan memberhentikan
kerja prosessor untuk mengerjakan proses yang prempsi
tersebut.
Perhitungan pada Kerja Prosesor
Tr = (jumlah Ti) / N
Barisan proses :
Saat 0 1 2 3 4 5 6 7 8 9 10
Proses A A A A B B B B B B
Saat 10 11 12 13 14 15 16 17 18 19 20
Proses B C C C D D D D D D
Saat 20 21 22 23 24 25 26 27 28 29 30
Proses D D
3.2. Algoritma Penjadwalan Proses
Terpendek Dipertamakan (PTD/ SJF/ SJN)
Contoh :
Tabel proses PTD
Nama proses Saat tiba Lama proses
A 0 5
B 3 7
C 5 2
D 6 4
Penyelesaian Algoritma Penjadwalan Proses
Terpendek Dipertamakan (PTD/ SJF/ SJN)
Tabel PTD
Barisan proses :
Saat 0 1 2 3 4 5 6 7 8 9 10
Proses A A A A A C C D D D
Saat 10 11 12 13 14 15 16 17 18 19 20
Proses D B B B B B B B
Dosen memberikan contoh latihan lainnya
Pertemuan 4
PENJADWALAN PROSES
LANJUTAN
3.3.Algoritma Penjadwalan Proses Terpendek
Dipertamakan Prempsi (PTDP / PSPN / SRT)
Penjadwalan dengan prioritas dengan prempsi Beberapa
ketentuan :
Proses A A B B B D D D D A
Saat 10 11 12 13 14 15 16 17 18 19 20
Proses A A A A C C C C C C
Saat 20 21 22 23 24 25 26 27 28 29 30
Proses C C C
Penyelesaian Algoritma PTDP / PSPN / SRT
(Lanjut….)
Tabel PTPD
Saat Lama Saat Saat Lama
Nama Tiba Proses Mulai Rampung tanggap
Proses
A 0 7 0 14 14
B 2 3 2 5 3
C 4 9 14 23 19
D 5 4 5 9 4
Jumlah 40
Rerata 10
3.4.Algoritma Penjadwalan Ratio Pinalti
Tertinggi Dipertamakan (RPTD/ HPRN)
Penjadwalan dengan prioritas tanpa prempsi
Ketentuan :
Prioritas berdasarkan besarnya nilai ratio pinalti
Rumus ratio pinalti = Rp = ( s + t ) / t
s = waktu sia-sia (Saat selesai – Saat tiba)
t = lama proses
Step 1
Nama proses Tiba selama Ratio Penalti
B 3 (3+2)/2 = 2.5
C 2 (2+5)/5= 1.2
D 1 (1+8)/8=1.125
E 0 (0+4)/4=1
Penjelasan Step 1
Pada saat 0 : hanya ada A, A diolah
Pada saat 4 : A rampung, B, C, D, E telah tiba
Step 2
C 4 (4+5)/5= 1.8
D 3 (3+8)/8=1.375
E 2 (2+4)/4=1.5
Penjelasan Step 2
Step 3
Nama proses Tiba selama Ratio Penalti
D 8 (8+8)/8=2
E 7 (7+4)/4=2,75
Penjelasan Step 3
Pada saat 11 : A, B, dan C telah rampung
Rerata 9.8
Penyelesaian Algoritma RPTD/ HPRN
(Lanjut….)
Barisan Proses
0 1 2 3 4 5 6 7 8 9 10
Saat
Proses A A A A B B C C C C
Saat 10 11 12 13 14 15 16 17 18 19 20
Proses C E E E E D D D D D
Saat 20 21 22 23 24 25 26 27 28 29 30
Proses D D D
3.5. Algoritma Penjadwalan Penjadwalan
Putar Gelang (Roun Robin/ Time Slice)
Beberapa ketentuan :
• Kuantum waktu , waktu yang digunakan oleh prosesor
untuk melayani setiap proses
• Prosesor akan melayani setiap proses berdasarkan
antrian
• Prosesor akan melayani sesuai dengan Kuantum waktu
yang sudah ditentukan.
Contoh Algoritma Penjadwalan
Penjadwalan Putar Gelang (Roun Robin/
Time Slice)
Tabel proses putar Gelang
A 0 5
B 2 3
C 5 7
D 6 1
E 7 6
Kuantum 3
Penyelesaian Algoritma Roun Robin/
Time Slice
Saat 0 1 2 3 4 5 6 7 8 9 10
Proses A A A B B B A A C D
Saat 10 11 12 13 14 15 16 17 18 19 20
Proses E E C C C E E E C C
Saat 20 21 22 23 24 25 26 27 28 29 30
Proses C E
Penyelesaian Algoritma
Roun Robin/Time Slice (Lanjut....)
Tabel putar gelang
Rerata 9,6
Dosen memberikan contoh latihan lainnya
Pertemuan 5
KONKURENSI
DAN
KEAMANAN SISTEM
A. Pengertian Konkurensi
1. Mutual Exclusion
Merupakan persoalan untuk menjamin hanya satu
proses yang mengakses sumber daya pada suatu
interval waktu tertentu. Pentingnya mutual exclusion
dapat dilihat pada ilustrasi eksekusi daemon printer.
Mutual Exclusion (Lanjut…)
Model Deadlock
Terjadi deadlock dapat digambarkan dengan
menggunakan graph. Misal model deadlock dua proses
dan dua sumber daya:
Dua proses P0 dan P1
Dua sumber daya R0 dan R1
Deadlock (Lanjut…)
P0 R1
R0 P1
R0 R1
P1
Gambar 7-2. Graph deadlock dua proses dan dua sumber
daya
Skenario yang Menimbulkan Deadlock:
P0 dialokasikan R0, P1 dialokasikan R1. Kemudian P0 sambil
masih menggenggam R0, meminta R1 dan P1 sambil masih
menggenggam R1, meminta R0.
Kejadian ini mengakibatkan deadlock karena sama-sama
proses P0 dan P1 akan saling menunggu.
Terjadinya deadlock ditandai munculnya graph melingkar
3. Startvation
Keadaan dimana pemberian akses bergantian terus-
menerus, dan ada suatu proses yang tidak mendapatkan
gilirannya.
• Penyusup pasif
Penyusup yang hanya membaca data yang tidak
diotorisasikan
• Penyusup Aktif
Penyusup yang mengubah data yang tidak diotorisasikan
H. Ancaman-ancaman keamanan
1. Kerahasiaan (secrecy)
Adalah keterjaminan bahwa informasi di sistem
komputer hanya dapat diakses oleh pihak-pihak yang
diotorisasi, sehingga jika dimodifikasi tetap terjaga
konsistensi dan keutuhan datanya.
Ancaman-ancaman keamanan (Lanjut...)
2. Integritas (Intergrity)
Adalah keterjaminan bahwa sumber daya sistem
komputer hanya dapat diakses oleh pihak-pihak yang
diotorisasi.
3. Ketersediaan (Availability)
Adalah keterjaminan bahwa sumber daya sistem
komputer tersedia bagi pihak-pihak yang diotorisasi
saat diperlukan.
I. Tipe-tipe Ancaman Keamanan
1. Interupsi
Sumber daya sistem komputer dihancurkan atau
menjadi tidak tersedia atau tidak berguna. Merupakan
ancaman terhadap ketersediaan.
cth: pemotongan kabel komunikasi, penghancuran
bagian perangkat keras, seperti harddisk
2. Intersepsi
Pihak tidak diotorisasi dapat mengakses sumber daya.
Merupakan ancaman terhadap kerahasiaan. Pihak tidak
diotorisasi dapat berupa orang atau program komputer.
cth: penyadapan untuk mengambil data rahasia,
mengkopi file tanpa diotorisasi
Tipe-tipe Ancaman Keamanan (Lanjut…)
3. Modifikasi
Pihak tidak diotorisasi tidak hanya mengakses tapi juga
merusak sumber daya. Merupakan ancaman terhadap
integritas.
cth: mengubah nilai-nilai file data, mengubah program
sehingga bertindak secara berbeda, memodifikasi
pesan-pesan yang ditransminikan pada jaringan.
4. Fabrikasi
Pihak tidak diotorisasi menyisipkan/memasukkan objek-
objek palsu ke sistem. Merupakan ancaman terhadap
integritas
cth: memasukkan pesan-pesan palsu ke jaringan,
penambahan record ke file
J. Mekanisme Proteksi
Logic Bomb
Adalah logic yang ditempelkan pada program komputer
agar memeriksa kumpulan kondisi di sistem.
Trapdoor
Adalah titik masuk rahasia yang tidak terdokumentasi di
satu program untuk memberikan akses tanpa metode
otentifikasi normal.
Program-program Jahat (Lanjut…)
Trojan Horse
Adalah rutin tak terdokumentasi rahasia yang
ditempelkan dalam satu program pengguna.
Program-program tersebut jika terinfeksi, pasti
terdapat kode tersembunyi dan ketika dijalankan,
akan melakukan suatu fungsi yang tidak diinginkan.
Worm
Adalah program yang dapat mereplikasi dirinya dan
mengirim kopian-kopian dari komputer ke komputer
lewat hubungan jaringan.
L. Virus dan Anti Virus
Virus
Adalah kode yang ditempelkan dalam satu program
yang menyebabkan pengopian dirinya ke satu
program lain atau lebih. Virus biasanya melakukan
fungsi yang tidak diinginkan.
Parasitic virus
Merupakan virus tradisional dan bentuk virus yang
paling sering. Tipe ini menggantungkan diri ke file
exe. Ketika program yang terinfeksi di eksekusi
Virus mereplikasi dengan mencari file-file exe lain
untuk diinfeksi.
Virus (Lanjut…)
Memory-resident virus
Virus memuatkan diri ke memori utama sebagai
bagian program yang menetap. Virus menginfeksi
setiap program yang dieksekusi.
Polymorphic virus
Virus bermutasi setiap kali melakukan infeksi.
Deteksi dengan “penandaan” virus tersebut tidak
dimungkinkan.
Anti Virus
Solusi ideal terhadap ancaman virus adalah pencegahan.
Pendekatan yang dilakukan setelah pencegahan terhadap
masuknya virus,yaitu: Deteksi, Identifikasi dan Penghilangan
ADMINISTRASI DASAR
LINUX
Aturan Penulisan Perintah
• Case Sensitive (penggunaan huruf besar dan huruf kecil)
Dalam menuliskan perintah harus diperhatikan apakah
perintah tersebut menggunakan huruf besar atau huruf kecil.
Karena huruf besar dan huruf kecil diartikan berbeda. Bila ada
kekeliruan perintah tidak mau dijalankan atau terjadi error.
• Penggunaan tanda baca dan spasi
Anda harus meneliti penggunaan titik (.), koma (,), slash (/)
atau backslash (\). Begitu juga dengan spasi. Karena bila
terjadi kesalahan dalam penggunaan tanda baca dan spasi,
perintah juga tidak bisa dijalankan.
• Ejaan kata dari perintah yang digunakan
Pastikan perintah anda sudah benar ejaan katanya. Perintah-
perintah yang ada menggunakan bahasa inggris.
Membatalkan Perintah
• Untuk membatalkan perintah yang di instruksikan
kepada sistem, dapat mengetikkan Ctrl+c atau Ctrl+z.
Maka perintah yang sedang diproses oleh system akan
terhenti.
Konsole dan Terminal
dengan cara:
[KDEMenu] --> System --> Konsole Terminal Program.
Membuka Terminal Konsole di KDE
Tampilan Terminal Konsole di KDE
Terminal Pada Environment
GNOME Desktop
dengan cara:
Applications --> Accessories --> Terminal
Membuka Terminal Konsole di GNOME
Tampilan Terminal Konsole di GNOME
Format penulisan Perintah Dasar
• Perintah dasar di linux ditulis dengan format dibawah ini:
Penjelasan Format penulisan
Perintah Dasar
$ nama_perintah [ argument ]
• Keterangan:
● prompt : $ menunjukkan user biasa, dan # menunjukkan
user root.
● nama perintah : adalah perintah yang ingin anda jalankan
● argument : sesuatu yang ditambahkan ke perintah dasar
• Pada umumnya argument terdiri dari OPTION dan PATH
✗ OPTION : adalah pilihan yang bisa digunakan untuk
menghasilkan kondisi tertentu dari suatu perintah.
✗ PATH : adalah sesuatu yang akan diproses oleh perintah,
misalnya nama file atau nama direktori.
Penjelasan Format penulisan
Perintah Dasar (Lanjut…)
• Tanda [...] pada argument menunjukkan kalau argument
bersifat optional, jadi argument tidak harus ada dalam
sebuah perintah dasar.
• cd <option> <direktori>
fungsi : untuk berpindah direktori (change directory),
contoh:
cd /home/amikom :
untuk berpindah ke direktori /home/amikom
cd ..:
untuk berpindah ke parent direktori dari direktori aktif
(direktori di atasnya).
Keterangan :
penggunaan ‘cd’ tanpa nama direktori akan menuju ke
home direktori, sedangkan penggunaan ‘cd-‘ akan menuju
ke direktori aktif sebelumnya.
Perintah Dasar Linux (Lanjut…)
• mkdir <nama_direktori>
fungsi : untuk membuat direktori baru
mkdir amikom :
untuk membuat direktori baru dengan nama amikom
pada direktori aktif
Keterangan :
penggunaan spasi pada nama direktori akan
diasumsikan sebagai beberapa nama direktori baru.
Perintah Dasar Linux (Lanjut…)
• rmdir <nama_direktori>
fungsi : untuk menghapus direktori yang sudah kosong
rmdir amikom :
untuk menghapus direktori dengan nama amikom
• cp <target> <tujuan>
fungsi : untuk mengkopi file atau direktori
cp so_simi /home :
mengkopi file so_ti ke direktori /home
• cp coba /home/kopian :
apabila dalam direktori home tidak ada direktori kopian,
maka file coba akan dikopi di direktori home sekaligus
diganti namanya dengan nama kopian
Perintah Dasar Linux (Lanjut…)
• mv <target> <tujuan>
fungsi : untuk memindahkan file atau direktori dan atau
merename-nya
mv /home/so /etc :
memindahkan file atau direktori so didirektori /home ke
dalam direktori /etc dengan nama so
mv amikom stmik :
mengubah (me-rename) file ‘amikom’ menjadi ‘stmik’
pada direktori aktif
Perintah Dasar Linux (Lanjut…)
• pwd
fungsi : untuk mengetahui path direktori yang sedang
aktif (print working directory)
• cat <nama_file>
fungsi : untuk melihat isi file atau membuat suatu file
cat amikom :
melihat isi file amikom
cat > data :
membuat file baru dengan nama data (untuk
mengakhirinya menggunakan ^D (Ctrl+D)) *lihat
kombinasi
Perintah Dasar Linux (Lanjut…)
• find <option>
fungsi : untuk mencari file/direktori
find / -name data.txt –print :
mencari file data.txt keseluruh direktori dan
menampilkannya pada layer
Keterangan :
untuk mencari file atau direktori pada direktori tertentu
misal /home setelah ‘find’ diikuti dengan nama
direktorinya misal ‘find/home –name...’
Kombinasi Perintah (Pengenalan
redirection dan pipeline)
Redirection dan pipe merupakan standar dari fasilitas
shell di unix.
• Redirection
Fasilitas redirection memungkinkan untuk dapat
menyimpan output dari sebuah proses untuk disimpan
ke file lain (Output Redirection) atau sebaliknya
menggunakan isi dari file sebagai input dalam suatu
proses (Input redirection). Komponen-komponen dari
redirection adalah <, >,< <, > >.
Contoh Redirection
A. Output Redirection
Kita akan menggunakan perintah cat yang telah tersedia
secara default di shell linux.
• Syntax-nya sbb : $ cat > <namafile>
Contoh :
Membuat File dengan nama test
amikom@NOS-Lab:~$ cat > test
ini hanya sebuah test dari output redirection
hehehehehe........
^D
Contoh Redirection (Lanjut…)
B. Input Redirection
Isi dari suatu file akan digunakan sebagai input dari
suatu proses yang akan kita jalankan. Sebagai contoh
akan mencoba mengirimkan mail ke diri sendiri dengan
isi mail berasal dari file test tadi
• amikom@NOS-Lab:~$ mail
Contoh Redirection (Lanjut…)
Pipeline
Pipeline ( | ) adalah fasilitas di shell UNIX yang berfungsi untuk
memberikan input dari suatu proses dari output proses yang lain.
•Misalkan sebagai contoh :
Sebelum gunakan pipeline
•amikom@NOS-Lab:~$ find *
•dead.letter
•mbox
•test
Setelah gunakan pipeline
•amikom@NOS-Lab:~$ find * | grep test
•test
•amikom@NOS-Lab:~$
Command line completion
(melengkapi perintah)
• Misalnya anda ingin mengetikkan perintah startx, cukup
mengetikkan star<tab> maka di lajur perintah akan muncul startx,
anda hanya tinggal menekan<enter> untuk menjalankan perintah
tersebut. Hal diatas juga berlaku pada file dan direktori.di home
direktori ada file .bash_history (titik depan=tersembunyi sama
dengan hidden pada dos ).
• *
Menyamai semua karakter berapapun jumlahnya
• ?
Menyamai semua karakter, satu saja
• [...]
Menyamai semua karakter yang terkandung dalam
kurung
Alias
Alias dalam bash berguna memberikan nama lain ke satu perintah
atau lebih.
• Alias biasanya adalah singkatan dari perintah-perintah lain.
• Misal:
• Alias dir=’ls’
• Alias ren=’mv’
• Alias copy=’cp’
• Alias l=’ls -l’
• Alias 2=’ls -AF’
• Alias 3=’ps ax’
• Alias 4=’top’
• Alias vi=’vim’
• Alias compile.kernel=’make dep; make clean; make
• boot; make modules; make modules_install’
Alias (Lanjut….)
• Tanda ; bisa digunakan untuk menyatukan beberapa
perintah dalam satu lajur.
• Supaya alias terdefinisi setiap kali anda memakai bash,
anda harus menaruh dalam file inisialisasi bash. Yaitu:
/etc/bashrc dan /etc/profile yang mempengaruhi semua
sistem dan
~/.bashrc serta ~/.bash_profile yang mempengaruhi
account anda saja.
~ (tilde) adalah karakter yang berarti home directory
anda.