Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Aký je proces otvárania súborov kopírovaním do pamäte?

Proces otvorenia súboru kopírovaním jeho obsahu do pamäte nie je štandardnou metódou otvárania súborov vo väčšine programovacích jazykov. Namiesto toho sú súbory zvyčajne otvorené spôsobom, ktorý umožňuje * prístup * k ich obsahu bez toho, aby nevyhnutne načítal celý súbor do pamäte naraz. To je rozhodujúce pre spracovanie veľkých súborov, ktoré by sa nezmestili do dostupných RAM.

Avšak * načítanie * celý obsah súboru do pamäte * je * spoločnou operáciou a proces vyzerá niečo také:

1. Otváranie súborov: Program používa systémové volanie (alebo funkciu knižnice), napríklad `open ()` (v c), `open ()` (v Python) alebo podobné funkcie v iných jazykoch. Tým sa vytvorí pripojenie k súboru na disku. Je zásadné, tento krok nenačíta súbor do pamäte; Iba sa pripravuje na čítanie. Operačný systém sa zaoberá podrobnosťami, ako napríklad nájsť súbor a overovanie povolení prístupu.

2. Čítanie súboru: Program potom používa funkcie ako `ret ()` (v C, Python a mnoho ďalších) na čítanie obsahu súboru. Funkcia `read ()` zvyčajne vyžaduje parameter určujúci počet bajtov na čítanie.

* pre menšie súbory: Celý súbor sa môže načítať do pamäte v jednej operácii `read ()` (alebo niekoľkých). To má za následok úplnú kópiu obsahu súboru v pamäti. Dáta sa zvyčajne ukladajú do vyrovnávacej pamäte (na tento účel je pridelená oblasť pamäte).

* pre väčšie súbory: Program môže čítať súbor v kúskoch (menšie časti súčasne). Tento prístup sa vyhýba vyčerpaniu pamäte. Program spracováva každý kúsok a potom ho môže zlikvidovať alebo uložiť do sofistikovanejšej dátovej štruktúry (napríklad databázový záznam alebo proces streamovania).

3. pridelenie pamäte: Ak je načítaný celý súbor, program musí prideliť dostatočnú pamäť na zadržanie obsahu súboru. Ak pridelenie zlyhá (nie je k dispozícii dostatok pamäte), program pravdepodobne zlyhá alebo vyhodí výnimku.

4. ZATVORENIE súborov: Po dokončení programu pomocou súboru je nevyhnutné ho uzavrieť pomocou funkcie ako `close ()`. Tým sa uvoľní pripojenie k súboru a zaisťuje, že akékoľvek zmeny zapísané do súboru sú správne prepláchnuté na disk.

Príklad (ilustratívny python):

`` `Python

skúsiť:

s Open ("myFile.txt", "r") ako f:# otvára súbor; automaticky ho zavrie na konci bloku „s“

File_contents =f.Read () # číta celý súbor do premennej „File_Contents“.

# Process File_contents (napr. Vyhľadávanie, manipulácia atď.)

Okrem filenotfounderror:

Tlač („Súbor sa nenašiel!“)

Okrem výnimky ako e:

tlač (F "Vyskytla sa chyba:{e}")

`` `

Tento pythonový kód demonštruje načítanie celého súboru. Pre veľmi veľké súbory by ste ho chceli spracovať riadkom po riadku alebo v kúskoch, aby ste sa vyhli problémom s pamäťou, pomocou techník, ako sú iterátory alebo čítanie súboru v slučke s `f.readline ()` alebo `f.readlines ()`. Pamätajte, že dokonca `f.readlines ()` načíta celý súbor * do pamäte, aj keď ako zoznam riadkov, ktoré môžu stále spôsobiť problémy s príliš veľkými súbormi.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené