New Page 1
Welcome to basicsofcomputer.com
 

Share This Free Knowledge With Your Friends:

Home » I/O and Device Management » Software Organization Structure

Software Organization Structure:

Definitions and Explanation:

Operating system implements supervisor calls for processes to request device input and output services. The same set primitive may be available for all devices.

Some characteristics of devices affect the supervisor call that are as follows:

1. Device Speed:

The speed of device I/O can be slow. Some operating systems provide the facility to issue nonblocking I/O operations that can be handled as follows:

Using data received and buffered before the system call, the return can be immediate using the data in the input buffer. The return value indicates the amount of supplied data.
The process can be notified at the completion of input operation. It can be done by sending a signal to process. Signal is sent by setting the value of a process variable or by providing a special system call.

Notification can be ignored in nonblocking outputs. The reason is that it is not relevant to the application when the data is output by the device.

2. Mutual Exclusion:

Operating system provides the following protection for non-sharable devices:

  • It may allow only one process to open the device at one time.
     
  • It may assign the ownership of the device to the user who opened it and may deny access to other users.
     
  • A spooling scheme may be used to handle the problem at application level.
     
  • It may do nothing and leave the problem to the user.

3. Unidirectional Devices:

Some devices are unidirectional i.e. input-only or output-only. The devices can only be used for specific purpose. The devices must be opened before I/O can be performed on them. The open call can include a parameter that indicates the type of access. An attempt to open a device for wrong kind of I/O should not be allowed.

Network I/O:

Some operating systems provide separate mechanism for network devices. These operating systems provide the support for network protocols for complex network communication. A popular network I/O abstraction is sockets.

Socket is connected to your computer on one side and to a remote computer on the other side. Applications create sockets, establish connections to sockets on remote machines, and send and receive messages on established connections.

Logical I/O:

Logical I/O level uses semi-device-independent kernel I/O objects. The Objects are not always totally device-independent. I/O requests from other modules of operating system access the capabilities of this level.

Two commonly device types are block devices and character devices. A disk is a block device. I/O operations transfer the number of disk blocks i.e. sectors. Character devices like printer and modem transfer single character or byte at a time.

Buffering:

Logical I/O provides buffering for I/O data for the following reasons:

  • I/O operation can occur at any time. If no process requests input from keyboard/ the
    buffers are used to store data typed by the user.
     
  • Block devices perform I/O in blocks. Buffers package the requests in block-size units.
     
  • In DMA transfers, buffers are used as destination or source of transfer.
     
  • In asynchronous write operation, data is copied in buffer and application continues to execute.

Caching:

Cache is a fast storage device to hold a copy the data stored on a slower device. If the information to be read from a slower device is present in cache, the request en be executed faster. I/O caches store device data in main memory. Systems that implement caches create a buffer to be used as cache.

Device Drivers:

I/O objects generated in the logical I/O software are passed to device drivers that are built for the needs of different devices. They operate on one or more related devices.

Operating system may require a set of functions implemented for that device as follows:

open: Perform startup function before the use of device.

close: Perform any function to shut down the device.

schedule: Perform scheduling on I/O request.

interrupt: The routine executed when device send an interrupt to CPU.

ioctl: Implements any special functions that can be applied to this device.

Relevant Articles:

I/O Management in Operating System
Objectives of the I/O Management in Operating System
Buffering in Operating System
Spooling in Operating System
Handshaking in Operating System
Data Storage Hierarchy in Operating System
Hardware Communication Protocols
Software Organization Structure
 
New Page 1

Basic Computer Science

   
» The Age of Information

» Types of Computer and Digital Age

» Input and Output Devices

» Storage Devices Of Computer

» Central Processing Unit

» Software: The Power Behind The Power

» Data Communication and Computer Networks

» The Nature Of Information

» The System Theory

» Transaction Processing System (TPS) and Management Information System (MIS)

» Decision Support System (DSS) and Executive Support System (ESS)

» Expert System (ES) and Office Information System (OIS)

 

Operating Systems

   
» Introduction to Operating System

» Introduction to Process Management

» Threads and CPU Scheduling

» Process Synchronization in Operating System

» Deadlocks

» Memory Management in Operating System

» Virtual Memory in Operating System

» File System Management in Operating System

» I/O and Device Management

» Security

» Linux Operating System

 

Database Management System

   
» Introduction to Database Systems

» Database System Architecture

» Database Administration and Database Development Process

» The Entity-Relationship Model

» Semantic Object Model

» Logical Database Design and Relational Data Model

» Normalization in Database

» Transformation of E-R Model into Relational Data Model

» Representing Semantic Object Model and Types of Semantic Object Model

» Physical Database Design

» Introduction to Structured Query Language (SQL)

» Implementation of Relational Database and Database Application Design

» Client Server Database Systems & Open Database Connectivity (ODBC)

 

Questions and Answers

   
» Basics of Information Technology

» Computer Architecture

» Data Communication

» Information Networks

» Fundamentals of the Internet

» Application and Uses of Computer

» Security, Copyright and The Law

» Windows Operating Systems

» Spreadsheet Software

» Process Management in CPU

» CPU Scheduling

» Process Synchronization

» Deadlocks

» Memory Management

» Database Systems

» Database System Architecture

» Database Administration and Database Development Process
 
 
New Page 1
 

Home                Dictionary                 Contact us                   About us                    Privacy policy                  Link to us                   Advertise

Copy right ©  2012