os211

Top 10 list Week 03

  1. Partitioning
    Partitions are smaller units of a physical disk. A raw partition is used for programs that prefers to choose their own disk storage system. The boot block is part of raw partition. The root partition has the OS kernel and important components of the OS to complete boot process.

  2. Mounting
    During boot time/start, the root partition is mounted. Mount means to make a device physically accessible or to make the files accessible to a user. Control is then passed from the boot programme to the OS kernel in the root partiiton. At this time the file systems are checked for inconsistensies.

  3. Virtual File Systems
    VFS provides common interface to many types of filesystem. It also has vnode (unique identifier) for all types of filesystems. An inode is a unique identifier for only one filesystem. In Linux, the virtual file system has four main component. First is an inode object for a single file, second is a file object for an open file, third is a superblock object for a filesystem and fourth a dentry object for a directory entry.

  4. Directory
    A directory contains sub-directories or file/s and maintain information regarding those files. The files are recorded on a non-volatile storage. Componenets of a directory include the name, type, the location and position, its size, protection measures and usage. The files can be accessed through sequential, direct random, or index sequential access. Files are usually displayed in a hierarchial tree structure.

  5. Sequential File
    Storing files sequentially is the easiest way to organize files. This can be achieved with 2 ways. The first is the pile file method, records are stored according to the order they were put in the tables. The records are saved as rows in the table. In the sorted file method, keys are used to sort records. When inserting new files, new records are inserted at the end. Other than being simple and fast, two drawbacks are that we have to go over the files sequentially when looking for one and sorting the files takes more space and time.

  6. File buffering
    Data buffering is is storing data temporarily in a physical memory storage part while it is being transferred to another location. Buffers are often used with I/O to hardware, receiving data from a network. A data that is being moved is stored in a buffer when retrieved from the input device. Buffers are used when there is a significant difference between the rate of recieving data and the rate to process it.

  7. Memory-mapped files
    Memory-mapped files has the file contents of a file in a virtual memory. Memory mapping files means mapping between the files and a memory space so that applications can modify files by reading and writing directly to the memory. The two types of memory-mapped files are persisted and non-persisted.In persisted, files are connected with a source file on a disk, so when the processing is finished, the data is saved to the source file on the disk. In non-persistent, files are not connected with a file on a disk, so when processing is done the data is lost.

  8. Journaling file system
    Journaling file system is a type of file system that records the typical behaviours of changes in the files before it is committed to the system. The data structure is called a journal and is usually a circular log. A circular log is a data structure that uses a fixed-size buffer. An advantage of this is so that in case there is a crash, the file systems can be recovered online quickly with a low chance of being corrupted.

  9. Log-structured file system
    Log-structured file systems writes changes to a disk sequentially such as in a log structure, to speed up file writing and crash recovery. Log-structured file systems has four main components. Inodes have the physical block pointers to files. Inode Maps are tables that has the location of each inode on the disk. A segment suummary maintains information on each block in the segment of the inode maps. The segment usage table provides information about the amount of data on each block.

  10. Comparing file organization methods
    In sequential file organization with the pile file and sorted file method, the advantages are that it is simple and fast, so it is efficient to be used when handling a huge amount of data and have a cheaper storage maintanance. However, using sorted file takes more time for sorting the records and everytime we want to access a partiular file we have to go through all the records sequentially. In heap file organization, blocks are used to store data and no sorting is required. New datas can be inserted to any block with no particular order. The advantages are that if the database is small, using heap file to fetch records is faster and when the database is huge, inserting them is not complicated. The disadvantages are that there could be unused memory blocks and difficult to manipulate when the database is large.