Sunteți pe pagina 1din 33

Prof.

B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

Capitolul 5

SISTEMUL DE OPERARE MICROSOFT-DOS


5.1. Caracteristici generale
MS-DOS (MicroSoft Disk Operating System - sistem de operare pe disc) este un SO monotasking, monoutilizator cu interfa text. Este produsul nregistrat al cooperrii dintre cunoscutele firme MicroSoft i IBM (S.U.A). Este destinat calculatoarelor IBM PC compatibile ca i tuturor CN compatibile cu acestea, fiind n prezent unul din cele mai rspndite SO. MS-DOS este o variant dezvoltat a SO CP/M care era destinat microprocesoarelor pe 8 bii i de la care a pstrat multe concepte i chiar comenzi. Dintre versiunile MS-DOS-ului cunoscute pn n prezent, i care au ajuns deja la V6.0, cea mai rspndit este versiunea V3.30 - ea fiind prezentat n continuare. Atunci cnd este cazul se vor face referiri sumare, dar importante, la diferenele versiunii V3.30, considerat standard, fat de alte versiuni mai evoluate. Configuraia hardware minim necesar pentru implementarea i utilizarea SO MS-DOS cuprinde urmtoarele echipamente: CN cu microprocesor pe 16 bii (de regul INTEL I-8086, I-8088, I80X86 cu X = 1, 2, 3) i cu o memorie intern mai mare de 256 kB. 1 ecran de afiare (monitor video); 1 tastatur, de la care se transmit comenzile operatorului pentru SO; 1 unitate pentru discuri flexibile (floppy-disk) sau pe scurt dischete. Opional mai pot fi cuplate la SC i alte periferice: nc o unitate de dischete; una sau mai multe uniti de discuri neamovibile (fixe - nedemontabile) cunoscute i sub una din denumirile de: disc-fix, disc-dur (hard-disk), disc Winchester; una sau mai multe imprimante pentru tiprirea datelor; unul sau mai multe dispozitive pentru trasarea graficelor cunoscute sub numele de ploter, termen mprumutat din limba englez (plotter); dispozitive de punctare cunoscute sub numele: de mouse (oricel), joystick (manet pentru jocuri); interfee de comunicare cu exteriorul: plac de reea pentru conectarea la reeaua de calculatoare; modem-uri pentru conectare la reeaua telefonic; faxuri pentru transmiterea de imagini prin reeaua telefonic; scanere pentru achiziie de imagini; echipamente pentru achiziia semnalelor analogice sau numerice. Dei de generaie veche, sistemul de operare MS-DOS este nc foarte actual i cunoaterea lui este util din urmtoarele motive: reprezint nucleului sistemelor Windows 9x (Millenium) bazate pe sistemul de fiiere de tip FAT, care sunt nc mult utilizate comenzile DOS sunt recunoscute i n: Windows NT, Windows 2000, Windows XP care folosesc sisteme de fiiere NTFS; n acest caz se deschide o fereastr pentru interpretorul de comenzi, care accept toate comenzile DOS; UNIX permite instalarea unui demon, care accept comenzi MS-DOS, pe care le interpreteaz corespunztor i le execut sub UNIX. majoritatea conceptelor i structurii comenzilor MS-DOS se regsesc sub o form mai mult sau mai puin adaptat n toate sistemele de operare, ceea ce face ca un cunosctor al MS-DOS s poat migra uor spre alte sisteme de operare. 1

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

5.2. Structura sistemului de operare MS-DOS


Ca ori ce SO, MS-DOS reprezint o colecie de programe care gestioneaz resursele fizice al CN compatibile IBM-PC facilitnd prin diversele servicii oferite att activitatea operatorului, ct i pe cea a programatorului. Rutinele MS-DOS sunt grupate dup cum urmeaz: 1) O parte se gsesc ntr-o memorie nevolatil de 64 kB, cu acces numai la citire (de tip ROM, EPROM), avnd adresa de nceput F0000H; ele cuprind: informaii referitoare la structura hardware a CN n cauz; programe de testare a dispozitivelor fizice al CN: memorie, tastatur, uniti de discuri, porturile CN, etc. programe care realizeaz cele mai utile, simple i des folosite funcii necesare interfeei dintre UC i periferia CN; aceste programe asigur compatibilitatea CN fabricate de productori diferii, astfel nct un program existent pe o dischet s poat fi rulat pe orice CN compatibil IBM-PC; ele formeaz aa numitul BIOS (Basic Input Output System - sistem de baz intrri /ieiri), care este cel mai de jos nivel, dar i cea mai rapid cale de comunicare cu perifericele. In concluzie, BIOS depinde de tipul calculatorului, fiecare fabricant de CN concepnd propriul su BIOS astfel nct compatibilitatea MS-DOS s fie asigurat. 2) Cealalt parte a SO se gsete pe un disc magnetic (fie flexibil - floppy, fie neamovibil hard disk), fiind identic pentru toate CN IBM-PC compatibile i cuprinznd mai multe fiiere ale SO: a) , fr de care SO nu poate funciona: un ncrctor (loader), apelat ori de cte ori SO este (re)pornit; ncrctorul are se afl plasat n BOOT SECTOR, nume sub care este cunoscut sectorul 0 al oricrei dischete cu SO. 2 fiiere sistem DOS.COM (IBMDOS.COM) i BIO.COM (IBMBIO.COM) care constituie supervizorul propriu-zis, rezident n memoria intern pe toat durata funcionrii CN. Aceste fiiere se ncarc de pe dischet (hard-disk) la pornirea SC, sau la ori ce reiniializare a lui. Numele fiierelor sistem din paranteze se refer la varianta IBM, spre a le deosebi de varianta original MicroSoft. interpretorul de comenzi principal, numit COMMAND.COM, care are rolul de a "interpreta" comenzile, adic de a le analiza sintactic, de a le decodifica transformndu-le n apeluri de funcii DOS i de a le transmite supervizorului; n cazul depistrii unor erori, interpretorul comunic mesajele adecvate. Pentru economisirea locaiilor de memorie necesare rulrii unor programe de mari dimensiuni, interpretorul de comenzi nu se gsete permanent n memoria intern a CN fiind ncrcat aici numai atunci cnd prezena lui este necesar. Urmtoarele precizri sunt folositoare: SO permite utilizatorului s-si defineasc propriul su interpretor de comenzi care s difere de cel original oferit de Microsoft; una din erorile mai frecvent ntlnite o constituie imposibilitatea gsirii de ctre supervizor a interpretorului de comenzi, eroare datorat fie plasrii inadecvate pe disc a acestuia, fie definirii greite sau alterrii variabilelor de mediu ale SO. b) : Fiierul de configurare CONFIG.SYS, conine informaiile necesare configurrii SO, astfel nct acesta s se adapteze ct mai bine nevoilor impuse de utilizator. Prezena acestui fiier nu este obligatorie, n caz de absen a lui SO primind o configuraie standard. Fiierul de comenzi auto-executabil AUTOEXEC.BAT este lansat n execuie la fiecare (re)pornire a SO. El conine toate comenzile pe care operatorul (utilizatorul) dorete s le execute la fiecare (re)pornire a SO. Prezena acestui fiier este facultativ, n absena lui fiind executate doar comenzile standard de fixare a datei i orei pentru UC Fiierele pentru comenzile externe ale SO, care nu sunt altceva de ct tranzienii SO. Absena lor nu mpiedic funcionarea SO, dar limiteaz posibilitile sale, n sensul c acele comenzi ale cror tranzieni lipsesc nu pot fi executate. 2

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

Figura 5.2 cuprinde schema principial a structurii MS-DOS.

Figura 5.1 Schema principial a structurii SO MS-DOS.

5.3. Organizarea informaiilor la SO MS-DOS.


5.3.1. Noiuni i principii de baz. Principiile de baz folosite pentru organizarea informaiei pe dischete (hard-disk) la SO MSDOS sunt: Unitatea de baz o constituie fiierul format din mulimea nregistrrilor (articolelor) necesare dezvoltrii unei aplicaii. nregistrarea (articolul) este o structur definit de utilizator n raport cu necesitile aplicaiei, care conine date, simboluri sau instruciuni. Dac datele din fiier reprezint instruciuni (cod main) destinate UC, atunci el se numete program de calcul. Din punct de vedere al MS-DOS, fiierele se difereniaz ntre ele prin numele asociat lor. Suportul fizic al fiierelor este discul magnetic. Unui disc i se pot asocia mai multe uniti logice (partiii): pentru discul neamovibil se pot defini pn la 4 uniti logice, pe cnd dischetei i corespunde ntotdeauna doar o sigura unitate logica. Referirea la o anumit unitate logic se face prin intermediul numelui (simbolului) care o definete. SO memoreaz n cadrul variabilele sale o unitate logic curent (implicit), pe care se consider c se desfoar n mod obinuit majoritatea operaiilor cu fiiere. Simbolul unitii curente poate fi afiat pe ecran n permanena folosind n acest scop prompterul sistemului. La (re)iniializarea SO, unitatea logic curent este cea pe care se afl discheta (hard-disk-ul) cu SO. Pe fiecare unitate logic fiierele sunt ordonate n structuri ierarhizate, numite arbori (n englez - tree), a cror element de baz este directorul. Un director este format dintr-o mulime de fiiere sau de alte directoare referite n general ca subdirectoare ale directorului n cauz, numit director printe. Un director care nu conine nici un subdirector i nici un fiier este un director vid. Fiecare subdirector sau fiier coninut ntr-un anumit director reprezint o intrare n directorul respectiv. Referirea la un anumit director (subdirector) se face prin intermediul numelui su. 3

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

Directorul corespunztor primului nivel ierarhic, care este printele tuturor celorlalte directoare de pe o unitate logic, poart numele de director rdcin (sau pe scurt rdcin). Directorul rdcin poate avea maximum 224 intrri la o dischet i 512 intrri la un disc fix. La un moment dat SO MS-DOS memoreaz un anumit director, numit director curent (implicit). In raport cu celelalte directoare, directorul curent are o poziie privilegiat n sensul c, operaiile cu fiiere se desfoar de regul n cadrul su. Folosind organizarea fiierelor n directoare se obin structuri arborescente de tipul celei din figura 5.2. Spre exemplu, n acest caz urmtoarele afirmaii sunt adevrate: directorul rdcin este printe pentru directoarele DIR-1, DIR-2; subdirectoarele DIR-4, DIR-5 i fiierul fis-1 sunt intrri n directorul DIR-2; directorul DIR-5 este un director vid.

Figura 5.2. Exemplu de structur arbore a directoarelor la MS-DOS.

Pentru gsirea unui director sau fiier, pornind de la un reper fix directorul curent sau rdcina arborelui director trebuie parcurse o suit de directoare cuprinse ntr-o list care definete calea parcurs. Structura complet a unei ci este de forma. [ [Volum] Lista_de_directoare_separate_prin_back-slash] Observaie: Elementul cuprins ntre paranteze drepte poate lipsi. n concluzie: dac volumul lipsete, atunci calea n cauz se gsete pe volumul curent dac lista de directoare lipsete atunci directorul n cauz este directorul curent dac att volumul ct i cale sunt absente, atunci este vorba de directorul curent de pe volumul curent ! Cutarea unui fiier ntr-o structur de directoare se face dup urmtoarele reguli: dac pentru fiier nu se specific calea, atunci acesta este cutat: n primul rnd n directorul curent de pe volumul curent; apoi dac el nu este gsit aici, cutarea are loc n directoarele privilegiate (dac au fost definite !), % prin comanda PATH (pentru detalii vezi aceast comanda) memorate de SO n variabila proprie cu numele %PATH; dac pentru fiier este specificat o cale, atunci cutarea lui se face: n volumul specificat la nceputul cii de cutare n discuie; n volumul curent dac volumul nu se specific. n fiecare din aceste situaii calea de cutare ncepe: fie din directorul curent, cnd primul caracter din numele caii NU este \(back-slash): 4

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

spre nivele ierarhice mai mari dac primul director din calea de cutare sete directorul printe, specificat prin numele lui simbolizat de altfel spre nivele ierarhice mai mici fie din directorul rdcin spre nivele ierarhice inferioare (cu numere mai mari), dac primul director specificat n cadrul cii considerate este tocmai directorul rdcin simbolizat de \ (back-slash). Desigur dac un fiier nu este gsit de SO, atunci acest fapt va fi semnalat prin afiarea pe ecran a mesajului. File not found (Fiierul nu este gsit) Exemple pentru structura de directoare din figura 5.3 a fiierului fis-6:: 1. dac directorul curent este rdcina, atunci calea spre fis-6 este format din DIR-1 \ DIR-3 2. dac directorul curent este DIR-2, atunci calea pentru fis-6 este format: fie din: \ DIR-1 \ DIR-3 fie din: \ DIR-1 \ DIR-3 3. dac directorul curent este DIR-1, atunci calea la fis-6 cuprinde doar pe DIR-3. -// Structura informaiei pe un disc depinde de faptul dac: acest disc este: - disc sistem, adic conine SO; - disc normal (obinuit) care nu conine SO; acest disc este: - dischet; - hard-dik (disc fix).

capete de citire / scriere

sector
capete de citire / scriere

capete de citire / scriere pist


capete de citire / scriere cilindru

a) Dischet

b) Hard-disk Fig. 5.3. Dispunerea informaiei pe un disc magnetic. Pe o discheta informaia este nregistrat pe piste (track), fiecare pist avnd un anumit numr de sectoare (sector). In funcie de numrul de piste, de numrul de sectoare pe o pist i de capacitatea de stocare a datelor pe un sector, cele mai uzuale tipuri de dischete sunt: 360 kB; 720 kB; 1.2 MB - pentru dischete cu diametrul de 5.25"( oli inch); 720 kB; 1.44 kB pentru dischete cu diametrul de 3.5. Pe un hard-disk informaia este stocat la nivel logic n volume (partiii) i la nivel fizic este nregistrat pe cilindri (cylinder). Unitatea logic la nivelul unei partiii se numete cluster (ciorchine) i dimensiunea sa se poate stabili la partiionarea hard-disk-ului folosind programe avansate de gestiune a discurilor neamovibile. Capacitatea de stocare a discurilor Winchester este funcie de numrul de cilindri, de numrul de clustere pe un cilindru i de capacitatea unui cluster. Cele mai rspndite discuri fixe au capacitatea de 20, 40, 56, 80, 120, 170 MB etc. 5

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

Dac discheta este de tip sistem, atunci informaiei este grupat n 4 zone distincte (fig. 5.1): 1) Pe sectorul 0 aflat pe pista 0 (deci primul sector al dischetei), se afl programul de ncrcare al fiierelor sistem de pe dischet n memoria intern a CN, program cunoscut sub numele de ncrctor (loader). Din acest motiv sectorul 0 se numete sector de ncrcare (boot-sector), iar discheta sistem este bootabil. Incrctorul conine toate datele legate de structura dischetei i de prelucrarea tabelelor DOS existente pe ea. 2) Tabela de alocare a fiierelor FAT (File Allocation Table) permite localizarea unui fiier pe disc, coninnd informaii referitoare la sectoarele n care se afl fiierul n cauz. 3) Directorul rdcin conine intrrile n director. 4) Zona de date (zona fiierelor) cuprinde fiierele, primele 2 fiind obligatoriu fiierele sistem DOS.COM, BIO.COM. Dac dischet nu este de tip sistem, adic este nebootabil atunci spre deosebire de situaia anterioar de pe ea lipsesc: ncrctorul SO i fiierele sistem DOS.COM, BIO.COM. La un hard-disk, SO MS-DOS recunoate 2 tipuri de partiii (zone de date): partiie primar (maxim 32 MOctei), necesar pentru ca discul s fie utilizat de ctre MSDOS; partiie extins (de orice dimensiune), mprit n zone numite uniti logice (maxim 32 MOctei fiecare). In general fiecare unitate logic poate fi creat i tears de un SO oarecare i din acest motiv se folosesc conceptele de partiie DOS sau non DOS. Prima zon a unui disc Winchester este Sectorul de ncrcare Absolut (SIA), care la (re)iniializarea SO este ncrcat n memoria interna a CN. Ultima sa parte a SIA conine o tabel de partiionare a discului fix n uniti logice, din care se poate afla care partiie este activ, adic care partiie este folosit pentru (re)iniializarea SO. Din partiia activ se citete programul de ncrcare a partiiei respective, n continuare structura partiiei fiind identic ca la o dischet. 5.3.2. Denumirea fiierelor, directoarelor, cilor de cutare i unitilor logice. este format dintr-o sigur liter < A - Z > urmat de < : >. In cadrul unei reele de calculatoare unitile logice <A:> -<E:> sunt locale putnd fi accesate numai de la staia respectiva, iar unitile logice <F:> - <Z:> sunt generale i pot fi apelate de orice utilizator autorizat din reea (orice CN care are mputernicirile necesare). Unitile logice <A:> i <B:> se refer la cititoarele de dischete (chiar dac fizic exist unul singur !), iar unitile logice <C:> - <E:> sunt destinate discurilor neamovibile sau discului virtual. Schimbarea unitii logice curente se face simplu prin tastarea numelui ei urmat de <CR>. este format din 2 pri: 1) Numele propriu-zis cuprinznd 1-8 simboluri din care primul este o litera din lista simbolurilor admise: A ... Z a ... z 0 ... 9 $ / ' ! ( ) & @ # ~ { } _ MS-DOS nu face distincie ntre majuscule i minuscule, convertind automat literele mici n litere mari. Este interzis folosirea pentru numele fiierului a unor nume rezervate de MS-DOS n alte scopuri, ca de exemplu: CON - reprezint denumirea fiierelor standard pentru tastatur la intrare, respectiv ecranul video la ieire; AUX, COM1 - numele primului port de comunicaii asincrone (seriale); COM2 COM4 - numele celorlalte porturi seriale; PRN, LPT1 - numele primei imprimante (port paralel); LPT2 LPT3 - numele celorlalte porturi paralele; NUL - numele unui echipament fictiv folosit pentru testarea unor programe: la intrare genereaz codul pentru sfrit de fiier, iar la ieire nu transmite real nici o informaie. 6

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

Tabelul 5.1. Extensiile folosite uzual. Extensie ASM ARC ARJ BAS BAT BIN COM CRF C DOC EXE LIB LST MAP OBJ PAS SYS TXT ZIP Numele ASseMbly ARChive ARJ BASic BATch BINary COMmon CrosReFerence C DOCument EXEcutable LIBrary LiST MAPping OBJect PAScal SYStem TeXT ZIP Tipul fiierului Program n limbaj de asamblare Fiier arhivat-comprimat Fiier comprimat de programul ARJ.COM Program surs n limbaj BASIC Fiier de comenzi SO MS-DOS Fiier n format binar Program executabil Fiier cu referine ncruciate Program surs n limbaj C Fiier tip document Program executabil Fiier tip bibliotec Fiier cu pentru listare Fiier cu date despre alocarea memoriei Fiier tip obiect Program surs n limbaj PASCAL Fiier sistem Fiier text Fiier comprimat de programul ZIP

2) Extensia format din oricare 3 simboluri admise i pentru numele de fiier. Cele mai des utilizate extensii al cror nume se accept ca standard pentru anumite categorii de fiiere se gsesc prezentate n tabelul 5.1. Extensia este opional, deci pot exista nume de fiier fr extensie. Este bine de precizat c, multe programe, pentru a realiza o siguran mrit n prelucrarea informaiei, nu accept de ct prelucrarea fiierelor cu o extensie bine definit. Delimitarea dintre numele propriu-zis i extensie este realizat prin <.> pe post de separator. de nume de fiier corect definite: TEST.DOC; PROG.EXE; EX-1.BAS; HELP.!; CONFIG.SYS; A123$.COM; DOCUMENT; etc. Fiierul AZ.$$$ este incorect deoarece conine care nu este recunoscut de MS-DOS. La specificarea numelui de fiier se pot folosi dou caractere speciale (wildcards): <?> i <*> care au un rol aparte: caracterul <?> indic faptul c SO accepta ca valabil orice caracter ce se gsete pe acea poziie; deci <?> are rolul de jolly-jocker de la jocul de rummy. : numele de fiier PROG?.TXT se refer la oricare din fiierele alturate: PROG1.TXT; PROGA.TXT; PROG_.TXT; caracterul <*>, aflat pe o anumit poziie n cadrul numelui sau respectiv extensiei, nlocuiete orice grup de caractere care se gsete ncepnd cu acea poziie. : LUCRARE.* se refer la mulimea fiierelor cu numele propriu-zis LUCRARE, indiferent de extensia lor; *.DOC se refer la orice fiier care are extensia DOC, indiferent de numele lor propriu-zis; RAP*.MAP se refer la orice fiier cu extensia MAP i al cror nume ncepe cu literele RAP; *.* definete mulimea tuturor fiierelor. -// 7

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

se formeaz dup aceleai reguli ca i numele de fiier. Face excepie directorul rdcin care ntotdeauna este referit prin <\>. se construiete astfel: dac calea de cutare este pe unitatea logic curent atunci numele cii este format din succesiunea numelor directoarelor ce formeaz calea respectiv, separate prin caracterul back-slash (se pronuna becsle) <\>. Orice cale de cutare de pe unitatea logic curent trebuie s nceap fie din: directorul rdcin, cnd ncepe cu numele corespunztor adic cu <\>; directorul curent, caz n care primul nume este cel al unui subdirector al directorului curent, fiind deci diferit de <\>. Numele cilor pentru structura din figura 5.2 Se presupune c numele directorului curent este DIR-1, atunci pentru gsirea fiierului: fis-8 calea este \DIR-2\DIR-4; fis-6 calea este DIR-3; fis-3 nu necesit cale de cutare fiind plasat n directorul curent. Caile DIR-2\DIR-4, DIR-5 sunt greite deoarece nu pornesc nici din directorul curent, nici din rdcin. -// dac calea de cutare este pe o alt unitate logic atunci numele ei ncepe cu numele unitii logice respective, urmat de <\> pentru rdcin i de niruirea subdirectoarelor n cauz desprite prin <\> ca mai sus. : A:\MYDIR\PROG este o cale ce se gsete pe unitatea logic A: (discheta local), trece prin rdcina unitii logice i subdirectoarele MYDIR i PROG. -//Desigur, specificarea n calea de cutare a unitii logice curente nu este o greeal, dar este inutil, conducnd la pierdere de timp. La fel este superfluu de a defini toate cile de cutare pornind din rdcin, dac este posibil s o facem pornind din directorul curent ! presupune furnizarea celor 2 elemente de baz, n urmtoarea succesiune: calea de cutare a directorului n care el se gsete; numele fiierului considerat. Dac calea nu este corect definit sau dac numele fiierului este incorect atunci SO MS-DOS nu va putea gsi fiierul n cauz i drept urmare va afia pe ecranul monitorului un mesaj de eroare adecvat. Dac fiierul se afla n directorul curent, atunci calea de cutare poate lipsi i e bine s fie aa pentru a economisi timp.

5.4. Interfaa sistemului de operare MS-DOS cu utilizatorul.


5.4.1. Editarea comenzii Dialogul dintre operator i SO se realizeaz prin: comenzile pe care omul le introduce la claviatur; prin mesajele de rspuns i informaia afiat pe ecranul monitorului video. Comenzile introduse la claviatur se afieaz i ele, caracter cu caracter, pe msur ce sunt apsate tastele dorite. Pentru simplificarea tastrii comenzilor atunci cnd ele sunt foarte lungi i se repet, sau pentru a se putea corecta eventualele greeli de tastare, SO MS-DOS a fost prevzut cu un mic editor de comenzi. In continuare sunt discutate principiile de lucru i facilitile pe care le ofer acest editor rudimentar, dar totui util. 8

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

Ultima comand primit de SO este memorat ntr-o zon de memorie numit ablon. Comanda curent, se introduce automat, caracter cu caracter, ntr-o alt zon de memorie numit tamponul (buferul) liniei de comand sau pe scurt tampon. Cursorul care marcheaz printr-o linie plpitoare poziia caracterului curent din tampon , respectiv marcajul invizibil al poziiei curente din ablon avanseaz i ele pas cu pas pe msur ce se introduc caracterele la claviatur. Folosind adecvat tastele funcionale F1-F5, n raport cu necesitile de moment i cu rolul pe care ele l au (vezi tabelul 5.2), se pot transmite poriuni din ablon n tamponul liniei de comand, facilitndu-se migloasa operaie de editare a unei comenzi. Reuita editrii rapide a comenzilor depinde de cunoaterea rolului tastelor funcionalei, de inteligena operatorului i de experiena pe care o are n acest domeniu. Tabelul 5.2. Rolul tastelor funcionale. Tasta F1 F2 F3 F4 F5 F6 Del Sintaxa <F1> <F2> c <F3> <F4> c <F5> <F6> <Del> Funcia realizat Copiaz un caracter din ablon n tampon; cursorul i poziia curent n ablon avanseaz cu un pas. Copiaz n tampon toate caracterele de la poziia curent pn la primul caracter "c" ntlnit; cursorul din linia de comand i poziia curent din ablon avanseaz i ele corespunztor. Copiaz n tamponul liniei de comand toate caracterele din ablon, afindu-le pe ecran. Salt peste toate caracterele din ablon pn la primul caracter "c", astfel ca la tastarea ulterioar a lui F1 caracterul "c" din ablon se copiaz n tampon. Tamponul liniei de comand se copiaz n ablon, fr a se transmite SO. Se introduce n ablon caracterul de sfrit de fiier: <Ctrl> + <Z>. Salt peste un caracter n ablon, iar cursorul liniei de comand rmne nemodificat. Comut modul de inserare pentru tampon: - dac inserarea este activa (ON) ntre 2 caractere consecutive din ablon se insereaz irul de caractere tastat la claviatur; - dac inserarea nu este activ (OFF), caracterele tastate au prioritate faa de cele din ablon, cursorul i poziia curent avansnd pas cu pas la fiecare caracter introdus la claviatur. Anuleaz tamponul, ablonul rmnnd neschimbat. Transmite comanda din tampon la SO pentru execuie i n ablon pentru memorare n vederea unei editri ulterioare. terge ultimul caracter din tampon, deplasnd napoi cursorul cu o poziie.

Ins

<Ins>

Esc ENTER (CR) BACKSPACE

<Esc> <CR> <BS>

Trebuie remarcat c la versiunile mai moderne ale SO MS-DOS, mai exact de la versiunea 5.00 n sus, editarea comenzilor este mult mbuntit faa de versiunea 3.30; n acest sens a fost conceput comanda DOSKEY cu care se pot memora i edit oricare din comenzile transmise SO de la nceputul sesiunii de lucru; editarea direct pe ecran este deosebit de comod, folosindu-se n acest scop tastele sgei. Utilizatorii SO MS-DOS versiunea 3.30, pot i ei beneficia de faciliti asemntoare dac folosesc programul HISTORY, care ns nu aparine SO propriu-zis. 5.4.2. Caractere de control Pentru a se mri viteza de operare a omului, cele mai des utilizate comenzi au fost 9

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

codificate printr-o combinaie de 2 taste care se apas simultan, combinaie ce poart denumirea de caractere de control. Prima din caracterele de control este tasta <Ctrl> (Control), cealalt o anumit liter, aa cum se observ n tabelul 5.3. Tabelul 5.3. Caracterele de control recunoscute de SO MS-DOS. Tastele de control <Ctrl> + <C> <Ctrl> + <H> <Ctrl> + <I> <Ctrl> + <J> <Ctrl> + <N> <Ctrl> + <P> <Ctrl> + <S> <Ctrl> + <U> <Ctrl> + <X> Funciunea tastelor de control Abandoneaz linia de comand n curs de execuie; echivalent cu <Ctrl> + <Break>. terge ultimul caracter din tampon i de pe display, mutnd cursorul spre stnga cu 1 caracter; echivalent cu <BS> back-space. Mut cursorul la poziia de tabulare urmtoare (ntre 2 poziii de tabulare se afl 8 caractere); echivalent cu <Tab>. Insereaz sfrit de linie, dar nu ncheie linia de comand, urmtoarele caractere apar afiate pe ecran cu o linie mai jos. Anuleaz ecoul la imprimant (transmiterea n ecou a caracterelor de la display spre imprimant). Transmite n ecou ieirea de la display spre imprimant (contrar cu <Ctrl> + <N>). Suspend afiarea ieirii pe display; orice tast face ca afiarea s continue; echivalent cu tastele <Ctrl> + <NumLock>. terge linia curent de pe ecran. Anuleaz linia curenta de comand, ablonul rmne neschimbat.

5.4.3. Prompterul sistemului de operare i cursorul Dup terminarea execuiei unei comenzi SO este pregtit s preia o nou comand. Acest fapt este semnalizat operatorului prin afiarea pe ecran a unei informaii generale, prestabilite de operator n conformitate cu necesitile i gustul su, urmate de un caracter special ales tot de operator, caracter ce poart numele de prompterul SO (figura 5.4). Dup prompter apare o linie plpitoare, care avanseaz pe msur ce se introduc caractere la tastatur: este cursorul SO.

Fig.5.4. Prompterul i cursorul SO MS-DOS Stabilirea informaiei afiate i a formei prompterului se realizeaz cu comanda PROMPT. Sintaxa acestei comenzi este: PROMPT <ir de caractere> irul de caractere conine grupe de caractere de forma: <$> <caracter> unde <caracter> are semnificaia din tabelul 5.4. Ori ce alt caracter, care nu este specificat n acest tabel, este tratat de SO ca un caracter vid. Dup un caracter vid toate caracterele ntlnite se afieaz identic pe ecranul monitorului, pn se ntlnete un nou caracter <$>, sau pn ce comanda PROMPT se termin. 10

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

Tabelul 5.4. Semnificaia caracterelor nevide din comanda PROMPT. Caracterul T D P N G L Q E _ $ Semnificaia Timpul (ora) SO. Data (luna, ziua, anul) pentru SO. Directorul curent (directorul implicit). Unitatea logic curent (implicit). Caracterul ">" mai mare (Greater). Caracterul "l" mai mic (Less). Caracterul "=" egal (eQual). Carcacterul "Esc" (Escape). Salt la linia urmtoare; echivalent cu "CR" "LF". Delimitator, semnificnd nceput grup caractere.

Tabelul 5.5. Exemple de comenzi pentru fixarea prompterului: Comanda PROMPT Ready: PROMPT $T$_$P$G PROMPT $N$G Afiarea pe ecran Ready: --->Mesaj 12:07:34 --->Ora curent C:\MYDIR> --->Director curent C> --->Unitate logic curent

Problema 5.1. S se descrie o comand PROMPT care: - s afieze pe ecranul monitorului mesajul: "PS-2 in your service !" - pe o linie nou s afieze directorul curent, urmat de prompterul "=" Rezolvare: Dup numele comenzii PROMPT trebuie aezate: mesajul care trebuie afiat: "PS-2 in your service !" "$_" pentru nceput de rnd nou; "$P" pentru afiarea directorului curent; "$Q" pentru afiarea prompterului "=". Deci comanda cerut de problem are structura: PROMPT PS-2 in your service !$_$P$Q-//-

5. 5. Comenzile sistemului de operare MS-DOS


5.5.1. Principalele tipuri de comenzi Comenzile SO MS-DOS sunt de 2 tipuri: a) Comenzi interne care fac parte chiar din nucleul SO. Ele sunt permanent prezente n memoria intern a CN fiind ncrcate odat cu SO. Se execut imediat ce au fost transmise de la claviatur (dup apsarea tastei <CR>). b) Comenzi externe sunt rezidente pe disc ca programe executabile. Ori ce fiier cu extensia COM, EXE sau BAT este considerat ca reprezentnd o comand extern a SO, ceea ce permite programatorului s-i dezvolte propriile sale comenzi, care se adaug implicit comenzilor standard al SO. Aceast filozofie permite o mare elasticitate n exploatarea i utilizarea SO MS-DOS. Dup ce comanda extern a fost transmis supervizorului, ea este analizat de interpretorul de comenzi (COMMAND.COM), apoi dac este corect din punct de vedere sintactic se ncearc ncrcarea fiierului corespunztor de pe disc. Dac fiierul n cauz nu este gsit, atunci se afieaz un mesaj adecvat de eroare, se afieaz prompterul i se ateapt o nou comand. Dac tranzientul 11

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

este gsit pe disc el este ncrcat n memorie i se trece la executarea comenzii n discuie. La sfritul execuiei comenzii, supervizorul afieaz prompterul i ateapt o nou comand. 5.5.2. Descrierea sumar a principalelor comenzi MS-DOS Scopul prezentului paragraf este de a prezenta sumar principalele comenzi i de a crea o imagine asupra posibilitilor SO MS-DOS, motiv pentru care nu se va da o descriere detailat a comenzilor; amnuntele pot fi gsite n manualele indicate n bibliografia anexat la sfritul cursului. Forma sintactic general a unei comenzi MS-DOS este: [<CaleComand>] NUME_COMANDA [<NumeFi1>] [<NumeFi2>] [<Opiuni>] unde: [ ] subliniaz caracterul facultativ al elementului respectiv n structura sintactic a comenzii (adic elementul poate lipsi n anumite situaii); <CaleComand> - reprezint calea necesar pentru localizarea comenzii; ea poate lipsi n urmtoarele situaii: comanda este de tip intern, deci se afl n memoria intern fiind direct accesibil; comanda se gsete n directorul curent; comanda se gsete ntr-un director specificat n variabila de sistem PATH. La sintaxa comenzilor se presupune c toate comenzile externe se afl grupate ntr-un director numit, de exemplu DOS330, a crui cale este furnizat n PATH; din acest motiv precizarea <CaleComand> nu mai este necesar. NUME_COMANDA - reprezint numele prin care se identific comanda respectiv, difereniindu-se de restul comenzilor. <NumeFiier1>, <NumeFiier2> - sunt numele ce definesc fiierele la care se refer comanda; prezena lor n unele situaii este opional, dac ele se subneleg implicit; <NumeFiier> trebuie s conin toate elementele necesare localizrii corecte a fiierului dorit, pentru c n caz c nu a fost gsit n directorul specificat SO transmite un mesaj adecvat i comanda dorit nu se mai execut. <Opiuni> definesc o serie de parametri opionali care sunt facultativi fiindc au valorile fixate implicit; prezena lor este necesar doar cnd valorile implicite nu satisfac dorinele utilizatorului. In general parametrii opionali pot fi de tip: alternativ: cnd numai una din posibiliti poate fi acceptat la un moment dat; n sintaxa comenzii vor fi prezentai simultan separai de simbolul |; secvenial, cnd se succed unul dup altul; n aceast situaie forma lor este /<Liter>:<numr>; / (Slash) joac rol de separator ntre opiuni. (Adaug) - tip extern. APPEND <Cale1> <Cale2> ... APPEND /X /E Rol: Creeaz o cale de cutare tip "dat" i ajut la localizarea unor fiiere care nu sunt situate n directorul curent; este analog cu comanda PATH care ns creeaz ci de cutare tip "comand". Sintax: (Asigneaz) - tip extern. ASSIGN <UnitatLogic1> [ = ] <UnitateLogic2> ... Sintax: Rol: Toate referirile la <UnitateaLogic1> sunt reorientate spre <UnitateaLogic2>. Adic asigneaz <UnitateaLogic1> la <UniteaLogic2>. 12

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

(ATTRIButs - Atribute) - tip extern. Sintax: ATTRIB [+R|-R] [+A|-A] <NumeFisier> [/S] Rol: Poziioneaz i/sau afieaz atributele unui fiier. Atributele posibile pentru un fiier sunt: +R ---> Protejat la scriere (Read Only); -R ---> Neprotejat la scriere; +A ---> Arhivat (Archive); -A ---> Nearhivat. Un fiier mai poate fi ascuns (Hidden) i sistem (System). Ultimele 2 atribute nu sunt accesibile prin comenzi DOS. (Salveaz) - tip extern. Sintax: BACKUP <NumeFis1> [/S /M /A /D:<Data> /T:<Ora> /F /L] [<NumeFis2>] Rol: Salveaz de pe un disc pe alt disc unul sau mai multe fiiere folosind un format de salvare special. De obicei sursa este hard-disk-ul iar destinaia floppy discul; n acest mod pot fi salvate fiiere ce au dimensiuni mai mari ca i capacitatea dischetei. (ntrerupe) - tip intern. Sintax: BREAK [ON | OFF] Rol: Afieaz sau fixeaz modul n care se face verificarea apsrii tastelor <Ctrl>+<C> pentru ntreruperea unei comenzi n curs de execuie. Pentru ON verificarea se face la apelul oricrei funcii sistem, iar la OFF doar la iniiere unei operaii I/E. (CHange Code Page - Schimb codul de pagin) - tip intern. Sintax: CHCP <NumrCodPagin> Rol: Permite afiarea sau schimbarea paginii de cod curente definit prin comanda COUNTRY din fiierul CONFIG.SYS. (CHange DIRectory - Schimb directorul) - tip intern. Sintax: CHDIR <NumeCale>CD <NumeCale> Rol: Schimb directorul curent cu cel dat de <NumeCale>. (CHecKs DiSK - Testeaz discul) - tip extern. CHKDSK <NumeUnitateLogic> [/F /V] Sintax: Rol: Analizeaz tabela de alocare a fiierelor (FAT) i afieaz starea discului. (CLear Screen - Sterge ecranul) - tip intern. Sintax: CLS Rol: Se terge ecranul i se aduce promptul i cursorul n colul stnga - sus. (Comanda) - tip extern. Sintax: COMMAND [/C <Comand>] [/P] [/E:<NumarOctei>] Rol: Execut o comand DOS din interiorul unei aplicaii; apeleaz interpretorul secundar (care este tot COMMAND.COM); creeaz o zon nou pentru mediul DOS de dimensiune <NumrOctei>. (COMPare - Compar) - tip extern. Sintax: COMP <NumeFis1> <NumeFis2> Rol: Compar identitatea a 2 fiiere <NumeFis1> i <NumeFis2>, afind diferenele ce apar . (Copiaz) - tip intern. Sintax: COPY [/A] [/B] <NumeFis1> [/A] [/B] <NumeFis2> [/A] [/B] [/V] 13

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

COPY <NumeFis1> + <NumeFis2> <NumeFisConcatenat> Rol: Copiaz coninutul fiierului <NumeFis1> n fiierul <NumeFis2>; concateneaz fiierele <NumeFis1> cu <NumeFis2> n final destinaia fiind <NumeFisConcatenat>. (Schimb la o consol auxiliara) - tip intern Sintax: CTTY <NumeDispozitiv> Rol: Schimb echipamentul de I/E standard la unul auxiliar; <NumeDispozitiv> poate fi CON, AUX, COM1, COM2, etc. (Data) - tip intern. Sintax: DATE <Luna-Ziua-Anul> Rol: Afieaz data intern a sistemului de calcul, urmat de posibilitatea reactualizrii ei. (DELete file - Sterge fiier) - tip intern Sintax: DEL <NumeFiier> Rol: terge fiierul specificat prin <NumeFiier>, dac atributul su este -R. Cu utilitare speciale (UNERASE din Norton Commander) fiierul poate fi recuperat dac nu s-a nscris ntre timp peste el o alt informaie. Este similar cu comanda ERASE. (DIRectory - Directorul) - tip intern. Sintax: DIR <NumeDirector> [/P] [/W] Rol: Afieaz la echipamentul de ieire intrrile din directorul specificat prin <NumeDirector> (DISKettes COMPares - Compar dischete) - tip extern. DISKCOMP <UnitateLogic1> <UnitateLogic2> [/1] [/8] Sintax: Rol: Compar la nivel fizic (octet cu octet) coninutul dischetelor de pe cele 2 uniti logice. (DISKette COPY - copiaa discheta) - tip extern. Sintax: DISKCOPY <UnitateLogic1> <UnitateLogic2> [/1] Rol: Copiaz la nivel fizic ntreaga dischet aflat pe <UnitateaLogic1> pe discheta aflat pe <UnitateaLogic2>. (terge fiier) - tip intern. ERASE <NumeFiier> Sintax: Rol: Ca i comanda DEL aceast comand terge fiierul dat de <NumeFiier>. tergerea este posibil numai dac atributul fiierului este -R. Cu utilitare adecvate fiierul ters poate fi recuperat. - tip extern. Sintax: EXE2BIN <NumeFis1> <NumeFis2> Rol: Convertete fiierul tip .EXE dat de <NumeFis1> n fiier de tip .COM cu numele <NumeFis2>. Fiierele EXE nu au segmentele fixate, se ncarc mai ncet i ocup mai mult spaiu pe disc ca i fiierele .COM (imagine memorie). (Deschide rapid) - tip extern. Sintax: FASTOPEN <UnitateLogic> [= <Numr>] Rol: Memoreaz pe discul Winchester adresele de pe disc ale celor mai recente <Numr> fiiere deschise. Astfel crete mult viteza de acces la datele memorate n fiiere. (prepare Fixed Disk - Pregtete discul fix) - tip extern. FDISK Sintax: Rol: Realizeaz urmtoarele operaii cu hard-disk-ul: afiarea, crearea, activarea i tergerea partiiilor. 14

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

(Caut) - tip extern. Sintax: FIND [/V] [/C] [/N] <"irCaractere"> <ListaFiiere> Rol: Caut i localizeaz <"SirCaractere"> n <ListaFiiere>. (Formateaz) - tip extern. Sintax: FORMAT <UnitLog> [/S][/1][/8][/V][/B][/4][/N:<sect>][/T:<piste>] Rol: Iniializeaz discul din unitatea logic <UnitLog> la un format acceptat de SO, detecteaz pistele defecte, creeaz FAT, directorul rdcin i dac este cazul ncrctorul SO i copiaz fiierele sistem BIO.COM i DOS.COM. La formatarea dischetelor trebuie avut n vedere compatibilitatea lor cu unitile de disc. (GRAFic TABLe - Tabela pentru adaptorul grafic) - tip extern. Sintax: GRAFTABL Rol: ncarc n memoria intern o tabel destinat adaptorului grafic /color. Poziioneaz codul de eroare ERRORLEVEL. (Grafic) - tip extern. Sintax: GAPHICS <TipImprimant> [/R] [/B] [/LCD] Rol: Permite tiprirea coninutului unui ecran grafic folosind un adaptor color /grafic. (Unete) - tip extern. JOIN <UnitateLogic> <NumeDirector> [/D] Sintax: Rol: Conecteaz (unete) <UnitateaLogic> la <NumeDirector> pentru a forma o structur unic, arborescent de directoare. (KEYBoard - Claviatura, tastatura) - tip extern. Sintax: KEYB <CodTaste>,<CodPagin>,<NumeFisierTaste> Rol: Afieaz i permite schimbarea codului tastaturii. (Eticet) - tip extern. Sintax: LABEL <UnitateaLogic> Rol: Creaz, afieaz i modific eticheta cu numele discului de pe <UnitateaLogic>. (MaKe DIRectory - Creeaz un director) - tip intern. MKDIR <NumeDirector> Sintax: MD <NumeDirector> Rol: Creeaz un director nou cu <NumeDirector>. Calea este cea specificat n <NumeDirector>, ultimul nume de subdirector fiind cel nou creat. (Stabilete modul de lucru) - tip extern. Sintax: MODE <Dispozitiv> <Opiuni> Rol: Stabilete modul de operare (lucru) al echipamentelor conectate la porturile calculatorului. - tip extern. Sintax: NLSFUNCT <NumeFiier> Rol: Permite selectarea paginii de cod utilizndu-se informaiile din fiierul <NumeFiier>. (Cale) - tip intern. PATH <ListCi> Sintax: Rol: Afieaz sau definete cile de cutare pentru directoarele din <ListaCi>. Cile definite se memoreaz n zona variabilelor mediului SO. 15

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

(Tiprete) - tip extern. Sintax: PRINT [/D:<disp>]/B:<oct>][/U:<NrPer>][/M:<MaxPer>][/S:<IntTimp>] [/Q:<NrFisCoada>][/C][/T][/P] <ListMumeFiiere> Rol: Tiprete la imprimant sub form de text (caractere ASCII) coninutul fiierelor din <ListaNumeFiiere>. (Modific Prompterul) - tip intern. Sintax: PROMPT <SirCaractere> Rol: Definete prompterul SO cu ajutorul <SirCaractere>; detalii se dau n paragraful destinat prompterului ( 5.4.4.3). (Recupereaz) - tip extern. Sintax: RECOVER <NumeFiier> | <UnitateLogic> Rol: Recupereaz partea util a fiierelor de pe un disc cu sectoare defecte. (Redenumete) - tip intern. Sintax: RENAME <NumeFiier1> <NumeFiier2> REN <NumeFiier1> <NumeFiier2> Rol: Redenumete fiierul cu <NumeFiier1> cu noul nume<NumeFiier2>. (nlocuiete) - tip extern. REPLACE <NumeFi> <NumeDir> [/A] [/P] [/R] [/S] [/W] Sintax: Rol: Se nlocuiete (dac exist) sau se adaug fiierul cu <NumeFis> n directorul <NumeDir>. Poziioneaz un cod de eroare n funcie de modul cum a decurs operaia de nlocuire. (Restaureaz) - tip extern. RESTORE <UnitLogica> <NumeFiier> [/S][/P][/B:<data>] [/A:<data>][/M][/N][/L:,TIMP>][/e:<TIMP>] Rol: Restaureaz de pe <UnitLogic> fiierul cu <NumeFiier>. Este inversa comenzii BACKUP. Poziioneaz ERRORLEVEL.

Sintax:

(REMove DIRectory - terge un director) - tip intern. Sintax: RMDIR <NumeDirector> RD <NumeDirector> Rol: terge directorul vid specificat prin <NumeDirector>. Directorul curent i rdcina nu pot fi terse. (Selecteaz) - tip extern. Sintax: SELECT [A:] [<UnitLog>] <CodTar> <CodPag> <NumeDir> Rol: Instaleaz SO MS-DOS de pe discul aflat n unitatea logic A: pe discul aflat n <UnitLog>, specificndu-se totodat i codul rii, pagina de cod i numele directorului n care se copiaz fiierele cu comenzi externe. (Pune) - tip intern. Sintax: SET [ <NumeParametru> [= <ValoareParametru>] ] Rol: Afieaz irul de caractere ASCII <NumeParametru> sau l echivaleaz cu cel dat de <ValoareParametru>, introducndu-le apoi n zona variabilelor de mediu DOS; dac <ValoareParametru> lipsete, atunci terge din zona variabilelor <NumeParametru>.

16

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

(Imparte) - tip extern. Sintax: SHARE [/F:<ZonaFiier>] [/L:<NumrIntrri>] Rol: ncarc suportul soft necesar pentru partajarea fiierelor (folosirea comun) i protecia discurilor flexibile. (Sorteaz) - tip extern. Sintax: SORT [/R] [/+<NrColoan>] Rol: Sorteaz datele primite de la echipamentul de intrare i le transmite la cel de ieire. Sortarea se face n ordine cresctoare a codurilor ASCII (la opiunea R - invers), ncepnd cu caracterul din coloana <NrColoan> de pe linia curent a textului. (SYStem - Sistem) - tip extern. Sintax: SYS <UnitateLogic> Rol: Transfer SO (fiierele sistem) pe discul formatat cu opiunea /B sau /S aflat n <UnitateLogic>. (Timpul) - tip intern. Sintax: TIME [<Ora> [:<Min> [:<Sec> [:SutimeSec]]]] Rol: Afieaz i modific ora curent a sistemului de calcul. (Arbore) - tip extern. TREE [<UnitateLogic>] [/F] Sintax: Rol: Afieaz arborele i opional (/F) fiierele de pe discul aflat n <UnitateLogic>. (Tiprete) - tip intern. TYPE <NumeFiier> Sintax: Rol: Afieaz sub form de text (caractere ASCII), la echipamentul de ieire coninutul fiierului <NumeFiier>. (VERsion - Versiunea) - tip intern. VER Sintax: Rol: Afieaz numrul versiunii SO MS-DOS. (Verific) - tip intern. Sintax: VERIFY [ON | OFF] Rol: Afieaz sau poziioneaz indicatorul de validare a verificrii corectitudinii scrierii pe disc. (VOLume - Volumul) - tip intern. Sintax: VOL <UnitateLogic> Rol: Afieaz eticheta (numele) discului aflat pe <UnitateLogic>. (eXtended COPY - Copiere extins) - tip extern. Sintax: XCOPY <GrupFiiere> <NumeDirector> [/A][/D:<data>] [/E][/M][/P][/S][/V][/W] Rol: Copiaz printr-o singur comand fiierele definite de sursa <GrupFiiere> n directorul <NumeDirector>. Specificatorul /E realizeaz crearea structurii de subdirectoare existente la surs. Nu poate opera asupra fiierelor ascunse sau cu acces numai la citire.

17

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

5.5.3. Fiiere de comenzi (lucrri). Fiierele de comenzi (BATch file - fiiere pachet), caracterizate prin extensia BAT, sunt formate dintr-o niruire de comenzi (pachete de comenzi) ale SO MS_DOS. Pentru c fiierele cu extensia BAT reprezint comenzi externe ale SO, nseamn c orice fiier de comenzi este n realitate o comand compus. Folosirea fiierelor de comenzi este foarte obinuit i comod, impunndu-se ca o soluie raional atunci cnd: este necesar s se transmit un ir de comenzi care se repet; apelarea respectivului fiier de comenzi este mult mai comod dect tastarea repetat a comenzilor dorite; se dau comenzi care difer foarte puin ntre ele; de exemplu deosebirea const doar n numele fiierului din comand; apelarea unui program se face cu un ir lung de parametri de iniializare; pentru rapiditate i comoditate apelul programului se poate face prin intermediul unui fiier de comenzi ce conine toi parametrii necesari, caz n care apelul se reduce la tastarea numelui fiierului de comenzi; un exemplu este folosirea compilatorului FORTRAN; se vrea protejarea echipamentelor i informaiei; de exemplu formatarea hard-disk-ului este o operaiune rara i periculoas, ducnd la pierderea informaiei stocate; de aceea comanda FORMAT nu trebuie lsat la ndemna nceptorilor, procedndu-se astfel: se redenumete fiierul FORMAT.COM n NEWFORM.COM, apoi se creeaz un fiier de comenzi cu numele FORMAT.BAT, care va conine numai comanda NEWFORM A: ; acum apelul FORMAT C: va conduce doar cel mult la formatarea dischetei de pe unitatea A:, pentru c se lanseaz fiierul de comenzi cu numele FORMAT i nu vechea comand FORMAT; desigur acum formatarea discului Winchester se poate face cu NEWFORM C:, pe care un nceptor nu o poate "ghici" prea uor. se dorete rapiditate, sau acordarea unui ajutor nceptorilor, la lansarea unor comenzi complicate. Dintre toate fiierele de comenzi se remarc n mod deosebit fiierul denumit AUTOEXEC.BAT care, dac este prezent n directorul rdcin al unitii logice de pe

care se (re)iniializeaz SO, atunci el este automat lansat n execuie nainte de primirea primei comenzi de la operator, ori de cte ori SO se (re)iniializeaz.
Crearea unui fiier de comenzi se poate realiza cu: 1. Comanda COPY CON <NumeFisierComenzi.BAT> <CR>, dup care se tasteaz comenzile dorite; la terminare se introduce caracterul pentru sfrit de fiier: <Ctrl> + <Z>. : COPY CON DIRAB.BAT<CR> |--> numele fiierului DIR A:<CR> DIR B:<CR> <Ctrl>+<Z> ---> comanda de copiere de la consol a fiierului de comenzi; ---> vizualizarea lui A: ---> vizualizarea lui B: ---> sfrit fiier comenzi.

Apelul fiierului de comenzi DIRAB va realiza vizualizarea directoarelor rdcin de pe unitile logice A: i B:. -//Aceast metod este simpl, direct, dar dup ce o comand a fost introdus n fiier, ea nu mai poate fi corectat - deci la o eroare de tastare a unei comenzi operaia de editare a fiierului trebuie reluat de la nceput. 2. Orice editor de texte care s permit tastarea, vizualizarea i corectare simpl a textului comenzilor (De exemplu: EDLINE, NE, WORDSTAR, etc.). Fiecare comand sau directiv MS-DOS se trece pe cte o linie separat, care n momentul execuiei 18

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

fiierului BAT se afieaz pe ecran. Inhibarea afirii pe ecran a unei comenzi poate fi realizat dac linia ce o conine ncepe cu caracterul @ ( a comercial, coad de maimua, tec). Apelul (executarea) unui fiier de comenzi se face prin: <NumeFiierComenzi> <ListaValorilorParametrilor> Lista valorilor parametrilor din apel reprezint lista valorile actuale desprite prin blancuri, pe care le pot lua parametrii formali folosii n cadrul comenzilor. Oprirea execuiei unui fiier de comenzi se face prin apsarea simultan a tastelor <Ctrl> + <C>, n urma creia se va afia mesajul: Terminate batch job(Y/N)? La rspunsul Y se abandoneaz executarea fiierului de comenzi, afindu-se prompterul DOS. Vizualizarea unui fiier de comenzi se face desigur cel mai simplu cu comanda: TYPE <NumeFiierComenzi> sau folosind un editor de texte sau a unui program destinat vizualizrii fiierelor tip text, de exemplu BROWSE. In cadrul oricrui fiier de comenzi se pot folosi urmtoarele categorii de variabile: 1. Parametrii formali sau pe scurt parametrii, definii prin %n, unde n = 0 - 9; exemple: %1 %2 ... %0. Valorile actuale pe care le primesc parametrii sunt transmise n cadrul liniei de comand cu care se face apelul fiierului de comenzi (vezi i explicaiile de mai sus). Interpretorul COMMAND.COM, la primirea listei de valori ale parametrilor face o corespondena ntre parametrii receptai i variabile, n sensul c primului parametru %1 i va fi atribuit prima valoare din list, celui de al doilea parametru %2 a doua valoare din list, etc. Lista valorilor actuale ale parametrilor poate conine mai mult de 10 valori, 10 fiind numrul maxim de parametrii utilizabili. Aa cum se va arta n continuare comanda SHIFT permite utilizarea tuturor valorilor din linia de comand, chiar daca n ea se dau mai mult de 10 parametri, sau dac numrul de parametri actuali este mai mare ca al celor folosii n cadrul fiierului de comenzi. : Fiierul de comenzi intitulat MYCOPY.BAT are urmtorul coninut: CD %1 COPY *.* %2 CD %2 DIR /W -//Executarea comenzii: MYCOPY DIR1 DIR2 datorit corespondenei dintre parametrii formali i valorile lor actuale (%1 -> DIR1, %2 -> DIR2) va avea ca efect: - noul director curent va fi DIR1; - se copiaz toate fiierele din directorul curent n directorul DIR2; - noul director curent va fi DIR2; - se afieaz coninutul directorului curent (DIR2) pe ecran. 2. Parametrii SO sau parametri de mediu sunt definii prin nume cuprins ntre % (%<NumeVariabila>%). : %PATH% - reprezint parametrul ce se refer la irul de caractere ce definete cile de cutare implicit ale SO. -// 19

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

In cadrul SO MS-DOS se pot defini anumite variabile (parametri), cunoscute sub numele de variabile ale mediului de operare; ele sunt iruri de caractere de forma: <NumeVariabila>=<SirDeCaractere> fiind stocate ntr-o zon special a memorie interne numita zona parametrilor de mediu. Operatorul uman poate defini el nsui: nou variabil de mediu prin comanda: SET <NumeVariabil>=<SirDeCaractere> : SET MYFIS=SUPERTEXT SET MYVAR=20 -// dimensiunea memoriei alocate variabilelor de sistem apelnd interpretorul de comenzi cu opiunea /N:nnnn : COMMAND.COM /N:1000 ---> 1000 octei pentru parametrii de mediu; 3. Variabile interne ale unei comenzi sau pe scurt variabile ce se definesc prin %%<Liter>; : %%f %%a etc. n cadrul fiierelor de comenzi sunt folosite urmtoarele caracterele speciale: @ aflat naintea oricrei comenzi sau directive inhib afiarea pe ecran a comenzii respective; " inhib interpretarea caracterelor destinate indirectrii unor comenzi (caracterele | > < ).

In final menionm c aprecierea capacitii de folosire a SO MS-DOS se reflect direct n felul cum utilizatorul este capabil s conceap fiiere de comenzi care s-i simplifice munca.

Directivele care vor fi prezentate n continuare, pot fi folosite numai n cadrul fiierelor de comenzi, excepie fcnd directiva ECHO. 1). Directiva CALL (Cheam, apeleaz). Permite apelarea unui fiier de comenzi, din interiorul altui fiier de comenzi, cu revenire n fiierul apelant i executarea comenzilor urmtoare, ceea ce permite folosirea unui fiier de comenzi ca o simpl comand. Sintaxa: CALL <NumeFisierComenzi> Observaii: apelul fiierului de comenzi se poate executa asupra lui nsui, existnd posibilitatea realizrii unui ciclu infinit !! apelul se poate face folosind indirectarea sau redirectarea echipamentului de I/E (Intrare/iEsire -> Input/Output - I/O); : Dac MYBATCH.BAT este un fiier de comenzi, atunci secvena dintr-un fiier de comenzi oarecare, apelant: CALL MYBATCH va apela fiierul MYBATCH.BAT, dup care se continu cu comenzile din proprii care urmeaz. -//2). Directiva ECHO (Ecou). Permite inhibarea sau activarea afirii pe ecran a comenzilor DOS pe timpul execuiei unui fiier de lucrri. Ea nu are efect asupra mesajelor generate de execuia comenzilor, categorie de mesaje care sunt permanent active. Sintaxa: ECHO <Comutator> <Comentariu> unde <Comutator> poate fi : 20

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

OFF --> inhib afiarea comenzilor; ON --> activeaz afiarea comenzilor; :

ECHO OFF ECHO ON -//3). Directiva FOR (Pentru). Permite prelucrarea iterativ a unei comenzi coninnd o variabil intern. Sintaxa: FOR <VariabilaIntern> IN <MulimeValori> DO <COMANDA> La ntlnirea directivei FOR, <COMANDA> este executata pentru fiecare valoarea din <MulimeaValori> pe care o ia <VariabilaIntern>. Intr-o linie de comand se poate specifica o singur directiv FOR, adic ea nu poate fi nlnuit. : FOR %%K IN (S1 S2 S3 S4 S5) DO DIR %%K Se afieaz pe ecran coninutul directoarelor S1, S2, S3, S4, S5. -//4). Directiva GO TO (Du-te la). ntrerupe desfurarea normal, secvenial a comenzilor, executndu-se un salt la o alt comand care este marcat printr-o etichet. Sintaxa: GO TO <Eticheta> <Eticheta> este un ir de 8 caractere alfanumerice precedate de <:>. Ea nu este afiat la execuia fiierului de comenzi, putnd servi i ca suport pentru comentarii ce nu trebuie afiate pe ecran. Dac eticheta nu este definit atunci execuia fiierului de comenzi se termin cu mesajul: Label not found ---> Etichet negsit de folosire a unei etichete: :ET1 . --> Succesiune de comenzi sau directive GO TO ET1 -//5). Directiva IF (Dac). Permite execuia condiionat a unei comenzi anumite. Sintaxa: IF <Condiie> <Comanda> Dac condiia este adevrat, atunci comanda se execut, altfel ea nu se execut, continundu-se n mod normal secvena de comenzi. Exist 3 categorii de condiii i anume: <ir1> == <ir2> adic egalitatea a 2 iruri de caractere alfanumerice; EXIST <NumeFiier> adic condiia de existena a unui fiier specificat prin <NumeFiier>, cuprinznd desigur i calea necesar; ERRORLEVEL <NumrZecimal> ; condiia este adevrat dac codul de eroare rezultat n urma execuiei comenzii (programului) precedent este mai mare sau egal cu <NumrZecimal>. Fiecare din cele 3 tipuri de condiii poate fi precedat opional de negaia NOT, cu alte cuvinte <Comanda> se va executa dac <Condiia> este fals. 21

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

: IF NOT EXIST %1 COPY A:%1 %1 Dac fiierul definit prin parametrul formal %1 nu este gsit n directorul curent atunci el va fi copiat de pe unitatea A: -//6). Directiva PAUSE (Pauz). Suspend execuia comenzilor din fiierul de comenzi afind mesajul: Strike a key when ready... ---> Apas o tast cnd doreti... La apsarea oricrei taste, cu excepia <Ctrl> + <C> (care poate termina execuia fiierului de lucrri), se continu secvena de comenzi n cauz. Sintaxa: PAUSE <Comentariu> <Comentariul> se va afia numai dac ECHO este ON. Directiva PAUSE este util atunci cnd calculatorul trebuie s comunice o aciune operatorului uman i apoi s atepte pn la executarea ei; spre exemplu nlocuirea unei dischete cu alt dischet. 7). Directiva REM (REMarque - Remarc, Comentariu). Servete la afiarea pe ecran a unor comentarii n timpul execuiei fiierului de lucrri. Afiarea se produce numai dac ECHO este ON. Sintaxa: REM <Comentariu> Textul din <Comentariu> poate avea maxim 123 caractere. 8). Directiva SHIFT (Rotete). Permite utilizarea n apelul fiierului de comenzi a mai mult de 10 valori actuale pentru parametrii formali. Sintaxa: SHIFT La fiecare directiv SHIFT valorile actuale se deplaseaz spre stnga cu o poziie. urmtor este edificator: MYBATCH.BAT are urmtorul coninut: @ECHO %0 %1 @SHIFT @ECHO %0 %1 @SHIFT @ECHO %0 %1 Apelul: va afia pe ecran: P1 P2 P2 P3 P3 MYBATCH P1 P2 P3

-//5.5.4. Redirectarea echipamentelor standard de I/E. Pentru SO MS-DOS echipamentul standard de intrare este tastatura de la care primete comenzile, iar echipamentul standard de ieire este monitorul (display-ul) la care afieaz rezultatele i mesajele. Exist ns destule situaii n care se dorete ca datele s fie citite nu de la claviatur ci dint-un fiier de aflat pe un disc, iar rezultate sa fie transmise nu pe ecran ci la o imprimant, sau ntr-un fiier pe disc. De aceea SO MS-DOS a fost prevzut cu posibilitatea de a-i redefini capacitile n funcie de necesiti: 22

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

prim posibilitate este folosirea comenzii CTTY prin care se specific SO care este echipamentul standard I/E (Intrare /iEsire); o a doua posibilitate este de a reorienta fluxul de informaii de la echipamentul standard spre alte echipamente dorite (imprimant, uniti de discuri, etc.), operaie cunoscut sub numele de redirectarea echipamentelor standard. Redirectarea: intrrii se face folosind secvena: < {NumeFiserIntrare} ieirii se face cu una din secvenele: > {NumeFiierIeire} ---> datele se introduc ntr-un fiier nou; >> {NumeFiierIeire} ---> datele se adaug la un fiier existent; Ca nume de fiiere se pot folosi numele rezervate de MS-DOS pentru echipamentele uzuale: AUX, PRN, etc. de redirectare a echipamentelor standard: DIR > PRN ---> Coninutul directorului curent este redirectat la imprimant, deci tiprit; TYPE MYFIS > PRN ---> Coninutul MYFIS tiprit prin redirectare la imprimant; MYPROG < MYFIS ---> Fiierul MYFIS i nu claviatura va furniza datele de intrare pentru programul MYPROG; -//5.5.5. Indirectarea intrrii / ieirii standard. Filtre MS-DOS. Operaia de indirectare a intrrii / ieirii const n posibilitatea ca ieirea standard a unui program s fie folosit ca intrare standard n programul urmtor. In acest mod se poate realiza nlnuirea unor programe care i transmit n cascad datele, constituind de fapt o redirectare nlnuit automat a intrrii / ieirii standard. Din punct de vedere al sintaxei, comanda de indirectare const n lista numelor programelor ce se nlnuie, separate prin simbolul < | > numit pipe (se citete paip). In cadrul indirectrii, SO folosete pentru memorarea datelor de ieire fiiere temporare aflate n directorul rdcin de pe unitatea logic implicit. Aceste fiiere poart numele %PIPEx.$$$, unde x este numrul de ordine al fiierului respectiv. La terminarea comenzii de indirectare toate aceste fiiere temporare sunt terse automat de ctre SO. Ele nu pot fi vizualizate dect dac n timpul unei operaii de indirectare SO este reiniializat, caz n care ne mai ajungnduse la faza de tergere, fiierele %PIPEx.$$$ rmn n directorul rdcin. de indirectare: DIR | SORT Comanda DIR care vizualizeaz intrrile din directorul curent este nlnuit cu SORT care este un program de aranjare n ordine alfabetic a nregistrrilor dintr-un fiier text. Ca rezultat, se va obine pe display lista intrrilor din directorul curent aranjate n ordine alfabetic. -//Indirectarea poate fi combinat cu redirectarea ca n exemplul urmtor: DIR | SORT > FIS_REZ In acest caz lista intrrilor din directorul curent sortate alfabetic va fi scris n final n fiierul cu numele FIS_REZ. -//Ca urmare a posibilitii de indirectare, ori ce program care preia datele de intrare de la claviatur i afieaz datele de ieire pe ecran (echipamentele standard) folosind n acest scop serviciile DOS (funciile DOS) poate fi privit cu un filtru - cu alte cuvinte este un program care la ieire obine datele de intrare "filtrate" prin aciunea operaiilor din programul respectiv. Printre comenzile standard ale MS-DOS exist 3 programe denumite filtre DOS: SORT care sorteaz alfabetic nregistrrile unui fiier text (de tip ASCII); 23

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

FIND care caut ntr-un fiier existena unui ir specificat de caractere ASCII, detectndu-le poziia; MORE care dup afiarea unui ecran complet face o pauz cu mesajul - More ateptnd apsarea oricrei taste ce va declana tergerea ecranului i continuarea vizualizrii datelor.

5.6. Pornirea sistemului de operare MS-DOS.


5.6.1. Fazele pornirii sistemului de operare MS-DOS. Pornirea (lansarea, iniializarea) SO MS-DOS este ansamblul fazelor parcurse automat de sistemul de calcul prin care el devine operaional. Ea are loc n urmtoarele 3 situaii: la conectarea calculatorului la sursa de tensiune electric - cunoscut ca pornire la rece; la comanda operatorului de a iniializa SO ce poate fi dat prin: apsarea simultan a tastelor <Ctrl>+<Alt>+<Del>; apsarea butonului RESET (dac exist) aflat pe panoul frontal al calculatorului; din interiorul unui program n care: se face apel la ntrerupere 19H; se face un salt la adresa FFFF:0000H. Ultimele 2 situaii sunt cunoscute ca pornire la cald a SO. Schema de parcurgere a principalelor faze ale pornirii SO MS-DOS sunt prezentate n figura 5.5: La pornirea calculatorului este activat programul POST (Power On Self Test - autotest la conectarea la sursa de energie) aflat n memoria nevolatil zona BIOS, care verific buna funcionare a principalelor componente fizice ale calculatorului: memoria, unitile de discuri, tastatura, etc. Aceast faz este parcurs doar la pornire la rece a calculatorului, nefiind efectuat pentru pornirea la cald. Dac rezultatele testelor sunt satisfctoare se trece la faza urmtoare; dac testele nu sunt depite se afieaz un mesaj de atenionare corespunztor i continuarea lansrii este oprit pentru a se remedia defeciunile sesizate. Se iniializeaz echipamentele standard: DMA (Direct Memory Acces - accesul direct la memorie) care asigur remprosptarea memoriei dinamice (refresh); memoria volatil (RAM) cu datele reale referitoare la dimensiunea real a memoriei, tabela vectorilor de ntrerupere etc. Se caut existena dischetei cu SO pe unitatea local A; dac discheta NU exist se caut existena primului hard-disk pe unitatea local C; dac NU exist hard-disk, atunci n cazul n care CN este conectat ntr-o reea local de calculatoare se ncearc i ultima posibilitate, anume ncrcarea SO de pe un server de fiiere (File server) din reea; dac NU exist se afieaz un mesaj care cere montarea unei dischete cu SO pe unitatea logic A; dac hard-disk-ul exist atunci ncrcarea SP se face de pe el i se trece la faza urmtoare de ncrcare a SO; dac discheta n unitatea A exist atunci se trece la faza urmtoare; Se caut existena SO pe discul gsit: pentru dischet prin citirea sectorului 0 ( Boot sector - sector de ncrcare) se gsete un mic program n cod main numit ncrctorul SO (Loader); pentru discul Winchester din primul sector numit Sectorul de ncrcare Absolut se citete structura herd-discului din care se determin partiia activ; ca i la dischete, primul sector al partiiei active conine ncrctorul SO. 24

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

Se citete n memoria intern volatil ncrctorul SO care este pornit i preia controlul fazelor urmtoare.

Fig. 5.5. Fazele pornirii SO MS-DOS. Se caut pe disc existena fiierelor sistem BIO.COM i DOS.COM: dac ele NU sunt prezente atunci discul nu conine SO i se afieaz pe ecran un mesaj ce semnaleaz acest fapt, cerndu-se folosirea unui disc sistem; se oprete trecerea la fazele urmtoare ateptndu-se introducerea n driver-ul de disc a unei dischete sistem. dac fiierele sistem sunt prezente, atunci ele se ncarc n memoria intern volatil i preiau controlul fazelor urmtoare. Se construiesc tabelele interne i se iniializeaz driverele SO.

Se caut n directorul rdcin al discului sistem: fiierul de configurare CONFIG.SYS: dac el exist se reconfigureaz sistemul n raport cu informaiile existente n fiier; dac nu exist se trece la faza urmtoare; interpretorul de comenzi COMMAND.COM: dac NU exist se afieaz un mesaj care cere folosirea unei dischete ce s aib interpretorul de comenzi; dac exist atunci se trece la faza urmtoare; fiierul AUTOEXEC.BAT: dac el exist atunci se lanseaz n execuie; dac NU exist se iniiaz un dialog cu operatorul prin care se fixeaz data i ora curent. Se afieaz prompterul SO, dup care operaia de pornire a este ncheiat.

5.6.2. Fiierul AUTOEXEC.BAT In conformitate cu denumirea sa, AUTOEXEC.BAT este un fiier de comenzi care se lanseaz automat n execuie n ultima faz a iniializrii SO MS-DOS. 25

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

Prezena sa este opional, ns de regul este aproape ntotdeauna folosit pentru a simplifica munca operatorului. El trebuie s se gseasc n directorul rdcin al discului sistem de pe care se lanseaz SO. Crearea acestui fiier se poate face fie folosind un editor de texte, fie prin copiere de la consol, caz n care se folosete secvena: COPY CON AUTOEXEC.BAT ---> Comanda de copiere de la consol ---> Editarea comenzilor dorite <Ctrl>+<Z> ---> Sfrit de fiier

Afiarea coninutului acestui fiier se face cu comanda TYPE, iar modificrile necesare se realizeaz cu un editor de texte. Comenzile pe care le conine fiierul AUTOEXEC.BAT sunt acele comenzi pe care operatorul dorete s le utilizeze ori de cte ori SO este (re)iniializat. Din aceast categorie fac parte: Comenzi generale: fixarea ecoului: ECHO ON (OFF) verificarea scrierilor pe disc: VERIFY ON (OFF) BREAK ON (OFF) afiarea versiunii SO: VER Stabilirea formei prompterului: PROMPT $P$G. Dialogul de afiare i fixare a: datei curente: DATE orei curente: TIME Stabilirea directorului i unitii logice curente. Stabilirea cilor de cutare cu comanda PATH

Specificare cii pentru interpretorul de comenzi atunci cnd se dorete instalarea lui pe un disc virtual: SET COMSPEC = <Cale> COMMAND.COM In acest mod se mrete viteza de lucru n faza de interpretare a comenzilor, i se protejeaz discurile faa de uzura lor prematur. Copierea unor fiiere pe discul virtual sau n directorul curent. Afiarea: unor mesaje de atenionare a operatorului coninutului unor directoare importante etc. Execuia unor programe utilitare pentru: protejarea la scriere a hard-disk-ului (WPHD - Write Protect Hard Disk); asigur memorarea i faciliteaz editrilor comenzilor: HISTORY la versiunea mai mici ca MS-DOS 5. DOSKEY la versiuni mai mari sau egale cu MS-DOS 5 lansarea imediat dup iniializare a: Norton Commander (NC), WordStar (WS), etc. 26

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

5.7. Configurarea sistemului de operare MS-DOS.


5.7.1. Noiuni generale SO MS-DOS este caracterizat prin anumii parametri care pot fi modificai n funcie de necesitile utilizatorului. Aceti parametri se refer la: dimensiunile zonelor tampon de memorie (bufere) alocate SO; numrul de fiiere ce pot fi deschise simultan; dimensiunile stivelor de memorie; caracteristicile driverelor existente; numele i locaia interpretorului de comenzi folosit. Setul de valori al parametrilor SO existent la un moment dat formeaz configuraia SO n acel moment de timp. Se precizeaz c operaia de configurare a SO are loc numai la iniializarea sa. Deci orice reconfigurare a SO implic reiniializarea sa. Datele necesare reconfigurrii SO n structur dorit sunt furnizate cu ajutorul fiierului de configurare CONFIG.SYS. In absena acestuia, SO este configurat cu un set de valori implicite, care formeaz aa numita configuraie standard. Dac exist, fiierul CONFIG.SYS trebuie s se afle obligatoriu n directorul rdcin al discului sistem de pe care se lanseaz SO. Dup cum s-a mai artat, prezena fiierului de configurare este opional, absena sa producnd o configurare standard a SO. Ca i AUTOEXEC.BAT, fiierul CONFIG.SYS se poate crea fie cu ajutorul unui editor de texte, fie prin copiere de la consol. La versiunile noi ale MS-DOS, ncepnd cu versiunea 4.0, scrierea fiierului de configurare se realizeaz n faza de generare a SO, pe cale interactiv printr-un dialog bazat pe meniuri, ceea ce simplific mult activitatea administratorului de sistem.

5.7.2. Comenzile de configurare a SO MS-DOS. Principalele comenzi pe care le accept operaia de configurare a SO sunt: 1). Comanda BREAK. Prin intermediul ei se fixeaz momentele la care operaiunea n curs de execuie poate fi ntrerupt prin apsarea tastelor: <Ctrl> + <C>( echivalent cu <Ctrl> + <Break>) Sintaxa: BREAK <Comutator> unde <Comutator> poate fi : ON --> verific introducerea tastelor de ntrerupere la fiecare apel de funcie DOS; OFF --> verific introducerea tastelor de ntrerupere la fiecare operaie de I/E (I/O). Operaiile I/E se realizeaz de regul tot prin funcii DOS, constituind o submulime a acestora; deci n primul caz tastele de ntrerupere devin active att n timpul operaiilor de I/E, ct i la apelul oricrei funcii DOS, deci mult mai des; n al doilea caz dac programul nu execut operaii de I/E el nu poate fi ntrerupt ! Starea ON/OFF configurat la iniializare poate fi modificat prin introducerea ulterioar de la claviatur a comenzii BREAK. 2). Comanda BUFFERS. Stabilete numrul de zone tampon de disc pe care le are SO. O zon tampon de disc reprezint o zon a memoriei interne n care sunt pstrate datele de intrare /ieire n timpul operaiilor de citire /scriere. Zonele tampon de disc sunt acelea care asigur independena funcionrii canalului de date fa de unitatea central. 27

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

Sintaxa: BUFFERS = n unde n - numrul de zone tampon de disc pe care l are SO. Limite posibile: 1 < n < 99; valoare standard n = 2 / 3 / 5 / 10 / 15 depinznd de capacitatea unitilor de disc ale sistemului i de dimensiunea memoriei interne. Cu ct n este mai mare cu att viteza de transfer a datelor crete, dar memoria liber la dispoziia utilizatorului scade. De aceea trebuie cutat un compromis: valorile normale sunt 10<n<20. 3) Comanda COUNTRY (ar). Identific setul de caractere i a conveniilor de scriere a datei, orei, monedei specifice unei anumite ri. Sintaxa: COUNTRY = <CodTara>, <PaginaCod>, <NumeFiier> unde <NumeFisier> reprezint numele fiierului cu informaii specifice rii respective; dac lipsete atunci el este implicit COUNTRY.SYS. Codul i pagina de cod pentru o anumit ar se pot stabili din tabelele existente n documentaia de firm (Microsoft sau IBM). Spre exemplu pagina de cod pentru SUA - 437, Frana (Canada) - 863, multilingv - 850, etc. 4) Comanda DEVICE (Instalaie, aparat). Permite specificarea unui nume de fiier care va forma un driver al SO. In timpul configurrii SO, fiierul respectiv este ncrcat n memoria intern constituind programul prin care se realizeaz funcionarea driver-ului respectiv. Driver-ele folosite implicit, care nu trebuie specificate n CONFIG.SYS sunt: consola (ecran i tastatur), imprimant, discul i ceasul de timp. Sintaxa: DEVICE = <NumeDriver> Pentru fiecare driver de echipament trebuie introdus ct o comand DEVICE. In general echipamentele de I/E sunt livrate mpreun cu driverele necesare funcionrii lor. Dac nu, atunci revine utilizatorului sarcina de a-i scriere propriile drivere conform necesitilor, ceea ce este o problem ce poate fi rezolvat numai de profesioniti. La dispoziia utilizatorului exist urmtoarele drivere furnizate odat cu SO: ANSI.SYS - permite folosirea funciilor extinse pentru consol. DISPLAY.SYS - permite schimbarea paginilor de cod de la consol pe durata funcionrii SO. DRIVER.SYS - este folosit la echipamentul orientat pe mod de lucru bloc, deci echipamente logice de tip disc. PRINTER.SYS - permite schimbarea paginilor de cod la porturile paralele (imprimante paralele). VDISK.SYS - permite crearea unui disc virtual n memorie care se comport identic cu o unitate de disc flexibil. Discul virtual are o serie de caracteristici care l recomand, dar i l limiteaz n funcionare: viteza de transfer a informaiei este la nivelul vitezei de acces la locaiile de memorie; discurile virtuale nu trebuie formatate, ele funcionnd imediat ce au fost create n memorie; folosirea lor nu implic o uzur fizic a echipamentului; utilizeaz zone de memorie la adrese mai mari ca 640 KB, care nu pot fi accesate altfel de SO MS-DOS; la oprirea calculatorului, sau cderea accidental a sursei de alimentare, informaia este pierdut; din acest motiv trebuie luate msuri de precauie care s evite pierderi nedorite de date. 5) Comanda DRIVPARAM. Permite definirea parametrilor pentru dispozitivele bloc care nlocuiesc dispozitivele originale MS-DOS. Sintaxa: DRIVPARAM <Opiuni> In cadrul opiunilor se specific caracteristicile dispozitivului: numr sectoare, piste, capete de scriere /citire, tipul unitii, etc.

28

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

6). Comanda FCBS. Cu ajutorul ei se specific numrul de blocuri de control a fiierelor (FCB - File Control Bloc) care pot fi deschise simultan de DOS. Aceast comand este preluat de la versiunile mai vechi al SO care foloseau FCB pentru lucrul cu fiierele. Sintaxa: FCBS = m, n unde: m este numrul maxim de fiiere cu FCB deschise simultan; limite: 1 < m < 255; implicit m = 4; n este numrul de fiiere deschise ce nu pot fi nchise automat de ctre SO, atunci cnd se ncearc deschiderea simultan a mai mult de m fiiere; se protejeaz la nchidere primele n fiiere deschise; limite: 0 < n < 255; implicit n = 0 (adic toate fiierele pot fi nchise automat de SO, dac acest lucru este necesar). La deschiderea celui de al m + 1 fiier, SO caut s nchid automat pe primul dintre ele, pentru a face loc noului fiier; dac m = n, atunci SO nu va mai deschide automat nici un fiier pn ce nu se vor nchide unele din ele. Cu ct m din FCBS este mai mare cu att memoria la dispoziia utilizatorului este mai mic. 7). Comanda FILES (Fiiere). In versiunile mai noi ale SO MS-DOS, pentru lucrul cu fiiere nu mai este necesar utilizarea FCB, SO construind blocul de parametrii necesar exploatrii fiierului chiar n zona aplicaiei, zon rezervat la lansarea sistemului. Dimensiunea zonei i deci numrul maxim de fiiere deschise simultan depinde de valoarea specificat n comanda FILES. Pentru fiecare fiier deschis sunt necesari 48 de octei. Sintaxa: FILES = nn unde nn este numrul maxim de fiiere ce pot fi deschise simultan; limite: 8 < nn < 255; valori normale 15 - 25. 8). Comanda LASTDRIVE (Ultimul echipament). Specific ultima liter acceptat pentru a defini o unitate logic. Sintaxa: LASTDRIVE = <Liter> unde <Liter> reprezint ultim liter acceptat spre a defini o unitate logic de disc. Implicit <Liter> = E. 9). Comanda SHELL. Permite definirea numelui i locului de amplasare a interpretorului de comenzi care s fie folosit n locul lui COMMAND.COM. Acest interpretor trebuie s fie conceput i realizat de utilizator, ceea ce reprezint desigur o sarcin dificil chiar i pentru un profesionist. Sintaxa: SHELL <NumeInterpretor> <Parametri> Parametrii definesc dimensiunea n octei a interpretorului i modul lui de acionare n prezena fiierului AUTOEXEC.BAT. Aceast comand trebuie corelat cu parametrul COMSPEC din zona de variabile a SO. 10). Comanda STACKS (Stive). Permite definirea dimensiunilor zonelor de stiv din memoria intern. La fiecare ntrerupere hardware, SO aloc o zon de stiv, care dup tratarea ntreruperii este eliberat (adus la 0 i prsit). Sintaxa: STACKS = n,s unde: n - numrul maxim al zonelor de stiv definite, s - dimensiunea n octei a zonei de stiv. Limite: 8 < N < 64; 32 < s < 512. Valori implicite: pentru XT n = 0; s = 0 (nu folosete stiva suplimentar dinamic, ci numai stiva intern); pentru AT n = 9; s = 128.

29

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

5.8. Generarea sistemului de operare MS-DOS


Prin generarea SO se neleg operaiile necesare transferului acestuia pe un nou disc magnetic. La generarea SO trebuie avute n vedere urmtoarele aspecte: sursa de pe care se genereaz SO: poate fi o dischet original de instalare, sau un sistem aflat n funciune; tipul de echipament pe care se genereaz SO, mai exact numrul de uniti de discuri disponibile, precum i caracteristicile lor: amovibile sau nu i capacitatea lor de stocare exprimat n octei; suportul pe care se nregistreaz SO: dischet sau hard-disk; capacitatea de stocare n octei; dac a fost sau nu folosit. Intre unitatea de discuri i suportul magnetic (discul propriu-zis) trebuie s existe compatibilitate. Pentru instalarea SO pe o dischet exist urmtoarele posibiliti: : 1) Se folosete comanda SELECT i o dischet original de instalare. Este metoda cea mai sigur, elegant i comod pentru a genera varianta complet, corect i dorit a SO. Dup transmiterea comenzii operatorul trebuie s respecte cu strictee toate indicaiile afiate pe display care explic ce operaie se execut atunci i ce manevr trebuie realizat. In final pe discheta dorit se gsete transferat SO care poate fi folosit imediat. In final se editeaz, dac este cazul, fiierele CONFIG.SYS i AUTOEXEC.BAT. Pentru versiuni mai mari ca 4.0 (inclusiv) CONFIG.SYS este creat automat, deci trebuie creat doar AUTOEXEC.BAT. 2) Se copiaz cu comanda DISKCOPY o dischet sistem existent. Rezultatul va fi un SO identic cu cel de pe discheta surs; deci dac pe surs SO este incomplet, cu o anumit configuraie, atunci el va rezulta la fel i pe discheta nou. : 3) Se formateaz discheta cu comanda: FORMAT A: /S prin care dup formatare se transfer automat fiierele sistem DOS.COM i BIO.COM de pe sistemul n funciune pe dischet n cauz. Se copiaz apoi: COMMAND.COM; restul de tranzieni necesari existeni la SO al calculatorului n lucru. In final se editeaz, dac este cazul, fiierele CONFIG.SYS i AUTOEXEC.BAT. Pentru discurile fixe, n prima faz de generare a SO este necesar folosirea utilitarului FDISK cu care se definesc partiiile acestuia i apoi se fixeaz partiia activ. In continuare operaiile decurg ntocmai ca la o dischet.

5.9. Utilizarea sistemului de operare MS-DOS


Sistemul de operare MS-DOS poate fi utilizat de ctre: 1. operatorul sistemului de calcul. n acest scop SO trebuie s fie instalat pe calculator i apoi calculatorul conectat la sursa de alimentare cu energie, ceea ce va determina parcurgerea etapelor de verificare a funcionalitii echipamentelor, ncrcarea sistemului de operare n memorie, configurarea lui i n final lansarea unor aplicaii generale. Din acest moment, operatorul transmite de la tastatur toate comenzile necesare pentru realizarea obiectivelor pe care i le-a propus s le 30

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

ating n acea sesiune de lucru: rularea unor aplicaii, copierea, reactualizarea, tergerea etc. unor fiiere ntr-o anumit structur de directoare, tiprirea la imprimant a unor rezultate etc. Operatorul are urmtoarele responsabiliti: configureaz SO folosind CONFIG.SYS realizarea unor fiiere de comenzi adecvate operrii, inclusiv AUTOEXEC.BAT opereaz cu ajutorul comenzilor SO n caz de nevoie rencarc SO 2. programatorul unor aplicaii. n programele aplicative, pentru uurarea muncii, programatorul caut s utilizeze la maxim toate facilitile pe care le ofer SO i n primul rnd interfaa de comunicare cu calculatorul. Acest punct de vedere este normal, corect, recomandabil de adoptat i posibil de transpus n practic prin apelul rutinelor existente n SO rutine referite i sub numele de servicii, funcii, etc. Pentru apelarea unui serviciu trebuie realizate 2 condiii: s existe capacitatea de a accesa regitrii procesorului; pe aceast cale se transmite parametrii actuali necesari apelului funciei i se preiau rezultatele; s se execute o ntrerupere prin care funcia sistemului este apelat n mod efectiv; diferenierea ntre diversele funcii se face prin tipul i codul ntreruperii i prin datele cu care au fost iniializai regitrii procesorului. Ambele condiii sunt realizate dac se folosete limbajul de asamblare sau un limbaj de nivel nalt corespunztor, ca de exemplu Turbo C sau Turbo Pascal prevzut cu funcii adecvate acestui scop. Dac limbajul, prin natura sa, nu poate satisface condiiile de mai sus, atunci el este prevzut cu o bibliotec de programe care s permit apelul serviciilor SO. Dac o astfel de bibliotec lipsete, ceea ce este puin probabil, sau dac funciile dorite nu exist, atunci revine programatorului misiunea s-si ntocmeasc o dat pentru totdeauna o bibliotec cu care s poat accesa serviciile dorite; desigur rutinele respective trebuie scrise n limbaj de asamblare i concepute astfel nct s poat fi apelate i folosite n cadrul limbajului de nivel nalt. Din punct de vedere al posibilitilor de apel al funciilor de sistem, limbajul Turbo Pascal este absolut magnific: are unitul (colecia de rutine) DOS prin care se pot apela simplu n cadrul limbajului Pascal serviciile dorite, pot fi accesai regitri procesorului i apelate ntreruperile; are posibilitatea inserrii unor secvene de instruciuni n cod main prin directiva INLINE; are posibilitatea inserrii unor secvene de instruciuni n limbaj de asamblare prin directiva ASM. Serviciile oferite de SO MS-DOS se clasific n: servicii BIOS; servicii DOS legate de ntreruperea 21H. Apelul unei funcii DOS presupune: numrul funciei DOS se ncarc n registrul AH; numrul subfunciei DOS se ncarc n registrul AL; se iniializeaz adecvat ceilali regitri; se pregtesc zonele de date necesare (tampoane); se genereaz ntreruperea 21H. La revenire: se testeaz dac operaiile au decurs normal prin verificarea indicatorilor de condiii; se preiau valorile returnate prin intermediul regitrilor, dup care apelul funciei este terminat. Dintre multiplele servicii DOS, care sunt descrise pe larg n orice manual ce trateaz SO MS-DOS amintim cele mai uzuale grupe de funcii: cele destinate operaiilor de citire de la tastatur; cele destinate operaiilor de afiare la display sau imprimant; gestionarea memoriei; gestionare proceselor (programelor aflate n memorie); gestionare discurilor; furnizarea informaiilor legate de starea sistemului de calcul. 31

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

5.10. Viruii informatici


O problem important o constituie protecia sistemului de calcul mpotriva viruilor informatici. Viruii informatici, sau pe scurt viruii, sunt secvene de program caracterizate prin: capacitate de autoreproducere i ataare la programele existente; capacitate de a aciona distructiv la nivelul sistemului de calcul: blocarea acestuia, distrugerea informaiei de pe discuri, afiarea unor mesaje sonore sau vizuale nedorite, perturbarea funcionrii normale a programelor, chiar distrugerea fizic a echipamentelor, preluarea controlului asupra sistemului de calcul, inclusiv accesarea informaiilor confideniale etc. laten, adic capacitatea de a-i face simit trziu prezena; Viruii informatici i datoreaz denumirea ca urmare a comportrii lor similare cu cea a viruilor (bacteriilor) din lumea vie: reproducere, infectare i distrugere a organismelor (aici a informaiei) sntoase. Exist uneori chiar epidemii create prin rspndirea masiv a viruilor informatici, care au afectat milioane de calculatoare i care s-au soldat cu pagube nsemnate (milioane de dolari), Calea de ptrundere a viruilor informatici o constituie suportul prin care se vehiculeaz informaia de la un sistem bolnav la cel sntos, n principal dischetele, dar i conexiunile dintre sistemele de calcul din cadrul reelelor de calculatoare, iar sediul lor predilect este discul fix. Activarea unui virus se face prin lansarea n execuie a unui program infectat (fiiere EXE, COM. OVL, etc.). In timpul reproduciei sale virusul se gsete n memoria intern a calculatorului. Efectele distructive nu se fac de regul simite n timpul "perioadei de incubaie", ci mai trziu. Viruii au fost creai de persoane ru intenionate, sub diverse motive: din sadism, pentru pedepsire i rzbunare, pentru "protejarea" unor programe contra copierii neavizate, pentru a crea greuti maxime concurenei i pentru a bloca libera circulaie a informaiei. In prezent sunt catalogai sute chiar mii de virui de cele mai diverse tipuri: virui de boot; virui de tip vierme (cal troian), ascuni n interiorul unor aplicaii uzuale, de unde este greu s fie descoperii, dar i fac simit prezena, cnd acele programe sunt executate. virui de e-mail virui de Internet care circul ataai pachetelor de informaii, ctnd s penetreze protecia sistemului de calcul (firewall zid de foc) virui polimorfi, care i schimb automat caracteristicile n decursul infectrii altor sisteme de calcul, motiv pentru care sunt greu de detectat; spyware, malware virui care se instaleaz pe sistemul de calcul n scop de a spiona informaia existent i de asigura posibilitatea prelurii controlului sistemului de operare din exteriorul acestuia; aceast categorie este cunoscut i sub numele de spyware sau malware. Datorit efectelor distructive pe care le produc, problema proteciei contra oricrei categorii de virus este esenial, mai ales n cazul funcionrii calculatorului n reea. Protecia contra infectrii cu virui informatici se asigur: 1) n mod pasiv prin "igiena" sistemului de calcul care const n: Evitarea folosirii unor dischete strine. Programele trebuie preluate numai de pe dischete "sigure", originale. Formatarea tuturor dischetelor "noi" nainte de fi folosite. Formatarea unui disc este cea mai radical i sigur metod de ndeprtarea a oricrui tip de virus de pe acel disc. Pstrarea fiierelor i programelor n arhive "curate", pentru a servi la restaurri atunci cnd din motive nedorite calculatorul s-a "infectat" i toate fiierele existente trebuie terse pentru a distruge virusul. 2) n mod activ prin folosirea unor programe speciale numite "antivirui" care sunt capabile: S urmreasc ntreg traficul de informaii din propriul calculator i pe aceast baz s recunoasc imediat prezena viruilor dup "semntura" lor i astfel s blocheze rspndirea acestora. Fiecare virus are o secven de cod (ir de caractere alfanumerice) numit "semntur", prin care el recunoate dac a "infectat" un program oarecare, precauie necesar pentru a nu 32

Prof. B LUTREA, Utilizarea i programarea calculatoarelor, 2006

Cap.5 .Sistemul de operare MS-DOS

suprainfecta programele deja infectate. Fiecare virus are antivirusul su specific; desigur un "antivirus" poate fi complex, adic s fie capabil s detecteze mai muli virui deodat prin lista de semnturi ce trebuie reactualizat (update) n permanen. S "dezinfecteze" adic s distrug virusul de pe programele infectate, fr a le afecta funcionalitatea; nu ntotdeauna dezinfecia reuete, uneori trebuind ters ntreg programul afectat, iar apoi restaurat de pe o copie "curat". Dezinfectarea are loc n urma unui proces de scanare a fiierelor din sistemul de calcul. S "vaccineze" programele existente, adic sa le protejeze de aciunea virusului, prin adugarea "semnturii" virusului. S blocheze accesul viruilor i utilizatorii neautorizai din reea la sistemul nostru de calcul, prin ceea ce se numete firewall (zid de foc). Ca i concluzie final, se recomand insistent adoptarea unei atitudini rezervate, circumspecte i asigurtoare n transferul de programe i date cu alte sisteme de calcul, urmrile unui comportament prea liberal n utilizarea sistemului propriu de calcul putnd crea numeroase neplceri.

33

S-ar putea să vă placă și