Peržiūrėkite disko hierarchinę struktūrą c. §vienuolika

| Apie failus ir failų struktūras

10 pamoka
Failai ir failų struktūros

§vienuolika. Apie failus ir failų struktūras

Pagrindinės pastraipos temos:

Kas yra failas;
- failo pavadinimas;
- loginiai diskai;
- disko failų struktūra;
- kelias į failą; visas failo pavadinimas;
- peržiūrėti failo struktūrą.

Nagrinėjami klausimai:

Failas – informacija, saugoma išorinėje laikmenoje ir sujungta bendru pavadinimu.
- Failų sistema kaip OS dalis.
- Failo pavadinimas, vardo formavimo taisyklės.
- Loginio disko samprata.
- Disko failų struktūra, katalogo samprata.
- Failo kelias – failo vietos diske koordinatė.
- Failų paskirstymo lentelės paskirtis

Kas yra failas

Informacija išorinėse laikmenose saugoma kaip failai.

Failas yra pavadinta išorinės atminties sritis, skirta informacijai saugoti.

Darbas su failais yra labai svarbus darbo kompiuteriu tipas. Failuose saugoma viskas: ir programinė įranga, ir vartotojui reikalinga informacija. Su failais, kaip ir su verslo popieriais, nuolat tenka kažką daryti: kopijuoti iš vienos laikmenos į kitą, nereikalingus naikinti, kurti naujus, ieškoti, pervardyti, rikiuoti viena ar kita tvarka ir t.t.

Norint išsiaiškinti failo sąvokos reikšmę, patogu pasitelkti tokią analogiją: pati laikmena (pavyzdžiui, diskas) panaši į knygą. Kalbėjomės apie ką knyga – išorinė žmogaus atmintis, A magnetinis diskas – išorinė kompiuterio atmintis. Knyga susideda iš skyrių (apsakymų, skyrių), kurių kiekvienas turi pavadinimą. Be to, failai turi savo pavadinimus. Jie vadinami failų pavadinimais. Knygos pradžioje arba pabaigoje dažniausiai būna turinys – skyrių pavadinimų sąrašas. Diske taip pat yra toks katalogų sąrašas, kuriame yra saugomų failų pavadinimai.

Katalogas gali būti rodomas, kad pamatytumėte, ar norimas failas yra nurodytame diske.

Kiekviename faile yra atskiras failas informacinis objektas: dokumentas, straipsnis, skaitinis masyvas, programa ir t.t. Failoje esanti informacija tampa aktyvi, t.y., gali būti apdorota kompiuterio tik įkėlus ją į RAM.

Visi reikalingi veiksmus su failais teikia operacinė sistema.

Norėdami rasti tinkamą failą, vartotojas turi žinoti:

A) koks failo pavadinimas;
b) kur saugomas failas.

Failo pavadinimas

Čia yra failo pavadinimo pavyzdys * :

myprog.pas

* Šie pavyzdžiai yra orientuoti į taisykles, priimtas Microsoft operacinėse sistemose: MS-DOS ir Windows. Taip pat iliustruojamos Linux OS programos.


Taško kairėje yra tikrasis failo pavadinimas ( myprog). Vardo dalis po taško ( pas) vadinamas failo plėtiniu. Paprastai failų pavadinimuose naudojamos lotyniškos raidės ir skaičiai. Be to, failo pavadinimas gali neturėti plėtinio. „Microsoft Windows“ operacinėje sistemoje failų pavadinimuose leidžiamos rusiškos raidės; didžiausias pavadinimo ilgis yra 255 simboliai.

Pratęsimas rodo kokia informacija yra saugoma šiame faile. Pavyzdžiui, plėtinys txt paprastai žymi tekstinį failą (yra teksto), plėtinį rsx- grafinis failas (yra paveikslėlis), užtrauktukas arba rar- archyvo failas (yra archyvas - suspausta informacija), pas- Pascal programa.

Loginiai diskai

Viename kompiuteryje gali būti keli diskų įrenginiai – įrenginiai, skirti darbui su diskais. Dažnai asmeniniame kompiuteryje didelės talpos kietasis diskas, įmontuotas į sistemos bloką, yra padalintas į skyrius. Kiekvienas iš šių skaidinių vadinamas loginiu disku ir jam priskiriamas vienos raidės pavadinimas (po kurio yra dvitaškis) C:, D:, E: ir tt Pavadinimai A: ir B: dažniausiai nurodo mažus išimamus diskus – diskelius. ( diskeliai ) . Jie taip pat gali būti laikomi loginių diskų pavadinimais, kurių kiekvienas visiškai užima tikrą (fizinį) diską * . Todėl A:, B:, C:, D: yra visi loginių diskų pavadinimai.

* Šiuolaikiniuose kompiuterių modeliuose diskeliai nebenaudojami.


Optiniam įrenginiui po paskutinio standžiojo disko skaidinio pavadinimo priskiriamas kitas abėcėlinis pavadinimas. Pavyzdžiui, jei standžiajame diske yra skirsniai C: ir D:, optiniam įrenginiui bus priskirtas E: pavadinimas. O kai prijungiate „flash“ atmintį, F: diskas taip pat atsiras loginių diskų sąraše.

Loginio disko, kuriame yra failas, pavadinimas yra pirmoji „koordinatė“, apibrėžianti failo vietą.

Disko failų struktūra

Šiuolaikinės operacinės sistemos palaiko daugiapakopį failų organizavimą išoriniuose saugojimo diskuose – hierarchinę failų struktūrą. Kad būtų lengviau suprasti šią problemą, naudosime analogiją su tradiciniu „popieriniu“ informacijos saugojimo būdu. Pagal tokią analogiją byla pateikiama kaip kažkoks pavadintas dokumentas (tekstas, piešinys) ant popieriaus lapų. Kitas failo struktūros elementas vadinamas katalogu. Tęsdami „popierinę“ analogiją, katalogą pavaizduosime kaip aplanką, į kurį galima sudėti daug dokumentų, t.y. failų. Katalogas taip pat gauna savo pavadinimą (įsivaizduokite, kad jis parašytas ant aplanko viršelio).

Katalogas pats gali būti kito, jam nepriklausančio, katalogo dalis. Tai panašu į tai, kaip aplankas įterpiamas kitame didesniame aplanke. Taigi kiekviename kataloge gali būti daug failų ir pakatalogių (vadinamų pakatalogiais). Aukščiausio lygio katalogas, kuris nėra įdėtas į jokį kitą katalogą, vadinamas šakniniu katalogu.

„Windows“ operacinėje sistemoje terminas „aplankas“ vartojamas „katalogo“ sąvokai apibūdinti.

Grafinis hierarchinės failų struktūros vaizdas vadinamas medžiu.

Ant medžio šakninis katalogas paprastai vaizduojamas simboliu \ . 2.10 paveiksle katalogų pavadinimai rašomi didžiosiomis raidėmis, o failai – mažosiomis. Čia šakniniame kataloge yra du aplankai: IVANOV ir PETROV bei vienas failas fin.com. Aplanke IVANOV yra du poaplankiai PROGS ir DUOMENYS. DATA aplankas tuščias; aplanke PROGS yra trys failai ir pan.


Kelias į failą

Dabar įsivaizduokite, kad jums reikia rasti konkretų dokumentą. Norėdami tai padaryti, „popierinėje“ versijoje turite žinoti langelį, kuriame jis yra, taip pat „kelią“ į dokumentą dėžutės viduje: visą aplankų seką, kurią turite atidaryti, kad galėtumėte eikite į ieškomus dokumentus.

Norėdami rasti failą kompiuteryje, turite žinoti loginį diską, kuriame yra failas, ir kelią į diske esantį failą, kuris nurodo failo vietą tame diske. Failo kelias yra katalogų pavadinimų seka, pradedant nuo šakninio katalogo ir baigiant tuo, kuriame failas yra tiesiogiai saugomas. Čia yra pažįstama pasakų analogija sąvokai „kelias į failą“: „Krynia kabo ant ąžuolo, kiškis krūtinėje, antis kiškyje, kiaušinis antyje, adata kiaušinyje. , kurio pabaigoje – Koščejevo mirtis“.

Galiausiai turite žinoti failo pavadinimą. Paeiliui parašytas loginio disko pavadinimas, failo kelias ir failo pavadinimas sudaro visą failo pavadinimą.

Jei parodyta pav. 2.10 failo struktūra saugoma C: diske, tada kai kurių failų pavadinimai „Microsoft Windows“ operacinės sistemos simboliai atrodo taip:

C:\fin.com
C: \IV ANOV\PROGS\prog 1.pas
C:\PETROV\DATA\užduotis. data

Failo struktūros peržiūra

Operacinė sistema suteikia vartotojui galimybę peržiūrėti katalogų (aplankų) turinį ekrane.

Informacija apie disko failų struktūrą yra tame pačiame diske failų paskirstymo lentelės pavidalu. Naudodamasis OS failų sistema, vartotojas gali nuosekliai peržiūrėti katalogų (aplankų) turinį ekrane, judėdamas aukštyn arba žemyn failų struktūros medyje.

2.11 paveiksle parodytas katalogų medžio rodymo kompiuterio ekrane pavyzdys sistemoje Windows.

Dešiniajame lange rodomas ARCON aplanko turinys. Tai daugybė įvairių tipų failų. Pavyzdžiui, iš čia aišku, kad visas pirmojo sąrašo failo pavadinimas yra toks:

E:\GAME\GAMES\ARCON\dos4gw.exe

Iš lentelės galite gauti papildomos informacijos apie failus. Pavyzdžiui, dos4gw.exe yra 254 556 baitų dydžio ir buvo sukurta 1994 m. gegužės 31 d., 02:00.

Tokiame sąraše radęs įrašą apie norimą failą, naudodamas OS komandas, vartotojas su failu gali atlikti įvairius veiksmus: vykdyti faile esančią programą; ištrinti, pervardyti, kopijuoti failą. Visas šias operacijas atlikti išmoksite praktinėje pamokoje.

Trumpai apie pagrindinį

Failas yra pavadinta kompiuterio išorinės atminties sritis.

Visus reikalingus veiksmus su failais teikia Operacinė sistema.

Failo pavadinimą sudaro tikrasis pavadinimas ir plėtinys.. Plėtinys nurodo failo informacijos tipą (failo tipą).

Hierarchinė failų struktūra- kelių lygių failų organizavimas diskuose.

Katalogas yra pavadintas failų ir pakatalogių (pakatalogių) sąrašas. Aukščiausio lygio katalogas vadinamas šakniniu katalogu. Jis nėra įdėtas į jokius katalogus.

Visas failo pavadinimas susideda iš loginio disko pavadinimo, kelio į diske esančio failo ir failo pavadinimo.

Klausimai ir užduotys

1. Kaip vadinasi jūsų kompiuterių klasėje naudojama operacinė sistema?

2. Kiek fizinių diskų turi jūsų kompiuteriai? Kiek loginių diskų yra fiziniuose diskuose ir kokie jų operacinės sistemos pavadinimai?

3. Kokios yra failų pavadinimų taisyklės jūsų OS?

4. Koks kelias iki failo diske, visas failo pavadinimas?

5. Išmokite (vadovaujant mokytojui) peržiūrėti savo kompiuterių diskų katalogus ekrane.

6. Sužinokite, kaip inicijuoti programas iš programų failų (pvz., exe, com).

7. Išmokite atlikti pagrindines failų operacijas savo OS (kopijuoti, perkelti, ištrinti, pervardyti failus).

Elektroninis prašymas į pamoką


Atsisiųsti pamokos medžiagą

Apie failus ir failų struktūras

Failas

Failas(Anglų) failą- aplankas) - skaičiavimo sąvoka: subjektas, leidžiantis pasiekti bet kurį skaičiavimo sistemos šaltinį ir turintis daugybę funkcijų:

  • fiksuotas pavadinimas (simbolių seka, skaičius ar kažkas kita, kas vienareikšmiškai apibūdina failą);
  • apibrėžtas loginis vaizdas ir atitinkamos skaitymo/rašymo operacijos.

Tai gali būti bet kas – nuo ​​bitų sekos (nors mes ją skaitome baitais, tiksliau, žodžiais-baitų grupėmis, po keturis, aštuonis, šešiolika) iki duomenų bazės su savavališka organizacija ar bet kokia tarpine parinktimi; daugiamatė duomenų bazė, griežtai užsakyta.

Pirmasis atvejis atitinka srauto ir/arba masyvo skaitymo/rašymo operacijas (ty nuoseklias arba su prieiga pagal indeksą), antrasis – DBVS komandas. Tarpinės parinktys - visų rūšių failų formatų skaitymas ir analizavimas.

Informatikos moksle naudojamas toks apibrėžimas: failas yra pavadinta baitų seka.

Darbas su failais įgyvendinamas naudojant operacines sistemas.

Tokie pavadinimai kaip failai turi ir yra apdorojami panašiai:

  • duomenų sritis (pasirinktinai diske);
  • įrenginiai (tiek fiziniai, pavyzdžiui, prievadai, tiek virtualūs);
  • duomenų srautai (ypač proceso įvestis arba išvestis) („vamzdis“ turėtų būti verčiamas žodžiu „pipeline“);
  • tinklo ištekliai, lizdai;
  • operacinės sistemos objektai.

Pirmojo tipo failai istoriškai atsirado pirmiausia ir yra plačiai paplitę, todėl pavadinimą atitinkanti duomenų sritis dažnai dar vadinama „failu“.

Failas kaip duomenų sritis

Informacija išorinėse laikmenose saugoma kaip failai. Darbas su failais yra labai svarbus darbo kompiuteriu tipas. Failuose saugoma viskas: ir programinė įranga, ir vartotojui reikalinga informacija. Su failais, kaip ir su verslo popieriais, nuolat tenka kažką daryti: kopijuoti iš vienos laikmenos į kitą, nereikalingus naikinti, kurti naujus, ieškoti, pervardyti, rikiuoti viena ar kita tvarka ir t.t.



Failas- tai informacija, saugoma išorinėse laikmenose ir sujungta bendru pavadinimu.

Norint patikslinti šios sąvokos reikšmę, patogu pasitelkti tokią analogiją: pats informacijos laikiklis (diskas) panašus į knygą. Kalbėjome apie tai, kad knyga – išorinė žmogaus atmintis, o magnetinis diskas – išorinė kompiuterio atmintis. Knyga susideda iš skyrių (apsakymų, skyrių), kurių kiekvienas turi pavadinimą. Be to, failai turi savo pavadinimus. Jie vadinami failų pavadinimais. Knygos pradžioje arba pabaigoje dažniausiai būna turinys – skyrių pavadinimų sąrašas. Diske taip pat yra toks katalogų sąrašas, kuriame yra saugomų failų pavadinimai.

Katalogas gali būti rodomas, kad pamatytumėte, ar norimas failas yra nurodytame diske.

Kiekviename faile yra atskiras informacinis objektas: dokumentas, straipsnis, skaitinis masyvas, programa ir kt. Failoje esanti informacija tampa aktyvi, t.y., gali būti apdorota kompiuterio tik įkėlus ją į RAM.

Bet kuris vartotojas, dirbantis kompiuteriu, turi dirbti su failais. Net norint žaisti kompiuterinį žaidimą, reikia išsiaiškinti, kuriame faile yra saugoma jo programa, mokėti rasti šį failą ir inicijuoti programą.

Darbas su failais kompiuteryje atliekamas naudojant failų sistemą. Failų sistema- Tai funkcinė OS dalis, teikianti operacijas su failais.

Norėdamas rasti norimą failą, vartotojas turi žinoti: a) koks failo pavadinimas; b) kur saugomas failas.

Failo pavadinimas

Beveik visose operacinėse sistemose failo pavadinimas susideda iš dviejų dalių, atskirtų tašku. Pavyzdžiui:

Taško kairėje yra tikrasis failo pavadinimas (mu-prog). Vardo dalis po taško vadinama failo plėtiniu (pas). Paprastai failų pavadinimuose naudojamos lotyniškos raidės ir skaičiai. Daugumoje operacinių sistemų maksimalus plėtinio ilgis yra 3 simboliai. Be to, failo pavadinimas gali neturėti plėtinio. „Windows“ operacinėje sistemoje failų pavadinimuose leidžiamos rusiškos raidės; didžiausias pavadinimo ilgis yra 255 simboliai.

Plėtinys nurodo, kokia informacija saugoma faile. Pavyzdžiui, plėtinys .txt paprastai žymi tekstinį failą (yra teksto); rsx plėtinys – grafinis failas (yra paveikslėlis), zip arba gag – archyvo failas (yra archyvas – suspausta informacija), pas – Pascal programa.

Loginiai diskai

Viename kompiuteryje gali būti keli diskų įrenginiai – įrenginiai, skirti darbui su diskais. Kiekvienam diskui priskiriamas vienos raidės pavadinimas (po kurio rašomas dvitaškis), pvz., A:, B:, C:. Dažnai asmeniniuose kompiuteriuose didelės talpos diskas, įmontuotas į sistemos bloką (jis vadinamas kietuoju disku), yra padalintas į skyrius. Kiekvienas iš šių skirsnių vadinamas loginiu disku ir pavadintas C:, D:, E: ir tt Pavadinimai A: ir B: dažniausiai reiškia mažus išimamus diskus – diskelius (floppy). Jie taip pat gali būti laikomi diskų pavadinimais, tik loginiais, kurių kiekvienas visiškai užima tikrą (fizinį) diską. Todėl A:, B:, C:, D: yra visi loginių diskų pavadinimai. Loginio disko, kuriame yra failas, pavadinimas yra pirmoji „koordinatė“, nurodanti failo vietą.

Yra dvi loginio disko būsenos – dabartinė ir pasyvioji. Dabartinis diskas – diskas, kuriame vartotojas dirba esamu mašinos laiku. Pasyvus diskas yra diskas, su kuriuo šiuo metu nėra ryšio.

Disko failų struktūra

Iškviečiamas visas diske esančių failų rinkinys ir ryšiai tarp jų failo struktūra. Skirtingos operacinės sistemos gali palaikyti skirtingą failų struktūrų organizavimą. Yra dviejų tipų failų struktūros: paprastos, arba vieno lygio, ir hierarchinės – kelių lygių.

Vieno lygio failų struktūra yra paprasta failų seka. Norėdami rasti failą diske, pakanka nurodyti tik failo pavadinimą. Pavyzdžiui, jei failas tetris.exe yra diske A:, tada jo „visas adresas“ atrodo taip:

Vieno lygio failų struktūros operacinės sistemos naudojamos paprasčiausiuose mokomuosiuose kompiuteriuose, kuriuose įrengti tik diskeliai.

Sluoksniuota failų struktūra- į medį panašus (hierarchinis) failų išdėstymo diske būdas. Kad būtų lengviau suprasti šią problemą, naudosime analogiją su tradiciniu „popieriniu“ informacijos saugojimo būdu. Pagal tokią analogiją byla pateikiama kaip kažkoks pavadintas dokumentas (tekstas, piešinys) ant popieriaus lapų. Kitas pagal dydį failo struktūros elementas vadinamas katalogą. Tęsdami „popierinę“ analogiją, katalogą pavaizduosime kaip aplanką, į kurį galima sudėti daug dokumentų, t.y. failų. Katalogas taip pat gauna savo pavadinimą (įsivaizduokite, kad jis parašytas ant aplanko viršelio).

Katalogas pats gali būti kito, jam nepriklausančio, katalogo dalis. Tai panašu į tai, kaip aplankas įterpiamas kitame didesniame aplanke. Taigi kiekviename kataloge gali būti daug failų ir pakatalogių (vadinamų pakatalogiais). Aukščiausio lygio katalogas, kuris nėra įdėtas į jokį kitą katalogą, vadinamas šakniniu katalogu.

„Windows“ operacinėje sistemoje terminas „aplankas“ vartojamas „katalogo“ sąvokai apibūdinti.

Grafinis hierarchinės failų struktūros vaizdas vadinamas medžiu.

Ant pav. 1 katalogų pavadinimai rašomi didžiosiomis raidėmis, o failų pavadinimai – mažosiomis. Čia šakniniame kataloge yra du aplankai: IVANOV ir PETROV bei vienas failas fin.com. IVANOV kataloge yra du įdėtieji katalogai PROGS ir DATA. DATA katalogas tuščias; kataloge PROGS yra trys failai ir tt Medyje šakninis katalogas paprastai vaizduojamas \.

Ryžiai. 1. Hierarchinės failų struktūros pavyzdys

Yra dvi katalogo būsenos (panašios į loginius diskus) - dabartinė ir pasyvi. Operacinė sistema įsimena esamą katalogą kiekvieną loginę dabartinio disko datą. Tokiu atveju OS išsaugo disko pavadinimą ir katalogo pavadinimą.

Visos programos ir duomenys saugomi kompiuterio ilgalaikėje atmintyje kaip .

1 apibrėžimas

Failas– įvardytas duomenų rinkinys, įrašytas į laikmeną. Bet kuris failas turi pavadinimą, susidedantį iš dviejų dalių, atskirtų tašku – tikrojo pavadinimo ir plėtinio. Nurodant failo pavadinimą, pageidautina, kad jis nurodytų failo turinį arba autorių.

Plėtinys nurodo faile saugomos informacijos rūšį. Failo pavadinimą suteikia vartotojas, o failo tipą paprastai nustato automatiškai programa, kai ji sukuriama.

1 paveikslas.

Failo pavadinime gali būti iki $255$ simbolių, įskaitant plėtinį. Failo pavadinimą gali sudaryti angliškos ir rusiškos raidės, skaičiai ir kiti simboliai.

Failų pavadinimuose neleidžiami šie simboliai:

\ / * ? : “ | .

Kai kurių failų tipų plėtinys:

2 pav.

Be pavadinimo ir tipo, failo parametrai taip pat apima: failo dydį, sukūrimo datą ir laiką, piktogramą (elementarus grafinis objektas, su juo galite sužinoti, kokioje aplinkoje failas sukurtas ar kokio tipo) .

3 pav

Failo piktogramų klasifikacija

4 pav

2 apibrėžimas

Failo struktūra- failų rinkinys ir santykiai tarp jų.

Vieno lygio failų struktūra naudojamas diskams, kuriuose yra nedidelis failų skaičius, ir yra linijinė failų pavadinimų seka.

Sluoksniuota failų struktūra naudojamas, kai tūkstančiai failų yra saugomi diske, sugrupuoti į aplankus. Sluoksniavimas reiškia įdėtų aplankų su failais sistemą.

Kiekvienas diskas turi loginį pavadinimą, žymimą lotyniška raide su dvitaškiu:

  • C:, D:, E: ir kt. - kietieji ir optiniai diskai,
  • A:, B: - lankstieji diskai.

Aukščiausio lygio disko aplankas yra šakninis aplankas, kuris OS Windows nurodomas pridedant "\" prie disko pavadinimo, pavyzdžiui, D:\ yra šakninio aplanko pavadinimas.

Failų struktūros pavyzdys:

5 pav

Katalogas yra aplankas arba katalogas, kuriame talpinami failai ir kiti katalogai.

Iškviečiamas katalogas, kuris nėra jokio kito katalogo pakatalogis šaknis. Toks katalogas yra aukščiausiame visų katalogų hierarchijos lygyje. „Windows“ sistemoje kiekvienas diskas turi savo šakninį katalogą (D:\, C:\, E:).

OS Windows katalogai skirstomi į sistemos ir vartotojo. Sistemos katalogų pavyzdys: „Darbalaukis“, „Tinklo vietos“, „Šiukšliadėžė“, „Valdymo skydas“.

6 pav. OS Windows sistemos katalogai

Iš kairės į dešinę: sistemos aplankas

Šiukšliadėžė, aplankas Mano dokumentai, nuoroda į aplanką Mano dokumentai

Katalogas ir aplankas fiziškai yra tas pats.

Kelias į failą yra jo adresas.

Kelias į failą visada prasideda loginiu disko pavadinimu (D:\, C:\, E:), tada įrašoma įdėtųjų aplankų pavadinimų seka, paskutiniame aplanke yra norimas failas. Kelias į failą kartu su failo pavadinimu vadinamas pilnu failo pavadinimu, pavyzdžiui: D:\My Documents\Literature\Composition.doc visas failo pavadinimas Kompozicija.doc.

7 pav. Katalogų ir failų medis

Schematiškai disko failų struktūra vaizduojama kaip medis.

8 pav. Disko Z failo struktūra:

  • Z:\box\box1 – visas aplanko (katalogo) box1 pavadinimas
  • Z:\box\box.txt yra visas box.txt failo pavadinimas
  • Z:\box\box2\box3\box1 – visas aplanko (katalogo) box1 pavadinimas
  • Z:\box\box2\box3\box.txt – visas box.txt failo pavadinimas

Pradiniame standžiojo disko sektoriuje yra pagrindinis šakninis įrašas, kuris įkeliamas į atmintį ir vykdomas.

Paskutinėje šio sektoriaus dalyje yra skaidinių lentelė – 4 elementų lentelė su 16 baitų elementais. Šią lentelę valdo FDISK programa (arba lygiavertė priemonė kitoje operacinėje sistemoje).

Įkrovos metu ROM-BIOS įkelia pagrindinį šakninį įrašą ir perduoda valdymą jo kodui. Šis kodas nuskaito skaidinių lentelę, kad nustatytų, kuris skaidinys pažymėtas kaip aktyvus. Tada teisingas šakninis sektorius nuskaitomas į atmintį ir vykdomas.

1 lentelė. Pagrindinio šakninio įrašo ir skaidinių lentelės struktūra

2 lentelė. Skyriaus deskriptoriaus struktūra

Skyriaus ID naudojamas nustatyti, ar pirminis ir išplėstinis skaidiniai egzistuoja ir yra diske. Suradus norimą atkarpą, jos dydį ir koordinates galima išgauti iš atitinkamų deskriptoriaus laukelių. Jei skaidinio kodo lauke įrašytas 0, tada deskriptorius laikomas tuščiu, tai yra, jis neapibrėžia jokio disko skaidinio.

3 lentelė„Microsoft“ operacinių sistemų skaidinių kodai

KodasPjūvio vaizdasDydisFAT tipasOS
01hPagrindinis0-15 MBFAT12MS-DOS 2.0
04hPagrindinis16-32 MBFAT16MS-DOS 3.0
05hpratęstas0-2 GB- MS-DOS 3.3
06hPagrindinis32MB-2GBFAT16MS-DOS 4.0
0bhPagrindinis512MB-2GBFAT32OSR2
0 Chpratęstas512MB-2TBFAT32OSR2
0 EchPagrindinis32MB-2GBFAT16Windows 95
0Fhpratęstas0-2 GB- Windows 95

Šie kodai yra rezervuoti trečiųjų šalių operacinėms sistemoms:

  • 02h - atkarpa CP/M;
  • 03h - Xenix pertvara;
  • 07h – OS/2 skaidinys (HPFS failų sistema).

Pastabos:

  1. Cilindrų ir sektorių numeriai yra atitinkamai 10 ir 6 bitų:
    15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
    ccccccccccssssss

    Jie išdėstyti taip, kad įkeliant CX su 16 bitų reikšme, jis būtų paruoštas, kad būtų iškviesta INT 13h, kad būtų nuskaityta teisinga disko dalis. Taigi, nuskaičius pagrindinį įkėlimo įrašą į sect_buf atminties sritį, CMP kodo baitas ptr sect_buf, 80h

    patikrins, ar pirmoji sekcija aktyvi, ir kodą

    MOV CX, sect_buf

    įkels CX, kad iškviestų INT 13h, kad nuskaitytų 1 skirsnio šakninį sektorių.

  2. „Santykinio sektoriaus“ reikšmė poslinkyje 08h kiekvienoje skaidinyje yra lygi skaidinio pradžios adreso galvutei, sektoriui ir cilindrui. Santykinis sektorius 0 yra toks pat kaip cilindras 0, galvutė 0, sektorius 1. Santykinis sektoriaus skaičius pirmiausia didėja kiekvienam galvutės sektoriui, tada kiekvienai galvutei ir galiausiai kiekvienam cilindrui.

    Taikoma formulė:

    Rel_sec = (#cyl * sec_per_cyl * heads) + (#Goal * sec_per_cyl) + (#sec -1)

    Skyriai prasideda nuo lyginio cilindro numerio, išskyrus pirmą skaidinį, kuris gali prasidėti nuo cilindro 0, 0 galvutės, 2 sektoriaus (nes 1 sektorių užima pagrindinis įkrovos įrašas).

    Kai skirsnio šakninis įrašas perima valdymą, DS:SI nurodo atitinkamą skaidinio lentelės įrašą.

Šakninio sektoriaus struktūra

4 lentelė Diskelio arba standžiojo disko skaidinio šakninio sektoriaus formatas

00h3 JMPxx xxNEAR šokti atsisiųsti kodą
03h8 "aš""B""M" "4" "." "0" OEM įmonės pavadinimas ir sistemos versija
0bh2 SectSizbaitų skaičius sektoriuje (visada 512)pradėti BPB
0Dh1 ClustSizsektorių skaičius klasteryje
0 Ech2 Resecaiatsarginių sektorių skaičius (sektoriai prieš FAT Nr. 1)
10h1 FatCntFAT lentelių skaičius
11h2 RootSiz32 baitų šakninio katalogo įrašų skaičius (0 FAT32)
13h2 TotSecsbendras sektorių skaičius laikmenoje (DOS skaidinys)
15h1 žiniasklaidalaikmenos tipas (tas pats kaip FAT 1 baitas)
16h2 riebalų dydissektorių skaičius viename FATBPB pabaiga
18h2 TrkSecs sektorių skaičius takelyje
1 Ah2 HeadCnt galvų skaičius
1 Ch4 „HidnSec“.paslėptų sektorių skaičius (naudojamas skaidinių schemose)
20h4 TotSecsviso sektorių, jei dydis >32 MB
24h1 128 disko fizinis numeris
25h1 rezervas
26h1 29h išplėstos struktūros ženklas
27h4 Tomo ID (serijos numeris)
2bhbh etiketė (NO NAME)
36 val8 Failų sistemos ID (FAT12)
3 Ech pradžios kodą ir atsisiųskite duomenis

Pastabos:

  1. Saugojimo laikmenų tipai:
    • F0h - diskelis, 2 pusės, 18 sektorių viename takelyje;
    • F8h - kietasis diskas;
    • F9h - diskelis, 2 pusės, 15 sektorių viename takelyje;
    • FCh - diskelis, 1 pusė, 9 sektoriai takelyje;
    • FDh - diskelis, 2 pusės, 9 sektoriai takelyje;
    • FEh - diskelis, 1 pusė, 8 sektoriai takelyje;
    • FFh - diskelis, 2 pusės, 8 sektoriai takelyje.
  2. Šiam sektoriui nuskaityti naudokite absoliutų skaitymą INT 25h (DX=0). ARBA:
    • diskeliai: šakninis sektorius = BIOS INT 13h head 0, track 0, sector 1;
    • sunku: skaitykite PartitionTable, skirtą galvos / takelio / sektoriaus BIOS.
  3. BPB (BIOS parametrų blokas) – šakniniame sektoriuje esančių duomenų poaibis. Užklausa vairuotojui „Build BPB“ reikalauja, kad vairuotojas užbaigtų aukščiau nurodytą bloką. BPB ilgis = 13 baitų

Diskelių parametrų lentelė

Ši 10 baitų struktūra taip pat žinoma kaip „disko bazės lentelė“. Jis yra pertraukimo vektoriaus adresu INT 1Eh (4 baitų adresas 0:0078). Šioje lentelėje apibrėžiami kai kurie svarbūs diskelių įrenginių kintamieji. Jį inicijuoja ROM-BIOS ir modifikuoja DOS, kad pagerintų diskelio našumą.

5 lentelė Disko parametrų lentelės formatas

ŠališkumasIlgisTurinys
00h1 Pirmasis specifikacijos baitas:
bitai 0-3 - galvučių įkėlimo laikas;
4-7 bitai – galvos žingsnio trukmė
01h1 Antrasis specifikacijos baitas:
bitas 0 - DMA režimo vėliavėlė;
1-7 bitai – galvučių įkėlimo laikas
02h1 Delsimas prieš išjungiant variklį (sistemos laikrodžio „tiksėjimo“ atveju)
03h1 Sektoriaus dydis (baitai): 0–128, 1–256, 2–512, 3–1024
04h1 Sektorių skaičius takelyje
05h1 Tarpsektorinis tarpo ilgis skaitymo / rašymo operacijoms
06h1 Duomenų srities ilgis
07h1 Formatavimo operacijos tarpsektorinio tarpo ilgis
08h1 Formatavimo rezervuota vieta (dažniausiai 0F6h, t. y. "Ў")
09h1 Galvutės nustatymo laikas (milisekundėmis)
0 Ak1 Variklio paleidimo laikas (1/8 s)

Kietojo disko parametrų lentelė

Ši 16 baitų struktūra yra pertraukimo vektoriaus adresu INT 41h (4 baitų adresas 0:0104). Antrojo standžiojo disko parametrai (jei yra) yra vektoriaus INT 46h adresu. Šios lentelės apibrėžia kai kuriuos svarbius standžiojo disko operacijų kintamuosius.

6 lentelė Kietojo disko lentelės formatas

ŠališkumasIlgisTurinys
00h2 Cilindrų skaičius
02h1 Galvų skaičius
03h2 Nenaudota (visada 0)
05h2 Išankstinis kompensacijos cilindro numeris
07h1 Maksimalus ECC bloko ilgis
08h1 Valdymo baitas:
bitai 0-2 – nenaudojami (visada 0);
bitas 3 - nustatomas, jei galvučių skaičius yra didesnis nei 8;
4 bitas – nenaudojamas (visada 0);
5 bitas - nustatomas, jei gamintojas ant cilindro uždėjo defektų žemėlapį su numeriu "maksimalus darbinis cilindras + 1";
6 bitas – pakartotinio ECC valdymo draudimas;
7 bitas – išjungti ECC valdymą
09h1 Nenaudota (visada 0)
0 Ak1 Nenaudota (visada 0)
0bh1 Nenaudota (visada 0)
0 Ch2 Stovėjimo zonos cilindro numeris
0 Ech1 Sektorių skaičius takelyje
0Fh1 Rezervas

Failų paskirstymo lentelė (FAT)

Laikui bėgant failo dydis gali keistis. Jei leisite failą saugoti tik gretimuose sektoriuose, tada, padidėjus failo dydžiui, OS turi jį visiškai perrašyti į kitą tinkamą disko tūrio (laisvą) sritį. Siekiant supaprastinti ir pagreitinti naujų duomenų įtraukimą į failą, šiuolaikinės operacinės sistemos naudoja failų paskirstymo lenteles (File Allocation Table, sutrumpintai FAT), kurios leidžia saugoti failą kelių negretimų sekcijų pavidalu.

Naudojant FAT, loginio disko duomenų sritis yra padalinta į tokio paties dydžio dalis - klasteriai. Klasterį gali sudaryti vienas ar daugiau iš eilės einančių disko sektorių. Sektorių skaičius klasteryje turi būti kartotinis iš 2 N ir gali turėti reikšmes nuo 1 iki 64 (klasterio dydis priklauso nuo naudojamo FAT tipo ir loginio disko dydžio).

Kiekvienas klasteris turi savo įrašą FAT lentelėje. Pirmieji du FAT elementai yra rezervuoti – jei diske yra K duomenų grupių, tai FAT elementų skaičius bus lygus K + 2 . FAT tipas nustatomas pagal K reikšmę:

  1. jei K<4085 - используется FAT12;
  2. jei 4084>K<65525 - используется FAT16;
  3. jei naudojamas 65524>K - FAT32.

FAT tipų pavadinimas kilęs iš elemento dydžio. Taigi FAT12 elemento dydis yra 12 bitų, FAT16 - 16 bitų, FAT32 - 32 bitų. Reikėtų pažymėti, kad FAT32 keturi svarbiausi dvejetainiai skaitmenys yra rezervuoti ir nepaisomi veikiant OS (tai yra, reikšmingi yra tik septyni mažiausiai reikšmingi šešioliktainiai elemento skaitmenys).

FAT yra susietas sąrašas, kurį OS naudoja fizinei duomenų vietai diske sekti ir laisvos atminties naujiems failams rasti.

Kiekvieno failo failų kataloge (turinyje) yra FAT lentelės pradinio elemento numeris, atitinkantis pirmąjį failų platinimo grandinės grupę. Atitinkamas FAT elementas arba nurodo grandinės pabaigą, arba nurodo kitą elementą ir pan. Pavyzdys:

Ši diagrama iliustruoja pagrindines FAT sąvokas. Tai rodo, kad:

  1. MYFILE.TXT užima 10 grupių. Pirmasis klasteris yra 08 klasteris, paskutinis - 1Bh. Klasterio grandinė – 08h, 09h, 0Ah, 0Bh, 15h, 16h, 17h, 19h, 1Ah, 1Bh. Kiekvienas elementas nurodo kitą grandinės elementą, o paskutiniame elemente yra specialus kodas (žr. 7 lentelę).
  2. 18h klasteris pažymėtas kaip sugedęs ir nėra platinimo grandinės dalis.
  3. Klasteriai 06h, 07h, 0Ch-14h ir 1Ch-1Fh yra tušti ir galimi paskirstyti.
  4. Kita grandinė prasideda spiečiuje 02h ir baigiasi klasteriumi 05h. Norėdami sužinoti failo pavadinimą, turite rasti turinio įrašą su pradiniu klasterio numeriu 02h.

7 lentelė FAT elementų reikšmės

FAT paprastai prasideda nuo 1 loginio sektoriaus DOS skaidinyje (ty jį galima nuskaityti INT 25h, kai DX=1). Apskritai pirmiausia reikia perskaityti šakninį sektorių (DX=0) ir paimti poslinkį 0Eh . Tai rodo, kiek šakninių ir rezervinių sektorių yra prieš FAT. Tada naudokite šį skaičių (paprastai 1) kaip DX turinį, norėdami nuskaityti FAT per INT 25h.

Gali būti kelios FAT kopijos. Paprastai palaikomos dvi identiškos kopijos. Tokiais atvejais visos kopijos yra tiesiai viena šalia kitos.

komentaras:

  • Įprasta klaidinga nuomonė, kad 16 bitų FAT neleidžia DOS dirbti su didesniais nei 32 megabaitų diskais. Tiesą sakant, apribojimas yra tas, kad INT 25h/26h negali dirbti su SECTORS didesniais nei 65535. Kadangi sektoriaus dydis paprastai yra 512 baitų arba pusė kilobaito, tai diktuoja 32 megabaitų limitą. Kita vertus, niekas netrukdo turėti didesnių sektorių, todėl teoriškai DOS gali dirbti su bet kokiu disku.
  1. Padauginkite klasterio skaičių iš 3.
  2. Jei elemento numeris lygus, atlikite AND operaciją su skaitytu žodžiu ir užmaskuokite 0FFFh. Jei elemento numeris nelyginis, perkelkite reikšmę į dešinę 4 bitais. Dėl to gaukite norimą FAT elemento reikšmę.

Dabar apsvarstykite elemento rašymo į FAT12 procedūrą.

  1. Padauginkite klasterio skaičių iš 3.
  2. Padalinkite rezultatą iš 2 (elemento ilgis yra 1,5 (3/2) baito).
  3. Nuskaitykite 16 bitų žodį iš FAT, naudodami ankstesnės operacijos rezultatą kaip adresą.
  4. Jei elemento numeris lygus, atlikite AND operaciją su skaitytu žodžiu ir užmaskuokite 0F000h, o tada operaciją ARBA su rezultatu ir rašomo elemento reikšme. Jei elemento numeris yra nelyginis, IR skaitytas žodis ir kaukė 0F000h, tada perkelkite reikšmę į kairę 4 bitais ir ARBA ankstesnės operacijos rezultatą.
  5. Įrašykite gautą 16 bitų žodį atgal į FAT.

komentaras:

  • 12 bitų įrašas gali kirsti dvi sektorių ribas, todėl būkite atsargūs skaitydami vieną FAT sektorių vienu metu.
    16 bitų elementai yra paprastesni – kiekviename elemente yra kito grandinės elemento 16 bitų poslinkis (nuo FAT pradžios).
    32 bitų elementai – kiekviename elemente yra kito grandinės elemento 32 bitų poslinkis.

Asamblėjos kalbos programose dažnai naudojamas algoritmas „Shift and Add“ vietoj MUL instrukcijos, kad būtų atlikta daugyba iš 3: nukopijuojamas originalus skaičius, nukopijuotas skaičius perkeliamas į kairę vienu bitu (dauginant iš 2), o tada abu skaičiai. pridedami (x + 2x = 3x). Vietoj DIV instrukcijos naudojamas poslinkis į dešinę vienu bitu.

FAT įraše yra klasterio numeris, tačiau dirbant su diskais žemu lygiu, adresuojamas duomenų vienetas yra sektorius, o ne klasteris.

Diskelis (arba standžiojo disko skaidinys) yra sudarytas taip:

  1. šakniniai ir rezerviniai sektoriai;
  2. RIEBALAI #1;
  3. RIEBALAI # 2;
  4. šakninis katalogas (neegzistuoja FAT32);
  5. duomenų sritis.

Kiekviena šios struktūros sekcija turi kintamą ilgį ir norint teisingai konvertuoti klasterio numerį į sektoriaus numerį, būtina žinoti kiekvienos tokios sekcijos ilgį.

Norėdami gauti klasterio pradžios sektoriaus numerį iš klasterio numerio ClustNum (skaityti iš atitinkamo lauko katalogo įraše arba FAT grandinėje), galite naudoti nedokumentuotą OS 32h funkciją arba perskaityti šakninį sektorių ir taikyti šias formules:

root_sectors = (RootSiz * 32) / 512 data_start = ResSecs + (FatSize * FatCnt) + root_sectors_start_sector = data_start + ((ClustNum - 2) * ClustSiz) ,

kur kintamųjų reikšmės: RootSiz , ResSecs , FatSize , FatCnt , ClustSiz yra paimtos iš šakninio sektoriaus arba iš BPB .

Prieš INT 25h skaitymo arba INT 26h rašymo operaciją nustatykite DX=pradžios_sektorius.

Failų katalogai

Failų katalogas yra 32 baitų elementų – failų deskriptorių masyvas. Operacinės sistemos požiūriu visi katalogai (išskyrus šakninį FAT12 ir FAT16 sistemų katalogą) atrodo kaip failai ir juose gali būti neribotas skaičius įrašų.

Šakninis katalogas yra pagrindinis disko katalogas, nuo kurio prasideda pakatalogio medis. FAT12 ir FAT16 šakniniam katalogui loginio disko sistemos srityje yra skirta speciali fiksuoto dydžio (16 KB) vieta, skirta saugoti 512 elementų. FAT32 sistemoje šakninis katalogas yra savavališko dydžio failas.

8 lentelė Katalogo elementų struktūra

ŠališkumasIlgisTurinys
00h11 Trumpas failo pavadinimas
0bh1 Failo atributai
0Сh1 * Rezervuota Windows NT (turi būti 0)
0Dh1 *Laukas, nurodantis failo sukūrimo laiką (dešimtimis milisekundžių).
Lauko reikšmė gali svyruoti nuo 0 iki 199
0 Ech2 *Failo sukūrimo laikas
10h2 *Failo sukūrimo data
12h2 *Paskutinės prieigos prie failo duomenims rašyti ar skaityti data
14h2 * Aukštas pirmojo failo klasterio numerio žodis
16h2 Paskutinės įrašymo į failą operacijos laikas
18h2 Data, kada failas buvo paskutinį kartą įrašytas
1 Ah2 Žemas pirmojo failo klasterio numerio žodis
1 Ch4 Failo dydis baitais (32 bitų skaičius)

„*“ ženklas reiškia, kad laukas apdorojamas tik FAT32 failų sistemoje. FAT12 ir FAT16 sistemose laukas laikomas rezervuotu ir jo reikšmė yra 0.

Trumpą failo pavadinimą sudaro du laukai: 8 baitų laukas, kuriame yra tikrasis failo pavadinimas, ir 3 baitų laukas su plėtiniu. Jei vartotojo įvestas failo pavadinimas yra trumpesnis nei aštuoni simboliai, tada jis užpildomas tarpais (tarpo kodas - 20h), jei įvestas plėtinys yra trumpesnis nei trys simboliai, tada taip pat užpildomas tarpais.

Kai kurioms DOS funkcijoms kaip parametras reikalingi failo atributų baitai. Atributo baito bitai nustatomi į 1, jei failas turi atitinkamą ypatybę:

  • bitas 0 – tik skaitomas;
  • bitas 1 - paslėptas;
  • 2 bitas - sistema;
  • 3 bitas - tūrio identifikatorius;
  • 4 bitas - katalogas;
  • 5 bitas – archyvuotas;
  • 6 ir 7 bitai yra rezervuoti (nustatyti į 0).

Failo sukūrimo laiko laukai ir paskutinio failo rašymo operacijos laiko laukai yra tokio formato:

15 9 8 5 4 0

Kuriant failus datos skaičiuojamos nuo MS-DOS epochos pradžios, t.y. data 1980-01-01. 9–15 bituose yra metų skaičius atėmus 1980 (galiojančios reikšmės yra nuo 0 iki 127).

Ilgi failų pavadinimai

Pradedant nuo Windows 95, failui gali būti suteiktas (be trumpojo pavadinimo) vadinamasis ilgas pavadinimas. Norėdami išsaugoti ilgą pavadinimą, naudojami tušti katalogo elementai, esantys šalia pagrindinio elemento - failo deskriptoriaus. Vienetų buvimas atributo baito 0-3 bituose yra ženklas, kad nemokamas katalogo elementas naudojamas ilgo failo pavadinimo sekcijai saugoti (šis derinys negalimas failų ir katalogų aprašams). Trumpasis ir ilgasis failų pavadinimai yra unikalūs, t.y. negali būti du kartus tame pačiame kataloge.

Ilgas pavadinimas rašomas ne ASCII simboliais, o Unicode formatu, kur kiekviena nacionalinė abėcėlė atitinka kodų rinkinį. Atlygis už „Unicode“ universalumą yra atminties tankio sumažėjimas – kiekvienas simbolis užima du baitus (16 bitų žodis). Tuščiuose katalogo elementuose ilgasis pavadinimas rašomas gabalais supjaustyta forma (žr. 9 lentelę).

9 lentelė Katalogo elemento struktūra, kurioje saugomas ilgo failo pavadinimo fragmentas

Pirmiausia į katalogą įrašomas ilgas pavadinimas, o fragmentai dedami atvirkštine tvarka, pradedant paskutiniu:

Visuose kataloguose, išskyrus šaknį, pirmuose dviejuose elementuose yra specialios nuorodos, o ne failų aprašai. Elemente Nr. 0 yra žymeklis į patį katalogą, o pavadinimo lauke yra vienas taškas ("."). Elemente Nr. 1 yra žymeklis į pirminį katalogą, o pavadinimo lauke yra du taškai ("".."). Jei nuoroda į 1 elemento FAT lentelę yra nulinė, tada dabartinis katalogas yra šakniniame kataloge.

Disko informacijos bloką sudaro UNDOCUMENTED DOS funkcija 32h .

Visą čia esančią informaciją galima gauti perskaičius šakninį sektorių ir kai kuriais skaičiavimais iškvietus daugybę kitų OS funkcijų, tačiau informacinis blokas patogus tuo, kad jame yra visi duomenys kartu. Tai vienintelis skambutis, grąžinantis įrenginio tvarkyklės antraštės adresą.

10 lentelė Disko informacijos bloko schema

ŠališkumasIlgisTurinys
00h1 Disko numeris (0 = A, 1 = B ir tt)
01h1 Papildomo įrenginio numeris iš įrenginio antraštės (viena tvarkyklė gali valdyti kelis diskus)
02h2 Sektoriaus dydis baitais
04h1 Sektorių skaičius klasteryje -1 (maksimalus sektorius klasteryje)
05h1 Klasterio perkėlimas į sektorių (klasteris = 2 sektorių skaičius) (sektoriai viename klasteryje dviejų laipsniais: 2 – 4, 3 – 8)
06h2 Atsarginių sektorių skaičius (šaknis, šakninio ogl pradžia) (pirmojo FAT sektoriaus N)
08h1 FAT lentelių skaičius
09h2 Maks. elementų skaičius šakniniame turinyje
0bh2 2 klasterio sektoriaus numeris (1-asis duomenų klasteris)
0Dh2 Iš viso grupių +2 (didžiausias klasterio skaičius)
0Fh1 Sektorių, kuriuos užima vienas FAT, skaičius
10h2 Šakninės TOC pradžios sektoriaus numeris
12h4 Device_header adresas
16h1 Bearer_Descriptor Byte
17h1 Prieigos vėliavėlė: 0, jei įrenginys buvo pasiektas
18h4 Kito disko informacijos bloko adresas
(0FFFFh, jei blokas paskutinis)

Atvirojo režimo bitų vėliavėlės:

  1. 0-2: proceso tinklo leidimai
    000 - skaitymas; 001 - įrašas; 010 - skaitymas ir rašymas.
  2. 4-6: padalijimo režimas:
    000 - suderinamumo režimas
    001 = išskirtinis failo fiksavimas
    010 = atmesti rašymą
    011 = atmesti skaitymą
    100 = nieko neatmesti
  3. 7: Paveldėjimas:
    1 – failas yra privatus šiam procesui 0 – paveldėtas antrinių procesų

Jei failo atributo baitas nurodo tik skaitymą, jis nepaiso šių vėliavėlių.

Tinklo leidimo ir bendrinimo režimo bitai veikia tik tada, kai įdiegta SHARE programa.