Pengertian Struktur Sistem Informasi

STRUKTUR SISTEM OPERASI

Struktur sistem informasi


1.1 Komponen Sistem Opessrasi

1.1.1 Managemen Proses
Sistem operasi memberikan tanggapan terhadap managemen proses untuk aktivitas – aktivitas
sebagai berikut :
a. Pembuatan atau penghapusan proses yang dibuat oleh user atau sistem
b. Suspensi dan asumsi proses
c. Kelengkapan mekanisme untuk sinkronisasi proses.
d. Kelengkapan untuk komunikasi proses.
e. Kelenkapan mekanisme untuk pengendalian deadlock

1.1.2 Management memory utama
Sistem operasi memberikan tanggapan terhadap managemen memori utama untuk aktivitas –
aktivitas sebagai berikut :
a. Menjaga dan memelihara bagian – bagian memori yang sedang digunakan dan dari yang
menggunakan.
b. Memutkan proses – proses mana saja yang harus di panggil ke memori jika masih ada ruang
memori.
c. Mengalokasikan dan mengdealokasikan ruang memori jika diperlukan.

1.1.3 Managemen Memori Sekunder
Sistem operasi memberikan tanggapan terhadap managemen memori sekunder untuk aktivitas –
aktivitas sebagai berikut :
a. Pengaturan ruang kosong
b. Alokasi penyimpanan
c. Penjadwalan disk

1.1.4 Managemen I/O
Sistem operasi memberikan tanggapan terhadap managemen I/O untuk aktivitas – aktivitas sebagai
berikut :
a. Sistem Buffer-Caching
b. Antarmuka device-driver secara umum
c. Driver utuk device hardware – hardware tertentu.

1.1.5 Managemen File
Sistem operasi memberikan tanggapan terhadap managemen file untuk aktivitas – aktivitas sebagai
berikut :
a. Pembuatan dan penghapusan file
b. Pembutan dan penghapusa direktori
c. Primitif – primitif yang mendukung untuk manipulasi file dan direktori
d. Pemetaan file ke memori sekunder
e. Backup file ke media penyimpanan yang stabil (non volatile)

1.2 Layanan-layanan Sistem Operasi
Sekumpulan layanan-layanan yang disediakan oleh sistem operasi untuk membantu
pemakai adalah sebagai berikut:

1. Antarmuka pemakai, hampir semua sistem operasi memiliki antarmuka
pengguna, baik berupa Command Line Interface (CLI), Graphical User Interface
(GUI), maupun batch.

2. Eksekusi program, sistem operasi harus dapat mengangkat program ke memori,
menjalankannya, dan mengakhirinya, baik secara normal maupun abnormal
dengan memberikan sinyal status.

3. Operasi-operasi masukan/keluaran, sebuah program yang sedang berjalan dapat
meminta layanan masukan/keluaran yang melibatkan berkas ataupun piranti
masukan/keluaran itu sendiri.

4. Manipulasi sistem berkas, sudah tentu program-program yang berjalan perlu
melakukan pembacaan ataupun penulisan ke berkas atau direktori, membuat dan
menghapus berkas atau direktori, melakukan pencarian berkas atau direktori,
menampilkan informasi tentang berkas atau direktori, dan melakukan
pengelolaan hak akses (permission).

5. Komunikasi, proses-proses dapat saling bertukar informasi, baik pada komputer
yang sama maupun komputer yang berbeda yang saling terhubung melalui
jaringan komputer. Komunikasi antar proses dilakukan melalui penggunaan
memori bersama atau pengiriman pesan (message passing), dimana paket pesan
dikirimkan oleh sistem operasi.

6. Deteksi kesalahan, sistem operasi harus memiliki kemampuan yang selalu
waspada terhadap kemungkinan terjadinya kesalahan. Adapun sumber-sumber
kesalahan tersebut adalah CPU, perangkat keras memori, piranti masukan/
keluaran, ataupun program pemakai. Setiap kesalahan yang muncul harus dapat
ditangani oleh sistem operasi dengan melakukan tindakan yang tepat untuk
menjamin kebenaran dan konsistensi hasil komputasi. Penyediaan fasilitas untuk
melakukan debugging dapat meningkatkan kemampuan pemakai dan pemrogram
secara signifikan untuk pemakaian sistem komputer yang lebih efisien.
Berikut adalah layanan-layanan sistem operasi yang disediakan untuk menjamin
efisiensi operasi dari sistem komputer itu sendiri melalui pemakaian bersama sumber daya:

1. Alokasi sumber daya, hal ini sangat penting terkait dengan banyaknya pemakai
ataupun pekerjaan yang berjalan pada saat bersamaan; dimana setiap pemakai
atau pekerjaan tersebut harus diberikan sumber daya yang sesuai agar dapat
menyelesaiakan prosesnya. Setiap sumber daya memiliki kode identitas masingmasing.
Siklus CPU, memori utama, dan berkas memiliki kode khusus,
sedangkan piranti masukan/keluaran memiliki kode umum.

2. Akunting, untuk melacak dan mencatat siapa/apa yang telah menggunakan
sumber daya, berapa banyak, dan apa tipe sumber daya yang dipakai.

3. Proteksi dan keamanan, menjaga agar pemilik berkas dapat mengendalikan siapa
atau apa yang dapat mengakses ke berkas miliknya dan menjaga agar proses yang
berjalan bersamaan tidak dapat saling mempengaruhi satu sama lain.

1.3 Antarmuka Pemakai Sistem Operasi
Antarmuka pemakai dari sistem operasi, seperti telah disebutkan sebelumnya, dapat
berupa CLI, GUI, maupun batch. Namun, sistem operasi yang ada pada saat ini banyak
yang memiliki lebih dari satu tipe, misal CLI dan GUI. Paragraf berikutnya akan mengupas
antarmuka tipe CLI dan GUI.
CLI mengijinkan pemakai untuk dapat mengetikkan dan mengeksekusi perintah
secara langsung ke shell sistem operasi. Perintah yang dieksekusi langsung dapat berupa
perintah built-in (yang sudah tersedia dalam sistem operasi) atau perintah yang dibuat oleh
pemakai itu sendiri tanpa harus memodifikasi shell.
GUI adalah antarmuka pemakai yang ramah pengguna (user friendly) yang biasanya
menyerupai permukaan atas meja kerja (desktop). Pemakai dapat meletakkan berbagai
obyek di atas meja kerja tersebut. Obyek-obyek tersebut biasanya digambarkan dalam
bentuk ikon-ikon (icons) yang merepresentasikan berkas, aksi, program pemakai, atau
aplikasi yang digunakan oleh pemakai untuk mendukung pekerjaannya sehari-hari.

1.4 System Call
System call adalah antarmuka pemrograman ke layanan-layanan yang diberikan oleh
sistem operasi. Antarmuka ini ditulis dalam bahasa tingkat tinggi (high level language),
seperti Bahasa C/C++. System call, pada umumnya, diakses melalui Application
Programming Interface (API), jarang sekali yang melakukan akses langsung ke system call
itu sendiri. Mengapa? Karena, system call tergolong ke dalam perintah dasar, artinya
(sangat) dimungkinkan bahwa satu perintah dalam bahasa tingkat tinggi harus dituliskan
dalam beberapa perintah system call. Tiga API yang paling banyak digunakan adalah
Win32 API untuk Windows, POSIX API untuk sistem yang berbasis POSIX (seperti
UNIX, Linux, dan Mac OS X), dan Java API untuk Java Virtual Machine (JVM).
System call dikelompokkan ke dalam beberapa tipe berikut: pengendalian proses,
pengelolaan berkas, pengelolaan piranti, pemeliharaan informasi, dan komunikasi. Berikut
adalah ilustrasi dari sekumpulan perintah system call yang digunakan untuk menyalin isi
sebuah berkas ke berkas lain (perhatikan berapa banyaknya system call yang dipanggil atau
digunakan).
Gambar 9. Sederetan perintah system call yang digunakan untuk
menyalin isi berkas

Dalam penerapannya, setiap system call akan diberi nomor sebagai identitas dan
disimpan dalam sebuah tabel. Tabel system call diindeks sesuai dengan nomor identitasnya
dan selalu dipelihara oleh antarmuka system call. Antarmuka system call akan memanggil
dan menjalankan system call yang diminta dalam kernel sistem operasi dan
mengembalikan status system call beserta setiap nilai/keluaran yang dihasilkannya.
Pemanggil system call tidak perlu mengetahui detail penerapan dari system call itu sendiri,
mereka hanya perlu mematuhi API yang telah ditentukan. API menyembunyikan detil
antarmuka sistem operasi dari pemrogram.
Berikut adalah diagram hubungan antara API, system call, dan sistem operasi.
Gambar 10. Hubungan antara API, system call, dan sistem operasi
Pada Gambar 11, sebuah program C memanggil pustaka (library) printf() yang mana
selanjutnya akan memanggil system call write().
Gambar 11. Contoh pustaka Bahasa C baku
Seringkali, tidak hanya nomor identitas system call yang dikirimkan ke sistem
operasi, tetapi informasi lain juga kadang diperlukan. Oleh karena itu, perlu metode untuk
mengirimkan informasi/parameter ke sistem operasi. Adapun tipe dan banyaknya informasi
yang dikirimkan tergantung dari sistem operasi dan system call itu sendiri. Tiga metode
yang sering digunakan untuk mengirimkan parameter ke sistem operasi adalah sebagai
berikut:

1. Parameter dikirimkan melalui register; kadang banyaknya parameter melebihi
kapasitas memori.

2. Parameter disimpan dalam sebuah blok, atau tabel, dalam memori dan alamat
dari blok tersebut dikirimkan melalui register sebagai parameter. Pendekatan ini
dipakai oleh Linux dan Solaris. Blok tidak membatasi banyaknya atau
panjangnya parameter yang akan dikirimkan.

3. Parameter disimpan ke (pushed onto) stack oleh program dan diambil dari
(popped off) stack oleh sistem operasi. Dengan menggunakan stack banyak dan
ukuran parameter tidak dibatasi.
Deskripsi pada Gambar 12 menunjukkan pengiriman parameter melalui sebuah tabel.

Gambar 12. Metode pengiriman pesan melalui tabel

1.5 Program Sistem
Program sistem memiliki tujuan untuk menyediakan lingkungan yang mendukung
dan nyaman bagi pengembangan dan eksekusi program. Sistem program diklasifikasikan
ke dalam beberapa kelas berikut: manipulasi berkas, informasi status, modifikasi berkas,
pendukung bahasa pemrograman, pengangkatan dan eksekusi program, komunikasi, dan
program aplikasi. Sebagian besar pandangan (view) sistem operasi didefinisikan oleh
program sistem, bukan system call yang sebenarnya. Sebagian program sistem hanya
merupakan antarmuka ke system call, sebagian lagi merupakan program yang rumit.

Berikut adalah penjelasan tentang beberapa kelas program sistem:
1. Pengelolaan berkas meliputi perintah: create, delete, copy, rename, print, dump,
dan list terhadap berkas atau direktori.
2. Informasi status memberikan layanan tentang status dari proses, seperti: tanggal,
jam, banyaknya memori kosong, ruang memori, dan banyaknya pemakai. Lebih
jauh lagi informasi status juga dapat memberikan informasi detail tentang kinerja,
logging, dan debugging. Program sistem untuk informasi status memformat
presentasi atau bentuk laporan dan mencetak keluarannya ke terminal atau piranti
keluaran lainnya yang telah ditentukan.
3. Pembuatan dan modifikasi berkas dapat dilakukan menggunakan pengedit teks
(text editor) atau perintah-perintah khusus untuk melakukan pencarian isi dari
teks atau transformasi teks itu sendiri.
4. Sistem operasi juga kadang menyediakan program sistem yang berupa compiler,
assembler, debugger dan interpreter.
5. Beberapa tipe pengangkat (loader) dan pengeksekusi program sistem adalah
absolute loader, relocatable loader, linkage editor, overlay loader, debugging
system untuk tingkat tinggi, dan bahasa mesin.
6. Melalui komunikasi dapat diciptakan mekanisme hubungan maya (virtual
connection) antara proses, pemakai, dan sistem komputer. Contoh komunikasi
yang dapat dilakukan adalah mengirimkan pesan ke layar komputer pemakai lain,
browsing halaman web, mengirim electronic mail (email), melakukan akses jarak
jauh, mengirimkan berkas dari satu komputer ke komputer lainnya.

1.6 Perancangan dan Implementasi Sistem Operasi
Tidak ada satu orang pun yang dapat melakukan perancangan dan implementasi
sistem operasi yang ideal, tapi beberapa pendekatan telah terbukti berhasil, walaupun
dengan struktur internal yang berbeda satu sama lain. Secara teori, perancangan dan
implementasi sistem operasi dilakukan dengan cara menentukan tujuan dan spesifikasi
terlebih dahulu, selain itu juga sangat dipengaruhi oleh perangkat kerasnya.
Tujuan dari perancangan dan implementasi sistem operasi memiliki dua muka
sekaligus, yaitu tujuan pemakai dan tujuan sistem. Pemakai memiliki tujuan agar sistem
operasi lebih nyaman (convenient) untuk digunakan, dipelajari, handal, aman, dan cepat.

Sedangkan tujuan sistem adalah mudah untuk dirancang, diimplementasikan, dan
dipelihara, selain itu juga memiliki karakteristik yang fleksibel, handal, bebas kesalahan
(error free), dan efisien.
Dua hal penting yang perlu dibedakan dalam perancangan dan implementasi sistem
operasi adalah kebijakan dan mekanisme. Kebijakan berkaitan dengan apa yang harus
dilakukan, sedangkan mekanisme berkenaan dengan bagaimana untuk melakukan sesuatu.
Kedua hal ini penting karena sangat menentukan fleksibilitas maksismum, seandainya
kebijakan harus diubah pada waktu selanjutnya.

1.7 Struktur Sistem Operasi
Microsoft Disk Operating System (MS DOS) merupakan sistem operasi dengan
struktur yang sederhana, karena dibuat sedemikian rupa sehingga memiliki fungsionalitas
yang maksimum dengan ukuran yang sekecil mungkin. Lebih jauh lagi, MS DOS tidak
dibagi ke dalam modul-modul (modular) serta antarmuka dan tingkat fungsionalitasnya
juga tidak dipisahkan dengan baik. Untuk lebih jelasnya, struktur lapisan MS DOS dapat
dilihat pada Gambar 13 berikut.
Gambar 13. Struktur lapisan MS DOS
Secara umum, beberapa pendekatan yang digunakan untuk menyusun struktur sistem
operasi adalah sebagai berikut:

1.7.1 Pendekatan berlapis,
sistem operasi dibagi ke dalam beberapa lapis, dimana setiap lapis dibangun diatas lapisan
sebelumnya. Lapisan 0 adalah perangkat keras yang merupakan lapisan paling dasar, sedangkan
lapisan paling tinggi (atau terluar) merupakan antarmuka pemakai. Dengan modularitas, lapisanlapisan
tersebut dipilih sedemikian rupa sehingga setiap lapisan hanya menggunakan fungsifungsi
(atau operasi-operasi) dan layanan-layanan dari lapisan yang ada tepat di bawahnya.
Amati Gambar 14 berikut untuk ilustrasi pendekatan berlapis.
Gambar 14. Pendekatan berlapis sistem operasi
Sebagai contoh, UNIX mengadopsi pendekatan berlapis dalam struktur sistem operasinya.
Sistem operasi UNIX hanya memiliki dua lapisan, yaitu kernel dan program sistem. Lapisan
kernel terdiri dari semua hal yang berada di bawah antarmuka system call dan di atas fisik
perangkat keras. Selain itu, lapisan kernel menyediakan sistem berkas, penjadwalan CPU,
pengelolaan memori, dan fungsi- fungsi sistem operasi lainnya; sekumpulan fungsi yang banyak

untuk satu lapisan. Gambar 1.5 berikut mendeskripsikan struktur UNIX.
Gambar 15. Struktur Sistem Operasi UNIX

1.7.2 Pendekatan mikrokernel
Ide dari konsep mikrokernel sangatlah sederhana, yaitu memindahkan sebanyak mungkin
fungsi-fungsi yang ada dalam kernel ke ruang atau lapisan pemakai sehingga ukuran kernel
menjadi sekecil mungkin. Untuk komunikasi antara modul pemakai menggunakan pengiriman
pesan. Berikut adalah keuntungan dari struktur mikrokernel:
 Lebih mudah untuk memperluas atau menambah fungsi-fungsi mikrokernel.
 Lebih mudah untuk memindahkan (port) sistem operasi ke arsitektur yang
baru.
 Lebih handal, karena lebih sedikit kode yang berjalan pada mode kernel.
 Lebih aman.
Terlepas dari keuntungan-keuntungan yang disebutkan sebelumnya, mikrokernel memiliki
kekurangan yang berupa hambatan kinerja (performance overhead), karena harus sering
melakukan komunikasi antara mode kernel dengan mode pemakai.Struktur mikrokernel

diadopsi oleh Mac OS X seperti yang dideskripsikan pada Gambar 16 berikut.
Gambar 16. Struktur Sistem Operasi Mac OS X

1.7.3 Pendekatan modular
Kebanyakan sistem operasi modern mengimplementasikan modul-modul kernel menggunakan
pendekatan berorientasi obyek (object oriented approach). Setiap modul mempunyai komponen
utama (core component) yang terpisah satu sama lain dan berkomunikasi melalui antarmukaantarmuka
yang telah dikenal satu sama lain. Setiap modul dapat diangkat dan dijalankan dalam
kernel sesuai dengan keperluan. Secara umum, pendekatan modular mirip dengan pendekatan
berlapis tetapi lebih fleksibel. Solaris memilih pendekatan modular untuk struktur sistem
operasinya, seperti terlihat pada Gambar 17.
Gambar 1.7. Struktur Sistem Operasi Solaris

1.7.4 Mesin Maya (Virtual Machine)
Secara logika, mesin maya dapat dipandang mengadopsi pendekatan berlapis. Mesin maya
memperlakukan perangkat keras dan kernel sistem operasi sebagai satu kesatuan perangkat
keras, dan menyediakan antarmuka yang identik dengan perangkat keras. Dalam hal ini, sistem
operasi menciptakan ilusi multi-proses, dimana setiap mesin maya memiliki prosesor dan memori
sendiri-sendiri.
12
Sumber daya dari komputer dibagi-bagi untuk menciptakan ilusi mesin maya. Penjadwalan CPU
dapat menciptakan penampakan / ilusi bahwa setiap pemakai memiliki prosesor masing-masing.
Spooling dan sistem berkas dapat menyediakan efek pembaca kartu maya (virtual card reader)
dan pencetak maya (virtual line printers). Terminal time- sharing pemakai biasa bertindak sebagai
konsol operator (console’s operator) mesin maya.
Gambar 18. Ilustrasi (a) mesin sebenarnya dan (b) mesin maya
Konsep mesin maya menyediakan perlindungan sumber daya sistem yang lengkap, karena setiap
mesin maya terpisah dari mesin-mesin maya lainnya. Isolasi antar mesin maya tidak mengijinkan
mekanisme berbagi sumber daya secara langsung. Oleh karena itu, sistem mesin maya merupakan
13
sarana yang sempurna untuk penelitian dan pengembangansistem operasi. Pengembangan sistem
operasi dilakukan pada mesin maya, sehingga tidak mengganggu sistem operasi yang digunakan
untuk operasional. Bagaimanapun, konsep mesin maya sulit untuk diimplementasikan karena
butuh usaha yang keras untuk dapat dengan tepat menggandakan mesin yang sesungguhnya.
Gambar 19 mengilustrasikan struktur program mesin maya (virtual machine –ware atau VMware).
Gambar 1. 9. Struktur VM-ware
Salah satu bentuk VM-ware adalah Java yang terdiri dari tiga hal utama berikut:
spesifikasi bahasa pemrograman, antarmuka pemrograman aplikasi (API – Application
Programming Interface), dan spesifikasi mesin maya. Deskripsi Mesin Maya Java dapat
dilihat Gambar 20.
Gambar 20. Mesin Maya Java (JVM – Java Virtual Machine)
Program yang ditulis dalam Bahasa Java dapat dijalankan di beberapa mesin yang berbeda,
14
karena adanya JVM. Program Java setelah ditulis kemudian dikompilasi ke dalam Java Bytecode,
disebut juga program .class, agar dapat dijalankan oleh JVM. Untuk dapat menjalankan Java
Bytecode setiap platform (baca: sistem operasi) harus memasang JVM, seperti ilustrasi pada
Gambar 21.
Gambar 2.1. Portabilitas Java terhadap berbagai sistem operasi
Adapun lingkungan pengembangan Java dapat digambarkan dalam satu ilustrasi berikut pada
Gambar 2.2.
Gambar 22. Lingkungan pengembangan Java
Sistem Operasi Java dapat diilustrasikan sebagai berikut.

1.8 Pembangkitan Sistem Operasi
Sistem operasi dirancang untuk dapat dijalankan pada setiap mesin yang ada dalam satu kelas
yang sama, karena sistem operasi harus dikonfigurasikan untuk setiap komputer. Program
pembangkitan sistem operasi (SYSGEN – System Generation) memperoleh detail informasi
tentang konfigurasi dari sistem perangkat keras.
Proses memulai komputer dengan mengangkat (loading) dan menjalankan kernel disebut
dengan booting. Program untuk booting disebut dengan bootstrap program/loader yang
disimpan dalam ROM. Program bootstrap memiliki kemampuan untuk mengetahui lokasi
kernel, mengangkatnya ke memori, dan memulai eksekusinya.

1.8.1 Boot Sistem
Sistem operasi harus dibuat terlihat oleh perangkat keras, sehingga perangkat keras dapat
menjalankannya. Sepenggalan kecil program yang disebut bootstrap loader menentukan lokasi
kernel, mengangkatnya ke memori, dan menjalankannya. Boot sistem merupakan proses dua
tahap (two-step process), yaitu boot block pada lokasi yang sudah ditentukan mengangkat
bootstrap loader. Ketika sistem komputer dinyalakan, eksekusi mulai dari lokasi memori yang
sudah ditetapkan yang disebut dengan firmware yang berisi awal kode boot (initial boot code).

Share this

Related Posts

Previous
Next Post »