wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

I/O Buffering

profile
Jash Katelia
Jul 05, 2024
0 Likes
0 Discussions
558 Reads

I/O buffering and its Various Techniques

A buffer is a memory area that stores data being transferred between two devices or between a device and an application.

Uses of I/O Buffering :

Buffering is done to deal effectively with a speed mismatch between the producer and consumer of the data stream.

A buffer is produced in main memory to heap up the bytes received from modem.

After receiving the data in the buffer, the data get transferred to disk from buffer in a single operation.

This process of data transfer is not instantaneous, therefore the modem needs another buffer in order to store additional incoming data.

When the first buffer got filled, then it is requested to transfer the data to disk.

The modem then starts filling the additional incoming data in the second buffer while the data in the first buffer getting transferred to disk.

When both the buffers completed their tasks, then the modem switches back to the first buffer while the data from the second buffer get transferred to the disk.

The use of two buffers disintegrates the producer and the consumer of the data, thus minimizes the time requirements

Types of various I/O buffering techniques :

1. Single buffer :

A buffer is provided by the operating system to the system portion of the main memory.

Block oriented device –System buffer takes the input.

After taking the input, the block gets transferred to the user space by the process and then the process requests for another block.

Two blocks works simultaneously, when one block of data is processed by the user process, the next block is being read in.

OS can swap the processes.

OS can record the data of system buffer to user processes.

Stream oriented device –

 

Line- at a time operation is used for scroll made terminals. User inputs one line at a time, with a carriage return signaling at the end of a line.

Byte-at a time operation is used on forms mode, terminals when each keystroke is significant

Double buffer :

Block oriented –There are two buffers in the system.

One buffer is used by the driver or controller to store data while waiting for it to be taken by higher level of the hierarchy.

Other buffer is used to store data from the lower level module.

Double buffering is also known as buffer swapping.

A major disadvantage of double buffering is that the complexity of the process get increased.

If the process performs rapid bursts of I/O, then using double buffering may be deficient.

Stream oriented –Line- at a time I/O, the user process need not be suspended for input or output, unless process runs ahead of the double buffer.

Byte- at a time operations, double buffer offers no advantage over a single buffer of twice the length.


Comments ()


Sign in

Read Next

Solving Problems with AI: The Power of Search Algorithms

Blog banner

About myself

Blog banner

Metasploit

Blog banner

Drawing tips for a beginner

Blog banner

10 Alien Encounters and Abduction Stories

Blog banner

EMAIL INVESTIGATION

Blog banner

Why is it hard to design an Operating Systems ?

Blog banner

Semaphores

Blog banner

Hacking of web server and application

Blog banner

GIS Bharat Maps

Blog banner

COMPUTER FORENSICS AND GRAPHICS

Blog banner

Threads

Blog banner

Child labour

Blog banner

Virtual Memory

Blog banner

Evolution of Operating system

Blog banner

Rock, Paper, Scissors Game in Common Lisp

Blog banner

Geographic Information Systems(By aditi Unnikrishnan)

Blog banner

Kernel in Operating System

Blog banner

Social Engineering

Blog banner

Sweet and Sour Mango Pickle (Gol Keri)

Blog banner

Data Visualization – Importance and tools (Tableau, Power BI)

Blog banner

Revolutionary AI Tool: ChatGPT

Blog banner

Wrike

Blog banner

Khau Galli – Vile Parle

Blog banner

Embracing the power of Modern Machine UNIX

Blog banner

Vikrant’s first blog

Blog banner

Memory Management

Blog banner

Ethical Hacking

Blog banner

Deadlock and Starvation

Blog banner

Linux VServer Architecture

Blog banner

virtual machine

Blog banner

Technical Challenges and Directions for Digital Forensics

Blog banner

What is Brute Force Attack? How to defend against it?

Blog banner

E-Governance

Blog banner

OS Evolution Achievements

Blog banner

Yoga in INDIA and ABROAD

Blog banner

Unlocking Success: Mastering Google Ads Strategies

Blog banner

How to Run your First android App

Blog banner

Modern operating system

Blog banner

Reconnaissance

Blog banner

INTERRUPTS

Blog banner

RSA (Rivest-Shamir-Adelman) Algorithm

Blog banner