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

Data is an asset and it is your responsibility!

Blog banner

Steganography and Steganalysis

Blog banner

evolution of operating system - Disha Parekh

Blog banner

objectives and function of operating system

Blog banner

COMMUNICATION

Blog banner

Memory hierarchy

Blog banner

KAHAWA TEA

Blog banner

Software Piracy & Online Data Protection in Digital World

Blog banner

Data Lakes: A Key to Modern Data Management

Blog banner

Goa Trip With Friends

Blog banner

The Role of Frontline Managers in Driving Workplace Performance and Customer Satisfaction

Blog banner

File Management

Blog banner

Predicting Student Performance with Data Science

Blog banner

Deadlock in operating system

Blog banner

Virtual Memory

Blog banner

Time Series Analysis

Blog banner

MEMORY MANAGEMENT REQUIREMENT

Blog banner

GUIDE TO GIS

Blog banner

Vulnerability Assessment (Vulnerability Analysis)

Blog banner

Cyber Forensics in Healthcare: Protecting Patient Data and Preventing Breaches

Blog banner

Memory Management

Blog banner

File management in os

Blog banner

Virtual memory

Blog banner

Embracing the power of Modern Machine UNIX

Blog banner

Network Forensics Tools and Techniques

Blog banner

Mariana Trench: The deepest depths

Blog banner

Concurrency management in operating systems

Blog banner

Networking 101: How to Build Meaningful Connections in College

Blog banner

TOGETHER WE CAN CONQUER #team

Blog banner

virtual memory

Blog banner

Virtual Machine

Blog banner

(Input/Output) in os

Blog banner

Memory Management

Blog banner

Mumbai local ......

Blog banner

Internet of Things

Blog banner

Fashion marketing in india

Blog banner

Introduction to Virtual Memory - 080

Blog banner

GIS Applications: How Different Industries are Leveraging Geospatial Data

Blog banner

INSTAGRAM

Blog banner

Linux

Blog banner

Pandas Matrix Applications

Blog banner

Travelling blog

Blog banner