STRUKTUR SISTEM OPERASI

A.    Komponen Sistem Operasi

Sistem operasi terdiri dari beberapa komponen, antara lain manajemen
proses, manajemen memori utama, manajemen file, manajemen sistem I/O,
manajemen penyimpan sekunder, system jaringan, system proteksi dan system
command interpreter.
a.      Manajemen Proses
Proses adalah program yang sedang dieksekusi.  Sebuah proses memerlukan
sumber daya (resource) tertentu seperti waktu CPU, memori, file dan perangkat I/Ountuk menyelesaikan tugasnya.
Untuk mengatur proses yang ada, sistem operasi bertanggung jawab pada
aktrifitas-aktifitas yang berhubungan denagn manajemen proses berikut :
a.    Pembuatan dan penghapusan proses yang dibuat oleh user atau sistem.
b.    Menghentikan proses sementara dan melanjutkan proses.
c.    Menyediakan kelengkapan mekanisme untuk sinkronisasi proses dan komunikasiproses.
b.      Manajemen Memori Utama
Memori utama atau biasanya disebut dengan memori adalah sebuah array besarberukuran word atau byte, dimana setiap array tersebut mempunyai alamat tertentu.
Memori adalah penyimpan yang dapat mengakses data dengan cepat yang digunakanoleh CPU dan perangkat I/O.  Memori adalah perangkat penyimpan volatile.Isi memoriakan hilang apabila terjadi kegagalan system.Untuk mengatur memori, sistem operasi bertanggung jawab pada aktifitasaktifitasmanajemen
memorisebagaiberikut:
a.       Menjaga dan memelihara bagian-bagian memori yang sedang digunakan dan dari
yang menggunakan.
b.      Memutuskan proses-proses mana saja yang harus dipanggil ke memori jika
tersedia ruang di memori.
c.       Mengalokasikan dan mendealokasikan ruang memori jika diperlukan.
c.       Manajemen File
File adalah kumpulan informasi yang saling berhubungan yang sudah
didefinisikan oleh pembuatnya (user).  Biasanya, file berupa program (baik dalambentuk source maupun object) dan data.
Untuk mengatur file, sistem operasi bertanggung jawab pada aktifitas-aktifitas
yang berhubungan dengan manajemen file sebagai berikut:
a. Pembuatan dan penghapusan file.
b. Pembuatan dan penghapusan 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 (nonvolatile).
d.      Manajemen I/O
Sistem operasi bertanggung-jawab pada aktifitas-aktifitas sistem  I/O sebagai
berikut:
a. Sistem buffer-caching.
b. Antarmuka device-driver secara umum.
c. Driver untuk device hardware-hardware tertentu.
e.       Manajemen Penyimpan Sekunder
Karena memori utama (primary storage) bersifat volatile dan terlalu kecil untukmengakomodase semua data dan program secara permanen, sistem komputer harus menyediakan penyimpan sekunder (secondary storage) untuk back up memori utama.
Beberapa sistem komputer modern menggunakan disk untuk media penyimpan on-lin,baik program maupun data.
Sistem operasi bertanggung jawab pada aktifitas-aktifitas manajemen penyimpansekunder sebagai berikut:
a. Pengaturan ruang bebas.
b. Alokasi penyimpanan.
c. Penjadwalan disk.

B.     Layanan Sistem Operasi

Sistem operasi menyediakan layanan untuk programmer sehingga dapat
melakukan pemrograman dengan mudah.
a.    Eksekusi Program
Sistem harus dapat memanggil program ke memori dan
menjalankannya. Program tersebut harus dapat mengakhiri eksekusinya dalam
bentuk normal atau abnormal (indikasi error).
b.   Operasi-operasi I/O
Pada saat running program kemungkinan dibutuhkan I/O,
mungkin berupa file atau peralatan I/O. Agar efisien dan aman, maka user tidak
boleh mengontrol I/O secara langsung, pengontrolan dilakukan oleh sistem operasi.
c.    Manipulasi sistem file
Kapabilitas program untuk membaca, menulis, membuatdan menghapus file.
d.   Komunikasi
Komunikasi dibutuhkan jika beberapa proses yang sedang dieksekusi
saling tukar-menukar informasi. Penukaran informasi dapat dilakukan oleh beberapaproses dalam satu komputer atau dalam komputer yang berbeda melalui sistemjaringan. Komunikasi dilakukan dengan cara berbagi memori (shared memory) ataudengan cara pengiriman pesan (message passing).
e.    Mendeteksi kesalahan.
Sistem harus menjamin kebenaran dalam komputasi dengan
melakukan pendeteksian error pada CPU dan memori, perangkat I/O atau pada user
program.
Beberapa fungsi tambahan yang ada tidak digunakan untuk membantu user,
tetapi lebih digunakan untuk menjamin operasi sistem yang efisien, yaitu :
Mengalokasikan sumber daya (resource).  Sistem harus dapat mengalokasikan resource untuk banyak user atau banyak job yang dijalanan dalam waktu yang sama.
Akutansi.  Sistem membuat catatan daftar berapa resource yang digunakan user danresource apa saja yang digunakan untuk menghitung secara statistik akumulasi
penggunaan resource.
Proteksi.  Sistem operasi harus menjamin bahwa semua akses ke resource terkontrol dengan baik

C.    SISTEM CALL

System callmenyediakan antar muka antara program yang sedang berjalan
dengan sistem operasi.  System call biasanya tersedia dalam bentuk instruksi bahasa
assembly.
Pada saat ini banyak bahasa pemrograman yang digunakan untukmenggantikan bahasa assembly sebagai bahasa pemrograman sehingga sistem call dapat langsung dibuat pada bahasa tinggat tinggi seperti bahasa C dan C++.
Terdapat 3 (tiga) metode yang umum digunakan untuk melewatkan parameter
antara program yang sedang berjalan dengan sistem opeasi yaitu :
• Melewatkan parameter melalui register.
• Menyimpan parameter pada tabel yang disimpan di memori dan alamat tabel
tersebut dilewatkan sebagai parameter di register seperti Gambar 2-1.
Push (menyimpan) parameter ke stack  oleh program dan pop (mengambil) isi
stack yang dilakukan oleh system operasi.
Gambar 2-1 : Melewatkan parameter melalui tabel
Pada dasarnya System call dapat dikelompokkan dalam 5 kategori seperti yang dijelaskan pada sub bab di bawah ini.
a.      Kontrol Proses
Hal-hal yang dilakukan:
• Mengakhiri (end) dan membatalkan (abort);
• Mengambil (load) dan eksekusi (execute);
• Membuat dan mengakhiri proses;
• Menentukan dan mengeset atribut proses;
Wait for time;
Wait event, signal event;
• Mengalokasikan dan membebaskan memori.
Contoh: Sistem operasi pada MS-DOS menggunakan sistem singletasking yangmemeiliki command interpreter yang akan bekerja pada saat start (Gambar 2-2).  Karena singletasking, maka akan menggunakan metode yang sederhana untuk menjalankan program dan tidak akan membuat proses baru.  Sistem operasi UNIX dapat menjalankan banyak program (Gambar 2-3).
Gambar 2-2 : Sistem MSDOS : (a) pada saat startup (b) pada saat running
Gambar 2-3 : UNIX menjalankan lebih dari satu proses
b.      Manipulasi File
Hal-hal yang dilakukan:
• Membuat dan menghapus file;
• Membuka dan menutup file;
• Membaca, menulis, dan mereposisi file;
• Menentukan dan mengeset atribut file;
c.       Manipulasi Device
Hal-hal yang dilakukan:
• Meminta dan mmebebaskan device;
• Membaca, menulis, dan mereposisi file;
• Menentukan dan mengeset atribut device;                 

d.      Informasi Lingkungan
Hal-hal yang dilakukan:
• Mengambil atau mengeset waktu atau tanggal;
• Mengambil atau mengeset sistem data;
• Mengambil atau mengeset proses, file atau atribut-atribut device;

e.       Komunikasi
Hal-hal yang dilakukan:
• Membuat dan menghapus sambungan komunikasi;
• Mengirim dan menerima pesan;
• Mentransfer satus informasi;
Ada 2 model komunikasi:
a Message-passing model. Informasi saling ditukarkan melalui fasilitas yang telah
ditentukan oleh sistem operasi (Gambar 2-4a).
b. Shared-memory Model. Proses-proses menggunakan map memory untuk mengaksesdaerah-daerah di memori dengan proses-proses yang lain (Gambar 2-4b).
Gambar 2-4 : Model komunikasi : (a) Message Passing; (b) Shared Memory

D.    SISTEM PROGRAM

System program menyediakan lingkungan yang nyaman untuk pengembangandan eksekusi program.  Kebanyakan user melihat system operasi yang didefinisikan olehsystem program dan bukan system call sebenarnya.
System program adalah masalahyang relatif kompleks, namun dapat dibagi menajdi beberapa kategori, antara lain:
a.      Manipulasi File.
Meliputi: membuat, menghapus, mengcopy, rename, print, dump,
list pada file dan direktori.
b.      Status Informasi.
Meliputi: tanggal, waktu (jam, menit, detik), penggunaan memoriatau disk space, banyaknya user.
c.       Modifikasi File.
Ada beberapa editor yang sanggup digunakan sebagai sarana untuk menulis atau memodifikasi file yang tersimpan dalam disk atau tape.
d.      Bahasa Pemrograman yang mendukung.
Meliputi: Compiler, assambler, dan
interpreter untuk beberapa bahasa pemrograman (seperti: Fortran, Cobol, Pascal,
Basic, C, dan LISP).
e.       Pemanggilan dan Eksekusi Program.
Pada saat program dicompile, maka harusdipanggil ke memori untuk dieksekusi. Suatu sistem biasanya memiliki absoluteloader, melokasikan loader, linkage editor, dan overlay loader. Juga dibutuhkandebugging sistem untuk bahasa tingkat tinggi.
f.       Komunikasi.
Sebagai mekanisme untuk membuat hubungan virtual antar proses,
user, dan sistem komputer yang berbeda.
g.      Program-program aplikasi.
Sistem operasi harus menyokong program-program
yang berguna untuk menyelesaikan permasalahan secara umum, atau membentuk
operasi-operasi secara umum, seperti kompiler, pemformat teks, paket plot, sistem
basis data, spreadsheet, paket analisis statistik, dan games.

E.     STRUKTUR SISTEM INFORMASI

a.    Struktur Sistem MS-DOS
Ada sejumlah sistem komersial yang tidak memiliki struktur yang cukup baik.Sistem operasi tersebut sangat kecil, sederhana dan memiliki banyak keterbatasan. Salahsatu contoh sistem tersebut adalah MS-DOS. MS-DOS dirancang oleh orang-orang yangtidak memikirkan akan kepopuleran software tersebut. Sistem operasi tersebut terbatas
pada perangkat keras sehingga tidak terbagi menjadi modul-modul.
Meskipun MS-DOS mempunyai beberapa struktur, antar muka dan tingkatan fungsionalitas tidak terpisah secara baik seperti pada Gambar 2-5. Karena Intel 8088 tidak menggunakan dual-mode sehingga tidak ada proteksi hardware. Oleh karena itu orang mulai enggan menggunakannya.
Gambar 2-5 : Struktur Layer pada MS-DOS

b.    Struktur Sistem UNIX
Sistem operasi UNIX (Original UNIX) juga terbatas pada fungsi perangkat keras dan struktur yang terbatas. UNIX hanya terdiri atas 2 bagian, yaitu Kernel dan program sistem. Kernel berada di bawah tingkat antarmuka system call dan diatas perangkat lunak secara fisik.
Kernel ini berisi sistem file, penjadwalan CPU, menejemen memori, dan fungsi sistem operasi lainnya yang ada pada sistem call berupa sejumlah fungsi yang besar pada satu level.
Program sistem meminta bantuan kernel untuk memanggil fungsi-fungsi dalam kompilasi dan manipulasi file.  Struktur system UNIX dapat dilihat pada Gambar 2-6.

Gambar 2-6 : Struktur sistem UNIX
c.    Pendekatan Terlapis (Layered Approach)
Teknik pendekatan terlapis pada dasarnya dibuat dengan menggunakan pendekatan top-down, semua fungsi ditentukan dan dibagi menjadi komponenkomponen.Modularisasisistemdilakukandengancaramemecahsistemoperasimenajdibeberapalapis(tingkat).Lapisanterendah(layer0)adalahperangkatkerasdanlapisanteratas(layer N) adalah user interface. Dengan system modularisasi, setiap lapisanmempunyai fungsi (operasi) tertentu dan melayani lapisan yang lebih rendah.  Gambar2-7 menunjukkan system pendekatan terlapis tersebut. 
Contoh sistem operasi yang menggunakan sistem ini adalah:
UNIX termodifikasi, THE, Venus dan OS/2 (Gambar 2-8).  Lapisan pada struktur THE adalah:
Lapis-5 : user program
Lapis-4 : buffering untuk I/O device
Lapis-3 : operator-console device driver
Lapis-2 : menejemen memori
Lapis-1 : penjadwalan CPU
Lapis-0  : hardware


Sedangkan lapisan pada struktur Venus adalah :
Lapis-6 : user program
Lapis-5 : device driver dan sceduler
Lapis-4 : virtual memory
Lapis-3 : I/O channel
Lapis-2 : penjadwalan CPU
Lapis-1 : instruksi interpreter
Lapis-0 : hardware

Comments