Operating systems are a complex group of different
systems that cooperate with each other to make a system that can complete all of
the tasks that your computer needs to complete. These systems include the
Process Management system, Memory Management system, File System Management,
Device Management, and Security and Protection. These systems intertwine and
create the operating system that we know today. These systems help to manage
hardware. The modern computer operating system is designed to balance
performance with efficiency. It is a delicate balance that the system has to
keep in place. The Process Management system controls how the processes
function and determines how each process is operated. The Memory Management
system controls how the memory functions. It controls the Random Access Memory
(RAM) as well as the Hard Disk Drives (HDD) and Solid State Drives (SSD).

Processes are controlled by the Process Management
system. This system determines the who, what, when, where, and how each process
will operate. There are five different steps in a process cycle. These are
Terminated, Running, Ready, New, and Waiting. Terminated is then the process
has run its course and is finished. Running is when the process is currently in
the process of operating. Ready means that the process has been loaded into the
RAM. The New state is when the process has just entered the system. The Waiting
stage is when the process is waiting for instructions from the Central
Processing Unit (CPU) on what stage to proceed to next. These systems will
share information and wait their turn through the Process Control Block (PCB). The
PCB determines which process gets access to which resource at what time through
the CPU.

Main memory
is also the physical component of the memory system. How I envision virtual
memory is that you are outsourcing your processing to a separate device, such as
a server. Due to this being stored online for you, it is virtual. The way that
these systems assist and correct memory management issues is through the use of
resource sharing. Main memory and virtual memory share resources to allow for
processing to operate without overlap or a reduction in performance. When main
memory reaches its limits, virtual memory can step in and assist with
processing the information. Virtual memory assists with fragmentation through
paging. This prevents the fragments of information from getting overlooked and
missed.

Modern computer systems use the File
system combined with the Input/Output system and Mass Storage to operate
multiple things in the computer system. Files allow for the read and write of
information inside the operating system and mass storage devices such as HDDs
and SSDs. The physical storage, such as HDDs and SSDs, communicates with the I/O
software, allowing the operating system to control the external devices. These
external devices then allow you to see and operate your computer. Which, in
turn, allows you to read, write, and even delete files within the File Management
system, bringing the system full circle.

There are multiple ways to control access
to files and other systems within the computer operating system. One of the
most common in modern computers is through the use of access lists held by the
access matrix. The access lists provide defined users with permissions onto
specific objects. This allows all users with the appropriate access to access
the objects that they are defined as having. The other way is through the use
of capability lists. The capability lists give users access to the domain
through the use of tokens. These tokens can be a security risk as if they were
to be released to individuals who should not have access it would possibly
create a data breach.

In the future, I plan to either work
in Information Technology or in developing games. Either path it is good to have
a general understanding of how operating systems function. This understanding
is the base that many future courses will build upon. Having this understanding
allows me to dive deeper into the operating system to diagnose any issues that
may arise in the future.