This week in Operating Systems, we were introduced to Concurrency. This topic revolves around the usage of threads within a single process. A multi-threading (the use of multiple threads) is distinct from multiprogramming (the use of multiple processes) in that threads all live inside the same process; they can share all data. This offers advantages over multiprogramming in many scenarios, and Operating Systems generally take full advantage of multi-threading, hence its inclusion in this course.