Introduction to OS APIs



An extended version of this outline is also available on-line. It includes more examples and many of the additional comments I made in class.



Modular Structure of Software

There are two techniques for successfully writing large programs:

  1. Use a language that accomplishes more per "line of code." (Admiral Grace Hopper's COBOL being among the first.)

  2. Program in functional modules, each of which is small enough for a person to grasp.

    • Limit the interactions between the functional modules.

    • Permits much more effective teamwork.

    • Emphasizes the value of analysis at the start of a project.


Interaction Between Modules

There are several different ways in which a supposedly modular program can still be very difficult for a programmer to cope with:

  1. Which modules invoke which other modules?

  2. What are the possible sequences of execution of the various modules?

  3. What are the methods by which information passes between modules?


Local and Global Scope of Variables


Arguments and Return Values


Operating System Services


Application Programming Interfaces


Undocumented Modules


Trusting vs. Careful Code Design


Notes

J. M. Fenster, 1998, "Amazing Grace." American Heritage of Invention & Technology, Fall, 1998, Volume 14, Number 2, pages 24-31.



Return to top

Return to MIS 300 Page


Dick Piccard revised this file (http://oak.cats.ohiou.edu/~piccard/mis300/osapis0.htm) on September 11, 1998.

Please E-Mail comments or suggestions to "piccard@ohio.edu".


© Copyright 1998 Richard D. Piccard