I/O Systems Flashcards

(24 cards)

1
Q

What is a major component of operating system design and operation?

A

I/O management

I/O management is crucial for the functioning of a computer system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the types of I/O devices?

A
  • Storage
  • Transmission
  • Human-interface

These categories reflect the diverse functionalities of I/O devices.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What connects various I/O devices to a computer?

A
  • Ports
  • Busses
  • Device controllers

These components facilitate communication between the computer and I/O devices.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What encapsulates device details and presents a uniform interface to the I/O subsystem?

A

Device drivers

Device drivers are essential for managing the interaction between the operating system and hardware.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the common bus used in PCs and servers?

A

PCI bus

PCI Express (PCIe) is a modern evolution of the PCI bus.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is a controller in the context of I/O hardware?

A

Electronics that operate port, bus, or device

Controllers can be integrated or on a separate circuit board.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the types of registers typically found in I/O devices?

A
  • Data-in register
  • Data-out register
  • Status register
  • Control register

These registers facilitate communication between the device and the driver.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Describe the polling process for I/O.

A
  1. Read busy bit from status register until 0
  2. Host sets read or write bit
  3. Host sets command-ready bit
  4. Controller executes transfer
  5. Clear busy bit when done

Polling is often inefficient if the device is slow.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

True or False: Interrupts allow the CPU to stop polling and handle I/O requests more efficiently.

A

True

Interrupts improve efficiency by allowing the CPU to perform other tasks while waiting for I/O.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is Direct Memory Access (DMA)?

A

A method to transfer data directly between I/O devices and memory, bypassing the CPU

DMA is used for large data movements to enhance efficiency.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What does the Application I/O Interface do?

A

Encapsulates device behaviors in generic classes

This allows for a uniform way to interact with different devices.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the characteristics used to group I/O devices by the OS?

A
  • Block I/O
  • Character I/O (Stream)
  • Memory-mapped file access
  • Network sockets

These characteristics help in managing and interfacing with devices.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What does nonblocking I/O mean?

A

I/O call returns as much data as available without suspending the process

Nonblocking I/O is important for applications that require responsiveness.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Fill in the blank: Vectored I/O allows one system call to perform multiple ______ operations.

A

I/O

This method reduces context switching and system call overhead.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the purpose of buffering in the Kernel I/O Subsystem?

A

To store data in memory while transferring between devices

Buffering helps manage speed mismatches between devices.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the role of caching in I/O operations?

A

Holds a faster copy of data to improve performance

Caching is key for enhancing I/O operation speeds.

17
Q

What is spooling in the context of I/O?

A

Holding output for a device that can only serve one request at a time

Spooling is commonly used in printing.

18
Q

What type of error handling can an OS perform?

A

Recover from disk read errors, device unavailability, transient write failures

Advanced systems can track error frequencies and take appropriate actions.

19
Q

True or False: All I/O instructions must be performed via system calls.

A

True

This restriction is in place to maintain system stability and security.

20
Q

What does the ioctl() call do in Unix?

A

Sends arbitrary bits to a device control register and data to device data register

It provides a way to manipulate device characteristics directly.

21
Q

What is the significance of power management in I/O?

A

Helps manage electricity use and heat generation in devices

Effective power management is crucial for mobile and cloud computing environments.

22
Q

What are the steps involved in an I/O request to read a file from disk?

A
  • Determine device holding file
  • Translate name to device representation
  • Physically read data into buffer
  • Make data available to requesting process

These steps are critical for ensuring data is accurately retrieved from storage.

23
Q

What is a STREAM in Unix System V?

A

A full-duplex communication channel between a user-level process and a device

STREAMs architecture allows for flexible communication with devices.

24
Q

What are some ways to improve I/O performance?

A
  • Reduce context switches
  • Reduce data copying
  • Use DMA
  • Balance CPU, memory, bus, and I/O performance

These strategies help optimize system throughput and responsiveness.