Keresés

Új hozzászólás Aktív témák

  • Rici

    tag

    válasz Petya25 #7 üzenetére

    A log fájlok kezelési módja a program megvalósításától függ, azokat általában lehet menet közben is kiolvasni, de előfordulhat az is, hogy folyamatosan írásra vannak megnyitva.
    És nem igaz, hogy ilyen értelemben minden fájlt csak pillanatokra fog a rendszer. Igenis vannak fájlok, amik tipikusan folyamatosan meg vannak nyitva. Ez attól függ, hogy milyen módon kerülnek bele a módosítások a fájlba. Pl. a szövegszerkesztős példánál tipikusan csak abban a pillanatban van szükség magára a fájlra, amikor megnyitod, vagy amikor mented, mert a két művelet között az egész a memóriában van. De pl. a legtöbb adatbázisszervernél a fájlok folyamatosan írásra vannak megnyitva, mert egyrészt az adatbázisszervernek bármikor készen kell állnia arra, hogy akár apró, akár nagyméretű módosítást egyből beleírjon az adatbázisállományba, másrészt egy tisztességes adatbázis többnyire be sem fér egyszerre a memóriába.

  • Rici

    tag

    válasz Petya25 #5 üzenetére

    Az más dolog, hogy megnyitod szerkesztésre. Akkor csak arra az időtartamra van _olvasásra_ megnyitva a fájl, amíg a beolvassa a szerkesztőprogi a memóriába. (Ez 1 mega alatti fájloknál gyakorlatilag ezred vagy századmásodperc nagyságrendű időtartam.) Amikor már megjelenik a szerkesztőprogiban, akkor nincs megnyitva semmilyen módon. Aztán ha arra mész, hogy mentés, akkor ugyanilyen nagyságrendű időtartamra lesz megnyitva _írásra_ a fájl.

    Amik tipikusan a program egész futási időtartamára vannak írásra megnyitott állapotban, azok az adatbázisok fájlai, esetleg egyéb szerver jellegű programok szokták olvasásra megnyitni bizonyos fájlaikat, hogy ne lehessen menet közben őket kitörölni.
    Ilyen ''módosítani nem lehet a fájlt'' dolgot a Windows is szokott csinálni az éppen futtatot .exe fájlokkal és a hozzá tartozó .dll-ekkel, szintén azért, hogy ne lehessen futás közben kirántani a program alól a talajt.

  • Rici

    tag

    válasz Petya25 #2 üzenetére

    Elég bonyolult dolog, hogy mit jelent az, hogy ''használatban van'', nem lehet ilyen egyszerűen elintézni a dolgot.
    Ehhez elég sok oprendszer ismeret kell, de alapjaiban és leegyszerűsítve a következőképpen néz ki: ha egy program olvasásra nyit meg egy fájlt, akkor azt más programok is megnyithatják olvasásra, de írásra már nem. Ha egy program írásra nyit meg egy fájlt, akkor ahhoz más program sem olvasásra, sem írásra nem férhet hozzá.

    Amúgy a problémára a megoldás a ProcessExplorer nevű progi, ez kiírja, hogy melyik program milyen erőforrásokat használ. Bővebben: link

Új hozzászólás Aktív témák