STRUKTUR
SISTEM OPERASI OPEN SOURCE
A.
Arsitektur Sistem Operasi Linux
Linux
dan sistem operasi disebut Extended Machine, yaitu sebagai alat perpanjangan tangan
mesin untuk melakukan fungsi dan kegunaannya, terdiri dari bagian-bagian
tertentu yang membentuk suatu struktur kerja secara keseluruhan.
Struktur
sistem operasi open source Linux terdiri dari Karnel, Library, CLI/Shell, XWindows System, Windows
Manager, Desktop, dan Aplikasi.
1.
Karnel
Karnel merupakan bagian utama
sistem operasi Linux. Jika dilihat secara fisik karnel merupakan file yang
berbeda pada folder/boot dengan nama vmlinuz-2.6 xx.x. File ini merupakan
file utama Linux. Jika file ini dihapus, maka secara otomatis Linux tidak akan
bisa dioperasikan. Dalam karnel terdapat library dan driver yang terletak pada /lib/. Fungsi utama karnel adalah mengatur sumber sumber daya memori dan
prosesor serta mengatur akses fisik ke hardware, misalnya akses menuju printer,
keyboard, dan jaringan. Karnel digunakan juga untuk mendukung protocol
standar jaringan TCP/IP dan beberapa protocol lain, serta mendukung kinerja
CD/DVD ROM, sound card, mouse, keyboard.
Aplikasi dan Shell memanggil fungsi
karnel untuk meminta layanan fungsi. Linux menyediakan layanan antara bagian
luar karnel dengan karnel itu sendiri yang berupa system call. Setiap
pemanggilan sistem akan menginstruksikan karnel membentuk layanan tertentu.
2.
Library
Library
terletak
di atas karnel, merupakan file atau
sekumpulan file. Di dalamnya terdapat fungsi atau kelas yang dibutuhkan oleh
program aplikasi yang akan berjalan di atasnya. Contoh library yaitu Glibc,
Libcurl, Libmpg, dan Libpng. Library Getty dibutuhkan ketika akan membuka
CLI/shell. Library Libpng dibutuhkan ketika akan membuka gambar. Library Libmpg
dibutuhkan ketika akan memutar Mp3. Library dapat saling berkaitan, misalnya
library A adalah pondasi dari library B dan program C membutuhkan library B.
Sifat seperti ini yang disebut dengan dependency.
3.
CLI/Shell
CLI/Shell
merupakan aplikasi yang bertugas menerima input perintah user. Berfungsi
sebagai penerjemah (command line
interprenter) atau sebagai terminal. Terminal menjadi
penghubung antara user dengan sistem Linux. User memberikan perintah kemudian
shell mengeksekusi perintah tersebut. Pada sistem operasi Windows sama dengan
menu Command Prompt. CLI/Shell pada Linux tidak terkait dengan GUI-nya.
Shell pada Linux maupun UNIX
digunakan juga sebagai alat control session dan scripting. Shell pada UNIX
menyediakan sekumpulan instruksi khusus yang digunakan untuk membuat shell
script. Linux mempunyai banyak Shell, diantaranya adalah csh, tcsh, sh, ash,
dan bash. Server Linux hanya membutuhkan 3 lapis saja , Hanya tinggal menambah
service (aplikasi yang berjalan dibelakang layar), misalnya webserver apache
untuk menjalankannya.
4.
X
Windows
X Windows disebut juga X, merupakan
library khusus untuk tampilan GUI yang
dibuat oleh MIT dengan dukungan dari DEC. Cara kerja mengikuti sistem client
server. Aplikasi yang menggunakan library ini yaitu KDE, Gnome, dan Openoffice.
5.
Windows
Manager
Windows Manager merupakan pengelola tampilan aplikasi yang berjalan
pada GUI. Windows Manager hanya bertugas menangani posisi aplikasi pada
layar monitor. Windows Manager tidak mempunyai fungsi drag and drop atau yang
lain. iceWM dan GNUStep adalah contoh Windows Manager.
6.
Desktop
Merupakan tampilan antarmuka yang langsung berhubungan dengan
user, dengan menggunakan mouse maka user dapat klik, drag, dan berbagai
kemudahan untuk melakukan perintah. KDE, LXDE, Gnome, dan XFace adalah contoh
desktop pada Linux.
7.
Aplikasi
Aplikasi merupakan program dan lapisan paling atas sistem
operasi Linux. Aplikasi dibuat oleh user untuk memenuhi kebutuhan sendiri. Program
dibuat menggunakan utilitas, perintah shell, atau menggunakan bahasa
pemrograman java, C, C++, dan python. Fungsi aplikasi memudahkan user
berinteraksi dengan komputer untuk tujuan tertentu. Gedit, Open Office dan
Firefox merupakan contoh aplikasi Linux.
B.
Pejadwalan Prosesor
Penjadwalan
prosesor merupakan kumpulan kebijaksanaan dan mekanisme yang terjadi pada
sistem operasi. Penjadwalan prosesor berkaitan dengan urutan kerja yang dilakukan oleh sistem
komputer. Pada Linux terdapat dua algoritma penjadwalan prosesor yaitu
algoritma time sharing dan algoritma real time yang terpisah satu
sama lain. Algoritma time sharing digunakan untuk penjadwalan
prioritas yang sama rata di antara semua proses. Algoritma yang kedua di
desain untuk tugas real-time yang prioritas mutlak lebih utama daripada keadilan
mendapatkan suatu pelayanan.
Bagian dari tiap identitas proses
merupakan class penjadwalan. Class ini akan menentukan algoritma yang
digunakan untuk setiap proses. Kelas penjadwalan yang digunakan oleh Linux
terdapat dalam standar perluasan POSIX untuk sistem komputer real time. Linux menerapkan dua kelas penjadwalan
waktu yang dibutuhkan oleh POSIX yaitu FIFO (First In First Out) dan
round-robin.
Pada keduanya, tiap proses memiliki
prioritas sebagai tambahan kelas penjadwalannya. Dalam penjadwalan time-sharing
proses dan prioritas yang berbeda dapat bersaing dengan beberapa pelebaran.
Penjadwalan waktu nyata selalu menjalankan proses dengan prioritas yang tinggi.
Di antara proses dengan prioritas yang sama, maka proses yang sudah mengganggu
lama akan dijalankan terlebih dahulu.
Pada FIFO proses akan dilanjutkan
sampai keluar atau diblokir, sedangkan proses round robin akan diprioritaskan
setelah beberapa saat dan akan dipindahkan pada akhir antrian. Proses
round-robin dengan prioritas yang sama akan secara otomatis membagi waktu
dengan sendirinya.
C.
Manajemen Memori
1.
Manfaat
Manajemen Memori
Memori manajemen merupakan bagian
penting pada sistem operasi komputer. Adanya keterbatasan memori maka
diperlukan suatu strategi dalam menangani memori komputer. Keterbatasan memori
dapat diatasi dengan menggunakan memori virtual. Memori virtual akan membuat
memori yang sama menjadi lebih besar daripada ukuran sebenarnya. Manfaat memori
virtual antara lain sebagai berikut:
a. Ruang alamat
yang besar
Sistem operasi
membuat memori terlihat lebih besar daripada ukuran memori sebenarnya. Memori
virtual bisa beberapa kali lebih besar daripada memori fisiknya.
b. Pembagian memori
fisik yang merata
Manajemen memori
membuat pembagian yang merata dalam mengalokasikan memori antara proses yang
berjalan.
c. Perlindungan
Manajemen memori
menjamin setiap proses dalam sistem terlindung dari proses lainnya. Program
yang crash tidak akan mempengaruhi proses lain dalam sitem tersebut.
d. Penggunaan
memori virtual bersama
Memori virtual
memungkinkan dua buah proses berbagi memori diantara keduanya. Pada shared
library, kode library bisa berada di satu tempat, dan tidak dicopy pada dua
program yang berbeda.
2.
Memori
Virtual
Memori fisik dan memori virtual
dibagi menjadi bagian-bagian yang disebut page. Page memiliki ukuran yang sama
besar. Setiap page mempunyai nomor unik
yang disebut Page Frame Number (PFN). Komputer akan melakukan mapping dari
alamat virtual ke memori fisik yang sebenarnya pada setiap instruksi pada
program yang akan dieksekusi.
Penerjemah alamat diantara virtual
dan memori fisik dilakukan oleh komputer menggunakan table page untuk proses x
dan proses y. Virtual PFN 0 dari proses x di map ke memori fisik PFN 1. Setiap
anggota table page mengandung informasi virtual PFN, PFN fisik, dan informasi
akses page dari page tersebut.
Untuk menerjemahkan alamat virtual
ke alamat fisik komputer harus menangani alamat virtual PFN dan offset-nya pada virtual page. Komputer
akan mencari tabel page proses dan mencari anggota yang sesuai dengan virtual
PFN. Hasilnya adalah PFN fisik yang dicari. Komputer kemudian menganbil PFN
fisik dan mengkalikannya dengan besar page untuk mendapat alamat basis page
tersebut di dalam memori fisik. Kemudian komputer menambahkan offset ke
instruksi atau data yang dibutuhkan. Dengan cara ini, memori virtual dapat di
map ke page fisik dengan urutan yang teracak.
3.
Demand
Paging
Teks untuk menghemat memori fisik
adalah dengan hanya meload page virtual
yang sedang digunakan oleh program dan sedang dieksekusi. Teknik ini
disebut demand paging.
D.
Manajemen Input/Output (I/O)
Teknik utama yang paling sering
dilakukan sistem komputer selain melakukan komputasi adalah melakukan
input/output. Waktu yang digunakan untuk melakukan komputasi lebih sedikit
dibandingkan waktu yang digunakan untuk melakukan input/output. Dengan
banyaknya variasi perangkat input/output membuat manajemen input/output menjadi
komponen penting bagi sitem operasi. Sistem operasi disebut juga device
manager, karena salah satu fungsinya yaitu mengatur
berbagai macam perangkat (device).
Fungsi sistem
operasi untuk manajemen input/output yaitu sebagai berikut.
a.
Menampung
data sementara dari dan ke perangkat input/output (buffering).
b.
Melakukan
penjadwalan pemakaian input/output sistem agar lebih efisien (scheduling).
c.
Meletakkan
pekerjaan program pada buffering agar setiap perangkat dapat mengaksesnya pada
saat perangkat tersebut telah siap (spooling).
d.
Menyediakan
driver perangkat keras umum. Driver digunakan agar
sistem operasi dapat memberi perintah untuk melakukan operasi pada perangkat
keras input/output umum (optical drive, media penyimpanan sekunder, dan layar
monitor).
e. Menyediakan driver
perangkat keras khusus. Driver digunakan agar sistem
operasi dapat memberi perintah untuk melakukan opersi pada perangkat keras
input/output khusus (kartu suara, kartu grafis, dan motherboard).
Menyediakan device driver yang umum
pada operasi input/output dapat dapat melakukan proses yang sama (membuka,
membaca, menulis, dan menutup). Manajemen sistem input/output merupakan aspek
perancangan sistem operasi yang paling luas. Luas cakupan disebabkan beragamnya
perangkat dan banyaknya aplikasi peragkat tersebut. Sistem operaasi bertanggung
jawab pada aktivitas yang berhubungan dengan manajemen sistem perangkat
input/output yaitu sebagai berikut.
a.
Mengirim
perintah ke perangkat input/output untuk menyediakan layanan.
b.
Menangani
interupsi perangkat input/output.
c.
Menangani
kesalahan perangkat input/output.
d.
Menyediakan
antarmuka ke user.
Manajemen
input/output meliputi hal-hal sebagai berikut:
1.
Polling
a. Busy-waiting/polling
terjadi ketika host mengalami looping. Status register secara terus-menerus
terbaca sampai dengan status busy di-clear.
b. Pada
dasarnya polling dapat dikatakan efisien. Polling menjadi tidak efisien ketika
setelah berulan-ulang melakukan looping menemukan sedikit device yang siap
untuk melakukan service. Hal tersebut dikarenakan proses yag tersisa belum
selesai.
2.
Interrupt
Mekanisme dasar interupsi yaitu sebagai berikut.
a. Ketika
komputer mendeteksi sebuah controller telah mengirimkan sinyal ke interrupt
request line (membangkitkan sebuah interupsi), Komputer kemudian menangkap da
menjawab interupsi tersebut dengan menyimpan beberapa informasi mengenai state
terbaru.
b. Pada
arsitektur komputer modern, tiga fitur disediakan oleh komputer dan interrupt
controller (pada perangkat keras) untuk dapat menangani interupsi dengan lebih
baik. Tiga fitur tesebut yaitu sebagai berikut.
1.
Mempunyai
kemampuan menghambat sebuah proses interrupt handling selama proses berada
dalam critical state.
2.
Efisiensi
penanganan interupsi sehingga tidak perlu dilakukan polling untuk mencari
device yang mengirimkan interupsi.
3.
Adanya perubahan
konsep Multi level interupsi sedemikian rupa sehingga terdapat prioritas dalam
penanganan interupsi, diimplementasikan dengan interrupt priority level system.
Penyebab interupsi yaitu sebagai berikut.
a. Exception,
page fault, interupsi yang dikirimkan oleh device controllers, dan system call
Exception. Suatu kondisi dimana terjadi sesuatu/dari sebuah operasi didapat
hasil tertentu yang dianggap khusus sehingga harus mendapat perhatian lebih.
Contohnya pembagian dengan 0 (nol) dan pengaksesan alamat memori yang
restricted atau bahkan tidak valid.
b. System
cll merupakan sebuah fungsi pada aplikasi perangkat lunak yang dapat
mengeksekusikan instruksi khusus berupa software interrupt atau trap.
3.
Direct
Memory Access (DMA)
DMA
digunakan untuk menangani kebutuhan transfer data dengan kecepatan tinggi dan
dengan jumlah yang besar menuju peralatan input/output.
Transfer data yang besar akan memperlambat kinerja proesor. Rangkaian control
unit yang melakukan transfer data disebut DMA controller. Proses transfer data
oleh DMA controller tidak melibatkan prosesor karena akan ditransfer lagsug
antara device dan memori utama.
DMA controller harus menyediakan
memory address dan semua sinyal bus yang mengendalikan transfer data untuk setiap
byte yang di transfer. DMA controller dapat melakukan transfer data tanpa
melibatkan prosesor dengan memanfaatkan kontrol
operasi suatu program yang dieksekusi oleh prosesor. Transfer suatu blok
word, prosesor megirimkan alamat awal data pada memori yang akan di transfer,
jumlah word data dalam blok, dan arah transfer.
4.
Handshaking
Handshaking
merupakan proses negosiasi otomatis yang secara dinamis menentukan parameter
dalam pembentukan kanal komunikasi antara dua entitas sebelum komunikasi
melalui kanal dimulai. Proses handshake melibatkan
pertukaran cryptographic keys, certificate, dan informasi lain. Random data
digunakan untuk enkripsi satu waktu dan value digunakan untuk identifikasi
SSL.Tujuan handshake yaitu sebagai berikut.
a. Memberikan
akses persetujuan algoritma yang akan dipakai.
b. Melibatkan
kumpulan crypto keys digunakan pada logaritma tersebut.
c. Mengautentikasi
client.
No comments:
Post a Comment