Analysis of I/O Device Management in Operating Systems Report
VerifiedAdded on 2022/09/18
|7
|1750
|27
Report
AI Summary
This report provides a detailed analysis of Input/Output (I/O) device management within operating systems. It begins by introducing the significance of I/O devices and the role of device drivers in managing hardware interactions. The report then delves into the techniques of polling and interrupts, comparing their efficiency and implementation in handling I/O requests. It further explores how operating systems address I/O errors, including error handling mechanisms and protection strategies to prevent system disruptions. The discussion extends to I/O scheduling management, examining methods for optimizing device access and improving system performance. Furthermore, the report covers buffering, caching, and spooling, explaining their functions in enhancing data transfer and resource utilization. The report incorporates diagrams and references to support the analysis, offering a comprehensive understanding of I/O device management in operating systems.

Running head: OPERATING SYSTEMS
OPERATING SYSTEMS
Name of the Student
Name of the university
Author note
OPERATING SYSTEMS
Name of the Student
Name of the university
Author note
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

1OPERATING SYTEMS
I/O devices
I/O and processing can be considered as the major jobs from the perspective of
computer system.
An operating system plays a major role in the context of I/O in a computer that is managing
as well as controlling the various operations like I/O and the input-output devices. Computer
systems involve in operation of different types of devices and the common examples of
devices which are used for storage include human interface devices, transmission devices and
disks. Transmission devices include network interface cards and other device such as
modems while the human interface devices include screen, keyboard and many more
(Tanenbaum & Bos, 2015). Management of I/O devices are important because this form the
main elements of a computer system, the input device sending information to the computer
for the purpose of processing while an output device is there to reproduce or to display the
results of the input that has been processed.
Device drivers can be defined as software modules which are plugged into the
operating system for the purpose of handling a specific device. Operating system can be said
to take the help of these device drivers for the purpose of handling all the I/O devices (Chen,
Wu, Shao, Lockerman & Gu, 2016). Device driver is recorded by the manufacturer of a
device and is included in the device with the help of a CD-ROM.
Polling
One of the simplest ways in which communication occurs between an I/O device and
processor is known as polling. This refers to the process that includes periodical checking
device’s status in order to check if the next I/O operation can be done. The work of I/O
device in this case is to put the data in the register concerned with the status and thereafter
information is collected by the processor. It can be said that mostly the devices do not require
I/O devices
I/O and processing can be considered as the major jobs from the perspective of
computer system.
An operating system plays a major role in the context of I/O in a computer that is managing
as well as controlling the various operations like I/O and the input-output devices. Computer
systems involve in operation of different types of devices and the common examples of
devices which are used for storage include human interface devices, transmission devices and
disks. Transmission devices include network interface cards and other device such as
modems while the human interface devices include screen, keyboard and many more
(Tanenbaum & Bos, 2015). Management of I/O devices are important because this form the
main elements of a computer system, the input device sending information to the computer
for the purpose of processing while an output device is there to reproduce or to display the
results of the input that has been processed.
Device drivers can be defined as software modules which are plugged into the
operating system for the purpose of handling a specific device. Operating system can be said
to take the help of these device drivers for the purpose of handling all the I/O devices (Chen,
Wu, Shao, Lockerman & Gu, 2016). Device driver is recorded by the manufacturer of a
device and is included in the device with the help of a CD-ROM.
Polling
One of the simplest ways in which communication occurs between an I/O device and
processor is known as polling. This refers to the process that includes periodical checking
device’s status in order to check if the next I/O operation can be done. The work of I/O
device in this case is to put the data in the register concerned with the status and thereafter
information is collected by the processor. It can be said that mostly the devices do not require

2OPERATING SYTEMS
any such attention but when any device requires it has to wait until the polling program
interrogates it. This makes the process inefficient as time of the processor is wasted on the
unnecessary polls. In order to understand the polling process handshaking needs to be
understood considering an example. Suppose 2 bits are made use of for bringing in
coordination in between the controller and the host. In order to indicate its status, the
controller makes use of the busy bit in status register (Silberschatz, Galvin & Gagne, 2014).
To show its status of working, when busy the controller sets the busy bit and clears the same
when ready to work with the new command. The ready bit command is set by the host when
command execution has to be done by a controller. Busy bit is read by the host set by the
controller until the bit becomes empty and this is what called polling.
Interrupts
The interrupt-driven method is considered as an alternative scheme that can be made
use of to deal with I/O. Specifically, an interrupt can be said to a signal given to the
microprocessor from any device that needs much attention. It is the work of the device
controller to interrupt a signal on to bus during the time it requires the attention of the CPU.
After the CPU receives an interrupt, the present state of the same is saved and at the same
time appropriate interrupt handles is invoked by making use of interrupt vector. Once dealing
with the device that was interrupting, CPU continues with the original task that it was doing
and it seems as if it had never encountered any interruption in its work. Thus it can be said
that interrupt I/O are ways in which the various I/O activities are controlled. In this process a
peripheral requiring making or receiving data transfer sends signal causing a program to
interrupt so that it gets set (Wang, Wang, Shaving & Vehicle-to-Grid, 2013). An ISR or
interrupt service routine is entered by the processor at an appropriate time, the parameter
being level of priority in the I/O interrupt. The routine’s function depends on the interrupt
levels of system as well as the priorities that have been implemented in processor. An
any such attention but when any device requires it has to wait until the polling program
interrogates it. This makes the process inefficient as time of the processor is wasted on the
unnecessary polls. In order to understand the polling process handshaking needs to be
understood considering an example. Suppose 2 bits are made use of for bringing in
coordination in between the controller and the host. In order to indicate its status, the
controller makes use of the busy bit in status register (Silberschatz, Galvin & Gagne, 2014).
To show its status of working, when busy the controller sets the busy bit and clears the same
when ready to work with the new command. The ready bit command is set by the host when
command execution has to be done by a controller. Busy bit is read by the host set by the
controller until the bit becomes empty and this is what called polling.
Interrupts
The interrupt-driven method is considered as an alternative scheme that can be made
use of to deal with I/O. Specifically, an interrupt can be said to a signal given to the
microprocessor from any device that needs much attention. It is the work of the device
controller to interrupt a signal on to bus during the time it requires the attention of the CPU.
After the CPU receives an interrupt, the present state of the same is saved and at the same
time appropriate interrupt handles is invoked by making use of interrupt vector. Once dealing
with the device that was interrupting, CPU continues with the original task that it was doing
and it seems as if it had never encountered any interruption in its work. Thus it can be said
that interrupt I/O are ways in which the various I/O activities are controlled. In this process a
peripheral requiring making or receiving data transfer sends signal causing a program to
interrupt so that it gets set (Wang, Wang, Shaving & Vehicle-to-Grid, 2013). An ISR or
interrupt service routine is entered by the processor at an appropriate time, the parameter
being level of priority in the I/O interrupt. The routine’s function depends on the interrupt
levels of system as well as the priorities that have been implemented in processor. An
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

3OPERATING SYTEMS
interrupt of single I/O exists in single-priority single level system while in case of single
priority system which has a multi-level there exists a signal line which has single interrupt
along with numerous identification lines of various devices.
I/O error handling and protection
A specific operating system that makes use of protected memory can safeguard
different types of hardware as well as application errors so that every time a minor glitch
happens the whole system does not stop. There can be various reasons for the failure of
device as well as I/O transfers such as transient reasons or may be permanent reasons.
Transient reasons can be in cases of network overloading and defect in disk controller can be
taken under the purview of permanent reasons. Generally, operating systems compensate for
the transient failures. For example, read () retry is a result of failure in disk read and resend
(), in case of network error gives back only if specified by the protocol. But in case where an
important component experiences permanent failure, there are less chances or rather no
chances for the operating system for recovering (KUMAR, 2013). A general rule in this
context is that system of I/O returns little information revealing the call’s status and this
signifies either the success or the failure of the device or I/O transfer. In UNIX operating
system “errno” that is an additional integer variable is made use of to return a specific error
code.
Errors can be closely linked to protection. There are high chances that user process
may be accidentally or may be purposefully bring in disruptions in the normal functioning of
a system by issuing illegal instructions of I/O. Various mechanisms can be made use of for
ensuring that these types of disruptions do not take place the system. For preventing the users
to perform I/O which is illegal, all the I/O instructions can be defined as instructions that are
privileged thereby stopping the users from making use of the I/O instructions in a direct
interrupt of single I/O exists in single-priority single level system while in case of single
priority system which has a multi-level there exists a signal line which has single interrupt
along with numerous identification lines of various devices.
I/O error handling and protection
A specific operating system that makes use of protected memory can safeguard
different types of hardware as well as application errors so that every time a minor glitch
happens the whole system does not stop. There can be various reasons for the failure of
device as well as I/O transfers such as transient reasons or may be permanent reasons.
Transient reasons can be in cases of network overloading and defect in disk controller can be
taken under the purview of permanent reasons. Generally, operating systems compensate for
the transient failures. For example, read () retry is a result of failure in disk read and resend
(), in case of network error gives back only if specified by the protocol. But in case where an
important component experiences permanent failure, there are less chances or rather no
chances for the operating system for recovering (KUMAR, 2013). A general rule in this
context is that system of I/O returns little information revealing the call’s status and this
signifies either the success or the failure of the device or I/O transfer. In UNIX operating
system “errno” that is an additional integer variable is made use of to return a specific error
code.
Errors can be closely linked to protection. There are high chances that user process
may be accidentally or may be purposefully bring in disruptions in the normal functioning of
a system by issuing illegal instructions of I/O. Various mechanisms can be made use of for
ensuring that these types of disruptions do not take place the system. For preventing the users
to perform I/O which is illegal, all the I/O instructions can be defined as instructions that are
privileged thereby stopping the users from making use of the I/O instructions in a direct
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

4OPERATING SYTEMS
manner that is they can only do it through operating system. A user program for doing I/O
operations indulges in executing a system call for requesting the operating system to execute
the I/O functions on-behalf (KUMAR, 2013). The request that is made by the user is also
checked for validation with the help of operating system. There is protection of memory
system that ensures the protection of memory-mapped and memory locations of I/O ports.
I/O scheduling management, buffering, caching, spooling
Scheduling management
Scheduling means determination of a proper order in which a specific set of I/O
requests can be executed. Scheduling is important as it brings in improvisations in the
performance of the system (Silberschatz, Galvin & Gagne, 2014). Some other advantages are
device access can be shared in a fair way among the processes and at the same time brings in
reduction in the average waiting time for the purpose of completion of I/O.
Buffering
Buffer refers to the area in memory which helps in storage of data while these are
getting exchanged in between either two devices or any application and device. The three
main reasons for buffering are: cope up with the mismatch in speed, then adapting in between
devices in which there is a difference in data transfer sizes and the third is support copy of
semantics for I/O application.
Caching
Cache ca be defined as a specific region which stores several data copies and
accessing cached data is far easier than accessing the original ones. The process instructions
that are running currently are stored on a disk that is present in the physical memory as cache
and is copied to CPU’s secondary as well as primary cache.
manner that is they can only do it through operating system. A user program for doing I/O
operations indulges in executing a system call for requesting the operating system to execute
the I/O functions on-behalf (KUMAR, 2013). The request that is made by the user is also
checked for validation with the help of operating system. There is protection of memory
system that ensures the protection of memory-mapped and memory locations of I/O ports.
I/O scheduling management, buffering, caching, spooling
Scheduling management
Scheduling means determination of a proper order in which a specific set of I/O
requests can be executed. Scheduling is important as it brings in improvisations in the
performance of the system (Silberschatz, Galvin & Gagne, 2014). Some other advantages are
device access can be shared in a fair way among the processes and at the same time brings in
reduction in the average waiting time for the purpose of completion of I/O.
Buffering
Buffer refers to the area in memory which helps in storage of data while these are
getting exchanged in between either two devices or any application and device. The three
main reasons for buffering are: cope up with the mismatch in speed, then adapting in between
devices in which there is a difference in data transfer sizes and the third is support copy of
semantics for I/O application.
Caching
Cache ca be defined as a specific region which stores several data copies and
accessing cached data is far easier than accessing the original ones. The process instructions
that are running currently are stored on a disk that is present in the physical memory as cache
and is copied to CPU’s secondary as well as primary cache.

5OPERATING SYTEMS
Picture 1: Performance of various level of storage (Silberschatz, Galvin & Gagne, 2014)
Spooling
A spool can be defined as a a buffer holding device output that includes printer which
has no acceptance for interleaved streams of data (Silberschatz, Galvin & Gagne, 2014). It is
known that at a time a printer can print or do a single job but when several applications want
to print the output in a concurrent manner without any mixing the operating system come into
the play and intercepts all the outputs for printing and then spooling occurs for the output of
each of the application into separate disk files.
Picture 2: Spooling ("What is Spooling in Operating System?", 2020)
Picture 1: Performance of various level of storage (Silberschatz, Galvin & Gagne, 2014)
Spooling
A spool can be defined as a a buffer holding device output that includes printer which
has no acceptance for interleaved streams of data (Silberschatz, Galvin & Gagne, 2014). It is
known that at a time a printer can print or do a single job but when several applications want
to print the output in a concurrent manner without any mixing the operating system come into
the play and intercepts all the outputs for printing and then spooling occurs for the output of
each of the application into separate disk files.
Picture 2: Spooling ("What is Spooling in Operating System?", 2020)
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

6OPERATING SYTEMS
References
Tanenbaum, A. S., & Bos, H. (2015). Modern operating systems. Pearson.
Silberschatz, A., Galvin, P. B., & Gagne, G. (2014). Operating system concepts essentials.
John Wiley & Sons, Inc..
Wang, Z., Wang, S., Shaving, G. P. P., & Vehicle-to-Grid, V. F. U. (2013). I/O
Systems. IEEE Transactions On Power Delivery, 28(3).
KUMAR, M. R. M. S. (2013). OPERATING SYSTEMS. LAMBERT Academic Publishing.
Chen, H., Wu, X., Shao, Z., Lockerman, J., & Gu, R. (2016, June). Toward compositional
verification of interruptible OS kernels and device drivers. In Proceedings of the 37th
ACM SIGPLAN Conference on Programming Language Design and
Implementation (pp. 431-447).
What is Spooling in Operating System?. (2020). Retrieved 13 April 2020, from
https://afteracademy.com/blog/what-is-spooling-in-operating-system
References
Tanenbaum, A. S., & Bos, H. (2015). Modern operating systems. Pearson.
Silberschatz, A., Galvin, P. B., & Gagne, G. (2014). Operating system concepts essentials.
John Wiley & Sons, Inc..
Wang, Z., Wang, S., Shaving, G. P. P., & Vehicle-to-Grid, V. F. U. (2013). I/O
Systems. IEEE Transactions On Power Delivery, 28(3).
KUMAR, M. R. M. S. (2013). OPERATING SYSTEMS. LAMBERT Academic Publishing.
Chen, H., Wu, X., Shao, Z., Lockerman, J., & Gu, R. (2016, June). Toward compositional
verification of interruptible OS kernels and device drivers. In Proceedings of the 37th
ACM SIGPLAN Conference on Programming Language Design and
Implementation (pp. 431-447).
What is Spooling in Operating System?. (2020). Retrieved 13 April 2020, from
https://afteracademy.com/blog/what-is-spooling-in-operating-system
1 out of 7
Related Documents

Your All-in-One AI-Powered Toolkit for Academic Success.
+13062052269
info@desklib.com
Available 24*7 on WhatsApp / Email
Unlock your academic potential
Copyright © 2020–2025 A2Z Services. All Rights Reserved. Developed and managed by ZUCOL.





