Anda di halaman 1dari 34

Operating System Structures

Sistem Operasi (ABKC6402)


Objectives

 Untuk menjelaskan layanan yang disediakan oleh


sebuah sistem operasi untuk pengguna, proses, dan
sistem-sitem lainnya.

 Untuk mendiskusikan berbagai struktur sistem operasi.


OS Services

 Sebuah sistem operasi menyediakan layanan berupa


sebuah lingkungan untuk menjalankan program.

 Sekumpulan layanan yang disediakan oleh OS antara lain:


 User Interface (UI) – Jenis UI yang disediakan oleh OS antara
lain: Command-Line (CLI), Graphics User Interface (GUI), Batch.
 Program Execution – Sebuah sistem harus dapat memuat
sebuah program ke dalam memori dan kemudian menjalankan
program tersebut, mengakhiri eksekusi baik secara normal
ataupun tidak (indicating error).
 I/O Operations – Sebuah program yang berjalan mungkin
memerlukan I/O, baik berupa sebuah file atau sebuah
perangkat I/O.
OS Services (Cont.)

 File-system Manipulation – Sebuah sistem dapat memberikan


layanan terkait kebutuhan program untuk membaca dan
menulis, membuat dan menghapus, pencarian, melihat
informasi, dan mengelola properti otoritas dari sebuah direktori
dan berkas.
 Communications - Kadang kala sebuah proses memerlukan
informasi dari proses yang lain. Komunikasi dapat terjadi antara
proses dalam satu komputer, atau antara proses yang berada
dalam komputer yang berbeda, tetapi dihubungkan oleh
jaringan komputer.
OS Services (Cont.)

 Error-detection - Sistem operasi harus selalu waspada


terhadap kemungkinan error.
 Error dapat terjadi di CPU dan memori perangkat keras, I/O,
dan di dalam program yang dijalankan pengguna.
 Untuk setiap jenis error, sistem operasi harus bisa mengambil
langkah yang tepat untuk mempertahankan jalannya
proses komputasi.
 Misalnya dengan menghentikan jalannya program,
mencoba kembali melakukan operasi yang dijalankan, atau
melaporkan kesalahan yang terjadi agar pengguna dapat
mengambil langkah selanjutnya.
OS Services (Cont.)

 Terdapat sekumpulan layanan lain yang bukan untuk


membantu pengguna tapi lebih pada mempertahankan
efisiensi sistem itu sendiri, yaitu:
 Resource allocation - Digunakan untuk mengalokasi sumber
daya bagi setiap pengguna dan program ketika beberapa
pengguna menggunakan sistem atau beberapa program
dijalankan secara bersamaan,
 Accounting – Digunakan untuk melakukan suatu
perhitungan dan statistik agar jumlah pengguna yang
menggunakan sumber daya dan jenis sumber daya yang
digunakan selalu terjaga,
OS Services (Cont.)

 Terdapat sekumpulan layanan lain yang bukan untuk


membantu pengguna tapi lebih pada mempertahankan
efisiensi sistem itu sendiri, yaitu:
 Protection and security – Keamanan dan proteksi biasanya
sangat diperlukan pada komputer yang terhubung jaringan
atau komputer multiuser.
• Protection : Memastikan bahwa semua akses ke sumber
daya sistem terkontrol.
• Security : Menjaga sistem dari pengguna yang tidak
terdaftar, termasuk menjaga akses perangkat I/O yang
tidak valid.
View of OS Services
User OS Interface - CLI

 CLI atau Command Interpreter mengizinkan pemberian


perintah secara langsung.
 CLI biasanya diimplementasikan di dalam kernel atau di
dalam program khusus (Windows, UNIX).
 Fungsi utama dari Command Interpreter adalah untuk
menerima dan menjalankan perintah spesifik dari
pengguna.
 Command Interpreter sering disebut juga Shell (UNIX. Linux).
System Calls

 System Calls adalah cara programmatic yang


digunakan sebuah program komputer untuk meminta
layanan dari sistem operasi.

 Komputer digunakan untuk melakukan suatu proses yang


dikehendaki user.

 Oleh karena itu harus ada suatu bentuk komunikasi


antara user dan hardware.

 Komunikasi itu terjadi dalam bentuk system calls.


API – System Call – OS Relationship
Jenis System Calls

Kontrol Proses

 System calls yang berhubungan dengan kontrol proses


antara lain ketika penghentian pengeksekusian program.
Baik secara normal (end) maupun tidak normal (abort).

 Selama proses dieksekusi kadang kala diperlukan untuk


meload atau mengeksekusi program lain, disini
diperlukan lagi suatu system calls.
Jenis System Calls

Manajemen Berkas

 System calls yang berhubungan dengan berkas sangat


diperlukan. Seperti membuat atau menghapus suatu
berkas.

 Membuka atau menutup suatu berkas yang telah ada,


membaca berkas tersebut, dan menulis berkas itu.

 System calls juga diperlukan ketika ingin mengetahui


atribut dari suatu berkas atau ketika kita juga ingin
merubah atribut tersebut (nama berkas, jenis berkas, dan
lain-lain).
Jenis System Calls

Manajemen Piranti

 Program yang sedang dijalankan kadang kala


memerlukan tambahan sumber daya.

 Contoh: penggunaan printer.


Jenis System Calls

Pemeliharaan/Informasi

 Beberapa system calls disediakan untuk membantu


pertukaran informasi antara pengguna dan sistem
operasi.

 Contohnya system calls untuk meminta dan mengatur


waktu dan tanggal.

 Cotoh lain: Meminta informasi tentang sistem itu sendiri,


seperti jumlah pengguna, jumlah memori dan disk yang
masih bisa digunakan, dan lain-lain.
Jenis System Calls

Komunikasi

Dua model komunikasi:

 message-passing
pertukaran informasi dilakukan melalui fasilitas komunikasi
antar proses yang disediakan oleh sistem operasi.

 shared-memory
Proses menggunakan memori yang bisa digunakan oleh
berbagai proses untuk pertukaran informasi dengan
membaca dan menulis data pada memori tersebut.
Standard C Library Example

 C program invoking printf()


library call, which calls write()
system call
OS Structure
Pendahuluan

 Sebuah sistem yang besar dan kompleks seperti sistem


operasi modern harus diatur dengan cara membagi task
kedalam komponen-komponen kecil agar dapat berfungsi
dengan baik dan mudah dimodifikasi.

 Bagaimana komponen-komponen tersebut dihubungkan?

 Menurut Silberschatz dan kawan-kawan, ada tiga cara


yaitu:
 Struktur Sederhana.
 Pendekatan Berlapis.
 Kernel Mikro.
Pendahuluan

 Sedangkan menurut Stallings, kita bisa memandang


sistem sebagai seperangkat lapisan.

 Tiap lapisan menampilkan bagian fungsi yang


dibutuhkan oleh sistem operasi.

 Bagian yang terletak pada lapisan yang lebih rendah


akan menmpilkan fungsi yang lebih primitif dan
menyimpan detail fungsi tersebut.
Strukutur Sederhana

 Contoh sistem seperti ini adalah MS-DOS, yang disusun


untuk mendukung fungsi yang banyak pada ruang yang
sedikit karena keterbatasan perangkat keras untuk
menjalankannya.

 MS-DOS dibuat untuk menyediakan fungsi-fungsi penting


pada tempat yang terbatas.
Struktur Sederhana

 Contoh sistem lainnya adalah UNIX, yang terdiri dari dua


bagian yang terpisah, yaitu kernel dan program sistem.

 Kernel selanjutnya dibagi dua bagian, yaitu antarmuka


dan device drivers.

 Kernel mendukung sistem berkas, penjadwalan CPU,


manajemen memori, dan fungsi sistem operasi lainnya
melalui system calls.
Pendekatan Berlapis

 Sistem operasi dibagi menjadi sejumlah lapisan yang


masing-masing dibangun di atas lapisan yang lebih
rendah.

 Lapisan yang lebih rendah menyediakan layanan untuk


lapisan yang lebih tinggi.

 Lapisan yang paling bawah adalah perangkat keras,


dan yang paling tinggi adalah user-interface.
Pendekatan Berlapis

 Sebuah lapisan adalah implementasi dari obyek abstrak


yang merupakan enkapsulasi dari data dan operasi
yang bisa memanipulasi data tersebut.

 Keuntungan utama dengan sistem ini adalah


modularitas.

 Pendekatan ini mempermudah debug dan verifikasi


sistem.
Pendekatan Berlapis

 Menurut Tanenbaum dan Woodhull, sistem terlapis terdiri


dari enam lapisan, yaitu:

 Lapisan 0. Mengatur alokasi prosesor, pertukaran antar


proses ketika interupsi terjadi atau waktu habis.
 Lapisan 1. Mengalokasikan ruang untuk proses di memori
utama.
 Lapisan 2. Menangani komunikasi antara masing-masing
proses dan operator console
Pendekatan Berlapis

 Lapisan 3. Mengatur peranti M/K dan menampung


informasi yang mengalir dari dan ke proses tersebut.

 Lapisan 4. Tempat program pengguna. Pengguna tidak


perlu memikirkan tentang proses, memori, console, atau
manajemen M/K.

 Lapisan 5. Merupakan operator sistem.


Pendekatan Berlapis
Pendekatan Berlapis

 Dapat disimpulkan bahwa lapisan sistem operasi secara


umum terdiri atas empat bagian, yaitu:

1. Perangkat keras. Lebih berhubungan kepada perancang


sistem. Lapisan ini mencakup lapisan 0 dan 1 menurut
Tanenbaum, dan level 1 sampai dengan level 4 menurut
Stallings.

2. Sistem operasi. Lebih berhubungan kepada programer.


Lapisan ini mencakup lapisan 2 menurut Tanenbaum, dan
level 5 sampai dengan level 7 menurut Stallings.
Pendekatan Berlapis

3. Kelengkapan. Lebih berhubungan kepada programer.


Lapisan ini mencakup lapisan 3 menurut Tanenbaum, dan
level 8 sampai dengan level 11 menurut Stallings.

4. Program aplikasi. Lebih berhubungan kepada pengguna


aplikasi komputer. Lapisan ini mencakup lapisan 4 dan
lapisan 5 menurut Tanebaum, dan level 12 dan level 13
menurut Stallings.
Kernel Mikro

 Metode ini menyusun sistem operasi dengan


mengeluarkan semua komponen yang tidak esensial dari
kernel, dan mengimplementasikannya sebagai program
sistem dan level pengguna.

 Hasilnya kernel yang lebih kecil.

 Fungsi utama mikrokernel adalah mendukung fasilitas


komunikasi antara program klien dan bermacam-
macam layanan yang juga berjalan di user space.
Kernel Mikro

Beberapa sistem operasi yang menggunakan microkernel:

 IBM AIX, sebuah versi UNIX dari IBM

 Amoeba, sebuah kernel yang dikembangkan untuk tujuan edukasi

 Kernel Mach, yang digunakan di dalam sistem operasi GNU/Hurd,


NexTSTEP, OPENSTEP, dan Mac OS/X

 Minix, kernel yang dikembangkan oleh Andrew Tanenbaum untuk


tujuan edukasi

 Symbian OS, sebuah sistem operasi yang populer digunakan pada


hand phone, handheld device, embedded device, dan PDA
Phone.
Boot

 Saat awal komputer dihidupkan, disebut dengan booting.

 Komputer akan menjalankan bootstrap program yaitu


sebuah program sederhana yang disimpan dalam ROM
yang berbentuk chip CMOS (Complementary Metal Oxide
Semiconductor).

 Chip CMOS modern biasanya bertipe Electrically Erasable


Programmable Read Only Memory (EEPROM), yaitu memori
non-volatile (tak terhapus jika power dimatikan).

 Lalu bootsrap program ini lebih dikenal sebagai BIOS (Basic


Input Output System).
Boot

 Bootstrap program utama, yang biasanya


terletak pada motherboard akan memeriksa
perangkat keras utama dan melakukan
inisialisasi terhadap program dalam hardware
yang dikenal dengan nama firmware.

 Bootstrap program utama kemudian akan


mencari dan meload kernel sistem operasi ke
memori lalu dilanjutkan dengan inisialisasi sistem
operasi.

Anda mungkin juga menyukai