Anda di halaman 1dari 52

Chapter 2: Struktur Sistem

Operasi

Operating System Concepts Essentials– 8th Edition Silberschatz, Galvin and Gagne ©2011
ENROLLMENT KEY
Sistem-operasi-ra-2019
Sistem-operasi-rb-2019
Sistem-operasi-rc-2019
Sistem-operasi-rd-2019

Operating System Concepts Essentials – 8th Edition 2.2 Silberschatz, Galvin and Gagne ©2011
Tujuan
■ Mendeskripsikan services yang disediakan sistem operasi kepada
users, proses, dan sistem terkait

■ Mendiskusikan beberapa cara untuk membentuk struktur sistem


operasi

■ Menjelaskan bagaimana instalasi dan kustomisasi sistem operasi dan


bagaimana proses booting sistem operasi

Operating System Concepts Essentials – 8th Edition 2.3 Silberschatz, Galvin and Gagne ©2011
Layanan Sistem Operasi

Operating System Concepts Essentials – 8th Edition 2.4 Silberschatz, Galvin and Gagne ©2011
Layanan Sistem Operasi
■ Sistem operasi menyediakan environment untuk melakukan eksekusi program
dan services kepada program dan users
■ Satu set layanan sistem operasi menyediakan fungsi – fungsi yang berguna bagi
users:
● User interface – mayoritas sistem operasi memiliki user interface (UI)
4 Command-Line (CLI), Graphics User Interface (GUI), Batch
● Program execution – sistem harus dapat me-load program ke dalam
memori, menjalankan program, dan mengakhiri program baik itu normal
maupun tidak (indikasi error)
● I/O operations – program yang sedang berjalan membutuhkan I/O, yang
melibatkan suatu file atau I/O device
● File-system manipulation – file-system merupakan bagian dari layanan
sistem operasi. Program akan melakukan aktivitas read dan write file dan
direktori, create dan delete, search, list, dan permission management.

Operating System Concepts Essentials – 8th Edition 2.5 Silberschatz, Galvin and Gagne ©2011
Layanan Sistem Operasi
● Communications – setiap proses dapat saling bertukar informasi,
baik itu dalam satu komputer maupun antar komputer yang
terhubung dalam jaringan
4 Komunikasi dapat dilakukan melalui shared memory atau
message passing (paket yang dipindahkan oleh OS)
● Error detection – sistem operasi harus selalu aware terhadap
kemungkinan error
4 Error dapat terjadi dalam CPU, memory hardware, I/O devices,
dan user program
4 Untuk setiap error, sistem operasi harus dapat mengambil
tindakan yang tepat untuk memastikan correctness dan
konsistensi dalam komputasi
4 Fasilitas
debugging dapat meningkatkan kemampuan users dan
programmers untuk melakukan efisiensi pada sistem

Operating System Concepts Essentials – 8th Edition 2.6 Silberschatz, Galvin and Gagne ©2011
Layanan Sistem Operasi

Operating System Concepts Essentials – 8th Edition 2.7 Silberschatz, Galvin and Gagne ©2011
Layanan Sistem Operasi

■ Fungsi lain dari sistem operasi adalah untuk memastikan efisiensi dari setiap
operasi pada sistem melalui resource sharing
● Resource allocation – ketika multiple users atau multiple jobs berjalan
secara konkuren, resources harus dapat dialokasikan dengan proporsional
4 Tipe resources – beberapa (seperti CPU cycles, main memory, dan file
storage) memiliki special allocation code, lainnya (seperti I/O devices)
memiliki mekanisme general request dan release code
● Accounting – untuk melacak penggunaan resources dari users
● Protection and security – pemilik dari informasi yang disimpan dalam
sistem multiusers atau networked computer system dapat mengontrol
penggunaan informasi tersebut, sehingga proses yang berjalan secara
konkuren tidak akan saling mengganggu satu sama lain
4 Protection memastikan seluruh akses terhadap resources berada
dalam kontrol
4 Security melindungi sistem dari pihak asing dengan mekanisme user
authentication, yang dapat di-extend untuk menjaga I/O devices dari
invalid access attempts
4 Mekanisme pencegahan harus dibangun dalam sistem.
4 “A chain is only as strong as its weakest link”

Operating System Concepts Essentials – 8th Edition 2.8 Silberschatz, Galvin and Gagne ©2011
User Interface

Operating System Concepts Essentials– 8th Edition Silberschatz, Galvin and Gagne ©2011
User Interface - CLI

■ Command Line Interface (CLI) atau command interpreter


memungkinkan entri perintah melalui text-terminal
4 Beberapa sudah terimplementasi dalam kernel, beberapa
dalam systems program
4 Beberapa diimplementasikan dalam multiple varian – shells
4 Prinsip utamanya adalah melakukan fetch terhadap perintah
dari users dan melakukan eksekusi

Operating System Concepts Essentials – 8th Edition 2.10 Silberschatz, Galvin and Gagne ©2011
Bourne Shell Command Interpreter

Operating System Concepts Essentials – 8th Edition 2.11 Silberschatz, Galvin and Gagne ©2011
User Interface - GUI

■ User-friendly desktop interface


● mouse, keyboard, dan monitor
● Icons merepresentasikan file, program, dsb
● mouse buttons pada objek dalam interface digunakan untuk beberapa
aksi (akses informasi, option, eksekusi fungsi, membuka direktori
(folder)
● Pertama kali diciptakan pada proyek Xerox PARC

■ Sistem saat ini mengadopsi CLI dan GUI interface


● Microsoft Windows menggunakan GUI dengan CLI “command” shell
● Apple Mac OS X menggunakan “Aqua” GUI interface dengan UNIX
kernel dan shell
● Solaris menggunakan CLI dengan opsi GUI (Java Desktop, KDE)

Operating System Concepts Essentials – 8th Edition 2.12 Silberschatz, Galvin and Gagne ©2011
The Mac OS X GUI

Operating System Concepts Essentials – 8th Edition 2.13 Silberschatz, Galvin and Gagne ©2011
System Calls

Operating System Concepts Essentials– 8th Edition Silberschatz, Galvin and Gagne ©2011
System Calls
■ Programming interface untuk services yang disediakan oleh sistem
operasi

■ Ditulis dalam high-level language (C or C++)

■ Diakses oleh program melalui high-level Application Program


Interface (API)

■ Beberapa API diantaranya Win32 API untuk Windows, POSIX API


untuk sistem berbasis POSIX (UNIX, Linux, dan Mac OS X), dan
Java API untuk Java virtual machine (JVM)

■ Mengapa menggunakan API ketimbang direct system calls?

Operating System Concepts Essentials – 8th Edition 2.15 Silberschatz, Galvin and Gagne ©2011
Contoh System Calls
■ Urutan system call untuk mengkopi isi dari satu file ke file yang lain

Operating System Concepts Essentials – 8th Edition 2.16 Silberschatz, Galvin and Gagne ©2011
Contoh API Standar
■ Fungsi ReadFile() dalam Win32 API — fungsi untuk membaca file

■ Deskripsi parameter pada ReadFile()


● HANDLE file — file yang akan dibaca
● LPVOID buffer — buffer dimana data disimpan sebelum diakses
● DWORD bytesToRead — jumlah byte yang akan dibaca
● LPDWORD bytesRead — jumlah byte yang dibaca pada proses terakhir
● LPOVERLAPPED ovl — indikasi jika menggunakan I/O yang overlap

Operating System Concepts Essentials – 8th Edition 2.17 Silberschatz, Galvin and Gagne ©2011
Implementasi System Calls
■ Setiap system call terasosiasi dengan nomor tertentu
● System-call interface membuat sebuah tabel berisi indeks dari
nomor – nomor tersebut

■ System call interface meminta system call yang dimaksud dalam


kernel sistem operasi dan mengembalikan status system call dan
return value

■ Users tidak perlu mengetahui bagaimana system call


diimplementasikan
● Cukup mengikuti API dan memahami apa yang sistem operasi
lakukan sebagai hasil dari system call yang dipanggil
● API menyembunyikan detail dari sistem operasi dari programmer
4 Dijalankan dengan run-time support library (sekumpulan fungsi
yang dibangun ke dalam library termasuk kompilator)

Operating System Concepts Essentials – 8th Edition 2.18 Silberschatz, Galvin and Gagne ©2011
Hubungan API – System Calls – OS

Operating System Concepts Essentials – 8th Edition 2.19 Silberschatz, Galvin and Gagne ©2011
Contoh C Library Standar
■ Program C memanggil printf() library call, yang kemudian memanggil
write() system call

Operating System Concepts Essentials – 8th Edition 2.20 Silberschatz, Galvin and Gagne ©2011
System Calls Parameter Passing
■ Seringkali lebih banyak informasi yang di-pass lebih dibutuhkan
dibanding identitas sederhana dari system call
● Tipe dan jumlah informasi berbeda tergantung sistem operasi

■ Tiga metode umum untuk parameter passing


● Metode paling sederhana: pass parameter dalam registers
4 dalam beberapa kasus, bisa jadi parameter lebih banyak
dibanding register yang tersedia
● Parameter disimpan dalam block, atau tabel, dalam memori, dan
alamat dari blok yang di-pass digunakan sebagai parameter
dalam register
4 Digunakan dalam Linux dan Solaris
● Parameters ditempatkan, atau di-push, ke dalam stack oleh
program dan di-pop keluar dari stack oleh sistem operasi
4 Metode block dan stack tidak membatasi jumlah dan panjang
parameter yang di-pass

Operating System Concepts Essentials – 8th Edition 2.21 Silberschatz, Galvin and Gagne ©2011
Parameter Passing dengan Tabel

Operating System Concepts Essentials – 8th Edition 2.22 Silberschatz, Galvin and Gagne ©2011
Tipe System Calls
■ Process control
● end, abort
● load, execute
● create process, terminate process
● get process attributes, set process attributes
● wait for time
● wait event, signal event
● allocate dan free memory
■ Manajemen File
● create, delete file
● open, close file
● read, write, reposition
● get dan set atribut file

Operating System Concepts Essentials – 8th Edition 2.23 Silberschatz, Galvin and Gagne ©2011
Tipe System Calls
■ Manajemen device
● request device, release device
● read, write, reposition
● get device attributes, set device attributes
● logically attach atau detach devices
■ Information maintenance
● get time atau date, set time atau date
● get system data, set system data
● get dan set process, file, atau device attributes
■ Communications
● create, delete communication connection
● send, receive messages
● transfer status information
● attach dan detach remote devices

Operating System Concepts Essentials – 8th Edition 2.24 Silberschatz, Galvin and Gagne ©2011
Perbandingan System Calls

Operating System Concepts Essentials – 8th Edition 2.25 Silberschatz, Galvin and Gagne ©2011
Contoh: MS-DOS
■ Single-tasking
■ Shell dipanggil ketika sistem di-boot
■ Metode sederhana untuk menjalankan program
● Tidak ada proses yang di-create
■ Single memory space
■ Load program ke dalam memori, meng-overwrite seluruh data kecuali
kernel
■ Program exit -> shell reloaded

Operating System Concepts Essentials – 8th Edition 2.26 Silberschatz, Galvin and Gagne ©2011
Eksekusi MS-DOS

(a) startup sistem (b) running program

Operating System Concepts Essentials – 8th Edition 2.27 Silberschatz, Galvin and Gagne ©2011
System Programs

Operating System Concepts Essentials– 8th Edition Silberschatz, Galvin and Gagne ©2011
System Programs

■ System programs menyediakan lingkungan yang nyaman untuk


men-develop dan eksekusi program. Terbagi menjadi:
● File manipulation
● Status information
● File modification
● Programming language support
● Program loading and execution
● Communications
● Application programs

■ Users’ view terhadap sistem operasi didefinisikan oleh system


programs, bukan system calls

Operating System Concepts Essentials – 8th Edition 2.29 Silberschatz, Galvin and Gagne ©2011
System Programs
■ Beberapa diantara system programs merupakan user interfaces untuk
system calls; beberapa diantaranya lebih kompleks dari itu

■ File management - create, delete, copy, rename, print, dump, list, dan
operasi dalam manipulasi file dan direktori

■ Status information
● Informasi mengenai - date, time, jumlah memori available, disk
space, jumlah users
● Informasi detail terkait performance, logging, dan debugging
● Program mem-print output ke terminal atau output devices yang
lain
● Implementasi registry – digunakan untuk menyimpan dan
mengambil informasi konfigurasi

Operating System Concepts Essentials – 8th Edition 2.30 Silberschatz, Galvin and Gagne ©2011
System Programs
■ File modification
● Text editors untuk create dan modifkasi file
● Perintah khusus untuk melakukan search konten dari file atau
melakukan manipulasi teks

■ Programming-language support - compilers, assemblers,


debuggers dan interpreters

■ Program loading and execution- absolute loaders, relocatable


loaders, linkage editors, dan overlay-loaders, debugging systems
untuk higher-level dan machine language

■ Communications – menyediakan mekanisme untuk create koneksi


virtual diantara proses, users, dan sistem komputer
● Memungkinkan users untuk mengirim pesan antar screen,
browsing web, email, remote login, transfer file antarmesin

Operating System Concepts Essentials – 8th Edition 2.31 Silberschatz, Galvin and Gagne ©2011
Desain dan Implementasi

Operating System Concepts Essentials– 8th Edition Silberschatz, Galvin and Gagne ©2011
Desain dan Implementasi
■ Struktur internal sistem operasi memiliki varian yang cukup luas
■ Berawal dari pendefinisian tujuan dan spesifikasi sistem operasi
■ Dipengaruhi oleh pemilihan hardware dan tipe sistem
■ User goals dan system goals
● User goals – sistem operasi harus memberikan kenyamanan
dalam penggunaan, mudah dipelajari, reliable, aman, dan cepat
● System goals – sistem operasi harus dapat memudahkan proses
desain, implementasi, dan maintainance; flexible, reliable, error-
free, dan efisien
■ Mekanisme menentukan bagaimana cara untuk melakukan sesuatu
sementara policy menentukan apa yang akan diselesakan
● Pemisahan memaksimalkan fleksibilitas sistem jika terjadi
perubahan policy di kemudian hari

Operating System Concepts Essentials – 8th Edition 2.33 Silberschatz, Galvin and Gagne ©2011
Struktur Sederhana (MS-DOS)

Operating System Concepts Essentials – 8th Edition 2.34 Silberschatz, Galvin and Gagne ©2011
Struktur Sederhana (MS-DOS)
■ MS-DOS – ditulis untuk menyediakan mayoritas fungsi dalam space
minimum
● Tidak dibagi – bagi ke dalam modul kecil
● Interface dan level of functionality tidak dipisahkan dengan baik

Operating System Concepts Essentials – 8th Edition 2.35 Silberschatz, Galvin and Gagne ©2011
Layered Approach

Operating System Concepts Essentials – 8th Edition 2.36 Silberschatz, Galvin and Gagne ©2011
Layered Approach
■ OS terbagi menjadi beberapa layer (level), dimana OS sendiri
dibangun pada bagian layer atas bagian bawah. Layer paling bawah
(layer 0) merupakan hardware; layer paling atas (layer N) merupakan
user interface.

■ Prinsip modularitas yang diterapkan memungkinkan layer dipilih


sehingga setiap fungsi (operasi) dan services dilakukan pada layer
yang lebih rendah

Operating System Concepts Essentials – 8th Edition 2.37 Silberschatz, Galvin and Gagne ©2011
Struktur Sistem UNIX

Operating System Concepts Essentials – 8th Edition 2.38 Silberschatz, Galvin and Gagne ©2011
Struktur Sistem UNIX

■ UNIX – dibatasi oleh fungsionalitas hardware, OS berbasis UNIX yang


original memiliki keterbatasn struktur. OS berbasis UNIX terdiri dari
dua bagian yang terpisah
● Systems programs
● Kernel
4 Terdiri dari segala sesuatu yang berada di bawah system-call
interface dan diatas physical hardware
4 Menyediakan file system, CPU scheduling, manajemen
memori, dst; terdiri dari banyak fungsi pada satu level

Operating System Concepts Essentials – 8th Edition 2.39 Silberschatz, Galvin and Gagne ©2011
Struktur Mikrokernel

Operating System Concepts Essentials – 8th Edition 2.40 Silberschatz, Galvin and Gagne ©2011
Struktur Mikrokernel
■ Mengimplementasikan fitur – fitur penting saja pada kernel dan
beberapa bagian dari kernel dipindahkan ke users space

■ Komunikasi terjadi antara modul – modul users menggunakan


message passing

■ Keuntungan:
● Mudah untuk meng-extend mikrokernel
● Mudah untuk porting OS ke dalam arsitektur baru
● Reliable (mengurangi program yang berjalan pada kernel mode)
● Lebih aman

■ Kerugian:
● Overhead communications antara user space dan kernel space

Operating System Concepts Essentials – 8th Edition 2.41 Silberschatz, Galvin and Gagne ©2011
Pendekatan Modular

Operating System Concepts Essentials – 8th Edition 2.42 Silberschatz, Galvin and Gagne ©2011
Pendekatan Modular
■ Mayoritas OS moderen menimplementasi kernel modules
● Menggunakan pendekatan object-oriented
● Setiap core component terpisah
● Setiap modul berkomunikasi melalui suatu interfaces
● Setiap modul dapat di-load di dalam kernel

■ Modul mirip dengan layer (level) dengan beberapa perbedaan

Operating System Concepts Essentials – 8th Edition 2.43 Silberschatz, Galvin and Gagne ©2011
Virtual Machines

Operating System Concepts Essentials– 8th Edition Silberschatz, Galvin and Gagne ©2011
Virtual Machines

■ virtual machine merupakan abstraksi dari hardware pada single


computer ke dalam beberapa lingkungan eksekusi.

■ virtual machine menyediakan interface yang identik dengan hardware


pada sistem komputer induk.

■ Sistem operasi dari host menciptakan ilusi seolah – olah proses yang
berjalan memiliki prosesor dan memori (virtual) sendiri.

■ Setiap guest disediakan salinan (virtual) dari sistem komputer induk.

Operating System Concepts Essentials – 8th Edition 2.45 Silberschatz, Galvin and Gagne ©2011
Virtual Machines
■ Muncul secara komersial dalam IBM mainframes pada 1972
■ Secara prinsip, multiple execution environments (dengan sistem
operasi yang berbeda) dapat men-share hardware yang sama
■ Host diproteksi dari aktivitas virtual machine
■ Sharing file dapat dilakukan dengan kontrol tertentu
■ Berguna untuk proses development dan testing
■ Consolidation beberapa low-resource use systems ke dalam sistem
yang lebih sibuk
■ “Open Virtual Machine Format”, format standar virtual machines,
memungkinkan VM berjalan pada beberapa platform yang berbeda

Operating System Concepts Essentials – 8th Edition 2.46 Silberschatz, Galvin and Gagne ©2011
Virtual Machines

(a) Nonvirtual machine (b) virtual machine

Operating System Concepts Essentials – 8th Edition 2.47 Silberschatz, Galvin and Gagne ©2011
Arsitektur VMware

Operating System Concepts Essentials – 8th Edition 2.48 Silberschatz, Galvin and Gagne ©2011
Java Virtual Machine

Operating System Concepts Essentials – 8th Edition 2.49 Silberschatz, Galvin and Gagne ©2011
Operating System Debugging
■ Debugging adalah proses mencari dan memperbaiki error yang sering
dinamakan bugs
■ Sistem operasi meng-generate log files berisi informasi error
■ Kegagalan running aplikasi program secara otomatis meng-generate
core dump file yang memuat informasi memori dari proses
■ Kegagalan running sistem operasi secara otomatis meng-generate
crash dump file yang memuat kernel memory
■ Performance tuning dapat mengoptimisasi system performance
■ Kernighan’s Law: “Debugging is twice as hard as writing the code in the
first place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.”
■ DTrace tool dalam Solaris, FreeBSD, Mac OS X memungkinkan live
instrumentation pada sistem produksi
● Probes di-launch ketika kode program dieksekusi, meng-capture
status data dan mengirimnya kepada konsumen

Operating System Concepts Essentials – 8th Edition 2.50 Silberschatz, Galvin and Gagne ©2011
Operating System Generation
■ Sistem operasi didesain untuk dapat berjalan pada setiap jenis mesin;
sistem harus dikonfigurasi untuk setiap sistem komputer yang spesifik

■ SYSGEN program memperoleh informasi yang terkait dengan


konfigurasi spesifik dari hardware

■ Booting – memulai aktivitas komputer dengan me-load kernel

■ Bootstrap program – kode yang disimpan dalam ROM dan dapat


menentukan lokasi kernel, me-load ke dalam memori dan memulai
proses eksekusi

Operating System Concepts Essentials – 8th Edition 2.51 Silberschatz, Galvin and Gagne ©2011
System Boot
■ Sistem operasi harus dibuat selalu available untuk hardware,
sehingga hardware dapat memulai aktiviats
● Potongan kecil dari kode – bootstrap loader, menentukan lokasi
kernel, me-load ke dalam memori, dan memulai aktivitas
● dua tahap dari proses dimana boot block berada pada lokasi fix
yang me-load bootstrap loader
● Ketika power menginisialisasi sistem, proses eksekusi pada
lokasi memori yang fix
4 Firmware digunakan untuk menahan initial boot code

Operating System Concepts Essentials – 8th Edition 2.52 Silberschatz, Galvin and Gagne ©2011

Anda mungkin juga menyukai