Amiga DOS Re: Hardlink na adresar

Frantisek Dufka dufkaf na merit.cz
Pondělí Červen 19 14:23:20 CEST 2000


Dne Pá, 16 čen 2000 Stanislav Meduna napsal(a):
> 
> Filesystem by to teoreticky zniesol, lenze sa tym porusia
> predpoklady o adresaroch. Ako sa asi tak bude tvarit
> rm -rf foo, kde foo je adresar, v ktorom je adresar
> bar, ktory je hardlinkovany na foo (o nalinkovani na /
> radsej neuvazujem :-))?
> 
> Na urovni filesystemu sa adresar da zmazat len ak je
> prazdny a to uz nikdy nedosiahnem. Podobnych problemov
> sa da najst spusta - UNIX-y s tym proste prilis neuvazuju.
> 
> BTW, ako tak pozeram, Amiga FS to zda sa dovoluje.
> 
> Zdravi
> -- 
> 					Stano
>

V unixu je jednoznacnym identifikatorem i-node a jmen muze byt vice.
Tzn. 'pred i-nodem jsou si vsechna pojmenovani rovna'.
Nelze rict, ze tohle je puvodni soubor/adresar a tohle je hardlink na neho.

Tohle neplati v AmigaDOSu, tam se hard linky ve filesystemu fyzicky lisi od
puvodnich souboru, takze semantika je spise podobna softlinkum.

Smazani hardlinku na adresar nemaze obsah puvodniho adresare.
Jak se chova unixacke 'cd ..' neboli AmigaDOSovske 'cd /' ted honem nevim,
ale asi podobne jako v unixu softlink na adresar.

Proste je to trosku zmatek. Ono totiz kdyz se smaze puvodni soubor tak se vybere
(myslim ze dost nedeterministicky) jeden z hardlinku a chova se od te chvile
jako puvodni soubor. U souboru to nevadi, ale u adresare je to pak dost zmatek.

Podobne podivnosti v AmigaDOSu jsou i s tzv. assigny (= symbolicke zarizeni).

Plna cesta k souboru v AmigaDOSu je ve tvaru zarizeni:adresar1/adresar2/soubor
Pricemz zarizeni je fyzicke - device nebo logicke - assign.

Fyzicke je bud nazev fyzickeho zarizeni (df0: - prvni floppy df1: druha floppy
dhx: partisna x) nebo jmenovka vlozeneho disku (mojedisketa:,  CD_141:, 
System:)

Logicke se vytvori prikazem 'assign zarizeni: cesta' - neco jako SUBST v
MS-DOSu.  Matouci je ze pomoci parametru ADD u prikazu Assign je mozne tam tech
cest uvest vice. Typicke je treba logicke zarizeni LIBS: nebo DEVS: nebo FONTS:
kde se hledaji dynamicke knihovny / drivery zarizeni / fonty. Treba LIBS: je
typicky udelane jako
Assign LIBS: System:Libs
Assign LIBS: Work:Libs ADD
Assign LIBS: MUI:Libs ADD

Trosku to nahrazuje unixackou promennou PATH nebo spis LD_LIBRARY_PATH

Matouci je pak to ze pri otevirani souboru treba LIBS:ixemul.library muze
prislusna knihovna/soubor lezet kdekoliv v System:Libs, Work:Libs, MUI:libs
a otevreni se povede.

Za domaci ukol pro velmi pokrocile je pak to co udela treba prikaz 'delete
LIBS:ixemul.library' v pripade ze dana knihovna lezi bud v System:Libs nebo v
tech ostatnich.

Nebo ukol cislo 2. Najde se knihovna xpkNUKE.library fyzicky
ulozena v  adresari Work:Libs/compressors pokud se program na ni odkazuje jako
LIBS:compressors/xpkNUKE.library ?

Nebo ukol cislo 3.
Otevre se font 'topaz.font' ulozeny v System:Fonts je li pri bootu systemu
vykonano 'Assign FONTS: System:Fonts' a pak byla do disketove mechaniky vlozena
disketa ktera se shodou okolnosti jmenuje FONTS ?
V pripade ze ano/ne, otevre se onen font az disketu zase vytahnete ?

Priznam se, ze jsem u Amigy sedel dost davno takze odpovedi na zadny domaci
ukol uz nevim. Nicmene je jasne, ze autori Amiga DOSu si s nejakou cistotou a
logicnosti ve filesystemu moc hlavu nedelali a nejake problemy hardlinku na
adresare je nemohly vubec vyvest z miry.

Frantisek Dufka


Další informace o konferenci Linux