Every modern operating system has some sort of startup routine. Even DOS had the old AUTOEXEC.BAT and CONFIG.SYS. The startup system defines what is launched on system startup, under what conditions, and in what order. More here
Nearly all Linux variants use a startup routing modeled after the one found in UNIX System V. Ubuntu uses a system called Upstart which is meant to be backward-compatible with the normal SysV Init. These all run based on the concept of runlevels.