Anda di halaman 1dari 38

Struktur Sistem Operasi

 Komponen & Layanan Sistem Operasi


 System Calls
 Mesin Virtual
 Perancangan Sistem dan
Implementasi
 System Generation (SYSGEN)
 Jenis Sistem Operasi

Object
Komponen & Layanan SO
Komponen-komponen dan layanan
yang disediakan oleh sistem operasi
diantaranya:
• Managemen Proses.
• Managemen Memori Utama.
• Managemen Berkas.
• Managemen Sistem I/O.
• Managemen Penyimpanan
Sekunder.
• Sistem Proteksi.
• Jaringan.
• Command-Interpreter System.
 Proses adalah sebuah program yang sedang
dieksekusi. Sebuah proses membutuhkan
beberapa sumber daya untuk menyelesaikan
tugasnya.
 Sumber daya tersebut dapat berupa CPU time,
memori, berkas-berkas, dan perangkat-
perangkat I/O.
 Sistem operasi mengalokasikan sumber daya-
sumber daya tersebut saat proses itu diciptakan
atau sedang diproses/dijalankan.
 Ketika proses tersebut berhenti dijalankan,
sistem operasi akan mendapatkan kembali
semua sumber daya yang bisa digunakan
kembali.
Managemen Proses
Sistem operasi bertanggung jawab atas
aktivitas-aktivitas yang berkaitan dengan
managemen proses seperti:
 Membuat dan menghapus proses pengguna
dan sistem proses.
 Menunda atau melanjutkan proses.
 Menyediakan mekanisme untuk proses
sinkronisasi.
 Menyediakan mekanisme untuk proses
komunikasi.
 Menyediakan mekanisme untuk penanganan
deadlock.
• Memory adalah array besar dengan ukuran
word atau byte, dengan alamat tertentu
• Memori adalah gudang pengaksesan data
shared yang cepat oleh CPU dan I/O device
• CPU membaca instruksi dari memory selama
proses instruction-fetch dan baik membaca
dan menulis data dari dan ke meori selama
proses data-fetch
• I/O diimplementasikan melalui DMA juga
membaca dan menulis data di main memory

Manajamen Memori Utama 1/3


 Program awalnya harus dipetakan ke
alamat absolut dan disimpan di memory
untuk dieksekusi
 Beberapa program harus diletakkan di
memori untuk meningkatkan utilitas CPU
dan kecepatan dari respon komputer
 Terdapat beberapa skema manajamen
memory tergantung beberapa faktor
terutama hardware

Manajamen Memori Utama 2/3


SO bertanggung jawab atas :
 Menjaga track dari memory yang sedang
digunakan dan siapa yang
menggunakannya
 Memilih program yang akan di-load di
memory

Manajamen Memori Utama 3/3


 Berkas adalah kumpulan informasi yang
berhubungan, sesuai dengan tujuan pembuat
berkas tersebut.
 Umumnya berkas merepresentasikan
program dan data. Berkas dapat mempunyai
struktur yang bersifat hirarkis (direktori,
Ukuran, dll.).
 Sistem operasi mengimplementasikan konsep
abstrak dari berkas dengan mengatur media
penyimpanan massa, misalnya tape dan disk.

Managemen Berkas/File
Sistem operasi bertanggung-jawab dalam
aktivitas yang berhubungan dengan
managemen berkas:
 Pembuatan dan penghapusan berkas.
 Pembuatan dan penghapusan direktori.
 Mendukung manipulasi berkas dan direktori.
 Memetakan berkas ke secondary-storage.
 Mem-back-up berkas ke media penyimpanan
yang permanen (non-volatile).
Sering disebut device manager. Menyediakan device
driver yang umum sehingga operasi I/O dapat
seragam (membuka, membaca, menulis, menutup).
Contoh: pengguna menggunakan operasi yang sama
untuk membaca berkas pada perangkat keras, CD-
ROM dan floppy disk. Komponen Sistem Operasi
untuk sistem I/O:
 Penyangga: menampung sementara data dari/ ke
perangkat I/O.
 Spooling: melakukan penjadualan pemakaian I/O
sistem supaya lebih efisien (antrian dsb.).
 Menyediakan driver: untuk dapat melakukan
operasi rinci untuk perangkat keras I/O tertentu.

Managemen Sistem I/O


 Data yang disimpan dalam memori utama bersifat
sementara dan jumlahnya sangat kecil. Oleh karena
itu, untuk menyimpan keseluruhan data dan program
komputer dibutuhkan penyimpanan sekunder yang
bersifat permanen dan mampu menampung banyak
data, sebagai back-up dari memori utama.
 Contoh dari penyimpanan sekunder adalah hard-disk,
flasdisk, dll.
 Sistem operasi bertanggung-jawab atas aktivitas-
aktivitas yang berkaitan dengan managemen disk
seperti:
• free-space management.
• alokasi penyimpanan.
• penjadualan disk.

Managemen Penyimpanan
Skunder
 Proteksi merupakan mekanisme
mengontrol akses program, proses atau
user untuk resource yang ditentukan
sistem komputer.
 SO bertanggung jawab atas :
◦ Membedakan pengguna ( Administrator or
guest )
◦ Menspesifikasikan control untuk diberi tugas
◦ Menyediakan alat untuk pemberlakuan system

Protection System
 Sistem terdistribusi adalah sekumpulan
prosesor yang tidak berbagi memori.
Prosesor-prosesor tersebut terhubung
melalui jaringan komunikasi Sistem
terdistribusi menyediakan akses
pengguna ke bermacam sumber-daya
sistem. Akses tersebut menyebabkan
peningkatan kecepatan komputasi dan
meningkatkan kemampuan penyediaan
data.

Jaringan
• Command Interpreter sistem adalah
program yang berfungsi membaca
instruksi dan mengekskusinya secara
langsung.
• Command-Interpreter System sangat
bervariasi dari satu sistem operasi ke
sistem operasi yang lain dan disesuaikan
dengan tujuan dan teknologi perangkat
I/O yang ada.

Command Interpreter System


• Pembuatan Program (Program Builder)
• Eksekusi Program
• Operasi I/O
• Manipulasi System File
• Komunikasi
• Deteksi & Penanganan Error
( End Process, Try Again, Send Report )

Layanan Sistem Operasi (User)


Sebuah sistem operasi yang baik menurut Prof. A.Tanenbaum harus
memiliki layanan sebagai berikut:

 Pembuatan Program
 Eksekusi program.
 Operasi I/O (pengaksesan I/O Device)
 Sistem manipulasi berkas
 Komunikasi
 Deteksi error
 Deteksi dan Pemberian tanggapan pada kesalahan
 Efesiensi penggunaan sistem
 Accounting
Layanan Sistem Operasi
 Pembuatan program, yaitu sistem operasi
menyediakan fasilitas dan layanan untuk membantu
para pemrogram untuk menulis program.
 Eksekusi program adalah kemampuan sistem
untuk "load" program ke memori dan menjalankan
program yang dikehendaki user maupun sistem.
 Operasi I/O merupakan kegiatan dimana pengguna
tidak dapat secara langsung mengakses sumber
daya perangkat keras, sehingga sistem operasi harus
menyediakan mekanisme untuk melakukan operasi
I/O atas nama pengguna.
 Sistem manipulasi berkas adalah kemampuan
program untuk operasi pada berkas (membaca,
menulis, membuat, dan menghapus berkas yang
berupa file atau direktori).

Layanan Sistem Operasi


 Komunikasi adalah pertukaran data/ informasi
antar dua atau lebih proses yang berada pada
satu komputer (atau lebih).
 Deteksi error adalah kegiatan untuk menjaga
kestabilan sistem dengan mendeteksi "error",
perangkat keras maupun operasi yang dilakukan.
 Deteksi dan Pemberian tanggapan pada
kesalahan, jika muncul permasalahan pada
sistem komputer maka sistem operasi harus
memberikan tanggapan yang menjelaskan
kesalahan yang terjadi serta dampaknya terhadap
aplikasi yang sedang berjalan.

Layanan Sistem Operasi


 Efesisensi penggunaan sistem,
diantaranya:
 Resource allocator, yakni: mengalokasikan
sumber-daya hardware maupun software ke
beberapa pengguna atau mengalokasikan job
yang jalan pada saat yang bersamaan ke
beberapa komputer dalam jaringan.
 Proteksi sistem untuk menjamin akses ke
sistem sumber daya yang aman, dikendalikan
oleh sistem sehingga pengguna dikontrol
aksesnya ke sistem).
 Accounting adalah kegiatan merekam
aktifitas pengguna, report pemakaian
sumber daya. Sistem Operasi yang bagus
harus mampu mengumpulkan data statistik
penggunaan beragam sumber-daya dan
memonitor parameter kinerja.
Layanan Sistem Operasi
 System call yaitu Layanan langsung sistem operasi ke
pemrograman,disebut dengan system call atau API
(application programming interface / Antarmuka
pemrograman aplikasi).
 System call adalah tata cara pemanggilan di program
aplikasi untuk memperoleh layanan yang disediakan
oleh sistem operasi.
System call menyediakan interface antara program
(program pengguna yang berjalan) dan bagian OS.
 System call menjadi jembatan antara proses dan
sistem operasi.
 System call ditulis dalam bahasa assembly atau
bahasa tingkat tinggi yang dapat mengendalikan mesin.

System Calls
 Mesin virtual atau mesin maya
(Inggris: virtual machine, disingkat vm)
dalam ilmu komputer adalah
implementasi perangkat lunak dari
sebuah mesin komputer yang dapat
menjalankan program sama seperti
layaknya sebuah komputer asli.

Mesin Virtual
 Mesin virtual pada mulanya didefinisikan
oleh Gerard J. Popek dan Robert P.
Goldberg pada tahun 1974 sebagai
sebuah duplikat yang efisien dan terisolasi
dari suatu mesin asli.
 Pada masa sekarang ini, mesin-mesin
virtual dapat mensimulasikan perangkat
keras walaupun tidak ada perangkat keras
aslinya sama sekali.

Definisi
 Contoh, program yang ditulis dalam bahasa Java
akan dilayani oleh Java Virtual Machine (JVM)
dengan cara memberikan perintah-perintah yang
dimengerti JVM yang selanjutnya akan
memberikan hasil yang diharapkan. Dengan
memberikan layanan seperti ini kepada program
tersebut, perangkat lunak JVM ini berlaku
sebagai sebuah "mesin virtual", sehingga
program tidak lagi perlu untuk mengakses
langsung melalui sistem operasi ataupun
perangkat keras yang sangat bervariasi dan
memerlukan pemrograman masing-masing
secara spesifik.

Contoh
Menurut Avi Silberschatz, Peter Galvin, dan
Greg Gagne :
• Stuktur Sederhana
• Pendekatan Terlapis

Sistem Operasi Berdasarkan


Strukturnya
Banyak sistem yang tidak terstruktur
dengan baik, sehingga sistem operasi
seperti ini dimulai dengan
sistem yang lebih kecil, sederhana, dan
terbatas. Kemudian berkembang dengan
cakupan yang original.
Contoh : MS-DOS, UNIX

Struktur Sederhana
 Sistem operasi dibagi menjadi sejumlah
lapisan yang masing-masing dibangun
diatas 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 Terlapis 1/2


Pendekatan Terlapis 2/2
Level 1 – 4  Perangkat Keras

Level 5 – 7  Sistem Operasi

Level 8 – 11  Kelengkapan

Level 12 – 13  Program Aplikasi


Target untuk pengguna: sistem operasi harus nyaman
digunakan, mudah dipelajari, dapat diandalkan, aman dan
cepat. Target untuk sistem: sistem operasi harus gampang
dirancang, diimplementasi, dan dipelihara, sebagaimana
fleksibel, error, dan efisien.

Mekanisme dan Kebijaksanaan:


 Mekanisme menjelaskan bagaimana melakukan sesuatu
kebijaksanaan memutuskan apa yang akan dilakukan.
Pemisahan kebijaksanaan dari mekanisme merupakan hal
yang sangat penting; ini mengizinkan fleksibilitas yang
tinggi bila kebijaksanaan akan diubah nanti.
 Kebijaksanaan memutuskan apa yang akan dilakukan.
Perancangan Sistem dan
Implementasi
 Pemisahan kebijaksanaan dari mekanisme
merupakan hal yang sangat penting, ini
mengizinkan fleksibilitas yang tinggi bila
kebijaksanaan akan diubah nanti.
 Implementasi Sistem biasanya menggunakan
bahasa assembly, sistem operasi sekarang dapat
ditulis dengan menggunakan bahasa tingkat
tinggi. Kode yang ditulis dalam bahasa tingkat
tinggi: dapat dibuat dengan cepat, lebih ringkas,
lebih mudah dimengerti dan didebug. Sistem
operasi lebih mudah dipindahkan ke perangkat
keras yang lain bila ditulis dengan bahasa tingkat
tinggi.
Perancangan Sistem dan
Implementasi
• Sistem operasi dirancang untuk dapat dijalankan di
berbagai jenis mesin, sistemnya harus di konfigurasi
untuk tiap tipe komputer.
• System generation adalah proses mengkonfigurasikan
sistem untuk masing-masing komputer.
• Program SYSGEN mendapatkan informasi mengenai
konfigurasi khusus ini dari sistem perangkat keras, ketika
melakukan:
 Booting, yakni memulai komputer dengan me-load kernel.
 Bootstrap program, yakni kode yang disimpan di code
ROM yang dapat menempatkan kernel, memasukkannya
kedalam memori, dan memulai eksekusinya.

System Generation (SYSGEN)


Jenis Sistem Operasi
Berdasarkan jenis software, sistem operasi
dibedakan berdasarkan:
 Perangkat Lunak Bebas (Free Software)
 Perangkat Lunak Open Source
 Perangkat Lunak Public Domain
 Perangkat Lunak Copylefted
 Perangkat Lunak Bebas Non-Copylefted
 Perangkat Lunak GPL-covered
 Perangkat Lunak GNU
 Perangkat Lunak Semi Bebas
 Perangkat Lunak Berpemilik
 Freeware
 Shereware
 Perangkat Lunak Komersial
 Perangkat Lunak Bebas mengacu pada kebebasan para
penggunanya untuk menjalankan, menggandakan,
menyebarluaskan, mempelajari, mengubah dan
meningkatkan kinerja perangkat lunak. Tepatnya,
mengacu pada empat jenis kebebasan bagi para
pengguna perangkat lunak:
Kebebasan untuk menjalankan programnya untuk
tujuan apa saja (kebebasan 0).
Kebebasan untuk mempelajari bagaimana program itu
bekerja serta dapat disesuaikan dengan kebutuhan
anda (kebebasan 1). Akses pada kode program
merupakan suatu prasyarat.
Kebebasan untuk menyebarluaskan kembali hasil
salinan perangkat lunak tersebut sehingga dapat
membantu sesama anda (kebebasan 2).
Kebebasan untuk meningkatkan kinerja program, dan
dapat menyebarkannya ke khalayak umum sehingga
semua menikmati keuntungannya (kebebasan 3).
Akses pada kode program merupakan suatu prasyarat
juga.
Free Software
 Perangkat lunak milik perorangan
(bahasa Inggris: proprietary software) –
kadang disebut perangkat lunak berbayar,
perangkat lunak sumber tertutup, perangkat
lunak proprieter atau perangkat lunak
berpemilik adalah perangkat lunak dengan
pembatasan terhadap penggunaan,
penyalinan, dan modifikasi yang diterapkan
oleh proprietor atau pemegang hak.
Pembatasan-pembatasan ini dapat dilakukan
secara teknis maupun hukum, atau pun
keduanya.

Public Domain
 GNU General Public License (disingkat GNU GPL,
atau cukup GPL; dalam bahasa Indonesia
diterjemahkan menjadi lisensi publik umum)
merupakan suatu lisensi perangkat lunak bebas yang
aslinya ditulis oleh Richard Stallman untuk proyek
GNU. Lisensi GPL memberikan penerima salinan
perangkat lunak hak dari perangkat lunak bebas dan
menggunakan copyleft untuk memastikan kebebasan
yang sama diterapkan pada versi berikutnya dari
karya tersebut. GPL terakhir lisensi ini, yaitu versi 3,
dirilis 27 Juni 2007. GNU Lesser General Public
License (LGPL) merupakan versi lain GPL, ditujukan
untuk penggunaan beberapa software library.

GPL
 Copyleft merupakan metode umum untuk
membuat sebuah program menjadi
perangkat lunak bebas, serta menjamin
kebebasannya untuk semua modifikasi
dan versi-versi berikutnya.

Copyleft

Anda mungkin juga menyukai