2. DEFINISI
Sistem operasi adalah program yang
bertindak sebagai perantara antara user
dengan perangkat keras komputer.
Sistem operasi digunakan untuk
mengeksekusi program user dan
memudahkan menyelesaikan
permasalahan user.
adanya sistem operasi membuat sistem
komputer nyaman digunakan. Sistem
operasi mempunyai tujuan untuk
4. DEFINISI
Resource allocator
Sistem operasi mengatur dan
mengalokasikan sumber daya – sumber
daya sistem komputer
Program control Sistem operasi
melakukan control eksekusi dari program
user dan operasi input output.
Kernel
Sistem operasi sering disebut kernel,
yaitu suatu program yang berjalan
5. 5
SISTEM PENDAHULU(GENERASI PERTAMA
1945 - 1955)
Karakteristik :
1. Mesin sangat besar
2. Belum ada sistem operasi
3. Sistem komputer diberi instruksi yang harus
dikerjakan secara manual
SISTEM BATCH SEDERHANA (GENERASI
KEDUA 1955 - 1965)
Karakteristik:
1. Pengumpulan job-job yang sejenis sebagai satu
kelompok
2. Job yang dikumpulkan dieksekusi secara berurutan
1. SEJARAH SITEM OPERASI
6. 6
GENERASI KETIGA (1965 - 1980)
Dikembangkan untuk melayani banyak pemakai secara
online, sehingga sistem komputer dapat digunakan secara :
1. MULTIUSER
Komputer yang memiliki resource yang dapat
digunakan oleh banyak orang sekaligus
2. MULTIPROGRAMMING
Komputer melayani banyak proses/job sekaligus
pada waktu bersamaan, sehingga dikembangkan :
• Time Sharing
- Tiap pemakai mempunyai satu terminal online
dengan CPU hanya memberi layanan pada
pemakai yang aktif secara bergantian
- Tiap proses dibatasi oleh waktu, waktu
maksimum yang digunakan disebut “quantum
time”
7. GENERASI KEEMPAT (1980 - skr)
- Sistem operasi dapat melayani banyak mode
: mendukung batch processing, time sharing,
dan real time application
- Meningkatnya kemampuan komputer
desktop (PC) dan teknologi jaringan(TCP/IP)
8. 1. KOMPONEN SISTEM OPERASI
Pada kenyataannya tidak semua sistem operasi
mempunyai struktur yang sama, umumnya sebuah
sistem operasi modern mempunyai komponen
sebagai berikut :
Managemen Proses.
Managemen Memori Utama.
Managemen Secondary-Storage.
Managemen Sistem I/O.
Managemen Berkas.
Sistem Proteksi.
Jaringan.
Command-Interpreter system.
9. MANAJEMEN PROSES
Proses adalah keadaan ketika sebuah program
sedang di eksekusi. Sebuah proses membutuhkan
beberapa sumber daya untuk menyelesaikan
tugasnya. Sumber daya tersebut dapat berupa CPU
time, memori, berkas-berkas, dan perangkat-
perangkat I/O.
Sistem operasi bertanggung jawab atas aktivitas-
aktivitas yang berkaitan dengan managemen proses
seperti :
Pelaksanaan dan penghapusan proses yang
diinginkan user atau sistem.
Menunda atau melanjutkan proses.
Menyediakan mekanisme untuk proses sinkronisasi.
Menyediakan mekanisme untuk proses komunikasi.
Menyediakan mekanisme untuk penanganan
deadlock.
10. MANAGEMEN MEMORI UTAMA
Memori utama atau lebih dikenal sebagai memori adalah sebuah
array
yang besar dari word atau byte, yang ukurannya mencapai ratusan,
ribuan, atau bahkan jutaan byte. Setiap word atau byte mempunyai
alamat tersendiri. Memori Utama berfungsi sebagai tempat
penyimpanan yang akses datanya digunakan oleh CPU atau
perangkat
I/O. Memori utama termasuk tempat penyimpanan data yang
sementara
(volatile), artinya data dapat hilang begitu sistem dimatikan.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang
berkaitan dengan managemen memori seperti:
Menjaga track dari memori yang sedang digunakan dan siapa
yang menggunakannya.
Memilih program yang akan di-load ke memori.
Mengalokasikan dan meng-dealokasikan ruang memori sesuai
kebutuhan.
11. MANAJEMEN SECONDARY-STORAGE
Data yang disimpan dalam memori
utama
bersifat sementara dan jumlahnya
sangat
kecil. Oleh karena itu, untuk meyimpan
keseluruhan data dan program komputer
dibutuhkan secondary-storage yang
bersifat
permanen dan mampu menampung
banyak
12. MANAJEMEN SISTEM I/O
Sering disebut device manager. Menyediakan "device
driver"
yang umum sehingga operasi I/O dapat seragam
(seperti
kegiatan untuk membuka, membaca, menulis,
menjalankan
dan menutup file atau program).
Komponen Sistem Operasi untuk sistem I/O:
Buffer: menampung sementara data dari dan ke
perangkat I/O.
Spooling: melakukan penjadualan pemakaian I/O
sistem supaya lebih efektif dan efisien (pengaturan
antrian).
13. MANAJEMEN BERKAS
Berkas adalah kumpulan informasi yang berhubungan
sesuai dengan tujuan pembuat berkas tersebut.
Berkas
dapat mempunyai struktur yang bersifat hirarkis
(direktori,
volume, dll). Sistem operasi bertanggung-jawab
terhadap :
◦ Pembuatan dan penghapusan berkas.
◦ Pembuatan dan penghapusan direktori.
◦ Mendukung manipulasi berkas dan direktori.
◦ Memetakan berkas ke secondary storage.
◦ Mem-backup berkas ke media penyimpanan yang
permanen (non-volatile).
14. SISTEM PROTEKSI
Proteksi mengacu pada mekanisme untuk
mengontrol akses yang dilakukan oleh program,
prosesor, atau pengguna ke sistem sumber
daya.
Mekanisme proteksi harus:
membedakan antara penggunaan yang sudah
diberi izin dan yang belum.
specify the controls to be imposed
(menetapkan sistem pengaturan yang
digunakan).
provide a means of enforcement (menyiapkan
alat yang digunakan).
15. JARINGAN
Dukungan terhadap komunikasi data antar perangkat komputer
mutlak
diperlukan. Pada model sistem terdistribusi, dimana sistem
operasi
mengatur mekanisme penjadualan penggunaan resource
komputer
dalam jaringan, maka sekumpulan prosesor yang tidak berbagi
memori atau clock diatur oleh sistem operasi komputer host untuk
pengunaan prosesor dan alokasi tempat penyimpanan serta
mekanisme pendistribusian data maupun proses yang dilakukan.
Tiap prosesor mempunyai memori sendiri. Prosesor-prosesor
tersebut
terhubung melalui jaringan komunikasi, Sistem terdistribusi
menyediakan akses pengguna ke bermacam sumber-daya
sistem.
Akses tersebut menyebabkan:
◦ Computation speed-up (proses komputasi semakin cepat).
16. COMMAND INTERPRETER SYSTEM
Sistem Operasi menunggu instruksi dari user (command
driven). Program yang dapat membaca instruksi dan
mengartikan control statements berdasarkan masukan
dari
user umumnya disebut : control-card interpreter, atau
command-line interpreter.
Pada sistem UNIX sering disebut juga shell atau
console. Command-Interpreter System sangat
bervariasi dari satu sistem operasi ke sistem operasi
yang
lain dan disesuaikan dengan tujuan dan teknologi I/O
devices yang ada.
17. 2. LAYANAN SISTEM OPERASI
Sebuah sistem operasi yang baik menurut
Tanenbaum
harus memiliki layanan sebagai berikut:
Pembuatan Program
Eksekusi program.
Operasi I/O (pengaksesan I/O Device)
Sistem manipulasi berkas
Komunikasi
Deteksi error
Deteksi dan Pemberian tanggapan pada
kesalahan
Efesiensi penggunaan sistem
Accounting
18. LAYANAN SISTEM OPERASI
◦ Pembuatan program, yaitu sistem operasi menyediakan
fasilitas dan layanan untuk membantu para pemrogram untuk
menulis program
◦ Eksekusi program adalah kemampuan sistem untuk "load"
program ke memori dan menjalankan program yang
dikehendaki user maupun sistem.
◦ Operasi I/O merupakan kegiatan dimana pengguna tidak
dapat secara langsung mengakses sumber daya perangkat
keras, sehingga sistem operasi harus menyediakan
mekanisme untuk melakukan operasi I/O atas nama
pengguna.
◦ Sistem manipulasi berkas adalah kemampuan program
untuk operasi pada berkas (membaca, menulis, membuat, dan
menghapus berkas yang berupa file atau direktori).
◦ Komunikasi adalah pertukaran data/ informasi antar dua atau
lebih proses yang berada pada satu komputer (atau lebih).
◦ Deteksi error adalah kegiatan untuk menjaga kestabilan
sistem dengan mendeteksi "error", perangkat keras maupun
operasi yang dilakukan.
19. LAYANAN SISTEM OPERASI
Deteksi dan Pemberian tanggapan pada
kesalahan, jika muncul permasalahan pada
sistem komputer maka sistem operasi harus
memberikan tanggapan yang menjelaskan
kesalahan yang terjadi serta dampaknya terhadap
aplikasi yang sedang berjalan.
Efesisensi penggunaan sistem, diantaranya:
Resource allocator, yakni: mengalokasikan sumber-
daya hardware maupun software ke beberapa pengguna
atau mengalokasikan job yang jalan pada saat yang
bersamaan ke beberapa komputer dalam jaringan.
Proteksi sistem untuk menjamin akses ke sistem
sumber daya yang aman, dikendalikan oleh sistem
sehingga pengguna dikontrol aksesnya ke sistem).
Accounting adalah kegiatan merekam aktifitas
pengguna, report pemakaian sumber daya. Sistem
Operasi yang bagus harus mampu mengumpulkan
data statistik penggunaan beragam sumber-daya
dan memonitor parameter kinerja.
20. 3. SYSTEM CALL
System call menyediakan interface antara program (program
pengguna
yang berjalan) dan bagian OS. System call menjadi jembatan antara
proses dan sistem operasi. System call ditulis dalam bahasa
assembly
atau bahasa tingkat tinggi yang dapat mengendalikan mesin Contoh:
UNIX menyediakan system call: read, write operasi I/O untuk
berkas.
Sering pengguna program harus memberikan data (parameter) ke
OS
yang akan dipanggil. Contoh pada UNIX: read(buffer, max_size,
file_id);
Tiga cara memberikan parameter dari program ke sistem operasi:
Melalui registers (sumber daya di CPU).
Menyimpan parameter pada data struktur (table) di memori, dan
alamat table tsb ditunjuk oleh pointer yang disimpan di register.
Push (store) melalui "stack" pada memori dan OS mengambilnya
21. 4. MESIN VIRTUAL
Program sistem diatas kernel dapat
menggunakan system call atau instuksi-
instruksi hardware. Dalam beberapa hal,
program sistem tidak membedakan kedua
lapisan tersebut. Program sistem
memperlakukan system call dan hardware
dilapisan yang sama. Beberapa sistem
mengadopsi teknik ini supaya program
sistem dapat dipanggil secara mudah oleh
program-program aplikasi. Meskipun
program sistem berada ditingkat yang lebih
tinggi dari rutin-rutin program aplikasi yang
lain, program-program aplikasi akan melihat
semua yang berada dibawahnya (didalam
hirarki).
22. MODEL MESIN VIRTUAL
Proses Proses
Proses
Mesin virtual
Hardware
Proses
Programming
interface
Kernel
Hardware
Kernel Kernel Kernel
23. Sistem Operasi Berhak Milik Generasi Awal
Apple Computer
Business Operating System (BOS)
Commodore PET, Commodore 64, dan
Commodore VIC-20
IBM PC awal (UCSD p-System, CPM-86, PC-DOS)
Sinclair Micro dan QS
TRS-DOS, ROM OS
TI99-4
Flex
FLEX9
mini-FLEX
24. 3. Sistem Operasi Berlisensi
Acorn
Arthur
ARX
RISC OS
RISCiX
Amiga
AmigaOS
Atari ST
TOS
MultiTOS
MiNT
Be
Incorporated
BeOS
BeIA
Zeta
ICT/ICL
GEORGE
VME
DME
TME
Novell
o Novell Netware v.1.0,
2.0, 3.0, 3.1, 3.12
o Novell Netware v.4.11,
5.0, 5.1, 6.0
o Novell SuSE
9.0,9.1,9.2, 9.3
25. IBM
IBSYS
OS/2
AIX
OS/400
DOS/360
DOS/VSE
OS/360
MFT
MVT
SVS
MVS
TPF
ALCS
OS/390
z/OS, Unix-
like
z/VM
z/VSE
Basic
Operating
System
PC-DOS
Digital/Compaq/HP
AIS
OS-8
ITS (untuk PDP-6
dan PDP-10)
TOPS-10 (untuk
PDP-10)
WAITS
TENEX
TOPS-20
RSTS/E
RSX-11
RT-11
VMS
Apple Macintosh
Apple DOS
A/UX
ProDOS
GS/OS
Mac OS
Mac OS X
Apple Darwin
Microsoft
o MS-DOS
o Windows for Workstation / Stand
alone
Windows 1.0
Windows 2.0 (u/ 80286)
Windows 3.0, 3.1
Windows 95
Windows
98/98se/98plus
Windows ME (Millenium)
Windows 2000
Profesional
Windows XP (eXPerience)
Home
Edition&Profesional
Windows Vista
(Longhorn)
Windows "Blackcomb"
o Windows for Server
Windows NT 3.5
Windows NT 4
Windows 2000 Server &
Advance Server (NT v5.0)
Windows Server 2003
o Xenix
o Windows for PDA
o Windows for PC Tablet
26. PDA (Personal
Digital
Assistant)
Palm OS
Pocket PC
EPOC, Symbian
OS
Windows CE
Linux Sharp
Zaurus
Router
IOS
MikroTik
RouterOS
Smartphones
Windows CE
Linux
Symbian OS
Microcontroller,
Real-Time OS,
Embedded
Contiki
eCos
OSEK
Nuclues
QNX
VxWorks
ITRON
uCLinux
TRON OS
ThreadX
INTEGRITY
Montavista Linux
OS-9
LynxOS
RTOS
OS berhak milik lainnya, Unix-
like & POSIX-compliant
o Aegis/OS
o Cromix
o Coherent
o DNIX
o Digital UNIX
o HP-UX
o Idris
o IRIX
o Mac OS X
o Menuet
o NeXTSTEP
o OS-9
o OS-9/68k
o OS-9000
o OSF/1
o OPENSTEP
o Plan 9
o Plan 9, Inferno
o Rhapshody
o RiscOS
o SCO UNIX
o System V
o UNIflex
o Ultrix
o UniCOS
27. 4. Sistem Operasi Open Source
Linux
distronya antara lain :
Debian
Slackware
Redhat/Fedora
Mandrake/Mandr
iva
Gentoo
YellowDog
Ubuntu
Trustix
Knoppix
Blank-on
Xnuxer,
dll.
BSD (Berkley
Software
Development)
FreeBSD,
OpenBSD,
NetBSD, dll.
Sun Microsystems
Solaris - Unix-like
SunOS - Unix-
like (menjadi
Solaris)
Java Desktop
System (JDS)
28. Multitasking
Multitasking adalah sebuah metode dimana
banyak pekerjaan atau dikenal juga sebagai
proses diolah dengan menggunakan
sumberdaya CPU yang sama.
Multitasking memecahkan masalah ini dengan
menjadwalkan pekerjaan mana yang dapat
berjalan dalam satu waktu, dan kapan pekerjaan
yang lain menunggu untuk diolah dapat
dikerjakan. Kondisi mengalokasikan CPU dari
pekerjaan satu ke pekerjaan yang lain disebut
context switch.
29. Time sharing
Time sharing system adalah suatu teknik
penggunaan CPU oleh beberapa pemakai
secara bergantian menurut waktu yang
diperlukan pemakai.
Hal ini disebabkan waktu perkembangan
proses CPU semakin cepat, sedangkan alat
Input/Output tidak dapat mengimbangi
kecepatan dari CPU, maka kecepatan dari
CPU dapat digunakan secara efisien dengan
melayani beberapa alat I/O secara bergantian.
30. Pipelining
Pipeline adalah suatu cara yang
digunakan untuk melakukan sejumlah
kerja secara bersama tetapi dalam tahap
yang berbeda yang dialirkan secara
kontinu pada unit pemrosesan. Dengan
cara ini, maka unit pemrosesan selalu
bekerja.
33. DEADLOCK
Suatu kondisi dimana proses tidak
berjalan lagi atau pun tidak ada
komunikasi lagi antar proses.
Deadlock disebabkan karena proses
yang satu menunggu sumber daya
yang sedang dipegang oleh proses
lain yang sedang menunggu sumber
daya yang dipegang oleh proses
tersebut.
34. CONTOH DEADLOCK (1)
Gambar di atas merupakan contoh deadlocks dalam dunia
nyata. Dapat dilihat bahwa kedua mobil yang berada di
tengah-tengah jembatan tidak dapat maju dan hanya
menunggu
Penyelesaian dari masalah tersebut adalah salah satu dari
mobil tersebut mundur, sehingga mobil yang lain dapat
maju
35. CONTOH DEADLOCK (1)
Mobil pada kasus ini adalah proses, sedangkan jembatan
adalah sumber daya (resource)
Kedua mobil berebut untuk menggunakan sumber daya,
namun karena sumber daya tersebut hanya dapat digunakan
oleh satu proses saja, maka terjadilah deadlock
Kondisi tersebut bila terjadi dalam waktu yang lama dapat
menyebabkan terjadinya starvation
37. KONDISI YANG
MENYEBABKAN DEADLOCK
Mutual Exclusion
Sebuah resource hanya dapat
digunakan oleh sebuah proses pada
suatu waktu tertentu. (resource yang
non-shareable.)
–
Hold and Wait
terdapat proses yang sedang
menunggu dan memegang resource.
38. KONDISI YANG
MENYEBABKAN DEADLOCK
Non-preemption
Resource tidak dapat digunakan
sebelum proses yang menggunakan
telah selesai menggunakan dan
kemudian melepaskannya.
–
Circular wait
Proses-proses berada dalam
lingkaran. Terjadi saling menunggu
resource yang sedang digunakan oleh
proses berikutnya dalam lingkaran
39. Cara menanggulangi deadlock
1. Mengabaikan masalah deadlock
2. Mendeteksi dan memperbaiki
3. Deadlock avoidance sistem
Menghindari situasi yang dapat mengarah
kepada terjadinya deadlock, sistem harus
diberikan informasi tambahan yang
menyatakan resource mana yang diminta
proses, dan digunakan selama proses
berjalan.
4. Deadlock prevention sistem
Menggunakan metode supaya tidak terjadi
salah satu kondisi yang menyebabkan
deadlock
40. Starvation
Starvation adalah kondisi yang
biasanya terjadi setelah deadlock.
Proses yang
kekurangan resource (karena
terjadi deadlock) tidak akan pernah
mendapat resource yang dibutuhkan
sehingga
mengalamistarvation (kelaparan).
41. Contoh Starvation
Mobil pada kasus ini adalah proses, sedangkan jembatan
adalah sumber daya (resource)
Kedua mobil berebut untuk menggunakan sumber daya,
namun karena sumber daya tersebut hanya dapat digunakan
oleh satu proses saja, maka terjadilah deadlock
Kondisi tersebut bila terjadi dalam waktu yang lama dapat
menyebabkan terjadinya starvation