CPT304: Week 5 Final Project: Blog Post
Week 5
Final Project: Blog Post
Aaron
Bicknell
CPT304: Operating
Systems Theory & Design (IND2151A)
Dr. Joshua
Reichard
January 31,
2022
Computer operating systems are designed to
provide services necessary for the functioning of computers and processing
devices. The textbook Operating System Concepts Essentials
(2nd ed.) uses an anecdote to describe an operating system's job. The book states that "An operating
system is similar to a government. Like a government, it performs no useful function
by itself. It simply provides an environment
within which other programs can do useful work" (Silberschatz et al.,
2014, p. 4). While it may not be lost on
the reader that there is an insinuation that governments are useless, operating
systems actually function efficiently and provide many features that allow us
to leverage the capabilities of our computers.
The operating system manages the processor, memory functions, system
performance, and I/O devices. Additionally,
the user interface, file and storage management, and security are other
functions provided by modern operating systems.
The chart below outlines the components and functions of the operating
system.
Operating System Features – Figure 1
Processes can share
information as operating systems can provide the conduit for this by mapping
memory locations, calculating multiple process threads to allow for parallel
processing, and sharing data through memory space mapping. Once a program executes a process,
this process goes through various states from beginning to end. These states are:
·
New:
The process is being created.
·
Running:
Instructions are being executed.
·
Waiting:
The process is waiting for some event to occur.
·
Ready:
The process is waiting to be assigned to a processor.
·
terminated:
The process has finished execution. (Silberschatz
et al., 2014, p. 107.).
These process states allow the operating
system to assign processor time to processes based on their status. If these processes are multi-threaded, each
thread can run as its own routine but share memory space. There are implicit dangers of complexity when
doing this; however, if we address this problem with mutual exclusion,
progress, and bounded waiting, we can maintain the integrity of the critical
section of the processes and the data that multiple threads may access. The operating system juggles these memory
management tasks to run our programs quickly while avoiding crashes and data
corruption. Figure 2 below illustrates the
process management functionality of an operating system that allows for process
data sharing.
Process Management – Figure 2
With the processing capabilities of today’s
processors, one of the issues we face is the bottlenecks as we manage main
memory limitations. Main memory is
limited in size by cost. This means that
we are limited in processing to only what we can fit in the main memory. This bottleneck is alleviated by implementing
virtual memory. In this scenario, the
operating system can offload contents of main memory and swap it out with data
stored in virtual memory that occupies less expensive yet slower storage
options. The operating system does this
by looking ahead to pre-fetch information that will be needed and loads it into
space in main memory freed by offloading bits that have already been used and
won't be required again until later.
A modern computer system will maintain communications between the processor, files, and data in memory and mass storage and the input/output devices of the machine.
Bus Structure – Figure 3 (Silberschatz, et al., 2014, p. 563.)
Mass storage is usually in the form of hard
drives and solid-state drives attached to the bus through their disk
controllers. Files are stored in various
directory structures, but usually, they are hierarchical in nature. The operating system reads and writes these
files using algorithms to determine the best performance by writing to memory
registers assigned to the bus's controllers.
This assignment allows the processor to communicate and give
instructions to these device controllers.
Figure 4 below highlights the bus structure, file properties, directory
types, and device connections.
I/O, Directory Structures, and File Attributes–
Figure 4
If we refer to the mind map above, we can see
that security is one of the file attributes that operating systems manage. Operating systems employ security and
protection schemes to ensure that our data and programs are safe and
reliable. Antivirus measures maintain a
barrier of protection from malicious outside events. In contrast, internal access control measures
such as lists and domains are utilized to ensure the least privilege to keep us
from accessing things we should not and allow access to the data we need. We can refer to the following mind map to
outline operating systems' methods and objectives to keep our data protected
and secure.
Security and Protection concept map– Figure 5
This
exercise allows us to understand the interconnectedness of the multiple facets
of operating system functionality. This
knowledge will enable me to apply the concepts for troubleshooting system
issues, developing systems, and maintaining computers in my profession and as a
mentor for our local robotics team. Speed
and reliability are critical factors in my areas of influence. I will be able to apply memory management, process
prioritization, and security practices to ensure that any of the systems in my
care are at peak performance.
References:
Bicknell, Aaron, (2022). The Bick Pens. CPT304 Summary Blog Post. Retrieved from The
Bick Pens (the-bick.blogspot.com)
Silberschatz, A., Galvin, P. B.,
& Gagne, G. (2014). Operating system concepts essentials (2nd ed.).
Retrieved from https://redshelf.com/
TutorialsPoint. (n.d.). Operating System - Memory Management. Retrieved from https://www.tutorialspoint.com/operating_system/os_memory_management.htm
TutorialsPoint
(n.d.). Operating system – Overview. Retrieved from https://www.tutorialspoint.com/operating_system/os_overview.htm
TutorialsPoint. (n.d.). Operating System Scheduling Algorithms. Retrieved from Operating
System Scheduling algorithms (tutorialspoint.com)
TutorialsPoint. (n.d.). Operating System - Security. Retrieved from https://www.tutorialspoint.com/operating_system/os_security.htm
Comments
Post a Comment