Sistem Operasi 2 - TataSumitra.Com

advertisement
Sistem Operasi
2
“Sistem operasi”
Definisi SO
• Dari sudut pandang user
– Sistem Operasi sebagai alat untuk mempermudah
penggunaan Komputer
– 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
daya secara efisien (Resource Allocator)
– 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 SO
• Menyediakan layanan kepada user:
– User interface – hampir semua SO ada 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, baik mengakses file ataupun I/O device
– File-system manipulation - Programs butuh read dan
write baik file atau directories, create dan delete, search
file/dir, list file information, dan permission
management.
Layanan 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 – harus 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 multiple jobs berjalan bersamasama (concurent), resources harus
dialokasikan
– Accounting – menentukan berapa banyak
dan berapa lama users menggunakan
sumber daya sistem
– Protection and security
• Protection menyakinkan hak akses yang
diperbolehkan
• Security sistem, baik program atau I/O dari
pihak luar menggunakan autentikasi.
Sejarah SO
• Generasi ke-0 (1940)
– Tabung hampa; blm ada sistem operasi; plug board
• Generasi ke-1 (1950)
– Komponen utama transistor; sistem batch; punch card
• Generasi ke-2 (1960)
– Komponen utama IC; konsep: multi programming, multi
processing, spooling, time sharing, real time
• Generasi ke-3 (1970)
– VLSI (very larga scalable integrated circuit)
– General purpose
• Genrasi ke-4 (1970 – now)
– PC; sistem operasi jaringan; cloud computing; GUI
friendly
Command Line Interpreter
• Sistem Operasi menunggu instruksi dari
pengguna (command driven).
– Sometimes commands built-in, sometimes just
names of programs
• If the latter, adding new features doesn’t require
shell modification
• CLI: Program yang membaca instruksi dan
mengartikan control statements
(keinginan user) umumnya disebut:
– control-card interpreter
– command-line interpreter
– UNIX shell.
User Operating System Interface - GUI
• User-friendly desktop metaphor interface
–
–
–
–
Menggunakan mouse, keyboard, and monitor
Icons merepresentasikan files, programs, actions, dll
Menggunakan directory = folder
Invented at Xerox PARC
• SO sekarang menggunakan antara CLI dan GUI
interfaces
– Microsoft Windows is GUI with CLI “command” shell
– Apple Mac OS X as “Aqua” GUI interface with UNIX
kernel underneath and shells available
– Solaris is CLI with optional GUI interfaces (Java
Desktop, KDE)
Sistem Calls
• System calls menyediakan interface antara
proses (program yang sedang dijalankan) dan
sistem operasi.
• 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 (including virtually
all versions of UNIX, Linux, and Mac OS X),
– Java API for the Java virtual machine (JVM)
System Calls
• Tiga metode umum yang digunakan dalam
memberikan parameter kepada sistem
operasi
– Melalui registers
– Menyimpan parameter dalam block atau
tabel pada memori dan alamat block tsb
diberikan sebagai parameter dalam register
– Menyimpan parameter (push) ke dalam stack
(oleh program), dan melakukan pop off pada
stack (oleh sistem operasi)
Parameter Passing via Table
Tipe System Calls
•
•
•
•
•
•
Process Control
Manajemen file
Manajemen Device
Information Maintenance
Komunikasi
Proteksi
• Biasanya digunakan dalam system
program
Process Control
• Selesai, abort
• Load, eksekusi
• Membuat dan men-terminate proses
• Mengambil dan men-set process
attributes
• Wait for time
• Wait event, signal event
• Allocate and free memory
MS-DOS execution
(a) At system startup (b) running a program
FreeBSD Running Multiple Programs
Manajemen File
• Membuat dan menghapus file
• Membuka dan menutup file
• Read, write, reposition
• Mengambil dan men-set file
attributes
Manajemen Device
• Meminta device, melepaskan device
• Read, write, reposition
• Mengambil dan men-set device
attributes
• Logically attach or detach device
(mount / umount)
Information Maintenance
• Mengambil dan men-set waktu dan
tanggal
• Men-set proses, file, or device
attributes
Komunikasi
• Menciptakan, menghapus hubungan
komunikasi
• Mengirim dan menerima pesan
• Mentransfer status informasi
• Attach atau detach remote device
• Komunikasi dapat dilakukan melalui
message passing atau shared
memory
Struktur Sistem Operasi
• Struktur Sederhana
– Tidak dibagi dalam modul-modul
– Contoh : Struktur sistem MS-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 dan
user-level
• Modular
MS-DOS Layer Structure
Layered Operating System
• Layer adalah implementasi
dari object
abstrak yang merupakan
enkapsulasi dari
data dan operasi yang bisa
memanipulasi
data tersebut
• Layer paling bawah :
hardware
• Layer paling atas : user
interface
Layered OS
• Keuntungan:
– modularitas
– mempermudah debug dan verifikasi
sistem
– layer pertama bisa didebug tanpa
mengganggu sistem yang lain
• Kesulitan:
– hanya bisa menggunakan layer
dibawahnya
Mikrokernel
• Fungsi utama: mendukung fasilitas komunikasi
antara program klien dan bermacam-macam
layanan yang juga berjalan di user-space
• Kernel menjadi lebih kecil
• Komunikasi melalui message passing
• 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
Virtual Machine
• Mesin virtual mengambil pendekatan layer secara logika.
• Mesin virtual memperlakukan hardware dan sistem operasi
seolah-olah berada pada level yang sama sebagai
hardware.
• Pendekatan Mesin virtual menyediakan sebuah interface
yang identik dengan seluruh hardware yang ada.
• Sistem Operasi host membuat ilusi dari banyak proses,
masing-masing dieksekusi pada prosesornya sendiri dengan
virtual memorinya sendiri.
• Setiap guest menyediakan sebuah (virtual) copy dari
semua hal yang ada pada komputer
• VM dibuat dengan pembagian sumber daya oleh physical
computer
• VM ada 2: system VM dan application VM
Virtual Machine (2)
• Sumber daya dari fisik dibagi untuk
membuat VM:
– 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
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 penelitian dan
pengembangan sistem operasi
– Dengan VM perubahan suatu bagian tidak akan
mempengaruhi komponen yang lain
Kerugian VM
• VM sulit diimplementasikan karena banyak syarat
yang dibutuhkan untuk menyediakan duplikat
yang tepat dari mesin host
– Harus punya virtual-user mode dan virtual-monitor
mode yang keduanya berjalan di pysichal mode.
– 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
Java Virtual Machine
• 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-Time(JIT) compilers meningkatkan
performance
The Java Virtual Machine
System Generation
• Sistem operasi dirancang untuk dapat dijalankan
pada berbagai jenis mesin, sistemnya harus
dikonfigurasikan untuk setiap komputer.
• Program Sysgen mendapatkan informasi
mengenai konfigurasi khusus tentang sistem
hardware dari sebuah data, antara lain sebagai
berikut:
–
–
–
–
CPU apa yang digunakan, opsi yang ada
Berapa banyak memori yang tersedia
Peralatan yang tersedia
Sistem operasi opsi apa yang diinginkan atau parameter
apa yang digunakan
NEXT
• Process
Download