Nekatera imena so bavbav

Avtor: Uredništvo, Objavljeno: 2. 02. 2021 06:08:00, Kategorija:

Zakaj ne moremo datoteki dati imena CON? Ali AUX? Pa NUL?...

Nekatera imena so bavbav
Če v Windows 10, pa tudi vseh prejšnjih različicah, skušate neki datoteki ali mapi dati ime CON, vam sistem tega ne bo pustil in javil, da gre za neveljavno ime naprave. Naprave? Pa saj ni naprava ampak mapa oziroma datoteka? In prav v tem grmu leži zajec.

»Težava« ima korenine v osemdesetih letih prejšnjega stoletja, ko je na osebnih računalnikih vladal operacijski sistem DOS. Ta se je s priključenimi napravami, kot so miška, tiskalnik in podobno, »pogovarjal« z gonilnikom za to napravo preko tako imenovanih »datotek naprav« (device file). »Pogovorna veriga« je bila DOS -> datoteka naprave -> gonilnik naprave - > naprava. In zakaj je (bilo)to koristno? Vzemimo primer tiskalnika. Gonilniki naprav so bili razviti zato, da programerjem ne bi bilo treba razmišljati o tem, kako deluje vsak tiskalnik posebej, oziroma v vsak svoj program vključevati kode, ki bi omogočala tiskanje na vseh tiskalnikih na trgu. Namesto tega je dovolj, da vsebino, ki bi jo uporabnik rad natisnil, shranijo oziroma bolje rečeno posredujejo v posebno datoteko (datoteka naprave), od koder jo gonilnik »pretoči« v tiskalnik. Prednost sistema je v tem, da ko na trg pride nov tiskalnik programerjem ni treba prilagajati obstoječih programov zanj, saj ti podatke še vedno pošiljajo v datoteko naprave, od koder jih pobere nov gonilnik, ki ga je za novo napravo spisal proizvajalec tiskalnika.

Ideja je torej dobra, je pa s seboj prinesla »kaveljc«. Vsaka naprava oziroma bolje rešeno vsaka vrata v računalniku so potrebovala svojo datoteko naprave in ta datoteka je morala seveda imeti neko ime. Tiskalniki so bili običajno priključeni na vzporedni vrata LPT1 ali LPT2, zato je datoteka naprave za ta dvoja vrata nosila ime LPT1 oziroma LPT2. Če ste recimo v DOS-u vtipkali ukaz »Dir > LPT1«, se je vsebina trenutne mape namesto na zaslonu izpisala na tiskalniku, priključenem na vrata LPT1. In da ne bi prišlo do težav, so bila (in so še) imena teh vrat oziroma priključkov rezervirana. Neke datoteke ali mape ne morete poimenovati CON, ker je to okrajšava za Console, prav tako pa jim ne morete dati imen ne morete jim dati imen AUX, LST, PRN, NUL, LPT0, LPT1LPT9 ali COM0, COM1COM9, saj so vsa rezervirana za omenjene datoteke naprav.


Seveda se postavlja vprašanje, zakaj je še vedno tako. Kljub temu, da večina uporabnikov več ne ve, kako sta bila videti paralelni in serijski priključek, saj ju je že zdavnaj nadomestil USB, pa Microsoft zaradi združljivosti za nazaj vztraja na rezervaciji imen. To pa zato, ker je po svetu še vedno kopica starih računalnikov, ki se uporabljajo v merilne ali krmilne namene, na katere so preko serijskih, paralelnih in še kakšnih vrat priključeni merilniki, senzorji in druge namenske naprave. Tega sicer res ni veliko, a tam, kjer je, je pogosto vitalnega pomena. Tako vitalnega, da se izplača tvegati jezo Conradov, Corneliusov, Constantinov in podobnih ljudi, katerih vzdevek bi lahko bil Con in  bi s tem imenom radi shranili kak selfi ali kaj podobnega. ▪