SISTEM OPERASI
SISTEM OPERASI
DEFINISI
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.
KOMPONEN SISTEM
KOMPONEN SISTEM
KOMPUTER
DEFINISI
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 sepanjang
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
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
GENERASI KEEMPAT (1980 - skr)
- Sistem operasi dapat melayani banyak
mode : mendukung batch processing, time
sharing, dan real time application
- Meningkatnya kemampuan komputer
1. KOMPONEN SISTEM
1. KOMPONEN SISTEM
OPERASI
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.
MANAJEMEN PROSES
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
MANAGEMEN MEMORI
MANAGEMEN MEMORI
UTAMA
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
MANAJEMEN
MANAJEMEN
SECONDARY-STORAGE
STORAGE
Data yang disimpan dalam memori utama
bersifat sementara dan jumlahnya sangat
kecil. Oleh karena itu, untuk meyimpan
keseluruhan data dan program komputer
MANAJEMEN SISTEM I/O
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).
Menyediakan driver untuk dapat melakukan operasi
MANAJEMEN BERKAS
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.
SISTEM PROTEKSI
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
JARINGAN
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:
COMMAND INTERPRETER SYSTEM
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
2. LAYANAN SISTEM
2. LAYANAN SISTEM
OPERASI
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
LAYANAN SISTEM OPERASI
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
LAYANAN SISTEM OPERASI
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
3. SYSTEM CALL
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
4. MESIN VIRTUAL
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
MODEL MESIN VIRTUAL
MODEL MESIN VIRTUAL
Proses Proses Proses
Mesin virtual
Hardware Proses
Programming interface
Kernel
Hardware
Sistem Operasi Berhak Milik
Sistem Operasi Berhak Milik
Generasi Awal
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
3. Sistem Operasi
3. Sistem Operasi
Berlisensi
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
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
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
4. Sistem Operasi Open Source
4. Sistem Operasi Open Source
Linux
distronya antara lain :
Debian Slackware Redhat/Fedora Mandrake/ Mandriva 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)
Multitasking
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
Time sharing
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
Pipelining
Pipelining
Pipeline adalah suatu cara yang
digunakan untuk melakukan sejumlah
kerja secara bersama tetapi dalam tahap
yang berbeda yang dialirkan secara
Contoh
Contoh
Tanpa pipelining
Tanpa pipelining
Dengan pipelining
MASALAH-MASALAH DALAM
MASALAH-MASALAH DALAM
SISTEM OPERASI
DEADLOCK
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
CONTOH DEADLOCK (1)
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
CONTOH DEADLOCK (1)
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
CONTOH DEADLOCKS (2)
KONDISI YANG
KONDISI YANG
MENYEBABKAN DEADLOCK
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
KONDISI YANG
KONDISI YANG
MENYEBABKAN DEADLOCK
MENYEBABKAN DEADLOCK
Non-preemption
Resource tidak dapat digunakan
sebelum proses yang menggunakan
telah selesai menggunakan dan
kemudian melepaskannya.
– Circular wait
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
Starvation
Starvation
Starvation adalah kondisi yang
biasanya terjadi setelah deadlock.
Proses
yang
kekurangan resource (karena
terjadi deadlock)
tidak
akan
pernah mendapat resource yang
dibutuhkan
sehingga
Contoh Starvation
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