Universitas Gadjah Mada 1 BAB VII SISTEM OPERASI

advertisement
BAB VII
SISTEM OPERASI
VII.1 Fungsi Sistem Operasi
Sistem operasi dapat dipandang sebagai suatu antarmuka antara pengguna dengan
perangkat keras sistem. Sistem operasi akan menyediakan suatu lingkungan yang nyaman
bagi pengguna, sehingga dapat mengerjakan sesuatu pada aras tinggi dan tidak perlu
khawatir tentang bagaimana yang sesungguhnya terjadi pada operasi perangkat keras aras
rendah. Sistem operasi yang biasa digunakan pada komputer IBM PC sampai mat ini adalah
MS DOS (Microsoft DOS) dengan DOS sendiri merupakan kepanjangan dari Disk Operating
System. Sistem operasi lain yang juga banyak digunakan adalah Windows, UNIX, dan lain
sebagainya.
Secara umum sistem operasi berfungsi sebagai :
1. Koordinator, yang memberikan fasilitas sehingga segala aktivitas yang kompleks dapat
dikerjakan dalam urutan yang benar.
2. Sebagai pengawal, yang memegang kendali proses untuk melindungi file dan memberi
batasan pada pembacaan, penulisan, cksekusi data dan program.
3. Penjaga gerbang, yang akan mengawasi siapa saja yang dapat masuk ke sistem
komputer.
4. Pengoptimal, yang akan membuat skedul atas beberapa masukan pengguna, akses
basis data, komputasi, keluaran, dan lain sebagainya untuk meningkatkan kinerja sistem.
5. Akuntan, yang menjaga pewaktuan CPU tetap berada pada jalur yang benar,
penggunaan memori, operasi I/O, penyimpanan pada disk, dan lain sebagainya.
6. Server, yang memberikan pelayanan yang diperlukan pengguna, seperti restrukturisasi
direktori file.
Terdapat beberapa cara perancangan dan struktur sistem operasi, tetapi hampir
semua perancangan meliputi delapan komponen utama yang sering disebut sebagai lapisanlapisan (layers), seperti yang diperlihatkan pada Gambar 7.1. Lapisan-lapisan tersebut
adalah :
Command interpreter, yang berfungsi untuk menterjemahkan instruksi dan perintah yang
diberikan oleh pengguna agar sesuai dengan lapisan di bawahnya yang nantinya dapat
menggerakkan perangkat keras.
Long-term scheduler, berfungsi untuk menentukan proses mana yang diperbolehkan
memasuki sistem.
Resource manager, berfungsi mengalokasikan piranti-piranti (komponen) sistem selain
CPU dan memori dalam proses eksekusi.
Universitas Gadjah Mada
1
Gambar 7.1 Lapis-lapis pada Sistem Operasi (OS).
Short-term shceduler, berfungsi untuk memilih proses berikutnya yang akan dieksekusi
oleh CPU.
File manager, berfungsi untuk mengatur piranti-piranti penyimpan file informasi, seperti
disket, hard disk, pita magnetik, compact disk, dan lain sebagainya.
IOCS (I/O Control System), yang akan memberi pelayanan program permintaan masukan /
keluaran dari pengguna.
Memory Manager, berfungsi untuk menentukan seberapa banyak memori yang diinstal, dan
area mana dari memori yang dapat digunakan oleh pengguna.
Kernel, merupakan lapisan terbawah dan berfungsi sebagai antarmuka anatara lapis
diatasnya dengan perangkat keras. Lapisan kernel bertanggung jawab mengkoordinasi
operasi dari semua proses yang berasal dari sistem operasi.
VII.2 Manajemen Memori
Manajemen memori memegang peranan yang sangat penting dalam sistem operasi
dan akan menentukan kecepatan proses eksekusi, terutama pada sistem operasi yang
digunakan untuk pengguna jamak (multi users). Terdapat beberapa metoda dalam
manajemen memori untuk pengguna jamak.
VII.2 Pembagian Halaman
Pada metoda ini sistem akan membagi memori dan masing-masing proses dari
pengguna kedalam bagian-bagian yang disebut halaman. Hampir pada semua sistem
ukuran dari halamannya mempunyai kuantitas yang tetap. Sistem operasi akan membuat
Universitas Gadjah Mada
2
suatu daftar dari halaman yang tersedia dan menandainya untuk proses yang diperlukan.
Halaman-halaman ini tidak perlu diurutkan selama sistem operasi mengetahui lokasinya.
Alamat logik dari pengguna akan dipetakan atau ditranslasikan kedalam lokasi fisik memori
melalui suatu tabel yang disebut tabel pemetaan halaman (page map table) atau PMT. Untuk
versi yang sederhana (tetapi kadang tidak praktis) dari pembagian halaman diambil asumsi :
1. Semua halaman proses harus dimuat dalam memori sebelum dieksekusi.
2. Setelah selesai, halaman ini harus ditulis kembali ke memori sekunder, karena
isinya mungkin dapat berubah.
Tabel 7.1 Contoh pemetaan halaman/memori untuk halaman 100 kata.
Nomor halaman memori
Lokasi memori aktual
000
00000 - 00099
001
00100 - 00199
002
00200 - 00299
.
.
.
.
128
12800 - 12899
.
.
.
.
Sebagai contoh, ukuran halaman yang sembarang pada 100 lokasi memori. Kita
dapat menandai halaman-halaman ke memori yang dimulai pada lokasi 00000, dan halaman
pada memori akan ditandai seperti yang diperlihatkan pada Tabel 7.1
Misalkan suatu proses memerlukan lima halaman dan sistem telah berjalan beberapa
saat, maka sistem operasi mungkin akan menandai halaman memori secara terpencar
seperti yang diperlihatkan dalam PMT pada Tabel 7.2.
Tabel 7.2 Contoh tabel pemetaan halaman yang terpencar.
Nomor halaman
Nomor halaman memori
Lokasi memori
program
yang ditandai
0
102
10200 - 10299
1
513
51300 - 51399
2
631
63100 - 63199
3
204
20400 - 20499
Universitas Gadjah Mada
3
4
387
38700 - 38799
Gambar 7.2. Translasi Alamat Halaman.
Selama eksekusi suatu lokasi program individual (misal lokasi 83 pada halaman
program 3), akan dipetakan kedalam lokasi fisik memori yang sesuai sebelum memori benarbenar diakses.
Proses pemetaan halaman dapat dilakukan dalam dua cara. Pertama dengan
menambahkan jarak (displacement) atau offset ke alamat awal halaman seperti yang
diperlihatkan pada Gambar 7.2 (a), atau dengan memisahkan atau memotong halaman
dengan offset halaman seperti pada gambar (c). Yang akan mempunyai hasil yang sama.
VII.2.2 Segmentasi
Terdapat perbedaan mendasar antara segmentasi dan pembagian halaman. Pada
segmentasi pengguna dapat memisahkan dan mengidentifikasi komponen logika dari
program. Misalnya pengguna ingin menentukan bahwa dalam source programnya terdapat
tiga kode segmen, yaitu INPUT, SORT, dan ANALISIS, dan dua data segmen PERMANEN
dan TRANSAKSI BARU. Maka akan ditandai ID dari segmen dengan nomor 0, 1, 2, 3, dan 4
oleh kompiler. Lokasi spesifik di dalam segmen akan diidentifikasi sebagai suatu offset awal
suatu segmen,
Misalkan
suatu
instruksi
PERMANEN/GROSS_PAY
:=
0,
maka
akan
diinterpretasikan sebagai "set peubah dengan nama GROSS PAY didalam segmen
PERMANEN menjadi 0". Misalkan GROSS_PAY berada pada offset 195 dalam segmen
PERMANEN, maka lokasi programnya kan menjadi segmen 3, offset 195.
Universitas Gadjah Mada
4
Kita masih perlu untuk menterjemahkan lokasi program dan data kedalam lokasi
fisik memori aktualnya pada saat eksekusi. Dalam hal ini juga digunakan satu tabel untuk
mengimplementasikan pemetaan memori dengan menggunakan segment map table
(SMT) dengan masukan-masukan yang menunjukkan alamat awal dari masing-masing
segmen.
Gambar 7.3 memperlihatkan format SMT dengan segmen ID sama dengan
nomor halaman dan mengidentifikasikan segmen mana yang sedang dijadikan acuan.
Segmen berbeda dengan halaman karena mempunyai panjang yang bervariasi dan
dapat didefinisikan oleh pengguna
Gambar 7.3 Medan-medan dalam suatu Masukan Tabel Peta Segmen.
Nama segmen mengidentifikasikan masukan tabel segmen yang sesuai dengan nomor
ID segmen. Medan kedua menspesifikasikan hak akses dari pengguna, seperti hanya
dapat dibaca, atau hanya dapat dieksekusi. Medan ketiga diperlukan karena segmen
tidak akan dimuat sampai saatnya diperlukan, sehingga perlu diketahui dimana segmen
sesungguhnya berada, pada memori primer atau pada disk.
Medan keempat dan kelima memberikan informasi yang diperlukan untuk memuat
segmen dan mentranslasikan alamat program kedalam lokasi memori yang sesuai.
Panjang segmen ditambah alamat awal akan menentukan ruang segmen dalam memori.
Alamat aktual dari elemen program dapat dihitung seperti yang diperlihatkan pada
Gambar 7.4. di bawah ini.
Nomor segmen
Alamat awal
Panjang segmen
0
10231
752
1
15956
364
2
20400
996
3
00342
355
4
29040
042
(a) Cuplikan suatu SMT.
Alamat awal segmen 3
00342
Nilai offset
+ 195
Lokasi memori aktual
00537
Universitas Gadjah Mada
5
(b) Translasi Alamat.
Gambar 7.5. Translasi Alamat Segmen.
VII.3 Operasi Masukan dan Keluaran
Salah satu pelayanan utama yang diberikan OS (Sistem Operasi) adalah
kemampuan untuk mengakses piranti I/O (Input/Output) secara sederhana dan konsisten.
Misal suatu statemen masukan dari program (misal dalam bahasa Pascal):
readln (input, buffer);
Statemen ini memberikan informasi yang diperlukan untuk membangkitkan kode yang
meminta suatu operasi masukan dari OS.
Kata kunci "readln" memberitahu kompiler bahwa diinginkan suatu operasi masukan.
Parameter "input" menspesifikasikan piranti peripheral tempat informasi akan dimasukkan
(biasanya dari keyboard atau disk). Parameter "buffer" memberitahu kompiler dimana
informasi yang dimasukkan akan disimpan.
Kompiler harus mengubah kode sumber ini kedalam suatu permintaan masukan yang
akan diolah oleh OS. Untuk mengerjakan operasi ini, kompiler akan membangkitkan suatu
panggilan ke OS, yang pada beberapa sistem umumnya terdiri atas:
1. PUSH BUFFPTR
2. PUSH CTRLPTR
3. CALL IOCS
dengan :
CTRLPTR mendefinisikan alamat dari kontrol informasi yang akan memberitahu sistem
I/O bahwa suatu pembacaan diminta dari salah satu piranti yang ditcntukan.
BUFFPTR mendefinisikan alamat dari buffer data.
IOCS adalah alamat dalam OS tempat rutin pengolah permintaan I/O berada.
VII.3.1 Input/Output Control System - IOCS
Semua permintaan I/O harus melalui IOCS, yang bertanggung jawab dalam menguji
apakah piranti telah tersedia sebelum operasi dimulai dengan mengecek status dari piranti
peripheral sesudah permintaan dipenuhi, juga mengkonfirmasikan bahwa permintaan telah
dilewatkan pada driver piranti yang benar. Secara esensial merupakan suatu kendali traffic.
Permintaan suatu proses umumnya dibuat untuk alasan berikut :

Untuk transfer data (baca atau tulis)

Untuk mencek status piranti

Untuk mengatur posisi suatu piranti, seperti gerakan head pada disk.
Operasi I/O umumnya membutuhkan waktu yang relatif panjang (dibandingkan dengan
operasi internal CPU), dan proses pemanggilannya biasanya tidak dapat dilayani sampai
Universitas Gadjah Mada
6
permintaan IOCS lengkap. Oleh karena itu kendali transfer dari CPU dapat dialihkan ke
proses lainnya dalam sistem selama operasi I/O. Hal ini dilakukan dengan meletakkan
proses pemanggilan dalam keadaan tunda. IOCS juga menentukan piranti. I/O mana yang
akan di gunakan untuk masing-masing permintaan I/O.
VII.3.2 Device Driver
Device driver adalah suatu rutin program sistem yang berkomunikasi dengan
perangkat keras I/O, yang dapat dipisahkan menjadi dua bagian, yaitu bagian inisialisasi
dengan bagian penyambung. Bagian inisialisasi bertanggung jawab untuk mendapatkan
misalnya suatu operasi I/O. Sedangkan bagian penyambung bertanggung jawab untuk
menanggapi suatu interupsi dan mentransfer data sesudah operasi dimulai.
Fungsi pertama yang harus dikerjakan dari bagian inisialisasi adalah melakukan
konfirmasi apakah piranti tersebut dapat melakukan operasi yang diminta. Sebagai contoh,
hampir semua sistem tidak akan membiarkan pengguna membaca data masukan dari
printer. Jika driver mendeteksi suatu permintaan yang tidak didukung oleh perangkat keras
yang tersambung, maka akan dilewatkan suatu parameter yang memberitahu IOCS bahwa
telah terjadi error. IOCS kemudim dapat memutuskan untuk mengabaikan proses
pemanggilan atau hanya menginformasikan bahwa telah terjadi error dalam proses I/O dan
membiarkan proses di lanj utkan.
Sebelum driver menginisialisasi suatu transfer data, maka harus ditentukan status
dari piranti, yang biasanya dilakukan dengan memuat isi dari register status piranti kedalam
CPU dan menguji variasi bitnya. Semua data yang diminta, oleh proses akan dibaca dari
atau dikeluarkan ke piranti peripheral. Driver akan mengenal situasi saat pencacah dari
transfer yang tersisa mencapai nol. Pada saat ini driver akan melakukan cek akhir atas
status register dan mengembalikan kendali ke IOCS.
IOCS kemudian harus mengerjakan sesuatu atas proses yang membuat suatu
permintaan. Jika dideteksi adanya error selama operasi I/O, IOCS akan memindahkannya
dari keadaan tunda ke keadaan aktif. Jika terjadi error, maka IOCS mempunyai beberapa
pilihan:
1. Meminta operasi tersebut dicoba lagi.
2. Mengabaikan proses dan mengirim pesan error ke operator.
3. Mengirim status dari proses dan membiarkan operator memutuskan apa yang
akan dilakukan.
Universitas Gadjah Mada
7
VII.4 File dan Penyimpanan Informasi.
Konsep file dalam OS adalah agar pengguna dapat beroperasi dalam "bidang logika"
dan tidak perlu memikirkan tentang detail fisiknya (yang meliputi permukaan disk, track,
sector, offset, dan lain-lain). Pengguna juga harus dapat berganti piranti, seperti floppy disk
atau liar disk, tanpa mempengaruhi pandangan logik dari file.
Pengguna akan menspesifikasikan suatu perancangan file dan sistem yang akan
membuat fungsi pemetaan ke perangkat keras fisik tempat file berada. Idealnya, diinginkan
agar OS membuat pemetaan ini setransparan mungkin.
VII.4.1 Karakteristik File
File dalam suatu sistem dapat berupa urutan sembarang dari bit atau byte. Struktur
umum suatu file terdiri atas unit logika yang disebut record, seperti yang diperlihatkan pada
Gambar 7.5.
Gambar 7.5 Struktur File secara Umum.
Record akan dibagi lagi menjadi medan-medan (field), yang merupakan unit akses terkecil
dari struktur file ini.
Nama file dapat berupa suatu string karakter yang sederhana seperti "BAB 7". File
dapat mempunyai suatu ekstensi yang disebut qualifier yang berupa karakter string yang
ditambahkan ke nama file basisnya. Qualifier ini merupakan informasi yang penting tentang
file yang bersangkutan. Untuk sintaks IBM DOS, qualifier terdiri atas tiga karakter yang
dipisahkan dari nama file dengan titik, seperti COMMAND.COM, WS.EXE. Dalam contoh ini
COM dan EXE menunjukkan bahwa jenis file ini dapat dieksekusi.
Nama basis suatu file dengan ekstensinya disebut sebagai nama lokal. File pada
piranti yang sama tetapi dalam daerah yang berbeda dapat dispesifikasikan dengan
Universitas Gadjah Mada
8
manambahkan
nama
lintasan
tempat
file
berada
dan
nama
lokalnya,
seperti
C:\WINWORD\DATA\COBA.DAT yang biasa disebut sebagai nama global atau full name.
Hampir semua sistem operasi juga menyimpan informasi file lainnya yang disebut
atribut, yang meliputi pemilik, tanggal pembuatan, tanggal pengubahan terakhir, dan lain
sebagainya. Aspek lain yang cukup penting adalah bagaimana cara pengorganisasiannya.
Organ isasi file mengacu pada aras logik tempat file akan diakses, juga metoda aksesnya.
Pada aplikasi khusus, akses logik dapat berada pada aras record. Dua metoda pengaksesan
standard yang digunakan adalah akses sekuensial dan akses langsung (akses acak).
VII.4.2 Pencarian File
Sistem operasi melakukan pemetaan atas file logik dari pengguna ke file fisik. Bagian
dari pemetaan meliputi pencarian awal dari file fisik yang nama file logiknya diberikan oleh
pengguna. Struktur data yang digunakan dalam operasi ini adalah direktori file, yang sering
juga disebut catalog.
Nama file logik ------ lokasi awal file fisik
Strukturisasi elemen di atas dapat dilakukan dengan menggunakan daftar linear dari
pasangan nama/titik-awal. Metoda ini biasanya hanya digunakan untuk direktori yang sangat
kecil, karena waktu pencarian untuk direktori yang lebih besar menjadi sangat lama.
Misal suatu perusahaan mempunyai 10 divisi, masing-masing divisi mempunyai 20
tim yang masing-masing terdiri atas 5 orang, dan masing-masing orang menyimpan 200 file.
Dengan satu direktori linear yang besar akan mempunyai 200.000 masukan, dan pencarian
rata-rata akan memanggil dan menguji 100.00 dari masukan tersebut. Bergantung pada
kecepatan perangkat keras dan muatan sistem, hal ini akan mengakibatkan tunda waktu
pencarian yang sangat panjang yang mungkin tidak dapat ditolerir oleh pengguna.
Cara lain adalah dengan membuat struktur direktori menjadi aras-aras yang sesuai
dengan organisasi perusahaan, sehingga ruang pencarian akan menjadi :
Cari divisi
direktori dengan 10 masukan
Cari tim
direktori dengan 20 masukan
Cari personil direktori dengan 5 masukan
Can file
direktori dengan 200 masukan
Sekarang terdapat empat pencarian, tetapi paling tinggi 200 item. Waktu pencarian rata-rata
akin membutuhkan sekitar 117 akses, jadi terjadi penurunan sekitar 850/1 dari teknik
sebelumnya. Diagram struktur direktori ini diperlihatkan pada Gambar 7.6. Penamaan
lengkap untuk struktur ini adalah klivisiltim\personil\file.
Universitas Gadjah Mada
9
Gambar 7.6 Contoh Struktur Direktori Multilevel.
VII.5 Short-term Schedulling
Merupakan suatu rutin yang mengatur bagaimana pengalokasian CPU selama
proses. Terdapat dua jenis skedul ini, yaitu,first-come-first-serve schedulling dan RoundRobin schedulling.
VII.5 .1 First-Come-First-Serve scheduling
Merupakan kebijaksanaan dasar yang dipilih untuk menghasilkan pelayanan dalam
banyak aplikasi. Biasa disebut juga FIFO (First In First Out). Alasan pemilihan FCFS untuk
skedul CPU terutama adalah kesederhanaannya, sehingga menjadi lebih cepat dan efisien.
Disamping itu kebijaksanaan ini hanya memerlukan informasi yang sangat sedikit tentang
skedul proses.
VII.5.2 Round Robin Schedulling
Skedul ini diperlukan untuk mengurangi waktu tunggu atas tanggapan sistem dari
terminal pengguna. Cara ini sering digunakan untuk menekan waktu proses yang panjang.
Besarnya waktu proses yang dapat digunakan dalam kondisi eksekusi pada setiap siklus
sangat terbatas. Jika suatu proses tidak dapat selesai dalam satu besaran waktu tertentu,
maka akan dihilangkan dari kondisi eksekusi, dan diletakkan kembali pada akhir antrian yang
aktif. Proses harus melakukan antrian lagi sebelum diijinkan untuk dieksekusi. Metoda ini
disebut skedul round-robin atau RR.
Universitas Gadjah Mada
10
Alasan penggunaan skedul FCFS adalah untuk penyederhanaan dan efisiensi,
sedangkan alasan penggunaan skedul RR adalah lebih subyektif. Alasan utama adalah
pengguna akan lebih senang dan lebih produktif jika mereka mendapat tanggapan yang
cepat atas permintaannya yang sederhana.
VII.6 Manajemen Sumberdaya
Pengalokasian sumberdaya termasuk CPU dan memori merupakan salah satu fungsi
utama dari sistem operasi. Terdapat dua pendekatan berbeda dalam pengalokasiannya.
Alokasi static, mensyaratkan bahwa suatu proses harus menspesifikasi dan menerima
semua sumberdaya yang akan diperlukan sebelum memulai eksekusi, sedangkan alokasi
dinamis memperbolehkan proses untuk meminta dan menerima sumberdaya selama
eksekusi.
Sumberdaya dapat diklasifikasikan menjadi dua kategori, yaitu penggunaan kembali
secara serial (atau dapat digunakan bersama) dan penggunaan kembali secara non-serial.
Pada penggunaan kembali secara serial, sumberdaya dapat diambil sementara dari suatu
proses sebelum proses tersebut selesai. Pada penggunaan kembali secara non-serial,
proses harus diijinkan menggunakan sumberdaya sampai selesai.
Salah satu sumberdaya pada sistem yang harus digunakan bersama oleh proses
adalah CPU. Pada sistem dengan pengguna jamak (multi user), akan memperbolehkan
suatu proses untuk menggunakan CPU untuk suatu periiode waktu, kemudian CPU dapat
diambil dan dialokasikan ke proses yang lain. Selama seluruh register CPU dan status
internalnya disimpan dengan benar, hal ini tidak akan menimbulkan masalah. Karena CPU
dapat digunakan bersama secara serial, maka CPU diklasifikasikan sebagai sumberdaya
yang dapat digunakan kembali secara serial.
Misalkan pada salah satu sumberdaya sistem, yaitu printer. Misal dua proses
berusaha untuk menggunakan printer bersama-sama seperti penggunaan CPU. Salah satu
proses akan mengirim keluaran ke printer dan memakai printer terlebih dahulu. Jika proses
kedua mengirim keluarannya ke printer, maka keluaran dari proses-proses tersebut akan
saling tumpang-tindih dan menjadi tidak berguna. Hal ini berarti saat pengalokasian printer
harus hanya pada satu proses sampai proses tersebut selesai. Karena printer tidak dapat
digunakan bersama diantara
proses-proses,
maka
printer
diklasifikasikan sebagai
sumberdaya yang penggunaannya kembali tidak serial.
Universitas Gadjah Mada
11
VII.7 Long-Term Schedulling
Seperti telah dibahas pada sub-bab terdahulu, short-time scheduller bekerja dengan
proses yang telah berada pada sistem, yang akan menentukan mana dari proses yang aktif
yang akan dieksekusi selanjutnya. Long-term schedulling bekerja berdasar suatu permintan
untuk membentuk suatu proses, yang akan menentukan mana dari permintaan-permintaan
tersebut yang akan dilayani, kemudian yang nantinya akan menentukan proses mana yang
sesuai dan akan dieksekusi.
Dalam sistem operasi Long-term schedulling dilakukan dengan membuat suatu daftar
tunggu permintaan, yang masing-masing ingin membentuk suatu proses yang akan
dijalankan. Jika sistem dapat mengakomodasi proses lain, maka Long-term scheduller akan
memilih suatu pennintaan dari daftar tunggu ini. Pengenal proses akan dibuat dan
dimasukkan ke dalam sistem, yang selanjutnya dilakukan pembuatan proses yang sesuai.
Salah satu metoda skeduling sederhana adalah mengambil proses berdasarkan
urutan kedatangannya, dengan menggunakan FCFS, dan kriteria skeduler didasarkan atas
waktu kedatangan. Long-term scheduller biasanya dianggap sebagai komponen sistem
operasi yang paling jauh. Pengguna dapat berinteraksi dengan lapisan (layer) ini melalui
command interpreter atau shell scperti misalnya saat kita mengetikkan RUN MYPROG.
VII.8 Lapisan Kernel
Lapisan Kernel merupakan lapisan terbawah dari sistem operasi yang merupakan
antarmuka antara perangkat keras dan perangkat lunak di atasnya. Lapisan ini
bertanggung jawab dalam pengkoordinasian operasi dari proses-proses yang membentuk
sistem operasi. Setiap sistem operasi mempunyai fungsi tambahan dalam kernel yang
berbeda. Lapisan kernel dari UNIX mengandung hampir semua sifat-sifat OS yang dibahas
pada sub-bab terdahulu. Kernel yang diperkenalkan oleh Lister [1979] hanya mempunyai
tiga fungsi elementer, yaitu:
1.
Dispatcher, yang bertanggung jawab dalam peletakan proses kedalam eksekusi.
2.
Kontrol Semaphore. yang mengendalikan akses ke semaphore yang digunakan untuk
sinkronisasi proses.
3.
Penanganan interupsi aras pertama FLIH (First Level Interupt Handler), yang
menganalisis semua interupsi dan memulai penanganan yang benar.
VII.9 DOS (Disk Operating System)
DOS adalah salah satu sistem operasi khusus untuk komputer berbasis 80xxx.
Digunakannya sebutan DOS dan bukan OS karena sistem operasi ini terdiri atas programprogram yang dirancang berdasarkan suatu anggapan bahwa berkas-berkas yang
dibutuhkan dapat ditemukan (disimpan) didalam disk. PC DOS atau MS DOS mempunyai
Universitas Gadjah Mada
12
beraneka fungsi yang memungkinkan sebuah program dengan mudah dapat memanfaatkan
perangkat keras yang menjalankannya.
ROM BIOS (Basic Input/Output System) adalah bagian perangkat lunak sistem
operasi yang disimpan di dalam perangkat keras komputer, yaitu pada IC ROM (Read only
Memory). Fungsi utamanya adalah mengatur fungsi-fungsi masukan dan keluaran komputer.
Sama seperti DOS, didalamnya terdapat rutin-rutin yang menanggapi pemanggil-pemanggil
fungsi. DOS banyak menggunakan sejumlah kemampuan ROM BIOS. Selain menunjang
operasi I/O, ROM BIOS juga mendukung :
1. bootstrap komputer primer
2. rutin-rutin yang menguji dan melaporkan kesalahan yang ditemui pada semua
komponen komputer yang baru dikonfigurasi
3. rutin pengelola waktu
4. utility pencetak isi layar (print screen)
Terdapat beberapa jenis instruksi DOS, yang dapat dikelompokkan sebagai berikut :
1. instruksi konfigurasi sistem (berkas CONFIG.SYS), yang berguna untuk mengatur
konfigurasi perangkat keras dan atau perangkat lunak sistem komputer.
2. Instruksi Batch yang berguna untuk memberikan perintah kepada DOS untuk suatu
proses yang berurutan dalam suatu instruksi.
3. Instruksi internal DOS, yang berguna untuk memberikan perintah kepada DOS untuk
melakukan sesuatu yang langsung dapat dikenal/diproses oleh sistem operasi tanpa
inemerlukan file program dari luar.
4. Instruksi eksternal DOS, yang berguna untuk memberikan perintah kepada DOS untuk
melakukan suatu proses dengan menggunakan file program atau utility dari luar.
5. Instruksi filter yang berguna untuk menyaring suatu masukan agar menghasilkan
informasi keluaran yang sesuai dengan yang diinginkan.
Universitas Gadjah Mada
13
Download