Week 25: Beginning of Operating Systems

The main takeaways from my first week of this Operating Systems course were:

  1. An operating system(OS) is responsible for managing the resources of a computer provides APIs, and standard libraries. An OS manages resources through virtualization. Virtualization makes use of the physical resources and transforms them into a virtual form. This allows for concurrency and multithreaded programs as well as multi-tasking. As we now know, Von-Neuman model computers fetch-decode-execute instructions which means you can only execute one instruction at a time; this was overcome through virtualization. I really enjoyed learning about the layers of functionality(User mode, Kernel Mode, and Hardware). I now know that these layers provide abstraction.
  2. We started our journey to learn and understand the Linux command line and shell scripting. The command line is truly versatile, and I've had a lot of experience using the command line through daily use but going through the exercises taught me how to use the cat command, which I have been curious about for a while.
  3. I also learned about creating a shell script that uses if statements and while loop, which I think is a fairly vital skill to have as a software engineer to create automated workflows