Tampilan layar pengaktifan PC-MOS-386
**CONFIG.SYS** adalah sebuah berkas dalam sistem operasi MS-DOS yang ditujukan untuk mengatur sistem secara keseluruhan. Driver perangkat keras, seperti CD-ROM, mouse (jika ada), sound card, manajer memori dimasukkan ke dalam berkas ini agar dapat dimuat. Meski berakhiran **.SYS** (*System*), berkas ini sebenarnya adalah berkas teks dengan pengodean ASCII sehingga dapat disunting dengan mudah dengan menggunakan editor teks semacam EDIT.COM, EDLIN.COM atau E.EXE. Berkas ini adalah salah satu dari berkas penting dalam MS-DOS, setelah IO.SYS, MSDOS.SYS, dan COMMAND.COM.

Direktif
--------

CONFIG.SYS memiliki beberapa direktif yang dapat digunakan dalam berkas CONFIG.SYS atau dapat langsung dijalankan dari command-prompt MS-DOS. Berikut ini adalah beberapa direktif yang dapat digunakan.

### Buffers

Direktif ini dapat mengalokasikan sebagian memori untuk digunakan oleh buffer (penyangga) disk ketika sistem operasi MS-DOS melakukan proses booting. Direktif ini hanya dapat digunakan di dalam CONFIG.SYS (tidak dapat digunakan dari command-prompt). Sintaksisnya adalah:

```
BUFFERS=n[,m]
```

Di mana:

* *n* merupakan jumlah memori yang dialokasikan sebagai penyangga disk utama. Nilainya harus berada di antara 1 hingga 99. Setiap buffer akan memakan memori kira-kira 532 bytes. Nilai ini bersifat wajib (harus ada).
* *m* merupakan jumlah memori yang akan dialokasikan sebagau penyangga disk sekunder. Nilainya harus berada di antara 1 hingga 8. Nilai ini adalah opsional (tidak harus ada)

Nilai standar yang digunakan oleh MS-DOS tergantung dari jumlah memori dan jenis disk drive yang digunakan, yakni seperti yang tertulis dalam tabel berikut.

| Konfigurasi komputer | Nilai BUFFERS (n) | Memori yang dialokasikan |
| --- | --- | --- |
| RAM kurang dari 128 KBFloppy disk drive 360 KB | 2 | Tidak ada memori tambahan yang dialokasikan (telah dialokasikan oleh kernel MS-DOS) |
| RAM kurang dari 128 KBFloppy disk drive lebih besar daripada 360 KB | 3 | Tidak ada memori tambahan yang dialokasikan (telah dialokasikan oleh kernel MS-DOS) |
| RAM 128 KB hingga 255 KB | 5 | 2672 bytes |
| RAM 256 KB hingga 512 KB | 10 | 5328 bytes |
| RAM 512 KB hingga 640 KB | 15 | 7984 |
|

Sistem operasi MS-DOS akan menggunakan memori yang dialokasikan untuk menampung data secara sementara selama operasi pembacaan dan penulisan terhadap data ke dalam disk. Penggunaan buffer dapat mempercepat beberapa operasi yang berkaitan dengan manajemen disk (dan segala sesuatu yang ada di bawahnya), khususnya jika menggunakan prosesor yang lambat (Intel 8086, Intel 8088, Intel 80286).

Untuk memperoleh kinerja yang tinggi dalam beroperasi dengan beberapa program semacam pengolah kata, tentukan nilai buffer antara 10 hingga 20. Jika hendak membuat banyak direktori dalam hard disk, tentukan buffer antara 20 hingga 30.

Perlu diingat, bahwa setiap buffer akan memakan memori kira-kira 532 bytes, yang akan diambil dari memori konvensional. Semakin banyak buffer, semakin sedikit memori yang tersedia untuk program. Jika MS-DOS dimuat ke dalam HMA (High Memory Area), dan MS-DOS menemukan ruangan yang cukup untuk menampung buffer, maka MS-DOS akan mengalokasikan buffer di dalam HMA. Meskipun demikian, jika nilai buffer lebih dari 48 (kira-kira menghabiskan 25536 bytes), HMA tidak akan cukup untuk menampung buffer yang cukup besar itu, dan MS-DOS akan mengalokasikan buffer di dalam memori konvensional.

Jika menggunakan prosesor yang lebih cepat, ada baiknya untuk tidak menggunakan buffer di dalam CONFIG.SYS, tapi menggunakan utilitas SMARTDRV.EXE yang lebih canggih dalam mengorganisasikan disk buffer.

### Device

Direktif Device dapat digunakan untuk memuat driver perangkat yang ditentukan dalam parameter ke dalam memori. Direktif ini hanya dapat digunakan dalam CONFIG.SYS saja (tidak dapat digunakan dari command prompt). Sintaksisnya adalah:

```
DEVICE=[nama_driver_beserta_*path*nya] [parameter_driver]
```

Di mana:

* Nama\_driver\_beserta\_*path*nya merupakan lokasi di mana driver perangkat yang akan dimuat ke memori berada. Parameter ini bersifat wajib.
* Parameter\_driver merupakan informasi tambahan yang dibutuhkan oleh driver perangkat. Parameter ini bersifat opsional dan spesifik (setiap driver perangkat mungkin memiliki parameter yang berbeda-beda).

Gunakan direktif DEVICE untuk menginstalasikan setiap driver perangkat yang hendak digunakan, mulai dari CD-ROM, manajer memori, atau disk buffer. MS-DOS juga menyediakan beberapa driver yang dapat dimuat ke dalam memori, seperti halnya ANSI.SYS, SMARTDRV.EXE, EMM386.EXE, HIMEM.SYS, RAMDRIVE.SYS dan beberapa driver lainnya.

Penggunaan direktif DEVICE akan memuat driver perangkat ke dalam memori konvensional. Jika hendak memuat driver ke dalam HMA, gunakan direktif DEVICEHIGH.

Devicehigh
----------

Direktif ini dapat digunakan untuk memuat driver perangkat ke dalam HMA, yang dapat mengakibatkan program yang dapat dieksekusi menjadi semakin besar akibat memori konvensional yang lebih besar. Jika HMA tidak ada (dapat diinstalasikan dengan menggunakan driver HIMEM.SYS dan direktif DOS=UMB), maka direktif ini hanya berfungsi seperti layaknya direktif DEVICE biasa. Direktif ini hanya dapat digunakan di dalam CONFIG.SYS (tidak dapat digunakan dari command-prompt). Sintaksisnya adalah:

```
DEVICEHIGH=[nama_driver_beserta_*path*nya] [parameter_driver]
```

Di mana:

* Nama\_driver\_beserta\_*path*nya merupakan lokasi di mana driver perangkat yang akan dimuat ke memori berada. Parameter ini bersifat wajib.
* Parameter\_driver merupakan informasi tambahan yang dibutuhkan oleh driver perangkat. Parameter ini bersifat opsional dan spesifik (setiap driver perangkat mungkin memiliki parameter yang berbeda-beda).

Direktif ini juga memiliki switch opsional, yang dapat ditambahkan atau tidak (tergantung kebutuhan), yakni dengan sintaksis sebagai berikut:

```
/L:region1,ukuranminimal1[;region2,ukuranminimal2] /S
```

Di mana switch /L akan menentukan satu atau beberapa region memori ke mana driver akan dimuat. Secara default, MS-DOS akan mengalokasikan driver ke dalam UMB yang memiliki ruangan terbesar (secara kontigu), dan membuat semua UMB dapat digunakan oleh driver. Penggunaan switch ini dapat mengaibatkan driver akan dimuat ke dalam region spesifik dari UMB, yang ditentukan dalam parameter region1.

Ketika switch /L digunakan untuk menentukan region serta ukurannya ditentukan, maka driver yang dimut hanya dapat menggunakan region memori yang ditentukan saja. Beberapa driver, mungkin dapat menggunakan beberapa region memori secara sekaligus. Oleh karena itu, switch ini juga mengizinkan untuk memuat region memori tambahan untuk driver yang spesifik.

Umumnya, MS-DOS akan memuat sebuah driver ke dalam UMB dalam region tertentu hanya jika region tersebut memiliki region UMB yang lebih besar daripada ukuran program tersebut. Jika driver membutuhkan lebih banyak memori ketika berjalan daripada ketika dimuat, maka parameter ukuranminimal dapat digunakan untuk membatasi ukuran minimal yang dapat digunakan (jika terlalu kecil, driver tidak akan dimuat ke UMB).

Sementara, switch /S akan mengakibatkan UMB ditekan ke ukuran minimum saat pemuatan driver ke dalam UMB. Penggunaan switch ini dapat mengakibatkan penggunaan memori yang lebih efisien. Switch ini hanya dapat digunakan secara bersamaan dengan switch /L, dan hanya berpengaruh pada parameter ukuranminimal dalam switch /L tersebut.

Pengguna tidak perlu memahami region alamat pemuatan driver ke dalam UMB, karena utilitas MEMMAKER.EXE dapat menentukan apakah sebuah driver dapat dimuat ke UMB dan jumlah region yang digunakannya.

*Lihat juga Manajemen Memori DOS.*
### DOS

Direktif DOS dapat menentukan apakah MS-DOS membuat sebuah hubungan ke HMA, dan memuatkan sebagian dari kernel MS-DOS ke dalam HMA atau melakukan keduanya. Direktif ini hanya dapat digunakan dari dalam CONFIG.SYS. Sintaksisnya adalah sebagai berikut:

```
DOS=[HIGH|LOW],[UMB|NOUMB]
```

Di mana parameter HIGH|LOW adalah dua opsi yang dapat dipilih apakah hendak memuat sebagian dari kernel MS-DOS ke dalam HMA (jika nilai HIGH dipilih) atau hanya berdiam di dalam memori konvensional (jika nilai LOW dipilih). Nilai defaultnya adalah LOW.

Sedangkan parameter UMB|NOUMB adalah dua opsi yang dapat dipilih apakah MS-DOS harus mengatur UMB yang dibuat oleh program pembuat UMB (seperti EMM386.EXE). Jika parameter ini bernilai UMB, maka MS-DOS akan mengatur UMB, jika ada; dan jika parameter ini bernilai NOUMB MS-DOS tidak akan mengatur UMB. Nilai defaultnya adalah NOUMB. Nilai parameter UMB dapat memuat driver dan program ke dalam UMB sehingga dapat mengefisienkan penggunaan memori konvensional dan dapat mengakibatkan program yang dapat dieksekusi menjadi lebih besar. Jika menggunakan prosesor Intel 486 atau 386DX, driver EMM386.EXE dapat digunakan untuk mengatur UMB, daripada dengan menggunakan parameter DOS=UMB, karena EMM386.EXE lebih efisien.

Catatan:

* Penggunaan dua parameter HIGH|LOW dan UMB|NOUMB dapat digabungkan menjadi satu baris atau dua baris.

```
DOS=HIGH,UMB sama dengan
DOS=UMB,HIGH sama dengan
==
DOS=HIGH
DOS=UMB
```

Penggunaan direktif ini mengharuskan driver manajer memori (HIMEM.SYS) diinstal ke dalam sistem, yakni dengan menambahkan direktif

```
DEVICE=C:\DOS\HIMEM.SYS
```

ke dalam CONFIG.SYS sebelum menggunakan direktif ini.