Sistem Operasi recent site activity (8)

Sistem Operasi

SISTEM OPERASI

Sistem Operasi

DAFTAR ISI
KATA PENGANTAR....................................................................................III
DAFTAR ISI..................................................................................................IV
1

TINJAU ULANG SISTEM KOMPUTER............................................1
1.1
PENDAHULUAN...................................................................................2
1.2
ELEMEN DASAR KOMPUTER..............................................................2
1.3
PROSESOR...........................................................................................3
1.4
REGISTER...........................................................................................3
1.4.1

Register Data............................................................................3
1.4.2
Register Alamat.........................................................................4
1.4.3
Register untuk Alamat dan Buffer.............................................4
1.4.4
Register untuk Eksekusi Instruksi..............................................4
1.4.5
Register untuk Informasi Status................................................4
1.5
MEMORI.............................................................................................4
1.6
MODUL I/O........................................................................................5
1.7
INTERKONEKSI ANTAR KOMPONEN....................................................7
1.8
EKSEKUSI INSTRUKSI.........................................................................8
1.8.1
Mekanisme Eksekusi..................................................................8
1.8.2

Mode Eksekusi Instruksi............................................................8

2

PENGENALAN SISTEM OPERASI...................................................11
2.1
2.2
2.3
2.4
2.5

3

FUNGSI DAN SASARAN SISTEM OPERASI.........................................12
SISTEM OPERASI SEBAGAI PENGELOLA SUMBER DAYA...................12
SISTEM OPERASI SEBAGAI EXTENDED MACHINE/VIRTUAL MACHINE
13
SISTEM KOMPUTER DALAM BERAGAM SUDUT PANDANG...............14
EVOLUSI SISTEM OPERASI...............................................................15


MANAJEMEN PROSES......................................................................21
3.1
3.2
3.3

PENGENALAN KONSEP PROSES........................................................22
KONDISI / KEADAAN PROSES...........................................................23
DESKRIPSI PROSES...........................................................................28

Sistem Operasi

Sistem Operasi

STRUKTUR KENDALI PROSES.......................................................................29
3.3.1
Lokasi Proses..........................................................................29
3.3.2
Atribut Proses..........................................................................30
3.4
KENDALI PROSES.............................................................................30

PERGANTIAN PROSES...................................................................................31
3.4.1
Kapan Mengganti Eksekusi Proses.........................................31
3.4.2
Pergantian Mode.....................................................................32
3.4.3
Perubahan Kondisi Proses......................................................32
3.4.4
User Level Thread...................................................................36
3.4.5
Kernel Level Thread................................................................38
4

KONKURENSI......................................................................................41
4.1
PENDAHULUAN.................................................................................42
4.2
PRINSIP-PRINSIP KONKURENSI.........................................................42
4.2.1
Persayaratan untuk mutual exclusion.....................................45

4.2.2
Dukungan Perangkat Keras untuk Mewujudkan Mutual
Exclusion45
4.2.3
Interrupt Disabling..................................................................45
4.2.4
Instruksi-instruksi Mesin Khusus............................................46
4.2.5
Instruksi Test and Set...............................................................46
4.2.6
Instruksi Exchange..................................................................48
4.2.7
Sifat-sifat Pendekatan Instruksi Mesin....................................48
4.3
FASILITAS PERANGKAT LUNAK UNTUK MEWUJUDKAN MUTUAL
EXCLUSION...................................................................................................49
4.3.1
Semaphore...............................................................................49
4.3.2
Message Passing.....................................................................53

4.3.3
Sinkronisasi.............................................................................54
4.3.4
Pengalamatan (Addressing)....................................................55
4.3.5
Format Pesan..........................................................................56
4.3.6
Aturan Antrian.........................................................................56

5

PENJADWALAN...................................................................................58
5.1
5.2
5.3
5.4
5.5
5.6
5.7


PENDAHULUAN.................................................................................59
TIPE PENJADWALAN PROSESOR........................................................59
KRITERIA PENJADWALAN.................................................................59
ALGORITMA PENJADWALAN.............................................................60
PENJADWALAN FAIR-SHARE.............................................................64
PENJADWALAN MULTIPROSESOR......................................................65
PENJADWALAN REAL-TIME..............................................................66

Sistem Operasi

6

MANAJEMEN MEMORI....................................................................70
6.1
PENDAHULUAN.................................................................................71
6.2
KEBUTUHAN MANAJEMEN MEMORI................................................71
6.3
PEMARTISIAN MEMORI.....................................................................72
6.3.1 FIXED PARTITIONING...........................................................................72

6.3.2 DYNAMIC PARTITIONING....................................................................72
Buddy System..........................................................................................74
6.4
RELOKASI.........................................................................................74
6.5
PAGING.............................................................................................76
6.6
SEGMENTASI.....................................................................................79

7

MANAJEMEN PERANGKAT I/O......................................................81
7.1
PENDAHULUAN.................................................................................82
7.2
PERANGKAT M/K (I/O DEVICE).......................................................83
7.3
ORGANISASI FUNGSI I/O..................................................................84
7.3.1
Pengendali Perangkat.............................................................84

7.3.2
Polling.....................................................................................85
7.3.3
Interupsi..................................................................................85
7.3.3.1
7.3.3.2

Mekanisme Dasar Interupsi...........................................................85
Fitur Tambahan pada Komputer Modern......................................86

7.4
DIRECT MEMORY ACCESS (DMA)...................................................87
7.4.1
Handshaking...........................................................................88
7.4.2
Cara-cara Implementasi DMA................................................90
7.5
SUBSISTEM MASUKAN/KELUARAN KERNEL....................................90
7.5.1
Aplikasi Antarmuka M/K.........................................................90

7.6
PERALATAN BLOK DAN KARAKTER.................................................92
7.7
PERALATAN JARINGAN.....................................................................92
7.8
JAM DAN TIMER...............................................................................93
7.9
BLOCKING DAN NONBLOCKING I/O.................................................93
7.9.1
Penjadualan M/K....................................................................93
7.9.2
Buffering..................................................................................94
7.9.3
Caching...................................................................................96
7.10 SPOOLING DAN RESERVASI PERANGKAT..........................................97
7.11 ERROR HANDLING............................................................................98
7.12 STRUKTUR DATA KERNEL................................................................99
7.13 PENANGANAN PERMINTAAN M/K..................................................100
7.14 I/O STREAMS..................................................................................102
7.15 KINERJA MK..................................................................................103


Sistem Operasi

Sistem Operasi

8

MANAJEMEN DISK..........................................................................109
8.1
STRUKTUR DISK.............................................................................110
8.2
PENJADWALAN DISK.......................................................................111
8.3
MACAM-MACAM PENJADWALAN DISK..........................................112
8.3.1
Penjadwalan FCFS...............................................................112
8.3.2
Penjadwalan SSTF................................................................113
8.3.3
Penjadwalan SCAN...............................................................114
8.3.4
Penjadwalan C-SCAN...........................................................116
8.3.5
Penjadwalan LOOK..............................................................117
8.3.6
Penjadwalan C-LOOK..........................................................118
8.4
PEMILIHAN ALGORITMA PENJADWALAN DISK...............................119

9

MANAJEMEN FILE..........................................................................122
9.1
PENDAHULUAN...............................................................................123
9.2
DATABASE......................................................................................123
9.3
KONSEP BERKAS............................................................................124
9.4
ATRIBUT BERKAS...........................................................................124
9.5
JENIS BERKAS................................................................................125
9.6
OPERASI BERKAS...........................................................................125
9.7
STRUKTUR BERKAS........................................................................126
9.8
METODE AKSES..............................................................................127
9.9
STRUKTUR PENYIMPANAN.............................................................128
9.10 FILE................................................................................................128
9.11 RECORD..........................................................................................130
9.12 FIELD..............................................................................................130
9.13 ORGANISASI FILE DAN AKSES........................................................130
9.13.1
Kriteria Umum......................................................................130
9.13.2
Metriks...................................................................................131
9.14 STRUKTUR FILE DASAR.................................................................132
9.15 PILE................................................................................................132

10

DIREKTORI....................................................................................134
10.1 OPERASI DIREKTORI.......................................................................135
10.2 JENIS DIREKTORI............................................................................136
10.2.1
Direktori Satu Tingkat...........................................................136
10.2.2
Direktori Dua Tingkat...........................................................136
10.2.3
Direktori dengan Struktur Tree.............................................137
10.2.4
Direktori dengan Struktur Graf Asiklik.................................138
10.2.5
Direktori dengan Struktur Graf Umum.................................139

Sistem Operasi

10.3 RECORD BLOCKING........................................................................140
10.3.1
Metode Blocking....................................................................140
10.3.2
Macam Metode Blocking.......................................................140
11

IMPLEMENTASI SISTEM BERKAS..........................................143
11.1 STRUKTUR SISTEM BERKAS...........................................................144
11.2 KINERJA SISTEM BERKAS..............................................................147
11.3 IMPLEMENTASI PEMBERKASAN......................................................148
11.4 PARTISI DAN MOUNTING................................................................150
11.5 SISTEM BERKAS VIRTUAL..............................................................151
11.6 IMPLEMENTASI DIREKTORI.............................................................152
11.6.1
Algoritma Linear List............................................................153
11.6.2
Algoritma Hash Table...........................................................153
11.6.3
Direktori pada MS-DOS........................................................154
11.7 DIREKTORI PADA UNIX.................................................................154

12

MANAJEMEN PENYIMPAN SEKUNDER................................157
12.1 METODE ALOKASI..........................................................................158
12.1.1
Contiguous Allocation...........................................................158
12.1.2
Linked Allocation..................................................................160
12.1.3
Indexed Allocation.................................................................161
12.2 MANAGEMEN RUANG KOSONG......................................................163
12.2.1
Bit Vector...............................................................................164
12.2.2
Linked List.............................................................................164
12.3 GROUPING......................................................................................165
12.4 COUNTING......................................................................................166
12.5 EFISIENSI DAN KINERJA.................................................................166
12.5.1
Efisiensi.................................................................................166
12.5.2
Kinerja...................................................................................167

13

RECOVERY....................................................................................170
13.1
13.2
13.3
13.4

14

PENGECEKAN RUTIN......................................................................171
BACKUP DAN RESTORE..................................................................171
LOG-STRUCTURED FILE SYSTEM....................................................172
SISTEM BERKAS LINUX VIRTUAL..................................................173
SISTEM OPERASI TERSEBAR 1................................................176

14.1
14.2
14.3

PENDAHULUAN...............................................................................177
KONSEP DASAR SISTEM TERSEBAR / TERDISTRIBUSI....................177
PROPERTI DAN KARAKTERISTIK SISTEM TERSEBAR......................178
Sistem Operasi

Sistem Operasi

14.4 TIPE SISTEM TERSEBAR.................................................................179
14.4.1
Network Operating System....................................................179
14.4.2
Sistem Operasi Tersebar.......................................................179
14.5 KARAKTERISTIK SISTEM TERSEBAR..............................................180
14.6 ARSITEKTUR SISTEM TERDISTRIBUSI.............................................183
14.7 CLIENT SERVER..............................................................................186
14.8 ARSITEKTUR MIDDLEWARE...........................................................191
15

SISTEM TERSEBAR 2...................................................................195
15.1 KOMUNIKASI SISTEM TERSEBAR...................................................196
15.1.1
Model Message Passing........................................................196
15.1.2
Remote Procedure Call.........................................................197
15.2 SISTEM PROSESOR JAMAK.............................................................199
15.3 SISTEM TERDISTRIBUSI DAN TERKLUSTER.....................................200

16

KEAMANAN SISTEM OPERASI................................................204
16.1 PENDAHULUAN...............................................................................205
16.2 ASET SISTEM KOMPUTER...............................................................205
16.3 TUJUAN SECURITY.........................................................................205
16.4 JENIS KEAMANAN..........................................................................206
16.5 TIPE ANCAMAN..............................................................................206
16.6 PETUNJUK PENGAMANAN SISTEM..................................................209
16.7 METODE DAN MEKANISME PROTEKSI SISTEM KOMPUTER...........210
16.8 MEKANISME PROTEKSI OBJEK.......................................................211
16.8.1
Proteksi Objek Direktori........................................................211
16.8.2
Proteksi Objek ACL...............................................................212
16.8.3
Proteksi Objek ACM..............................................................213
16.8.4
Proteksi Objek Capability.....................................................214
16.8.5
Proteksi File..........................................................................214
16.8.6
Proteksi Izin Tunggal.............................................................214
16.8.7
Proteksi File per-objek dan per-user....................................215
16.9 ENKRIPSI........................................................................................215
16.10
KARAKTERISTIK INTRUSI KOMPUTER........................................216
16.11
PROGRAM-PROGRAM JAHAT.......................................................217
16.12
VIRUS DAN ANTI VIRUS.............................................................223
16.12.1
Siklus Hidup Virus.............................................................223
16.12.2
Infeksi Virus.......................................................................224
16.12.3
Tipe-tipe virus....................................................................224
16.13
ANTI VIRUS................................................................................225
16.14
GENERASI ANTI VIRUS...............................................................226

1 Tinjau Ulang Sistem Komputer

Overview

Sebelum memulai mempelajari sistem operasi penting bagi
kita untuk mengetahui komponen-komponen yang menjadi
bagian dari sebuah sistem komputer disertai cara kerjanya.
Hal ini disebabkan nantinya sistem operasi bekerja untuk
mengatur
komponen-komponen
tersebut
dan
menyembunyikan kerumitannya bagi pengembang aplikasi
dan para pengguna akhir sistem operasi.

Tujuan

1. Mahasiswa
mengetahui
komponen-komponen
yang
membangun sebuah sistem komputer.
2. Mahasiswa mengetahui bagaimana komponen-komponen
itu bekerja dan saling bekerja sama untuk memenuhi
kebutuhan aplikasi dan pengguna akhir.

Sistem Operasi

1
PAGE 10

1.1

Pendahuluan

Sebuah sistem operasi memberikan segala layanan yang
mengeksploitasi sumberdaya yang dibutuhkan satu atau lebih
proses kepada pengguna. Sumberdaya tersebut berkaitan
erat dengan sistem komputer. Hal ini dikarenakan sistem
operasi mengatur komponen-komponen pendukung sistem
komputer seperti memori, I/O modul ataupun I/O device dan
komponen pembentuk lainnya sehingga terselenggaranya
ekseskusi
proses
dan
menyembunyikan
kerumitan
pengaturan perangkat keras dari pengguna dan pembuat
aplikasi. Hal tersebut menyebabkan perlunya memahami
bagaimana sistem komputer bekerja untuk mengetahui
bagaimana sistem operasi melaksanakan tugasnya.
1.2 Elemen Dasar Komputer
Pada level atas, sebuah komputer terdiri dari 4 komponen.
Komponen-komponen
ini
saling
berinteraksi
untuk
menghasilkan fungsi dari tujuan sistem komputer yaitu
eksekusi program atau komputasi. Keempat komponen atau
elemen struktur utama yaitu :
1. Prosesor
Prosesor berfungsi mengendalikan operasi komputer
dan melakukan fungsi pemrosesan data. Prosesor
terdiri dari :
a. Aritmetic Logic Unit (ALU), bagian untuk
komputasi
yang
berhubungan
dengan
aritmatika dan logika
b. Control Unit (CU), sebagai pengendali utama
operasi yang dilaksanakan.
c. Register, berfungsi sebagai memori yang
sangat cepat yang biasanya digunakan sebagai
tempat operan-operan suatu operasi
yang
akan
dilaksanakan.
Register
membantu
pelaksanan operasi yang dilakukan oleh
prosesor.
2. Memori Utama
Memori berfungsi menyimpan data dan program.
Memori utama biasanya volatile, yaitu tidak dapat

mempertahankan data dan program yang disimpan
begitu sumber daya energi listrik dihentikan.
3. Modul I/O
Modul I/O atau perangkat masukan/keluaran berfungsi
memindahkan data antara komputer dan lingkungan
eksternalnya.
Lingkungan
eksternal
dapat
diantarmuka/interface
oleh
beragam
peralatan
eksternal seperti : media penyimpan sekunder,
peralatan komunikasi dan sebagainya.
4. Interkoneksi antar Komponen
Interkoneksi dalam hal ini adalah struktur dan
mekanisme yang diperlukan untuk menghubungkan
antara ketiga komponen, yaitu: prosesor, memori
utama dan peralatan input-output.
1.3 Prosesor
Prosesor berfungsi mengendalikan operasi komputer dan
melakukan pemrosesan data. Prosesor mengambil instruksi
yang dikodekan secara biner dari main memori, mendekode
instruksi menjadi aksi-aksi sederhana dan melaksanakan aksiaksi ini. Prosesor terdiri dari tiga komponen yaitu:
-

CU (Control unit), berfungsi mengendalikan operasi
yang dilaksanakan.
ALU (Arithmetic logic unit), berfungsi melaksanakan
operasi aritmatika dan logika.
Register, berfungsi sebagai memori yang sangat cepat
yang biasanya digunakan sebagai tempat operanoperan suatu operasi yang akan dilaksanakan.

Operasi-operasi yang terdapat pada komputer terdiri dari tiga
tipe, yaitu:
-

Operasi
aritmatika,
seperti
penambahan,
pengurangan, dan sebagainya.
Operasi logika, seperti OR, AND, X-OR dan sebagainya.
Operasi pengendalian, seperti operasi pencabangan,
loncat, dan sebagainya

Sistem Operasi

3
PAGE 10

1.4 Register
Di dalam prosesor terdapat sekumpulan register yang
berfungsi sebagai memori yang sangat cepat dan kecil
kapasitasnya. Register-register dikategorikan menjadi dua,
yaitu:
1. Register yang terlihat pemakai, terdiri dari dua jenis
yaitu: Register data dan register alamat.
2. Register untuk kendali dan status terdiri dari, Register
untuk alamat dan buffer, register untuk eksekusi
instruksi, dan register untuk informasi status.
1.4.1 Register Data
Register dapat diberi nilai untuk beragam keperluan pemakai.
Register data terdiri dari dua macam, yaitu: General purpose
register dan Special purpose register.
1.4.2 Register Alamat
Register ini berisi alamat data atau instruksi di memori utama
atau berisi bagian alamat yang digunakan dalam
penghitungan alamat lengkap. Contoh register ini antara lain:
Register indeks, Register penunjuk segmen, Register penunjuk
stack, dan Register penanda.
1.4.3 Register untuk Alamat dan Buffer
Register untuk Alamat dan Buffer terdiri dari:
-

MAR (Memory Address Register), digunakan untuk
mencatat alamat memori yang akan diakses
(read/write).
MBR (Memory Buffer Register), digunakan untuk
menampung data yang akan dituliskan ke memori
yang alamatnya ditunjuk oleh MAR.
I/O AR (I/O Address Register), digunakan untuk
menampung data yang akan dituliskan ke port yang
alamatnya ditunjuk oleh I/O AR.

1.4.4 Register untuk Eksekusi Instruksi
Register untuk Eksekusi Instruksi terdiri dari:

-

PC (Program Counter), mencatat alamat memori
dimana instruksi yang terdapat di dalamnya akan
dieksekusi.
IR (instruction Register), menampung instruksi yang
akan dilaksanakan.

1.4.5 Register untuk Informasi Status
Register ini dapat berupa satu register atau kumpulan
register. Register atau kumpulan register ini disebut PSW
(Program Status Word). PSW biasanya berisi kode-kode
kondisi pemroses ditambah informasi-informasi status lainnya
1.5 Memori
Memori berfungsi untuk menyimpan data dan program.
Berdasarkan kecepatan aksesnya dapat dibuat hirarki
memori, sebagai berikut:
Tercepat

Register
Chace Memory
Main Memory
Disk Chace
Magnetic Disk
Terlambat
Magnetic tape
Optical disk
Tabel 1-1 Hirarki memori berdasarkan kecepatan
Setiap kali prosesor melakukan eksekusi, pemroses harus
membaca instruksi dari memori utama. Agar eksekusi dapat
dilakukan secara cepat maka harus diusahakan instruksi
tersedia di memori pada hirarki berkecepatan akses lebih
tinggi. Kecepatan eksekusi ini akan meningkatkan kinerja
sistem. Untuk itu terdapat konsep memori dua level, yaitu
ditampung dulu sementara di memori pada hirarki lebih
tinggi.
Konsep ini diimplementasikan antara lain berupa:
- Chace memory, memori berkapasitas terbatas,
berkecepatan tinggi yang lebih mahal daripada
memori utama. Chace memori ada di antara memori
utama dan register pemroses, berfungsi agar
Sistem Operasi

5
PAGE 10

-

pemroses tidak langsung mengacu memori utama
agar kinerja dapat ditingkatkan.
Buffering, bagian memori utama yang dialokasikan
untuk menampung data yang akan ditransfer dari atau
ke penyimpan sekunder. Buffering dapat mengurangi
frekuensi pengaksesan ke perangkat penyimpan
sekunder sehingga meningkatkan kinerja sistem.

1.6 Modul I/O
Klasifikasi perangkat I/O berdasarkan aliran datanya dapat
dibagi dua, antara lain:
1. Block Oriented Device, peralatan ini menyimpan
informasi sebagai blok-blok berukuran tetap. Ciri
utama peralatan ini adalah dimungkinkan membaca
atau menulis blok-blok secara indenpenden dengan
cara direct access. Contoh peralatan antara lain: disk,
optical disk, tape dan sebagainya.
2. Character Stream Oriented Device, peralatan ini
mengantarkan atau menerima aliran karakter tanpa
peduli dengan suatu struktur blok. Contoh peralatan ini
antara lain: terminal, line printer, interface jaringan,
dan lain-lain.
Terdapat tiga teknik cara berhubungan perangkat I/O yaitu:
1. Programmed I/O
Pada saat perangkat I/O menangani permintaan perangkat
menset bit status pada register status perangkat.
Perangkat tidak memberitahu ke prosesor bila tugas telah
selesai. Prosesor harus selalu melakukan cek secara
periodik terhadap register status perangkat dan
melakukan tindakan-tindakan berdasarkan status yang
dibaca.
2. Interrupt Driven I/O
Teknik I/O dikendalikan instruksi mempunyai mekanisme
kerja perangkat I/O sebagai berikut:
-

Prosesor memberi instruksi ke perangkat I/O lalu
melanjutkan kerja yang lainnya.

Perangkat I/O akan menginstruksi untuk minta layanan
saat perangkat telah siap transfer data dengan
prosesor
- Saat menerima instruksi dari hardware (Hardware yang
siap melakukan transfer data), prosesor kemudian
segera eksekusi transfer data.
Dengan ini prosesor tidak disibukkan menunggui dan
menjaga perangkat I/O untuk memeriksa status
perangkat.
-

3. Direct Memory Access
Interrupt Driven I/O lebih efisien dari programmed I/O, tapi
masih memerlukan intervensi aktif prosesor untuk transfer
data antara memori dan buffer I/O. I/O dikendalikan
interupsi (Interrupt Driven I/O) mempunyai dua kelemahan
yaitu:
- Rate Transfer I/O dibatasi kecepatan menguji dan
melayanan operasi peralatan.
- Prosesor terikat ketat dalam mengelola transfer I/O,
sejumlah instruksi harus dieksekusi untuk tiap transfer
I/O.
Ketika data besar dipindahkan teknik yang lebih efisien
diperlukan agar tidak menyibukkan prosesor, sehingga
prosesor dapat melakukan kerja lain.

Sistem Operasi

7
PAGE 10

DMA berfungsi membebaskan prosesor menunggui
transfer data perangkat I/O. Saat prosesor ingin baca/tulis
data, prosesor memerintahkan DMA dengan mengirim
informasi-informasi berikut:
-

Read/write
Alamat perangkat I/O
Awal lokasi memori yang ditulis/dibaca
Jumlah byte yang ditulis/dibaca

Setelah mengirim informasi ke DMA, prosesor dapat
melakukan kerja lain. Prosesor mendelegasikan operasi I/O
ke DMA. DMA mentransfer seluruh data yang diminta
secara langsung dari memori tanpa melewati prosesor.
Ketika transfer data selesai, DMA mengirim sinyal
interupsi ke prosesor. Prosesor hanya dilibatkan pada awal
dan akhir tranfer data perangkat I/O.
Operasi transfer anatara perangkat dan memori utama
dilakukan sepenuhnya oleh DMA. DMA yang menangani akses
disk, dilakukan oleh DMA controller yang lepas dari prosesor
dan hanya melakukan interupsi bila operasi telah
diselesaikan.
1.7 Interkoneksi antar Komponen
Interkoneksi antar komponen disebut bus. Bus terdiri dari 3
macam, yaitu:
- Address Bus, Bus yag mengirim alamat lokasi
memori atau port yang ingin ditulis/dibaca. Jumlah
lokasi memori yang dapat dialamati CPU ditentukan
oleh jumlah jalur alamat. Jika CPU memiliki N jalur
alamat maka dapat secara langsung mengalamati 2 N
lokasi memori.
- Data Bus, Bus data ini Bidirectional berarti dapat
baca dan kirim dari/ke memori atau port. Bus data
berhubungan dengan transfer atau pembacaan data
dari/ke memori dengan peralatan-peralatan.
- Control Bus, Bus yang digunakan CPU dengan dikirimi
sinyal untuk memerintahkan memori atau port I/O.

1.8

Eksekusi Instruksi

1.8.1 Mekanisme Eksekusi
Tahap Pemrosesan instruksi berisi 2 tahap yaitu:
a.
b.

Fetch, Prosesor membaca instruksi dari memori
Execute, Prosesor mengeksekusi instruksi

Eksekusi program berisi pengulangan proses fetch dan
execute. Eksekusi instruksi (Tahap Execute) dapat melibatkan
beberapa operasi lebih dasar dan bergantung pada sifat
instruksi itu. Proses satu instruksi disebut satu siklus instruksi
(instruction cycle). Siklus Eksekusi instruksi dpat dilihat
pada gambar 1-1
Fetch Instruksi

START

Fetch Cycle

HALT

Eksekusi Instruksi

Execute Cycle

Gambar 1-1 Siklus Eksekusi instruksi

1.8.2 Mode Eksekusi Instruksi
Prosesor mempunyai beragam mode eksekusi, biasanya
dikaitkan dengan program Sistem Operasi dan program
pemakai. Instruksi-instruksi tertentu hanya dapat dieksekusi
dalam suatu mode yang berkewenangan lebih tinggi.
Mode dengan kewenangan rendah biasa disebut user mode
karena program pemakai biasa dieksekusi dalam mode ini.
Mode dengan kewenangan tinggi disebut system mode,
control mode, supervisor mode atau kernel mode,
karena biasanya rutin-rutin sistem atau kendali atau kernel
dieksekusi dengan mode ini

Sistem Operasi

9
PAGE 10

Rangkuman

Sebuah sistem operasi memberikan segala layanan
yang mengeksploitasi sumberdaya yang dibutuhkan satu atau
lebih proses kepada pengguna. Sumberdaya tersebut
berkaitan erat dengan sistem komputer. Hal ini dikarenakan
sistem operasi mengatur komponen-komponen pendukung
sistem komputer seperti memori, I/O modul ataupun I/O
device dan komponen pembentuk lainnya sehingga
terselenggaranya ekseskusi proses dan menyembunyikan
kerumitan pengaturan perangkat keras dari pengguna dan
pembuat aplikasi.
Sebuah komputer terdiri dari empat komponen.
Komponen-komponen
ini
saling
berinteraksi
untuk
menghasilkan fungsi dari tujuan sistem komputer yaitu
eksekusi program atau komputasi. Keempat komponen atau
elemen struktur utama yaitu prosesor, memori, modul I/O dan
interkoneksi antar computer.
Prosesor berfungsi mengendalikan operasi komputer
dan melakukan pemrosesan data. Di dalam prosesor terdapat
sekumpulan register yang berfungsi sebagai memori yang
sangat cepat dan kecil kapasitasnya. Memori berfungsi untuk
menyimpan data dan program. Maka dapat disimpulkan
bahwa computer tidak dapat berdiri sendiri tetapi terdapat
suatu bagian yang saling bergantung dan saling bekerja sama
sehingga komputer akan berjalan dengan sebenarnya

Soal Latihan

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

Sebutkan dan jelaskan bagian dari computer
Fungsi dari memori dan prosesor
Apa perbedaan dari memori dan register
Jelaskan Klasifikasi perangkat I/O berdasarkan aliran
datanya
Sebutkan dan jelaskan tiga teknik cara berhubungan
perangkat I/O
Fungsi dari DMA
Gambarkan bagian utama dari computer yang terdiri
dari empat komponen yang sangat penting bagi
computer
Sebutkan dan jelaskan tahap pemrosesan instruksi

Sistem Operasi

11
PAGE 10

2 Pengenalan Sistem Operasi

Overview

Mempelajari sistem operasi dimulai dengan mengenali
komponen-komponen yang pada umumnya terdapat dalam
sebuah sistem operasi dan mengenal tugas atau fungsi dari
masing-masing komponen tersebut.

Tujuan

1. Mahasiswa mengetahui komponen-komponen yang
membangun sebuah sistem operasi.
2. Mahasiswa
mengetahui
bagaimana
komponenkomponen itu bekerja dan saling bekerja sama untuk
memenuhi kebutuhan aplikasi dan pengguna akhir.

2.1 Fungsi dan Sasaran Sistem Operasi
Sistem operasi adalah program yang mengendalikan eksekusi
program aplikasi dan bertindak sebagai antarmuka antara
pemakai dan perangkat keras komputer. Fungsi utama sistem
operasi adalah:
1. Sistem operasi sebagai pengelola sumber daya
(resources manager).
2. Sistem operasi sebagai extended machine/virtual
machine.
Menurut Stalling, sistem operasi mempunyai 3 sasaran,
antara lain:
1. Kenyamanan, yaitu sistem operasi harus membuat
komputer menjadi lebih nyaman saat digunakan
pemakai.
2. Efisiensi, yaitu sistem operasi menjadikan sumber
daya sistem komputer dapat digunakan secara efisien.
3. Mampu berevolusi, yaitu sistem operasi harus
dibangun sehingga memungkinkan dan memudahkan
pengembangan, pengujian dan pengajuan fungsifungsi sistem yang baru tanpa pada waktu yang sama
mengganggu
layanan
yang
dijalankan
sistem
komputer yang menjalankan sistem operasi itu.
2.2

Sistem Operasi sebagai Pengelola Sumber
Daya
Sistem komputer adalah sekumpulan sumber daya untuk
memindah, menyimpan, dan memroses data, serta untuk
mengendalikan
fungsi-fungsi
ini.
Sistem
operasi
bertanggung-jawab mengelola sumber daya-sumber daya
ini.
Sumber daya pada sistem komputer antara lain:
1. Perangkat keras
- prosesor
- penyimpan primer
- penyimpan sekunder
- peralatan masukan/keluaran
2. Perangkat lunak
- data

Sistem Operasi

13
PAGE 10

- program
3. Peralatan komunikasi dan jaringan

Sistem operasi bertanggung-jawab mengelola sumber daya
agar penggunaan sumber daya dapat secara benar dan
efisien.

Gambar 2-2 Fungsi sistem operasi sebagai pengatur sumber

daya komputer
2.3

Sistem
Operasi
sebagai
Machine/Virtual Machine

Extended

Sistem operasi sebagai extended machine/virtual machine
berfungsi sebagai berikut:
- Memberi pemakai suatu abstraksi mesin tingkat tinggi
sederhana dan menyembunyikan kerumitan perangkat
keras. Sistem operasi menyediakan system call (API
= Application programming interface) yang
merupakan abstraksi tingkat tinggi mengenai mesin
untuk
pemrograman.
Berfungsi
menghindarkan
kompleksitas pemrograman dengan memberikan
Sistem Operasi

15
PAGE 10

sekumpulan instruksi yang mudah dan nyaman yaitu
system calls.
- Basis untuk program lain.
Program aplikasi dijalankan di atas sistem operasi.
Program-program tersebut dalam melakukan tugasnya
mengendalikan dan memanfaatkan sumber daya
sistem komputer adalah dengan meminta layanan
sistem operasi untuk mengendalikan sumber daya
untuk aplikasi itu agar pemanfaatan sumber daya
komputer benar dan efisien.
Stalling merinci layanan-layanan yang harus disediakan
sistem operasi antara lain:
1. Pembuatan program
2. Eksekusi program
3. Pengaksesan perangkat masukan/keluaran
4. Pengaksesan terkendali terhadap berkas
5. Pengaksesan sistem
6. Deteksi dan memberi tanggapan terhadap
kesalahan
7. Akunting
2.4

Sistem Komputer
Pandang

dalam

Beragam

Sudut

Pandangan ke Pemakai sistem komputer dapat dikelompokkan
menjadi tiga, yaitu:
- Pemakai awam (end user) dan administrator sistem
- Pemrogram
- Perancang Sistem Operasi
Pemakai awam menggunakan suatu aplikasi di sistem
komputer, biasanya tidak berkepentingan dengan arsitektur
komputer. Pemakai memandang sistem komputer dalam
bentuk aplikasi yang dihadapinya. Aplikasi tersebut
dikembangkan oleh pemrogram aplikasi. Administrator
bertugas agar sistem berfungsi secara benar dan optimal.
Pemrogram aplikasi yang mengembangkan aplikasi dengan
menggunakan kumpulan instruksi mesin secara langsung,
maka
pemrogram
bertanggung
jawab
sepenuhnya
mengendalikan perangkat keras komputer. Tugas ini sangat
amat
kompleks.
Untuk
mempermudah
pemrogram,

sekumpulan fasilitas-fasilitas disediakan sistem operasi.
Pemrogram
menggunakan
fasilitas-fasilitas
ini
dalam
mengembangkan
aplikasi,
mengelola
berkas,
dan
mengendalikan masukan/keluaran, tak perlu menulis atau
membuatnya sendiri untuk aplikasi-aplikasi yang dibuatnya.

Gambar 2-3 Lapisan-lapisan dari sebuah computer

Perancang sistem operasi harus membuat sistem operasi
yang dapat mempermudah dan menyamankan terutama
untuk pemrogram aplikasi membuat aplikasi-aplikasi.
Sistem
operasi
menyembunyikan
rincian-rincian
pengoperasian perangkat keras dari pemrogram dan
menyediakan interface yang nyaman untuk menggunakan
perangkat tersebut. Sistem operasi bertindak sebagai
mediator, mempermudah pemrogram serta program aplikasi
mengakses serta menggunakan fasilitas-fasilitas dan layananlayanan sistem computer.
2.5 Evolusi Sistem Operasi
Sistem Operasi telah berevolusi sejak pertama kali komputer
diciptakan. Perkembangan sistem komputer melibatkan
Sistem Operasi

17
PAGE 10

perkembangan sistem hardware dan software. Perkembangan
sistem operasi dapat dijabarkan sebagai berikut:
- Generasi Pertama (1945 – 1955)
Awal dari pengembangan sistem komputasi elektronik,
menggantikan
ide-ide
mesin-mesin
komputasi
mekanis.
- Generasi Ke-dua (1955 – 1965)
Terdapat Batch System, Job dikumpulkan dalam satu
rangkaian kemudian diekskusi secara berurutan
Batch
Time Sharing
Multiprogramming
Principal
Minimize
Maximize Prosesor use
objective
response time
Source
of
Job control
language
Commands
directives
to
commands
provided
entered at the
operating
with the job
terminal
system
-

Generasi Ke-tiga (1965 – 1980)
Terdapat :

Sistem multiprogramming, Saat satu job
menunggu operasi input/output selesai job lain
dapat menggunakan prosesor

Spooling, membuat periperal dapat diakses
secara simultan, yaitu dengan cara menyediakan
beberapa
partisi
memori.
Saat
terdapat
permintaan layanan periperal, langsung diterima
dan data disimpan lebih dulu di memori yang
disediakan berupa antrian, kemudian dijadwalkan
agar secara nyata dilayani oleh periperal

Time
Sharing,
varian
dari
sistem
multiprogramming,
di
mana
tiap
pemakai
mempunyai satu terminal on-line dengan prosesor
hanya memberi layanan pada pemakai yang aktif.

Pada sistem uniprogamming prosesor harus menunggu dan
berproses setelah instruksi I/O berproses sampai selesai
sedangkan pada sistem multi programming selama satu job
membutuhkan untuk menunggu proses I/O, prosesor dapat

memilih (switch) job lain untuk berproses walaupun proses
sebelumnya belum selesai.

(a) uniprogramming

(b) multiprogramming dengan dua proses

(c) multiprogramming dengan tiga proses
Gambar 2-4 Perbandingan eksekusi perintah antara sistem
uniprogramming dengan multiprogramming

Sistem Operasi

19
PAGE 10

Gambar 2-5 Perbandingan utilisasi sumber daya komputer
antara sistem uniprogramming dan multiprogramming
Contoh perbandingan antar-proses dan utilisasi sumber daya
komputer dengan beberapa job dapat dilihat pada tabel di
bawah ini:
Type of job
Duration
Memory required
Need disk?
Need terminal
Need printer?

JOB1
Heavy compute
5 min.
50K
No
No
No

JOB2

JOB3
Heavy I/O
15 min.
100 K
No
Yes
Yes
No
No
Yes

Heavy
10 mi
80 K

Prosesor use
Memory use
Disk use
Printer use
Elapsed time
Throughput rate
Mean response time

Uniprogramming
22%
30%
33%
33%
30 min.
6 jobs/hr
18 min.

Multiprogrammin
43%
67%
67%
67%
15 min.
12 jobs/h
10 min.

- Generasi Ke-empat (1980 – Sekarang)
Terdapat :
– Network O/S, Sistem operasi diperuntukkan
jaringan komputer dimana pemakai menyadari
keberadaan komputer yang terhubung.
– Distributed O/S, Sistem operasi untuk
jaringan komputer, dengan user tak perlu
menyadari
keberadaan
komputer-komputer
yang terhubung, dimana alokasi kerja sudah
secara otomatis dilaksanakan oleh sistem
operasi.

Sistem Operasi

21
PAGE 10

Rangkuman
Sistem operasi adalah program yang mengendalikan eksekusi
program aplikasi dan bertindak sebagai antarmuka antara
pemakai dan perangkat keras komputer. Sistem operasi harus
mampu berevolusi, yaitu sistem operasi harus dibangun
sehingga memungkinkan dan memudahkan pengembangan,
pengujian dan pengajuan fungsi-fungsi sistem yang baru
tanpa pada waktu yang sama mengganggu layanan yang
dijalankan sistem komputer yang menjalankan sistem operasi
itu

Soal Latihan

1. Sebutkan layanan system operasi yang harus ada
menurut Stalling
2. Pandangan ke Pemakai sistem komputer dapat
dikelompokkan menjadi tiga. Sebutkan
3. Sebutkan sumber daya pada sistem komputer dan
jelaskan
4. Jelaskan fungsi dari Sistem operasi sebagai extended
machine/virtual machine

3 Manajemen Proses

Overview

Salah satu fitur penting sistem operasi modern adalah
kemampuan multitasking dan multiprogramming. Kedua fitur
ini dimungkinkan melalui mekanisme penanganan banyak
proses dan thread yang dimiliki oleh sistem operasi. Pada bab
ini akan dibahas mengenai dasar-dasar dari proses, thread,
dan bagaimana sistem operasi mengelola mereka untuk
mewujudkan fitur multitasking dan multiprogramming.

Tujuan

1. Mahasiswa mengetahui komponen-komponen yang
membangun sebuah sistem komputer.
2. Mahasiswa
mengetahui
bagaimana
komponenkomponen itu bekerja dan saling bekerja sama untuk
memenuhi kebutuhan aplikasi dan pengguna akhir.
Sistem Operasi

23
PAGE 10

3.1 Pengenalan Konsep Proses
Proses dalam ruang lingkup sistem operasi dapat dikatakan
sebagai sebuah aplikasi/program yang sedang dijalankan.
Manajemen proses adalah salah satu dari fungsi utama dari
sistem operasi terutama pada sistem operasi yang
mendukung eksekusi banyak aplikasi pada waktu yang
bersamaan. Sistem operasi yang baik harus dapat mengatur
sumber daya komputer (yang terbatas) sedemikian rupa
sehingga aplikasi-aplikasi yang sedang berjalan bersamaan
tersebut mendapatkan sumber daya komputer yang mereka
butuhkan agar dapat berfungsi dengan benar.
Sebuah proses yang sedang berjalan disimpan di dalam
memori utama (RAM) dan dua bagian penting dari sebuah
proses adalah:
1. Kode program atau instruksi-instruksi program yang
harus dieksekusi oleh prosesor (yang dapat dibagi
pakai bersama dengan proses lain) dan
2. Sekumpulan data yang berhubungan dengan kode
program dari proses
Tetapi dua bagian di atas tidak memiliki cukup informasi yang
dibutuhkan oleh sistem operasi untuk memanajemen banyak
proses yang berjalan bersamaan. Informasi-informasi tersebut
dibuat oleh sistem operasi dan disimpan dalam struktur data
yang disebut PCB (Process Control Block). Isi dari PCB
tersebut antara lain:
1. Identifier: tanda identitas yang membedakan suatu
proses dengan proses lainnya.
2. State: kondisi dari proses. Jika proses sedang
dieksekusi maka kondisi/statusnya adalah running.
3. Priority: prioritas eksekusi dibandingkan proses-proses
lainnya.
4. Program counter: alamat memori dari instruksi
program berikutnya yang akan dieksekusi.

5. Memory pointer : pointer menuju kode program
(instruksi program), data yang berhubungan dengan
proses, dan blok memori yang dibagipakai bersama
proses-proses lain.
6. Contex data: adalah data yang ada di register prosesor
ketika proses dieksekusi.
7. I/O status information: informasi tentang permintaan
I/O, peralatan I/O, file, dll.
8. Accounting information: dapat terdiri dari waktu
prosesor, waktu clock yang digunakan, batas waktu,
nomor akun, dll.
Informasi-informasi di atas setidaknya cukup lengkap bagi
sistem
operasi
untuk
menginterupsi/menunda
pengeksekusian sebuah proses untuk mengeksekusi proses
lain kemudian kembali lagi mengeksekusi proses pertama
seakan-akan interupsi tidak pernah terjadi
3.2 Kondisi / Keadaan Proses
Dari sudut pandang prosesor eksekusi sebuah proses berarti
mengeksekusi
instruksi-instruksi
dari
proses tersebut
berdasarkan urutan tertentu. Urutan eksekusi ini dikendalikan
lewat perubahan nilai pada register program counter yang
berupa penunjuk ke suatu lokasi yang berisi instruksi dari
proses.
Isi dari program counter ini pada suatu saat bisa berubah
menjadi penunjuk ke instruksi yang dimiliki oleh proses lain.
Hal ini terjadi ketika sebuah program kecil bernama
dispatcher yang dieksekusi secara periodik oleh prosesor.
Sebuah daftar yang berisi urutan instruksi yang dieksekusi
untuk suatu proses yang dibuat untuk mengetahui kelakuan
dari sebuah proses individual dikenal sebagai trace. Gambargambar 3-1 dan 3-2 dapat menjelaskan posisi proses dan
dispatcher serta trace dari beberapa proses ketika dijalankan.
Untuk mengatur eksekusi dari proses termasuk mengatur
pergantian eksekusi antar proses dan mengalokasikan sumber
daya komputer yang dibutuhkan proses yang akan dieksekusi
Sistem Operasi

25
PAGE 10

sistem operasi perlu mengetahui kondisi yang sedang dialami
sebuah proses dan menentukan tindakan apa yang harus
diambil terhadap proses tersebut pada kondisi tertentu.
Ada beberapa model dari kondisi-kondisi yang dialami sebuah
proses dimulai dari model yang sederhana yang terdiri dari
hanya dua kondisi hingga berkembang menjadi model yang
memiliki lebih dari lima kondisi.
Model Dua Kondisi
Model yang pertama dan paling sederhana adalah model 2
kondisi (2 state) yang terdiri dari kondisi running dan not
running seperti dijelaskan oleh gambar 3-3. Pada saat
pertama kali proses dibuat proses tersebut akan memasuki
kondisi not running dan akan memasuki sebuah antrian
untuk proses-proses yang menunggu untuk dieksekusi oleh
prosesor. Proses yang sedang dieksekusi berada dalam
kondisi running dan pada suatu saat akan berhenti
dieksekusi apakah karena telah selesai atau gilirannya telah
habis dan prosesor akan mengeksekusi dispatcher yang akan
menaruh proses barusan pada belakang antrian dan merubah
nilai program counter sehingga menunjuk pada urutan
instruksi yang dimiliki oleh proses yang berada di depan
antrian.
Model Lima Kondisi
Model yang ke-dua adalah model dengan 5 kondisi (5 state).
Model ini merupakan perkembangan dari model yang pertama
untuk menangani kondisi di mana sebuah proses mungkin
saja tidak selalu siap untuk dieksekusi karena harus
menunggu sebuah operasi I/O selesai dilaksanakan. Pada
model ini kondisi not running dipecah menjadi ready dan
blocked. Berikut ini adalah daftar 5 kondisi yang ada pada
model 5 kondisi:
1. Running: proses sedang dieksekusi
2. Ready: proses siap dieksekusi jika telah mendapat
kesempatan
3. Blocked: proses tidak dapat dieksekusi hingga suatu
event terjadi atau menunggu suatu proses I/O selesai

4. New: proses baru saja selesai dibuat. Pada kondisi ini
biasanya baru process control block saja yang telah
selesai dibuat dan ditaruh di memori utama sedangkan
instruksi dan datanya belum
5. Exit: proses telah dilepaskan dari kumpulan (pool)
proses yang dapat dieksekusi oleh sistem operasi
dikarenakan telah selesai maupun dibatalkan karena
alasan tertentu
Dapat dilihat bahwa ada dua kondisi tambahan selain
pemisahan not running menjadi ready dan blocked yaitu new
dan exit. Kondisi new pada model ini seperti yang telah
dijelaskan di atas menerangkan bahwa sistem operasi telah
menyiapkan keperluan untuk menjalankan proses seperti PCB
dan tabel-tabel tertentu dalam sistem operasi tetapi proses
itu sendiri belum dieksekusi oleh prosesor. Kondisi exit pada
model ini mewakili kondisi sedemikian sehingga proses yang
telah dihentikan eksekusinya karena telah selesai maupun
karena hal lainnya seperti kesalahan dan pembatalan oleh
pengguna tidak langsung dihapus melainkan disimpan
sementara agar informasi yang menyertai proses tersebut
seperti PCB dan tabel-tabel yang menyertainya dapat
digunakan oleh proses lain yang memerlukan seperti proses
yang melakukan perhitungan waktu eksekusi dan penggunaan
sumberdaya oleh proses lainnya.
Berikut ini adalah jenis-jenis kejadian (event) yang dapat
menyebabkan proses berpindah dari suatu kondisi ke kondisi
lainnya dalam model 5 kondisi:
1. Null –> New: sebuah proses baru dibuat. Proses ini
dapat benar-benar baru atau dapat berasal dari proses
lain yang telah ada melalui process spawning.
2. New –> Ready: sistem operasi memindahkan sebuah
proses ke kondisi ready dari kondisi new hanya jika
sistem operasi tersebut telah siap. Sistem operasi
dapat menahan sebuah proses dalam kondisi new jika
kondisi belum memungkinkan untuk menangani proses
tambahan seperti kekurangan memori atau terdapat
Sistem Operasi

27
PAGE 10

3.

4.

5.

6.

7.

8.

9.

batasan jumlah proses yang dapat ditangani agar tidak
menurunkan kinerja keseluruhan.
Ready –> Running: proses dipindahkan dari kondisi
ready ke kondisi running oleh rutin penjadwalan atau
dispatcher dan dieksekusi oleh prosesor.
Running –> Ready: alasan paling umum untuk
memindahkan suatu proses dari running ke kondisi
ready adalah karena waktu eksekusi untuk proses
tersebut telah habis atau diinterupsi untuk digantikan
oleh proses dengan prioritas yang lebih tinggi.
Runn