yyy... a co to takiego :?
Albo przynajmniej 1970, starsze pliki chyba na świecie nie istnieją
to jest tylko propozycja FS. więc niechaj będzie 1970, chyba, że jeszcze ktoś ma coś nt temat do powiedzenia.
nie widzę w statusach plików oznaczenia, że "plik jest linkiem symbolicznym".
z tego co tutaj napisano, wnioskuję iż "link symboliczny" jest czyś w stylu Windowsowego "*.lnk" :?
hmmm... raczej nie problem. bo w statusie są wolne bity.
pytanie bylko, czy scieżkę docelową zapisać tylko w postaci np. "D3:utilsedittextpantherpanther.com"m czy też dodać (przed samą ścieżką) bezpośredni link do 1 sektora mapy sektorów tego pliku - coby nieprzeszukiwać całej gałęzi podkatalogów w celu odnalezienia danych. :?
czyli mamy wpisy:
- link przedostatni
- $00, $0000, $000000, $00000000 - zależne od długości linku
- link ostatni
- DWA BAJTY zawierają numer 1-go wolnego bajtu w tym sektorze.
"numer 1-go wolnego bajtu w tym sektorze" czyli w ostatnim sektorze z danymi - ile zostało zajętych tam bajtów
A nie lepisej zrobić tak:
- link ostatni
- $00, $0000, $000000, $00000000 - zależne od długości linku
- DWA BAJTY zawierają numer 1-go wolnego bajtu w ostatnim sektorze.
niestety niebyłoby to lepsze. Czemu? Logika się kłania. W Twojej propozycji przy odczytaniu pozycji X z tabeli, należało by też za każdym razem czytać również następną, celem sprawdzenia, czy nie jest to aby ostatni link w tabeli, a potem cofnąć ofset do poprzedniej pozycji. Chyba, żę byłby t ostatni link, to wtedy pobieramy ilość bajtów danych znajdujących się w ostatnim sektorze danych.
W tym co ja zaproponowałem wystarczy se czytać pozycję X i dopierom gdy ona jest równa 0, to wiemy że to jest koniec pliku i odczytujemy ile bajtów jest zajętych w ostatnim sektorze.
Ileż prostrza jest procedura w/g co ja zaproponowałem, że o czasie jej wykonywanie niewspomnę.
Cytat:
jeśli jako numer sektora będzie $FF ($FFFF, $FFFFFF, $FFFFFFFF - zależne od długości linku), to oznacza to, że (z reguły) plik nieposiada dla danego obszaru przydzielonego sektora na dysku (tak jak w SpartaDOS'ie, tylko tam było zero za numer sektora) i dane odczytywane z tego obszaru będą zawierać "same zera" - w taki sposób można "wyjeżdżać" poza rozmiar pliku - w trybie R/W (jednoczesny odczyt i zapis).
Co oznacza, że tego ostatniego sektora nie mozna używać- jest w mapie VTOC oznaczony jako zajety
Czy nie lepiej uzyc wartosci 1 lub 2 lub 3 zamiast $FF, przeciez sektorow 1-3 i tak niewykorzystamy na dane inne niz boot
2 lub 3 odpadają, gdyż FS potrzebuje tylko jednego sektora (jeśli 512 bajtów/sektor - IDE KMK róólo) - FS wykożystuje cały rozmiar sektorów 1-3 - 256 lub 512 bajtów na sektor. Można użyć numeru 1. w ostateczności gdyby się ktoś upierał. Z resztą przy tak dużych partycjach czy ktoś kłóciłby się o 1 sektor? Niewydaje mi się.
Konkretnie link symboliczny powinien zawierać zwykłą ścieżkę dostępu, czyli plik WZGBLA.COM, jeśli ma być linkiem do D2:>DOS>DPA.COM, ma zawierać tekst "D2:>DOS>DPA.COM", a jego wpis w katalogu ma mieć ustawiony atrybut, który będzie stanowił wiadomość dla DOS-u, że to jest link a nie plik, i nie otwiera sie bezpośrednio, tylko wczytuje ścieżkę zawartą w nim i otwiera dopiero to co ona wskazuje ...
ok. Powstaje jeszcze jedno pytanie. Czy jeśli plik jest wpisem symbolicznym, to czy bit plik też ma być aktywny (bo jest to w końcu plik, który coś zawiera - ścieżkę dostępu do innego pliku) i taki link symboliczny jest przez system tak traktowany - ma swoją mapę sektorów, czy też link stymboliczny, to poprostu ma on przypisany 1 sektor, w którym jest tylko ścieżka dostępu do właściwego pliku z ew. numerem 1szego sektora dla mapy tego pliku? Ja ripsotuję, aby była mapa, gdyż np. jeśli ktoś przykładowo zagnieźci właściwy plik gdzieś głęboko, to rozmiar 1go sektora może niewystarczyć. tymbardziej, jeśli byłyby używane ew. długie nazwy plików i katalogów.
przyznam ze b.milo bym widzial to pod (k)atarynkom...
yyy.... o ile symboliczny link zrozumiałem (tak mi sie wydaje), to tzw, twardego linku w opisany przez ciebie sposób nie bardzom, powiedziałbym wręcz w cale. Proszę troszkę jaśniej jakby co.
nfs = ntfs ?!? bo jakoś nie kumam :(
co do inoda, to mysle ze dodac jedno pole do mapy sektorow nie bylo by problemem?
prosiłbym troszkę jaśniej co to jest ten słynny "inode" :?
W przypadku hardlinka liczba dowiązań jest w rzeczy samej potrzebna, ale nie wiem, czy skuteczna implementacja tego byłaby naprawdę tak lekka, łatwa i przyjemna. Niewątpliwie wiązałoby się to z przeniesieniem informacji o pliku z directory do samego pliku (czyli do mapy sektorów zapewne), a to stawiałoby pod znakiem zapytania w miarę szybkie wyświetlenie katalogu ... zdaje się, że Amiga tak ma i pierwotnie na A500 to była spora porażka, nie pakujmy się w to.
yyy.... amiga mówicie. :? czy ten hardlink, to coś takiego podobnego do struktury dysku na OFS/FFS Amigi, że wpisy w katalogu zajmują 512 bajtów i jestw nim wszystko o pliku/podkatalogu łącznie z mapą sektorów :? Dobrze rozumiem :? Każdy z takich sektorów jest ze sobą powiązany, a nie zdefragmentowany dysk tak spowalniał wyświetlanie katalogu (o przepraszam szuflady ;) ), a jak do tego ikony dochodziły, to j?ż w ogóle :/ jeśli tak, to nasuwają mi sie dwie myśli:
przeniesienie wpisów z katalogu do mapy sektorów ma bardzo dużą zalete - tfu tfu.... (tylko) zakładając padłby FS, to odzyskiwanie danych z takiej mapy było by bardzo proste, gdyż nazwe pliku, i jego atrybuty łatwo by przywrócić. Natomiast jeśli directory byłby w przedstawiony w przeze mnie sposób, to dane dałoby sie odzyskać, lecz jeśli uszkodzony zostałby katalog, to mamy tylko rozmiar pliku i jego zawartość, a o lokalizacji (położenia w konkretnej ścieżce dostępu) i nazwie pliku mowy niema. Z drugiej jendak strony patrząc, jeśli uszkodzimy sobie taki hardlink, który jest jako 1szy w katalogu, to praktycznie przepada reszta zawartości tego katalogu, bo nic już nie jest z nią powiązane :( Wydaje mi się prezentowana przeze mnie struktura katalogu za bezpieczniejszą pod tym względem. Coż nie ma rózy bez kolców ...
ale kombinujecie. ja swój system stawiam na fat32, a potem może się pomyśli nad czymś co może działać szybciej...
tu ostro musze zaprotestować!
FAT(12/16/32)? Ja określam tylko jako najbardziej tragiczny filesystem jaki wymyślono - mianowicie bardzo mi sie niepodoba samo sedno sprawy - czyli tablica FAT - jeśli jakikolwiek jej fragment zopstanie uszkodzonuy, to dane lub ich część, którym przypożądkowane były numery Klastrów :twisted: (sektorów) w uszkodzonym obszarzem to NIE MA SPOSOBNOŚCI 100% ODZYSKU DANYCH z czegoś takiego. Dlatego mapy sektorów są o niebo lepsze pod tym względem od systemów FAT. Pisząc i obmyślając FS HiDOS'a, starałem się uniknąc tego co zawsze mnie denerwowało w trakcie zawodowego odzyskiwania danych z tych systemów. Każdy nawet najbardziej skomplikowany program, który ratuje dane z padniętego FATa opiera się na tym, żę dysk przed crashem był zdefragmentowany i zapisuje sektory po koleji. A ile użyszkodników na świecie defragmentuje dysk co godzinę? 1/100000 :? Bo w/g to +/-99.9999% ludzi jeśli robi to raz choćby na tydzień to góra. Więc zalożenie takich programów można sie w ucho ugryżć i nic z tego. Jeśli dodatkowo uszkodzony został też katalog, w którym znajdował się plik, który chcemy odzyskać, to już żaden program nie jest w stanie stwierdzi dokładnej (POPRAWNEJ) długości pliku. dlatego właśnie programy tego typu stosują sztuczki tego typu, że rozpoznają (przynajmniej próbóją)( rozpoznać co to za plik/podkatalog próbójemy odzyskać i w/g dokumentacji do danego pliku próbóją określić właściwą długość pliku. Z reguły 97% takiej operacji kończy się niepowodzeniem. Natomiast opisany schemat mapy sektorów, który jest w FS HiDos'a, w 100% stwierdzi dokładną długość pliku. A jeśli już mapa sektorów zostanie uszkodzona, to 1, 10 może 50 plików, a nie wszystkich naraz! więc moje zdanie jest bardzo krytyczne pod adresem systemów rodem z REDMOND! (I kropka!) :lol:
A długie nazwy: ja proponuję, aby długość wpisu zrobić np. 64 bajty, z czego 32-40 bajtów przeznaczyć na nazwę pliku. A znaki narodowe można zapisać przecież w standardzie UniCode, w tego nazwa miała by od 16-20 znaków. I standard UniCode zachowany i zero problemu... Co wy na to ? Czy może zostawić konwencję 8 + 3 ???