# Runtime overview

The Eclipse runtime defines the plug-ins (org.eclipse.osgi and org.eclipse.core.runtime) on which all other plug-ins depend. The runtime is responsible for defining a structure for plug-ins and the implementation detail (bundles and classloaders) behind them. The runtime is also responsible for finding and executing the main Eclipse application and for maintaining a registry of plug-ins, their extensions, and extension points.

The runtime also provides an assortment of utilities, such as logging, debug trace options, adapters, a preference store, and a concurrency infrastructure. Of course, as a minimal kernel, the runtime is only interesting once plug-ins that make use of it and perform some kind of task are created. Like Atlas, the runtime plug-in stoically resides at the bottom of the plug-in heap, holding the Eclipse universe aloft on its steady shoulders.