Enkonduko al la elektronika datum-prilaborado

Kursdokumentoj, parto 3

antauxa enhavo sekva

Dosieroj

Kiam oni malsxaltas komputilon, forvisxigxas cxiuj datenoj en la centra memoro. Restas nur datenoj sur eksteraj memoriloj, kutime diskoj. Tiuj diskoj storas bitojn en magneta (foje ankaux optika) formo, en trakoj kaj sektoroj. Por retrovi storitan biton necesas scii gxiajn trakon kaj sektoron kaj la pozicion ene de la sektoro.

Estus tre penige, se programistoj devus labori per disko-adresoj el trakoj kaj sektoroj: Tio ne nur estas malfacila, sed povus okazi, ke la sektoro skribota estas uzata de alia programo. Tial la mastrumaj sistemoj ofertas al la programoj tiel nomatan dosieran sistemon. Dosiero estas parto de la disko, kiun eblas adresi per nomo anstataux trako kaj sektoro. Krome gxi povas kreski kaj malkreski; la mastruma sistemo zorgas pri la bezonata spaco.

Kutime la dosieraj sistemoj estas hierarkiaj. Tio signifas, ke ilia strukturo estas plurnivela kaj similas arbon, kies brancxego disigxas al brancxoj kaj poste al brancxetoj. Efektive tia strukturo en la informadiko nomigxas arbo.

Por krei aux retrovi dosieron ie en la arbo necesas nomo en cxiu nivelo. Tiujn nivelajn nomojn oni kutime disigas per speciala simbolo, ekzemple stango (/), retro-stango (\) aux punkto. Dosiero en la tria nivelo de Vindoza arbo povas ekzemple havi la nomon \WINDOWS\SYSTEM\MFC.DLL. La sekva bildo montras ekzemplon el UNIX-arbo:

Tiuj objektoj de la arbo, kiuj ne estas mem dosieroj, sed enhavas pliaj nivelojn kun dosieroj, nomigxas dosierujoj. Dosieroj povas trovigxi en diversaj niveloj de la arbo. Do, dosieroj kaj dosierujon povas ekzisti apude en la sama nivelo.

Kiel vi vidas, cxiu objekto havas nomon, kiu distingas gxin interne de sia dosierujo, la tiel nomata loka nomo. Gxi ne povas enhavi la specialan disigan signon ("/" en UNIX). Por determini objekton ne nur loke, sed en la tuta arbo, necesas gxia plena aux absoluta nomo. Por atingi objekton el iu certa loko (dosierujo) oni povas uzi la absolutan nomon aux la relativan nomon, kiu estas kvazaux vojo de la aktuala loko al la objekto. Ekzemple, por iri de "/usr" al "/usr/lazaro/kalendaro" necesas la relativa nomo "lazaro/kalendaro".

Por navigi en dosiera arbo ekzistas speciala nomo en cxiu dosierujo, kiu signifas la supran ("patran") dosierujon. En UNIX-aj kaj Vindozaj sistemoj gxi estas ".." (du punktoj). Per gxi oni povas konstrui relativajn nomojn al objektoj, kiuj ne trovigxas "sube" de la elira dosierujo.

Kroziloj

Por doni bonan superrigardon pri dosieraj arboj ekzistas specialaj programoj, nomataj kroziloj, esploriloj aux simile.

Dosier-kroziloj ofte prezentas dosierajn arbojn tiel, ke la niveloj kreskas de maldekstre dekstren kaj la nomoj en unu nivelo staras unu sub la alia. La supra ekzemplo tiel aspektus jene:
- bin
    ls
  - X11
      clock
- lib
- usr
  - lazaro
      kalendaro
    - leteroj
  - ludoviko

Alia maniero estas prezenti arbe nur la dosierujojn, kaj montri en aparta fenestro nur la dosierojn en unu dosierujo, kiun elektis la uzanto ("leteroj" en la ekzemplo):
- bin
  - X11
- lib
- usr
  - lazaro
    - leteroj
  - ludoviko
beaucaire.txt
borovko.txt
grabowski.txt
kabe.txt
sebert.txt
trompeter.txt

Specialajxoj en la dosiera arbo

Ni vidis, ke dosieraj arboj enhavas dosierojn kaj dosierujojn. Sed ekzistas aliaj specialaj objektoj, kiuj povas tie trovigxi:
La bildo montras, ke pro la ligoj oni devus paroli ne pri la nomoj de dosieroj, sed la nomoj de ligoj, cxar dosiero (aux dosierujo) povas havi pli ol unu nomon. Tamen ordinare tio ne estas tro grava. Pri salto estas klare, ke gxi ne estas la dosierujo mem, sed nur vojo al gxi.

Kiel strukturigxas komputilo?

La modelo de von Neumann

Preskaux cxiuj komputiloj estas konstruataj laux la modelo de von Neumann, laux kiu ekzistas
Periferiajxoj estas ekzemple Laux la principo de von Neumann la memoro enhavas Tio ne estas memkomprenebla. Antaux jardekoj, en tre simplaj masxinoj la programo estis sur tru-rubando kaj ruligxis dum la kurado de la rubando. En la unuaj hejaj komputiloj kelkaj programoj estis en aparta, nur-legebla parto de la memoro. Sed nun kutime la sama memoro enhavas programo(j)n kaj datenojn.

Tio havas avantagxojn:

Gxi havas ankaux malavantagxon: Malbona aux malica programo povas sxangxi la memoron, kiu enhavas aliajn programojn, kaj tiel detrui ilin (intence aux ne). Tial necesas mastruma sistemo, kiu malebligas tion.

Trans la modelo de von Neumann

Kiam la povo de komputilo ne suficxas, oni povas aldoni pliajn diskojn aux pli da centra memoro. Eblas sxangxi la procezilon al pli rapida modelo, sed tio estas limigita. Laux la modelo de von Neumann ne eblas aldoni pliajn procezilojn. Tio metas limon al la pli-povigo de la komputilo, cxar cxiuj datenoj devas iri tra unu procezilo. Oni tial parolas pri la malvastejo de von Neumann.

Principe ja eblas konstrui komputilon kun pluraj proceziloj, sed tiaj komputiloj bezonas aliajn programojn. Tradiciaj programoj estas organizitaj laux la modelo

Iliaj pasxoj havas striktan tempan sinsekvon. Ne eblas ke du proceziloj dividu al si la laboron, cxar ili ne scius kiu faru kion. Estas kiel du homoj, kiuj komune preparas mangxajxon, ne vidante unu la alian.

Tamen ekzistas komputiloj kun pluraj proceziloj. Unu relative simpla maniero organizi ilin estas, ke cxiu procezilo plenumas apartan programon, kaj komunikado inter programoj okazas nur pere de disko, sur kiu ili skribas kaj legas. Sed tio ne estas granda avantagxo kontraux unu procezilo, cxar nur malmultajn procezilojn oni povas tiel okupi.

Por tiel nomataj "super-komputiloj" oni uzas multajn procezilojn, sed bezonas apartan programadan teknikon, kiu devas jam dum la programado konsideri la ekziston de multaj proceziloj.