INITs, the System Heap, and You
by Andrew Welch
This document came about because of the System Heap/INIT paranoia I've seen lately. It represents the total sum of the knowledge I have accumulated from writing system level software (INITs/cdevs/System Extensions) for three years and is accurate based on my experience and the experiences of many other Macintosh programmers.
It will help you make rational decisions about resolving INIT conflicts, dispel some common myths, teach you a thing or two, and explain what really happens with all this System Heap stuff.
Neophytes, forgive me if I confuse you with the programmer-speak necessary to explain this topic. Programmers, forgive me if I generalize issues for the sake of clarity.
INITs, cdevs, Control Panels, System Extensions - these buzz-words stand for basically the same critters: low-level programs that load automatically when the system starts up. These are the programs that you toss into your System Folder. From now on, I will refer to them all as INITs, though there are some subtle differences between them that aren't important in this discussion.
INITs are notorious for causing system crashes, conflicts, and general system weirdness. When technical support people hear that an INIT is causing problems, you'll inevitably hear something to the effect of "Have you tried expanding your System Heap?" What do they mean when they say this, and is it the ultimate solution?
You may learn more about the way your computer works than you want to, but if you persevere you won't regret it. Knowledge is power. Hang on tight. But first, a little background...