Browse Prior Art Database

Method for Abstracting Machine Dependent Operating System Code

IP.com Disclosure Number: IPCOM000114827D
Original Publication Date: 1995-Feb-01
Included in the Prior Art Database: 2005-Mar-29
Document File: 2 page(s) / 58K

Publishing Venue

IBM

Related People

Mealey, BG: AUTHOR [+3]

Abstract

Disclosed is a method for reducing the amounts of machine dependent code in the operating system kernel, thus making it more efficient and portable to a wide range of hardware implementations.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Method for Abstracting Machine Dependent Operating System Code

      Disclosed is a method for reducing the amounts of machine
dependent code in the operating system kernel, thus making it more
efficient and portable to a wide range of hardware implementations.

      With the wide variety of computer platforms supported by a
given operating system, the operating system must deal with all the
machine differences between the platforms.  Specifically, for the
purpose of this disclosure, the AIX* operating system must manage
differences in hardware while providing a consistent programming
interface for device drivers and other kernel extensions.

      Before AIX 4.1*, all machine dependent code was managed with
the concept of a branch table and code overlays.  These solutions
required modifications to the base kernel and also managing of
name-space problems when several versions of the same function were
required for different platforms.  For example, there exists a Micro
Channel* DMA kernel service, d_master, that currently has 2 versions,
1 for POWER* I/O architectures, and another for PowerPC* I/O
architectures.  The kernel therefore contains 2 functions,
d_master_ppc and d_master_pwr, and then must make the appropriate
function available to device drivers as just d_master, by patching
the kernel exports list.

      With AIX 4.1, a new mechanism has been introduced for dealing
with I/O bus specific code.  This new method allows the bus specific
code to be independent...