Changes between Version 4 and Version 5 of file_system


Ignore:
Timestamp:
Jan 12, 2020, 12:16:35 AM (4 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • file_system

    v4 v5  
    4747=== B.2 The Mapper ===
    4848
    49 A ''mapper_t'' structure is attached to each inode, and contains a partial copy in kernel memory of the file content on device implementing a single file cache. As a file is stored on device as an ordered set of 4 Kbytes pages, this cache is implemented as a three levels radix-tree, indexed by the page index in file. Each entry in this radix-tree is a pointer on a physical page.
    50  * for a '''terminal file''', ALMOS MKH implements an ''on-demand'' policy, and copies a page from device to mapper only when this page is accessed for read or write.
    51  * for a '''directory file''', ALMOS-MKH implements a ''prefetch'' policy'', and copies all the pages from device to mapper at the first access to the directory.
     49A ''mapper_t'' structure is attached to each inode. This structure implements an expandable file cache, and contains a partial copy in kernel memory of the file content on device. As a file is stored on device as an ordered set of 4 Kbytes pages, this cache is implemented as a 3 levels radix-tree, indexed by the page index in file. Each entry in this radix-tree is a pointer on a physical page.
     50 * for a '''terminal file''', ALMOS MKH implements an ''on-demand'' policy: it introduces a new physical page in mapper and initializes if from device only when this page is accessed for read or write.
     51 * for a '''directory file''', ALMOS-MKH implements a ''prefetch'' policy'': all the pages are copied from device to mapper at the first access to the directory.
    5252
    5353The FAT itself is copied in the kernel memory, as a dedicated mapper - not attached to a specific inode - contains the pages corresponding to the FAT. ALMOS-MKH implements the "on-demand" policy for this FAT mapper.
     
    5555When a file (terminal or directory) is modified, or when the FAT itself is modified, the modification is always done in the corresponding mapper, but the device update policy depends on the mapper type:
    5656 * For a '''directory''' mapper, or for the '''FAT''' mapper, the device is immediately updated (write-through policy).
    57  * for a '''terminal''' mapper, the device in not immediately updated. It is only updated when the mapper is destroyed, or after an explicit sync() user syscall.
     57 * for a '''terminal''' mapper, the device in not immediately updated. It is only updated when the mapper is destroyed, or after an explicit sync() user sys call (write-back policy).
    5858
    5959=== B.3 The File Descriptor ===
    6060
    6161
    62