Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesA Dynamic Kernel


August 1995 / Reviews / Unix with No Excuses / A Dynamic Kernel

The AIX kernel has many of the features you would expect in a third-generation operating system--scalability, Posix standard threads, logical volume management, frags, and on-the-fly disk compression. AIX 3.2 and earlier versions contained many features just now beginning to appear in other Unixes, such as a pageable and preemptive kernel, dynamic kernel extensions, and process threads.

Most Unix kernels run completely in RAM. This scheme avoids deadlocking the system in the event that the parts of the kernel responsible for swapping are themselves swapped out to disk. An entirely RAM-resident kernel has the disadvantage of consuming real memory for kernel tables that keep track of open files and devices, process states, and so forth.

For example, support of more simultaneous tasks (`processes' in Unix) than allowed by the default kernel configuration required you to edit a configuration file and recompile or regenerate the kernel. The system now supported more processes, but the kernel was always using the memory required for the bigger process table regardless of how many processes you were actually using. AIX makes all these tables very large in size to begin with (a process table is able to support 131,072 processes) but doesn't allocate the memory for them until it is needed, making the kernel's RAM footprint more in line with what it is actually being asked to do. This scalability is evident in many places throughout AIX. A pageable kernel is now a standard tool in the Unix kernel developer's arsenal and is also supported by other Unixes such as UnixWare and Solaris.

AIX makes adding new kernel functionality easier than most Unixes. Usually a developer who wants to extend kernel functionality has to regenerate the kernel, addi ng their own object code to the list of objects linked together to produce the new kernel. Since each version of Unix has its own API to add new functions, this is a time-consuming and arcane process. AIX eases this task by supporting dynamic kernel extensions . This mechanism provides a single API for developers to add or remove new object code to an already running kernel. AIX documents the structures and calls necessary for a developer to create a kernel extension, and it gives sample code for a number of different types of extensions.

AIX was one of the earliest Unixes to use dynamic kernel extensions to introduce a version of Plug and Play into the workstation world. While many Unixes will recognize a new device on the first boot-up after installation, AIX will go an extra step and configure the device for immediate use. AIX also keeps track of devices and their configuration in the ODM (object data manager). This makes it possible for AIX to issue a warning boot-up if it c an't find a device it has previously seen. If you had removed the device, you can run the diag command to configure AIX to remove the device from the ODM. If the device was powered off or unplugged during boot, you can power on the device and run the cfgmgr command which will rediscover the device and add or recreate a /dev entry.


Loadable Modules

illustration_link (21 Kbytes)


Up to the Reviews section contentsGo to previous article: Unix with No ExcusesGo to next article: Work-Free Workgroup SchedulersSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network