Anda di halaman 1dari 95

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
Keluaran
Penghubung
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.

User
Banking Word Program
Game
System Processing Aplikasi

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA 1


Sistem Operasi Komputer

Command
Compiler Utility Program
Interpreter
Sistem Operasi (Operating System) Sistem

Bahasa Mesin (Machine Language)


Pemrograman Mikro
Hardware
(Microprogramming)
Perangkat Fisik (Physical Devices)

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 (run-
time).
 The ‘big mess’
 Tidak berstruktur
 Kernel call / supervisor call
 User mode
 Kernel mode / supervisor mode

User Program
User Program 2
Runs in
User Mode
User Program 1
Kernell Call

1 3 Operating System
s runs in
service
2
servis
procedure Kernel Mode
Dispatch
Table

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

System Call
I/O
CMS CMS CMS
Intruction Trap
Trap VM 370
370 Bare Hardware
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”.
Client Client Process Term. File Mem User
Process Process Server Server … Server Server Mode
Kernel
Mode
Kernel
Client obtains service by sending
messages
to server processes
Gambar 6. Model Client Server

 Model Client Server pada distributed system

Client Client Client Client


Kernel
Kernel Kernel Kernel

Message from client to server 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 Empat Model


program counter program counter Proses
Proses

A D
C
B
C B
A
A B C D
D
Waktu

(a) (b) (c)

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 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
1 2
3
Blocked / Ready /
terhenti siap
4

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA 14


Sistem Operasi Komputer

1. Proses di blok untuk melayani input karena sumber daya yang diminta belum tersedia
/ meminta layanan I/O sehingga menunggu kejadian muncul.
2. Penjadwalan mengambil proses lain.
3. Penjadwalan mengambil proses ini (baru).
4. Input telah tersedia.

Implementasi Proses :
 Untuk mengimplementasikan model proses, sistem operasi menggunakan suatu tabel /
array yang disebut tabel proses dengan 1 entry per-proses.
 Setiap entry berisi tentang : status proses, program counter, stack pointer, alokasi
memori, status file, informasi schedulling / penjadwalan informasi, dll dari status kerja
ke status siap.

Contoh Tabel Proses :


Proses management Memory management File management
Register Pointer to text segment UMASK mask
Program counter Pointer to data segment Root directoy
Program status word Pointer to bss segment Working directory
Stack pointer Exit status File descriptiors
Process state Signal status Effective uid
Time when process started Process id Effective gid
CPU time used Parent process System call parameters
Children’s CPU time Process group Various flag bits
Time of next alarm Real uid
Message queue pointers Effective uid
Pending signal bits Real gid
Process id Effective gid
Various flag bits 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

seperti biasa, jika tidak teratasi maka interupsi akan menempuh tindak lanjut
keluar dari proses.
c. Keluar dari proses, penata keliru menyiapkan tampilan berita keliru dari monitor,
setelah itu prosesor keluar dari proses, ini adalah tindakan terakhir jika tidak dapat
menolong proses yang keliru tersebut.

Tindak lanjut interupsi menurut Peterson & Silberschatz :


Interupsi

Rekam informasi proses

Maksud interupsi?

Rampung Keliru Bukan I/O Mulai I/O Rampung I/O

Kerja / Curah Laksanakan Mulai Tanda


Perintah Permintaan Rampung
Berikutnya

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 meng-
overwrite data proses B yang diletakkan di slot (7)
 Maka proses B tidak akan dilaksanakan, dan tidak akan terdeteksi terjadi kesalahan.

Untuk menghindari race condition maka harus diatur agar 2 proses yang mempunyai
critical section yang sama tidak memasuki critical section pada saat yang bersamaan.

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]; /*nilai awal di-set = 0 (false)*/
void enter_region(int process) /*proses = 1 atau 0*/

{
int other; /*jumlah proses lainnya*/
other = 1 – process; /*proses lainnya*/
interested[process] = TRUE; /*menunjukkan tertarik*/
turn = process; /*set flag*/
while (turn==process && interested[other] == TRUE)
}

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 | copy flag ke reg dan set
flag = 1
Cmp reg,#0 | apakah flag = 0
Jnz enter_region |jika <> 0 loop lagi
Ret |return ke caller, masuk critical
region

Leave_region :
Mov flag, #0 |simpan 0 ke flag
Ret |return ke caller
Proses harus memanggil ini pada saat yang tepat.
Kelemahan utama dengan busy waiting adalah menyita banyak waktu CPU dan
problem inversi prioritas.
6. Sleep and Wake Up
Mekanismenya : proses akan di blok / tidur (sleep) apabila tidak bisa memasuki
critical_section-nya dan akan dibangunkan (wake up) / ready apabila resource yang
diperlukan telah tersedia.
SLEEP : sistem call membuat proses yang memanggil di blok (blocked)
WAKE UP : sistem call yang membuat proses yang memanggil menjasi ready
Contoh :
Procedure-Consumer Problem (bounded buffer)
Beberapa proses share buffer dengan ukuran tetap
Jika buffer penuh producer sleep
Jika buffer kosong consumer sleep
Jika buffer mulai kosong producer wake up
Jika buffer terisi consumer wake up
Masih ada kemungkinan terjadi race condition
7. Semaphore (Dijkstra, 1965)
Meng-cek, mengubah dan sleep 1 instruksi yang
Mengubah dan wake up tdk dpt dipisahkan
Instruksi tersebut sangat berguna untuk sinkronisasi.
Dapat diimplementasikan untuk memecahkan producer-consumer problem.
Mekanisme-nya menggunakan :
- variabel integer untuk menghitung jumlah wake up yang disimpan / tertunda
- bernilai 0 bila tidak ada wake up yang disimpan, bernilai positif bila ada wake up
yang tertunda

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 Computer

Process Thread Program Counter


(a) (b)

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

Mulai Kerja Selesai


2. Status proses sambil bekerja dan terhenti

Mulai Kerja Selesai

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 proses-
proses.
 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 Saat Lama Saat Saat Rampung Lama


Proses Tiba Proses Mulai Tanggap
A 0 9 0 9 9
B 0 30 9 39 39
C 0 4 39 43 43
D 0 8 43 51 51
E 0 12 51 63 63
  Ti 205
serentak Tr 41

Tr cukup besar, jika dibandingkan dengan lama tanggap dari masing-masing proses.

Nama Saat Lama Saat Saat Rampung Lama


Proses Tiba Proses Mulai Tanggap
A 0 4 0 4 4
B 1 7 4 11 10
C 3 3 11 14 11
D 7 8 14 22 15
 Ti 40
Tr 10
Lama tanggap  saat rampung karena perbedaan saat tiba.

 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 Saat Lama Saat Saat Rampung Lama


Proses Tiba Proses Mulai Tanggap
A 0 11
B 0 8
C 0 10
D 0 3
E 0 5

Nama Saat Lama Saat Saat Rampung Lama


Proses Tiba Proses Mulai Tanggap
D 0 3 0 3 3
E 0 5 3 8 8
B 0 8 8 16 16
C 0 10 16 26 26
A 0 11 26 37 37
   Ti 90
serentak prioritas Tr 18

Tr lebih singkat, jika dibandingkan dengan PTPD

Nama Saat Lama Saat Saat Rampung Lama


Proses Tiba Proses Mulai Tanggap
A 0 5
B 3 7
C 5 2
D 6 4

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 Saat Lama Saat Saat Rampung Lama


Proses Tiba Proses Mulai Tanggap
A 0 5 0 5 5
C 5 2 5 7 2
D 6 4 7 11 5
B 3 7 11 18 15
=18  Ti 27
Tr 6.75

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA 30


Sistem Operasi Komputer

Keuntungan : memperkecil rata-rata lama tanggap


Kelemahan : layanan terhadap proses panjang bisa tidak terlayani jika proses pendek
datang terus.

Nama Saat Lama Saat Saat Rampung Lama


Proses Tiba Proses Mulai Tanggap
A 0 8
B 4 5
C 6 3
D 9 8
E 14 4

Nama Saat Lama Saat Saat Rampung Lama


Proses Tiba Proses Mulai Tanggap
A 0 8 0 8 8
C 6 3 8 11 5
B 4 5 11 16 12
E 14 4 16 20 6
D 9 8 20 28 19
 Ti 50
Tr 10

 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 Saat Lama Saat Saat Rampung Lama


Proses Tiba Proses Mulai Tanggap
A 0 7
B 2 3
C 4 9
D 5 4

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 Saat Lama Saat Saat Rampung Lama


Proses Tiba Proses Mulai Tanggap
A 0 7 0 14 14
B 2 3 2 5 3
C 4 9 15 23 19
D 5 4 5 9 4
=23  Ti 40
Tr 10

Karena preempsi, PTDP lebih baik dari PTD dalam hal kecilnya Tr, tetapi untuk proses
panjang lebih lama dibandingkan PTD.

Nama Saat Lama Saat Saat Rampung Lama


Proses Tiba Proses Mulai Tanggap
A 0 8
B 2 5
C 4 7
D 5 1

Nama Saat Lama Saat Saat Rampung Lama


Proses Tiba Proses Mulai Tanggap
A 0 8 0 14 14
B 2 5 2 8 6
C 4 7 14 21 17
D 5 1 5 6 1
 Ti 38
Tr 9.5

 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 Saat Lama Saat Saat Rampung Lama


Proses Tiba Proses Mulai Tanggap
A 0 4
B 1 2
C 2 5
D 3 8
E 4 4

Nama Proses Waktu sia-sia Rasio Penalti


B 4-1=3 (3 + 2) / 2 = 2,5 Rp>>
C 4-2=2 (2 + 5) / 5 = 1,4
D 4-3=1 (1 + 8) / 8 = 1,125
E 4-4=0 (0 + 4) / 4 = 1

Nama Proses Waktu sia-sia Rasio Penalti


C 6-2=4 (4 + 5) / 5 = 1,8 Rp>>
D 6-3=3 (3 + 8) / 8 = 1,375
E 6-4=2 (2 + 4) / 4 = 1,5

Nama Proses Waktu sia-sia Rasio Penalti


D 11 - 3 = 8 (8 + 8) / 8 = 2
E 11 - 4 = 7 (7 + 4) / 4 = 2,75 Rp>>

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 Saat Lama Saat Saat Rampung Lama


Proses Tiba Proses Mulai Tanggap
A 0 4 0 4 4
B 1 2 4 6 5
C 2 5 6 11 9
D 3 8 15 23 20
E 4 4 11 15 11
=23  Ti 49
Tr 9.8

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA 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 Lama Saat Saat Rampung Lama
Proses Tiba Proses Mulai Tanggap
A 0 7
B 0 5
C 0 8
D 0 2
E 0 6

Saat 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Proses A A A B B B C C C D D E E E A A A B B C C C E E E A C C

Nama Saat Lama Saat Saat Rampung Lama


Proses Tiba Proses Mulai Tanggap
A 0 7 0 26 26
C 0 5 3 19 19
B 0 8 6 28 28
E 0 2 9 11 11
D 0 6 11 25 25
 = 28  Ti 109
Tr 21.8

Dengan Q = 2
Nama Saat Lama Saat Saat Rampung Lama
Proses Tiba Proses Mulai Tanggap
A 0 5
B 1 3
C 5 7
D 6 1
E 7 6

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA 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 Saat Lama Saat Saat Rampung Lama


Proses Tiba Proses Mulai Tanggap
A 0 5 0 13 13
B 1 3 2 7 6
C 5 7 7 22 17
D 6 1 9 10 4
D 7 6 10 21 14
 Ti 54
Tr 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. 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
2. 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 Dengan
Prioritas Prioritas
Tanpa PTPD PTD / RPTD
Preempsi
Dengan PG PTDP
Preempsi

Penjadwalan Multitingkat
 Proses dibedakan tingkatnya berdasarkan kepentingannya.
 Penjadwalan pada tiap tingkat dapat bermacam-macam.
 Pada antrian multi tingkat berbalikan, tingkat satu dan lainnya saling berhubungan.

 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


P
Tingkat 2 c/ proses pd prog. Interaktif R
O
Tingkat 3 c/ proses pd program edit S
E
Tingkat 4 c/ proses pd tumpukan S
O
Tingkat 5 c/ proses pd borongan R

 Antrian Multi Tingkat Berbalikan /


Feedback multi level queue

Tingkat 1 P Rampung
Preempsi

Tingkat 2 P Rampung
Preempsi

Tingkat 3 P Rampung
Preempsi

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA 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 Rerata waktu sia-sia
tanggap
PTPD 42,4 30
PTD 29,2 14
PG (Q=8) 38,4 28

Keuntungan : ketepatan untuk menunjukkan rata-rata lama tanggap / rata-rata


waktu sia-sia
Kelemahan : hasil evaluasi hanya berlaku untuk proses yang telah ditetapkan

b. 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

Pindah masuk
Memori Memori
dukung kerja
Pindah keluar

1 pindahan = 1 blok, makin kecil ukuran memori kerja, makin sering terjadi pindahan.

Alamat Memori
– Alamat memori mutlak (alamat fisik)
Sel memori pada memori kerja adalah sumber daya berbentuk fisik, sehingga untuk
mencapai sel memori ini digunakan kata pengenal. Maka disebutlah alamat fisik dan
karena nomor alamat fisik ini bersifat mutlak (nomor setiap sel adalah tetap), maka
disebut juga alamat mutlak.
– Alamat memori relatif (alamat logika)
Alamat memori yang digunakan oleh program / data berurutan / berjulat. Jika kita
menggunakan alamat 1, maka kitapun menggunakan alamat 2,3, … dan untuk 1
informasi jika alamat awalnya 0 dan alamat lainnya relatif terhadap alamat awal 0 ini,
maka dinamakan alamat relatif. Dan alamat tersebut adalah logika dari untaian alamat
yang menyimpan informasi maka dikenal alamat memori logika.
Contoh : alamat awal relatif 0, alamat awal fisik 14726, maka selisihnya = relokasinya =
14726-0 = 14726.

Alamat relatif Alamat mutlak Relokasi


0 14726 14726
1 14727 14726
2 14728 14726
3 14729 14726
… … …

Isi Memori
1. Sistem bahasa pemograman
Translator tergantung pada program yang digunakakan dan memiliki run time
subroutine yang mengatur program dari bahasa pemogramannya untuk melakukan
translator.
2. Sistem utilitas
Merupakan bagian dari sistem operasi komputer, biasanya berbentuk berkas dalam
memori arsif.
3. Inti sistem operasi
Terdiri dari inti, kernel, nucleus adalah system operasi yang menetapkan dalam
memori kerja. Contohnya adalah pada saat “boot / booting / bootstrap”.
4. Sistem operasi
Program sistem operasi diletakkan dalam memori, maka banyak kegiatan yang juga
terletak dalam memori.
5. Pengendali alat

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA 40


Sistem Operasi Komputer

Terdiri dari penggerak alat / device controller dan pelaksana / device driver yang
berbentuk program dan menempati ruang memori tertentu.
6. Berkas pemakai
Terdiri dari berkas program dan berkas data, yang ditampung dalam memori dan pada
waktunya diteruskan ke prosesor untuk diolah.

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 Sistem Operasi

6
Batas Bawah BB6 Batas Atas BA5

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA 42


Sistem Operasi Komputer

BA4 Batas Bawah BB5


BB4 4 BA3

BA2 3 BB3

BB2 2 BA1
1 BB1
unused

Untuk setiap penggalan memori kerja, memerlukan 2 register yaitu untuk mencatat
batas atas dan untuk mencatat batas bawah. Dan setiap alamat memerlukan dua kali
perbandingan untuk mencapai penggalan.
 Relokasi ke penggalan memori kerja
Dapat memilih penggalan yang menjadi tujuan relokasi dan harus diperiksa panjang
informasi dan ukuran penggalan memorinya.
Karena jika masuk pada penggalan yang kecil, informasi tidak dapat tertampung.
Contoh : Jika alamat awalnya = 0, alamat pangkal P maka A = 0 dan P = BB. Sehingga R =
P – A = BB
Jika alamat X tidak melampaui batas (BA-BB) maka pemuatan secara relokasi dapat
dilaksanakan yaitu dengan menambahkan alamat pangkal (BB) dari penggalan memori
kerja.

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 Sistem Operasi Sistem Operasi

di RAM
di ROM di RAM

Program

Program Pemakai
Program
Pemakai
di RAM
Pemakai
Device
di RAM Driver
di RAM
di ROMD
= RAM Driver
di ROM
= ROM

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
memori adalah sama
Memori Tidak Dipakai
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 50 Kbyte

Partisi 2 75 Kbyte

Partisi 3
100 Kbyte
Partisi 4 200 Kbyte
Partisi 5
150 Kbyte
Sistem Operasi
Multiprogrammning dengan Pemartisian Tetap dengan Satu Antrian

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
50 Kbyte

Partisi 2
75 Kbyte
Partisi 3

100 Kbyte
Partisi 4

200 Kbyte
Partisi 5

SSSistem Operasi
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 MMMemori Untuk


Sistem Operasi 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 B C
0 7 15 23

0 1 2 3 4 5 6 7
1 1 1 1 1 0 0 0
1 1 1 1 1 1 1 1
1 1 0 0 1 1 1 1
... ... ... ... ... ... ... ...

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 B C
0 7 15 23

P 0 5 H 5 3 P 8 6 P 14 4

H 18 2 P 20 3

Hole Panjang=2 Proses


Start
Di 18
Pengelolaan Pemakaian dengan Linked List

3. 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 Urutan
Pemenggalan
4K Memori
Setiap
3K Ukuran

2K

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

1024
A 128 256 512
A B 64 256 512
A B 64 C 128 512
128 B 64 C 128 512
128 D C 128 512
128 D C 128 512
256 C 128 512
1024

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 2K

Terisi 2K
2K
3K
Internal 1K
eksternal 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 Artinya
*.bak File Backup
*.bas Program source Basic
*.bin Program executable binary
*.c Program source C
*.dat File Data
*.doc File Dokumentasi
*.ftn Program source Fortran
*.hlp File Teks untuk HELP command
*.lib Library dari file .obj yang digunakan
linker
*.man Online manual page
*.obj File object
*.pas Program source Pascal
*.tex Teks masukan untuk format program
TEX
*.txt File teks umum

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 Artinya
Protection Who can access the file and in what way
Password Password needed to access the file
Creator Id of person who created the file
Owner Current owner
Read Only flag 0 for read/write, 1 for read only
Hidden flag 0 for normal, 1 for do not display in
listings
System flag 0 for normal file, 1 for system file
Archive 0 has been backed up, 1 for needs to be
backed up
ASCII/binary flag 0 for ASCII file, 1 for binary file
Random access flag 0 for sequential access only, 1 for random
access
Temporary flag 0 for normal, 1 for delete on process exit
Lock flag 0 for unlocked, nonzero for locked
Record length Number of bytes in a record
Key position Offset of the key within each record
Key length Number of bytes in the key field
Creation time Date and Time file was created
Time of last access Date and Time file was last accessed
Time of last change Date and Time file was last changed
Current size Number of bytes in the file
Maximum size Maximum size file may grow ro

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 (index-
node) 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 i-
node.
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. Bentuk konsisten
b. Blok 2 tidak muncul pada kedua tabel, dinamakan Missing Block.
c. Block 4 muncul dua kali didalam daftar blok bebas (free list).
d. Blok data yang sama muncul dalam dua atau lebih file, pada blok 5.

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 i-
node dengan bloknya setengah kali.
Cara lain, membagi disk kedalam kelompok cylinder, setiap kelompok mempunyai i-
node, blok dan daftar bebas sendiri.

4. PENGAMANAN
4.1 Seputar Pengamanan (security)
Istilah "security" dan "protection"
Security ditujukan untuk keseluruhan masalah sedangkan Protection merupakan
mekanisme tertentu dari sistem operasi yang digunakan untuk menjaga informasi
didalam komputer.

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 hal-
hal yang diinginkan.
Ide merubah program untuk melakukan hal yang tidak berkenan dan merugikan orang lain
dikenal sebagai Serangan Kuda Troya (Trojan Horse Attack).

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 "pangkat-
2". 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 OBJECT
N
File File File File4 File File6 Print Plott
1 2 3 5 er1 er2
Rea
1 Rea d
d Writ
e

Read Rea
2 Rea Write d Write
d Execu Writ
te e

Read
3 Write Write Write
Exec
ute
Gambar 22. Matriks proteksi.

Kemudian 3 domain sebagai object pada Tabel berikut.

DOMA O B J E C T
IN
File File File File4 File File6 Print Plott Domai Domai Domai
1 2 3 5 er1 er2 n1 n2 n3
Rea
1 Rea d Enter
d Wri
te

Read Rea
2 Rea Write d Write

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA 69


Sistem Operasi Komputer

d Exec Wri
ute te
Read
3 Write Write Write
Exec
ute
Gambar 23. Matriks proteksi.dengan domain sebagai object.

Proses pada domain 1 bisa berpindah ke domain 2 tetapi jika telah pindah tidak dapat
kembali ke domain semula. Cara ini sama dengan menjalankan SETUID di UNIX.

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.

Type Rights Object


0 File R- - Pointer to File3
1 File RWX Pointer to File4
2 File RW - Pointer to File5
3 Printer -W- 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 perintah-
perintah 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.

Object Object
Compile MailBox Secret Compile MailBox Secret
r 7 r 7
Eric Read Eric Read
Execute Execute
Henr Read Read Henry Read Read
y Execute Write Execute Write
Robe Read Read Robert Read R Read
rt Execute Write Execute e Write
a
d

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA 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
Controller
Device
Interface

CP Memor Disk Printer Other


……..
U y Controll Controll Controll
er er 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

drive
Disk
CPU memor controll
y er buffer

cou DMA Register / memory


nt cou
address
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 0 5 0
6 1 3 4 2 3

5 2 6 1 7 6
4 3 2 5 4 1

No Single Double
Interleaving Interleaving Interleaving

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 Device Device
Drivers Controller
(Registernya)
3. Device Independent Operating System Software
I/O device-independent adalah : software I/O yang tak bergantung pada perangkat
keras.
Fungsi dasar dari software device-independent :
- membentuk fungsi I/O yang berlaku untuk semua device
- menyediakan interface uniform / seragam ke user level software

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 reply I/O functions


I/O
User processes
request Make I/O call; format I/O; spooling

Device-independent Naming protection, blocking, buffering,


software allocation
Device-drivers Setup device register, check status

Interrupt handler Wake up driver when I/O completed

Hardware 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 Read/Write
Spindl Boo
s Head
e Struktur Disk 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 Peding
position request
X X XX X X X
Silinde
0 5 1 1 2 2 3 r3 3

Tim 0 5 0 5 0 5 9
e

b. Algoritma Pungut / Pick Up Algorithm


Initial
position
X X XX X X X
Silinde
0 5 1 1 2 2 3 r3 3
Tim
e 0 5 0 5 0 5 9

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA 79


Sistem Operasi Komputer

c. Algoritma Waktu Cari Terpendek Dipertamakan (WCTD) / Shortest Seek Time


First (SSTF) Algorithm

Initial
position
X X XX X X X

0 Tim 5 1 1 2 2 3 3
Silinde 3
e Sequence of r
0 5 0 seeks5 0 5 9

d. Algoritma Lift Singkat / LOOK Algorithm


Initial
position
X X XX X X X
Tim Silinde
0e 5 1 1 2 2 3 r3 3

0 5 0 5 0 5 9

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA 80


Sistem Operasi Komputer

e. Agoritma Lift Singkat Searah / C-LOOK Algorithm


Initial
position
X X XX X X X
Tim Silinde
0e 5 1 1 2 2 3 r3 3

0 5 0 5 0 5 9

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA 81


Sistem Operasi Komputer

f. ritma Lift Lengkap / SCAN Algorithm


Initial
position
X X XX X X X
Tim Silinde
0e 5 1 1 2 2 3 r3 3

0 5 0 5 0 5 9

g. Algoritma Lift Lengkap Searah / C-Scan Algorithm


Initial
position
X X XX X X X
Tim Silinde
0e 5 1 1 2 2 3 r3 3

0 5 0 5 0 5 9

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA 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.

Main
Memory
(RAM)

User
Programs

RAM .
Disk blok .
RAM .
1 Disk
R & W of
RAM
blok 0 use
this
memory
Operatin
g System

4. Terminal
Semua komputer memerlukan terminal untuk komunikasi antar peralatan.
4.1. Terminal Hardware
Terminal hardware terbagi atas 2 kategori dasar, yaitu :
Termina
ls

RS-232 Memory Mapped


interface interface

Hardco Glass Intellige Blit Charact Bit


py tty nt er oriented
oriented

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BUDIDARMA 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 P1
Wait(S) Wait(Q)
Wait(Q) Wait(S)
. .
. .
. .
Signal(S) Signal(Q)
Signal(Q) Signal(S)

Pada langkah pertama, kedua proses masih berjalan dengan baik. Pada langkah kedua,
proses P0 meminta Q yang ternyata masih dibawa oleh P1 dan baru akan dilepas setelah
signal(Q), demikian pula P1 meminta S yang masih dibawa oleh P0 dan baru akan dilepas
setelah signal(S). Sehingga kondisi ini akan menimbulkan deadlock.

Deadlock terjadi ketika proses-proses mengakses secara ekslusif sumber daya. Semua
deadlock yang terjadi melibatkan persaingan memperoleh sumber daya ekslusif oleh dua
proses atau lebih. Adanya deadlock akan mengakibatkan sistem menjadi kacau.

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 R1

R0 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

R0 R1

P1

Karena untuk melanjutkan eksekusi memerlukan kedua sumber daya sekaligus, maka
kedua proses akan saling menunggu sumber daya lain selamanya. Tak ada proses yang
dapat melepaskan sumber daya yang telah dipegangnya karena menunggu sumber daya
lain yang tak pernah diperolehnya. Kedua proses dalam kondisi deadlock, tidak dapat
membuat kemajuan apapun.

Deadlock tidak hanya terjadi pada dua proses dan dua sumber daya, deadlock dapat terjadi
dengan melibatkan lebih dari dua proses dan dua sumber daya.
Syarat-syarat terjadinya deadlock :
1. Mutual exclution condition
Tiap sumber daya saat itu diberikan pada tepat satu proses / proses meng-klaim kontrol
eksklusif terhadap sumber daya yang dibutuhkannya.
2. Hold and wait condition / kondisi genggam dan tunggu
Proses-proses yang sedang menggenggam sumber daya yang telah dialokasikan
untuknya sementara menunggu sumber daya – sumber daya tambahan yang baru.
3. Non-preemption condition / kondisi non-preemption
Sumber daya – sumber daya yang sebelumnya diberikan tidak dapat diambil paksa dari
proses sampai sumber daya tersebut digunakan sampai selesai. Sumber daya – sumber
daya harus secara eksplisit dilepaskan dari proses yang menggenggamnya.
4. Circular wait condition / kondisi menunggu secara sirkular
Harus terdapat rantai sirkuler / satu lingkaran proses dari dua proses atau lebih dimana
setiap proses memegang satu atau lebih sumber daya yang diminta oleh proses
berikutnya pada lingkaran tersebut, masing-masing menunggu sumber daya yang
digenggam oleh anggota berikutnya pada rantai itu.

Ketiga syarat pertama merupakan syarat perlu bagi terjadinya deadlock. Keberadaan
deadlock selalu berarti terpenuhi kondisi-kondisi diatas, tidak mungkin terjadi deadlock bila
tidak ada ketiga kondisi itu. Deadlock terjadi berarti terdapat ketiga kondisi itu, tetapi
adanya ketiga kondisi itu belum berarti terjadi deadlock.

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 pihak-
pihak yang terotorisasi dan modifikasi tetap menjaga konsistensi dan keutuhan data di
sistem
2. Integritas / integrity
Keterjaminan bahwa sumber daya sistem komputer hanya dapat dimodifikasi oleh
pihak-pihak yang terotorisasi
3. Ketersediaan / availability
Keterjaminan bahwa sumber daya sistem komputer tersedia bagi pihak-pihak yang
diotorisasi saat diperlukan

Sumber Tujuan
informa informa
si si
Aliran
normal

Tipe ancaman terhadap keamanan sistem komputer dapat dimodelkan dengan memandang
fungsi sistem komputeer sebagai penyedia informasi.

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 Tujuan
informa informa
si si
Interupsi

2. Intersepsi / interception
Pihak tak diotorisasi dapat mengakses sumber daya. Merupakan ancaman terhadap
kerahasiaan. Pihak tak diotorissasi dapat berupa orang / program komputeer.
Contohnya penyadapan, mengcopy file tanpa diotorisasi.

Sumber Tujuan
informa informa
si si

Intersepsi
3. Modifikasi / modification

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 Tujuan
informa informa
si si

4. Fabrikasi / fabrication
Pihak tak diotorisasi menyisipkan / memasukkan objek-objek palsu ke sistem.
Modifikasi
Merupakan ancaman terhadap integritas. Contohnya memasukkan pesan palsu ke
jaringan, menambah record file.

Sumber Tujuan
informa informa
si si

Fabrikasi
Petunjuk prinsip-prinsip pengamanan sistem komputer, yaitu :
1. Rancangan sistem seharusnya publik
Tidak tergantung pada kerahasiaan rancangan mekanisme pengamanan. Membuat
proteksi yang bagus dengan mengasumsikan penyusup mengetahui cara kerja sistem
pengamanan.
2. Dapat diterima
Mekanisme harus mudah diterima, sehingga dapat digunakan secara benar dan
mekanisme proteksi tidak mengganggu kerja pemakai dan pemenuhan kebutuhan
otorisasi pengaksesan.
3. Pemeriksaan otoritas saat itu
Banyak sisten memeriksa ijin ketika file dibuka dan setelah itu (opersi lainnya) tidak
diperiksa.
4. Kewenangan serendah mungkin
Program / pemakai sistem harusnya beroperasi dengan kumpulan wewenang serendah
mungkin yang diperlukan untuk menyelesaikan tugasnya.
5. Mekanisme yang ekonomis
Mekanisme proteksi seharusnya sekecil dan sesederhana mungkin dan seragam
sehingga mudah untuk verifikasi.

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

Anda mungkin juga menyukai