Operating System Tutorial

What is Operating System Evolution of Operating System Types of Operating System Functions of Operating System What is Kernel and Types of Kernel Operating System Properties Operating System Services Components of Operating System Needs of the Operating System Linux Operating System Unix Operating System Ubuntu Operating System What is DOS Operating System Difference Between Multi-programming and Multitasking What is Thread and Types of Thread Process Management Process State What is Process Scheduler and Process Queue What is Context Switching What is CPU Scheduling Scheduling Algorithm FCFS (First-come-First-Serve) Scheduling SJF (Shortest Job First) Scheduling Round-Robin CPU Scheduling Priority Based Scheduling HRRN (Highest Response Ratio Next) Scheduling Process Synchronization Lock Variable Mechanism TSL Mechanism Turn Variable Mechanism Interested Variable Mechanism What is Producer-Consumer Problem What is Semaphore in Operating System Monitors in Operating System What is Deadlock Deadlock Avoidance Strategies for Handling Deadlock Deadlock Prevention Deadlock Detection and Recovery Resource Allocation Graph Banker’s Algorithm in Operating System Fixed Partitioning and Dynamic Partitioning Partitioning Algorithms What is Paging and Segmentation What is Demand Paging What is Virtual Memory Disk Scheduling Algorithms FCFS and SSTF Disk Scheduling Algorithm SCAN and C-SCAN Disk Scheduling Algorithm Look and C-Look Disk Scheduling Algorithm File in Operating System File Access Methods in Operating System File Allocation Method Directory Structure in Operating System Difference between C-LOOK and C-SCAN Difference between Rotational Latency and Disk Assess Time Trap vs Interrupt How to implement Monitors using Semaphores N-Step-SCAN Disk Scheduling Why is it critical for the Scheduler to distinguish between I/O-bound and CPU-bound programs Difference between C-SCAN and SSTF Difference between SCAN and FCFS Difference between Seek Time and Disk Access Time Difference between SSTF and LOOK

File in Operating System

What is File in Operating System?

 A file is defined as a collection of the interrelated information that is stored in the secondary memory or the non-volatile memory such as optical disk magnetic tapes and magnetic disks.

A file can also be defined as a sequence of records, bits, and bytes, and the meaning of the file is defined by the user or the creator of file. There is a logical location of each file where the files are located for storage and retrieval.

Objectives of the File Management System

The objectives of the file management system are:

  1. A File management system reduces the possibility of data lose or data destroyed.
  2. A File management system provides the I/O’s facility for the multiple users in the multiuser system environment.
  3. The File management system offers I/O support for the different types of storage devices.

Properties of a File system

The essential properties of the file system are:

  1. We can store the file on a disk or on some other storage, and if a user logs off, the file would not disappear.
  2. Files contain names and it is associated with access approval or permission, which allows controlled sharing.
  3. The File can be arranged, or there may be a complex structure of the files which helps to reflect the relationship between them.

File Structure

It is must that a file structure should be in a predefined format so that the operating system can understand this correctly. File has a fully defined structure that is based on its types.

In the operating system, there are three kinds of the file system.

  1. Text file
  2. Object file
  3. Source file

Text File: - Text File is defined as a sequence of organized characters in the lines.

Object File: - Object file means a series of bytes, and by using blocks, it is organized.

Source File: - Source File means a sequence of processes and functions.

Attributes of the File

The attributes of the file are:

  1. Name
  2. Identifier
  3. Type
  4. Location
  5. Size
  6. Protection
  7. Time and Date
  1. Name: - Each file contains a name through which we can recognize the file easily in the file system.
  2. Identifier: - Along with the file name and its extension, which helps us to identify the file type. For Example: - .txt extension is used for a text file and .mp4 is used for video file.
  3. Type: - The type attribute means there are various types of files, such as text file, executable file, an audio file, video file, etc.
  4. Location: - In the File System, we use different locations to store the files, and every file contains its location as its attribute.
  5. Size: - Size is an essential attribute of the file. The meaning of the size of the file is the number of bytes that takes a file in the memory.
  6. Protection: - There are different types of protection which the admin of the computer may require for the different files. So, each file has its own set of permissions for the various groups of users.
  7. Time and Date: - In the File System, each file contains a timestamp. A timestamp consists of the time and date of the file related to the last modification of the file.

Operations on the File

There are different types of operations executed on the File:

  1. Create
  2. Write
  3. Read
  4. Re-Position
  5. Delete
  6. Truncate
  1. Create: - The create operation is the essential operation performed on the file. We can create various types of files by using different kinds of methods.

For example: - If we want to create a text file, we use a text editor, and if we want to create an image file, we use an image editor.

  • Write: - Writing a file is a different task from creating a file. In the write operation, for each file, the operating system maintains a write pointer, which is used to point the position in the file from where the data must be written.
  • Read: - We can open a file in three modes: Read, Write, and Append. With the help of an operating system, a read pointer is maintained, which is used to point the position from where the data is read.
  • Re-Position: - Re-position is also known as seeking. The re-position means based on the user requirement moving the file pointer forward and backward.
  • Delete: - In the delete operation, we delete the data stored in the file, and in addition to that, we also remove all the file attributes. Also deleting the file space, will free up the space, and we can use that free space for the allocation of other files.
  • Truncate: - Truncate is another operation that we perform on a file. In truncate operation, we only delete the file but do not delete the attributes of the file. In this, we do not delete the entire file, and we can replace the information which resides in the file.