So as you may know, I’m working on my Master’s in Information Technology. Basically I’m getting a piece of paper to prove I know how to do what I’ve been doing for a long time. (It’s a competitive industry and you need every advantage you can get, frankly.) After some deliberation, I’ve decided to post about my journey in this educational pursuit; although I won’t be posting every assignment, I’ll be posting the ones I think are useful or interesting or overly visual. I’m sure it will be entertaining, and who knows, maybe even educational. Let’s go!

One of my first assignments in my Operating Systems course was to diagram some of the hardware abstractions present in the most basic operating systems, specifically CPU, memory, and disks.

At first, I was tempted to make a very visual diagram that included little pictographs and bright colors, but then I realized that providing such visual detail to abstractions kind of undermines the point of abstracting the information in the first place. So I opted for a simple block diagram since we’re detailing relationships, and the detailed explanations are written next to the relevant component.

The Central Processing Unit (CPU) is the brain of the computer, responsible for fetching, decoding, and executing its instruction set using system calls. Memory is a piece of hardware that stores information for immediate use, either permanently or temporarily. The disk is a mechanical device that stores information for later and long-term use. Similar to memory, but much with a much larger storage capacity that is slower to access. Processes are the abstraction of the CPU and system calls, basically a container for a reference to all the information needed to run a program. Address spaces (also sometimes confusingly called memory) are the operating system's abstraction of memory, and are pieces of information (addresses) that correspond to the memory space allocated to the program's use. Files are an abstraction for the disk, providing programs a way to interact and store information on the disk. Files are typically grouped into a directory structure.
Visualizing the basic components of an operating system as an abstraction.

  1. Stuff I Did: 12/16/15-12/31/15 – Smokie Does Stuff
    Dec 31, 2015

    […] about the evolution of operating systems and diagrammed the relationship between hardware and the operating system abstractions of that hardware. Read more here, although honestly not much more than what I just told you. Don’t click the […]