Modul Sistem Operasi..

advertisement
Sistem Operasi Komputer
BAB I
PENDAHULUAN
Tanpa perangkat lunak (software) sebuah komputer sebenarnya sekumpulan besi
yang tidak berguna. Dengan software sebuah komputer dapat digunakan untuk
menyimpan, mengolah data (memproses) dan mendapatkan kembali informasi yang telah
disimpan, menemukan kesalahan dalam program, memainkan games dan menggunakan
banyak aktivitas lainnya yang bernilai. Pada umumnya program komputer dapat dibagi
menjadi dua kategori, yaitu :
a. Program sistem (system program). Yang berfungsi untuk mengatur operasi dari
komputer itu sendiri.
b. Program aplikasi (application program). Yang berfungsi untuk membantu
menyelesaikan masalah untuk pemakainya.
1. Blok Diagram Komputer
Control Unit
Masukan
Processor
Saluran
Penghubung
Keluaran
Memory
Memori
Dukung
Clock
Gambar 1. Diagram Blok Komputer
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.
Banking
Word
System Processing
User
Game
Program
Aplikasi
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
1
Sistem Operasi Komputer
Command
Interpreter
Program
Bahasa Mesin (Machine Language)
Pemrograman Mikro
(Microprogramming)
Perangkat Fisik (Physical Devices)
Hardware
Compiler
Utility
Sistem Operasi (Operating System)
Sistem
Gambar 2. Komponen Sistem Komputer
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
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
2
Sistem Operasi Komputer
- 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.
2. Sistem Operasi Komputer
 Pengertian Sistem Operasi
 Seperangkat program yang memantau dan mengatur pemakaian sumber daya
komputer (processor, main memory, file, I/O device, dll).
 Menjembatani / penghubung antara user (program user) dengan perangkat keras
komputer.


Fungsi Sistem Operasi
 Sebagai Resource Manager /pengelola seluruh sumber daya system komputer
 Mengatur dan mengefisienkan penggunaan selluruh sumber daya komputer
(computer resources)
 Tugas utamanya : memantau penggunaan semua resources; menerapkan aturan
(policy); mengalokasikan resources yang diminta; mengambil kembali
(dealokasi) resource
 Sumber daya pada komputer terdiri dari :
- Sumber daya fisik, misalnya : Keyboard, bar-code reader, mouse, joystick,
light-pen, touch-screen, pointing devices, floppy disk drive, harddisk, tape
drive, optical disk, CD ROM drive, CRT, LCD, printer, modem, ethernet card,
PCMCIA, RAM, cache memory, register, kamera, sound card, radio, digitizer,
scanner, plotter, dan sebagainya.
- Sumber daya abstrak, terdiri dari :Data dan Program
 Sebagai Extended Machine (Virtual Machine), penyedia layanan
 Menyembunyikan kompleksitas / kerumitan pemrograman hardware dari
programmer atau user.
 Menyajikan fasilitas yang lebih mudah dan sederhana untuk menggunakan
hardware.
Konsep Sistem Operasi
 Proses
 Proses adalah program yang sedang di-eksekusi.
 Proses terdiri dari : Executable program; program data dan stack; program
counter; dll
 Pada sistem timesharing secara periodik sistem operasi menggilir eksekusi
proses-proses yang ada, biasanya berdasarkan porsi waktu CPU.
 Ketika suatu proses dihentikan untuk sementara, maka proses tersebut harus
dimulai kembali pada state yang sama dengan state ketika ia dihentikan.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
3
Sistem Operasi Komputer

Semua informasi yang berkaitan dengan proses tersebut harus disimpan.
Umumnya informasi tersebut disimpan pada tabel proses (array atau linked
list), satu tabel untuk setiap proses.
 Tabel proses (process table) adalah tabel yang berisi informasi tentang
semua proses yang dijalankan.
 Suatu proses terdiri dari : address space (core image) dan atribut / informasi
pada tabel proses
 System call utama dalam pengaturan proses adalah yang berkaitan dengan
pembuatan dan pemberhentian suatu proses.
Contoh :
 Command interpreter atau shell akan membaca command yang diketikkan
user pada terminal, dan membuat proses yang menjalankan command
tersebut.
 Bila telah selesai, maka proses akan menjalankan system call untuk
menghentikan dirinya.
 Suatu proses dapat men-create proses lainnya yang disebut sebagai child process.
 Sistem operasi dapat berkomunikasi dengan suatu proses dengan menggunakan
signal.
 Signal juga dapat digunakan untuk komunikasi antar proses.
 Pada sistem multiprogramming, setiap proses memiliki user identification (uid)
yang berasal dari uid pemilik proses.
 Files
Terdiri dari : Pathname; Working directory; rwx (read, write, execute) bits
protection code; File descriptor / handle; Special file (block & character); Standard
input; Standard output; Standard error; Pipe. SO mendukung konsep direktori.
Root Directory
Directory
File
Gambar 3. Model Struktur File
 System Calls / API (Aplication Programming Interface)
 Suatu set tata cara pemanggilan di program aplikasi untuk memperoleh layanan
system operasi. Berupa extended instructions / perluasan instruksi yang
merupakan interface / layanan langsung antara program-program dengan sistem
operasi.
 System calls meng-create, men-delete dan menggunakan objek-objek yang diatur
oleh system operasi, antara lain : proses-proses dan file-file.
 Library procedure meletakkan parameter-parameter system call pada tempat
tertentu dan memberikan instruksi trap untuk memulai sistem operasi
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
4
Sistem Operasi Komputer

 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 (runtime).
 The ‘big mess’
 Tidak berstruktur
 Kernel call / supervisor call
 User mode
 Kernel mode / supervisor mode
User Program
User Program
2
Runs in
User Program
1
User Mode
Kernell Call
4
1
3
s
2
Dispatch
Table
servis
service
procedure
Operating System
runs in
Kernel Mode
Gambar 4. Struktur Sistem Monolithic
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
5
Sistem Operasi Komputer
 Sistem Berlapis (Layered System)
 Konsep : “Sistem operasi dibentuk secara hirarki berdasarkan lapisan-lapisan,
dimana lapisan-lapisan memberi layanan lapisan lebih atas”.
 Dimaksudkan untuk mengurangi kompleksitas rancangan dan implementasi
system operasi. Tiap lapisan mempunyai fungsional dan antarmuka I/O antara
dua lapisan bersebelahan.
 Contoh :
 Sistem Operasi THE (Technique Hogesschool Endiche), Djikstra, 1968.
 Sistem Operasi MULTICS (menggunakan concentric rings).
Tabel 1. Lapisan-lapisan pada Sistem Operasi THE
Laye
Fungsi
r
Function
5 The Operator
Untuk operator
4 User Programs
Untuk aplikasi program pemakai
Untuk menyederhanakan akses I/O
3 I/O Management
pada level atas
Untuk mengatur komunikasi antar
2 Operator-Process Communication
proses
Untuk mengatur alokasi ruang
1 Memory & Drum Management
memori / drum magnetic
Untuk mengatur aloksi pemroses
Processor Allocation &
0
dan switching multiprogramming
Multiprogramming
dan pengaturan prosesor
Keterangan :
- Lapisan n memberi layanan untuk lapisan n+1. Proses-proses di lapisan n dapat
meminta layanan lapisan n-1 untuk memberikan layanan bagi lapisan n+1. Tetapi
lapisan n tidak dapat meminta layanan n+1. Kelanjutan sistem berlapis adalah sistem
berstruktur cincin seperti sistem MULTICS yang terdiri 64 lapisan cincin dimana
satu lapisan mempunyai fungsi berbeda. Lapisan n-1 mempunyai kewenangan lebih
dibanding lapisan n. Untuk meminta layanan lapisan n-1, lapisan n melakukan trap.
Kemudian, lapisan n-1 mengambil kendali sepenuhnya untuk melayani lapisan n.
 Sistem dengan Mesin Maya (Virtual Machines)
 Konsep : “Awalnya struktur ini membuat seolah-olah user mempunyai seluruh
komputer dengan simulasi atas pemroses yang digunakan. Sistem operasi
melakukan simulasi mesin nyata. Mesin hasil simulasi digunakan user, mesin
maya merupakan tiruan 100% atas mesin nyata. Semua user diberi ilusi
mempunyai satu mesin yang sama-sama canggih”.
 Contoh :
 Sistem operasi MS-Windows NT dapat menjalankan aplikasi MS-Dos, OS/2
mode teks, dan Win 16.
 Pengembang Linux membuat DOSEMU agar aplikasi MS-Dos dapat dijalankan
di Linux, WINE agar aplikasi MS-Windows dapat dijalankan di Linux, iBCS
agar aplikasi SCO-Unix dapat dijalankan di Linux.
 CP/CMS
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
6
Sistem Operasi Komputer
 VM/370
 Virtual Machine Monitor
 CMS (Conversational Monitor System)
Virtual 370s
I/O
Intruction
Trap
CMS CMS
VM 370
CMS
370 Bare Hardware
System Call
Trap
Gambar 5. Sistem Virtual Mesin
 Sistem dengan Client-Server
 Konsep : “Server adalah proses yang menyediakan layanan, dan Client adalah
proses yang memerlukan / meminta layanan. Proses client yang memerlukan
layanan mengirim pesan ke server dan menanti pesan jawaban. Proses server
setelah melakukan tugas yang diminta, mengirim hasil dalam bentuk pesan
jawaban ke proses client. Server hanya menanggapi permintaan client dan tidak
memulai percakapan dengan client”.
Mem
Client Client Process Term.
File
User
… Server Server
Process Process Server Server
Mode
Kernel
Mode
Kernel
Client obtains service
messages
to server processes
Gambar 6. Model Client Server
 Model Client Server pada distributed system
Client
Kernel
Client
Kernel
Client
Kernel
Message from client to server
by
sending
Client
Kernel
NETWORK
Gambar 7. Model Client Server pada Distributed System
 Sistem berorientasi objek
 Konsep : “Layanan diimplementasikan sebagai objek”.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
7
Sistem Operasi Komputer


 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.
Layanan Sistem Operasi Komputer
 Layanan Otomatis : Alokasi sumberdaya; Catatan pemakaian; Proteksi; Penanganan
kekeliruan; Pindah baris; Gulung jendela pada monitor
 Layanan permintaan pemakaian : Loading; Mengolah/run; Menyimpan/save;
Menghapus/delete
Jenis Sistem Operasi
 Aspek kegiatan
 Pemakai tunggal (single user)
 Pemakai jamak (multiuser)
 Berdasarkan jenis-jenisnya
 Linux
 MS-Dos
 MS Windows-NT
 MS Windows
 Dll
3. Sejarah Perkembangan Sistem Operasi
 Generasi Sistem Operasi
 Generasi ke-1 (1945-1955) : Vacuum Tubes dan Plugboards
 Analytical Engine (Charles Babbage)
 Calculating Engine menggunakan vacuum tubes (Howard Aitken, John von
Neumann, J.P Eckert, Konrad Zuse)
 Beluam ada bahasa pemrograman
 Belum ada sistem operasi, system komputer diberi instruksi yang harus
dikerjakan langsung.
 Operasi menggunakan plugboard
 Pengenalan punched card
 Generasi Ke-2 (1955-1965) : Transistors dan Batch System
 Tetap belum dilengkapi system operasi. Tetapi beberapa fungsi dasar SO sudah
ada.
 Pengenalan transistor untuk komputer
 Pemisahan fungsi personil :Designer , Operator, Programmer dan Maintenance
personel
 Pengenalan job (program atau seperangkat program)
 Penggunaan bahasa FORTRAN, Assembeler
 Penerapan Batch System
 Pengoperasian Off-Line
 Penggunaan mesin-mesin besar untuk kalkulasi sains dan engineering
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
8
Sistem Operasi Komputer
 Typical operating system : FMS (Fortran Monitor System) dan IBSYS (sistem
operasi untuk IBM 7094)
 Generasi Ke-3 (1965-1980) : IC dan Multiprogramming
 IBM mengenalkan IBM 360 dengan sistem operasi OS/360
 Menggunakan Integrated Circuit (IC)
 Dapat menangani komputasi sains dan komersial
 Mengadopsi konsep ‘one family’
 Sistem operasi berukuran besar dan kompleks
 Mengenalkan multiuser, komputer memiliki resource yang dapat digunakan oleh
banyak orang sekaligus
 Mengenalkan multiprogramming, komputer melayani banyak proses sekaligus
pada waktu yang bersamaan dengan menerapkan partisi memori menjadi
beberapa bagian memori dengan satu bagian memori untuk satu job berbeda.
Saat satu job menunggu operasi I/O selesai, job lain dapat menggunakan proses.
Partisi Memori
Job 3
Job 2
Job 1
Sistem operasi
 Mengenalkan Time Sharing (berbagi waktu), tiap pemakai mempunyai satu
terminal online dengan pemroses hanya memberi layana pada pemakai yang
aktif secara bergantian secara cepat. Pemakai akan merasa dilayani terus
menerus. Padahal sebenarnya secara bergantian.
 Mengenalkan SPOOLING (Simultaneous Peripheral Operation On Line), membuat
peripheral seolah-olah dapat digunakan bersamaan, dapat diaksis secara
simultan yaitu dengan cara menyediakan beberapa partisi memori. Saat terdapat
permintaan layanan peripheral, langsung diterima dan data disimpan lebih dulu
di memori yang disediakan berupa antrian kemudian dijadwalkan agar secara
nyata dilayani peripheral.
 Sistem time sharing pertama, CTSS, dikembangkan di MIT
 Usaha pengembangan ‘computer utility’ mesin yang dapat menunjang ratusan
time sharing user
 Pengembangan komputer MINI (DEC-PDP-1 s/d PDP-11)
 Ken Thompson mengembangkan versi satu pemakai (single user) dari MULTICS
(MULTIplex and Computing Services)
 UNIX (Uniplexed Information and Computing Services)
 Generasi Ke-4 (1980-1990) : LSI, VLSI, dan Personal Computer (PC)
 Pengembangan LSI dan VLSI melahirkan PC dan Workstation
 Perangkat lunaknya ‘user friendly’
 Dua sistem operasi yang dominan :
 MS-DOS (pada IBM-PC dengan CPU Intel 8088, 80286, 80386, 80486)
 UNIX (pada Non-Intel computer dan workstation)
 RISC Chips
 Network Operating System
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
9
Sistem Operasi Komputer
 Distributed Operating System
 Generasi Ke-5 (1990-sekarang) : VLSI, ULSI an teknologi Nano Second, Internet,
Multimedia
 Pengembangan VLSI an ULSI melahirkan PC yang berbasis Pentium untuk server
maupun workstation
 Pengembangan sistem operasi windows
 Pengembangan internet dan multimedia
 Pengembangan aplikasi yang berbasis Web atau WWW
 dll.
The End
But
To be continue……
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
10
Sistem Operasi Komputer
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.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
11
Sistem Operasi Komputer
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.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
12
Sistem Operasi Komputer
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.
Satu
program counter
A
Empat
program counter
Proses
D
C
B
B
C
D
Proses
Model
A
B
C
D
A
Waktu
(a)
(b)
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
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
(c)
13
Sistem Operasi Komputer
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.
1.
Create & Destroy Proses
Sistem operasi yang mendukung konsep proses, harus menyediakan suatu cara untuk
membuat (create) proses dan menghilangkan (destroy) proses.
2. Fork System Call
Mekanisme untuk membuat (create) proses yang identik dengan proses yang
memanggilnya.
Contoh :
Parent 
children

children

children

children
Pada UNIX, parent dan child process running secara parallel.
Pada DOS, parent dan child process running secara bergantian (sequential). Contohnya :
MSDOS sebagai parent dan program aplikasi sebagai child.
Process scheduler : untuk pengaturan eksekusi proses
3 Status proses / bagian keadaan proses :
1. Running / kerja, benar-benar menggunakan CPU pada saat itu (sedang mengeksekusi
instruksi proses itu).
2. Blocked / terhenti, tidak dapat berjalan sampai kegiatan eksternal terlaksana (proses
menunggu kejadian untuk melengkapi tugasnya)
Bisa berupa proses menunggu : Selesainya operasi perangkat I/O; Tersedianya memori;
Tibanya pesan jawaban
3. Ready / siap, proses siap dikerjakan tetapi menunggu giliran dengan proses lain yang
sedang dikerjakan (bisa berjalan, sementara berhenti untuk memungkinkan proses lain
dikerjakan)
Transisi Status
Running /
kerja
2
1
3
Blocked /
terhenti
4
Ready
siap
/
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
14
Sistem Operasi Komputer
1.
2.
3.
4.
Proses di blok untuk melayani input karena sumber daya yang diminta belum tersedia
/ meminta layanan I/O sehingga menunggu kejadian muncul.
Penjadwalan mengambil proses lain.
Penjadwalan mengambil proses ini (baru).
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.
Contoh Tabel Proses :
Proses management
Register
Program counter
Program status word
Stack pointer
Process state
Time when process started
CPU time used
Children’s CPU time
Time of next alarm
Message queue pointers
Pending signal bits
Process id
Various flag bits




Memory management
File management
Pointer to text segment
UMASK mask
Pointer to data segment
Root directoy
Pointer to bss segment
Working directory
Exit status
File descriptiors
Signal status
Effective uid
Process id
Effective gid
Parent process
System call parameters
Process group
Various flag bits
Real uid
Effective uid
Real gid
Effective gid
Bit maps for signals
Various flag bits
Interupsi : Kerja prosesor pada suatu proses terhenti oleh pensaklaran konteks.
Pensaklaran konteks : perubahan kegiatan prosesor dari proses ke proses yang
terjadi diantara proses sistem / proses aplikasi
Konteks : kegiatan prosesor terhadap sesuatu hal, berasal dari sistem operasi, sistem
bahasa dan sistem utilitas.
Blok kendali proses : suatu bagian memori untuk mencatat keadaan proses, yang
terbagi atas wilayah dimana setiap wilayah untuk mencatat informasi yang berbeda.
2 cara interupsi pada processor :
1. Interupsi langsung
Berasal dari luar prosesor (peripheral / alat mengirim sinyal kepada prosesor untuk
meminta pelayanan)
2. Interupsi Tanya / Polling
Berasal dari prosesor (prosesor secara bergiliran mengecek apakah ada peripheral
yang memerlukan pelayanan atau tidak)
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
15
Sistem Operasi Komputer




Interupsi dapat di-enable dan disable tergantung pada levelnya.
Pembangkit interupsi dapat berasal dari :
o Program, di dalam program telah dirancang pada bagian tertentu akan terjadi
pensaklaran konteks, yang menimbulkan interupsi, contohnya pada saat
penggunaan alat / prosesor secara bergantian.
o Prosesor, prosesor sendiri dapat membangkitkan interupsi, yang biasa mengolah
logika dan aritmatika. Jika melampoi ukuran tampung register di dalam prosesor,
maka terjadi kekeliruan yang akan menginterupsi kerjanya sendiri dan
menyerahkan kendali prosesor pada sistem operasi. Misalnya pembagian dengan
bilangan nol.
o Satuan kendali, tugas untuk melaksanakan interupsi terletak pada satuan kendali,
sehingga satuan kendali dapat membangkitkan interupsi. Misalnya kekeliruan
instruksi
o Kunci waktu / clock, menggunakan interupsi berkala. Misalnya pada program
looping yang tak terhingga, diinterupsi pada setiap selang waktu 60 detik.
o Peripheral I/O, I/O jika akan bekerja memberitahukan pada prosesor dengan
interupsi prosesor dan juga ketika pekerjaan selesai atau pada saat terjadi
kekeliruan paritas.
o Memori, karena terjadi kekeliruan, misalnya ketika prosesor ingin mencapai alamat
memori yang terletak di luar bentangan alamat memori yang ada.
o Sumber daya lain, misal dibangkitkan oleh operator sistem komputer yang mengerti
cara interupsi.
Interupsi vector : Berisi alamat prosedur service interupsi
Penerimaan interupsi dan interupsi berganda : ada kalanya interupsi ditolak oleh
prosesor atau interupsi yang datang tidak hanya satu sehingga diperlukan prioritas.
Tindak lanjut interupsi :
1. Penata interupsi / interrupt handler
jika terjadi interupsi, maka kendali prosesor diserahkan ke bagian penata interupsi
pada sistem operasi, maka penata interupsi inilah yang melaksanakan interupsi.
a. Instruksi yang sedang diolah oleh prosesor dibiarkan sampai selesai program.
b. Penata interupsi merekam semua informasi proses ke dalam blok kendali proses.
c. Penata interupsi mengidentifikasi jenis dan asal interupsi.
d. Penata interupsi mengambil tindakan sesuai dengan yang dimaksud interupsi.
e. Penata interupsi mempersiapkan segala sesuatu untuk pelanjutan proses yang
diinterupsi.
2. Penata keliru / error handler
yaitu interupsi karena kekeliruan pada pengolahan proses dan bagian pada sistem
operasi yang menata kegiatan akibat kekeliruan adalah penata keliru.
a. Pemulihan, komputer telah dilengkapi dengan sandi penemuan dan pemulihan
kekeliruan, contohnya telah dilengkapi dengan sandi Hamming sehingga ketika
menemukan kekeliruan sandi akan mengoreksi kekeliruan itu, proses pulih ke
bentuk semula sebelum terjadi kekeliruan.
b. Pengulangan, mengatur agar proses yang membangkitkan interupsi keliru
dikerjakan ulang, jika kekeliruan dapat diatasi maka proses akan berlangsung
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
16
Sistem Operasi Komputer
c.
seperti biasa, jika tidak teratasi maka interupsi akan menempuh tindak lanjut
keluar dari proses.
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.
Tindak lanjut interupsi menurut Peterson & Silberschatz :
Interupsi
Rekam informasi proses
Maksud interupsi?
Rampung
Keliru
Bukan I/O
Mulai I/O
Kerja /
Perintah
Berikutnya
Curah
Laksanakan
Mulai
Permintaan
Rampung I/O
Tanda
Rampung
Interupsi
Kembali ke proses sebelum
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.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
17
Sistem Operasi Komputer
Catt:
1 & 2 tidak mengembalikan prosesor ke proses yang terinterupsi, sedangkan
3,4,5 mengembalikan prosesor ke proses yang terinterupsi.
Langkah-langkah yang dilakukan sistem operasi pada saat terjadi interupsi :
1. hardware memasukkan program counter, dl.l.
memasukkan ke dalam stack pencacah program
2. Hardware memuatkan (load) program counter baru dari vector interrupsi
3. Prosedur bahasa rakitan menyimpan isi register
4. Prosedur bahasa rakitan men-set stack yang baru
5. Prosedur C menandai proses servis siap (ready)
6. Scheduler / penjadwalan menentukan proses mana yang akan jalan berikutnya
7. Prosedur C kembali ke modus bahasa rakitan
8. Prosedur bahasa rakitan memulai proses yang sedang dilaksanakan.
Komunikasi antar proses
(Inter Process Communinication / IPC) :
Komunikasi
Proses
Proses
 Beberapa proses biasanya berkomunikasi dengan proses lainnya.
 Contohnya pada shell pipe line : output dari proses pertama harus diberikan kepada
proses ke dua dan seterusnya.
 Pada beberapa sistem operasi, proses-proses yang bekerja bersama sering sharing
(berbagi) media penyimpanan, dimana suatu proses dapat membaca dan menulis pada
shared storage (main memory atau files)
Masalah – masalah pada IPC :
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
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
18
Sistem Operasi Komputer






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 mengoverwrite 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.
Critical Section / seksi kritis :
Bagian dari program yang mengakses shared memory, yang dapat menyebabkan terjadinya
race condition.
4 kondisi untuk mencegah race condition :
a. Tidak ada 2 proses yang memasuki critical sectionnya secara bersamaan / simultan
b. Tidak ada asumsi yang dibuat yang berhubungan dengan kecepatan dan jumlah CPU
c. Tidak ada proses yang berjalan diluar critical section-nya yang dapat memblokir
proses-proses lain
d. Tidak ada proses yang menunggu selamanya untuk masuk ke critical section-nya.
Mutual Exclusion (MuTex) With Busy Waiting :
Jika suatu proses sedang mengakses shared memory di critical sectionnya, tidak ada satu
prosespun yang dapat memasuki critical section (mutual exclusion) dan menyebabkan
masalah.
Jenis-jenis mutual exclusion :
1. Disabling interrupt / mematikan interupsi
Dengan cara mematikan interupsi yang masuk pada saat proses sedang berada pada
critical section-nya. Cara ini kadang cukup berguna untuk kernel tetapi tidak untuk
user. Dan cara inipun tidak terlalu baik untuk CPU yang jumlahnya lebih dari satu,
dimana disable interrupt hanya mengenai CPU yang sedang menjalankan proses itu dan
tidak berpengaruh terhadap CPU lain
2. Lock variables
Setiap proses yang akan mengakses ke critical section-nya harus meng-cek lock
variable. Jika 0 berarti proses dapat memasuki critical section-nya dan jika 1 maka
proses harus menunggu sampai lock variable = 0. Kelemahannya adalah 2 proses masih
dapat memasuki critical section-nya pada saat yang bersamaan. Sewaktu satu proses
meng-cek lock variable = 0, pada saat akan men-set 1 ada interupsi untuk
melaksanakan proses lain yang juga ingin memasuki critical sectionnya, maka akan
terjadi race condition.
3. Strict alternation
Dengan mengamati variable turn untuk menentukan siapa yang akan memasuki critical
section-nya bukanlah ide yang baik jika proses lebih lambat dari yang lain.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
19
Sistem Operasi Komputer
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];
void enter_region(int process)
/*nilai awal di-set = 0 (false)*/
/*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)
}
void leave_region(int process)
/*proses yang selesai*/
{
interested[process] = FALSE; /*meninggalkan critical region*/
}
5. Test and Set Lock Instruction / Instruksi TSL
Dengan bantuan hardware, menentukan siapa yang berhak memasuki critical_region
(section)
Contoh :
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
20
Sistem Operasi Komputer
Enter_region :
Tsl reg,flag
flag = 1
Cmp reg,#0
Jnz enter_region
Ret
region
| copy flag ke reg dan set
| apakah flag = 0
|jika <> 0 loop lagi
|return ke caller, masuk critical
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
Dua macam operasi terhadap semaphore :
1. DOWN(S) :
If S >= 0 then
S := S-1;
Else sleep (S)
End;
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
21
Sistem Operasi Komputer
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
Masalah Klasik IPC :
 The Dining Philosopher Problem
- 5 philosophers yang kerjanya hanya makan dan berfikir
- tersedia lima piring spaghetti dan lima sumpit
- untuk makan dibutuhkan bua buah sumpit
- problem-nya bagaimana cara menulis program agar setiap philosopher dapat
berfikir dan makan tanpa harus saling menunggu ?
 The Readers and Writers Problem
- Model akses database
- Banyak proses berkompetisi untuk membaca dan menulis. Contohnya : airline
reservation.
- Beberapa proses boleh membaca pada saat yang sama
- Bila suatu proses sedang menulis, tidak boleh ada proses lain yang mengakses
database
- Proses membaca mempunyai prioritas yang lebih tinggi daripada proses menulis
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
22
Sistem Operasi Komputer
Proses dalam Sistem Terdistribusi
Thread
Computer
(a)
Process
Computer
Thread
(b)
Program Counter
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)
Ada 3 model process pada server :
1. thread di ciptakan untuk dapat melakukan paralelisme yang dikombinasikan dengan
eksekusi sekuensial dan blocking system calls
2. single treads server, menggunakan blocking system calls, tetapi kinerja sistem tidak
baik
3. finite-state machine, kinerja baik dengan melakukan parallelisme, tetapi menggunakan
nonblocking calls, sehingga sulit dalam memprogram
Status proses terhadap prosesor :
1. Status proses tanpa henti
Selesai
2.
Selesai
Mulai
Kerja
Status proses sambil bekerja dan terhenti
Mulai
Kerja
Terhenti
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
23
Sistem Operasi Komputer
3.
Status proses dengan status siap
Mulai
Siap
Kerja
Terhenti
Terhenti
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
24
Sistem Operasi Komputer
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
Gambar suatu contoh prosesor
Keterangan :
 GK = galur kendali / control bus
 GD = galur data / data bus, tempat informasi data berlalu lintas antar register
 GA = galur alamat / address bus, tempat informasi alamat memori berlalu lintas antar
register karena setiap kali hanya ada 1 informasi dalam galur ini, maka lalu lintas diatur
oleh tanda waktu dari kunci waktu. Tanda waktu dibentuk oleh basis waktu
 A = akumulator, register serba guna yang dapat menerima berbagai informasi
 SLA = satuan logika dan aritmatika / ALU, tempat pengolahan, contohnya untuk
menghitung 3+4=?, maka data 3 diletakkan di register A dan data di register B. proses
penjumlahan terjadi di SLA / ALU, hasil = 7 diletakkan kembali di register A
 B = register, register yang menerima informasi yang akan diolah bersama oleh isi
register A
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
25
Sistem Operasi Komputer






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.
2 siklus kerja prosesor :
1. Siklus Jemput
a. PT berisi alamat awal program pada memori kerja yang disesuaikan dengan isinya di
memori kerja
b. RA = PT, alamat memori PT diteruskan ke RA
c. RA  RD, isi program diambil dari memori kerja dan diletakkan di RD
d. RI = RD, dari RD program diteruskan ke RI
e. PT= PT + 1, pencacah untuk melanjutkan siklus berikutnya
f. Go to point b
2. Siklus Kerja
a. RI = SK, isi program di RI akan diteruskan ke SK, RI berisi instruksi untuk
melaksanakan sesuatu
b. SK  seluruh kegiatan di dalam prosesor dikendalikan sehingga kerja yang
dimaksud oleh bagian program itu dirampungkan.
2 jenis kerja / proses :
1. Tugas / proses sistem, berasal dari program sistem yaitu dari sistem bahasa, utilitas,
operasi, dimana prosesor melayani sistem (prosesor dikuasai sistem / kontek sistem)
2. Tugas / proses aplikasi, berasal dari program aplikasi, dimana prosesor melayani
aplikasi (prosesor dikuasai aplikasi / kontek aplikasi)
Proses Serentak / Concurrent Process :
Yaitu prosesor menghadapi banyak tugas dan proses.
a. Multiprogramming, sistem komputer lebih dari 1 program sekaligus dalam pelaksanaan
proses.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
26
Sistem Operasi Komputer
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
Proses Serentak Berpenggalan :
Ada penggalan dari 1 proses yang berselingan dengan penggalan dari proses lain dan ada
penggalan dari proses pertama yang bertumpang tindih waktu dengan penggalan proses
kedua.
A
A1
A2
B
B1
B2
C
C1
C2
Istilah dalam penjadwalan proses :
 Scheduler adalah bagian sistem operasi yang mengatur penjadwalan eksekusi prosesproses.
 Algoritma penjadwalan (scheduling algorithm) adalah algoritma yang digunakan.
 Penjadwalan Proses
o Antrian, karena banyak proses yang muncul secara serentak maka dibuat antrian di
depan prosesor, yang berada dalam keadaan siap dan hanya ada 1 proses yang
berada dalam status kerja
o Prioritas, mendahulukan pada antrian proses karena tidak semua proses sama
pentingnya, sehingga dibuat suatu prioritas. Dalam prioritas, pekerjaan pada
prosesor diselesaikan dahulu baru proses berprioritas akan di proses
o Preempsi, sama dengan prioritas, tetapi pada preempsi jika ada proses yang
mendapatkan preempsi maka preemsi akan menghentikan kerja prosesor dan
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
27
Sistem Operasi Komputer



mengeluarkan pekerjaan di dalam prosesor itu, sehingga proses berpreempsi dapat
dilayani prosesor. Dan setelah proses berpreempsi selesai dilaksanakan, prosesor
akan melaksanakan sisa proses yang dikeluarkan dari pekerjaannya tadi
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
Perhitungan kerja prosesor
 t adalah lama proses pada prosesor, lama waktu sesungguhnya yang diperlukan
untuk mengolah proses dalam prosesor.
 T adalah lama tanggap pada prosesor, lama waktu yang diperlukan oleh prosesor
sejak tiba sampai dengan rampung diolah oleh prosesor, terdapat waktu tunggu
dalam antrian / dalam preempsi.
o Lama tanggap turn around time, yaitu memperhitungkan lama waktu yang
diperlukan oleh proses untuk keluaran
o Lama tanggap respon time, yaitu tidak memperhitungkan lama waktu yang
diperlukan oleh proses untuk keluaran
 Tr adalah lama tanggap rata-rata, yaitu perbandingan lama tanggap setiap proses
(Ti) dengan jumlah proses serentak yaitu Tr =  Ti / N
 S adalah waktu sia-sia, waktu yang terbuang di dalam antrian / selama terkena
preempsi yaitu selisih antara lama tanggap dengan lama proses (T-t)
 Rt adalah rasio tanggap, perbandingan antara lama proses terhadap lama tanggap,
Rt = t / T
 Rp adalah rasio penalti, perbandingan antara lama tanggap terhadap lama proses,
Rp = T/t dan karena t  T, maka Rt < 1 dan Rp >1
Penjadwalan Prosesor
 Penjadwalan satu tingkat
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
28
Sistem Operasi Komputer
a. Pertama Tiba Pertama Dilayani (PTPD)
b. Proses Terpendek Dipertamakan (PTD)
c. Proses Terpendek Dipertamakan Preempsi (PTDP)
d. Rasio Penalti Tertinggi Dipertamakan (RPTD)
e. Putar Gelang (PG)
f. Putar Gelang Prioritas Berubah (PGPB)
 Penjadwalan multi tingkat
a. Antrian multi tingkat
b. Antrian multi tingkat berbalikan
Penjadwalan Satu Tingkat
 Pertama Tiba Pertama Dilayani (PTPD) / First Come First Served (FCFS)
Penjadwalan ini murni antrian, tanpa prioritas tanpa preempsi.
Nama
Proses
A
B
C
D
E
Saat
Tiba
0
0
0
0
0

serentak
Lama
Proses
9
30
4
8
12
Saat
Tiba
0
1
3
7
Lama
Proses
4
7
3
8
Saat
Mulai
0
9
39
43
51
Saat Rampung
9
39
43
51
63
 Ti
Tr
Lama
Tanggap
9
39
43
51
63
205
41
Tr cukup besar, jika dibandingkan dengan lama tanggap dari masing-masing proses.
Nama
Proses
A
B
C
D
Saat
Mulai
0
4
11
14
Saat Rampung
Lama tanggap  saat rampung karena perbedaan saat tiba.
4
11
14
22
 Ti
Tr
Lama
Tanggap
4
10
11
15
40
10
 Proses Terpendek Dipertamakan (PTD) / Shortest Job First (SJF)
Penjadwalan ini adalah antrian dengan prioritas tanpa preempsi, yang menjadi prioritas
adalah proses yang terpendek (tersingkat), makin pendek proses, makin tinggi
prioritasnya.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
29
Sistem Operasi Komputer
Nama
Proses
A
B
C
D
E
Nama
Proses
D
E
B
C
A
Saat
Tiba
0
0
0
0
0
Saat
Tiba
0
0
0
0
0

serentak
Lama
Proses
11
8
10
3
5
Saat
Mulai
Saat Rampung
Lama
Tanggap
Lama
Proses
3
5
8
10
11

prioritas
Saat
Mulai
0
3
8
16
26
Saat Rampung
Lama
Tanggap
3
8
16
26
37
90
18
Lama
Proses
5
7
2
4
Saat
Mulai
Tr lebih singkat, jika dibandingkan dengan PTPD
Nama
Proses
A
B
C
D
Saat
Tiba
0
3
5
6
3
8
16
26
37
 Ti
Tr
Saat Rampung
Lama
Tanggap
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
Nama
Proses
A
C
D
B
Saat
Tiba
0
5
6
3
Lama
Proses
5
2
4
7
=18
Saat
Mulai
0
5
7
11
Saat Rampung
5
7
11
18
 Ti
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
Tr
Lama
Tanggap
5
2
5
15
27
6.75
30
Sistem Operasi Komputer
Keuntungan : memperkecil rata-rata lama tanggap
Kelemahan : layanan terhadap proses panjang bisa tidak terlayani jika proses pendek
datang terus.
Nama
Proses
A
B
C
D
E
Nama
Proses
A
C
B
E
D

Saat
Tiba
0
4
6
9
14
Saat
Tiba
0
6
4
14
9
Lama
Proses
8
5
3
8
4
Lama
Proses
8
3
5
4
8
Saat
Mulai
Saat Rampung
Lama
Tanggap
Saat
Mulai
0
8
11
16
20
Saat Rampung
Lama
Tanggap
8
5
12
6
19
50
10
8
11
16
20
28
 Ti
Tr
Proses Terpendek Dipertamakan Preempsi (PTDP)
Preemptive Shortest Job First (PSJF)
Penjadwalan ini dengan prioritas dengan preempsi, yang menjadi pioritas adalah sisa
proses. Proses yang terpendek bisa didahulukan dengan cara membandingkan sisa
waktu proses yang sedang dilaksanakan dengan proses yang tiba, dengan preempsi
mengeluarkan proses yang sedang diolah untuk melaksanakan proses yang lebih
pendek / singkat.
Nama
Proses
A
B
C
D
Saat
Tiba
0
2
4
5
Lama
Proses
7
3
9
4
Saat
Mulai
Saat Rampung
Lama
Tanggap
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
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
31
Sistem Operasi Komputer







Pada saat 0, proses A dikerjakan karena A datang pertama
Pada saat 2, B datang, B=3, sisa A=5, B<A maka A dikeluarkan dari proses, B
dikerjakan
Pada saat 4, C datang, C=9, sisa A=5, sisa B=1, B<A<C, maka B dikerjakan
Pada saat 5, D datang, D=4, sisa A=5, sisa C=9, D<A<C, maka D dikerjakan sampai
selesai karena tidak ada proses yang datang lagi
A<C maka A dikerjakan
C dikerjakan
Selesai
Nama
Proses
A
B
C
D
Saat
Tiba
0
2
4
5
Lama
Proses
7
3
9
4
=23
Saat
Mulai
0
2
15
5
Saat Rampung
14
5
23
9
 Ti
Tr
Lama
Tanggap
14
3
19
4
40
10
Karena preempsi, PTDP lebih baik dari PTD dalam hal kecilnya Tr, tetapi untuk proses
panjang lebih lama dibandingkan PTD.
Nama
Proses
A
B
C
D
Nama
Proses
A
B
C
D

Saat
Tiba
0
2
4
5
Saat
Tiba
0
2
4
5
Lama
Proses
8
5
7
1
Lama
Proses
8
5
7
1
Saat
Mulai
Saat Rampung
Lama
Tanggap
Saat
Mulai
0
2
14
5
Saat Rampung
Lama
Tanggap
14
6
17
1
38
9.5
14
8
21
6
 Ti
Tr
Rasio Penalti Tertinggi Dipertamakan (PTD) /
Highest Penalti Ratio Next (HPRN)
Penjadwalan dengan prioritas tanpa preempsi. Yang menjadi prioritas adalah besarnya
rasio pinalti. Tetap mendahulukan proses pendek ditambah dengan
mempertimbangkan rasio penaltinya, yang ditentukan berdasarkan lama waktu
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
32
Sistem Operasi Komputer
antriannya. Sehingga prioritas proses panjang akan turut meningkat melalui
peningkatan rasio pinalti, sehingga pada suatu saat proses panjang pada antrian yang
telah lama menunggu akan menyusul proses pendek.
S = (T-t) ; Rp = T/t =
(s+t)/t
Nama
Proses
A
B
C
D
E
Nama Proses
B
C
D
E
Saat
Tiba
0
1
2
3
4
Nama Proses
C
D
E
Lama
Proses
4
2
5
8
4
Saat
Mulai
Waktu sia-sia
4-1=3
4-2=2
4-3=1
4-4=0
Waktu sia-sia
6-2=4
6-3=3
6-4=2
Nama Proses
D
E
Waktu sia-sia
11 - 3 = 8
11 - 4 = 7
Saat Rampung
Rasio Penalti
(3 + 2) / 2 = 2,5
(2 + 5) / 5 = 1,4
(1 + 8) / 8 = 1,125
(0 + 4) / 4 = 1
Rasio Penalti
(4 + 5) / 5 = 1,8
(3 + 8) / 8 = 1,375
(2 + 4) / 4 = 1,5
Rasio Penalti
(8 + 8) / 8 = 2
(7 + 4) / 4 = 2,75
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
Nama
Proses
A
B
C
D
E
Saat
Tiba
0
1
2
3
4
Lama
Proses
4
2
5
8
4
=23
Saat
Mulai
0
4
6
15
11
Saat Rampung
4
6
11
23
15
 Ti
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
Tr
Lama
Tanggap
Rp>>
Rp>>
Rp>>
Lama
Tanggap
4
5
9
20
11
49
9.8
33
Sistem Operasi Komputer

Putar Gelang (PG) / Round Robin (RR)
Penjadwalan ini tanpa prioritas, dengan preempsi. Secara bergiliran berdasarkan
antrian (tanpa prioritas) prosesor melayani sejenak setiap proses tergantung besarnya
quantum waktu. Secara berturut-turut proses yang dilayani prosesor dan belum
rampung akan kembali ke akhir antrian yang ada, sehingga pergiliran ini berputar
seperti gelang. Dan hanya proses yang telah rampung terlayani yang meninggalkan
prosesor dan antrian tersebut. Jadi setiap proses dilayani selama quantum waktu
tertentu secara bergiliran.
Quantum waktu : waktu sejenak yang digunakan oleh prosesor untuk melayani setiap
proses. Perubahan quantum waktu membedakan hasil layanan terhadap antrian yang
sama.
Contoh dengan Q = 3
Nama
Saat
Proses
Tiba
A
0
B
0
C
0
D
0
E
0
Lama
Proses
7
5
8
2
6
Saat
Mulai
Saat Rampung
Lama
Tanggap
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
Nama
Proses
A
C
B
E
D
Dengan Q = 2
Nama
Proses
A
B
C
D
E
Saat
Tiba
0
0
0
0
0
Saat
Tiba
0
1
5
6
7
Lama
Proses
7
5
8
2
6
 = 28
Lama
Proses
5
3
7
1
6
Saat
Mulai
0
3
6
9
11
Saat
Mulai
Saat Rampung
26
19
28
11
25
 Ti
Tr
Saat Rampung
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
Lama
Tanggap
26
19
28
11
25
109
21.8
Lama
Tanggap
34
Sistem Operasi Komputer
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
Nama
Proses
A
B
C
D
D
Saat
Tiba
0
1
5
6
7
Lama
Proses
5
3
7
1
6
Saat
Mulai
0
2
7
9
10
Saat Rampung
13
7
22
10
21
 Ti
Tr
Lama
Tanggap
13
6
17
4
14
54
10,4
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.
Penjadwalan dengan prioritas berubah-ubah
Penjadwalan yang menggunakan prioritas dapat diubah-ubah menjadi prioritas lainnya.
1.
2.
Penjadwalan tanpa preempsi dengan prioritas berubah-ubah P = f(s,t,u)
Dengan :
p = prioritas;
s = waktu sia sia;
t = lama proses
u = tarif sewa
Penjadwalan dengan preempsi dengan prioritas berubah-ubah (PGPB = putar
gelang prioritas berubah-ubah) dimana prioritas tergantung pada proses lama dan
proses baru, maka jika : a = koefisien untuk proses lama dan b = koefisien untuk
proses baru,
b/a = 1  prioritas sama
b/a = 0  prioritas lama
b/a < 1  prioritas baru < lama
b/a > 1  prioritas baru > lama
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
35
Sistem Operasi Komputer
Kesimpulan :
Tanpa
Preempsi
Dengan
Preempsi
Tanpa
Prioritas
PTPD
Dengan
Prioritas
PTD / RPTD
PG
PTDP
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.

Antrian Multi Tingkat (Multi level queue)
Mengumpulkan proses-proses yang berkepentingan sama dalam 1 tingkat. Proses
dikerjakan tingkat demi tingkat dari tingkat tertinggi sampai dengan tingkat terendah
dimana setiap tingkat telah rampung dikerjakan
Tingkat 1 c/ proses pd sistem operasi
Tingkat 2 c/ proses pd prog. Interaktif
R
O
S
E
S
O
R
Tingkat 3 c/ proses pd program edit
Tingkat 4 c/ proses pd tumpukan
Tingkat 5 c/ proses pd borongan

P
Antrian Multi Tingkat Berbalikan /
Feedback multi level queue
Tingkat 1
Tingkat 2
Tingkat 3
Preempsi
Preempsi
Preempsi
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
P
Rampung
P
Rampung
P
Rampung
36
Sistem Operasi Komputer
Tingkat n
Rampung
Metoda Evaluasi Penjadwalan
 evaluasi analitik
a. pemodelan deterministik
pekerjaan sudah ditetapkan terlebih dahulu, menerapkan berbagai penjadwalan
dan dievaluasi hasilnya.
Nama proses
Saat tiba
Lama proses
A
0
12
B
0
30
C
0
2
D
0
8
E
0
10
Dari tabel tersebut dapat kita cari :
Macam penjadwalan
Rerata lama
tanggap
PTPD
42,4
PTD
29,2
PG (Q=8)
38,4
b.

Rerata waktu sia-sia
30
14
28
Keuntungan : ketepatan untuk menunjukkan rata-rata lama tanggap / rata-rata
waktu sia-sia
Kelemahan : hasil evaluasi hanya berlaku untuk proses yang telah ditetapkan
analisis model antrian
menganggap sistem komputer sebagai suatu jaringan alat layan, menggunakan
rumus distribusi probabilitas untuk memperkirakan bentuk antrian dan bentuk
pelaksanaan proses. Sasaran rumus distribusi probabilitas adalah untuk lama
proses, saat tiba dan kecepatan layan. Sehingga dapat menentukan analisis jaringan
antrian, dengan ditetapkan rumus litte, yaitu : n = u . s, dengan n = rerata panjang
antrian, s = rerata waktu sia-sia / waktu tunggu, u = rerata kecepatan tiba
proses baru.
Kelemahan : Pengambilan model cukup rumit untuk sistem tertentu dan model
tidak selalu cocok dengan keadaan yang sebenarnya
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.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
37
Sistem Operasi Komputer

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.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
38
Sistem Operasi Komputer
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.
Memori Dukung / backing store
Contohnya : Floppy, Harddisk, CD, dll.
Untuk mendukung memori kerja, umumnya berbentuk disk sehingga berlaku juga asas
pemuktakhiran. Setiap trek dan sektor dapat menyimpan sejumlah byte dari memori
kerja. Memori kerja dicapai melalui alamat memori dan register data memori. Dan
untuk mencapai informasi di memori dukung, isinya harus dipindahkan dulu ke
memori kerja (memori dukung = memori semu = virtual memori).
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
39
Sistem Operasi Komputer
Memori
dukung
Pindah masuk
Memori
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.
Alamat relatif
0
1
2
3
…
Alamat mutlak
14726
14727
14728
14729
…
Relokasi
14726
14726
14726
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.
3.
4.
5.
Sistem utilitas
Merupakan bagian dari sistem operasi komputer, biasanya berbentuk berkas dalam
memori arsif.
Inti sistem operasi
Terdiri dari inti, kernel, nucleus adalah system operasi yang menetapkan dalam
memori kerja. Contohnya adalah pada saat “boot / booting / bootstrap”.
Sistem operasi
Program sistem operasi diletakkan dalam memori, maka banyak kegiatan yang juga
terletak dalam memori.
Pengendali alat
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
40
Sistem Operasi Komputer
6.
Terdiri dari penggerak alat / device controller dan pelaksana / device driver yang
berbentuk program dan menempati ruang memori tertentu.
Berkas pemakai
Terdiri dari berkas program dan berkas data, yang ditampung dalam memori dan pada
waktunya diteruskan ke prosesor untuk diolah.
Fungsi manajemen memori :
 Mengelola informasi yang dipakai dan tidak dipakai.
 Mengalokasikan memori ke proses yang memerlukan.
 Mendealokasikan memori dari proses telah selesai.
 Mengelola swapping atau paging antara memori utama dan disk.
Pemuatan informasi ke memori :
1. Pemuat / loader, menyalin informasi ke memori kerja.
a. pemuatan mutlak
jika 2 macam alamat memori dibuat sama antara yang tercantum dalam program
dan yang ditempati dalam memori kerja. Contohnya pada program, alamat awal
5235 dan subroutine = 5468 diletakkan pada alamat fisik yang sama.
b. pemuatan relokasi
alamat program tidak selalu sama dengan alamat fisik.
Contohnya alamat pangkal / fisik = 14200, alamat relative program 327, maka
alamat mutlaknya = 14200 + 327 = 14527
R(=p jika A=0)
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
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
41
Sistem Operasi Komputer
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.
Pengutipan / pembacaan isi memori :
1. Pengutipan oleh prosesor
Untuk melaksanakan pekerjaan yang dalam informasi itu, yang merupakan tugas dan
proses dan dilakukan sel memori per sel memori.
2. Pengutipan oleh memori dukung / arsif
Untuk menyimpan informasi tersebut di dalam memori dukung / arsif sehingga mereka
tidak hilang ketika catu daya dimatikan. Isi memori kerja disimpan ke dalam disk
memori dukung / disket memori arsif. Kemudian di dalam disk / disket, informasi
direkam ke dalam sector, setelah 1 sektor penuh, maka berpindah ke sektor lainnya.
Pengutipan ini dilakukan blok demi blok yang biasanya merupakan kelipatan bulat dari
ukuran sektor.
3. Pengutipan oleh pencetak / printer
Untuk mencetak isi memori ke atas kertas, pengutipan secara blok demi blok.
4. Pengutipan oleh alat peripheral lainnya
Contoh pada komunikasi data melalui jaringan, pengutipan mengikuti suatu protocol
tertentu, misalnya protocol OSI (open system Interconnection) dari ISO (international
standard organization) yang terdiri dari 7 lapis / layer.
Akses memori langsung / DMA (Direct Memory Access)
Melakukan pemindahan informasi dari dan ke memori kerja tanpa campur tangan langsung
dari prosesor. Prosesor hanya diinterupsi saat akses tersebut dimulai dan selesai.
Pemenggalan memori kerja
Contohnya alamat pagar untuk pemenggalan memori kerja untuk wilayah program
monitor, program dan data user.
 Pagar pada memori kerja
Wilayah memori telah kita penggal menjadi 2 bagian yaitu di atas alamat pagar dan di
bawah alamat pagar yang letaknya terpisah.
 Pemenggalan memori kerja
Memenggal memori ke dalam banyak penggalan dan setiap penggalan dibatasi 2 pagar,
yaitu batas bawah dan batas atas.
Batas Atas BA6
Batas Bawah BB6
Sistem Operasi
6
5
Batas Atas BA5
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
42
Sistem Operasi Komputer
BA4
BB4
BA2
BB2
4
BA3
2
1
unused
BA1
BB1
3
Batas Bawah BB5
BB3
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.
Manajemen Memori Berdasarkan Keberadaan Swapping atau Paging
Terbagi dua yaitu :
1. Manajemen tanpa swapping atau paging
2. Manajemen dengan swapping atau paging
Memori Tanpa Swapping atau Paging
 Yaitu manajemen memori tanpa pemindahan citra proses antara memori utama dan
disk selama eksekusi.
 Terdiri dari :

Monoprogramming
Ciri-ciri :
 Hanya satu proses pada satu saat
 Hanya satu proses menggunakan semua memori
 Pemakai memuatkan program ke seluruh memori dari disk atau tape
 Program mengambil kendali seluruh mesin
Contoh : IBM PC menggunakan cara ketiga di mana device driver ROM ditempatkan pada
blok 8K tertinggi dari address space 1M. Program pada ROM disebut BIOS (Basic Input
Output System).
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
43
Sistem Operasi Komputer
Sistem Operasi
di RAM
Sistem Operasi
Sistem Operasi
di ROM
di RAM
Program
Program
Pemakai
Pemakai
Program
di RAM
Pemakai
Device
Driver
di RAM
di ROMD
di RAM
= RAM
Driver
di ROM
= ROM
Tiga Cara Organisasi Memori Satu Proses Tunggal

Multiprogramming Dengan Pemartisian Statis
Terbagi dua :
Memori Tidak
1. Pemartisian menjadi partisi-partisi berukuranMemori
sama, Tidak
yaitu ukuran semua partisi
Dipakai
Memori
Tidak
memori adalah sama
Dipakai
2. Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua
Dipakai
partisi memori adalah berbeda.
Strategi Penempatan Program Ke Partisi
 Satu Antrian Tunggal Untuk Semua Partisi
Keuntungan
: Lebih fleksibel serta implementasi dan operasi lebih minimal karena
hanya mengelola satu antrian.
Kelemahan : Proses dapat ditempatkan di partisi yang banyak diboroskan, yaitu proses
Device Driver di
kecil ditempatkan di partisi sangat besar.
ROM
Partisi 1
Partisi 2
Partisi 3
Partisi 4
Partisi 5
Sistem Operasi
50 Kbyte
75 Kbyte
100 Kbyte
200 Kbyte
150 Kbyte
Multiprogrammning dengan Pemartisian Tetap dengan Satu Antrian
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
44
Sistem Operasi Komputer
 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
Partisi 2
Partisi 3
Partisi 4
Partisi 5
SSSistem Operasi
50 Kbyte
75 Kbyte
100 Kbyte
200 Kbyte
150 Kbyte
100 Kbyte
Multiprogrammning dengan Pemartisian Tetap dengan Banyak Antrian
Multiprogramming Dengan Swapping
Swapping : pemindahan proses dari memori utama ke disk dan kembali lagi.
1. Multiprogramming dengan Pemartisisan Dinamis
Jumlah , lokasi dan ukuran proses di memori dapat beragam sepanjang waktu secara
dinamis.
Kelemahan:
-
Dapat terjadi lubang-lubang kecil memori di antara partisi-partisi yang dipakai.
Merumitkan alokasi dan dealokasi memori
Solusi:
Lubang-lubang kecil di antara blok-blok memori yang digunakan dapat diatasi dengan
pemadatan memori yaitu menggabungkan semua lubang kecil menjadi satu lubang besar
dengan memindahkan semua proses agar saling berdekatan.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
45
Sistem Operasi Komputer
MMMemori Untuk
Sistem Operasi
MMMemori Untuk
Sistem Operasi
Proses 0
Proses 0
Bebas
Proses 2
Proses 2
Proses 4
Bebas
Proses 6
Proses 4
Bebas
Bebas
Proses 6
Lubang-lubang Memori dan Pemadatan Memori
2. Pencatatan Pemakaian Memori
 Pencatatan memakai peta bit (Bit Map)
 Pencatatan memakai linked list
Pencatatan memakai peta bit
- Nilai 0 pada peta bit berarti unit masih bebas
- Nilai satu berarti unit digunakan / terisi
Setelah penggalan memori rampung dipakai, maka keadaan bit akan berubah dari 1 ke 0,
begitupun sebaliknya. Jika jumlah penggalan memori kerja benar, maka bit menjadi panjang
dan pemeriksaan keadaan penggalan memori kerja akan lama.
A
0
7
0
1
1
1
...
1
1
1
1
...
2
1
1
0
...
3
1
1
0
...
4
1
1
1
...
B
15
5
0
1
1
...
6
0
1
1
...
C
23
7
0
1
1
...
Peta Bit untuk Pengelolaan Pemakaian Memori
Pencatatan memakai Linked List
 P= Proses, H=Hole(lubang)
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
46
Sistem Operasi Komputer
A
0
P
3.
B
7
0 5
H
18 2
H
5 3
P
C
15
20 3
P
8 6
P
23
14 4
Hole
Panjang=2 Proses
Start
Di 18
Pengelolaan Pemakaian dengan Linked List
Strategi Alokasi Memori
Pencocokan / FIT
Karena ukuran penggalan memori tidak selalu sama besar, maka dibutuhkan pencocokan
ukuran dari memori dukung dengan ukuran penggalan memori di memori kerja.
1. Cocok pertama / First fit algorithm
Pencocokan terjadi menurut antrian informasi, informasi yang terdepan dicocokkan
terlebih dahulu dan menurut urutan penggalan, penggalan yang terdepan dicocokkan
terlebih dahulu.
Contoh : Antrian informasi setiap ukuran.
5K
3K
1K
2K
4K
3K
2K
Urutan
Pemenggalan
Memori
Setiap
Ukuran
6K
2. Cocok pertama berdaur / Cyclical first fit
Pencocokan tidak harus dimulai dari urutan penggalan memori pertama.
Contoh : informasi 2K telah menempati penggalan 4 K, pencocokan cocok pertama
berdaur bagi informasi 1K tidak lagi mencoba penggalan 4K tetapi 3K dan karena
penggalan memori ini dapat menampung informasi tersebut, maka pada cocok pertama
berdaur informasi 1K menempati memori 3K.
3. Cocok terbaik / best fit
Mencari penggalan memori yang dapat menampung informasi yang paling pas / tidak
ada memori di penggalan yang tersisa / sisanya yang paling kecil.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
47
Sistem Operasi Komputer
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.
Sistem Buddy / Konco
Memori di susun dalam senarai blok-blok bebas berukuran 1,2,4,8,16 Kbyte dst, sampai
kapasitas memori.
Permintaan : A = 70 Kb; B = 35 Kb; C = 80 Kb; D = 60 Kb
A
A
A
128
128
128
128
B 64
B 64
B 64
D
D
256
C
C
C
C
C
256
256
1024
128
128
128
128
128
1024
512
512
512
512
512
512
512
Pengelolaan Memori dengan Sistem Buddy
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.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
48
Sistem Operasi Komputer
Contoh :
5K
Internal
eksternal
2K
Terisi
2K
1K
2K
3K
1K
2k
Alokasi Ruang Swap pada Disk
(Penempatan proses pada disk setelah di-swap-out dari memori)
- Ruang disk tempat swap dialokasikan begitu diperlukan
- Ruang disk tempat swap dialokasikan lebih dahulu.
Algoritma untuk pengaturan ruang swap pada disk sama dengan untuk memori utama.
Perbedaannya adalah ruang pada disk harus dialokasikan sebagai kelipatan bilangan bulat
dari disk block.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
49
Sistem Operasi Komputer
BAB V
SISTEM FILE
Pada proses penyimpanan dan pembacaan data bisa timbul masalah:
1. Kapasitas media penyimpanan tidak cukup (terbatas).
2. Ketika proses dihentikan, data hilang.
3. Kebutuhan mengakses data atau sebagiannya dalam waktu bersamaan.
Oleh karena itu diperlukan media penyimpanan yang :
1. Mampu menyimpan data yang besar.
2. Mampu menjaga data walaupun proses yang mengaksesnya dihentikan.
3. Proses yang bersamaan dapat mengakses data secara bersama-sama, tanpa ada yang
terganggu.
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 :
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
50
Sistem Operasi Komputer
Extension
*.bak
*.bas
*.bin
*.c
*.dat
*.doc
*.ftn
*.hlp
*.lib
*.man
*.obj
*.pas
*.tex
*.txt
Artinya
File Backup
Program source Basic
Program executable binary
Program source C
File Data
File Dokumentasi
Program source Fortran
File Teks untuk HELP command
Library dari file .obj yang digunakan
linker
Online manual page
File object
Program source Pascal
Teks masukan untuk format program
TEX
File teks umum
Pada kasus khusus, extension ini hanya berupa Konvensi, seperti :
- data03.txt, menyatakan file dalam bentuk file teks.
- program05.c menyatakan file berupa file code bahasa C, C compiler hanya mengcompile
extension *.C.
1.2
Struktur File
Beberapa kemungkinan bentuk struktur file tampak pada gambar 1.
Gambar 1. Tiga macam file. (a) Urutan byte. (b) Urutan record. (c) Tree.
a. File dibentuk dari urutan byte yang tidak terstruktur.
Akibatnya : Sistem operasi tidak tahu apa yang ada didalamnya. DOS dan UNIX
menerapkan bentuk ini, LINUX ?, WINDOWS ?
Cara mengambil isi file dengan program.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
51
Sistem Operasi Komputer
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.
1.3
Jenis File
UNIX dan DOS memiliki jenis file :
a. Regular File : jenis file yang mengandung informasi user. Contoh gambar 1.
b. Directory : file sistem yang mengatur struktur sistem file.
c. Character Special File : File yang berhubungan dengan peralatan I/O dan memodelkan
peralatan serial, seperti Terminal, Printer, NIC.
d. Block Special File : File yang digunakan untuk memodelkan disk.
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.
1.4
Pengaksesan File
Ada dua cara :
a. Sequential Access, proses dapat membaca seluruh byte/record dalam suatu file, mulai
dari awal, tidak boleh melompat atau keluar dari urutannya.
Cocok untuk file yang disimpan pada media Magnetic Tape.
b. Random Access, bisa membaca byte/record untuk berbagai macam urutan pengaksesan.
Cocok untuk file yang disimpan pada media Disk.
Jenis ini lebih sesuai untuk berbagai aplikasi, seperti sistem database airport.
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).
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
52
Sistem Operasi Komputer
1.5
Atribut File
Jenis-jenis atribut file tampak pada Tabel berikut.
Field
Protection
Password
Creator
Owner
Read Only flag
Hidden flag
System flag
Archive
ASCII/binary flag
Random access flag
Temporary flag
Lock flag
Record length
Key position
Key length
Creation time
Time of last access
Time of last change
Current size
Maximum size
Artinya
Who can access the file and in what way
Password needed to access the file
Id of person who created the file
Current owner
0 for read/write, 1 for read only
0 for normal, 1 for do not display in
listings
0 for normal file, 1 for system file
0 has been backed up, 1 for needs to be
backed up
0 for ASCII file, 1 for binary file
0 for sequential access only, 1 for random
access
0 for normal, 1 for delete on process exit
0 for unlocked, nonzero for locked
Number of bytes in a record
Offset of the key within each record
Number of bytes in the key field
Date and Time file was created
Date and Time file was last accessed
Date and Time file was last changed
Number of bytes in the file
Maximum size file may grow ro
1.6
Operasi File
Sistem Call yang biasa digunakan dalam hubungan dengan file :
a. Create : File dibuat dan tidak berisi data.
b. Delete : File dihapus karena tidak diperlukan lagi dan untuk memperbesar ruang disk
sisa.
Beberapa sistem operasi akan menghapus file jika tidak digunakan dalam jangka waktu
tertentu.
c. Open : Sebelum menggunakan file, file harus diOpen dulu. Open akan menjadikan sistem
mengambil atribut dan daftar alamat disk dan meletakkan didalam memori kerja agar
diperoleh akses yang cepat.
d. Close : Jika akses file selesai, atribut dan alamat disk tidak diperlukan lagi, sehingga
harus ditutup dan untuk memperbesar ruang tabel daftar alamat disk internal.
e. Read : Data dibaca dari file. Sistem menentukan banyaknya data dan menyediakan
buffer untuk menampungnya.
f. Write : Data disimpan kedalam file. Jika posisi berada diakhir file, maka ukuran file
bertambah. Jika posisi ditengah, data yang ada akan ditimpa.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
53
Sistem Operasi Komputer
g. Append : Menambah data setelah data terakhir.
h. Seek : Mengatur posisi pointer saat itu menuju posisi yang ditentukan.
i. Get Attribute : Pada UNIX, program make perlu melihat atribut file, terutama waktu
modifikasinya yang terakhir.
j. Set Attribute : Mengubah status atribut file.
k. Rename : Merubah nama file.
1.7
Memory-Mapped File
Sistem operasi melakukan pemetaan file kedalam ruang alamat disk pada alamat virtual.
Pemetaan ini sangat cocok pada Segmentasi. Contoh pada gambar 3.
Gambar 3 (a) Proses segmentasi sebelum memetakan file ke ruang alamatnya. (b) Proses
setelah memetakan file abc ke satu segmen dan membuat segmen baru untuk file xyz.
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.
Kelebihan Pemetaan File :
- Menghilangkan kebutuhan I/O sehingga mempermudah pemrograman.
Kekurangan Pemetaan File :
- Sistem sulit untuk mengetahui panjang sebenarnya dari file output (xyz).
- Hasil pemetaan belum tentu sama dari sumbernya, jika terjadi modifikasi sumber,
outputnya belum tentu dimodifikasi juga.
- Tidak bisa memetakan ukuran file yang lebih besar dari ukuran segmen.
2.
DIRECTORY
Untuk menjaga agar file tetap pada jalurnya dan diketahui, maka sistem file menyediakan
DIRECTORY.
2.1
Sistem Directory Hirarki
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
54
Sistem Operasi Komputer
Diantara bentuk sistem directory tampak pada gambar 4
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.
Bentuk disain sistem file tampak pada gambar 5.
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
directory atau file.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
55
Sistem Operasi Komputer
2.2
Nama Path
Penamaan Path ada dua cara :
a. Absolute Path Name : mengandung path dari directory root sampai file.
Selalu dimulai dari Root dan bersifat Unik.
Di UNIX, directory dipisah dengan tanda /, DOS dengan \. Jika karakter pertama dari
nama path dimulai dengan tanda tsb, maka path termasuk jenis absolut ini.
Contoh : /usr/ast/mailbox
root directory mengandung subdirectory usr,
dimana didalamnya ada subdirectory ast,
dimana didalamnya lagi ada subdirectory mailbox.
b. Relative Path Name : Untuk seluruh kasus path yang tidak dimulai dari root, diambil
secara relatif ke directory kerja (working directory/current directory).
Contoh : Directory kerja /usr/ast, file yang mempunyai path absolut /usr/ast/mailbox
dapat diwakili dengan mailbox saja. Seperti perintah :
cp /usr/ast/mailbox /usr/ast/mailbox.bak
dan
cp mailbox mailbox.bak
adalah perintah UNIX yang menghasilkan efek yang sama.
Kebanyakan sistem operasi mempunyai dua directory khusus, "." dan "..", dot dan dotdot.
Dot menunjukkan directory saat itu dan Dotdot menunjukkan parent directory. Contoh
gambar 6
Gambar 6. UNIX directory tree
Directory kerja /usr/ast, copy file /usr/lib/dictionary ke directorynya sendiri dengan :
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
56
Sistem Operasi Komputer
cp ../lib/dictionary .
2.3
Operasi Directory
Beberapa operasi directory :
a. Create, membuat directory yang kosong kecuali dot dan dotdot yang otomatis
dimasukkan oleh sistem.
b. Delete, menghapus directory, Hanya directory yang kosong yang dapat dihapus.
c. OpenDir, Mendaftar seluruh file yang ada di directory ybs.
d. CloseDir, Setelah selesai membaca directory, maka harus ditutup untuk memperbesar
ruang tabel internal.
e. ReadDir, Menghasilkan daftar directory pada directory yang sedang dibuka.
f. Rename, Mengubah nama directory.
g. Link, Cara agar file dapat muncul dibeberapa lokasi directory.
h. UnLink, Menghilangkan Link.
3.
IMPLEMENTASI SISTEM FILE
Menjelaskan cara file dan directory disimpan, ruang disk diatur dan membuat segalanya
efisien dan reliable.
3.1
Mengimplementasikan File
Kunci masalah implementasi penyimpanan file adalah selalu mengetahui perubahan blok
disk akibat ada tidaknya file.
a. Contiguous Allocation
Ini merupakan alokasi paling sederhana dengan menyimpan setiap file kedalam blok
data yang berurutan didalam disk.
Kelebihannya :
- Mudah implementasinya, karena untuk mengetahui letak blok file hanya cukup
mengingat satu nomor, blok yang pertama saja.
- Kinerjanya sangat bagus, karena seluruh file dapat dibaca dari disk dalam satu
operasi saja.
Kekurangannya :
- Tidak bisa dialokasikan jika ukuran maksimum file tidak diketahui.
- Mudah terjadi fragmentasi, sisa blok yang tidak digunakan.
b. Linked List Allocation
Menyimpan file dalam skema Linked List, seperti tampak pada gambar 7.
Gambar 7. Menyimpan file sebagai linked list dari blok-blok disk.
Kelebihannya :
- Seluruh blok dapat dipakai, tidak terjadi fragmentasi.
Kekurangannya :
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
57
Sistem Operasi Komputer
-
Pengaksesan file secara acak akan lambat.
Kebutuhan ukuran blok data meningkat karena pointer juga memerlukan beberapa
byte.
c. Linked List Allocation menggunakan Indeks
Caranya sama seperti point b tetapi menambahkan tabel berindeks kedalam memory,
seperti pada gambar 8 berikut.
Gambar 8. Alokasi linked list dengan menggunakan tabel di main memory.
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 (indexnode) yang mendaftar atribut dan alamat disk dari blok file. Tampak pada gambar 9.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
58
Sistem Operasi Komputer
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 ???
3.2
Mengimplementasikan Directory
a. Directory pada sistem CP/M
Sistem ini hanya memiliki satu directory saja, sehingga semua file harus dicari dan
dilihat dari directory ini. Tampak pada gambar 10.
Gambar 10. Directory yang berisi nomer blok disk untuk setiap file.
-
User code digunakan untuk mengetahui nama pemilik file ybs.
Extent akan diperlukan bila ukuran file lebih besar dari 16 blok, sehingga
memerlukan beberapa directory. Extent berisi nomor urut.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
59
Sistem Operasi Komputer
- 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.
Gambar 11. Entry directory MS-DOS.
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.
Gambar 12. Entry directory UNIX.
Informasi tentang jenis, ukuran, waktu, kepemilikan, dan blok disk disimpan didalam inode.
Contohnya :
Cara sistem mencari file jika diberikan path /usr/ast/mbox
Gambar 13. Langkah-langkah pencarian /usr/ast/ast/mbox.
dengan urutan :
- sistem meletakkan posisinya pada root.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
60
Sistem Operasi Komputer
-
Permasalahan pada Symbolic Linking diperlukannya overhead. File yang mengandung
path harus dibaca, path harus diparse dan diikuti setiap komponen per komponen,
sampai i-node dicapai. Sehingga symbolic link memerlukan i-node tambahan.
- Symbolic Linking menjadikan file memiliki lebih dari satu path. Operasi copy juga akan
melaksanakan lebih dari satu kali.
Kelebihannya :
- dapat digunakan untuk menghubungkan file-file diseluruh mesin di dunia ini.
3.4
Pengaturan Ruang Disk
Dua cara umum menyimpan file n byte :
1. Mengalokasikan ruang disk sebanyak n byte secara berurutan.
2. Memisah file menjadi sejumlah blok yang tidak harus berkesinambungan.
Ukuran Blok
Ukuran blok berhubungan erat dengan kecepatan pembacaan/penyimpanan file dan
pemakaian ruang disk.
Contoh :
Gambar 16. Kurva yg solid (skala kiri) menggambarkan data rate disk. Garis terputus (skala
kanan) menyatakan efisiensi ruang disk. Semua file berukuran 1K.
Cara mengetahui Blok yang Bebas
Dua cara yang banyak digunakan adalah tampak pada gambar 17.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
61
Sistem Operasi Komputer
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.
Gambar 18. Kuota dicatat per user pada tabel kuota.
Terdapat dua tabel yang terletak didalam memory.
- Tabel pertama mendaftar atribut dan alamat disk file yang dibuka. Setiap perubahan
ukuran file akan dikenakan pada kuota user yang menggunakannya.
- Tabel kedua berisi record kuota untuk setiap user dengan file yang sedang dibuka.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
62
Sistem Operasi Komputer
Ketika user log in, sistem operasi akan mengecek kuota file yang digunakannya, apakah
melampaui batas jumlah file atau jumlah blok disk.
3.5
Reliabilitas Sistem File
Jika terjadi masalah terhadap sistem file, baik akibat bencana atau rusaknya software dan
hardware komputer, maka diperlukan cara penaggulangannya.
a. Pengaturan Blok Rusak (Bad Block)
- Cara Hardware, menyiapkan blok cadangan. Bila sistem menemukan blok yang
rusak, data akan dipetakan kelokasi blok cadangan.
- Cara Software, menghapus blok yang rusak sehingga dianggap tidak ada. Pembacaan
dan penyimpanan file ke blok rusak tidak akan terjadi, karena dianggap tidak ada
blok tsb.
b. Backup
- Untuk ukuran kecil, floppy, dilakukan dengan copy.
- Untuk ukuran besar, akan memerlukan waktu, sehingga perlu strategi seperti pada
gambar 19.
Gambar 19. Mem-backup setiap drive pada drive yang lainnya menyia-nyiakan setengah
media penyimpanan.
- melakukan incremental dumping setiap waktu.
- DOS menerapkan sebuah atribut yang disebut Archive Bit. Jika sistem file ybs
dibackup, maka archive bit dihapus (clear), tetapi bila file sedang diubah, archive bit
diset secara otomatis.
c. Konsistensi Sistem File
Jika sistem crash dan seluruh file yang diedit belum sempat disimpan, maka sistem file
berada dalam kondisi tidak konsisten.
Solusinya :
- Sistem komputer melengkapi program utility untuk mengecek konsistensi sistem file
ketika diboot, terutama setelah terjadinya crash.
Metode pengecekan konsistensi ini :
- Block, Program membuat dua counter untuk setiap blok :
- counter pertama mencatat berapa kali blok berada didalam file
- counter kedua merekam seberapa sering blok berada di daftar yang bebas (free
list table).
- Cara ini tampak pada gambar 20.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
63
Sistem Operasi Komputer
Gambar 20. Status sistem file. (a) Konsisten. (b) Missing block. (c) Duplikasi blok pada
daftar bebas. (d) Duplikasi blok data.
a.
b.
c.
d.
Bentuk konsisten
Blok 2 tidak muncul pada kedua tabel, dinamakan Missing Block.
Block 4 muncul dua kali didalam daftar blok bebas (free list).
Blok data yang sama muncul dalam dua atau lebih file, pada blok 5.
3.6
Kinerja Sistem File
Pengaksesan ke disk jauh lebih lambat dibanding ke memory. Cara menanggulangi dengan
menerapkan metode Block Cache atau Buffer Cache.
Cara ini tidak dimaksudkan untuk menjaga data menetap lama didalamnya sebelum
disimpan ke disk.
Contoh :
Ingin menulis skripsi, akan lebih cepat diakses bila diletakkan di buffer, tetapi
ukuran bukunya sangat besar. Jika crash, semua yang diketik belum sempat
disimpan.... ?? :((
Solusi :
- System Call SYNC, diterapkan oleh UNIX. Sistem menjalankan UPDATE (menyimpan blok
yang diubah kedalam disk) setiap 30 detik dengan proses background.
Tidak cocok bila data disimpan di disket, apalagi berganti-ganti disket. Memang UNIX
semula dirancang menggunakan media disk.
- Write-Through Cache, diterapkan oleh DOS, menyimpan blok kedalam disk segera
setelah ada perubahan.
Cukup fleksibel menggunakan disket.
- Meletakkan blok pada posisi yang berdekatan ketika diakses, sehingga mempercepat
pembacaan.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
64
Sistem Operasi Komputer
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 inode dengan bloknya setengah kali.
Cara lain, membagi disk kedalam kelompok cylinder, setiap kelompok mempunyai inode, 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.
Beberapa hal yang menyebabkan data hilang :
1. Bencana alam
2. Kesalahan Hardware atau Software
3. Kesalahan Manusia dalam menggunakan data.
Ketiga hal diatas biasanya dapat diatasi dengan Backup.
Masalah penting lainnya yaitu INTRUDER, dibagi dua :
1. Intruder Pasif, hanya melihat file yang sebenarnya bukan haknya.
2. Intruder Aktif, tidak sekedar membaca, tetapi juga merubah (merusak) data.
Jenis perilaku intruder :
1. Iseng-iseng/coba sambil lalu saja. Biasa terjadi pada data yang bisa diakses semua user.
2. Snooping dari dalam. Seseorang yang masuk kedalam sistem jaringan komputer
berusaha menembus pengamanan.
3. Berusaha cari keuntungan. Programer bank mencoba untuk mencuri uang.
4. Spionase/Militer. Biasanya berhubungan dengan politik.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
65
Sistem Operasi Komputer
Aspek lain dalam pengamanan adalah PRIVACY : menjaga seseorang dari penyalahgunaan
data miliknya.
4.2
Beberapa Pengamanan Terkenal Yang Gagal/Rusak
Cara masuk ke UNIX tanpa melalui sistem pengamanannya dengan menghubungkan sebuah
file yang disebut core di directory kerja menuju file password. User dapat mengubah file
password.
Contoh pengamanan jelek yang tidak begitu kelihatan :
mkdir foo
Untuk sistem yang lambat, kadang-kadang user dapat dengan cepat menghapus i-node
directory dan membuat link ke file password menggunakan nama foo setelah MKNOD dan
sebelum CHOWN. Setelah CHOWN dijalankan sistem, maka mkdir tsb menjadikan user
sebagai owner (pemilik) file password.
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 halhal yang diinginkan.
Ide merubah program untuk melakukan hal yang tidak berkenan dan merugikan orang lain
dikenal sebagai Serangan Kuda Troya (Trojan Horse Attack).
4.3
Internet Worm
Tanggal 2 Nopember 1988, Cornell meluncurkan program worm ke internet. Akibatnya
ribuan komputer mati, baik di universitas, perusahaan, laboratorium di seluruh dunia
sebelum program worm tsb dapat diketahui dan dihilangkan.
Secara teknis, program worm mengandung dua program :
Bootstrap dan Worm, yang terdiri dari 99 baris bahasa c, yaitu ll.c. Program ini dicompile
dan dijalankan oleh sistem yang diserang. Ketika berjalan, program ini dihubungkan ke
mesin dari mesin datangnya program ini, mengupload worm utama dan menjalankannya.
Kemudian worm melihat tabel routing untuk mencari mesin-mesin lain yang terhubung
pada mesin tersebut, kemudian menyebarkannya dan membootstrap mesin-mesin itu.
Ada tiga cara dalam menginfeksi mesin lain :
a. Mencoba menjalankan remote shell dengan perintah rsh. Jika berhasil remote shell akan
mengupload program worm dan melanjutkan untuk mencari mesin yang lain.
b. Menggunakan program yang ada di sistem BSD yang dikenal dengan finger, setiap
orang di dunia bisa menjalankan :
finger [nama@lokasi]
untuk menampilkan informasi tentang seseorang ybs.
Setiap sistem BSD akan selalu menjalankan (background process) yaitu finger daemon
yang menjawab query dari seluruh hubungan internet didunia. Program Worm
memanggil finger dengan 536 byte string sebagai parameter. String yang panjang ini
menjadikan buffer daemon overflow dan menimpa isi stacknya. Karena overflow ini,
daemon mengecek dan ketika ingin kembali ke procedure utamanya, diberi request
supaya belok ke procedure 536 byte yang ada didalam stack. Procedure ini mencoba
untuk menjalankan /bin/sh. Jika berhasil, mesin tsb telah terjangkit worm.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
66
Sistem Operasi Komputer
c. Didalam sendmail ada bug, yang mengijinkan worm untuk mengirimkan mail berisi
copy bootstrap dan menjalankannya.
4.4
Serangan Pengamanan Umum
Ketika merancang sistem, harus dapat mengantisipasi bentuk serangan sbb :
1. Permintaan page memory, ruang disk atau tape dan sekedar membaca isinya. Banyak
sistem yang tidak menghapus dulu lokasi yang akan digunakan, kadang-kadang masih
berisi informasi yang dipakai oleh proses sebelumnya.
2. Mencoba System Call yang tidak benar atau System Call yang benar tetapi dengan
parameter yang salah.
3. Mencoba Login tetapi segera setelah itu menekan tombol yang dapat menghentikan
proses, seperti DEL, RUBOUT atau BREAK supaya tidak menjalankan rutin password.
4. Mencoba merubah struktur sistem operasi dan menyimpan di ruang disk user.
5. Spoof user lain dengan membuat tulisan "login :" di layar.
6. Mencari informasi yang tidak boleh dilakukan pada manual book, lalu mencobanya
dengan berbagai variasi.
7. Trapdoor, meyakinkan programer untuk melewati pengecekan login/password untuk
setiap user menggunakan nama loginnya.
8. Menggunakan kelemahan sifat manusia yang memegang kendali sistem administrasi,
seperti sekretaris SysAdm.
Virus
Virus adalah suatu penggalan program yang menempel program sebenarnya dengan
maksud menjangkitkan dirinya ke program lain.
4.5
Prinsip-Prinsip Disain Pengamanan
Prinsip-prinsip umum yang digunakan untuk merancang sistem pengamanan adalah :
1. Disain sistem harus bersifat public
2. Nilai default harus tidak boleh diakses.
3. Mengecek otoritas saat itu (current authority).
4. Memberikan setiap proses kemampuan akses sesedikit mungkin.
5. Mekanisme proteksi harus sederhana, uniform dan built in ke lapisan terbawah dari
sistem.
6. Skema pengamanan harus dapat diterima secara psikologis.
4.6
User Authentication
Masalah yang berhubungan dengan identifikasi user ketika login disebut user
authentication. Ini mencakup sesuatu yang diketahui, yang dimiliki dan yang digunakan
oleh user.
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.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
67
Sistem Operasi Komputer
Kemudian mengenkripsi menggunakan algoritma enkripsi password dan mengecek
apakah ada password yang terenkripsi sama dengan daftar yang dibuatnya.
Hasilnya menunjukkan bahwa lebih dari 86 % password cocok dengan daftarnya.
Cara sistem menanggulangi password yang mudah dipecahkan dengan :
- Memberikan peringatan ketika pembuatan password berlangsung, seperti peringatan
ketika nama dan passwordnya bernilai sama.
- Kadangkala sistem operasi mengharuskan untuk mengganti password dalam jangka
waktu tertentu.
- Tidak menampakkan tulisan aslinya ketika proses pemasukan password.
- Tidak menyimpan password asli, tetapi dalam bentuk terenkripsi.
- Menerapkan suatu pertanyaan dan menyimpan pertanyaan dan jawabannya, sementara
passwordnya hanya diingat oleh user.
- Challenge-response, menerapkan algoritma tertentu. Contohnya penggunaan "pangkat2". Komputer bertanya kepada user ketika login. Argumen komputer 7, maka user user
bisa masuk kedalam sistem jika menjawab 49. Algoritma dapat diatur berubah setiap
pagi, siang, malam atau beda hari atau beda minggu atau beda mesin dll.
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.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
68
Sistem Operasi Komputer
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
N
OBJECT
1
Rea
d
2
File
1
File File
2
3
Rea
d
Writ
e
Rea
d
File4
File
5
Read
Write
Execu
te
Rea
d
Writ
e
3
Gambar 22. Matriks proteksi.
File6
Print
er1
Plott
er2
Write
Read
Write Write Write
Exec
ute
Kemudian 3 domain sebagai object pada Tabel berikut.
DOMA O B J E C T
IN
File File File
1
2
3
Rea
1
Rea d
d
Wri
te
2
Rea
File4
File
5
Read Rea
Write d
File6
Print
er1
Write
Plott
er2
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
Domai Domai Domai
n1
n2
n3
Enter
69
Sistem Operasi Komputer
d
Exec
ute
Wri
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.
5.2
Daftar Kendali Akses
Contoh pada gambar 4-30 akan memakan ruang disk. Cara mengatasinya dengan :
Menyimpan berdasarkan Kolom. Cara ini mengandung apa yang menunjukkan setiap object
daftar yang urut yang mengandung semua domain yang dapat mengakses object, dan
caranya. Daftar ini disebut Access Control List (ACL).
Sistem UNIX, menyediakan 3 bit, rwx, per file untuk pemilik (owner), grup pemilik (owner's
group), dan lainnya (others). Skema ini berupa ACL tetapi dimampatkan menjadi 9 bit saja
dan menggambarkan object yang menyatakan siapa yang dapat mengakses dan caranya
bagaimana.
Contoh :
rwxr--r-- /usr/ast/mail
5.3
Kemampuan (Capability)
Cara membagi berdasarkan Baris, dari gambar 23.
Setiap proses yang ditunjuk merupakan suatu daftar object yang bisa diakses, selama bisa
diakses berdasarkan operasi yang diperbolehkan didalam domainnya, Daftar ini disebut
Capability List (C-List) dan setiap item didalamnya disebut Capability.
Lihat Tabel berikut.
0
1
2
3
Type
File
File
File
Printer
Rights
R- RWX
RW -W-
Object
Pointer to File3
Pointer to File4
Pointer to File5
Pointer to Printer1
Daftar Kemampuan (capability List) untuk domain 2 dari gambar 22.
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.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
70
Sistem Operasi Komputer
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.
5.4
Model Proteksi
Harrison membentuk 6 operasi primitif pada matriks proteksi, yaitu :
Create Object, Delete Object, Create Domain, Delete Domain, Insert Right dan
Remove Right.
Keenam operasi tsb dikombinasikan kedalam Protection Command, yaitu perintahperintah proteksi dimana program user dapat menjalankannya untuk merubah matriks.
Matriks menentukan apakah suatu proses didalam domain yang dapat melakukan sesuatu,
bukan apakah suatu proses diberi kemampuan untuk melakukan sesuatu.
Contoh sederhana pada tabel di bawah ini.
Eric
Henr
y
Robe
rt
Object
Compile
r
Read
Execute
Read
Execute
Read
Execute
MailBox
7
Read
Write
Secret
Read
Write
Eric
Henry
Robert
Object
Compile
r
Read
Execute
Read
Execute
Read
Execute
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
MailBox
7
Read
Write
R
e
a
d
Secret
Read
Write
71
Sistem Operasi Komputer
(a)
(b)
a. Dimaksudkan untuk kebijakan proteksi.
Henry bisa membaca dan menyimpan mailbox7, Robert bisa membaca dan menyimpan
secret, ketiga user bisa membaca dan menjalankan compiler.
Karena Robert sangat cerdas, dan bisa menemukan cara untuk menjalankan perintah
sehingga matriks berubah jadi :
b. Robert bisa juga mengakses mailbox7, yang sebenarnya dia tidak diberi hak. Jika Henry
mencoba untuk membacanya (Read), sistem operasi akan menolak permintaan
aksesnya karena sistem operasi tidak tahu bahwa kondisi matriks tsb tidak diautorisasi.
5.5
Covert Channel
Model yang ada diatas ternyata sia-sia belaka. Buktinya ? Lampson (1973).
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
1. Prinsip Perangkat Keras I/O
Batasan : bagaimana hardware tersebut di program
Manajemen perangkat I/O mempunyai beragam fungsi, diantaranya :
- mengirimkan perintah ke perangkat I/O agar menyediakan layanan
- menangani interupsi perangkat I/O
- menangani kesalahan pada perangkat I/O
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
72
Sistem Operasi Komputer
- menyediakan interface ke pemakai
1.1. I/O Device
Perangkat I/O dapat dibedakan berdasarkan :
1. Sifat aliran data
Berdasarkan aliran data dibedakan menjadi :
a. Perangkat berorientasi blok (block-oriented devices)
Menyimpan informasi dan menukarkan (menerima / mengirim) informasi
sebagai blok-blok berukuran tetap. Tiap blok mempunyai alamat tersendiri.
Ukuran blok dapat beragam antara 128 s/d 1024 byte.
Ciri utamanya adalah : dimungkinkan membaca / menulis blok-blok secara
independent, yaitu dapat membaca atau menulis sembarang blok tanpa harus
melewati blok-blok lain.
Contohnya : disk, tape, CD ROM, Optical disk
b. Perangkat berorientasi karakter (character-oriented devices)
Mengirim atau menerima karakter dan tanpa peduli membentuk suatu struktur
blok, not addresable dan tidak mempunyai operasi seek.
Contohnya : terminals, line printer, punch card, network interfaces, pita kertas,
mouse
Klasifikasi diatas tidak mutlak, karena ada beberapa perangkat yang tidak termasuk
kategori diatas, misalnya :
- clock yang tidak teramati secara blok dan juga tidak menghasilkan / menerima
aliran karakter. Clock menyebabkan interupsi pada interval-interval yang
didefinisikan.
- Memory mapped screen,
- sensor
2. Sasaran komunikasi
Berdasarkan sasaran komunikasi dibedakan menjadi :
a. Perangkat yang terbaca oleh manusia (human readable device)
Perangkat yang cocok untuk komunikasi dengan manusia.
Contohnya : VDT (Video Display Terminal) terdiri dari monitor, keyboard
(+mouse)
b. Perangkat yang terbaca oleh mesin (machine readable device)
Perangkat yang cocok untuk komunikasi dengan perangkat elektronik.
Contohnya : disk, tape, sensor, controller, aktuator
c. Untuk komunikasi
Perangkat yang cocok untuk komunikasi dengan perangkat jarak jauh.
Contohnya : modem
1.2. Device Controller
Unit I/O berupa :
a. Komponen elektronik
Device controller / adapter adalah untuk mengaktifkan perangkat eksternal dan
memberitahukan yang perlu dilakukan oleh perangkat / driver.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
73
Sistem Operasi Komputer
Contoh : unit tape megnetik diinstruksikan untuk kembali ke posisi awal, bergerak
ke record berikutnya dan sebagainya.
Disk Driver
Printe
r
Disk
Controll
er
Printer
Controll
er
Controller
Device
Interface
CP
U
Memor
y
……..
Other
Controll
er System
Bus
Model untuk mengkoneksi / menghubungkan CPU, Memory, Controller
dan Device I/O
b. Komponen mekanik
Contohnya : head, motor stepper, printer
1.3. Direct Memory Access (DMA)
DMA berfungsi membebaskan pemroses menunggui transfer data yang dilakukan I/O
device. Saat pemroses ingin membaca atau menulis data, pemroses memerintahkan
DMA Controller dengan mengirimkan informasi berikut :
- perintah penulisan / pembacaan
- alamat I/O device
- awal lokasi memori yang ditulis / dibaca
- jumlah word / byte yang ditulis / dibaca
setelah mengirimkan informasi itu ke DMA Controller, pemroses dapat melanjutkan
kerja lain. Pemroses mendelegasikan operasi I/O ke DMA. DMA mentransfer seluruh
data yang diminta ke / dari memori secara langsung tanpa melewati pemroses. Ketika
transfer data selesai, DMA mengirimkan sinyal interupsi ke pemroses. Pemroses hanya
dilibatkan pada awal dan akhir transfer data.
Operasi transfer antara perangkat dan memori utama dilakukan sepenuhnya oleh DMA,
lepas dari pemroses dan hanya melakukan interupsi bila operasi telah selesai.
Keuntungan DMA :
- peningkatan kinerja prosesor atau I/O
- meminimasikan over head
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
74
Sistem Operasi Komputer
memor
y
CPU
drive
Disk
controll
er
buffer
DMA Register / memory
cou
address
nt
cou
nt
Tranfer DMA seluruhnya dilakukan oleh
controller
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
5
0
0
6
1
3
4
2
3
5
2
6
1
7
6
4
3
No
Interleaving
2
5
Single
Interleaving
4
1
Double
Interleaving
2. Prinsip Software I/O
Ide Dasar : mengorganisasikan software dalam beberapa layer dimana level bawah
menyembunyikan akses / kepelikan hardware untuk level diatasnya. Level atas
membuat interface yang baik ke user.
Tujuan Software I/O
a. Konsep dalam desain software I/O
Device independence / tidak bergantung pada device yang digunakan
b. Penamaan yang seragam / Uniform Naming
Penamaan file berkas atau perangkat adalah string atau integer dan harus
sederhana, tidak bergantung pada device
Contoh : seluruh disks dapat dibuat dengan hirarki sistem file (menggunakan NPS)
c. Penanganan kesalahan / Error Handling
Error harus ditangani sedekat mungkin dengan hardware
Contoh : pertama controller, device driver, dst. Dan jika tidak bisa ditangani beri
pesan
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
75
Sistem Operasi Komputer
d. Synchronous (blocking) vs Asynchronous (Interrupt Driver) transfer
Kebanyakan I/O adalah asinkron. Pemroses mulai transfer dan mengabaikan untuk
melakukan kerja lain sampai interupsi tiba.
Program pemakai sangat lebih mudah ditulis jika operasi I/O berorientasi blok.
Setelah perintah read, pemrogram kemudian ditunda secara otomatis sampai data
tersedia di buffer. Terserah sistem operasi untuk menangani operasi yang
sesungguhnya interrupt driver.
e. Sharable vs Dedicated Device
Beberapa perangkat dapat dipakai bersama seperti disk, tapi ada juga perangkat
yang hanya satu pemakai yang dibolehkan memakai pada satu saat.
Misal : disk untuk sharable dan printer untuk dedicated
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
Drivers
Device
Controller
(Registernya)
Device
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
Fungsi dari software I/O device-independent yang biasa dilakukan :
a. Interface seragam untuk seluruh device-driver
b. Penamaan device
c. Proteksi device
d. Memberi ukuran blok device agar bersifat device-independent
e. Melakukan Buffering
f. Alokasi penyimpanan pada blok devices
g. Alokasi dan pelepasan dedicated devices
h. Pelaporan kesalahan
4. User Space I/OSoftware
Sebagian besar software I/O berada di dalam sistem operasi yang di link dengan
user program.
System call termasuk I/O, biasanya dalam bentuk prosedur (library procedures).
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
76
Sistem Operasi Komputer
Contoh : count = write(fd,buffer,nbytes)
I/O prosedur dengan level lebih tinggi.
Contoh : printf (memformat output terlebih dahulu kemudian panggil write)
Yang tidak mempunyai library procedure, contohnya : spooling directory dan
daemon (proses khusus) pada proses mencetak, transfer file, USENET
Layer
I/O
User processes
request
Device-independent
software
Device-drivers
Interrupt handler
Hardware
I/O reply I/O functions
Make I/O call; format I/O; spooling
Naming protection, blocking, buffering,
allocation
Setup device register, check status
Wake up driver when I/O completed
Perform I/O operation
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
3.1. Perangkat Keras Disk
Disk diorganisasikan menjadi silinder-silinder dengan tiap permukaan terdapat head
yang ditumpuk secara vertikal. Track terbagi menjadi sektor-sektor.
Platter
s
Read/Write
Spindl
Head
e
Struktur Disk
Boo
m
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
77
Sistem Operasi Komputer
Tiga faktor yang mempengaruhi waktu read/write block disk :
1. seek time (waktu menggerakkan lengan ke silinder)
2. rotational delay (waktu sector berputar ke head)
3. transfer time
yang sangat dominan adalah seek time, jadi performance dapat ditingkatkan dengan
mengurangi waktu rata-rata seek
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
3.2. Algoritma Penjadwalan Akses Lintas Disk
Pada sistem multiprogramming, banyak proses yang melakukan permintaan
read/write record disk. Proses membuat permintaan lebih cepat dibandingkan yang
dapat dilayani disk, membentuk antrian permintaan layanan disk. Diperlukan
penjadwalan disk agar memperoleh kerja optimal.
Terdapat dua tipe penjadwalan disk, yaitu :
1. Penjadwalan untuk optimasi seek, karena waktu seek lebih tinggi satu orde
dibandingkan waktu rotasi, maka kebanyakan algoritma penjadwalan
berkonsentrasi meminimumkan seek kumpulan atau antrian permintaan layanan
disk.
2. Penjadwalan untuk optimasi rotasi, penjadwalan disk melibatkan pemeriksaan
terhadap permintaan yang belum dilayani untuk menentukan cara paling efisien
melayani permintaan-perminataan, dan memeriksa hubungan posisi di antrian
permintaan. Antrian disusun kembali sehingga permintaan akan dilayani dengan
pergerakan mekanis minimum.
Adapun beberapa metode yang digunakan :
a. Algoritma Pertama Tiba Pertama Dilayani (PTPD) / First Come, First Served (FCFS)
Algorithm
Disk drive melayani satu permintaan pada sauatu saat dan melayaninya sesuai
urutan kedatangannya. Permintaan yang duluan tiba, dilayani duluan.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
78
Sistem Operasi Komputer
Contoh : 40 silinder dengan urutan 11, 1, 36, 1, 16, 34, 9, 12
Initial
position
0
X
Tim
e
5
Peding
request
X XX
1
0
1
X
5
2
0
2
5
3
X X
Silinde
r3
3
3
X X
Silinde
3
r3
0
5
9
b. Algoritma Pungut / Pick Up Algorithm
Initial
position
0
X
Tim
e
5
X XX
1
0
1
5
X
2
0
2
5
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
0
5
9
79
Sistem Operasi Komputer
c. Algoritma Waktu Cari Terpendek Dipertamakan (WCTD) / Shortest Seek Time
First (SSTF) Algorithm
X
0 Tim
e
Initial
position
5
X XX
1
0
1
X
5
2
2
3
Sequence of
0 seeks5
0
X X
3
3
Silinde
r
5
9
d. Algoritma Lift Singkat / LOOK Algorithm
Initial
position
X
Tim
0e
5
X XX
1
0
1
5
X
2
0
2
5
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
3
0
X X
Silinde
3
r3
5
9
80
Sistem Operasi Komputer
e. Agoritma Lift Singkat Searah / C-LOOK Algorithm
Initial
position
X
Tim
0e
5
X XX
1
0
1
5
X
2
0
2
5
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
3
0
X X
Silinde
3
r3
5
9
81
Sistem Operasi Komputer
f. ritma Lift Lengkap / SCAN Algorithm
Initial
position
X
Tim
0e
5
X XX
1
0
1
X
5
2
0
2
5
3
X X
Silinde
3
r3
3
X X
Silinde
r3
3
0
5
9
g. Algoritma Lift Lengkap Searah / C-Scan Algorithm
Initial
position
X
Tim
0e
5
X XX
1
0
1
5
X
2
0
2
5
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
0
5
9
82
Sistem Operasi Komputer
3.3. I/O Error Handling / Penanganan Kesalahan I/O
Error yang umum terjadi adalah :
1. Error pemrograman
Kesalahan disebabkan pemrograman. Misalnya : request sektor yang tidak ada.
Penanganannya : pembetulan program untuk komersial software, batalkan operasi
dan berharap tidak akan terjadi lagi
2. Error checksum transient
Kesalahan disebabkan adanya debu diantara head dengan permukaan disk.
Penanganannya : lakukan operasi berulang-ulang dan menandai sector yang rusak.
3. Error checksum permanent
Kesalahan disebabkan kerusakan disk. Misalnya harus dibuat daftar blok-blok buruk
agar data tidak ditulisi di blok-blok buruk.
4. Error seek
Kesalahan ini ditanggulangi dengan mengkalibrasi disk supaya berfungsi kembali.
Misalnya lengan harusnya ke silinder 6 ternyata ke 7. Penanganannya : kalibrasi
ulang.
5. Error controller
Kesalahan ini ditanggulangi dengan menukar pengendali yang salah dengan
pengendali yang baru. Misalnya controller menolak perintah akses. Penanganannya :
reset.
6. Track at time caching
Kontroller mempunyai memori untuk menyimpan informasi track dimana ia berada,
permintaan pembacaan blok track tersebut dilakukan tanpa pergerakan mekanik.
3.4. RAM Disk
RAM disk adalah disk driver yang disimulasikan pada memori akses acak (RAM). RAM
disk sepenuhnya mengeliminasi waktu tunda yang disebabkan pergerakan mekanis
dalam seek dan rotasi. RAM disk berguna untuk aplikasi yang memerlukan kinerja disk
yang tinggi.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
83
Sistem Operasi Komputer
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.
User
Programs
RAM
Disk blok
1
R & W of
RAM
blok 0 use
this
memory
Main
Memory
(RAM)
RAM
Disk
.
.
.
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
RS-232
interface
Hardco
py
Glass
tty
Intellige
nt
Memory Mapped
interface
Blit
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
Charact
er
oriented
Bit
oriented
84
Sistem Operasi Komputer
1. terminal interface melalui RS-232
RS-232 menghubungkan keyboard, monitor menggunakan serial interface, 1 bit
dalam 1 waktu, dan menggunakan 25 pin konektor, dimana 1 pin untuk transmisi
data, 1 pin untuk receive data dan 1 pin untuk ground, 22 pin yang lain digunakan
untuk fungsi control atau ada pin yang tidak digunakan.
RS-232 dapat dikategorikan lagi menjadi :
a. hardcopy / printer, dimana tipe karakter dari keyboard ditransmisikan ke
komputer, dan kemudian di cetak di kertas / printer.
b. Dumb CRT terminal / glass tty (teletype = terminal)
c. Intelligent CRT terminals, terdiri dari CPU dan memory, dan untuk program
yang kompek digunakan EPROM atau ROM.
d. Blit, adalah terminal dengan powerful microprocessor
2. terminal memory-mapped
adalah interface melalui video RAM / video controller yang digunakan untuk
monitor.
4.2. Terminal Software
Terminal Software terdiri dari :
1. Input Software
2. Output Software
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.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
85
Sistem Operasi Komputer
BAB VII
DEADLOCK
Resource (Sumber Daya)
Ada 2 tipe resource, yaitu :
1. Preemptable resource
Resoource yang dapat dibersihkan dari proses yang menggunakannya tanpa efek yang
buruk.
Mudah diatasi dengan cara realokasi resource dari satu proses ke yang lainnya.
2. Nonpreemptable resource
Resoource yang tidak dapat dibersihkan dari proses yang menggunakannya tanpa
menyebabkan komputer fail.
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
Wait(S)
Wait(Q)
.
.
.
Signal(S)
Signal(Q)
P1
Wait(Q)
Wait(S)
.
.
.
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.
Startvation terjadi ketika proses-proses menunggu alokasi sumberdaya sampai tak
terhingga, karena bisa pada kebijaksanaan / strategi alokasi sumberdaya, sementara
proses-proses lain dapat memperoleh alokasi sumberdaya.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
86
Sistem Operasi Komputer
Indefinite postponement / indefinite blocking / starvation :
Penundaan penjadwalan sebuah proses selama tak terhingga sementara sistem
mengadakan alokasi sumber daya untuk proses yang lain. Penyebabnya adalah prioritas.
Cara mengatasinya dengan “aging” yaitu prioritaas naik dengan bertambahnya waktu.
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
Model deadlock dua proses dan dua sumber daya
Deadlock dapat digambarkan sebagai graph.
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.
Skenario yang menimbulkan deadlock
Dapat terjadi skenario sebagai berikut :
- P0 dialokasikan R0
- P1 dialokasikan R1
P0
R0
R1
P1
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
87
Sistem Operasi Komputer
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
R1
R0
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.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
88
Sistem Operasi Komputer
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.
Metode-metode mengatasi deadlock :
1. deadlock prevention / metode pencegahan terjadinya deadlock
pengkondisian sistem agar menghilangkan kemungkinan terjadinya deadlock.
Pencegahan merupakan solusi yang bersih dipandang dari sudut tercegahnya deadlock.
Jika mulainya satu atau lebih proses akan menyebabkan terjadinya deadlock, proses
tersebut tidak akan dimulai sama sekali.
- tiap proses harus meminta resource yang dibutuhkan sekaligus dan tidak bisa
berjalan sampai semua di dapat (untuk “wait for”)
- jika ada resourcce yang tidak terpenuhi, yang lainnya harus dilepas (untuk “no
preemption”)
- urutkan tipe-tipe resource secara linier / linier ordering (untuk “circular wait”)
2. deadlock avoidance / metode penghindaran terjadinya deadlock
menghindarkan kondisi yang paling mungkin menimbulkan deadlock agar memperoleh
sumber daya lebih baik. Penghindaran bukan berarti menghilangkan semua
kemungkinan terjadinya deadlock. Jika sistem operasi mengetahui bahwa alokasi
sumber daya menimbulkan resiko deadlock, sistem menolak / menghindari
pengaksesan itu. Dengan demikian menghindari terjadinya deadlock. Contohnya dengan
menggunakan algoritma Banker yang diciptakan oleh Dijkstra.
3. deadlock detection and recovery / metode deteksi dan pemulihan dari deadlock
deteksi digunakan pada sistem yang mengijinkan terjadinya deadlock, dengan
memeriksa apakah terjadi deadlock dan menentukan proses dan sumber daya yang
terlibat deadlock secara presisi. Begitu telah dapat ditentukan, sistem dipulihkan dari
deadlock dengan metode pemulihan. Metode pemulihan dari deadlock sistem sehingga
beroperasi kembali, bebas dari deadlock. Proses yang terlibat deadlock mungkin dapat
menyelesaikan eksekusi dan membebaskan sumber dayanya.
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.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
89
Sistem Operasi Komputer
Strategi Burung Onta
Strategi ini mengasumsikan kejadian deadlock jarang terjadi jika dibandingkan dengan
kejadian komputer crash. Strategi ini disebut strategi burung onta karena kabar yang telah
tersebar (yang sebenarnya tidak benar) bahwa burung onta akan menyembunyikan
kepalanya ke tanah bila mengetahui adanya bahaya yang mengancamnya. Sehingga solusi
yang dilakukan justru sebenarnya tak memperdulikan adanya masalah.
Stategi ini sebenarnya berarta adalah sama sekali tidak berusaha mengatasideadlock / tak
ada metoda sama sekali untuk mengatasi masalah deadlock.
Penghindaran deadlock
Adalah hanya memberi akses ke permintaan sumber daya yang tidak mungkin
menimbulkan deadlock.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
90
Sistem Operasi Komputer
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.
3 macam keamanan sistem, yaitu :
1. Keamanan eksternal / external security
Berkaitan dengan pengamanan fasilitas komputer dari penyusup dan bencana seperti
kebakaran / kebanjiran.
2. Keamanan interface pemakai / user interface security
Berkaitan dengan indentifikasi pemakai sebelum pemakai diijinkan mengakses program
dan data yang disimpan
3. Keamanan internal / internal security
Berkaitan dengan pengamanan beragam kendali yang dibangun pada perangkat keras
dan sistem operasi yang menjamin operasi yang handal dan tak terkorupsi untuk
menjaga integritas program dan data.
2 masalah penting keamanan, yaitu :
1. Kehilangan data / data loss
Yang disebabkan karena :
 Bencana, contohnya kebakaran, banjir, gempa bumi, perang, kerusuhan, tikus, dll.
 Kesalahan perangkat keras dan perangkat lunak, contohnya ketidak berfungsinya
pemroses, disk / tape yang tidak terbaca, kesalahan komunikasi, kesalahan program
/ bugs.
 Kesalahan / kelalaian manusia, contohnya kesalahan pemasukkan data, memasang
tape / disk yang salah, kehilangan disk / tape.
2. Penyusup / intruder
 Penyusup pasif, yaitu yang membaca data yang tidak terotorisasi
 Penyusup aktif, yaitu mengubah data yang tidak terotorisasi.
Contohnya penyadapan oleh orang dalam, usaha hacker dalam mencari uang, spionase
militer / bisnis, lirikan pada saat pengetikan password.
Sasaran keamanan adalah menghindari, mencegah dan mengatasi ancaman terhadap
sistem.
3 aspek kebutuhan keamanan sistem komputer, yaitu :
1. Kerahasiaan / secrecy, diantaranya privasi
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
91
Sistem Operasi Komputer
Keterjaminan bahwa informasi di sistem komputer hanya dapat diakses oleh pihakpihak 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
informa
si
Aliran
normal
Tujuan
informa
si
Tipe ancaman terhadap keamanan sistem komputer dapat dimodelkan dengan memandang
fungsi sistem komputeer sebagai penyedia informasi.
Berdasarkan fungsi ini, ancaman terhadap sistem komputeer dikategorikan menjadi
4 ancaman, yaitu :
1. Interupsi / interuption
Sumber daya sistem komputer dihancurkan / menjadi tak tersedia / tak berguna.
Merupakan ancaman terhadap ketersediaan. Contohnya penghancuran harddisk,
pemotongan kabel komunikasi.
Sumber
informa
si
Interupsi
Tujuan
informa
si
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
informa
si
3. Modifikasi / modification
Tujuan
informa
si
Intersepsi
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
92
Sistem Operasi Komputer
Pihak tak diotorisasi tidak hanya mengakses tapi juga merusak sumber daya.
Merupakan ancaman terhadap integritas. Contohnya mengubah nilai file, mengubah
program, memodifikasi pesan
Sumber
informa
si
Tujuan
informa
si
4. Fabrikasi / fabrication
Modifikasi
Pihak tak diotorisasi menyisipkan
/ memasukkan objek-objek palsu ke sistem.
Merupakan ancaman terhadap integritas. Contohnya memasukkan pesan palsu ke
jaringan, menambah record file.
Sumber
informa
si
Tujuan
informa
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.
Otentifikasi pemakai / user authentification adalah identifikasi pemakai ketika login.
3 cara otentifikasi :
1. Sesuatu yang diketahui pemakai, misalnya password, kombinasi kunci, nama kecil ibu
mertua, dll
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
93
Sistem Operasi Komputer
Untuk password, pemakai memilih suatu kata kode, mengingatnya dan
menggetikkannya saat akan mengakses sistem komputer, saat diketikkan tidak akan
terlihat dilaya kecuali misalnya tanda *. Tetapi banyak kelemahan dan mudah ditembus
karena pemakai cenderung memilih password yang mudah diingat, misalnya nama
kecil, nama panggilan, tanggal lahir, dll.
Upaya pengamanan proteksi password :
a. Salting, menambahkan string pendek ke string password yang diberikan pemakai
sehingga mencapai panjang password tertentu
b. one time password, pemakai harus mengganti password secara teratur, misalnya
pemakai mendapat 1 buku daftar password. Setiap kali login pemakai menggunakan
password berikutnya yang terdapat pada daftar password.
c. satu daftar panjang pertanyan dan jawaban, sehingga pada saat login, komputer
memilih salah satu dari pertanyaan secara acak, menanyakan ke pemakai dan
memeriksa jawaban yang diberikan.
d. tantangan tanggapan / chalenge respone, pemakai diberikan kebebasan memilih
suatu algoritma misalnya x3, ketika login komputer menuliskan di layar angka 3,
maka pemakai harus mengetik angka 27.
2. Sesuatu yang dimiliki pemakai, misalnya bagde, kartu identitas, kunci, barcode KTM,
ATM.
Kartu pengenal dengan selarik pita magnetik. Kartu ini disisipkan de suatu perangkat
pembaca kartu magnetik jika akan mengakses komputer, biasanya dikombinasikan
dengan password.
3. Sesuatu mengenai / merupakan ciri pemakai yang di sebut biometrik, misalnya sidik
jari, sidik suara, foto, tanda tangan, dll
Pada tanda tangan, bukan membandingkan bentuk tanda tangannya (karena mudah
ditiru) tapi gerakan / arah dan tekanan pena saat menulis (sulit ditiru).
Untuk memperkecil peluang penembusan keamanan sistem komputer harus
diberikan pembatasan, misalnya :
1. Pembatasan login, misalnya pada terminal tertentu, pada waktu dan hari tertentu
2. Pembatasan dengan call back, yaitu login dapat dilakukan oleh siapapun, bila telah
sukses, sistem memutuskan koneksi dan memanggil nomor telepon yang disepakati.
Penyusup tidak dapat menghibungu lewat sembarang saluran telepon, tapi hanya pada
saluran tetepon tertentu.
3. Pembatasan jumlah usaha login, misalnya dibatasi sampai 3 kali, dan segera dikunci dan
diberitahukan ke administrator.
Objek yang perlu diproteksi :
1. Objek perangkat keras, misalnya pemroses, segment memori, terminal, diskdrive,
printer, dll
2. Objek perangkat lunak, misalnya proses, file, basis data, semaphore, dll
Masalah proteksi adalah mengenai cara mencegah proses mengakses objek yang tidak
diotorisasi. Sehingga dikembangkan konsep domain. Domain adalah himpunan pasangan
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
94
Sistem Operasi Komputer
(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
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA
95
Download