Sistem Operasi 2

advertisement
Sistem Operasi
2
“Sistem operasi”
Antonius Rachmat C,
C S.Kom,
S Kom
M.Cs
Definisi
D fi i i SO
• Dari
D i sudut
d t pandang
d
user
– Sistem Operasi sebagai alat untuk mempermudah
penggunaan
p
gg
Komputer
p
– Sistem Operasi sebagai alat untuk memaksimalkan
penggunaan sumber daya komputer (dalam lingkungan
multi-user))
• Dari sudut pandang sistem
– Sistem Operasi sebagai alat yang menempatkan sumber
da a se
daya
secara
a a efisien (Reso
(Resource
ce Allocator)
Allocato )
– Sistem Operasi sebagai alat yang mangatur eksekusi
aplikasi dan operasi dari alat I/O (Control Program)
– Sistem Operasi sebagai sebuah program yang selalu
berjalan setiap saat pada komputer (Kernel)
Layanan
L
SO
• User interface – hampir semua SO ada GUI-nya
GUI nya
– Varies between Command-Line (CLI), Graphics
User Interface (GUI), Batch
• Program execution – SO harus bisa meload
program ke memory dan mengeksekusinya,
menghentikan eksekusi program, baik normal
maupun tidak normal (abnormal exit)
• I/O operations - Program yang sedang
berjalan butuh I/O
I/O, baik mengakses file ataupun
I/O device
• File-system manipulation - Programs butuh
read
d dan
d
write
it baik
b ik file
fil atau
t
directories,
di
t i
create
t
dan delete, search file/dir, list file information,
dan permission management.
Layanan
L
SO
• Communications – proses harus
berkomunikasi antar proses dalam
komputer yang sama atau antar komputer
dalam jaringan
– Menggunakan shared memory atau
menggunakan message passing
• Error detection
d
i
– harus
h
mampu
menangani error
– Dalam terjadi pada CPU, memory hardware,
dalam I/O devices, dan dalam user program
– Untuk setiap error, OS harus menanganinya
dengan aksi yang sesuai, benar, dan konsisten
– Harus adanya fasilitas debugging
Layanan SO
• Resource allocation – ketika multiple
users atau
t
multiple
lti l jjobs
b b
berjalan
j l
bersama-sama (concurent), resources
harus dialokasikan
• Accounting – menentukan berapa
banyak dan berapa lama users
menggunakan
k
sumber
b daya
d
sistem
• Protection and security
–P
Protection
t ti
menyakinkan
ki k
h k akses
hak
k
yang
diperbolehkan
y sistem,, baik program
p g
atau I/O
/
– Security
dari pihak luar menggunakan autentikasi.
A View of Operating System
Services
Se ices
C
Command
d Li
Line Interpreter
I
• Si
Sistem
tem Operasi
Ope
i menunggu
men ngg instruksi
in t k i dari
d i
pengguna (command driven).
– Sometimes commands built
built-in
in, sometimes just
names of programs
• If the latter, adding new features doesn’t require
shell modification
• CLI: Program yang membaca instruksi
dan mengartikan
g
control statements
(keinginan user) umumnya disebut:
– control-card interpreter
– command-line
command line interpreter
inte p ete
– UNIX shell.
User Operating System Interface - GUI
• User-friendly desktop metaphor interface
–
–
–
–
Menggunakan
M
k
mouse, keyboard,
k b
d and
d monitor
it
Icons merepresentasikan files, programs, actions, dll
Menggunakan
gg
directory
y = folder
Invented at Xerox PARC
• SO sekarang menggunakan antara CLI dan GUI
inte faces
interfaces
– Microsoft Windows is GUI with CLI “command” shell
– Apple
pp Mac OS X as “Aqua”
q
GUI interface with UNIX
kernel underneath and shells available
– Solaris is CLI with optional GUI interfaces (Java
Desktop, KDE)
Command Interpreter
p
The Mac OS X GUI
Si
Sistem
Calls
C ll
• S
System
t
calls
ll menyediakan
di k
i t f
interface
antara
t
proses (program yang sedang dijalankan) dan
sistem
s
ste operasi.
ope as
• Biasanya dibuat menggunakan bahasa tingkat
tinggi (C or C++)
• Diakses menggunakan Application Program
Interface (API) daripada pemanggilan langsung
• 3 API yang umum adalah:
– Win32 API for Windows,
– POSIX API for POSIX-based systems
y
(including
(
g virtually
y
all versions of UNIX, Linux, and Mac OS X),
– Java API for the Java virtual machine (JVM)
Example
p of System
y
Calls
• System call sequence to copy the contents of
one file
fil to
t another
th file
fil
Example of Standard API
• Consider the ReadFile() function in the
• Win32 API—a
API a function for reading from a file
• A description
desc iption of the pa
parameters
amete s passed to ReadFile()
– HANDLE file—the file to be read
– LPVOID buffer—a buffer where the data will be read into and written
from
– DWORD bytesToRead—the number of bytes to be read into the buffer
– LPDWORD bytesRead—the number of bytes read during the last read
– LPOVERLAPPED ovl—indicates if overlapped I/O is being used
S
System
Call
C ll implementation
i
l
i
• The
Th caller
ll need
dk
know nothing
thi
about how the system call is
implemented
l
d
– Just needs to obey
y API and understand
what OS will do as a result call
– Most details of OS interface hidden
from programmer by API
• Managed by run-time support library (set
off functions
f
ti
built
b ilt into
i t lib
libraries
i iincluded
l d d with
ith
compiler)
API – System Call – OS Relationship
Standard C Library Example
• C program invoking printf() library call,
which calls write() system call
S
System
Calls
C ll
• Tig
Tiga metode umum
m m yang
ng digunakan
dig n k n dalam
d l m
memberikan parameter kepada sistem
operasi
– Melalui registers
• In some cases, may be more parameters than
registers
– Menyimpan parameter dalam block / tabel
pada memori dan alamat block tsb
dib ik
diberikan
sebagai
b
i parameter
t pada
d register
i t
• This approach taken by Linux and Solaris
– Menyimpan
e y pa parameter
pa a ete (push)
(pus ) ke
e dalam
da a stac
stack
(oleh program), dan melakukan pop off pada
stack (oleh sistem operasi)
• Sifatnya dinamis
P
Parameter
Passing
P
i
via
i Table
T bl
Jenis System Calls – System
Program
Program
•
•
•
•
•
•
Process Control
j
file
Manajemen
Manajemen Device
Information Maintenance
Komunikasi
Proteksi
• Biasanya digunakan pada system
program
Examples of Windows and
Unix System
y
Calls
Process
P
C
Controll
• Selesai,
S l
i abort
b
• Load,, eksekusi
• Membuat dan men-terminate proses
• Mengambil dan men-set
men set process
attributes
• Wait for
f time
• Wait event,, signal
g
event
• Allocate and free memory
MS--DOS execution
MS
i
(a) At system startup (b) running a program
FreeBSD Running Multiple Programs
M
Manajemen
j
Fil
File
• Membuat dan menghapus file
• Membuka dan menutup file
• Read, write, reposition
• Mengambil dan men-set file
attributes
M
Manajemen
j
D
Device
i
• Meminta device, melepaskan device
• Read,
Read write
write, reposition
• Mengambil dan men-set device
attributes
tt ib t
• Logically attach or detach device
(mount / umount)
I f
Information
i
Maintenance
M i
• Mengambil dan men-set waktu dan
gg
tanggal
• Men-set proses, file, or device
attributes
K
Komunikasi
ik i
• Menciptakan, menghapus hubungan
komunikasi
• Mengirim dan menerima pesan
• Mentransfer
M t
f status
t t
informasi
i f
i
• Attach atau detach remote device
• Komunikasi dapat dilakukan melalui
message passing atau
ata shared
memory
Struktur
S k
Sistem
Si
Operasi
O
i
• Struktur
St kt Sederhana
S d h
– Tidak dibagi dalam modul-modul
– Contoh : Struktur sistem MS
MS-DOS:
DOS:
• disusun untuk mendukung fungsi yang banyak pada space
yang kecil
• Metode pendekatan Layer / Level
– Contoh: UNIX, terdiri dari kernel (berisi device driver
dan interface) dan program
• Mikrokernel
– Menyusun sistem operasi dengan menghapus semua
komponen yang tidak esensial dari kernel, dan
mengimplementasikannya sebagai sistem program pada
user-level
• Modular
MS--DOS L
MS
Layer Structure
S
Traditional UNIX System Structure
Layered
y
Operating
p
g System
y
• Layer adalah implementasi
dari object abstrak yang
merupakan
p
enkapsulasi
p
dari
data dan operasi yang bisa
memanipulasi data tersebut
• Layer paling bawah :
hardware
• Layer
L
paling
li atas
t : user
interface
L
Layered
d OS
• Keuntungan:
K
– modularitas
– mempermudah debug dan verifikasi
sistem
– layer pertama bisa didebug tanpa
mengganggu sistem yang lain
• Kesulitan:
– hanya bisa menggunakan layer
dibawahnya
Mikrokernel
Mik k
l
• F
Fungsii utama:
t
mendukung
d k
fasilitas
f ilit komunikasi
k
ik i
antara program user dan bermacam-macam
layanan
aya a yang
ya g juga berjalan
be ja a di
d user-space
use space
• Kernel menjadi lebih kecil
g p
passing
g
• Komunikasi melalui message
• Keuntungan:
– ketika layanan baru akan ditambahkan ke user-space,
kernel tidak perlu di modif
– mendukung keamanan reliabilitas lebih, karena sebagian
besar pada level pengguna, SO jadi terjaga
• Contoh sistem operasi :
– Tru64 UNIX, MacOSX, QNX
Monolithic
M
li hi vs Mi
Microkernel
k
l
M d l
Modules
• Most modern operating systems
implement kernel modules
– Uses object-oriented approach
– Each core component is separate
– Each talks to the others over known
interfaces
– Each is loadable as needed within the kernel
• Overall, similar to layers but with more
flexible
Solaris
S l i M
Modular
d l A
Approach
h
Vi
Virtual
lM
Machine
hi
• Mesin virtual mengambil pendekatan layer secara logika.
logika
• Mesin virtual memperlakukan hardware dan sistem operasi
seolah-olah berada pada level yang sama sebagai
hardware.
hardware
• Pendekatan Mesin virtual menyediakan sebuah interface
yang identik dengan seluruh hardware yang ada.
• Sistem Operasi host membuat ilusi dari banyak proses,
proses
masing-masing dieksekusi pada prosesornya sendiri dengan
virtual memorinya sendiri.
pg
guest menyediakan
y
sebuah (virtual)
(
) copy
py dari
• Setiap
semua hal yang ada pada komputer
• VM dibuat dengan pembagian sumber daya oleh physical
computer
• VM ada 2: system VM dan application VM
Vi
Virtual
l Machine
M hi
(2)
• Sumber
S mbe daya
d
fisik
fi ik dibagi
dib gi oleh VM untuk:
nt k
– Penjadwalan CPU bisa menciptakan
penampilan seakan user mempunyai prosesor
sendiri
– Spooling bisa menyediakan virtual card
readers dan virtual line printers
– Sebuah time-sharing terminal, yang dapat
melayani user dengan tepat
• VM software membutuhkan disk space
untuk menyediakan Virtual memory dan
spooling yaitu sebuah virtual disk
spooling,
Virtual Machines History and Benefits
• First appeared commercially in IBM mainframes
i 1972
in
• Fundamentally, multiple execution
environments (different operating systems) can
share the same hardware
• Protect from each other VM
• Commutate with each other, other physical
systems via networking
• Useful
U f l ffor development,
d
l
testing
i
• “Open Virtual Machine Format”, standard format
of virtual machines
machines, allows a VM to run within
many different virtual machine (host) platforms
K
Keuntungan
VM
• Keamanan bukanlah masalah
– VM mempunyai pelindungan lengkap pada
berbagai sistem sumber daya
– Tidak ada pembagian sumber daya secara
langsung
• VM sistem adalah kendaraan yang
“
“sempurna”
” untuk
k penelitian
l
d
dan
pengembangan sistem operasi
– Dengan VM perubahan suatu bagian tidak akan
mempengaruhi komponen yang lain
Kesulitan
li
VM
• VM sulit
lit diimplementasikan
dii
l
t ik
karena
k
banyak
b
k syaratt
yang dibutuhkan untuk menyediakan duplikat
yang
ya
g tepat dari
da mesin
es host
ost
– Harus punya virtual-user mode dan virtual-monitor
mode yang keduanya berjalan di pysichal mode.
– Akibatnya,
Akibatnya saat instruksi yang hanya membutuhkan
virtual monitor mode dijalankan, register berubah dan
bisa berefek pada virtual user mode, bahkan bisa merestart VM
• Waktu yang dibutuhkan I/O bisa lebih
cepat(karena ada spooling), tapi bisa lebih
lambat (karena diinterpreted)
Virtual Machines (Cont)
Non-virtual Machine
Virtual Machine
(a) Nonvirtual machine (b) virtual machine
VMware Architecture
VMWare
J
Java
Virtual
Vi
l Machine
M hi
• Program Java yang telah dicompile adalah
platform-neutral bytecodes yang
dieksekusi oleh Java Virtual Machine(JVM)
• JVM terdiri dari:
– Class loader
– Class verificatier
– runtime interpreter
• Just In
In-Time(JIT)
Time(JIT) compilers meningkatkan
performance
Th Java
The
J
Virtual
Vi
l Machine
M hi
Flow Chart of BIOS Functions
Post = power on self test
Turn on Computer
Pass through POST Error
Free
NO
Output to Monitor
YES
Plug’n’Play
Pass through
g POST Error
Free
Test Boot Drive
Bootable media found
NO
Pass through POST Error
Free
YES
Load boot program
Start operating system
Pass through POST Error
Free
NO
B
Bootstrap
loader
l d
• Operating system must be made available
to hardware, so hardware can start it
– Small piece of code – bootstrap loader,
locates the kernel, loads it into memory, and
starts
t t it
– boot block at fixed location loads bootstrap
loader
– When power initialized on system, execution
starts at a fixed memory location
• Firmware used to hold initial boot code
NEXT
• Process & Thread
Download