Anda di halaman 1dari 29

02.

Struktur Sistem Operasi


Hari Wibawanto
Pendidikan Teknik Informatika dan Komputer
Universitas Negeri Semarang
Sistem operasi dapat ditinjau dari:
Capaian Pembelajaran: • layanan yang diberikan
• antarmuka yang tersedia bagi pengguna
• Mampu menjelaskan layanan yang • komponen sistem operasi dan
diberikan oleh sistem operasi kepada hubungannya satu sama lain
pemakai, proses dan sistem lainnya; Tiga aspek sistem operasi di atas akan dijelaskan
• Mampu membedakan beragam cara dengan menunjukkan sudut pandang pangguna,
untuk mestrukturkan sistem operasi; pemrogram, dan perancang sistem operasi.
• Mampu menjelaskan cara sistem Akan ditinjau layanan apa yang diberikan,
operasi dipasang dan dikustomisasi bagaimana cara memberiikan, bagaimana cara
(disesuaikan menurut kebutuhan dipastikan bekerjanya, dan metodologi apa saja
penggunanya); yang digunakan unuk merancangnya. Terakhir,
akan dijelaskan bagaimana sistem opeasi dibuat
• Mampu menjelaskan proses booting dan bagaimana komputer memulai menjalankan
sistem operasi sistem operasinya
Layanan sistem operasi
User Interface
Layanan sistem operasi memberikan fungsi berikut
kepada pengguna:
 User interface (antarmuka pengguna): batch interface, command-line
interface, graphical user interface
 Eksekusi program
 Operasi Input/Output
 Manipulasi sistem fille
 Komunikasi
 Deteksi Error/Kesalahan

Layanan sistem operasi untuk menjamin


efisiensi operasi:

 Alokasi sumber daya untuk mengelola seluruh sumber daya


agar dapat digunakan oleh banyak pemakai secara efisien
 Fungsi akuntansi, merekam pengguna dan sumber daya yang
digunakan
 Proteksi dan keamanan
Batch OS:
Pada masa komputer
mainframe dan komputer
mini popular, sumber daya
komputer sangat berhaga,
sehingga satu komputer
digunakan banyak oran.
Maka sistem operasi
mengatur giliran eksekusi
pogram untuk masing-
masing pengguna
Commmand-line interface pada Linux Raspberrypi
GUI interface pada Raspberry Pi
Pemanggilan Sistem (System Calls)
Pemanggilan Sistem (System Call)
• Pemanggilan sistem adalah cara di mana program komputer meminta
layanan dari kernel sistem operasi. Pemanggilan kepada sistem merupakan
cara program untuk berinteraksi dengan sistem operasi;
• Pemanggilan sistem memberikan layanan sistem operasi kepada program
yang dibuat pengguna melalui API (Application Programming Interface).
API menyediakan antarmukka antarra proses dan sistem operasi untuk
mengijinkan proses pada level pengguna meminta layanan sistem operasi;
• Pemanggilan sistem merupakan satu-satunya titik masuk ke kernel sistem
operasi. Program yang memerlukan akses ke sumber daya komputer harus
menggunakan pemanggilan sistem ini;
• Pemanggilan sistem umumnya tersedia sebagai rutin/subrutin yang ditulis
dengan Bahasa C atau C++. Khusus untuk akses ke perangkat keras,
mungkin harus diulis dalam bahasa assembly.
Layanan oleh Pemanggilan Sistem

• Penciptaan dan manajemen proses


• Manajemen memori utama
• Manajemen akses file, direktori, dan
sistem file Tipe Pemanggilan Sistem
• Penanganan perangkat masukan/keluaran
• Proteksi
• Jaringan • Kendali proses: end,abort, create,
terminate, allocate dan free memory
• Manipulasi file: create, open, close, felete,
read file, dll
• Manipulasi perangkat
• Pemeliharaan informasi
• Komunikasi
• Proteksi
Contoh pemanggilan sistem pada Windows dan Unix
Tipe Pemanggilan Sistem
Kendali Proses

Program yang sedang berjalan harus dapat


Tipe Pemanggilan Sistem: dihentikan baik secara normal, end(),
maupun abnormal, abort(). Jika pemanggilan
sistem digunakan untuk menghentikan
• Kendali Proses
program secara abnormal, atau berhenti
• Manipulasi File
karena error trap, maka isi memori akan
• Manipulasi Perangkat
dituliskan ke disk dan dianalisis oleh
• Pemeliharaan Informasi
debugger untuk ditemukan penyebab
• Komunikasi
terjadinya kesalahan.
• Proteksi
Proses dalam program mungkin akan
melakukan load() dan execute() program
lainnya. Proses-proses ini dikendalikan oleh
System Call (Pemanggilan Sistem)
Manipulasi Perangkat
Manipulasi File
Proses dalam komputer mungkin
Terhadap file, pengguna dapat
memerlukan beberapa sumber daya untuk
melakukan operasi create() dan delete().
dieksekusi – memori utama, disk drive, akses
Sistem pemanggilan memerlukan
ke file, dsb. Jika sumber daya tersebut
nama file dan mungkin juga atribut file.
tersedia, segera dapat diberikan dan kendali
Setelah file dibuat, pengguna mungkin
dapat diberikan ke proses. Bila tidak, proses
perlu membuka, open(), read(), write(),
harus menungu sampai tersedia sumber daya
dan tentu saja close().
yang diperlukan.
Boleh jadi operasi-operasi di atas
Sistem dengan banyak pengguna perlu
diperlukan untuk direktori bila terdapat
melayani request() terhadap perangkat untuk
struktur direktori. Baik unttuk file
menjamin penggunaannya secara ekslusif.
maupun direkttori mungkin diperlukan
Setelah selesai menggunakan perangkat
untuk mengidenttifikasi nilai beragam
tersebut perlu dilakukan pelepasan, release(),
atibut dan meresetnya.
sebagaimana open() dan close() terhadap file.
Pemeliharaan Informasi Komunikasi
Banyak pemanggilan sistem merupakan Ada dua model umum komunikasi interproses:
transfer informasi antara pengguna model penerusan-pesan (message-passing model)
dan model berbagi memori (shared-memory
program dengan sistem operasi.
model).
Kebanyakan sistem, misalnya, memiliki Pada model penerusan-pesan, proses komunikasi
cara untuk memanggil waktu dan tanggal dilakukan dengan mempertukarkan pesan satu
saat ini: time() dan date(). Pemanggilan sama lain.
sistem lainnya mungkin menampilkan
Pada model berbagi memori, proses
jumlah pengguna saat ini, versi sistem
menggunakan pemanggilan sistem
operasi yang digunakan, banyaknya ruang shared_memory_create() dan
memori yang tersedia, dan sebagainya. shared_memory_attach(). Harap diingat bahwa
secara normal sistem operasi akan mencoba
Sistem operasi juga menyimpan informasi mencegah satu proses mengakses memori proses
lainnya. Pada model berbagi memori dua atau
tentang proses yang dilakukan dan
lebih proses harus setuju untuk menghilangkan
pemanggilan sistem dapat digunakan batasan tersebut. Setelah itu, mereka dapat
untuk mengakses maupun mereset mempertukarkan infomasi dengan membaca dan
proses tersebut menuliskan data di area bersama.
Proteksi
Proteksi memberikan mekanisme uunuk mengendalikan akses ke sumber daya yang disediakan oleh sistem
komputer. Pada awalnya, proteksi hanya diperhatikan untuk sistem multiprogram dengan banyak pemakai. Saat
ini karena kemajuan teknologi jarringan dan Internet, semua sistem komputer, dari server sampai perangkat
komputasi bergerak, memerlukan proteksi.

Pada umumnya, pemanggilan sisem menyediakan proteksi mencakup set_permission() dan get_permission(),
yang mengubah pengaturan izin sumber daya misalnya file dan disk
Program Sistem

Program sistem mencakup kategori berikut ini:

• Manajemen file, melakukan create, delete, copy, rename, print, dump, list, dan secara
umum memanipulasi file dan direktori;
• Informasi status, mencakup tanggal, waktu, jumlah pengguna, sisa memori, dsb
• Modifikasi file, dapat berupa editor teks, pencarian isi file atau transformasi teks
• Dukungan bahasa pemrograman, berupa kompilator, interpreter, debugger, dan sejenisnya
• Pemuatan dan eksekusi program, pemuatan program yang dikompilasi, loader, linked
editor, overlay loaders, dsb
• Komunikasi, menyediakan mekanisme untuk membuat koneksi vvirtual antara proses,
pengguna, dan sistem komputerr
• Layanan latar belakang, merupakan metode untuk meluncurkan program tertentu saat
proses boot, dan mungkin menghentikan proses setelah selesai
Desain dan Implementasi Sistem Operasi
Tujuan Perancangan
Mekanisme dan Policy
Masalah pertama dalam perancangan
adalah menentukan tujuan dan
Perlu dipisahkan antara policy dan mekanisme.
spesifikasi. Pada leel tertinggi,
Mekanisme menentukan bagaimana cara
perancangan sistem akan
melakukan sesuatu, sedangkan policy
mempengaruhi pemilihan perangkat
menentukan apa yang akan dilakukan.
keras dan jenis sistem: batch, time-
Policy biasanya berubah sesuai tempat atau
sharing, single user, multi user,
waktu. Pada kasus terburuk setiap perubahan
distributed, real time, atau general
policy akan diikuti dengan keharusan
purpose.
perubahan mekanisme. Mekanisme umum
Pada dasarnya ada dua tujuan: tujuan
yang tidak sensitif terhadap perubahan policy
pemakai dan tujuan sistem, masing-
tentu saja sangat diharapkan.
masing dengan keinginannya. Tidak
ada solusi tunggal untuk
mengkompromikan kedua tujuan
tersebut
Implementasi Komunikasi
Oleh karena sistem operasi adalah koleksi Ada dua model umum komunikasi interproses:
dari banyak program, ditulis oleh banyak model penerusan-pesan (message-passing model)
dan model berbagi memori (shared-memory
orang dan berevolusi dalam waktu lama,
model).
maka tidak ada cara umum untuk Pada model penerusan-pesan, proses komunikasi
menyatakan bagaimana sistem operasi dilakukan dengan mempertukarkan pesan satu
diimplementasikan. sama lain.
Sistem operasi awalnya ditulis dalam
Pada model berbagi memori, proses
bahasa assembly. Seiringg waktu,
menggunakan pemanggilan sistem
meskipun masih juga ada yang ditulis shared_memory_create() dan
dalam bahasa assembly, banyak yang shared_memory_attach(). Harap diingat bahwa
ditulis dalam bahasa C atau C++. Bagian secara normal sistem operasi akan mencoba
kernel biasanya masih ditulis dalam mencegah satu proses mengakses memori proses
lainnya. Pada model berbagi memori dua atau
bahasa assembly sementara untuk rutin-
lebih proses harus setuju untuk menghilangkan
rutin tertentu dapat ditulis dalam batasan tersebut. Setelah itu, mereka dapat
beragam bahasa computer. mempertukarkan infomasi dengan membaca dan
menuliskan data di area bersama.
Struktur Sistem Operasi
Struktur Sederhana (1)

• Banyak sistem operasi ttidak memiliki struktur yang baik


• Biasanya dimulai dari sistem yang kecil, sederhana, dan
terbatas, lalu berkembang makin kompleks, misalnya MS-
DOS
• Dalam MS-DOS, antarmuka dan leel fungsionalitas tidak
dipisahkan dengan baik
• Misalnya, program aplikasi dapat mengakses rutin I/O
untuk menulis langsung ke display dan disk drive
• MS-DOS dibatasi oleh kesederhanaan perangkat keras saat
itu

Struktur MS-DOS
Struktur Sederhana (2)

• Seperti MS-DOS, UNIX pada awalnya juga dibatasi


oleh perangkat kerasnya.
• UNIX terdiri atas dua bagian terpisah: kernel dan
program sistem
• Kernel dibagi lagi menjadi sederetan antarmuka
dan device driver yang senantiasa ditambahkan
dan dikembangkan selama perkembangan UNIX.

Struktur sistem UNIX tradisional


Pendekatan Berlapis
• Dengan dukungan perangkat keras, sistem operasi dapat
dipecah-pecah menjadi bagian-bagian secara berlapis
• Lapisan paling dalam (layer 0) adalah perangkat keras dan
lapisan paling luar (layer N) adalah antarmuka pengguna
• Lapisan tertentu – misalnya lapisan M – terdiri atsa struktur
data dan rutin-rutin yang dipanggil oleh lapisan di atasnya.
Sebaliknya, lapisan M dapat memanggil rutin yang ada di
lapisan di bawahnya.
• Keuntungan struktur berlapis adalah kesederhanaan
konstruksi dan kemudahan melakukan pelacakan kesalahan
• Kelemahan utama sistem berlapis adalah cenderung kurang
efisien, karena, misalnya program akan mengeksekusi
operasi I/O, ia harus memanggil sistem di lapisan I/O,
memanggil lapisan manajemen-memori, memanggil lapisan
penjadwalan CPU baru kemudian diteruskan ke perangkatt
keras.
• Contoh sistem operasi dengan pendekatan berlapis adalah
OS/2 dan versi awal Windows NT
Mikrokernel

Windows NT yang menerapkan


sistem berlapis untuk
mikrokernelnya ternyata
memiliki performance lebih
rendah dari Windows 95.
Kekurangan ini diperbaiki pada
Windows NT 4.0.
Sejak Windows XP, Microsoft
kembali ke pendekatan
monolitik

• Pengalaman dengan UNIX menunjukkan bawa semakin berkembang sistem operasi. Semakin besar kernel
dan semakin sulit dikelola
• Maka dikembangkan mikrokernel, dengan cara menstrukturisasi sistem operasi dengan membuang bagian
tidak esensial dari kernel dan mengimplementasikannya sebagai program sistem dan program level
pengguna
Modul
• Pendekatan modular mungkin merupakan metode
terbaik saat ini – menggunakan modul-modul kernel
yang dapat dimuat sewaktu-waktu (loadable kernel
modules)
• Digunakan pada sistem operasi modern berbasis Uni,
misalnya Solaris, Linux dan Mac OS X serta Windows
• Ide rancangannya adalah: kernel hanya memberikan
layanan initi sementara layanan lain diimplementasikan
secara dinamis selagi kernel berjalan.
• Menautkan layanan secara dinamis lebih disukai
Pendekatan modular OS Solaris daripada menambahkan langsung ke kernel yang akan
memerlukan rekompilasi kernel setiap kali dilakukan
perubahan
• Jadi, misalnya, kita dapat membangun penjadwalan CPU dan algoritma pengelolaan memori langsung ke
dalam kernel dan kemudian menambahkan dukungan untuk sistem file berbeda dengan cara memuatkan
modul yang diperlukan
• Secara keseluruhan menggunakan struktur berlapis pada bagian kernelnya, tetapi lebih fleksibel daripada
sistem berlapis karena karena setiap modul dapat dipanggil dari modul manapun
Sistem Hybrid

• Secara praktis, sangat sedikit sistem operasi yang mengadopsii struktur tunggal
secara ketat
• Biasanya mereka mengkombinaikan struktur berbeda sehingga disebut sistem hybrid
– dengan tujuan memperoleh performance, kemanan, dan usabilitas yang optimal
• Linux dan Solaris misalnya, adalah sistem yang monolitik karena memiliki sistem
operasi yang ditempatkan pada satu ruang alamat agar efisien. Tetaoi keduanya juga
modular karena fungsi-fungsi baru secara dinamis dapat ditambahkan ke kernelnya.
• Windows juga merupakan sistem yang monolitik untuk alasan performance. Tetapi ia
juga menganut sistem mikrokernel termasuk dalam caranya memberikan dukungan
untuk subsistem berbeda yang berjalan sebagai proses mede-pengguna.
• Windows juga memberikan dukungan untuk memuat modul kernel secara dinamis.

Anda mungkin juga menyukai