BAB I
PENDAHULUAN
Control Unit
Masukan
Processor
Saluran
Keluaran
Penghubung
Memory
Memori
Dukung Clock
Dasar yang sangat penting dari semua program sistem adalah operating system yang
mengontrol semua sumber daya komputer dan menyediakan landasan sehingga sebuah
program aplikasi dapat ditulis atau dijalankan.
Banyak cara / metode yang menyediakan pelindung (sheild) atau sesuatu yang dapat
menyembunyikan programmer dari kekomplekan perangkat keras. Salah satunya dengan
menentukan / membuat sebuah lapis (layer) perangkat lunak yang mengendalikan
komponen pokok perangkat keras, mengatur semua bagian sistem dan menyediakan
pemakai dengan antarmuak (interface) / virtual machine yang memudahkan memahami
dan memprogram. Lapisan dari perangkat lunak tersebut adalah operating system.
User
Banking Word Program
Game
System Processing Aplikasi
Command
Compiler Utility Program
Interpreter
Sistem Operasi (Operating System) Sistem
Keterangan :
- Perangkat keras / hardware membentuk dua atau lebih lapis. Lapis yang paling bawah
(physical devices) berisi perangkat fisik, yang terdiri dari integrasi circuit chips, kabel
(wires), power supplies, cathode ray tubes (CRT) dan perangkat lainnya yang dibuat dan
sistem kerjanya merupakan bagian insinyur elektronik.
- Lapis berikutnya, software primitive langsung mengontrol peralatan tersebut (physical
devices) dan menyediakan interface (a cleaner interface) untuk layer diatasnya dikenal
dengan microprogram yang ditempatkan dalam read-only memory (ROM). Sebenarnya
microprogram berfungsi sebagai penerjemah, mengambil (fetching) intruksi bahasa
mesin, seperti ADD, MOVE dan JUMP serta melaksanakan proses-proses kecil yang saling
terkait. Contohnya apabila melaksanakan instruksi ADD, microprogram harus
menentukan dimana angka-angka yang ditambahkan ditempatkan (disimpan
sementara), mengambilnya, menambahkannya dan menyimpan hasilnya disuatu tempat
tertentu.
- Sekumpulan instruksi yang diterjemahkan microprogram disebut machine language
(bahasa mesin), yang memilikim 50 sampai 300 instruksi yang kenyataannya bukan
bagian dari perangkat mesin semuanya, tetapi pembuat komputer selalu
menjelaskannya dalam manualnya (sejenis buku panduan perangkat kerasnya), sehingga
banyak orang mengira sebagai mesin sesungguhnya. Dalam lapis ini, perangkat
masukan/keluaran mengontrol pemuatan nilai ke dalam register khusus.
- Fungsi utama dari Operating System adalah menyembunyikan semua kekomplekan /
kerumitan dan memberikan programmer sebuah kenyamanan, kemudahan, kepraktisan
dari instruksi yang digunakan untuk bekerja dengannya, contohnya, READ BLOCK
FROM FILE adalah konsep / gagasan penyederhanaan daripada harus berpikir tentang
bagaimana memindahkan head disk secara rinci, menunggu untuk menjadi tenang
(posisi istirahat).
- Diatas lapis Operating System (OS) adalah untuk menempatkan software system. Dari
sini ditemukan penerjemah perintah (command interpreter/shield), compiler, editor dan
application program independent. Adalah penting untuk menyadari/merealisasikan
bahwa program-program ini dengan pasti bukan bagian dari SO, walaupun secara khas
disediakan oleh pembuat komputer. OS adalah bagian dari software yang dijalankan
dalam kernel mode atau supervisor mode. SO memproteksi dari pemakai yang
menganggu pemakain hardware
- Compiler dan editors dijalankan dalam user mode. Jika seorang tidak suka sebuah
compiler khusus, pemakai bebas menulis miliknya jika dapat memilih dan tentunya tidak
bebas untuk menangani interrupt disk yang merupakan bagian dari OS dan normalnya
akan memproteksi hardware terhadap usaha pemakai untuk memodifikasinya.
- Diatas layer system program adalah application program. Program ini ditulis oleh user
untuk memecahkan masalah khusus, seperti proses pengolahan data, perhitungan
rekayasa atau memainkan sebuah permainan.
Directory File
Gambar 3. Model Struktur File
Trap instruction : ketika diterima oleh sistem operasi, sistem memeriksa apakah
parameter tersebut valid atau tidak
Return form trap : sistem operasi mengembalikan kontrol ke library procedure
Contoh mekanisme system calls untuk READ pada program C.
count = read (file, buffer, nbytes)
Shell
Shell pada Unix merupakan command interpreter yang walaupun bukan
merupakan bagian dari sistem operasi, menggunakan banyak feature sistem
operasi
Prompt : standar input, menandakan bahwa shell siap menerima command
Contoh :
date
date > file
sort < file1 > file2
cat file1 file2 file3 | sort > /dev/lp
Background job : proses yang berjalan sementara user tetap bisa terus bekerja
Struktur Sistem Operasi
Sistem Monolitik
Konsep : “Sistem operasi sebagai kumpulan prosedur dimana prosedur dapat
saling dipanggil oleh prosedur lain di sistem bila diperlukan”.
Kernel berisi semua layanan yang disediakan sistem operasi untuk pemakai.
Contoh : Sistem Operasi Unix menggunakan konsep kernel loadable modules,
yaitu :
Bagian-bagian kernel terpenting berada dimemori utama secara tetap.
Bagian-bagian esensi lain berupa modul yang dapat ditambahkan ke kernel
saat diperlukan dan dicabut begitu tidak digunakan lagi diwaktu jalan (run-
time).
The ‘big mess’
Tidak berstruktur
Kernel call / supervisor call
User mode
Kernel mode / supervisor mode
User Program
User Program 2
Runs in
User Mode
User Program 1
Kernell Call
1 3 Operating System
s runs in
service
2
servis
procedure Kernel Mode
Dispatch
Table
VM/370
Virtual Machine Monitor
CMS (Conversational Monitor System)
Virtual 370s
System Call
I/O
CMS CMS CMS
Intruction Trap
Trap VM 370
370 Bare Hardware
Gambar 5. Sistem Virtual Mesin
Model ini terstruktur dan memisahkan antara layanan yang disediakan dan
implementasinya.
Contoh :
Sistem operasi X-kernel
Sistem operasi MS-Windows NT telah mengadopsi beberapa teknologi
berorientasi objek, tapi belum secara keseluruhan.
Typical operating system : FMS (Fortran Monitor System) dan IBSYS (sistem
operasi untuk IBM 7094)
The End
But
To be continue……
CONTOH KASUS :
Linux
MS Dos
Sistem operasi MS Dos berisi :
Ibmbio.com, yaitu disk dan character I/O System
IO.sys, yaitu disk dan file manager
MSDOS.sys, yaitu command processor, shellprimitif
Sistem operasi kompatibel dengan CP/M, dengan peningkatan alokasi disk, lebih cepat dan
mendukung shell script primitif disebut batch files.
MS Windows
Microsoft Windows 95 merupakan sistem operasi Windows yang terintegrasi dan
lengkap mulai dengan fungsi-fungsi dasar yang sekarang ada pada MS Windows, Windows
dan Windows for Workgroup.
Agar PC lebih mudah dipakai, diberikan shell baru. Plug and Play (PnP) yang
terintegrasi kedalam sistem operasi, termasuk wizard untuk memandu para pemakai
melalui sistem operasi dan memberikan interface pemakai yang konsisten untuk seluruh
komponen sistem operasi dan spasi nama. Kecepatan dan daya tambahan dari sistem
operasi 32-bit modern dengan preemptive multitasking, thread dan plaltform untuk
generasi baru aplikasi 32-bit.
Windows 95 adalah sistem operasi lengkap yang tidak dibatasi oleh MS Dos dan
punya semua manfaat dari sistem operasi grafis yang lengkap yang ada pada dirinya. Dalam
hal konektivitas baik dalam LAN, WAN maupun nobile dial-up dibuat konektivitas ke
sumber daya yang bersifat remote semudah hubungan ke sumber daya lokal. Dan
dimasukkan akses ke informasi elektronik untuk surat elektronik dan layanan on-line. Dan
juga Windows 95 dibuat kompatibel dengan software dan hardware yang dimiliki pemakai
pada saat ini.
Walaupun Microsoft mengeluarkan sistem operasi baru dengan format grafis dan
ber-arsitektur 32 bit, bukan berarti sistem operasi ini mutlak dipakai. Ini hanya sebagai
sistem operasi alternatif yang sudah ada, seperti UNIX, IBM OS2/Warp, Oracle, IBM AS/400,
dan lain-lain.
PERTANYAAN :
1. Sebutkan dua fungsi utama sistem operasi ?
2. Apa yang dimaksud dengan multiprogramming ? Berikan dua alasan diadakannya
multiprogramming !
3. Apa yang dimaksud dengan spooling ? Apakah anda menganggap personal komputer
harus memiliki spooling sebagai standar dasar di masa yang akan datang?
4. Pada awal perkembangan komputer, setiap byte data yang dibaca atau yang ditulis
ditangani oleh CPU (tidak ada DMA-Direct Memory Access). Apa implikasinya
struktur seperti ini terhadap konsep multiprogramming.
5. Mengapa timesharing tidak tersebar luas pada generasi ke-2 komputer ?
6. Instruksi-instruksi manakah yang diperbolehkan dalam Mode Kernel :
a. Disable all interupts.
b. Read the time-of-day clock.
c. Set the time-of-day clock.
d. Change the memory map.
7. Sebutkan beberapa perbedaan sistem operasi pada personal komputer dengan sistem
operasi pada mainframe!
8. Bagaimana secara umum sistem operasi memberitahukan kepada direktori kerja
apakah path name untuk sebuah file adalah absolute atau relative?
9. Mengapa shell bukan bagian dari sistem operasi ?
10. Berikan sebuah contoh bagaimana mekanisme dan kebijaksanaan bisa terpisah
dengan baik dari pejadwalan. Buat sebuah mekanisme yang bisa mengijinkan sebuah
parent process untuk mengontrol kebijaksanaan penjadwalan children.
11. Model Client-Server tekenal didalam distributed systems. Dapatkah juga digunakan
dalam sistem komputer tunggal ?
12. Mengapa proses tabel membutuhkan sistem timesharing? Apakah hal ini juga
dibutuhkan dalam system personal computer yang pada suatu saat hanya terdapat
satu proses yang sedang bekerja dan mengambil alih mesin sampai proses tersebut
selesai ?
13. Apa perbedaan mendasar diantara blok special file dan character special file.
BAB II
MANAJEMEN PROSES
Proses :
Adalah program yang sedang di jalankan atau software yang sedang dilaksanakan termasuk
sistem operasi yang disusun menjadi sejumlah proses sequential.
Konsep dasar :
1. Multiprogramming
Melakukan proses satu persatu secara bergantian dalam waktu yang sangat cepat /
bersamaan (hardware level). Setiap proses mempunyai satu virtual CPU.
2. Pseudoparallelism
Melakukan lebih dari satu pekerjaan dalam waktu yang bersamaan / pseudoparallelism
(user level).
Model Proses :
1. Sequential Process / bergantian
2. Multiprogramming
3. CPU Switching peralihan prosedur dalam mengolah 1 proses ke proses lainnya.
Secara konsep setiap proses mempunyai 1 virtual CPU, tetapi pada kenyataannya adalah
multiprogramming. Maka akan lebih mudah menganggap kumpulan proses yang berjalan
secara parallel.
A D
C
B
C B
A
A B C D
D
Waktu
Keterangan :
a. multiprogramming untuk 4 program di memori
b. model konseptual untuk 4 proses independent, sequential
c. hanya 1 program yang aktif dalam 1 waktu = pseudoparalel
Hirarki Proses
Pemanggilan proses oleh proses lain disebut parallel. Sistem operasi menyediakan apa yang
dibutuhkan oleh proses. Umumnya proses diciptakan dan dihilangkan selama operasi
berlangsung.
Transisi Status
Running /
kerja
1 2
3
Blocked / Ready /
terhenti siap
4
1. Proses di blok untuk melayani input karena sumber daya yang diminta belum tersedia
/ meminta layanan I/O sehingga menunggu kejadian muncul.
2. Penjadwalan mengambil proses lain.
3. Penjadwalan mengambil proses ini (baru).
4. Input telah tersedia.
Implementasi Proses :
Untuk mengimplementasikan model proses, sistem operasi menggunakan suatu tabel /
array yang disebut tabel proses dengan 1 entry per-proses.
Setiap entry berisi tentang : status proses, program counter, stack pointer, alokasi
memori, status file, informasi schedulling / penjadwalan informasi, dll dari status kerja
ke status siap.
seperti biasa, jika tidak teratasi maka interupsi akan menempuh tindak lanjut
keluar dari proses.
c. 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.
Maksud interupsi?
Interupsi
Keterangan :
1. Rampung
Program selesai dilaksanakan oleh prosesor sehingga penyerahan kendali proses ke
pekerjaan baru / perintah baru karena proses yang dikerjakan oleh prosesor telah
selesai.
2. Keliru
Jika menemukan kekeliruan akan ditampilkan, kemudian kendali prosesor diserahkan
pada perintah berikutnya.
3. Permintaan bukan dari alat I/O
Setelah interupsi selesai dilayani, kendali prosesor dikembalikan pada proses semula,
misalnya interupsi berkala.
4. Permintaan dari alat I/O
Setelah interupsi selesai dilayani, kendali prosesor dikembalikan pada proses
sebelumnya, tetapi ada kalanya prosesor ikut campur dalam kerja alat I/O sehingga
pengembalian kendali proses semula, tidak berlangsung segera / tunggu.
5. Rampung dari alat I/O
Setelah interupsi selesai dilayani dan tanda rampung dicatat, kendali prosesor
dikembalikan ke proses semula. Biasanya untuk alat I/O yang tidak diikut campuri oleh
prosesor.
Catt:
1 & 2 tidak mengembalikan prosesor ke proses yang terinterupsi, sedangkan
3,4,5 mengembalikan prosesor ke proses yang terinterupsi.
Komunikasi
Proses Proses
Race Condition :
Suatu kondisi dimana dua atau lebih proses mengakses shared memory / data pada saat
yang bersamaan dan hasil akhirnya tidak sesuai dengan yang dikehendaki
Contoh rase condition :
Print spooler
Contoh : berupa kumpulan data-data yang akan di cetak.
Spooler directory
Mengerjakan proses lain
4 Abc Out = 4
Proses A 5 Program c
6 Program n
7 In = 7
8
Proses B Mengerjakan proses lain
Proses A cek slot input yang kosong (7) untuk mencetak suatu data dan stop
Interupsi ………
Proses B meletakkan data yang akan di print pada slot kosong tersebut (7) dan stop
(slot kosong berikutnya adalah 7+1=8)
: prosesor mengerjakan proses lain
Proses A dilanjutkan meletakkan data yang akan di print di slot (7), sehingga meng-
overwrite data proses B yang diletakkan di slot (7)
Maka proses B tidak akan dilaksanakan, dan tidak akan terdeteksi terjadi kesalahan.
Untuk menghindari race condition maka harus diatur agar 2 proses yang mempunyai
critical section yang sama tidak memasuki critical section pada saat yang bersamaan.
Contohnya :
While (true)
{
while (turn != 0) /*wait*/;
critical_section ( );
turn = 1;
noncritical_section ( );
}
while (true)
{
while (turn != 1) /*wait*/;
critical_section ( );
turn = 0;
noncritical_section ( );
}
4. Peterson’s Solution
Proses tidak akan diteruskan sampai while terpenuhi, bila interested[other] = TRUE,
maka proses akan menunggu sampai FALSE.
Kelemahannya : jika proses memanggil enter_region-nya secara hampir bersamaan,
yang disimpan di turn adalah data yang ditulis terakhir.
Contohnya :
# include “prototype.h”
# define FALSE 0
# define TRUE 1
# define N 2 /*banyaknya proses*/
int turn;
int interested [N]; /*nilai awal di-set = 0 (false)*/
void enter_region(int process) /*proses = 1 atau 0*/
{
int other; /*jumlah proses lainnya*/
other = 1 – process; /*proses lainnya*/
interested[process] = TRUE; /*menunjukkan tertarik*/
turn = process; /*set flag*/
while (turn==process && interested[other] == TRUE)
}
Enter_region :
Tsl reg,flag | copy flag ke reg dan set
flag = 1
Cmp reg,#0 | apakah flag = 0
Jnz enter_region |jika <> 0 loop lagi
Ret |return ke caller, masuk critical
region
Leave_region :
Mov flag, #0 |simpan 0 ke flag
Ret |return ke caller
Proses harus memanggil ini pada saat yang tepat.
Kelemahan utama dengan busy waiting adalah menyita banyak waktu CPU dan
problem inversi prioritas.
6. Sleep and Wake Up
Mekanismenya : proses akan di blok / tidur (sleep) apabila tidak bisa memasuki
critical_section-nya dan akan dibangunkan (wake up) / ready apabila resource yang
diperlukan telah tersedia.
SLEEP : sistem call membuat proses yang memanggil di blok (blocked)
WAKE UP : sistem call yang membuat proses yang memanggil menjasi ready
Contoh :
Procedure-Consumer Problem (bounded buffer)
Beberapa proses share buffer dengan ukuran tetap
Jika buffer penuh producer sleep
Jika buffer kosong consumer sleep
Jika buffer mulai kosong producer wake up
Jika buffer terisi consumer wake up
Masih ada kemungkinan terjadi race condition
7. Semaphore (Dijkstra, 1965)
Meng-cek, mengubah dan sleep 1 instruksi yang
Mengubah dan wake up tdk dpt dipisahkan
Instruksi tersebut sangat berguna untuk sinkronisasi.
Dapat diimplementasikan untuk memecahkan producer-consumer problem.
Mekanisme-nya menggunakan :
- variabel integer untuk menghitung jumlah wake up yang disimpan / tertunda
- bernilai 0 bila tidak ada wake up yang disimpan, bernilai positif bila ada wake up
yang tertunda
2. UP(S) :
S := S + 1;
If S <= 0 then wakeup(S)
End;
Operasi DOWN dan UP merupakan operasi yang bersifat Atomic (Atomic Action).
8. Event Counters (Reed and Kanodia, 1979)
Tiga operasi terhadap event counter (E) :
1. Read (E) : return current value of E
2. Advance (E) : Atomically increment E by 1
3. Wait until E has a value of v or more
9. Monitor
- Higher level synchronization primitive.
- Kumpulan prosedur, variabel dan struktur data yang dipaket menjadi satu modul
atau paket.
- Proses bisa memanggil prosedur dalam monitor, tetapi tidak dapat mengakses
langsung struktur data internal dari monitor.
10. Message Passing
Menggunakan 2 primitive :
1. send (destination, &message)
2. receive (source, &message)
Beberapa isu pada message passing system : message lost; acknowledgement; domains;
authentication; performance
Gambar (a) :
- mempunyai : program counter, stack, register set, address space sendiri
- independent satu sama lain dan berkomunikasi lewat IPC yang disediakan sistem,
seperti : semaphore, monitor, atau message
Gambar (b) :
- multiple threads of control (THREAD atau lightweight Process). Thread mirip seperti
little-mini process. Setiap thread berjalan sekuensial, yang mempunyai program counter
dan stack sendiri. Thread juga men-share CPU seperti proses.
- Thread dalam satu proses menempati address space yang sama, tidak ada proteksi
penggunaan memori antar thread karena proses dimiliki oleh satu user.
- Thread dapat berada pada empat state yang berbeda, seperti process (running, blocked,
ready, terminated)
Terhenti
Terhenti
BAB III
TEKNIK PENJADWALAN PROSESOR
Istilah-istilah :
Pekerjaan / Job
User menyerahkan pekerjaan mereka pada komputer. Ada pekerjaan yang panjang,
sedang dan pendek. Untuk dapat diolah oleh komputer harus dianalisis dahulu untuk
mengetahui bagaimana sebaiknya pekerjaan itu dilakukan.
Terobosan / Troughput
Pekerjaan dalam komputer dilaksanakan langkah demi langkah, sehingga dapat
dikatakan bahwa troughput adalah banyaknya pekerjaan yang dapat diselesaikan oleh
sistem komputer dalam satu satuan waktu.
Tugas / Task
Program yang terdiri dari banyak bagian program dan bagian program yang dikerjakan
merupakan tugas bagi sistem operasi.
- Tugas yang sedang dilaksanakan, adalah tugas yang menemukan semua sumber daya
yang diperlukannya, termasuk prosesor.
- Tugas yang siap dilaksanakan, adalah tugas yang menemukan semua sumber daya
yang diperlukannya, kecuali prosesor.
- Tugas yang belum dilaksanakan, adalah tugas yang belum menemukan sumber daya
yang diperlukannya.
Proses / Process
Tugas yang telah dijadwalkan untuk menemukan prosesor / tugas yang telah diterima
oleh penjadwalan.
Tugas Penjadwalan Proses Prosesor
PT = pencacah program / program counter, program terletak dalam memori kerja pada
alamat memori tertentu. PT menerima alamat memori awal saat diolah oleh prosesor
dan juga menyaring dan menentukan alamat memori mana saja yang isinya akan
dibawa ke prosesor dan hanya alamat yang sesuai dengan letak program yang sedang
diolah yang diperbolehkan PT masuk ke prosesor. PT mencacah dirinya sebesar 1
cacahan dan dengan cara yang sama akan melayani alamat berikutnya sampai alamat
terakhir.
RI = register instruksi, membawa dan menerima informasi dari memori kerja dan
diperiksa.
SK = satuan kendali / control unit, menerima informasi instruksi program dan sesuai
dengan isi instruksi SK mengendalikan kegiatan dalam prosesor.
RA = register alamat / address register, mencatat alamat memori yang isinya akan
dicapai alamat itu di memori kerja. Jika pembacaan data dari memori kerja, data / isi
dari memori kerja dibaca dan disalin ke RD, tetapi jika pada penulisan data ke memori
kerja, maka isi RD disalin ke alamat memori kerja.
RD = register data.
RD dan RA bekerja sama dalam kegiatan pengambilan dan pengiriman data dari dan ke
memori kerja.
b. Multitasking, banyak bagian program yang dipersiapkan untuk diolah oleh prosesor
namun belum sempat dijadwalkan untuk memperoleh prosesor.
c. Multiprocessing, sejumlah tugas yang telah dijadwalkan untuk menggunakan prosesor.
d. Multiplexing, menggunakan pertukaran kendali dalam selang waktu terpisah-pisah.
e. Time sharing / rentang waktu, secara bersamaan sejumlah pemakai dapat menggunakan
1 sistem komputer, sehingga setiap pemakai merasa bahwa seluruh sistem komputer
seolah-olah untuk dirinya.
Proses Berurutan :
Sejumlah proses berlangsung secara berselingan dan tidak ada diantara mereka yang
bertumpang tindih waktu, sebelum 1 proses selesai, proses berikutnya belum bekerja.
A
B
C
Proses Paralel :
- pada proses tunggal, proses serentak bukan proses paralel karena proses tersebut di
gali 1 demi 1, sepenggal demi sepenggal.
- Pada proses jamak, proses dapat dilaksanakan secara serempak diantara banyak
prosesor sehingga disebut proses paralel
A
B
C
Jangka penjadwalan
Semua antrian dan penantian (contohnya yang dikeluarkan karena preempsi.
a. Penjadwalan jangka pendek / short term scheduling / low level scheduling, yaitu
mengurus masuknya antrian siap ke prosesor serta antrian siap ke alat peripheral
I/O, yang mengurus prioritas dan preempsi.
b. Penjadwalan jangka media / medium term scheduling / intermediate level scheduling,
yaitu mengurus terhadap proses yang dikeluarkan dari prosesor yang belum
rampung dikerjakan dan melanjutkan pekerjaan proses tersebut di prosesor.
c. Penjadwalan jangka panjang / long term scheduling / high level scheduling, yaitu
mengurus masuknya pekerjaan baru berupa penentuan pekerjaan baru mana yang
boleh diterima dan tugas disini diubah menjadi proses.
Tujuan penjadwalan / kriteria baik tidaknya suatu algoritma penjadwalan :
a. Fairness / pelayanan yang adil untuk semua pekerjaan
b. Throughput / memaksimumkan throughput
c. Efficiency / memaksimumkan pemakaian prosesor
d. Overhead / meminimumkan waktu tunggu
e. Pemakaian sumber daya seimbang
f. Tidak terjadi penundaan waktu tak hingga
g. Kegiatan sumber daya dapat dideteksi terlebih dahulu
Penjadwalan Prosesor
Penjadwalan satu tingkat
Tr cukup besar, jika dibandingkan dengan lama tanggap dari masing-masing proses.
Disusun urutan proses berdasarkan prioritasnya, yaitu CDAB, tetapi pada saat tiba = 0,
proses terpendek C belum datang, maka mengerjakan proses A dahulu, setelah selesai pada
saat 5, proses C sudah datang, sehingga C dikerjakan dan seterusnya seperti :
A B C D
Saat 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Proses A A A A A C C D D D D B B B B B B B
A B CD
Sa 0 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1 2 2 2 2
at 01234567890 1 23
Pro A A B B B D D D D A A A A A C C C C C C C C C
ses
Karena preempsi, PTDP lebih baik dari PTD dalam hal kecilnya Tr, tetapi untuk proses
panjang lebih lama dibandingkan PTD.
A B C DE
Sa 0 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1 2 2 2 2
at 01234567890 1 23
Pro A A A A B B C C C C C E E E E D D D D D D D D
ses
Contoh dengan Q = 3
Nama Saat Lama Saat Saat Rampung Lama
Proses Tiba Proses Mulai Tanggap
A 0 7
B 0 5
C 0 8
D 0 2
E 0 6
Saat 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Proses A A A B B B C C C D D E E E A A A B B C C C E E E A C C
Dengan Q = 2
Nama Saat Lama Saat Saat Rampung Lama
Proses Tiba Proses Mulai Tanggap
A 0 5
B 1 3
C 5 7
D 6 1
E 7 6
A B C DE
Sa 0 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1 2 2 2
at 01234567890 1 2
Pro A A B B A A B C C D E E A C C E E C C E E C
ses
Pada saat 0, A dikerjakan 2x, saat 2, B sudah datang, dikerjakan 2x, saat 4, belum ada yang
datang maka kerjakan A dan B lagi. Kemudian kerjakan C, D, E yang sudah datang, tetapi di
antrian masih ada A, A dikerjakan kemudian E, sisa C, sisa E dan sisa C sampai selesai.
Secara merata, penjadwalan putar gelang memperlambat proses yang tiba dan secara
merata pula semua proses dilayani oleh prosesor, sehingga biasanya digunakan pada
proses interaktif jika semua proses menuntut dikerjakan segera.
Kesimpulan :
Tanpa Dengan
Prioritas Prioritas
Tanpa PTPD PTD / RPTD
Preempsi
Dengan PG PTDP
Preempsi
Penjadwalan Multitingkat
Proses dibedakan tingkatnya berdasarkan kepentingannya.
Penjadwalan pada tiap tingkat dapat bermacam-macam.
Pada antrian multi tingkat berbalikan, tingkat satu dan lainnya saling berhubungan.
Tingkat 1 P Rampung
Preempsi
Tingkat 2 P Rampung
Preempsi
Tingkat 3 P Rampung
Preempsi
Tingkat n Rampung
Metode Simulasi
Metode ini berdasarkan sejumlah variabel yang disimulasikan sistem komputer yang
digunakan, memerlukan data masukan melalui bilangan acak.
Keuntungan : jika ditangani dengan baik maka metode ini cukup baik.
Kelemahan : mahal, karena banyak menggunakan jam prosesor dan ruang memori.
Metode Implementasi
Metode ini bekerja dengan cara mengamati hasil dari implementasi setiap penjadwalan
/ menerapkan berbagai penjadwalan pada pekerjaan yang sesungguhnya.
Keuntungan : cukup cermat.
Kelemahan : perubahan macam penjadwalan mengganggu pemakai komputer dan
perubahan jenis pekerjaan mengganggu penjadwalan.
BAB IV
MANAJEMEN MEMORI
Memory manager :
Salah satu bagian sistem operasi yang mempengaruhi dalam menentukan proses mana
yang diletakkan pada antrian.
Tanda pengenal untuk pencarian letak memori adalah alamat, lintasan / trek, sector pada
suatu disk.
Jenis Memori
- Memori Kerja
Tugas utamanya adalah menampung pekerjaan itu pada saat sebelum dan sesudah
pekerjaan itu dilaksanakan oleh prosesor dan menampung berbagai hal yang
diperlukan prosesor, contohnya system operasi, system bahasa, catatan.
Contoh memori kerja untuk memori tetap adalah :
ROM : Read Only Memory memori baca saja
PROM : Programmable ROM dapat diprogram tetapi tidak dapat
dihapus lagi
EPROM : Electrically PROM dapat diisi melalui listrik, dan dapat dihapus
EEPROM : Erasable EPROM dapat diisi dan dihapus dengan listrik, maka ciri
utamanya adalah isi tetap ada / tidak mudah dihapus meskipun
daya listrik computer terputus.
Contoh memori kerja untuk memori bebas adalah :
RAM : Random Access Memory dapat diisi dan dapat dibaca, maka ciri
utamanya adalah mengenal asas pemuktahiran yaitu dapat diisi
dengan informasi terbaru dan isi akan hilang jika catu daya padam.
Memori kerja terdiri dari sel memori yang berisi 1 kata sandi, misalnya sistem 8 bit
menggunakan 8 bit kata sandi, sistem 1 kbyte menggunakan 1024 byte kata sandi.
Cache memory
Memori berkapasitas kecil tetapi berkecepatan tinggi, yang dipasang diantara prosesor
dan memori utama. Instruksi dan data yang sering diakses oleh prosesor ditempatkan
dalam chace sehingga dapat lebih cepat diakses oleh prosesor. Hanya bila data /
instruksi yang diperlukan tidak tersedia dalam chacce barulah prosesor mencarinya
dalam memori utama.
Pindah masuk
Memori Memori
dukung kerja
Pindah keluar
1 pindahan = 1 blok, makin kecil ukuran memori kerja, makin sering terjadi pindahan.
Alamat Memori
– Alamat memori mutlak (alamat fisik)
Sel memori pada memori kerja adalah sumber daya berbentuk fisik, sehingga untuk
mencapai sel memori ini digunakan kata pengenal. Maka disebutlah alamat fisik dan
karena nomor alamat fisik ini bersifat mutlak (nomor setiap sel adalah tetap), maka
disebut juga alamat mutlak.
– Alamat memori relatif (alamat logika)
Alamat memori yang digunakan oleh program / data berurutan / berjulat. Jika kita
menggunakan alamat 1, maka kitapun menggunakan alamat 2,3, … dan untuk 1
informasi jika alamat awalnya 0 dan alamat lainnya relatif terhadap alamat awal 0 ini,
maka dinamakan alamat relatif. Dan alamat tersebut adalah logika dari untaian alamat
yang menyimpan informasi maka dikenal alamat memori logika.
Contoh : alamat awal relatif 0, alamat awal fisik 14726, maka selisihnya = relokasinya =
14726-0 = 14726.
Isi Memori
1. Sistem bahasa pemograman
Translator tergantung pada program yang digunakakan dan memiliki run time
subroutine yang mengatur program dari bahasa pemogramannya untuk melakukan
translator.
2. Sistem utilitas
Merupakan bagian dari sistem operasi komputer, biasanya berbentuk berkas dalam
memori arsif.
3. Inti sistem operasi
Terdiri dari inti, kernel, nucleus adalah system operasi yang menetapkan dalam
memori kerja. Contohnya adalah pada saat “boot / booting / bootstrap”.
4. Sistem operasi
Program sistem operasi diletakkan dalam memori, maka banyak kegiatan yang juga
terletak dalam memori.
5. Pengendali alat
Terdiri dari penggerak alat / device controller dan pelaksana / device driver yang
berbentuk program dan menempati ruang memori tertentu.
6. Berkas pemakai
Terdiri dari berkas program dan berkas data, yang ditampung dalam memori dan pada
waktunya diteruskan ke prosesor untuk diolah.
X Y
Keterangan:
R : relokasi P : alamat pangkal / fisik
A : alamat awal / logika Y : alamat fisik dari X
X : alamat suatu informasi tertentu (logika)
Maka : R = P – A Y=X+R=X+P–A
Jika informasi dengan alamat relative = 0, maka A = 0.
Contoh : suatu informasi beralamat awal 2100 dan informasi ini dimuat
relokasikan ke alamat pangkal 23600. Hitung besar relokasi dan hitung pula pada
memori kerja dimana bagian informasi yang beralamat 2453 terletak ?
Maka : A = 210 P = 23600 X = 2453
R = P – A = 23600-2100 = 21500
Y = X + R = 2453+21500 = 23953
c. pemuatan sambung
penyambungan antara informasi yang satu dengan yang lain terjadi pada saat
pemuatan. Sehingga membutuhkan informasi sebelum melakukan pemuatan
sambung tersebut, contohnya informasi alamat akhir dari bagian informasi yang
akan disambung tersebut.
d. pemuatan dinamik / tumpang / overlay
terjadi pada program tunggal ketika ukuran program melampaui ukuran ruang
memori kerja. Dan agar dapat tertampung maka dibagi / dipenggal menjadi
beberapa segmen.
Sambung / linker akan menyatukan 1 informasi dengan informasi lainnya.
2. Lama muat, ditentukan oleh kecepatan baca pada memori dukung yang berbentuk disk.
6
Batas Bawah BB6 Batas Atas BA5
BA2 3 BB3
BB2 2 BA1
1 BB1
unused
Untuk setiap penggalan memori kerja, memerlukan 2 register yaitu untuk mencatat
batas atas dan untuk mencatat batas bawah. Dan setiap alamat memerlukan dua kali
perbandingan untuk mencapai penggalan.
Relokasi ke penggalan memori kerja
Dapat memilih penggalan yang menjadi tujuan relokasi dan harus diperiksa panjang
informasi dan ukuran penggalan memorinya.
Karena jika masuk pada penggalan yang kecil, informasi tidak dapat tertampung.
Contoh : Jika alamat awalnya = 0, alamat pangkal P maka A = 0 dan P = BB. Sehingga R =
P – A = BB
Jika alamat X tidak melampaui batas (BA-BB) maka pemuatan secara relokasi dapat
dilaksanakan yaitu dengan menambahkan alamat pangkal (BB) dari penggalan memori
kerja.
di RAM
di ROM di RAM
Program
Program Pemakai
Program
Pemakai
di RAM
Pemakai
Device
di RAM Driver
di RAM
di ROMD
= RAM Driver
di ROM
= ROM
Partisi 2 75 Kbyte
Partisi 3
100 Kbyte
Partisi 4 200 Kbyte
Partisi 5
150 Kbyte
Sistem Operasi
Multiprogrammning dengan Pemartisian Tetap dengan Satu Antrian
Satu Antrian Untuk Tiap Partisi (banyak antrian Untuk Seluruh Partisi)
Keuntungan : Meminimalkan pemborosan memori
Kelemahan : Dapat terjadi antrian panjang di suatu partisi sementara antrian partisi -
partisi lain kosong
Partisi 1
50 Kbyte
Partisi 2
75 Kbyte
Partisi 3
100 Kbyte
Partisi 4
200 Kbyte
Partisi 5
SSSistem Operasi
150 Kbyte
100 Kbyte
Bebas Proses 2
Proses 2
Proses 4
Bebas
Proses 6
Proses 4
Bebas
Bebas
Proses 6
A B C
0 7 15 23
0 1 2 3 4 5 6 7
1 1 1 1 1 0 0 0
1 1 1 1 1 1 1 1
1 1 0 0 1 1 1 1
... ... ... ... ... ... ... ...
A B C
0 7 15 23
P 0 5 H 5 3 P 8 6 P 14 4
H 18 2 P 20 3
5K 3K 1K 2K Urutan
Pemenggalan
4K Memori
Setiap
3K Ukuran
2K
6K
Contohnya informasi pertama 2K mencari penggalan informasi yang terpas yaitu pada
penggalan memori 2K juga / tidak ada sisa.
4. Cocok terburuk / worst fit
Kebalikan dari cocok terbaik yaitu akan menempati penggalan yang ukurannya terbesar
sehingga banyak ruang memori pada penggalan itu yang tidak terpakai.
Contohnya informasi 2K akan menempati penggalan berukuran 6K sisa yang tidak
terpakai = 4K.
1024
A 128 256 512
A B 64 256 512
A B 64 C 128 512
128 B 64 C 128 512
128 D C 128 512
128 D C 128 512
256 C 128 512
1024
Dari berbagai cara alokasi tersebut di atas, sebuah hole yg ditempati proses akan terbagi
menjadi bagian yang dipakai proses dan memori yang tidak terpakai (fragmen).
Timbulnya memori yang tidak terpakai disebut fragmentasi.
1. Fragmentasi internal
Suatu informasi menempati penggalan yang lebih besar ukurannya akan menyebabkan
adanya sisa dalam penggalan memori tersebut. Sisa tersebut dinamakan fragmentasi
internal.
2. Fragmentasi eksternal
Penggalan memori bebas yang ukurannya terlalu kecil untuk dapat menampung
penggalan informasi yang akan dimuat ke penggalan memori itu. Misalnya informasi 5K
akan menempati penggalan memori yang belum terisi yaitu 1K dan 2K tetapi karena
ukurannya tidak sesuai maka pemuatan informasi ke penggalan memori tidak dapat
dilaksanakan, maka penggalan memori 1K dan 2K(=3K) menjadi fragmentasi eksternal.
Contoh :
5K 2K
Terisi 2K
2K
3K
Internal 1K
eksternal 1K
2k
BAB V
SISTEM FILE
Solusi untuk semua masalah tsb adalah dengan menyimpan data pada disk atau media lain
dalam bentuk unit-unit yang disebut FILE. Data yang disimpan dalam bentuk file harus
tetap tidak berubah ketika proses dibentuk atau dihentikan. File bisa hilang hanya ketika
dihapus saja.
Sistem File adalah bagian sistem operasi yang menangani masalah file.
1. FILE
1.1 Penamaan File
File merupakan bentuk mekanisme abstrak. Karakteristik yang paling penting dari
mekanisme abstrak adalah cara pemberian nama suatu obyek. Ketika proses membuat
suatu file, proses akan memberi sebuah nama kepada file. Ketika proses selesai, file masih
ada dan bisa diakses oleh proses lain dengan menggunakan nama file tsb.
Semua sistem operasi menerima bentuk nama file yang terbuat dari 1 sampai 8 karakter.
Tetapi ada beberapa sistem operasi yang membedakan huruf besar dan huruf kecil, seperti
UNIX. Contoh :
BARBARA, BARbara, BarBaRa ----> UNIX membedakannya
----> DOS menganggap sama
----> WINDOWS ???
----> LINUX ???
Kebanyakan sistem operasi mampu menangani dua bagian bentuk nama file yang dipisah
dengan titik (period), bagian yang terletak setelah tanda titik disebut extension, yang
biasanya menggambarkan ciri khusus dari file ybs. Contoh :
- DOS nama file ----> [1 sampai 8 karakter].[1 sampai 3]
- UNIX ----> [1 sampai ? karakter].[1 sampai ?].[....].[....] .....sampai ?
Beberapa extension file yang biasa ditemukan tampak pada tabel berikut :
Extension Artinya
*.bak File Backup
*.bas Program source Basic
*.bin Program executable binary
*.c Program source C
*.dat File Data
*.doc File Dokumentasi
*.ftn Program source Fortran
*.hlp File Teks untuk HELP command
*.lib Library dari file .obj yang digunakan
linker
*.man Online manual page
*.obj File object
*.pas Program source Pascal
*.tex Teks masukan untuk format program
TEX
*.txt File teks umum
Gambar 1. Tiga macam file. (a) Urutan byte. (b) Urutan record. (c) Tree.
b. File dibentuk dari urutan record dengan panjang yang sama dan struktur internal
didalamnya.
Operasi read akan membaca satu record.
Operasi write akan overwrite/append satu record.
Cocok untuk sistem operasi yang menerapkan Punch Card, karena ukurannya tetap.
c. File dibentuk dari struktur organisasi tree record, ukuran record tidak harus sama,
setiap record mengandung field Key pada posisi yang sama. Tree record diurutkan
berdasarkan Key nya.
Operasinya dengan melihat Key.
Banyak diterapkan pada sistem operasi Mainframe untuk pemrosesan data komersial.
Regular File bisa berbentuk ASCII maupun binary. Keuntungan bentuk ASCII adalah dapat
ditampilkan dan dicetak seperti apa adanya dan dapat diedit menggunakan editor yang
biasa dipakai. File Binary memiliki struktur internal sendiri. Magic Number : menyatakan
bahwa file berupa file executable. Binary file dalam bentuk archive mengandung kumpulan
library procedure (module) yang telah dicompile tapi tidak dilink.
Seluruh sistem operasi paling tidak harus mengenal satu jenis file executable, miliknya
sendiri. Bahkan jika file source codenya diubah, mampu melakukan compile ulang secara
otomatis. Contoh perintah UNIX : make, berada didalam shellnya.
Sistem operasi Mainframe lama banyak menggunakan kedua cara, karena memiliki dua
bentuk media penyimpanan tsb.
Sedangkan sistem operasi modern tidak membedakannya, otomatis semua file diakses
secara acak (Random access).
Field Artinya
Protection Who can access the file and in what way
Password Password needed to access the file
Creator Id of person who created the file
Owner Current owner
Read Only flag 0 for read/write, 1 for read only
Hidden flag 0 for normal, 1 for do not display in
listings
System flag 0 for normal file, 1 for system file
Archive 0 has been backed up, 1 for needs to be
backed up
ASCII/binary flag 0 for ASCII file, 1 for binary file
Random access flag 0 for sequential access only, 1 for random
access
Temporary flag 0 for normal, 1 for delete on process exit
Lock flag 0 for unlocked, nonzero for locked
Record length Number of bytes in a record
Key position Offset of the key within each record
Key length Number of bytes in the key field
Creation time Date and Time file was created
Time of last access Date and Time file was last accessed
Time of last change Date and Time file was last changed
Current size Number of bytes in the file
Maximum size Maximum size file may grow ro
Proses memiliki dua segmen, teks dan data. Proses melakukan sistem call COPY. Pertama,
memetakan file sumber (abc) ke sebuah segmen. Kemudian membuat segmen kosong dan
memetakannya ke file tujuan (xyz). Proses dapat mengcopy segmen sumber ke dalam
segmen tujuan menggunakan loop copy biasa, bukan Read dan Write.
2. DIRECTORY
Untuk menjaga agar file tetap pada jalurnya dan diketahui, maka sistem file menyediakan
DIRECTORY.
Gambar 4. Directory. (a) Atribut pada directory entry. (b) Atribut di tempat lain.
Ketika file diOpen, sistem operasi mencari directorynya sampai ditemukan nama file ybs,
kemudian mengekstrak atribut dan alamat disk langsung dari daftar directory atau dari
struktur data yang menunjukkannya, lalu meletakkan kedalam tabel didalam memory kerja.
Gambar 5. Tiga disain sistem file. (a) Satu directory dipakai bersama oleh semua user. (b)
Satu directory per user. (c) Sembarang tree per user. Huruf-huruf menyatakan pemilik
Kebanyakan sistem operasi mempunyai dua directory khusus, "." dan "..", dot dan dotdot.
Dot menunjukkan directory saat itu dan Dotdot menunjukkan parent directory. Contoh
gambar 6
cp ../lib/dictionary .
Kelebihannya :
- Seluruh blok dapat dipakai, tidak terjadi fragmentasi.
Kekurangannya :
File A menggunakan blok 4,7,2,10 dan 12. Sedangkan file B menggunakan 6,3,11 dan 14.
DOS menggunakan metode alokasi ini.
Kelebihannya :
- Pengaksesan file secara acak akan lebih cepat.
Kekurangannya :
- Seluruh tabel harus selalu ada didalam memory, sehingga mengurangi kapasitas
memory.
d. I-node
alokasi file dengan menerapkan tabel yang berukuran kecil yang disebut i-node (index-
node) yang mendaftar atribut dan alamat disk dari blok file. Tampak pada gambar 9.
Gambar 9. I-node.
Untuk file-file yang berukuran besar, dipetakan ke blok yang disebut Single Indirect
Block (SIB) yang mengandung alamat disk tambahan. Jika masih tidak cukup maka
alamat lain dipetakan ke Double Indirect Block (DIB) yang mengandung alamat blok
yang mendaftar SIB. Setiap SIB menunjuk ke beberapa ratus blok data. Jika ternyata
masih kurang lagi, Triple Indirect Block (TIB) bisa digunakan.
- UNIX menggunakan metode alokasi ini.
- WINDOWS ???
- OS/2 ???
- Block Count menunjukkan jumlah blok yang digunakan dari 16 blok yang disediakan.
- 16 bit terakhir berisi nomor blok disk.
b. Directory pada DOS
Sistem DOS menggunakan directory seperti tampak pada gambar 11.
Panjangnya 32 bit yang terdiri dari nama, atribut, jam, tanggal, first block number (FBN)
dan ukuran. FBN digunakan sebagai indeks tabel seperti pada gambar 11.
c. Directory pada UNIX
Sistem UNIX menggunakan struktur directory seperti tampak pada gambar 12.
Informasi tentang jenis, ukuran, waktu, kepemilikan, dan blok disk disimpan didalam i-
node.
Contohnya :
Cara sistem mencari file jika diberikan path /usr/ast/mbox
dengan urutan :
- sistem meletakkan posisinya pada root.
Gambar 16. Kurva yg solid (skala kiri) menggambarkan data rate disk. Garis terputus (skala
kanan) menyatakan efisiensi ruang disk. Semua file berukuran 1K.
Gambar 17. (a) Daftar blok bebas pada linked list. (b) Bit Map.
a. Menggunakan Linked List, setiap blok menahan/memegang sejumlah blok bebas yang
cocok dengannya.
b. Bit Map. Blok bebas dinyatakan dengan 1, sedangkan blok yang telah dialokasi data
dinyatakan dengan 0.
Kuota Disk
Tujuan : mencegah user agar tidak menggunakan ruang disk terlalu banyak, melampaui
batas.
Proses jalannya kuota ditampilkan pada gambar 18.
Ketika user log in, sistem operasi akan mengecek kuota file yang digunakannya, apakah
melampaui batas jumlah file atau jumlah blok disk.
Gambar 19. Mem-backup setiap drive pada drive yang lainnya menyia-nyiakan setengah
media penyimpanan.
Gambar 20. Status sistem file. (a) Konsisten. (b) Missing block. (c) Duplikasi blok pada
daftar bebas. (d) Duplikasi blok data.
a. Bentuk konsisten
b. Blok 2 tidak muncul pada kedua tabel, dinamakan Missing Block.
c. Block 4 muncul dua kali didalam daftar blok bebas (free list).
d. Blok data yang sama muncul dalam dua atau lebih file, pada blok 5.
Gambar 21.
a. i-node diletakkan diawal disk, rata-rata jarak antara i-node dengan bloknya sekitar
setengah jumlah cylinder, yang memerlukan pencarian yang lama.
b. i-node diletakkan ditengah disk, akan mengurangi rata-rata pencarian antara i-
node dengan bloknya setengah kali.
Cara lain, membagi disk kedalam kelompok cylinder, setiap kelompok mempunyai i-
node, blok dan daftar bebas sendiri.
4. PENGAMANAN
4.1 Seputar Pengamanan (security)
Istilah "security" dan "protection"
Security ditujukan untuk keseluruhan masalah sedangkan Protection merupakan
mekanisme tertentu dari sistem operasi yang digunakan untuk menjaga informasi
didalam komputer.
Aspek lain dalam pengamanan adalah PRIVACY : menjaga seseorang dari penyalahgunaan
data miliknya.
Cara mencuri file orang lain. Mencari source code editor yang banyak digunakan orang lain,
lalu dimodifikasi. Hasil modifikasi diletakkan di directory yang banyak orang akan
mengaksesnya, seperti /bin. Perubahan proses editor dapat digunakan untuk mencari hal-
hal yang diinginkan.
Ide merubah program untuk melakukan hal yang tidak berkenan dan merugikan orang lain
dikenal sebagai Serangan Kuda Troya (Trojan Horse Attack).
c. Didalam sendmail ada bug, yang mengijinkan worm untuk mengirimkan mail berisi
copy bootstrap dan menjalankannya.
Password
Bentuk autentikasi yang paling banyak digunakan adalah PASSWORD. Ketika digunakan,
password dalam bentuk terenkripsi.
Autentikasi password mudah untuk dipecahkan.
Buktinya :
Morris dan thompson (1979) meneliti password pada sistem UNIX, dengan
mengcompile daftar mirip password : nama depan, nama belakang, nama jalan,
nama kota, kata dari kamus, nomor plat mobil dan string pendek dari huruf acak.
Identifikasi Fisik
Ada beberapa contoh :
- Cara fisik berupa kartu plastik dengan pita magnetik. Bentuk fisik ini dapat digabung
bersama password sehingga user berhasil login jika mempunyai kartu dan mengetahui
password.
- Fingerprint (sidik jari) atau voiceprint (sidik suara) dengan metode direct visual
recognition.
- Signature Analysis. User membuat tanda tangan dengan pen pada terminal komputer.
- Analisis Panjang jari. User memasukkan tangan kedalam alat lalu panjang jari dibaca
serta dicocokkan dengan database didalam sistem.
- Untuk kasus pengamanan yang extra ketat :
- Ada tulisan "Untuk masuk, silakan berikan contoh anda disini", user diwajibkan
memberikan urine lalu dicek dengan metode urinalysis.
- Spectrographic analysis, dengan cara user menekan jarinya diatas benda tajam, agar
diperoleh darahnya. Kemudian darahnya dianalisis, sesuai dengan data atau tidak.
5. MEKANISME PROTEKSI
5.1 Domain Proteksi
Sistem komputer mengandung berbagai object yang perlu diproteksi. Object ini dapat
berupa hardware, dan software.
Domain adalah himpunan pasangan dari (object,right). Sedangkan Right dalam hal ini
adalah kemampuan untuk membentuk suatu operasi.
Misalkan, ada 3 Domain dengan jenis Right [Read,Write,eXecute]. Printer1 berada pada dua
domain dengan satu jenis right, tapi sebenarnya bisa juga berada didua domain dengan
jenis right yang berbeda.
Pada sistem UNIX, Domain suatu proses didefinisikan oleh UID dan GID. Dengan kombinasi
UID dan GID, akan dapat membuat daftar seluruh object untuk diakses, baik Read, Write
maupun eXecute. Setiap proses di UNIX memiliki dua bagian : bagian user dan bagian kernel.
Ketika suatu proses mengerjakan sistem call, proses akan berpindah dari bagian user ke
bagian kernel. Kernel dapat mengakses object yang berbeda dari object yang diakses oleh
user.
Bagaimana caranya sistem mengetahui object tertentu dimiliki oleh domain tertentu ?
DOMAI OBJECT
N
File File File File4 File File6 Print Plott
1 2 3 5 er1 er2
Rea
1 Rea d
d Writ
e
Read Rea
2 Rea Write d Write
d Execu Writ
te e
Read
3 Write Write Write
Exec
ute
Gambar 22. Matriks proteksi.
DOMA O B J E C T
IN
File File File File4 File File6 Print Plott Domai Domai Domai
1 2 3 5 er1 er2 n1 n2 n3
Rea
1 Rea d Enter
d Wri
te
Read Rea
2 Rea Write d Write
d Exec Wri
ute te
Read
3 Write Write Write
Exec
ute
Gambar 23. Matriks proteksi.dengan domain sebagai object.
Proses pada domain 1 bisa berpindah ke domain 2 tetapi jika telah pindah tidak dapat
kembali ke domain semula. Cara ini sama dengan menjalankan SETUID di UNIX.
C-List harus dijaga dari user yang ingin merusaknya dengan metode :
1. Tagged Architecture, rancangan hardware dimana setiap word memory mempunyai bit
tambahan (tag) yang memberitahukan bahwa word mengandung Capability atau tidak.
2. Menjaga C-List tetap berada didalam sistem operasi.
3. Menempatkan C-List di ruang disk user, tetapi mengenkripsi setiap capability dengan
kunci rahasia yang tidak diketahui oleh user.
Capability biasanya mempunyai Generic Right yang dapat digunakan untuk semua object,
contoh :
- Copy capability : membuat capability baru untuk object sama.
- Copy object : membuat duplikat object dengan capability baru.
- Remove capability : menghapus masukan dari C-List, object tidak terpengaruh.
- Destroy object : menghilangkan object dan capability secara permanen.
Beberapa sistem capability diatur sebagai kumpulan modul, dengan Type Manager
Module (TMM) untuk setiap jenis object. Kadang cara ini menimbulkan masalah karena
TMM hanya sebuah program, pemiliknya dapat membentuk hanya beberapa operasi saja
pada file dan tidak bisa mencapai representasi internal (misalnya i-node).
Solusinya Hydra dengan teknik Right Amplification. TMM diberi kerangka right yang lebih
kepada object daripada capability.
Masalah lain pada sistem capability adalah sulitnya menghilangkan akses ke object.
Solusinya dengan Skema uang digunakan didalam Amoeba. Setiap object mengandung
angka acak yang panjang, yang juga ada di capability. Ketika capability digunakan, kedua
angka tsb dibandingkan. Operasi boleh dijalankan bila kedua angkanya sama.
Object Object
Compile MailBox Secret Compile MailBox Secret
r 7 r 7
Eric Read Eric Read
Execute Execute
Henr Read Read Henry Read Read
y Execute Write Execute Write
Robe Read Read Robert Read R Read
rt Execute Write Execute e Write
a
d
(a) (b)
Model Lampson mencakup 3 proses yang dapat diterapkan untuk sistem timesharing :
Proses pertama adalah Client, yang menginginkan proses kedua (yaitu Server) untuk
membentuk suatu pekerjaan. Client dan Server tidak saling percaya. Proses ketiga yaitu
Collaborator, yang bekerja sama dengan server untuk mencuri data rahasia Client.
Biasanya Server dan Collaborator dimiliki oleh orang yang sama.
Tujuan yang ingin dicapai adalah "Tidak Mungkin" Server bisa membocorkan informasi
Collaborator yang secara sah diterima dari Client. Lampson menyebut hal ini sebagai
Confinement Problem.
Dengan matriks proteksi, dapat dijamin bahwa Server tidak bisa berkomunikasi dengan
Collaborator dengan cara menulis kedalam suatu file dimana Collaborator mempunyai hak
akses read. Juga bisa dijamin bahwa Server tidak bisa berkomunikasi dengan Collaborator
menggunakan mekanisme komunikasi antar proses.
Sayangnya, channel komunikasi yang tersamar bisa ada, seperti Server bisa berkomunikasi
dengan deretan bit biner. Untuk mengirimkan bit 1, Server melakukan perhitungan
(menyibukkan diri) selama selang waktu tertentu. Untuk mengirimkan bit 0, Server tidak
melakukan apa-apa (sleep) dalam selang waktu yang sama. Collaborator bisa mendeteksi
aliran bit tsb dengan memonitor respon waktunya. Channel komunikasi ini dikenal sebagai
Covert Channel.
Covert Channel merupakan channel yang penuh dengan noise, mengandung banyak
informasi tambahan, tetapi informasi sebenarnya dapat diperoleh dengan menggunakan
Error Correction Code (seperti Hamming Code).
BAB VI
INPUT / OUTPUT
Contoh : unit tape megnetik diinstruksikan untuk kembali ke posisi awal, bergerak
ke record berikutnya dan sebagainya.
b. Komponen mekanik
Contohnya : head, motor stepper, printer
drive
Disk
CPU memor controll
y er buffer
Pada waktu data di tranfer dari controller ke memori, sektor berikut akan lewat
dibawah head dan bits sampai ke controller. Controller sederhana tidak dapat
melakukan I/O dalam waktu yang bersamaan, maka dilakukan interleaving (skip
blok), memberi waktu untuk tranfer data ke memori. Interleaving ini terjadi pada disk
bukan pada memori, seperti terlihat pada gambar di bawah ini.
7 0 7 0 5 0
6 1 3 4 2 3
5 2 6 1 7 6
4 3 2 5 4 1
No Single Double
Interleaving Interleaving Interleaving
Tujuan diatas dapat dicapai dengan memisahkan software I/O menjadi 4 layers, yaitu :
1. Interrupt Handler
Interrupt harus disembunyikan agar tidak terlihat rutin berikutnya. Device driver di
blok saat perintah I/O diberikan dan menunggu interupsi. Ketika interupsi terjadi,
prosedur penanganan interupsi bekerja agar device driver keluar dari state blocked.
2. Device Drivers
Seluruh kode device dependent terletak di device driver. Tiap device driver
menangani satu tipe / satu kelas device. Tugas dari device driver untuk menerima
permintaan abstrak dari software device independent diatasnya dan melakukan
layanan sesuai permintaan / mengeksekusinya.
Device Device Device
Drivers Controller
(Registernya)
3. Device Independent Operating System Software
I/O device-independent adalah : software I/O yang tak bergantung pada perangkat
keras.
Fungsi dasar dari software device-independent :
- membentuk fungsi I/O yang berlaku untuk semua device
- menyediakan interface uniform / seragam ke user level software
Lapisan sistem I/O dan fungsi utama dari tiap lapisan (layer)
3. Disk
Tiga kelebihan disk dari main memory untuk penyimpanan :
1. kapasitas penyimpanan yang tersedia lebih besar
2. harga per-bit-nya lebih rendah
3. informasi tidak hilang meskipun power off
Platter Read/Write
Spindl Boo
s Head
e Struktur Disk m
Transfer rate
Seek time Boom
Mekanisme
Disk
Proses seek pada disk driver : seek ke lebih dari satu disk secara bersamaan,
read/write bersama dengan seek, read/write dalam waktu yang bersamaan dari dua
drive
Tim 0 5 0 5 0 5 9
e
Initial
position
X X XX X X X
0 Tim 5 1 1 2 2 3 3
Silinde 3
e Sequence of r
0 5 0 seeks5 0 5 9
0 5 0 5 0 5 9
0 5 0 5 0 5 9
0 5 0 5 0 5 9
0 5 0 5 0 5 9
Devices block adalah media penyimpanan dengan 2 perintah : R (read) dan W (write).
Normalnya blok-blok disimpan di disk berputar yang memerlukan mekanisme fisik.
Idenya adalah meniru driver dengan mengalokasikan terlebih dahulu satu bagian
memori utama untuk menyimpan blok-blok data.
Keuntungannya : berkecepatan tinggi karena pengaksesan sesaat / instant, tidak ada
waktu tunda seek dan waktu tunda rotasi. Sangat cocok untuk menyimpan program
atau data yang sering diakses.
Main
Memory
(RAM)
User
Programs
RAM .
Disk blok .
RAM .
1 Disk
R & W of
RAM
blok 0 use
this
memory
Operatin
g System
4. Terminal
Semua komputer memerlukan terminal untuk komunikasi antar peralatan.
4.1. Terminal Hardware
Terminal hardware terbagi atas 2 kategori dasar, yaitu :
Termina
ls
Studi kasus
1. manajemen I/O
pada MS DOS
MS DOS mendukung beragam perangkat serial, yang diidentifikasikan dengan nama file
khusus, hanya tidak disimpan di suatu direktori tertentu, misalnya :
a. con : perangkat konsol
b. com1 : perangkat communication port 1
c. com2 : perangkat communication port 2
d. pm : perangkat printer
e. lpt1 : perangkat line printer 1
f. lpt2 : perangkat line printer 2
g. aux : perangkat auxiliary
contoh :
copy a.txt con : tidak mengkopi file a.txt menjadi file con, tetapi menampilkan ke
konsol
copy a.txt prn : tidak mengkopi file a.txt menjadi file prn, tetapi mengalirkan isi file
a.txt ke printer sehingga printer akan mencetaknya
MS DOS memungkinkan pemakai memasang device driver sendiri setelah sistem di
boot dengan penambahan pernyataan di file config.sys, misalnya ansi.sys, display.sys,
mouse.sys, printer.sys, dll.
UNIX mengharuskan device driver dikompilasi ke kernel.
BAB VII
DEADLOCK
Proses disebut deadlock, jika proses menunggu suatu kejadian tertentu yang tak akan
pernah terjadi atau kondisi dimana 2 proses atau lebih tidak dapat meneruskan
eksekusinya.
Sekumpulan proses berkondisi deadlock, jika setiap proses yang ada dikumpulan itu
menunggu sesuatu kejadian yang hanya dapat dilakukan proses lain yang juga berada di
kumpulan itu. Proses menunggu kejadian yang tak akan pernah terjadi.
Contoh :
P0 P1
Wait(S) Wait(Q)
Wait(Q) Wait(S)
. .
. .
. .
Signal(S) Signal(Q)
Signal(Q) Signal(S)
Pada langkah pertama, kedua proses masih berjalan dengan baik. Pada langkah kedua,
proses P0 meminta Q yang ternyata masih dibawa oleh P1 dan baru akan dilepas setelah
signal(Q), demikian pula P1 meminta S yang masih dibawa oleh P0 dan baru akan dilepas
setelah signal(S). Sehingga kondisi ini akan menimbulkan deadlock.
Deadlock terjadi ketika proses-proses mengakses secara ekslusif sumber daya. Semua
deadlock yang terjadi melibatkan persaingan memperoleh sumber daya ekslusif oleh dua
proses atau lebih. Adanya deadlock akan mengakibatkan sistem menjadi kacau.
Model Deadlock
Urutan kejadian pengoperasian perangkat I/O adalah :
- meminta / request : meminta palayanan I/O
- memakai / use : memakai perangkat I/O
- melepaskan / release : melepaskan pamakaian perangkat I/O
Misalnya :
- dua proses, P0 dan P1
- dua sumber daya kritis, R0 dan R1
- proses P0 dan P1 harus mengakses kedua sumber daya tersebut
P0
R0 R1
P1
kondisi berikut dapat terjadi :
- R0 diberikan ke P0 (P0 meminta sumber daya R0), ditandai busur (edge) berarah dari
proses P0 ke sumber daya R0
- sedangkan sumber daya R1 dialokasikan ke P1, ditandai dengan busur (edge) berarah
dari sumber daya R1 ke proses P1.
P0 R1
R0 P1
Kemudian,
- P0 sambil masih menggenggam R0, meminta R1
- P1 sambil masih menggenggam R1, meminta R0
Kejadian ini mengakibatkan deadlock karena sama-sama akan saling menunggu. Graph
deadlock ini akan digambarkan sebagai graph melingkar. Terjadinya deadlock ditandai
munculnya / terjadinya graph melingkar.
P0
R0 R1
P1
Karena untuk melanjutkan eksekusi memerlukan kedua sumber daya sekaligus, maka
kedua proses akan saling menunggu sumber daya lain selamanya. Tak ada proses yang
dapat melepaskan sumber daya yang telah dipegangnya karena menunggu sumber daya
lain yang tak pernah diperolehnya. Kedua proses dalam kondisi deadlock, tidak dapat
membuat kemajuan apapun.
Deadlock tidak hanya terjadi pada dua proses dan dua sumber daya, deadlock dapat terjadi
dengan melibatkan lebih dari dua proses dan dua sumber daya.
Syarat-syarat terjadinya deadlock :
1. Mutual exclution condition
Tiap sumber daya saat itu diberikan pada tepat satu proses / proses meng-klaim kontrol
eksklusif terhadap sumber daya yang dibutuhkannya.
2. Hold and wait condition / kondisi genggam dan tunggu
Proses-proses yang sedang menggenggam sumber daya yang telah dialokasikan
untuknya sementara menunggu sumber daya – sumber daya tambahan yang baru.
3. Non-preemption condition / kondisi non-preemption
Sumber daya – sumber daya yang sebelumnya diberikan tidak dapat diambil paksa dari
proses sampai sumber daya tersebut digunakan sampai selesai. Sumber daya – sumber
daya harus secara eksplisit dilepaskan dari proses yang menggenggamnya.
4. Circular wait condition / kondisi menunggu secara sirkular
Harus terdapat rantai sirkuler / satu lingkaran proses dari dua proses atau lebih dimana
setiap proses memegang satu atau lebih sumber daya yang diminta oleh proses
berikutnya pada lingkaran tersebut, masing-masing menunggu sumber daya yang
digenggam oleh anggota berikutnya pada rantai itu.
Ketiga syarat pertama merupakan syarat perlu bagi terjadinya deadlock. Keberadaan
deadlock selalu berarti terpenuhi kondisi-kondisi diatas, tidak mungkin terjadi deadlock bila
tidak ada ketiga kondisi itu. Deadlock terjadi berarti terdapat ketiga kondisi itu, tetapi
adanya ketiga kondisi itu belum berarti terjadi deadlock.
Deadlock baru benar-benar terjadi bila syarat keempat terpenuhi. Kondisi keempat
merupakan keharusan bagi terjadinya peristiwa deadlock. Bila salah satu dari kondisi tidak
terpenuhi maka deadlock tidak terjadi.
Pencegahan deadlock :
1. tiap proses harus meminta semua sumber daya yang diperlukan sekaligus dan tidak
berlanjut sampai semuanya diberikan.
2. Jika proses telah sedang memegang sumber daya tertentu, untuk permintaan
berikutnya proses harus melepas dulu sumber daya yang dipegangnya. Jika diperlukan,
proses meminta kembali sekaligus dengan sumber daya yang baru.
3. Beri pengurutan linier terhadap tipe-tipe sumber daya pada semua proses, yaitu jika
proses telah dialokasikan suatu tipe sumber daya, proses hanya boleh berikutnya
meminta sumber daya tipe pada urutan yang berikutnya.
Saran pencegahan deadlock diatas merupakan cara meniadakan salah satu dari syarat
perlu. Syarat perlu pertama jelas tidak bisa ditiadakan, kalau tidak menghendaki kekacauan
hasil.
Penghindaran deadlock
Adalah hanya memberi akses ke permintaan sumber daya yang tidak mungkin
menimbulkan deadlock.
BAB VIII
Keamanan Sistem
Pokok masalah keamanan sistem salah satunya disebabkan karena sistem time sharing dan
akses jarak jauh, apalagi dengan meningkatnya perkembangan jaringan komputer.
Keamanan sistem komputer adalah untuk menjamin sumber daya sistem tidak digunakan
/ dimodifikasi, diinterupsi dan diganggu oleh orang yang tidak diotorisasi. Pengamanan
termasuk masalah teknis, manajerial, legalitas dan politis.
Keterjaminan bahwa informasi di sistem komputer hanya dapat diakses oleh pihak-
pihak yang terotorisasi dan modifikasi tetap menjaga konsistensi dan keutuhan data di
sistem
2. Integritas / integrity
Keterjaminan bahwa sumber daya sistem komputer hanya dapat dimodifikasi oleh
pihak-pihak yang terotorisasi
3. Ketersediaan / availability
Keterjaminan bahwa sumber daya sistem komputer tersedia bagi pihak-pihak yang
diotorisasi saat diperlukan
Sumber Tujuan
informa informa
si si
Aliran
normal
Tipe ancaman terhadap keamanan sistem komputer dapat dimodelkan dengan memandang
fungsi sistem komputeer sebagai penyedia informasi.
Sumber Tujuan
informa informa
si si
Interupsi
2. Intersepsi / interception
Pihak tak diotorisasi dapat mengakses sumber daya. Merupakan ancaman terhadap
kerahasiaan. Pihak tak diotorissasi dapat berupa orang / program komputeer.
Contohnya penyadapan, mengcopy file tanpa diotorisasi.
Sumber Tujuan
informa informa
si si
Intersepsi
3. Modifikasi / modification
Pihak tak diotorisasi tidak hanya mengakses tapi juga merusak sumber daya.
Merupakan ancaman terhadap integritas. Contohnya mengubah nilai file, mengubah
program, memodifikasi pesan
Sumber Tujuan
informa informa
si si
4. Fabrikasi / fabrication
Pihak tak diotorisasi menyisipkan / memasukkan objek-objek palsu ke sistem.
Modifikasi
Merupakan ancaman terhadap integritas. Contohnya memasukkan pesan palsu ke
jaringan, menambah record file.
Sumber Tujuan
informa informa
si si
Fabrikasi
Petunjuk prinsip-prinsip pengamanan sistem komputer, yaitu :
1. Rancangan sistem seharusnya publik
Tidak tergantung pada kerahasiaan rancangan mekanisme pengamanan. Membuat
proteksi yang bagus dengan mengasumsikan penyusup mengetahui cara kerja sistem
pengamanan.
2. Dapat diterima
Mekanisme harus mudah diterima, sehingga dapat digunakan secara benar dan
mekanisme proteksi tidak mengganggu kerja pemakai dan pemenuhan kebutuhan
otorisasi pengaksesan.
3. Pemeriksaan otoritas saat itu
Banyak sisten memeriksa ijin ketika file dibuka dan setelah itu (opersi lainnya) tidak
diperiksa.
4. Kewenangan serendah mungkin
Program / pemakai sistem harusnya beroperasi dengan kumpulan wewenang serendah
mungkin yang diperlukan untuk menyelesaikan tugasnya.
5. Mekanisme yang ekonomis
Mekanisme proteksi seharusnya sekecil dan sesederhana mungkin dan seragam
sehingga mudah untuk verifikasi.
3 cara otentifikasi :
1. Sesuatu yang diketahui pemakai, misalnya password, kombinasi kunci, nama kecil ibu
mertua, dll
Masalah proteksi adalah mengenai cara mencegah proses mengakses objek yang tidak
diotorisasi. Sehingga dikembangkan konsep domain. Domain adalah himpunan pasangan
(objek,hak). Tiap pasangan menspesifikasikan objek dan suatu subset operasi yang dapat
dilakukan terhadapnya. Hak dalam konteks ini berarti ijin melakukan suatu operasi.
Cara penyimpanan informasi anggota domain beerupa satu matrik besar, dimana :
baris menunjukkan domain
kolom menunjukkan objek