Operating Systems in High Energy Physics

If you want to work in high energy physics, you’re going to need a computer that can run the various computer programs necessary to analyze data, log on to remote clusters and even log on to computers running detectors (possibly even from another continent). While this is generally technically possible on most operating systems, some are obviously better than others. So, which one should you use?

  1. Windows: No one uses Windows for actual physics work, although it may be useful for certain applications, like making presentations or running certain Windows-only applications. You can use Cygwin to mimic the functionality of a Unix terminal, but you’ll eventually run into Cygwin’s limitations. Running large software projects on Cygwin will be a nightmare and even mundane things like ssh with X-forwarding will crash far too often. If you really want Windows, dual-boot your computer with multiple operating systems or run virtual machines.
  2. Mac: This is the favorite of many in HEP for their personal computer. OS X is easy to use and has a large suite of excellent software (though its library is not as extensive as Windows). For the most part, Apple computers will give you the least headaches. The Mac OS has been based on Unix for a long time, so most software that you find can be compiled on Mac with minimal changes. However, in recent years, Apple has been switching to the LLVM compiler. While it has almost certainly been improved, LLVM is not entirely compatible with the industry standards for all languages (such as C++), so some code may fail to run properly if you use this instead of the Gnu compilers. Apple seems to be increasingly locking everyone into Apple software, which is not great, and Apple computers are also notoriously difficult to upgrade (a lot of parts are now soldered onto the motherboard so the hardware is much more difficult to deal with than with other computers).
  3. Linux: If you care about developing and running software on your own machine and keeping everything compatible with the code repository of a large HEP experiment, Linux is what you want. Large computer clusters such as the LHC Tier 2 computing centers at various institutes around the world almost exclusively run various flavors of Linux. Linux is trickier to use than Windows or Mac OS X but at the same time, if you use Linux, you’ll get the same libraries, compilers, and third-party software as the production versions used by your experiment. Of course, this then adds the additional question of which version of Linux to use:
    1. Ubuntu: Ubuntu is generally seen as the most user-friendly version of Linux. It tends to release fewer but more stable updates compared to the other large versions of Linux. It’s based on Debian. It’s also supposed to be the easiest to install if your computer uses the UEFI boot process rather than the old BIOS. Eventually, I would hope that all OSes can be installed without problems, but currently you don’t want to screw up the whole system just trying to install a new OS.
    2. Fedora: Fedora is also a popular version of Linux. It’s based on RedHat and tends to release new versions much more often.
    3. Scientific Linux: This is a version of Red Hat developed by CERN and Fermilab. Typically, your university or lab computer cluster (where most of your computationally intensive jobs will be running) will run some version of this. I don’t think it’s as user-friendly as Ubuntu or Fedora, so I would recommend not using it on your laptop or personal desktop if you don’t have to.
    4. There are many other types of Linux you can probably use, but these are the most common.