Recall that in a single processor system, parallel execution is an illusion. One instruction from one process at a time can be executed by the CPU even though multiple processes reside in main memory. Imagine a restaurant with only one waiter and few customers. There is no way for the waiter to serve more than one customer at a time but if it happens that the waiter is fast enough to rotate on the tables and provide food quickly then you get the feeling that all customers are being served at the same time. This is the example of time sharing when CPU time (or waiter time) is being shared between processes (customers). Multi programming and multitasking operating systems are nothing but time sharing systems. In multi programming though the CPU is shared between programs it is not the perfect example on CPU time sharing because one program keeps running until it blocks however in a multitasking (modern operating system) time sharing is best manifested because each running process takes only a fair amount of the CPU time called quantum time. Even in a multiprocessing system when we have more than one processor still each processor time is shared between running processes. As you can see all terms are somehow related in one way or another however not using the right term in the right context is what makes the confusion so keep that in mind.
I heard that the origin of espresso macchiato was so that the bartender knew that a particular coffee in a line of coffees was different – hotter or stronger or decaf – so it was marked – macchiato – with a tiny bit of milk foam. The term has been around for a long time apparently, so some say the milk would not have been textured or foamed, as the term predates espresso machines – but of course even heating milk in a saucepan makes it go a bit foamy. So it was to mark out that coffee, not to alter its taste. Any thoughts? Obviously a latte macchiato is a totally different drink and has resulted in considerable confusion.