Henrik Münster <henrik@muenster.dk> wrote:
> Uden at være programmør, så siger min indre logik mig, at et dokument
> ikke kan være åbent.
Det kan de altså godt, og når man programmerer skal man da også åbne en
fil, før man får adgang til den. Se eksempelvis her:
<
http://irc.essex.ac.uk/www.iota-six.co.uk/c/i1_file_input_and_output.as
p>
> Når man åbner det, læser man en kopi op i RAM. Dokumentet på harddisken er
> helt uændret. Det er først, når man vælger at gemme det, at det ændres.
> Indtil da er der da ikke noget åbent ved dokumentet på harddisken.
> Jeg kan godt se, at man kan være bekymret for, hvad der sker, hvis man
> arbejder med computeren og dokumenter bliver gemt i nye versioner, mens
> der bliver lavet backup. Mange programmer som f.eks. e-mail gemmer jo
> automatisk, når de henter e-mail, så man er ikke selv herre over det. Og
> det gælder jo ikke bare Time Machine, men alle backup-programmer. Det
> tager tid at scanne harddisken igennem og afgøre, hvilke dokumenter, der
> skal backes up. Derefter tager det tid at lave selve backup'en. I den tid,
> det hele tager, kan mange dokumenter blive ændret. Det er jo noget helt
> basalt, som der må være tænkt over. Jeg ved ikke, hvad løsningen er, men
> jeg har ikke iagttaget, at det har givet problemer.
Retrospect laver slet ikke backup af åbne filer. De skippes, og en
anmærkning kommer i log'en.
Og der findes naturligvis applikationer hvis database er spredt over
mere end en fil, og hvor en operation der skal være udelelig sker over
flere filer - laves der så backup mens en sådan proces er i gang, vil
applikationens database blive inkonsistent.
Jeg tror at du vil få en større forståelse for det, hvis du kigger på
transaktioner i Oracle:
<
http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96524/c17tr
ans.htm>
Inkonsistens i en database kan naturligvis også forekomme, selv om den
kun gør brug af én fil - som skal opdateres mere end et sted i hvad der
burde være en atomar proces.
Når det drejer sig om programmer som Apple selv har stået for, kan Apple
naturligvis selv sørge for den nødvendige kommunikation mellem Time
Machine og den pågældende applikation, således at udelelighed sikres.
Men det kan ikke sikres i tredie parts applikationer, og i hvert fald
ikke i gamle applikationer.
--
Per Erik Rønne
http://www.RQNNE.dk