Anda di halaman 1dari 37

Chapter 2: Struktur Sistem

Operasi

Operating System Concepts Essentials– 8th Edition 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.2 Silberschatz, Galvin and Gagne ©2011
Layanan Sistem Operasi

Operating System Concepts Essentials – 8th Edition 2.3 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)
 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.4 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
 Komunikasi dapat dilakukan melalui shared memory atau
message passing (paket yang dipindahkan oleh OS)
 Error detection – sistem operasi harus selalu aware terhadap
kemungkinan error
 Error dapat terjadi dalam CPU, memory hardware, I/O devices,
dan user program
 Untuk setiap error, sistem operasi harus dapat mengambil
tindakan yang tepat untuk memastikan correctness dan
konsistensi dalam komputasi
 Fasilitas debugging dapat meningkatkan kemampuan users dan
programmers untuk melakukan efisiensi pada sistem

Operating System Concepts Essentials – 8th Edition 2.5 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
 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
 Protection memastikan seluruh akses terhadap resources berada
dalam kontrol
 Security melindungi sistem dari pihak asing dengan mekanisme user
authentication, yang dapat di-extend untuk menjaga I/O devices dari
invalid access attempts
 Mekanisme pencegahan harus dibangun dalam sistem.

Operating System Concepts Essentials – 8th Edition 2.6 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
 Beberapa sudah terimplementasi dalam kernel, beberapa
dalam systems program
 Beberapa diimplementasikan dalam multiple varian – shells
 Prinsip utamanya adalah melakukan fetch terhadap perintah
dari users dan melakukan eksekusi

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

Operating System Concepts Essentials – 8th Edition 2.9 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)

 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
 Linux, seperti Ubuntu menggunakan menggunakan GUI dengan CLI
“terminal” shell

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

Operating System Concepts Essentials – 8th Edition 2.11 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 dan POSIX


API untuk sistem berbasis POSIX (UNIX, Linux, dan Mac OS X)

 Mengapa menggunakan API ketimbang direct system calls?

Operating System Concepts Essentials – 8th Edition 2.13 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.14 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.15 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
 Dijalankan dengan run-time support library (sekumpulan fungsi
yang dibangun ke dalam library termasuk kompilator)

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

Operating System Concepts Essentials – 8th Edition 2.17 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.18 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.19 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.20 Silberschatz, Galvin and Gagne ©2011
Perbandingan System Calls

Operating System Concepts Essentials – 8th Edition 2.21 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.23 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.24 Silberschatz, Galvin and Gagne ©2011
System Programs
 File modification
 Text editors untuk 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


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.25 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 mudah diterapkan dan
maintainance; flexible, reliable, error-free, dan efisien
 Mekanisme menentukan bagaimana cara untuk melakukan sesuatu,
sedangkan policy menentukan apa yang akan dilakukan
 Pemisahan policy dari mekasnisme memaksimalkan fleksibilitas
sistem jika terjadi perubahan policy di kemudian hari

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

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

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


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

Operating System Concepts Essentials – 8th Edition 2.29 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.31 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
 “Open Virtual Machine Format”, format standar virtual machines,
memungkinkan VM berjalan pada beberapa platform yang berbeda

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

(a) Nonvirtual machine (b) virtual machine

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

Operating System Concepts Essentials – 8th Edition 2.34 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
 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.”

Operating System Concepts Essentials – 8th Edition 2.35 Silberschatz, Galvin and Gagne ©2011
Operating System Generation
 Sistem operasi didesain untuk dapat berjalan pada setiap jenis mesin;
sistem harus dikonfigurasi untuk setiap lokasi sistem komputer secara
spesifik, sehingga dapat memulai aktivitas

Operating System Concepts Essentials – 8th Edition 2.36 Silberschatz, Galvin and Gagne ©2011
System Boot
 Bootstrap program – kode yang disimpan dalam ROM dan dapat
menentukan lokasi kernel, me-load ke dalam memori dan memulai
proses eksekusi
 Booting – proses memulai aktivitas komputer dengan me-load kernel
 Pada kebanyakan sistem, proses boot berlangsung sebagai berikut:
 Bootstrap program menentukan lokasi kernel, me-load ke dalam
memori, dan memulai aktivitas
 Kernel menginisialisasi hardware dan sistem file root sudah
terpasang
 Saat komputer pertama kali dihidupkan, boot loader yang terletak di
firmware nonvolatile yang dikenal sebagai BIOS dijalankan. Boot
loader awal ini biasanya tidak lebih dari memuat boot loader kedua,
yang terletak di lokasi disk tetap yang disebut blok boot. Program
yang disimpan di blok boot memuat seluruh sistem operasi ke dalam
memori dan memulai eksekusinya

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

Anda mungkin juga menyukai