Professional Documents
Culture Documents
Sistem Operasi
Sistem Operasi
Sistem Operasi
Drive bays
Power supply
video card
modem card
network card
OS TKJ - UM 2
p. 181 Fig. 4-2 Next
The System Unit
• What is the motherboard? adapter cards
processor chip
chips, and
memory chips
Also called system
board memory slots
Expansion
slots for
adapter cards motherboard
OS TKJ - UM 3
Next
Buses
Allows processor to communicate with peripherals
• What is an expansion bus?
OS TKJ - UM 4
p. 209 Fig. 4-39
Processor
• What is the central processing unit (CPU)?
Interprets and carries out
Processor
basic instructions that Control
Control Arithmetic
Arithmetic
operate a computer Unit
Unit Logic
Logic Unit
Unit (ALU)
(ALU)
OS TKJ - UM 6
p. 200 Figs. 4-25-4-26 Next
Mobile Computers and Devices
• What is a mobile computer?
Notebook, weighing between 2.5 and 8 pounds, or mobile
device such as a PDA flash memory card
PDA
PC Cards in PC
Card slots
CD or DVD drive
disk in floppy
disk drive or battery
Zip® disk drive
OS TKJ - UM
notebook computer 7
p. 211 Fig. 4-41 Next
Putting It All Together
•What are suggested processor, clock speed, and RAM
requirements based on the needs of various types of
users?
OS TKJ - UM 8
p. 213 Fig. 4-45 Next
• Lapisan sistem komputer
– Lapisan application programs (Banking system, airline reservation)
– Lapisan system programs
• Compilers / Editors / Command interpreter: run in user mode / free to choose
• OS: run in ke rn el mode
– Lapisan hardware
• Bahasa mesin (bukan berbentuk hardware, namun semua perusahaan menyebut
dmkn):
• Microprogramming
• Physical devices
• Sistem operasi sebagai pengelola sumber daya (resource manager)
– Mengendalikan alokasi prosesor, memori, dan I/O untuk program-program yg
membutuhkannya
– Penting dlm kondisi multitasking dan multiuser
• Perkembangan sistem operasi
– Gen I: bekerja utk. sistem tumpukan (batch system)
– Gen II: multitasking dan timesharing, spooling
– Gen III: PC - user friendliness, distributed/network OS, real-time OS
– Gen IV: embedded OS, small-scale OS
OS TKJ - UM 9
• Sistem operasi sebagai mesin semu (virtual machine)
– Lapisan software di atas hardware
– Membungkus kompleksitas hardware, mengelola seluruh bagian sistem, dan
memberi interface kpd pemakai
• Sistem operasi sebagai pengelola sumber daya (resource manager)
– Mengendalikan alokasi prosesor, memori, dan I/O untuk program-program yg
membutuhkannya
– Penting dlm kondisi multitasking dan multiuser
• Perkembangan sistem operasi
– Gen I: bekerja utk. sistem tumpukan (batch system)
– Gen II: multitasking dan timesharing, spooling
– Gen III: PC - user friendliness, distributed/network OS, real-time OS
– Gen IV: embedded OS, small-scale OS
OS TKJ - UM 10
Operating System Concepts
• Microsoft DOS and Microsoft
Windows adopted original UNIX
design concepts, such as the idea of
a shell--an interface between the user
and the operating system--and the
hierarchical structure of directories
and subdirectories
• The kernel is the base operating
system, which interacts directly with
OS TKJ - UM 11
Layers of a UNIX System
OS TKJ - UM 12
• Proses
– Program yg sedang dieksekusi
– Isu-isu penting: penciptaan, terminasi, penjadwalan, hak dan privilege
– Terkait dengan sumber daya (prosesor, memori, I/O) dan pemakai (pemilik
proses)
• File
– Sistem file sbg abstraksi model pengorganisasian (data, proses, I/O)
– Menggunakan konsep direktori
• Bertingkat
• Nama jalur (path name) untuk menunjuk ke suatu file
– Sebagai alat pengorganisasian data:
• Mekanisme proteksi secara ekstensif
• Pemanggilan sistem (system call) untuk manipulasi file
– Untuk pemodelan struktur proses:
• Proses sebagai “data”
• Dalam Linux: direktori /proc
– Abstraksi I/O
• Agar sejalan dengan abstraksi pengorgani-sasian data dan proses
• Dalam Unix: direktori /dev - file-file khusus
OS TKJ - UM 13
• Input/Output
– Keragaman hardware I/O
• Perlu abstraksi untuk menyembunyikan kompleksitas teknis → pendekatan
keseragaman
– Penggunaan
• Efektif (semua permintaan dapat terlayani)
• Efisien (menggunakan resource sehemat mungkin)
• Arsitektur sistem operasi
– Monolitik
• Tidak berstruktur, semua dikemas menjadi satu kesatuan
– Modular
• Kernel sebagai inti
• Modul-modul mengimplementasikan layanan
• Prinsip as-needed (hanya modul-modul yg diperlukan saja yg terpasang)
– Client-server, terdistribusi
• Dalam lingkungan jaringan, untuk embedded systems dengan resource yg
sangat terbatas
• Menggunakan model service-based
OS TKJ - UM 14
• Abstraksi ttg. eksekusi program
– Program counter, register, variabel, CPU
– Menunjukkan aktivitas
• Program
• Input
• Output
• State: running, ready, blocked
– Satu prosesor bisa dipakai bersama oleh bbrp proses, dng memanfaatkan
algoritma penjadwalan yg menentukan pelayanan thdp proses-proses tsb.
• Semua yg terjadi dlm komputer adalah proses!
– Hirarki proses: sebuah proses dpt melahirkan proses lain melalui fork()
– Dalam Linux: init → login → shell → … (coba perintah ps -AH)
• Bagaimana mengelola proses ?
– Tabel proses: state, PC, stack pointer, alokasi memori, file-file yg terbuka, …
– Mekanisme penanganan interupsi
• Vektor interupsi
• Rutin penanganan interupsi
OS TKJ - UM 15
• Mengenai perintah ps –AH yang masuk dlm kategori fork()
– ps: report process status
– -A: select all processes
– -H: show process hierarchy
• PID TTY TIME CMD
• 1? 00:00:03 init
• 2? 00:00:00 keventd
• 3? 00:00:00 kapmd
• 270 ? 00:00:00 safe_mysqld
• 310 ? 00:00:00 mysqld
• 318 ? 00:00:00 mysqld
• 319 ? 00:00:00 mysqld
producer() { consumer() {
int item; int item;
0 1 2 3 4 5 6 7 8 9 10
File node
Owner's UID
Owner's GID
File size
Tim e created
Single indirect
Double indirect
Triple indirect
OS TKJ - UM 29
Sistem File
• Struktur dan organisasi direktori
– Direktori pada MS-DOS
• Direktori diwujudkan dlm sebuah file
• Tiap entri direktori menunjuk pd satu file
• Tidak ada batas maksimal jumlah file pada sebuah direktori
– Direktori pada UNIX
• Direktori diwujudkan dlm sebuah file
• Tiap entri merujuk pd satu file
• Info pd tiap entri: nomor i-node dan nama file
OS TKJ - UM 30
Sistem File
• Berbagi file (file sharing)
– Dengan mekanisme link
– Problem: update agar terlihat oleh pihak lain
• Metode langsung: Info blok disk sbg “atribut” file (di i-node
dlm UNIX) yg bisa dilihat oleh direktori siapapun
• Kelemahan metode langsung: “dirty” deletion → penghapusan
file oleh pemilik bisa menyisakan i-node file tsb (agar tidak
terjadi situasi yg “menggantung”)
• Symbolic linking: menyisipkan file bertipe LINK, yg berisi path
ke file yg di-share, ke direktori “tamu”
• Kelemahan symlink: overhead pemrosesan, krn harus
membaca dan memproses path ke file yg sebenarnya
C's directory B's directory C's directory B's directory
OS TKJ - UM 31
• Konsistensi sistem file
Sistem File
– Problem inkonsistensi antara data dan info ttg file (i-node)
– Pemeriksaan konsistensi blok
• List untuk blok yg dipakai dlm file
• List untuk blok bebas
– Pemeriksaan konsistensi: blok & file
• Kedua counter dibandingkan → sebuah nomor blok hrs berada di salah
satu list
– Kemungkinan inkonsistensi blok
• Nomor blok hilang
• Duplikasi nomor blok di list blok bebas
• Duplikasi nomor blok di list blok terpakai
– Pemeriksaan konsistensi file
• Dilakukan pd direktori
• Caranya mirip pemeriksaan konsistensi blok
• Menghasilkan sebuah list berisi info ttg. banyaknya refcount ke sebuah i-
node
• Info ini dibandingkan dng isi field refcount dari i-node ybs
– Kemungkinan inkonsistensi file
• Counter link terlalu tinggi → file tetap
OS TKJ ada meskipun telah dihapus
- UM 32
• Counter link terlalu rendah → problem integritas file
Pengaksesan File
• Abstraksi server file sbg interface
• Atomic update
– Perubahan thdp file harus berhasil atau tidak sama sekali
– Diimplementasikan dng konsep tempat penyimpanan stabil (stable storage)
• Sebuah drive logikal diimplementasikan dng dua disk fisis
• Penulisan ke blok logikal n, dituliskan ke blok n di disk #1, diverifikasi, lalu
dituliskan ke blok n di disk #2 dan diverifikasi
• Error fisis (blok rusak, dsb) bisa diperbaiki dng cara menyalin data dari
salah satu disk
• Crash pd saat menulis disk #1 → kembali ke kondisi asal
• Crash pd saat menuli disk #2 → kembali ke kondisi setelah update
• Concurrency control
– Serializability: update secara bersama-an menghasilkan situasi yg sama jika
updatenya dilakukan scr sekuensial
– Locking → concurrency control dari sisi data (file)
OS TKJ - UM 33
Pengaksesan File
• Transaksi
– Atomic update + locking
– Concurrency ditangani oleh file server
– BEGIN TRANSACTION
• Transaction record utk merekam status transaksi
– END TRANSACTION
• Proses commit utk membuat update mjd permanen
Client File Server
Mulai transaksi Buat transaction record di stable storage
Baca file A Lock file A
Baca file B Lock file B
Update file A Buat salinan A dan update salinan ini
Update file B Buat salinan B dan update salinan ini
Selesai transaksi Simpan intention list ke stable storage
Tandai transaksi sebagai ‘commited’
Ganti file A dengan salinannya
Ganti file B dengan salinannya
• Replikasi
Lepaskan lock A dan B
Acknowledge
terdistribusi
Keamanan Sistem File
• Berkaitan dng kehilangan data dan usaha-usaha penyusupan
– Mekanisme proteksi
– Usaha/biaya sebanding dengan nilai informasi yg akan dilindungi
• Prinsip-prinsip pengamanan
– Desain sistem hrs bersifat public
• “Security through obscurity” tidak cocok
– Prinsip paranoid
• Kondisi default: tidak ada akses
• Berikan privilege seminimal mungkin
• Autorisasi hrs dilakukan sesaat sbl. aktivitas yg memerlukan autorisasi tsb
dilakukan
– Sistem proteksi hrs sederhana, seragam, dan mendasar
– Sistem proteksi hrs dpt diterima scr psikologis
• Beberapa mekanisme pengamanan
– Autorisasi → identifikasi pemakai
– Domain proteksi → lingkup akses sebuah object
– Access Control List
OS TKJ - UM 35
Manajemen Memori
• Mengapa perlu manajemen memori
– Resource yg sangat berharga
– Parkinson’s law: program cenderung memenuhi seluruh
kapasitas memori dan menguasainya
– Kemampuan multiprogramming → beberapa proses berada
di memori pd saat yg sama
• Manajemen memori dengan partisi tetap
– n buah partisi, ukuran bisa bervariasi, diset pd saat sistem
diaktifkan
– Bgmn jika proses berkembang ?
Partisi 4 Partisi 4
Partisi 3 Partisi 3
Partisi 2 Partisi 2
Partisi 1 Partisi 1
Operating Operating
system OS TKJ - UM system 36
Manajemen Memori
• Alokasi memori dengan partisi variabel
– Bgmn mengalokasikan memori untuk proses yg
berkembang ?
Data B
Data A
Stack A
Stack B
Program B
Program A
Sistem operasi
Bgmn mengalokasikan memori untuk proses yg
berkembang ?
Bitmap
Linked-list
Buddy system 1111100011111100
P 0 5 H 5 3
P 8 6 H 14 2
OS TKJ - UM 37
Manajemen Memori
• Pelacakan memori bebas dengan metode bit map
– Faktor pemilihan satuan alokasi mjd penting
• Satuan kecil → bit map besar
• Satuan besar → ada kemungkinan sisa memori
• Pelacakan memori bebas dengan metode linked-list
– Diurutkan berdasar alamat memori
– Implementasi dng double linked-list
• Algoritma alokasi memori
– First fit: mencari daerah memori bebas (DMB) yg pertama kali
ditemukan yg bisa menampung proses
– Next fit: mirip dng first fit, tapi dng merekam posisi DMB. Proses
pencarian selanjutnya dimulai dr posisi ini.
– Best fit: mencari di seluruh list DMB yg paling sesuai dng
kebutuhan proses
– Worst fit: mencari di seluruh list DMB yg paling besar yg tersedia
OS TKJ - UM 38
Manajemen Memori
• Pelacakan memori bebas dengan metode buddy system
– Berdasar kenyataan bhw komputer bekerja dng bilangan biner →
diguna-kan utk mempercepat penggabungan DMB-DMB yg
bersebelahan pd saat sebuah proses selesai dieksekusi (atau
diswap ke disk)
– Diimplementasikan dng list memori bebas berukuran 1, 2, 4, 8,
16, … byte
– Pengalokasian memori ke proses dila-kukan dng memecah satu
blok memori bebas mjd 2 bg yg sama besar. Peme-cahan
dilakukan scr rekursif shg dida-pat blok yg besarnya sesuai
kebutuhan
– Keuntungan
• Cepat utk proses pembebasan memori
– Kerugian
• Utilisasi memori yg kurang efisien krn terikat pd aturan 2n →
fragmentasi internal
OS TKJ - UM 39
Manajemen Memori
• Ilustrasi model buddy system
0 128 256 512 1024
Initial
Req. 70 A
Req. 35 A B
Req. 80 A B C
Return A B C
Req. 60 D B C
Return B D C
Return D C
Return C
OS TKJ - UM 40
Virtual Memory
• Muncul dr kenyataan bhw kebutuhan memori jauh lebih tinggi drpd memori
yg tersedia
• Usaha utk menyederhanakan solusi dng cara abstraksi manajemen memori
• Paging
– Akses ke memori melalui
• Mapping dari virtual address
• Mekanisme “page frame”
– Memory management unit (MMU) sbg mapper
– Virtual addr space > real addr space → mapping yg dinamis (bisa
berubah-ubah)
– Mekanisme akses
• Instruksi program berisi perintah akses ke memori
• Alamat memori → virtual address space, diteruskan ke MMU
• MMU melakukan mapping ke real address
• Real address diteruskan ke address bus
OS TKJ - UM 41
Virtual Memory: Paging
Virtual
address
44K - 48K
52K - 56K
60K - 64K
28K - 32K
36K - 40K
12K - 16K
20K - 24K
16K - 20K
32K - 36K
40K - 44K
48K - 52K
56K - 60K
24K - 28K
4K - 8K
8K - 12K
space
0 - 4K
Virtual
2 1 6 0 4 3 x x x 5 x 7 x x x x
page
Page
frame
Physical
memory
0 - 4K
4K - 8K
8K - 12K
28K - 32K
12K - 16K
20K - 24K
16K - 20K
24K - 28K
address