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