CST334 Week1
Week One:
This week was a good introduction to how computers really work behind the scenes. I’ve used operating systems
my whole life without ever thinking about what’s actually going on when I open an app or run a program. The fact
that the OS is the connection point between hardware and software made me realize why it is so important to speak
about it. It manages memory, controls processes, handles input and output, and basically keeps everything running
smoothly. Without an OS, a computer would just be a pile of hardware that doesn’t know what to do.
Beside that, we took a look at computer architecture too which described the interaction of CPU, memory, and
storage. I had a rough understanding of the functions of these components already, but this week was enlightening
for me. It was like a visualization of the data flow between the processor and the memory, and the instruction
execution was like a fine step by step movement of the machine. The lesson about binary, decimal, and hexadecimal
systems was like an interesting torturous path for me through the hardest part. Theoretically, I figured out how they
function, but performing the conversions by hand requires practice. I kept mixing up the digits when switching
between binary and hexadecimal, however, I am aware that those things will become easier as I get more
exposure to them.
Once I became familiar with the Linux and shell commands, they turned out to be nice to work with. Typing
everything instead of clicking icons was unusual for me at first, but after knowing a couple of commands, I
gradually discovered the benefits of using the command line. It is quicker, and it provides more power. Creating a
bash script for task automation brought to my mind the immense amount of time that can be saved for
programmers and system administrators.
We began to write programs in C as well, which was hard but gratifying. The language is more primitive than
what I normally work with, so it seems to be more or less the same as how the computer actually executes
commands. Compiling programs by hand and using a makefile to create them automatically were very
informative and enlightening in a way that they clarified the whole workflow. I also appreciated the connection
to the OS concepts, realizing how the code communicates with the memory and processes made everything
come together for me.
The part that came easiest to me was understanding what the OS does and how everything fits together. The
hardest part was the number systems and keeping track of all the syntax rules in C. Still, by the end of the week,
I felt more confident with both.
One of the issues that I have yet to settle in my mind is the procedure of virtualization. If a single operating
system is already in control of the hardware, how is it possible for several operating systems to operate
concurrently on the same computer? I am really looking forward to learning about this as it seems to be the
next step in the progression of understanding the evolution of operating systems.
Comments
Post a Comment