Platform Technologies: Chapter 2 - File Systems PDF
Document Details
Uploaded by EasedSet
Universidad de Dagupan
Marc France P. Cabiles
Tags
Summary
This document is a chapter about file systems, explaining the concept and structure of organizing and managing files on computers. It focuses on how operating systems use file systems and describes the hardware components like disk drives, hard disk drives (HDDs), and solid-state drives (SSDs).
Full Transcript
Marc france p. cabiles UNIVERSIDAD DE DAGUPAN PLATFORM TECHNOLOGIES Chapter 2: Different File Systems universidad de dagupan | School of information technology education...
Marc france p. cabiles UNIVERSIDAD DE DAGUPAN PLATFORM TECHNOLOGIES Chapter 2: Different File Systems universidad de dagupan | School of information technology education File system Operating systems help you save and access data on a computer or other digital device. This data can be documents such as letters and reports, spreadsheets, music files, or family photos. All of these data are organized, stored, and accessed using a file system. The file system manages where data is stored on the disk and keeps track of where each piece of information is located. When you need to access a file, the file system looks up its location in its records and retrieves it for you. The main goal of a file system is to organize and manage files efficiently. Think of it like a library: just as a library uses shelves, catalog cards, and specific locations to organize books and make them easy to find, a file system uses disk drives, directories, folders, and file names to keep your data structured and accessible. universidad de dagupan | School of information technology education structure of a file system DIRECTORY A FILE FILE DISK DRIVE C:\ FILE DIRECTORY B DIRECTORY BA SUBDIRECTORY OF DIRECTORY B FILE COMPUTER FILE DISK DRIVE D:\ DIRECTORY C FILE universidad de dagupan | School of information technology education disk drive A hardware component that stores digital data on a physical medium, such as a hard disk drive (HDD) or solid-state drive (SSD). universidad de dagupan | School of information technology education hard disk drive (hdd) Utilizes magnetism to store data. When accessing data, the disk rotates to the specific location where the information is recorded, and the magnetic head detects the magnetic fields to read the data. The HDD spins the platters around the spindle at high speeds. The actuator moves the read/write head across the platters to the correct track. The head then reads or writes data by detecting or modifying the magnetic fields on the platter surface. Photo by Josh Fewell on Central Valley Computer Parts https://centralvalleycomputerparts.com/articles/understanding-hard-disk-drives/ DISK DRIVE universidad de dagupan | School of information technology education platter The platter is a circular disk coated with a magnetic material where data is stored. A hard disk drive (HDD) may contain one or more platters, and each platter can be written on both sides. Each platter is accessed by a single actuator arm. Photo by Josh Fewell on Central Valley Computer Parts https://centralvalleycomputerparts.com/articles/understanding-hard-disk-drives/ DISK DRIVE | HDD universidad de dagupan | School of information technology education structure of a platter Sectors. Sectors are the smallest physical storage units on a hard disk. Each sector typically holds a fixed amount of data, usually 512 bytes or 4 KB. When a file is written to the disk, it is divided into sectors. Clusters. A cluster (or allocation unit) is a group of contiguous sectors that the file system treats as a single unit. Clusters are the smallest unit of disk space allocation for files. The file system allocates disk space in clusters. For example, if a file is 10 KB and the cluster size is 4 KB, the file would occupy 3 clusters (12 KB total), even though the actual file size is 10 KB. This means that the file system may allocate more space than needed due to the cluster size. DISK DRIVE | HDD | PLATTER universidad de dagupan | School of information technology education structure of a platter Tracks. Tracks are concentric circles on the surface of a single platter where data is written. Each platter surface has multiple tracks arranged in these circular patterns. Each track is divided into multiple sectors. Cylinder. A cylinder is a vertical set of all tracks across multiple platters that are aligned at the same position. Essentially, it represents all tracks that lie directly under each other across the stacked platters. DISK DRIVE | HDD | PLATTER universidad de dagupan | School of information technology education structure of a platter DISK DRIVE | HDD | PLATTER universidad de dagupan | School of information technology education spindle The spindle is one of the two electric motors in a hard disk drive. Its primary functions are to rotate the platters during read/write operations and to ensure they are properly aligned and spaced from each other. In drives with multiple platters, the spindle maintains the correct spacing between them, allowing multiple read/write heads to operate effectively between the platters. Photo by Josh Fewell on Central Valley Computer Parts https://centralvalleycomputerparts.com/articles/understanding-hard-disk-drives/ DISK DRIVE | HDD universidad de dagupan | School of information technology education read/write arm The Read/Write Arm (also known as the actuator arm, access arm, or head arm) is responsible for positioning the read/write head over specific sectors on the platter. It is attached to and controlled by the drive's actuator. The actuator precisely controls this arm's movement. Photo by Josh Fewell on Central Valley Computer Parts https://centralvalleycomputerparts.com/articles/understanding-hard-disk-drives/ DISK DRIVE | HDD universidad de dagupan | School of information technology education actuator The actuator is the second of the two electric motors in the drive, responsible for positioning the read/write arm based on instructions for reading or writing data on the platter. It ensures that data is written to the correct sectors in the proper order. Photo by Josh Fewell on Central Valley Computer Parts https://centralvalleycomputerparts.com/articles/understanding-hard-disk-drives/ DISK DRIVE | HDD universidad de dagupan | School of information technology education solid state drive (ssd) Uses NAND flash memory chips, where memory cells store data as electrical charges. The cache temporarily holds frequently accessed data to speed up access times. Data is initially written to the cache and later moved to NAND flash memory. During reads, the controller may check the cache first for faster access. Photo by Leo Zhi on Disk Manufacturer The SSD controller oversees cache management, https://centralvalleycomputerparts.com/articles/understanding- hard-disk-drives/ read and write operations, garbage collection, wear leveling, and error correction to ensure efficient performance and data integrity. DISK DRIVE universidad de dagupan | School of information technology education nand flash memory NAND flash is a type of non-volatile memory used in SSDs, where data is stored in memory cells organized into pages and blocks. It retains data even without power, with different types (SLC, MLC, TLC) offering various balances between performance, endurance, and cost. Photo from https://www.mouser.ph/new/skyhigh- memory/spansion-s34ml0x/ DISK DRIVE | SSD universidad de dagupan | School of information technology education nand flash hierarchy SSDs use NAND flash memory to store data. This memory is organized into several hierarchical levels: Cells. The smallest unit of storage, which can store a certain number of bits. Pages. Groups of cells that are read from or written to in a single operation. Pages typically range from 4KB to 16KB. Blocks. Groups of pages. Blocks are the smallest unit that can be erased. A block typically contains 128 to 256 pages. Planes. Groups of blocks within a NAND die. Multiple planes can operate simultaneously to increase performance. Dies. Physical components within the SSD that contain planes and form part of the NAND flash memory. DISK DRIVE | SSD | NAND FLASH MEMORY universidad de dagupan | School of information technology education nand flash die layout DISK DRIVE | SSD | NAND FLASH MEMORY universidad de dagupan | School of information technology education nand flash write operation Write Request. When a write operation is initiated, the SSD controller receives the request with the logical block address (LBA) where the data should be stored. It translates this logical address into a physical address on the NAND flash memory. Page Write. Data is written to a new page within a block. NAND flash memory supports write operations only to pages that have not yet been programmed i.e., empty; existing data cannot be modified directly in-place. Instead, the new data is written to an empty page. Block Erase. When new data needs to be written to a block that already contains valid data, the block must first be erased. The block erase process involves resetting all bits in the block to their default state. This operation is performed at the block level and is slower compared to read and write operations. If the block contains data from multiple files, the SSD controller will manage this by first transferring the data that should not be erased to other pages in a different block. After all valid data has been moved to a new block, the original block can be fully erased and then made available for new data writes. DISK DRIVE | SSD | NAND FLASH MEMORY universidad de dagupan | School of information technology education nand flash read operation Read Request. When a read operation is initiated, the SSD controller translates the logical block address (LBA) provided by the system into a physical address within the NAND flash memory. Page Read. Once the physical location of the target page is identified, the SSD controller reads the data from that page. If the requested page contains outdated or invalid data, the controller will access the valid copy of the data from the most recent page where it was updated. Outdated Data. When data on a NAND flash memory page is updated, a new page is allocated for the new data. The old page, which still contains the previous version of the data, is considered outdated because it no longer reflects the most current information. This occurs because NAND flash memory cannot overwrite existing data in place; instead, updates are written to new pages. Invalid Data. Data becomes invalid if it has been marked for deletion or if the page it resides on has been logically freed. This typically happens during garbage collection or when files are deleted. Although the physical data may still be present on the page, it is considered invalid for read operations because it no longer represents valid or current information. The page will eventually be erased as part of the garbage collection process. DISK DRIVE | SSD | NAND FLASH MEMORY universidad de dagupan | School of information technology education garbage collection Garbage collection in SSDs is a process used to free up space by removing data that is no longer needed. Since SSDs can't overwrite existing data directly, when data becomes outdated or invalid, it still occupies space in the memory. Garbage collection identifies this obsolete data, moves any still-useful data to another location, and then erases the block containing the outdated data, making it available for new data to be written. Within the same block, there may be a mix of valid and invalid data. Valid data is still in use and needs to be preserved, while invalid data can be discarded. The controller identifies the valid data that must be retained. The valid data from the block that is targeted for garbage collection is copied to new pages in other blocks. This process is known as “data migration” or “data consolidation.” The new location of the valid data is updated in the SSD’s logical-to- physical address mapping table. Once all valid data has been moved, the entire block that previously contained both valid and invalid data is erased. Erasing a block in NAND flash memory resets all the bits in that block to 1. The newly erased block is added back to the pool of available space, allowing the SSD to use it for future write operations. This process ensures that the SSD maintains a sufficient supply of empty blocks to perform efficient write operations. DISK DRIVE | SSD | NAND FLASH MEMORY universidad de dagupan | School of information technology education wear leveling NAND flash memory cells are designed to endure a finite number of program/erase (P/E) cycles before they begin to degrade and eventually fail. Wear leveling is a process that aims to extend the lifespan of the SSD by distributing write and erase cycles evenly across all available blocks. By preventing any single block from being subjected to excessive wear, wear leveling helps ensure the overall longevity and reliability of the SSD. The SSD controller maintains a wear leveling algorithm that continuously monitors the number of program and erase cycles each block has undergone. The SSD controller uses this data to dynamically manage write operations. When a write request is made, the controller identifies less-worn blocks (blocks with fewer P/E cycles) to write the new data. As part of the wear leveling process, blocks are frequently reassigned. When the SSD writes new data, it may write it to a different physical block than the one originally used. DISK DRIVE | SSD | NAND FLASH MEMORY universidad de dagupan | School of information technology education Over-Provisioning Over-provisioning involves reserving a portion of the SSD’s total capacity as unused space, not accessible by the user. This reserved space allows the SSD to better manage data, reduce the impact of write amplification, and replace worn-out blocks. Write amplification is a phenomenon where the actual amount of data written to NAND flash memory exceeds the amount of data the user intended to write. When data is updated, instead of overwriting the old data, the SSD writes the new data to a new location (a new page), and the old data is marked as invalid or outdated. The process of having to write new data while managing the invalidated data results in additional write operations, which is referred to as write amplification. Consider a 1TB SSD, which is equivalent to 1,000GB in decimal terms. The actual usable space for the user might be around 960GB. The remaining 40GB (which is 4% of the total capacity) is reserved for over-provisioning. How Over-Provisioning Works in Practice: In this case, the user sees 960GB of space available for storing files and applications. The 40GB reserved space is invisible to the user but is used by the SSD controller for various management tasks. DISK DRIVE | SSD | NAND FLASH MEMORY universidad de dagupan | School of information technology education role of Over-Provisioning in: Garbage Collection: During garbage collection, valid data from a block being erased is temporarily moved to the over-provisioned space. This allows the SSD to free up the block by erasing it without losing any important data. Once the block has been erased and is available for new data, the SSD controller can move the valid data from the over- provisioned space to a newly allocated page in the main storage area. After the valid data has been safely relocated, the over-provisioned space is cleared and made available again for future garbage collection or other management tasks. Write Amplification: When new data is written, and the SSD needs to relocate valid data from blocks with outdated data, it can temporarily store that valid data in the over-provisioned space. This allows the SSD to write new data without having to immediately erase and rewrite blocks. The valid data that was temporarily stored in the spare blocks (from the over-provisioned area) is eventually moved back to the main storage area. This happens when the SSD finds or creates an opportunity, such as during periods of low activity, to erase and reallocate the original block (where outdated data was located). Wear Leveling and Block Replacement: Over-provisioning reserves spare blocks that the SSD can use to replace worn-out ones. This ensures that even as NAND cells degrade over time, the SSD has sufficient fresh blocks to maintain consistent performance and durability. DISK DRIVE | SSD | NAND FLASH MEMORY | OVER-PROVISIONING universidad de dagupan | School of information technology education types of nand flash memory SLC (Single-Level Cell). Each SLC storage unit holds 1 bit of data per cell. This configuration provides the highest performance, reliability, and longevity due to the simplicity of storing a single bit. SLC is ideal for high-end applications requiring rapid access and durability, such as enterprise systems. However, its higher cost is a result of its lower storage density. Compare to a parking lot where each parking space (storage unit) accommodates a single car (bit of data). Each car can enter and exit freely with no scheduling conflicts, leading to high efficiency and longevity. However, the cost is higher due to the low density of cars per parking space. DISK DRIVE | SSD | NAND FLASH MEMORY universidad de dagupan | School of information technology education types of nand flash memory MLC (Multi-Level Cell). Each MLC storage unit holds 2 bits of data per cell. This balance between cost and performance makes MLC suitable for a wide range of consumer applications. While MLC offers improved storage density over SLC, it is slightly less durable and slower due to the increased complexity of managing multiple bits per cell. MLC is commonly used in mainstream SSDs where a compromise between performance and cost is acceptable. Similar to a parking lot where each space holds two cars. The management of car entry and exit requires more scheduling, leading to slightly reduced efficiency and speed. The increased use of each space results in a shorter lifespan. DISK DRIVE | SSD | NAND FLASH MEMORY universidad de dagupan | School of information technology education types of nand flash memory TLC (Triple-Level Cell). Each TLC storage unit stores 3 bits of data. This configuration allows for greater storage density but results in lower performance and a shorter lifespan compared to SLC and MLC. Some manufacturers, like Samsung, refer to their TLC-based SSDs as “3-Bit MLC” to highlight the storage density. Comparable to a parking lot where each space is tightly packed with three cars. This setup needs complex scheduling, resulting in reduced efficiency, slower speeds, and a higher likelihood of errors. Despite these drawbacks, TLC-based SSDs have proven reliable for more than five years in typical use and are widely used due to their cost- effectiveness. DISK DRIVE | SSD | NAND FLASH MEMORY universidad de dagupan | School of information technology education types of nand flash memory Higher-level cells provide greater storage density but can increase access times due to the increased complexity of data management. This complexity arises because: Multiple Voltage Levels. Higher-level cells store more bits per cell, requiring more distinct voltage levels to represent each bit combination. This adds complexity to both the read and write processes. Error Correction. More bits per cell requires more sophisticated error correction algorithms to maintain data integrity, which can impact performance. Write Amplification. Higher-level cells often experience higher write amplification, where more data is written to the NAND flash than is actually modified, affecting overall write performance and endurance. DISK DRIVE | SSD | NAND FLASH MEMORY universidad de dagupan | School of information technology education parking space comparison SLC MLC TLC DISK DRIVE | SSD | NAND FLASH MEMORY universidad de dagupan | School of information technology education partitions A partition is a logical division of a storage device, like a hard disk drive (HDD) or solid-state drive (SSD), that the operating system (OS) treats as a separate unit. Each partition acts like an independent drive, allowing you to organize data, install multiple operating systems, and improve data management. When creating a partition, it must be formatted with a file system (e.g., NTFS for Windows, HFS+ for macOS, or Ext4 for Linux) that manages how files are stored and accessed. The partition table keeps track of the partitions, including their size and location. Partitions are especially useful for separating the OS and applications from user data or backups. However, managing multiple partitions can be complex, and they don't inherently protect against security threats. DISK DRIVE universidad de dagupan | School of information technology education formatting Formatting is the process of preparing a storage device, like a hard disk drive (HDD) or solid-state drive (SSD), for data storage by setting up a file system. It typically involves two main stages: low-level formatting and high-level formatting. Low-Level Formatting (Physical Formatting). This process divides a hard disk drive (HDD) into basic storage units, such as tracks and sectors, allowing the read/write head to locate and store data efficiently. Low-level formatting is usually performed by the manufacturer and is rarely done by end-users since modern HDDs come pre-formatted. This process only applies to HDDs, not SSDs, as SSDs use a different method of managing data storage. High-Level Formatting (Logical Formatting). High-level formatting sets up the file system on a storage device, making it ready for use by an operating system. This process assigns a file system (like NTFS, FAT32, or Ext4) to the partition, enabling the OS to read, write, and manage files on the device. It also marks any bad sectors as unusable to prevent data corruption. High-level formatting is commonly performed by users when they install a new OS, repurpose a drive, or erase data before reusing the device. DISK DRIVE universidad de dagupan | School of information technology education formatting (cont.) Quick Format. A quick format creates the file system structure and marks the drive as empty, essentially resetting the allocation table without altering the data stored on the drive. The existing data remains on the disk, but the OS treats the space as available for new files. This process skips checking for bad sectors, making it much faster. Quick formatting is generally less taxing on SSDs because it doesn't involve extensive write operations. SSDs have a limited number of write cycles per cell, so minimizing unnecessary writes helps prolong the drive’s lifespan. However, quick format does not securely erase data, which could be a concern for sensitive information. Full Format. A full format not only sets up the file system but also checks the entire disk for bad sectors and writes zeros to every sector, effectively erasing all existing data. This ensures that any faulty sectors are identified and marked, preventing data corruption. Full formatting can cause significant wear on SSDs. Because SSDs have limited write cycles, writing zeros to the entire drive uses up some of these cycles, reducing the drive's overall lifespan. For SSDs, a Secure Erase or using the TRIM command is a more efficient and less harmful way to wipe data, as these methods are designed to work with the SSD’s architecture without excessive wear. DISK DRIVE universidad de dagupan | School of information technology education Directories A directory, also known as a folder, is a data structure on a disk drive that is used to organize and manage files and other directories. Directories serve as containers for files and other directories, providing a hierarchical structure to the file system. Each directory can contain files, subdirectories, or both. The use of directories helps prevent file name conflicts and enhances the overall organization of the file system. Subdirectories are directories that exist within another directory. STRUCTURE OF A FILE SYSTEM universidad de dagupan | School of information technology education file A file is a collection of data organized in a structured manner, assigned a name, and stored on a storage device. Files are accessed using their filename and the directory path where they are located. For example: D:\Sample Folder\file.txt. In addition to the filename, files have associated information known as metadata. Metadata includes details such as the file's size, creation and modification dates, permissions, and other attributes that provide additional context and manage the file within the file system. Simply said, metadata is data that describes other data. STRUCTURE OF A FILE SYSTEM universidad de dagupan | School of information technology education types of metadata Structural Metadata. Metadata that helps describe the organization and layout of data. It explains how different parts of data relate to each other and how to navigate through them. In a digital book, structural metadata includes the table of contents, chapters, and page numbers. In a database, it may define how tables relate to each other through primary and foreign keys. Descriptive Metadata. Metadata that provides information to help users find and identify data. It covers details about the content and context of the data. In a photo library, descriptive metadata includes the photo's title, date taken, and keywords. In a library catalog, it might include author names, book titles, and publication dates. STRUCTURE OF A FILE SYSTEM | FILE universidad de dagupan | School of information technology education types of metadata Preservation Metadata. Metadata focused on managing and preserving data over time. It includes information on how data is kept safe and maintained. For digital documents, preservation metadata might record the file format, software used for creation, and any changes made to the document. Administrative Metadata. Metadata used for managing data resources, including details about access, rights, and technical aspects. In a content management system, administrative metadata includes user permissions (who can view or edit the content) and copyright information. STRUCTURE OF A FILE SYSTEM | FILE universidad de dagupan | School of information technology education types of metadata Provenance Metadata. Metadata that tracks the history and origin of data. It shows where data came from, how it was transformed, and its history. For a dataset, provenance metadata might record the original source, any modifications made to the data, and its usage over time. In a research paper, it would detail the data sources and revisions. Definitional Metadata. Metadata that defines the meaning and context of data. It provides a common vocabulary or set of rules for understanding the data. In a database, definitional metadata includes the schema that defines table data types. For a dataset, it might include definitions of terms used in the data, like what does a "user" or "transaction" mean. STRUCTURE OF A FILE SYSTEM | FILE universidad de dagupan | School of information technology education paths A path is a way of describing the location of a file or directory within a computer’s file system. Think of it like a map or an address that tells your computer where to find a specific file or folder. Paths are essential for navigating and organizing files in an operating system, whether you're using a command-line interface (CLI) or a graphical user interface (GUI). Imagine the file system as a large filing cabinet. Each drawer is a directory (or folder), and inside each drawer, you can have files or even more folders (which can contain their own files and folders). A path is like the instructions you give someone to find a specific file within that filing cabinet. For example, you might say: "Go to the first filing cabinet (a drive), open the bottom drawer (which is a directory), then open the second folder inside that drawer (a subdirectory), and finally, locate the fourth file named Excuse Letter.txt." STRUCTURE OF A FILE SYSTEM universidad de dagupan | School of information technology education absolute path An absolute path provides the complete address of a file or directory, starting from the root of the file system. The root is the topmost directory in a hierarchy, and it’s the starting point for all files and directories. In an absolute path, you specify every step from the root directory down to the file or directory you want. In Unix-like systems: The root directory is represented by a single forward slash (/). Example: /home/user/documents/report.txt This path means: Start at the root (/), go to the home directory, then into the user directory, then into the documents directory, and finally find the report.txt file. In Windows systems: The root is usually a drive letter followed by a colon (e.g., C: for the C: drive). Example: C:\Users\User\Documents\Report.txt This path means: Start at the C: drive, go to the Users folder, then into the User folder, then into the Documents folder, and finally find the Report.txt file. Absolute paths always start from the root and provide the full route to a file or directory, no matter where you currently are in the file system. STRUCTURE OF A FILE SYSTEM | PATH | TYPES OF PATHS universidad de dagupan | School of information technology education relative path A relative path provides the location of a file or directory relative to your current position (or working directory) in the file system. Instead of starting from the root, you start from where you are and give directions from there. In Unix-like systems: If you’re currently in the /home/user/ directory and want to access the report.txt file inside the documents folder, the relative path would be: documents/report.txt In Windows systems: If you’re currently in the C:\Users\User\ directory and want to access the Report.txt file inside the Documents folder, the relative path would be: Documents\Report.txt Relative paths are shorter and more flexible because they depend on your current location in the file system. However, you need to know where you are to use them correctly. STRUCTURE OF A FILE SYSTEM | PATH | TYPES OF PATHS universidad de dagupan | School of information technology education real life examples Absolute Path Imagine you’re giving someone directions to Universidad de Dagupan. If you give them the complete address, it’s like giving an absolute path. "Universidad de Dagupan is located at 222 Arellano St. Pantal, Dagupan City, Pangasinan, Philippines 2400" An absolute path is like providing the full address of a place, so anyone can find it no matter where they start. Relative Path Now, let’s say the person is already near Universidad de Dagupan, maybe standing at Arellano St. If you give them directions relative to their current location, it’s like using a relative path. “From where you are at SM Center Dagupan, head to M.H. Del Pilar St., then go north until you reach Arellano St. The university is on the left side of the road at 222 Arellano St." A relative path is like giving directions based on where you currently are. STRUCTURE OF A FILE SYSTEM | PATH | TYPES OF PATHS universidad de dagupan | School of information technology education directory traversal Double Dot (..) Definition: The double dot (..) represents the parent directory. It is used to navigate one level up in the directory hierarchy from the current directory. Example Usage: If you are in the directory /home/user/documents/reports/ and use the path.., it will take you to /home/user/documents/. Using../../ would move up two levels, taking you to /home/user/. Practical Use: The double dot is commonly used to move up in the directory structure or when specifying relative paths that involve traversing up the hierarchy. Dot (.) Definition: The dot (.) represents the current directory. It is used to refer to the directory you are currently in. Example Usage: If you are in /home/user/documents/ and use the path./file.txt, it refers to file.txt located in the /home/user/documents/ directory. Practical Use: The dot is often used in commands to explicitly reference the current directory, particularly in contexts like executing scripts or accessing files. STRUCTURE OF A FILE SYSTEM | PATH | TYPES OF PATHS universidad de dagupan | School of information technology education directory traversal Home (~) Definition: The tilde (~) represents the home directory of the current user. It is a shortcut to access the user’s home directory, typically /home/username/. Example Usage: If your username is user, then ~/documents/todo.txt is equivalent to /home/user/documents/todo.txt. Practical Use: The tilde is a convenient way to refer to your home directory from any location in the file system, simplifying path references to files and directories within the home directory. Root (/) Definition: The root (/) is the topmost directory in the file system hierarchy. It is the starting point from which all other directories branch out. Example Usage: The absolute path /home/user/documents/ starts at the root directory, with home, user, and documents being subdirectories of the root. Practical Use: The root is used in absolute paths to provide a complete address of a file or directory, ensuring you can navigate to or reference any location in the file system starting from the top. STRUCTURE OF A FILE SYSTEM | PATH | TYPES OF PATHS universidad de dagupan | School of information technology education example Imagine you have the following directory structure /: The topmost (root) directory in the file system. on your Linux system: /home/user/: The home directory of the user. /home/user/documents/: Contains the todo.txt file and a subdirectory called reports. /home/user/documents/reports/: Contains the financial_report.txt file. /home/user/pictures/: Contains a subdirectory called vacation. /home/user/pictures/vacation/: Contains the beach.jpg file. STRUCTURE OF A FILE SYSTEM | PATH universidad de dagupan | School of information technology education example Imagine you have the following directory structure Moving Up and Down the Directory Tree: on your Linux system: If you are in /home/user/pictures/vacation/ and need to go to /home/user/documents/reports/, you could use: cd../../documents/reports/ Referencing a File from the Current Directory: If you are in /home/user/documents/ and want to open todo.txt: nano./todo.txt Navigating to a File Using Tilde: If you are anywhere in the system and want to access beach.jpg, you can use: ~/pictures/vacation/beach.jpg Accessing a File with an Absolute Path: From any location, to open financial_report.txt, you use: /home/user/documents/reports/financial_report.txt STRUCTURE OF A FILE SYSTEM | PATH universidad de dagupan | School of information technology education types of file systems FAT (File Allocation Table) is one of the oldest and simplest file systems, initially developed for MS- DOS. The major versions include FAT16 and FAT32. FAT16: Introduced in 1987 with DOS 3.31. Introduced: 1987 Max Volume Size: 2 GB Max File Size: 2 GB Simple file system with limited features. Uses 16-bit addresses for file allocation tables. Older systems and small removable storage devices. FAT32: Introduced with Windows 95 OSR2 (MS-DOS 7.1). Introduced: 1996 Max Volume Size: 2 TB Max File Size: 4 GB Improved over FAT16 with larger volume and file size support. Uses 32-bit addresses. Common in USB drives and memory cards due to compatibility with multiple operating systems. universidad de dagupan | School of information technology education types of file systems exFAT (Extended File Allocation Table) is an evolution of FAT32 introduced by Microsoft in 2006 with Windows CE 6.0. It addresses some of FAT32’s limitations, particularly for flash drives and external storage. Introduced: 2006 Max Volume Size: 128 PB (Petabytes) Max File Size: 16 EB (Exabytes) Designed for flash drives and external storage. Supports large files and volumes with less overhead compared to NTFS. Common in large-capacity removable drives like SD cards and USB drives. NTFS (New Technology File System) is the file system used by Windows NT-based operating systems, starting with Windows NT 3.1 in 1993 and continuing through Windows 11. Introduced: 1993 Max Volume Size: 256 TB Max File Size: 256 TB Supports large files and volumes, file permissions, encryption, compression, and journaling. Default file system for Windows operating systems. universidad de dagupan | School of information technology education types of file systems HFS (Hierarchical File System) was introduced by Apple Inc. in 1985, was the file system used by Macintosh computers before being replaced by HFS+. Introduced: 1985 Max Volume Size: 2GB Max File Size: 2GB Utilizes a straightforward allocation method with a fixed block size. Used in macOS before HFS+ was introduced. HFS+ (Hierarchical File System Plus) was introduced by Apple Inc. as an enhanced version of HFS designed to overcome its limitations and provide better performance and reliability. Introduced: 1998 Max Volume Size: 8 EB (Exabytes) Max File Size: 8 EB (Exabytes) Supports journaling to maintain file system integrity by recording changes, which helps protect against data corruption. Used in macOS before AFPS was introduced. universidad de dagupan | School of information technology education types of file systems APFS (Apple File System) is Apple’s file system introduced in macOS 10.13 (High Sierra) in 2017, optimized for SSDs and other flash storage. Introduced: 2017 Max Volume Size: 8 EB Max File Size: 8 EB Optimized for SSDs, supports encryption, space sharing, and snapshots. Default file system for macOS 10.13 and later. Ext4 (Fourth Extended File System) is a widely used file system in Linux, introduced in 2003 as the successor to Ext3. Introduced: 2008 Max Volume Size: 1 EB Max File Size: 16 TB Improved performance, supports journaling, and large file sizes. Common in Linux distributions.