CST 334: Week 1 Learning Journal
This week’s lessons covered several foundational topics that introduced key concepts in operating systems and computer organization. The modules included Introduction to Operating Systems, Computer Architecture Review, Linux and the Shell, Programming in C, Command Line Introduction, and a Math Addendum. Each topic helped me understand how different parts of a computer system work together and how software interacts with hardware through the operating system.
Introduction to Operating Systems - I learned about the purpose of an OS — to manage hardware, software, and resources so that users and programs can run efficiently. It was interesting to see how the OS acts like a bridge between user commands and the computer’s internal functions, handling things like memory management, process scheduling, and file access. This made me realize how much happens behind the scenes when we simply open an app or save a file.
Computer Architecture Review - Helped me understand the structure of a computer system — particularly how the CPU, memory, and storage devices interact. The relationship between hardware and the operating system became much clearer. I found it helpful to revisit concepts like the fetch-execute cycle and memory hierarchy. Although I’ve seen these topics before, connecting them to how an OS manages processes and resources made them feel more relevant and practical.
Linux and the Shell - I found this module both fascinating and challenging. Learning how to use the command line to navigate directories, manage files, and run commands gave me a better appreciation for how powerful text-based interfaces can be. It was eye-opening to realize that so much can be done without a graphical user interface — from automating tasks with shell scripts to controlling permissions and system processes. However, remembering the correct syntax for certain commands was tricky at first, and I had to keep practicing to get comfortable with it.
Programming in C - This section connected well with the OS concepts, especially since C is so close to the hardware level. Writing simple C programs helped me see how memory and pointers work, which ties directly into how operating systems handle processes and data. I did find pointers and memory addresses a bit confusing, especially when thinking about how data is stored and accessed. But once I saw how C code interacts with the OS through system calls, it started to make more sense.
Command Line Introduction - A helpful piece that reinforced the Linux material. I liked seeing how commands can be combined or piped together to perform complex operations efficiently. It made me think about how automation and scripting could save a lot of time in real-world development environments.
Math Addendum - It reminded me how much logic and computation depend on mathematical principles like binary and hexadecimal systems. It was a good refresher that connected directly to understanding memory addresses and data representation.
My biggest I get this moment this week was realizing how all these topics, from hardware and C programming to Linux commands, are interconnected parts of a larger system. I’m curious to learn more about process management and memory allocation in upcoming weeks, especially how virtualization builds on these foundations to let multiple systems share hardware resources efficiently.
Comments
Post a Comment