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

Popular posts from this blog

Week 4 - Goals!

Week 2 - Second week of class!

Week 4 - Interview with Industry Expert