I/O system

Need help with my Writing question – I’m studying for my class.

hello write about I/O system just part future work

see the file for more information

Requirements: I do not know

GEIT 3331: Computer Organization

I/O System

Table of Contents

List of Figures

List of Tables

Abstract

Introduction

Technical Part

Project Objective

Problem Studies

Methodology

Limitation

    Significant Findings/Results

    Future work 

Discussion of findings and future recommendations

Conclusion

References

List of Figures

Figure No.Figure Title Page Number
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

List of Tables

Table No.Table Title Page Number
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

Abstract

Introduction

 In most things in life, there is something you have to put in in order to get something out. For instance, in school, if you put effort, you will gain success or passing. The input/ output system is the mediator that is responsible for moving information from a device’s memory to the real world. I/O system consists of many parts such as I/O devices (peripherals), I/O control units, and software to carry out the I/O transaction(s) through a sequence of I/O operations. I/O device can be defied into two parts.  The first one is serial, it is able to move bitstreams by om bit every time. The second type is parallel; the parallel device can transfer words either if it is in one or more bytes.

Technical Part

Project Objective

To do detailed research about the I/O system understand the importance of its functionality and its categories.

Problem Studies

Methodology

To complete this research we made sure to use as many resources as possible. We utilized the E-library of Prince Mohammad Bin Fahd University (PMU) to have full access for some journals such as IEEE Xplore and ACM digital library. Also, google scholar provided us with many credible sources.

Limitation

Significant Findings/Results

I/O System

I/O systems or I/O management is an important job of an operating system. A program without input would not be able to produce an output and similarly without output the user will not feel any use or benefits of running the program or interacting with the computer. I/O components are what makes the communication between computers and the outside enviourment possible. I/O devices are connected to the systems by general I/O bus, peripheral bus or peripheral component interconnect(PCI). According to Stallings (2014) we can classify I/O devices into three main categories the first is human readable which communicates with the user of the computer such as monitors, printers and mouses. Second is machine readable communication with electronic equipments of the computer such as sensors, cameras and disk drivers. Third is communication allows remote communication such as netwroks and routers.       

History of I/O System      

Before computers were sophisticated enough to handle modern input methods they had simpler methods for inputting and outputting information.         

Punched cards

Punched cards are a great example, because they were used for both input and output. They were also used for storage. A punched card was a piece of card with holes punched in it. The number and locations of the holes on each card was used to represent data. Initially, there were different machines for punching and reading the cards.

Punched cards were used to record many different types of data. For example, they stored census information. During World War II, encrypted German messages were stored on them.

They were also used to store and run computer programs. The first recorded punched cards were used for input. They controlled looms used to weave cloth from the 1700s. The Jacquard loom, invented in 1804, was the inspiration for many of the first computers, such as Charles Babbage’s Analytical Engine.

Different punched cards were used for different tasks, and were thus associated with different types of devices. The Jacquard loom punched card was purely an input device: it controlled where the loom would move. The census and computer program punched cards were storage devices: information was stored and retrieved from them. Punched cards used for data storage were gradually replaced by magnetic tape in the 1960s.

Binary toggle switches

The Altair 8800 was the first commercially successful personal computer. When you hear “personal computer”, you probably expect a keyboard and a monitor, but the Altair 8800 had a number of switches on the front for input. Users would flip these switches to enter binary data into the memory of the machine. It’s only output was some red LEDs which could be read as output numbers, again in binary.

Eventually, the Altair had a Teletype terminal attached, for easier input and output.

Teletype machines

A Teletype machine was a kind of bridge between card punching and modern computers. It was an electromechanical typewriter. It was originally designed as a communication device. A user would type their message into the keyboard to send it. When the machine received a message (from a remote user on another machine), it would type it on the typewriter. There was no monitor: any message received was typed straight out.

The Teletype was invented so that users could send messages without being trained in the use of Morse code. Messages could now be sent and received 

with no special training besides typing skills. It was later adapted to send and receive data from a computer, rather than a remote Teletype machine.

Two methods used to communicate with I/O devices:

These methods are used to know if the I/O devices are ready or if an operation of I/O is complete 

  • Programmed I/O with Polling
  • Programmed I/O with Interrupts

Programmed I/O with Polling

With polling the CPU or processor frequently asks if I/O operation has been completed or not, before starting any new task, in short synchronization. Polling is Inefficient because the CPU can process much faster than I/O devices and if it has to constantly wait for every instruction to finish it will be a waste of the CPU time, while waiting the CPU becomes idle. 

Programmed I/O with Interrupts

Another method for communicating with I/O devices. It solves the problem of waiting for the next instruction, the CPU will be able to perform other instructions while waiting for the task to be complete. Thus, it is more efficient than polling   

Data Transfer

There are three methods used to transfer data to or from input and output devices such as Mouse, Keyboard or a printer. These methods are used to make the user and CPU communication possible:

  • Programmed I/O interrupt.
  • Interrupt- Driven I/O
  • Direct Memory Access (DMA)

Programmed I/O interrupt 

First, let us define what is the meaning of the word interrupt, according to Cambridge Dictionary(n.d.) it is the act of stopping something from happening for a short time. here , interrupt can refer to the act of stopping the CPU from doing a process that it was doing and that could be a hardware or software interrupt, the CPU will accept the interrupt request and do the processing on it then after it is complete it will continue to process wherever it has stopped. Now we can discuss the I/O interrupt, it can also be called busy- wait. The CPU will be waiting for the I/O devices to be ready meaning it has to wait to receive some values from the input devices to process them or send data to the output devices when it is ready.  While waiting the CPU is not doing any processing which is a huge waste of time and it is not sufficient since the CPU is faster than the I/O module. This technique was used in the early stages of developing computers where they used only one processer. Also, the CPU will be responsible for the communication(sending block of data) between I/O and memory, they cannot directly communicate. 

Interrupt- Driven I/O

Thesecondmethod used is interrupt driven I/O. this method will eliminate the problem that was in programmed I/O interrupt which was waiting for I/O modules to be ready for receiving or transmitting and waste the CPU time. also , the concept of multiprocessors was starting to develop and a change had to be done to make sufficient use of the CPU time instead of waiting. In the driven I/O interrupt, the CPU will not wait for the I/O module to be ready instead the I/O module will notify (interrupt) the CPU whenever it is ready. In the meantime CPU can do other operations. When the CPU is interrupted by an I/O module it will process this interruption and after it is complete and CPU go back to complete the process of the previuos request. Let us think about it in a real life example: a student has two classes; one starts at 8 AM and finishes at 9 AM and the second class starts at 11 AM and finishes at 12PM, the student has two hours break between the classes, instead of waiting for two hours doing nothing the student can do some school work, studying or working on a project. This is a sufficient use of the student time. In this scenario the student is the CPU and the classes are the interrupts. In this method the communication between the I/O modules and memory is done by the CPU similar to the programmed I/O interrupt.     

**interrupt handler** 

***EXPLAIN THE FIGURE**

Programmed I/O interrupt Interrupt driven I/O

DONT FORGET

Direct Memory Access (DMA)

Direct memory access is the third method for data transfer and it allows the I/O devices to access the memory directly without the help of the CPU and this is a huge difference between the DMA and the two previous techniques. DMA controller is a special hardware that is used in modern computers, it is capable of copying the CPU and controls the system with that mechanism it allows the I/O module and memory to communicate directly without the need to interrupt the CPU. it transfers data using system bus and can do that by two ways either by using the CPU is not using the bus or by stealing the bus from the CPU and it is called cyclic stealing (Janaki,2018). Furthermore, DMA is able to transfer large amount of data as compared to the previous methods 

ADD MORE

Future work

Discussion of findings and future recommendations

Conclusion

References

Stallings, W. (2014). Operating Systems: Internals and Design Principles (8th Edition) (8th ed.). Pearson.

Arpaci-Dusseau, R., &Arpaci-Dusseau, A. (2015). Operating Systems: Three Easy Pieces. Pages. https://pages.cs.wisc.edu/~remzi/OSTEP/file-devices.pdf

A history of input & output devices. (n.d.). Retrieved March 09, 2021, from https://www.futurelearn.com/info/courses/computer-systems/0/steps/53504

Bletsch, T. (2018). Computer Architecture. People. http://people.duke.edu/~tkb13/courses/ece250-2018su/slides/11-io.pdf

Scott, T. (2000, November 1). ILLUSTRATING PROGRAMMED AND INTERRUPT DRIVEN I/O. Acm. https://dl.acm.org/doi/pdf/10.5555/369272.357737

Janaki, S. (2018, September 10). Programmed IO, Interrupt Driven IO, & DMA. WordPress. https://quickcse.wordpress.com/2018/09/10/programmed-io-interrupt-driven-io-dma/


If you need answers to this assignment, WhatsApp/Text to +1 646 978 1313  

or send us an email to admin@shrewdwriters.com and we will reply instantly. We provide original answers that are not plagiarized. Please, try our service. Thanks

Leave a Reply

Your email address will not be published.