Operating Systems
Large, complex programs
Typically
Long-lived
Frequently extended and updated
Worked on by a number of developers
Used and, maybe abused by a variety of users with
varying expertise and expectations
Essential to create an acceptable computing
environment to create and execute other programs
that achieve business or personal goals