An operating system connects hardware and software, managing hardware resources and allowing the processor to run software and perform tasks. The main types are Windows, Mac OS, Linux, and DOS. Windows is the most popular as it comes preinstalled on most computers sold and has a graphical user interface (GUI) allowing interaction through windows, icons, menus and pointers. It supports many types of hardware and allows security through passwords but the code cannot be modified. Linux also has a GUI but is open source, allowing users to customize it, though it supports fewer types of hardware. Mac OS only runs on Apple computers and also has a GUI, but unlike Linux, its code cannot be modified.