Posts

Showing posts from March, 2023

CST 334 - Week 3

 The main topics this week involved memory allocation as well as some regular expression and awk scripts.  First memory can be virtualized.  In order for a program to run it must be loaded from the disk into RAM generating a process address space.  The program does not get access to the entire memory though.  It only gets access to available memory and only the amount it needs.  This process is controlled through the OS Memory Management system.  The OS Memory Management system provides an illusion to the program that it is accessing the entirety of the physical memory in a system.  Each process has a set illusion address space that it thinks is the entire memory.  This allows for multi-programming on a system because not one process can use all of the memory.  When the program is transferred from this illusion address space, logical address, to the physical address on the actual memory it is referred to as program relocation.  Ther...

CST 334 - Week 2

 This week was all about process and process states.  The OS controls and schedules which processes will be run and when.  One way of scheduling processes is the first in, first out (FIFO) method.  To me personally, this method makes the most sense.  The first process started should be the first one to complete but that is not always the case.  Imagine if the first process took double or even triple the time it takes for the processes to start after it.  Another way of scheduling is to complete multiple processes using the Round Robbin method that runs each process for a specific time and then switches to the next.  This process is repeated until the processes are completed.  This can be beneficial for very short processes but as the process becomes larger, the turnaround becomes much longer.  These are just two of many methods of scheduling and as you can see they both have their pros and cons. We also had some more hands-on practice wi...

Week 1

 This first week in CST 334: Operating Systems was more of an introduction to the topics we will study in the course.  We discussed the basics of what an operating system is and the purpose/history of operating systems.  An operating system (OS) is the main piece of software on a computer that manages all of the hardware and allocated the resources of the computer such as the random access memory (RAM).  Think of the OS as the middleman between the user and the computer hardware, it manages the memory, CPU, and the external devices connected to the computer. We also learned how to navigate the terminal as well as the basic shell commands to get us started.  I used vim to write my first-ever bash script that reviewed some of the shell commands as well as some variable manipulations and simple arithmetic.  The main purpose of this first assignment was to familiarize ourselves with the command line and not rely on an IDE like Eclipse or IntelliJ.