Learning Journal - Week 27

 During this past week of CST334, there was a few new topics I was excited to dive into. The lectures covered specifically:

  • A brief introduction of operating systems
    • How an operating system chooses to allocate resources for all of its programs, what is important to it (such as protecting certain files and also giving the user an easy-to-use interface), and how a computer's resources are managed by the operating system.
  •  Computer Architecture
    •  Discussing the core components of a computer, such as the central processor and memory, as well as going over the hierarchy of computer storage (registers, cache, main memory, etc.). This lecture connects a computer's hardware to software and how the two interact in a low-level.
  •  Linux and Shell
    • A history and overview of the Unix operating system, as well as its derivatives like GNU/Linux and OSX (MacOS). This lecture also briefs over how an operating system splits permissions, such as User modes and Kernel modes, for interacting with different parts of the system, as well as briefly going over the bash shell command-line for running operating system commands.
  •  Programming in C
    • Discussing how the C programming language compares to other similar languages like C++ and Java which are based on it. The lecture goes over basic data types and also code examples to show how programs flow.
  •  Command Line Introduction
    • A basic introduction to the command line, showcasing commands like ls (list), cd (change directory), and cat (concatenate) as well as a fundamental understanding of flags and getting help for commands.
  •  Hexadecimal and Binary Math
    • This lecture serves as an addendum which goes over how to convert binary to hexadecimal format (useful for memory addresses).


I think from the topics we went over, I struggled the most with understanding C, despite coming from a C++ background. I know that my problem will get solved while playing with it more, but seeing so many features getting stripped away -- like strings, classes, and methods -- is causing my brain to freeze for a few moments.

The syntax of C looks very similar to what I'm used to, but interacting with it in this nature, especially using docker and command line which is an area I'm not too familiar with, has been a small challenge.

Understanding and writing about Linux and Shell was relatively straightforward. I remember a good amount of aspects from those lectures and I feel mildly confident in explaining some of those concepts.

I believe coming up will likely be more interaction with bash and the command line, and maybe looking more into manual memory allocation in C.

Compared to other classes, I am seeing a connection between this one and my Assembly course which discussed very low level operations and went over computer hardware, the stack, and heap. Also, working with my previous class where SQL was used involved docker, and the bash section of this course is explaining well the commands to use docker in the terminal.

Comments

Popular posts from this blog

Learning Journal - Week 2

Learning Journal - Week 4

Learning Journal - Week 4 INDUSTRY EXPERT