[Stari gresi bacaju duge senke... U specijalnom izdanju "PC 95", prvoj YU knjizi o Windows-u 95 koja je izdata septembra 1995. godine, u mom tekstu je izostalo poglavlje o datoteci CONFIG.SYS. Poglavlje je napisano i prelomljeno, ali je u zadnjem času moralo da "ispadne" zbog nedostatka prostora. Nevolja je u tome što uz poglavlje nije izbačena i referenca na njega u prethodnom tekstu, pa me i danas, iako je ta knjiga davno rasprodata, čitaoci "podsećaju" na to nesrećno poglavlje. Evo ga najzad u elektronskoj formi, tu mesta uvek ima (Dejan Ristanović, 17-Sep-2000)]

 

horizontal rule

 

CONFIG.SYS [iz knjige PC95]

Poput svih dobrih operativnih sistema, MS-DOS omogućava podešavanje nekih radnih parametara potrebama korisnika. Jedno od takvih podešavanja je datoteka AUTOEXEC.BAT čiji se sadržaj izvršava po svakom uključivanju računara. Ovde ćemo govoriti o drugom vidu prilagođavanja, datoteci CONFIG.SYS koju takođe treba upisati u root direktorijum diska C: i koja se automatski učitava po svakom startovanju sistema.

Datoteka CONFIG.SYS sadrži obične redove teksta što znači da je možete formirati pomoću EDIT-a, EDLIN-a ili nekog drugog editora; za nevolju možete da otkucate i COPY CON: CONFIG.SYS. Ostatak ovog poglavlja posvećujemo deklaracijama koje se upisuju u konfiguracionu datoteku.

ACCDATE - podaci o poslednjem pristupu disku

MS-DOS za svaki fajl "pamti" podatak o vremenu poslednjeg pristupa, osim kada se Windows 95 podigne u safe modu i kada se pristupa disketama. Ovom komandom može se zahtevati od operativnog sistema da podatke ovoga tipa uvek čuva ili da ih ignoriše.

ACCDATE= disk +|- ...

disk - Oznaka diska

ACCDATE C+ - memorišu se podaci o poslednjem pristupu svakoj datoteci na disku C:

BREAK - kontrola tastera Ctrl i Break

Pritisak na Ctrl i Break prekida program koji se izvršava - to je teorija. Praksa kaže da Ctrl i Break ne rade baš uvek - neki programi mogu da se prekinu jedino resetovanjem računara. MS-DOS, zapravo, proverava status tastera Ctrl i Break samo dok skanira tastaturu, ispisuje nešto na štampaču ili komunicira preko serijskog interfejsa, tj. u trenucima kada objektivno ima puno vremena. Ukoliko program koji se izvršava ne zahteva ovakve usluge, pritisak na Ctrl i Break neće imati nikakvo dejstvo. Ugradnjom deklaracije BREAK ON u CONFIG.SYS zahtevate od DOS-a da testira tastere Ctrl i Break čim program zahteva bilo kakvu uslugu. Može se, naravno, napisati program koji se uopšte ne obraća DOS-u što znači da ni BREAK ON ne garantuje prekidanje svakog programa; za većinu primena je, međutim, ova opcija vrlo korisna.

BREAK = ON | OFF

BREAK = ON - DOS će testirati dirke Ctrl i Break kad god mu se program obrati.

BREAK = ON usporava operacije sa diskom za otprilike dva procenta.

Stanje BREAK = OFF se podrazumeva (default) što znači da ovu deklaraciju nema smisla uključivati u CONFIG.SYS.

Čak ni BREAK = ON ne omogućava zaustavljanje programa koji isključivo obrađuju brojeve tj. koji se ne obraćaju DOS-u.

Korisnik može u toku rada da koristi DOS komandu BREAK čime poništava odgovarajuće "uputstvo" iz datoteke CONFIG.SYS.

BUFFERS - podešavanje performansi diska

Referativni priručnik MS-DOS-a nije mesto na kome bi trebalo objašnjavati šta su to baferi. Ukratko rečeno, sav "saobraćaj" između procesora memorije i diska se obavlja preko RAM memorije - kad god program zatraži jedan bajt neke datoteke, DOS će sa diska učitati čitav sektor nadajući se da će se uskoro tražiti i susedni bajtovi.

Ukoliko mnogo radite sa programima koji pristupaju disku (jedan od takvih je dBASE), povećanje broja bafera dovodi do dramatičnog poboljšanja performansi sistema - sortiranje i pretraživanje može da bude brže i desetak puta!

Nauka o baferima uopšte nije jednostavna - napisane su knjige i knjige o tome koliko bafera neki veliki sistem treba da koristi i kako da rasporedi podatke po njima. Korisnici PC-ja će utvrditi da povećanje broja bafera ubrzava računar ali da postoji neka granica iza koje broj otvorenih bafera "guši" sistem - treba naći zlatnu sredinu. Ta zlatna sredina, jasno, nije ista za svakog korisnika - da jeste, neko bi je pronašao i deklaracija BUFFERS ne bi bila potrebna! Treba, na kraju, da imate u vidu da vam svaki novi bafer oduzima 532 bajta memorije premda taj gubitak, za PC-je sa par megabajta memorije (DOS 6.0 "podiže" bafere u visoku zonu memorije (UMB) ne oduzimajući za njih radnu memoriju), nije bitan.

BUFFERS = nn [, mm]

nn - broj bafera za rad sa diskom. Dopuštene su vrednosti 1-99, podrazumeva se 30.

mm - broj bafera u sekundarnoj keš memoriji. Dopuštene su vrednosti 1-8, podrazumeva se 0.

BUFFERS = 25 - koristi se 25 bafera.

Ukoliko ne navedete deklaraciju BUFFERS, MS-DOS će odrediti broj bafera u skladu sa memorijom - od 2 za mašine sa manje od 128K RAM-a i disk jedinicom od 360 do 15 na računarima sa 640K memorije.

Ako želite naš savet, koristite BUFFERS = 50.

Sekundarna keš memorija ubrzava rad sa diskom. Ukoliko, poput većine korisnika PC-ja, koristite neki keš program nezavisnog proizvođača (npr. PC Kwik), ovaj parametar treba da ostane na podrazumevanoj vrednosti 1.

Umesto BUFFERS može se koristiti BUFFERHIGH, kada se baferi prenose u visoku zonu memorije.

COUNTRY - format prikazivanja datuma i vremena

MS-DOS se prodaje širom sveta što znači da je u izvesnoj meri prilagođen korisnicima koji govore razne jezike. Ovo se prilagođenje svodi uglavnom na raspored tastera i način prikazivanja datuma i vremena. Tastaturu podešavate izborom KEYB drajvera u okviru datoteke AUTOEXEC.BAT dok format datuma i vremena podešavate u okviru datoteke CONFIG.SYS.

COUNTRY = ccc[,[yyy][,datoteka]]

ccc - kod države, u skladu sa međunarodno priznatim telefonskim pozivnim brojevima. Evo tabele:

Država		ccc	yyy
Belgija	  	032	850,437
Brazil	  	055	850,437
Češka	  	042	852,850
Danska	  	045	850,865
Finska	  	358	850,437
Francuska	033	850,437
Holandija	031	850,437
Hrvatska	038	852,437
Internacionalna	061	437,850
Italija		039	850,437
Kanada		002	863,850
Lat. Amerika	003	850,437
Mađarska	036	852,850
Nemačka		049	850,437
Norveška	047	850,865
Poljska		048	852,850
Portugal	351	850,860
Slovačka	042	852,850
Slovenija	038	852,850
Srbija		038	852,850
Španija		034	850,437
Švajcarska	041	850,437
Švedska		046	850,437
USA		001	437,850
V. Britanija	044	437,850

yyy - broj kodne stranice. U tabeli su date po dve mogućnosti za svaku zemlju, pri čemu je prva podrazumevana ako se se parametar izostavi. Za Jugoslaviju se, na primer, mogu koristiti isključivo kodne stranice 852 ili 850 pri čemu je 852 podrazumevano stanje.

datoteka - putanja kojom se može stići do datoteke COUNTRY.SYS u koju su upisani potrebni podaci za sve države i kodne stranice.

COUNTRY = 001, 437, C:\DOS\COUNTRY.SYS - bira američko prikazivanje datuma u obliku mm-dd-yyyy i određuje da se koristi decimalna tačka a ne decimalni zarez.

COUNTRY = 038,,C:\DOS\COUNTRY.SYS - aktivira jugoslovenski format vremena, po Microsoft-u yyyy-mm-dd.

Ukoliko se COUNTRY ne navede, podrazumeva se američki format (001) i stranica 437.

Jugoslavenski format datuma je, iz nepoznatih razloga, godina-mesec-dan. Verovatno je Microsoft dobio pogrešno obaveštenje o našim konvencijama - primereniji bi bio format dd.mm.yyyy koji, na primer, ima Francuska (ccc=033). Ukoliko, međutim, izaberete Francuski format prikazivanja datuma, ne možete da koristite kodnu stranicu 852 sa YU slovima.

Mogu se nabaviti i posebne verzije DOS-a koje podržavaju Arapski, Hebrejski, Japanski, Koreanski i Kineski format prikazivanja datuma i vremena.

DEVICE - instalacija uređaja

Na PC se priključuju razni uređaji koje kontroliše odgovarajući softver. Taj softver, prirodno, može da se učita kada je uređaj potreban, ali je ponekad korisno učiniti ga rezidentnim delom DOS-a i imati stalno na raspolaganju. Zato u CONFIG.SYS možete da ubacite deklaraciju DEVICE = ime programa kojom se unosi i aktivira program koji pokreće neki uređaj - taj uređaj može da bude miš, skaner, programator EPROM-a, strimer ali i video kartica odnosno RAM disk. Reč "uređaj" treba, dakle, shvatiti u širem smislu: to može da bude čitava kompjuterska mreža ali i deo hardvera samog PC-ja!

DEVICE = ime_programa [parametri]

ANSI.SYS - emulacija ANSI grafike

ANSI.SYS je drajver za ekran koji se isporučuje uz MS-DOS. On omogućava korišćenje takozvanih Escape sekvenci za kontrolu tastature i ekrana. Da biste videli šta ANSI.SYS ume, ugradite odgovarajući red u CONFIG.SYS, resetujte sistem i otkucajte: PROMPT $e[0;68;"DIR"p. Pritisnite F10 i na ekranu će se pojaviti naredba DIR; samo pritisnite Enter i izvršićete je.

DEVICE = [path]ANSI.SYS [/X] [/K] [/R]

path - put do datoteke ANSI.SYS, obično C:\DOS\

/X - nezavisno mapira dodatne dirke na novim tastaturama (101 taster). Ovo je podrazumevano stanje.

/K - ignoriše dodatne dirke na novim tastaturama.

/R - prilagođava skrolovanje teksta programima koji "čitaju" ispis omogućavajući slepima korišćenje računara.

Detaljan opis ANSI sekvenci izlazi iz domena ovog teksta - pogledajte originalnu dokumentaciju MS-DOS-a.

I pored velikih potencijala (ako ništa drugo, najzgodniji način da vlasnici kolor monitora definišu boje na ekranu), drajver ANSI.SYS se razmerno retko koristi.

DISPLAY.SYS - podrška nacionalnim azbukama

DEVICE = [path]DISPLAY.SYS CON[:]=(tip[,[ccc][,n]])
DEVICE = [path]DISPLAY.SYS CON[:]=(tip[,[ccc][,(n,m)]])

path - put do datoteke DISPLAY.SYS, obično C:\DOS\

tip - oznaka video adaptera. Dopuštene vrednosti su EGA (što obuhvata i VGA), LCD, CGA i MONO ali CGA i MONO nemaju smisla pošto na tim karticama kodne stranice nisu podržane.

ccc - oznaka kodne stranice koju hardver podržava. Moguće vrednosti su 437 (USA), 850 (Latin I), 852 (Latin II što obuhvata i YU slova), 860 (Portugal), 863 (Kanada - Francuski) i 865 (Nordijske zemlje).

n - određuje koliko kodnih stranica (osim primarne ccc) dati hardver podržava. Dopuštene su vrednosti između 0 i 6 - na LCD ekranima maksimalna vrednost je 1 dok bi VGA kartice trebale da "podnesu" i 6 alternativnih kodnih strana.

m - broj fontova koje hardver podržava za svaku kodnu stranicu. Podrazumevana vrednost je 2 za EGA/VGA i 1 za LCD ekrane.

DEVICE = C:\DOS\DISPLAY.SYS CON=(EGA,437,6) - deklaracija koja odgovara većini VGA kartica.

DISPLAY.SYS, jednostavno rečeno, opisuje hardver a ne ono što želimo da se na ekranu prikaže. Prethodna deklaracija, dakle, govori DOS-u da je računar opremljen VGA karticom koja može da podnese šest kodnih stranica dok je u njen ROM "ugrađen" USA set znakova. U tom smislu ne treba da koristite DEVICE = C:\DOS\DISPLAY.SYS CON=(EGA,852,6) jer na taj način nećete dobiti YU slova na ekranu. Ovakva bi deklaracija bila potrebna jedino ako biste imali VGA karticu u čiji je ROM već ugrađen YU set po Latin II standardu.

EMM386.EXE - upravljanje expanded memorijom

EMM386 bazično omogućava pretvaranje extended (XMS) memorije u expanded (EMS ili LIM). Zahteva se 80386 (ili 80486) računar sa dovoljno slobodnog RAM-a. Ovde ćemo opisati važnije parametre EMM386, dok za objašnjenja raznih pojmova i smisla ove naredbe treba pogledati posebno poglavlje o upravljanju memorijom.

DEVICE = [path]EMM386.EXE [ON | OFF | AUTO] [mem] [MIN=size] [W=ON | W=OFF] [Mx | FRAME=adr1 | /Pmmmm] [Pn=adr2] [X=pppp-qqqq] [I=rrrr-ssss] [B=adr3] [L=minxms] [A=altregs] [H=handles] [D=uuu] [RAM=tttt-uuuu] [NOEMS] [NOVCPI] [HIGHSCAN] [VERBOSE] [WIN=vvvv-wwww] [NOHI] [ROM=xxxx-yyyy] [NOMOVEXBDA] [ALTBOOT]

path - put do datoteke EMM386.EXE, obično C:\DOS\

ON - aktivira program za upravljanje memorijom tj. pretvara extended memoriju u expanded. Ovo je podrazumevano stanje.

OFF - suspenduje program za upravljanje memorijom tj. isključuje emulaciju expanded memorije.

AUTO - nalaže sistemu da aktivira emulaciju tek kada neki program zaista zatraži expanded memoriju.

mem - koliko kilobajta memorije treba alocirati drajveru EMM386.EXE. Dopuštene su vrednosti 16-32768, podrazumeva se sva slobodna memorija ili nula, ako se navede NOEMS.

size - koliko će najmanje kilobajta EMS/VCPI memorije EMM386.EXE obezbediti u startu. Ako program docnije zatraži više, i ako ima slobodne extended memorije, EMM386.EXE može da obezbedi i dodatnu memoriju, sve do granice definisane parametrom mem.

W=ON - obaveštava emulator da je u sistemu Weitek aritmetički koprocesor.

W=OFF - obaveštava emulator da u sistemu nema Weitek aritmetičkog koprocesora. Nema potrebe navoditi ovu opciju jer je nepostojanje Weitek koprocesora podrazumevano stanje.

x - Adresa memorijske zone koja se koristi za upravljanje extended memorijom (EMS frame). Dopuštene su vrednosti 1-14 koje odgovaraju adresama C000h, C400h, C800h, CC00h, D000h, D400h, D800h, DC00h, E000h, 8000h, 8400h, 8800h, 8C00h i 9000h. Vrednosti 10-14 su dopuštene samo na računarima sa 512 KB memorije.

adr1 - zadaje konkretnu segmentnu adresu memorijske zone za upravljanje extended memorijom. Koristi se na nekim specifičnim konfiguracijama kojima ne odgovara ni jedna od adresa koje nudi opcija /Mx.

pppp - qqqq - memorijska zona koju ne treba pretvarati u EMS memoriju. Verovatno se radi o nekom segmentu koji koristi neki specijalan uređaj, na primer skaner.

rrrr-ssss - memorijska zona koju treba pretvoriti u EMS memoriju. Iako je parametar formalno gledano opcioni, morate ga koristiti ako vam je potrebna zona visoke memorije (UMB) - bez njega računar neće pronaći dobar deo inače dragocene memorije vašeg sistema.

minxms - zahteva da se određena količina extended memorije ne pretvara u expanded. Zadaje se u kilobajtima.

tttt-uuuu - obezbeđuje podršku visokoj zoni memorije (UMB) koja se može koristiti za rezidentne programe.

NOEMS - obezbeđuje podršku visokoj memorijskoj zoni (UMB) ali bez ostalih usluga ovog drajvera tj. bez pretvaranja extended memorije u expanded.

NOVCPI - isključuje VCPI podršku. Ako se navede NOVCPI, mora se navesti i NOEMS.

VERBOSE - pri instalaciji programa ispisuje se detaljan izveštaj.

vvvv-wwww - zona memorije koju će koristiti Windows, a ne EMM386.EXE. Ovaj parametar ima prednost nad parametrima RAM, ROM i I, ukoliko dođe do njihovog preklapanja.

NOHI - EMM386.EXE se ne učitava u high memoriju. Koristite ovu opciju samo ako imate nekih problema sa primenom ovog drajvera na nekoj specifičnoj konfiguraciji.

xxxx-yyyy - zona koja se koristi kao shadow RAM.

mmmm, n, adr2, adr3, altregs, handles, uuu - specifični parametri potrebni samo na pojedinim nestandardnim konfiguracijama. Ovde ih nećemo opisivati, ako je neki od njih potreban konsultujte originalnu dokumentaciju MS-DOS-a.

DEVICE = EMM386.EXE 3072 RAM - standardno pozivanje EMM386 drajvera na 80386 računarima sa 4 M memorije - sva extended memorija se pretvara u expanded i obezbeđuje podrška visokoj zoni memorije (UMB) koju računar pronađe.

DEVICE = EMM386.EXE 3072 /I=C800-CBFF RAM - u visoku zonu memorije (UMB) uključuju se i segment između C800 i CBFF. Konkretne adrese ne moraju odgovarati vašem sistemu.

DEVICE = EMM386.EXE RAM /I=B000-B7FF - standardna konfiguracija za Hercules kartice - zona B000-B7FF bi trebala da bude slobodna.

Pre EMM386.EXE mora se instalirati HIMEM.SYS.

HIMEM.SYS - upravljanje extended memorijom.

DEVICE = [path]HIMEM.SYS [/HMAMIN=m] [/NUMHANDLES=n] [/INT15=adr1] [/MACHINE=tip] [/A20CONTROL:ON | OFF] [/SHADOWRAM: ON | OFF] [/CPUCLOCK: ON | OFF] [/EISA] [/VERBOSE]

path - put do datoteke HIMEM.SYS, obično C:\DOS\

m - koliko memorije program treba da koristi da bi mu HIMEM.SYS dopustio da koristi visoku zonu memorije (UMB). Dopuštene su vrednosti 0-63, podrazumeva se 0.

n - koliko najviše blokova extended memorije može da se simultano koristi. Dopuštene su vrednosti 1-128, podrazumeva se 32. Svaki dodatni blok "troši" 6 bajta memorije.

adr - koliko extended memorije treba rezervisati za opsluživanje interapta 15h. Dopuštene su vrednosti 64-65535, podrazumeva se 0. Parametar je potreban jedino za neke starije programe koji nisu potpuno kompatibilni sa prihvaćenim algoritmima za upravljanje memorijom.

tip - tip računara na osnovu koga se određuje upravljanje linijom A20 koja "stvara" UMB. Dopuštene su vrednosti 1-14, a neke od značajnijih su 1 (AT), 2 (PS/2), 7 (Toshiba) i 14 (HP Vectra).

/A20CONTROL - određuje da li će HIMEM.SYS preuzimati kontrolu nad A20 čak i ako je A20 bio u stanju 1 kada je HIMEM.SYS učitan.

/SHADOWRAM - na nekim kompjuterima se na ovaj način može isključiti ili uključiti prepisivanje ROM-ova u RAM čime se gubi na memoriji ali dobija na brzini.

/CPUCLOCK - koristi se samo ako, po učitavanju HIMEM.SYS, časovnik počne da "greši". Postavljanje u stanje ON će verovatno rešiti problem časovnika, ali će zato unekoliko usporiti računar.

/VERBOSE - pri instalaciji programa ispisuje se detaljan izveštaj.

DEVICE = HIMEM.SYS - jedino što se u praksi koristi.

Većina parametara drajvera HIMEM.SYS namenjeno je nekim jako specifičnim konfiguracijama.

Ako koristite Windows 3.0, obavezno zamenite HIMEM.SYS koji ste dobili uz Windows drajverom HIMEM.SYS koji dolazi uz DOS 6.0.

DEVICE = RAMDRIVE.SYS 1024 /E - kreira RAM disk od 1 M u extended memoriji.

Umesto RAM diska, često je veoma pogodno koristiti neki cache program.

Korisnici sistema sa dovoljno RAM-a mogu da kreiraju više RAM diskova uzastopnim navođenjem DEVICE = RAMDRIVE.SYS u CONFIG.SYS.

Ako se ne navede ni /E ni /A, RAM disk se kreira u osnovnoj memoriji što je uglavnom neprihvatljivo.

DEVICEHIGH - instalacija uređaja uz korišćenje visoke zone memorije (UMB)

Komanda je potpuno identična sa već opisanim DEVICE, osim što se drajver smešta u visoku memorijsku zonu (UMB) ako takva postoji.

DEVICEHIGH [/L:zona1[,minvel1][;zona2[,minvel2]....] [/S]] = ime_programa [parametri]

ime_programa - ime drajvera koji se učitava u gornji blok memorije (UMB).

parametri - parametri potrebni drajveru koji se učitava.

zona - oznaka zone UBM-a u koju se drajver učitava.

minvel - minimalan prostor u UMB-u potreban drajveru. Ako u specificiranom bloku ima manje prostora, drajver neće biti učitan u njega.

/S - parametar interno koristi program MEMMAKER.

Da bi se uopšte koristilo DEVICEHIGH, mora da se navede DOS=UBM ili DOS=HIGH,UMB.

Ako u UMB-u nema prostora ili UMB nije raspoloživ, drajver se učitava u osnovni RAM.

DOS - podizanje DOS-a u visoku memoriju (UMB)

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

HIGH - DOS se smešta u visoku memorijsku zonu, tzv. Upper Memory Block ili UMB.

LOW - DOS se smešta u osnovnu memoriju.

UMB - osim DOS-a, u UMB će se učitavati i neki drugi programi.

NOUMB - visoka zona memorije neće postojati.

DOS = HIGH, UMB - parametar prilagođen 80386 računarima sa dovoljno RAM-a.

DOS = HIGH - za 80286 računare koji imaju expanded (LIM) memoriju kao i za 80386 računare kod kojih je UMB obezbeđen nekim nezavisnim programom kao što je QEMM ili 386MAX.

Da bi se koristilo DOS=HIGH, mora biti instaliran HIMEM.SYS.

DRIVPARM - parametri disk jedinice

DRIVPARM = /D:nnn [/C] [/F:tip] [/T:traka] [/H:glava] [/S:sektora] [/I] [/N]

nnn - fizički broj disk jedinice na koju se komanda odnosi. Fizički broj flopi diska A: je 0, flopi diska B: je 1, hard diska C: je 2 i tako dalje.

/C - obaveštava DOS da flopi disk može da detektuje da je disketa promenjena (change-line support). Većina novijih disk jedinica na AT i "boljim" računarima ima ovu mogućnost.

tip - opisuje disk jedinicu. Dopuštene vrednosti su 0, 1, 2, 5, 6, 7, 8 i 9 što označava (redom): 360 K (ili "manji", ako to još postoji), 1.2 megbajta, 720K, hard disk, traku, 1.44 M, optički disk odnosno 2.88 M flopi.

traka - koliko traka disk jedinica podržava.

glava - koliko glava disk jedinica ima. Moguće su vrednosti 1-99.

sektora - koliko sektora po stazi disk jedinica podržava. Dopuštene su vrednosti 1-99.

/I - koristi se ako je na sistem čiji BIOS ne podržava diskove od 3.5 inča (720 K) priključen takav uređaj.

/N - uređaj na koji se deklaracija odnosi se ne može menjati (npr. hard disk a ne disketa).

DRIVPARM /D:1 /F:2 - drajv B: je flopi disk od 720K koji DOS iz nekog razloga nije automatski prepoznao.

FCBS - metod pristupanja datotekama

FCBS je deklaracija koju će malo koji početnik razumeti: prve verzije DOS-a su komunicirale sa datotekama preko mehanizma poznatog pod imenom file control block (FCB); ovaj je pristup "nasleđen" sa CP/M-a. Verzija 2 DOS-a je ovo iz korena promenila: sa UNIX-a je preuzet metod pod imenom handles. Ovde nećemo ni pokušavati da ukažemo na razlike - treba samo da shvatite da handles usporava programe pisane sa FCB-om u vidu. Zato je ponekad (vrlo retko) korisno ugraditi FCBS u CONFIG.SYS.

FCBS=x

x - maksimalan broj FCB kontrolisanih datoteka koje DOS može da otvori u jednom trenutku. Dopuštene su vrednosti 1-255, podrazumeva se 4.

Ako program pokuša da otvori više od x datoteka preko FCB-a, moguće je da neke od ranije otvorenih budu nepropisno zatvorene što lako izaziva krah programa.

FILES - maksimalan broj otvorenih datoteka

Normalno startovan, DOS se konfiguriše tako da u istom trenutku može da radi sa 8 datoteka od kojih su 5 rezervisane (za DOS su tastatura, ekran i interfejsi zapravo datoteke). Preostale tri datoteke su retko dovoljne - brojni programi zahtevaju da u CONFIG.SYS ugradite deklaraciju FILES.

FILES = nn

nn - maksimalan broj datoteka koje se mogu otvoriti u jednom trenutku. Dopuštene su vrednosti 8-255.

FILES = 20

Upotreba deklaracije FILES, prirodno, smanjuje raspoloživ RAM ali je gubitak zbilja minimalan, 48 bajta po datoteci.

FILES se odnosi na broj datoteka u čitavom sistemu. Međutim, broj datoteka po jednom programu je ograničen na 20 pre svega internim tabelama DOS-a a onda i karakteristikama pojedinih programskih jezika (npr. Microsoft C, Clipper itd). Ova ograničenja se mogu prevazići na načine koji su specifični za odgovarajuće jezike - Clipper programe, recimo, treba startovati sa IME //F:nn.

INSTALL - instalacija rezidentnih programa

INSTALL omogućava učitavanje rezidentnog programa iz datoteke CONFIG.SYS. Ovo se prevashodno odnosi na razne rezidentne delove DOS-a (KEYB, FASTOPEN, NLSFUNC, SHARE...) ali može biti zgodno i za neke druge komercijalne programe. INSTALL se retko koristi jer je rezidentne programe jednostavnije startovati navodeći njihova imena u datoteci AUTOEXEC.BAT.

INSTALL = program [parametri]

Umesto INSTALL često se koristi INSTALLHIGH, za instalaciju programa u gornju zonu memorije.

LASTDRIVE - broj priključenih diskova

PC po uključivanje prepozna sve priključene disk jedinice i prilagodi dimenzije internih tabela tom broju. U nekim specijalnim situacijama (npr. rad u mreži) može biti potrebno da se DOS "prevari" i obavesti kako na sistemu ima više disk jedinica nego što ih stvarno ima. Za to se koristi deklaracija LASTDRIVE.

LASTDRIVE = disk

disk - slovo koje označava poslednji disk u sistemu.

LASTDRIVE = F - u sistemu postoje diskovi A, B, C, D, E i F čak i ako ih je realno manje.

Obzirom da abeceda ima 26 slova, DOS dopušta priključenje 26 diskova koji se zovu A:, B:, C: ... Z:.

LASTDRIVE se najčešće koristi kada je više različitih računara povezano u mrežu - pogodno je u svaki CONFIG.SYS staviti, na primer, LASTDRIVE = G i onda će se mrežni disk na svim stanicama mapirati na isti način.

Umesto LASTDRIVE često se koristi LASTDRIVEHIGH, kako bi se umesto osnovne koristila visoka memorija.

MENUCOLOR - definisanje izgleda menija

MENUCOLOR = x[,y]

x - boja teksta.

y - boja pozadine.

MENUCOLOR = 10,0 - pozadina je crna a ispis zelen.

Boje su 0 (crna), 1 (plava), 2 (zelena), 3 (cyan), 4 (crvena), 5 (magenta), 6 (braon), 7 (bela), 8 (siva), 9 (svetlo plava), 10 (svetlo zelena), 11 (svetlo cyan), 12 (svetlo crvena), 13 (svetlo magenta), 14 (svetlo žuta) i 15 (istaknuta bela).

Na nekim karticama boje 8-15 ne postoje i zamenjuje ih tekst koji blinkuje.

MENUDEFAULT - definisanje podrazumevanog menija

MENUDEFAULT = ime_bloka[,vreme]

ime_bloka - naziv sekcije CONFIG.SYS-a koji se izvršava ako korisnik ne izabere ni jednu od opcija.

vreme - interval čekanja na akciju korisnika (u sekundama).

MENUDEFAULT = Standard,5 - ukoliko korisnik pritisne Enter ili ne pritisne ništa tokom 5 sekundi, izvršava se blok Standard.

Ako se vreme ne navede, MS-DOS postavlja kurzor na podrazumevani red i "beskonačno" čeka na akciju korisnika.

Dopuštene vrednosti za vreme su između 0 i 90. Ako se navede 0, MS-DOS odmah prelazi na podrazumevanu sekciju čime se praktično onemogućava izbor bilo koje druge; tako čitav menu sistem CONFIG.SYS-a gubi smisao.

MENUITEM - definisanje stavke menija

MENUITEM = ime_bloka [,opis]

ime_bloka - naziv jedne od sekcija CONFIG.SYS-a.

opis - opis koji se ispisuje u meniju.

MENUITEM = Standard, Standardna konfiguracija sistema - u meniju se ispisuje Standardna konfiguracija sistema. Ako korisnik izabere ovu opciju, izvršava se [standard] sekcija CONFIG.SYS-a.

ime_bloka mora da bude jednako nazivu jedne od sekcija CONFIG.SYS-a - ako sekcije nema, stavka se ne prikazuje.

Dužina imena i opisa je ograničena na po 70 znakova. U imenu se ne smeju pojavljivati blankovi ni znaci \ / ; = [ i ].

Ako se opis ne navede, u meniju će se pojaviti ime_bloka. Obzirom da su dopuštena duža imena (do 70 znakova), jedini razlog da navodite opis je želja da se u njemu pojave blankovi. U većini slučajeva je ime_bloka sasvim dovoljno.

NUMLOCK - definisanje inicijalnog Num Lock stanje

NUMLOCK = ON | OFF

NUMLOCK = OFF - po startovanju sistema Num Lock će biti isključen.

Inicijalno stanje Num Lock-a je obično korektno izabrano - na tastaturama koje nemaju posebne kontrolne tastere Num Lock je u startu isključen, jer su kurzorski tasteri mnogo potrebniji od unosa brojeva. Na "većim" tastaturama (101 ili 102 tastera), Num Lock je uključen pošto kontrolne funkcije tastera sa ciframa više nisu bitne. Međutim, navika je veoma moćna stvar koja utiče na mnoge proizvode kompjuterske industrije - ako je neko počeo od XT-a i navikao na tastature koje nisu imale posebne kontrolne tastere, više mu odgovara isključeni Num Lock.

Pojedini BIOS-i obezbeđuju definisanje inicijalnog Num Lock stanja. Na takvim računarima možete slobodno da se opredelite između definisanja preko BIOS-a i preko MS-DOS-a 6.0; preporučujemo da kontrolu ipak prepustite BIOS-u.

REM - komentar

REM tekst_koji_se_ignoriše

REM Segment za podešavanje memorije

Sa REM se najčešće u toku eksperimentisanja "izbacuju" pojedini redovi datoteke CONFIG.SYS da bi se ustanovilo da li sistem radi i bez njih. Docnije se uklanjanjem REM-a red može ponovo aktivirati.

REM tekst_koji_se_ignoriše

REM Segment za podešavanje memorije

Sa REM se najčešće u toku eksperimentisanja "izbacuju" pojedini redovi datoteke CONFIG.SYS da bi se ustanovilo da li sistem radi i bez njih. Docnije se uklanjanjem REM-a red može ponovo aktivirati.

SHELL - alternativni komandni procesor

Komunikacija korisnika sa DOS-om zasniva se na programu COMMAND.COM koji nazivamo procesorom komandi ili komandnim procesorom (interpretatorom). Deklaracija SHELL omogućava izbor alternativnog komandnog interpretatora i, samim tim, kompletnu promenu korisničkog interfejsa koji DOS nudi.

SHELL = datoteka [parametri]

datoteka - sadrži novi komandni procesor.

parametri - po startovanju se prosleđuju komandnom procesoru. Za standardni COMMAND.COM parametri su /E:xxxxx (definiše veličinu radnog prostora) i /P (izvršava AUTOEXEC.BAT ako postoji).

SHELL = \YUCOM.COM - startovanje (imaginarnog) domaćeg komandnog interpretera; sve komande DOS-a su sada na našem jeziku!

Ako datoteka sadrži neispravan komandni procesor, sistem će se zakočiti. Moraćete da ga "podignete" sa diskete i da izbacite red SHELL iz CONFIG.SYS.

STACKS - podešavanje veličine sistemskog steka

STACKS=n,s

n - broj stek područja; može biti 0 ili se kretati između 8 i 64.

s - veličina svakog od stek područja u bajtovima. Kreće se između 32 i 512, a može biti i 0.

STACKS=0,0 - nalaže sistemu da ne instalira program za kontrolu steka. Ovo je podrazumevano stanje na XT-u dok se na AT-u podrazumeva n=9 i s=128.

Uvođenje novih stek područja zauzima određenu memoriju ali zato može da eliminiše mrtve petlje u koje upadaju neki komercijalni programi.

Umesto STACKS često se koristi STACKSHIGH, kako bi se umesto osnovne koristila visoka memorija.

SUBMENU - definisanje podmenija

SUMBENU = ime_bloka [,opis]

ime_bloka - naziv jedne od sekcija CONFIG.SYS-a.

opis - opis koji se ispisuje u meniju.

SUBMENU = MREZE,Rad u mreži< > [mreze]< > MENUITEM = Novell,Rad u Novell mreži< > MENUITEM = Lanman,Rad pod LAN Manager-om< > MENUITEM = Dlink,D-Link mreža< > [novell]< > ...< > [lanman] - Definiše se podmeni koji određuje rad pod mrežom a onda, u okviru podmenija, bira jedna od raspoloživih mreža.

ime_bloka mora da bude jednako nazivu jedne od sekcija CONFIG.SYS-a - ako sekcije nema, stavka se ne prikazuje.

Dužina imena i opisa je ograničena na po 70 znakova. U imenu se ne smeju pojavljivati blankovi ni znaci \ / ; = [ i ].

Ako se opis ne navede, u meniju će se pojaviti ime_bloka. Obzirom da su dopuštena duža imena (do 70 znakova), jedini razlog da navodite opis je želja da se u njemu pojave blankovi. U većini slučajeva je ime_bloka sasvim dovoljno.

Obzirom da inicijalnih konfiguracija obično nema mnogo, podmeniji se jako retko koriste.

SWITCHES - definisanje raznih parametara

Deklaracija SWITCHES obezbeđuje podešavanje raznorodnih parametara MS-DOS-a.

SWITCHES=/W /K /N /F

/W - označava da se datoteka WINA20.386 potrebna Windows-u 3.0 ne nalazi u root direktorijumu.

/K - nalaže tastaturi novog tipa (enhanced) da se ponaša kao konvencionalna AT tastatura.

/N - zabranjuje kontrolu izvršavanja CONFIG.SYS-a sa F5 i F8.

/F - ukida pauzu od 2 sekunde po ispisivanju poruke Starting MS-DOS.

Višestruke konfiguracije sistema

MS-DOS 6.0 je doneo značajne novitete na polju startovanja sistema. Čest je, naime, slučaj da za razne poslove PC treba konfigurisati na različite načine - kada se radi sa Windows-om pogodno je da u memoriji bude samo HIMEM.SYS, ako se radi u Venturi potreban je EMS drajver, za "normalan" rad treba imati disk keš i neke rezidentne programe i tako dalje. "Ručno" prepravljati CONFIG.SYS za svaku primenu posebno je Sizifov posao; kreiranje raznih CONFIG datoteka i njihovo aktiviranje preko .BAT programa je znatno prihvatljivije, ali i dalje zahteva dosta pažnje i pravi priličan haos na disku. Pojedini nezavisni proizvođači softvera došli su na ideju da u nekoj meri automatizuju ovo podešavanje konfiguracije pa su se pojavili programi kao što je kod nas veoma popularni BOOT.SYS. Sve to, naravno, nije dostojna zamena za "pravu stvar", tj. za rešenje koje bi bilo ugrađeno u sam DOS.

Jednostavan CONFIG.SYS koji ilustruje ove tehnike mogao bi da glasi:

[Menu]
MenuItem=Standard
MenuItem=DosOnly
MenuDefault=Standard,4

Common]
BREAK ON
BUFFERS = 25
FILES = 99

Standard]
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM
DOS=HIGH,UMB
SHELL=C:\DOS\COMMAND.COM C:\DOS\ /E:1024 /P

[DosOnly]
DEVICE=C:\DOS\HIMEM.SYS

Po startovanju računara ispisuje se meni u kome figurišu pobrojane opcije Standard i DosOnly. Ukoliko tokom sledeća 4 sekunda (parametar MenuDefault direktive) ništa ne učinite, biće izvršena [Common] i [Standard] sekcija dok će izbor opcije 2 izazvati izvršenje [Common] i [DosOnly] deklaracija.

CONFIG.SYS mora da se uskladi sa AUTOEXEC-om, na primer na sledeći način:

@ECHO OFF
PROMPT $P$G
PATH C:\DOS;C:\BAT
GOTO %CONFIG%

:Standard
LOADHIGH C:\UTIL\CED -FC:\UTIL\CED.DEF
LOADHIGH C:\BAT\XK
LOADHIGH C:\DOS\MOUSE
C:\KWIK\SUPERPCK /E /&U+ /S:3000 /I- /P- /-A /-B
GOTO End

:DosOnly
C:\DOS\DOSKEY
:End

CLS
D:

Organizacija, naravno, može da bude i drugačija ali je ovako najjednostavnije: najpre se navedu stvari koje u svakom slučaju treba izvršiti (npr. prompt, path itd) a onda, sa GOTO %CONFIG%, "skoči" na deo procedure koji odgovara izabranom stanju; promenljiva CONFIG se automatski definiše tokom interpretiranja CONFIG.SYS-a. Svaka od "grana" AUTOEXEC-a završava se sa GOTO End kako program ne bi "skliznuo" u sledeću.

 

Jedna verzija datoteke CONFIG.SYS

Diskusiju konfiguracione datoteke završavamo mogućim listingom CONFIG.SYS fajla. Povećan je broj drajvova i bafera, instaliran HIMEM, EMM386 i ANSI drajver kao i keš od megabajta u expanded memoriji. Datoteku možete da prenesete na vaš hard disk tako što ćete otkucati C: i CD \ (tako prelazite u osnovni, root direktorijum diska C:) a zatim COPY CON: CONFIG.SYS. Pošto otkucate sve redove, pritisnite Ctrl Z a zatim Enter.

DEVICE = C:\DOS\HIMEM.SYS
DEVICE = C:\DOS\EMM386.EXE RAM
DOS = HIGH,UMB
DEVICEHIGH = ANSI.SYS
BREAK ON
BUFFERS = 25
FILES = 50
STACKS = 0,0
DEVICEHIGH = C:\DOS\DISPLAY.SYS CON=(EGA,437,6)
COUNTRY=038,852,C:\DOS\COUNTRY.SYS
SHELL=C:\DOS\COMMAND.COM C:\DOS\ /E:1024 /P

Ostalo je još da kažemo da greške u datoteci CONFIG.SYS bivaju prijavljene u toku "podizanja" sistema i da računar pogrešne redove jednostavno ignoriše. Može se, međutim, dogoditi da neki neispravno instaliran drajver ili linija SHELL izazovu blokadu sistema u kom slučaju treba startovati računar bez CONFIG.SYS-a kako bi se greška mogla otkloniti. Dovoljno je da, kada PC ispiše Starting MS-DOS, pritisnete F5 pa će kompletan CONFIG.SYS i AUTOEXEC.BAT će biti "preskočen" - pročitaćete poruku MS-DOS is bypassing your CONFIG.SYS and AUTOEXEC.BAT files a zatim i uobičajeni prompt C>>. Ukoliko niste sigurni koja linija vam pravi probleme, umesto F5 pritisnite F8 i CONFIG.SYS će biti izvršavan liniju po liniju, pri čemu sa Y ili N odlučujete da li će svaka konkretna linija biti izvršena ili preskočena. Locirani problem docnije otklanjate ispravljajući ili, u krajnjem slučaju, izbacujući problematičnu liniju.

Pri eksperimentisanju se može dogoditi i da oštetite sam MS-DOS, u kom slučaju nikakvo F5 ili F8 neće pomoći - moraćete da podignete sistem sa DOS diskete i, možda, ponovo instalirate čitav DOS. Veoma je važno da, i pored sigurnosnih mehanizama ugrađenih u DOS 6.0, u blizini računara držite DOS disketu koja je zaštićena od upisa - pomoći će vam i ako se suočite sa nekom "virusnom infekcijom".