STRUKTUR SISTEM OPERASI

advertisement
PENGANTAR
SISTEM OPERASI
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 menggunakan
perangkat keras komputer secara efisien.
KOMPONEN SISTEM KOMPUTER
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 waktu
(selain program aplikasi).

1. SEJARAH SITEM OPERASI

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
5

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”
6

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)
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.
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.
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.
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
data. Contoh dari secondary-storage adalah
harddisk, flashdisk, CD-ROM, disket, dll.
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 "rinci"
untuk perangkat keras I/O tertentu.
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).
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).
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).
◦ Increased data availability (peningkatan ketersediaan data).
◦ Enhanced reliability (peningkatan kemampuan).
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.
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
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.
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.
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 melalui
pop pada stack tsb.
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 programprogram 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).
MODEL MESIN VIRTUAL
Proses
Proses
Proses
Proses
Kernel
Kernel
Kernel
Programming
interface
Kernel
Mesin virtual
Hardware
Hardware
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
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
 IBM
 IBSYS
 OS/2
 AIX
 OS/400
 DOS/360
 DOS/VSE
 OS/360
 MFT
 MVT
 SVS
 MVS
 TPF
 ALCS
 OS/390
 z/OS, Unixlike
 z/VM
 z/VSE
 Basic
Operating
System
 PC-DOS
 Digital/Compaq/HP
o
 AIS
o
 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
MS-DOS
Windows for Workstation / Stand
alone










o
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"
Windows for Server
 Windows NT 3.5
 Windows NT 4
 Windows 2000 Server &
Advance Server (NT v5.0)
 Windows Server 2003
o
o
o
Xenix
Windows for PDA
Windows for PC Tablet
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, Unixlike & 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
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 - Unixlike (menjadi
Solaris)
 Java Desktop
System (JDS)
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.
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.
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.
Contoh
Tanpa pipelining
Dengan pipelining
MASALAH-MASALAH DALAM SISTEM
OPERASI
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.

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

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

CONTOH DEADLOCKS (2)
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.

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 tersebut.

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
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).
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

Download