Enkonduko al la elektronika datum-prilaborado
Kursdokumentoj, parto 3
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:
- Ekzistas dosierujo "/bin",
kiu enhavas programojn gxenerale uzeblajn, ekz. "/bin/ls".
- En "/bin" ekzistas sub-dosierujo "X11",
kies plena nomo estas do "/bin/X11".
Gxi enhavas programojn, kiuj koncernas la grafikan sistemon X11,
ekzemple la horlogx-programon "/bin/X11/clock".
- Cxiu uzanto de la sistemo havas propran "hejman" dosierujon,
sub la dosierujo "/usr". Ekzemple uzanto Lazaro
havas la hejman dosierujon /usr/lazaro,
en kiun li metis la dosieron /usr/lazaro/kalendaro
kaj la dosierujon /usr/lazaro/leteroj.
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".
- Absoluta nomo cxiam komencigxas per la disiga signo.
Cxiu objekto havas precize unu absolutan nomon.
- Relativa nomo neniam komencigxas per la disiga signo.
La relativa nomo de objekto dependas de la elira punkto.
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:
- En UNIX-sistemoj, cxiuj periferiajxoj estas atingeblaj
tra la dosiera arbo. Povas ekzemple esti, ke la disketo
havas la nomon "/dev/fd".
Tamen ne cxiu uzanto havas la rajton rekte aliri tiujn
"aparatojn"; ekzemple estus dangxere, se cxiu povus rekte
skribi al la firma disko.
Speciala UNIX-"aparato" estas "/dev/null";
gxi ne estas reala aparato, sed simple glutas kaj forjxetas
cxion skribitan al gxi.
Gxi estas utila, kiam oni volas ruli programon sen legi
gxian eligajxon.
- La strukturon de la arbo influas aliaj objektoj:
ligoj.
Ambaux ofertas mallongigitajn
vojojn inter diversaj brancxoj de la arbo.
Ekzemple, iu uzanto havas dosieron, kiun li bezonas en
du dosieroj, kaj ne volas tajpi longajn relativajn aux
absolutajn nomojn.
Li povas meti la dosieron en unu el tiuj dosierujoj
kaj en la alian meti ligon al la dosiero.
Tio estas kvazaux la dosiero estus en ambaux dosierujoj samtempe.
Ligoj povas ekzisti ankaux por dosierujoj,
kaj ili kreas novajn vojojn en la arbo.
Ilia uzo estu iom singarda, cxar ili povas konfuzi la uzanton
pri la orientigxo en la arbo.
- Anstataux ligoj al dosierujoj kelkaj sistemoj ofertas saltojn.
Ankaux ili estas mallongigitaj vojoj en la arbo,
sed ne permesas retroiron.
Tio pli bone konservas la klaran strukturon de la arbo,
sed malebligas al la uzanto reiri sian vojon.
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
- procezilo, kiu faras la komputadon;
foje nomata centra proceza unuo (CPU)
- centra memoro, kiu tenas la datenojn aktuala prilaboratajn
- periferiajxoj, kun kiuj komunikas la procezilo
Periferiajxoj estas ekzemple
- diskoj por dauxre memori datenojn
- malmolaj aux molaj
- fiksaj aux sxangxeblaj
- magnetaj aux optikaj (ekz. KD-ROM-oj)
- skribeblaj aux nur-legeblaj
- magnetaj rubandoj por la sama celo
- printilo por surpaperigi datenojn
- skanilo por enigi grafikajn datenojn
- son-cirkvito kun lauxtparoliloj, por auxde komuniki
- mikrofono por enigi sonajn datenojn
- fotilo aux kamerao
- ret-cirkvito por komuniki kun aliaj komputiloj
- per alt-kapacitaj komputilaj retoj
- per telefono (modemo aux ISDN-konektilo),
tiam ankaux por sendi kaj ricevi telekopiojn,
aux por respondi kaj registri telefonajn vokojn
Laux la principo de von Neumann la memoro enhavas
- la prilaboratajn datenojn kaj
- la ruligxantan programon, kiu prilaboras la datenojn
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:
- La strukturo estas pli simpla ol kun du memoroj.
- La memoro estas libere dividebla; foje programoj okupas pli, foje datenoj.
- Eblas produkti novajn programojn per programoj;
kutime tio okazas per tradukiloj, kiuj tradukas el alt-nivela lingvo
al masxina lingvo.
Ilia eligajxo farigxas programoj.
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
- unue faru tion, due tion, poste tion, ...
- aux: se tiel, faru cxi tion; se ne, tion; ...
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.