Final Project Summary
Week 5 – Final Project
Summary
Joseph Ahumada
The University of Arizona Global Campus
CPT304: Operating Systems Theory & Design
Instructor Bret Konsavage
April 17, 2023
What are the fundamental concepts that underlie operating
systems?
In
today’s World, various types of computer devices are used daily both personally
and professionally. While many aspects of these devices change, one component
that tends to stay the same is the need for an operating system. As time
progresses, the operating system will also move forward and undergo many phases
of upgrades. This progression will bring on new ideas, but one that stays the
same is the fundamental concepts that underlie operating systems. Many of these
concepts are items such as Process Management, Memory Management, Disc Storage,
I/O Management, File Directory Structure, Access Matrix, and Protection and
Security. This course introduced us to these concepts and guided us as we built
our concept map which visually shows how each component is connected. It is
these concepts that provide an interface between the hardware and the operating
system and allows for successful user interaction.
Describe features of contemporary operating
systems and their structures.
There
are many features of a contemporary operating system that allow computers
systems to run efficiently which are as follows:
Multithreading: A concept that allows for multiple
applications to run simultaneously and provide faster and more efficient performance.
Virtual Memory: Allows for better memory management
by distributing memory as needed between the RAM and the hard drive.
File directory structure: These structures can come in many levels from single, two-level, tree-structure, as well as acyclic-graph which allows for multiple levels of file management of data.
I/O devices: This concept allows device
drivers to manage hardware components such as a monitor, mouse, keyboard, printer,
scanner, and many other input devices.
Protection and Security: Many operating
systems have built-in security features which protect against various threats.
Some are in the form of anti-virus software while others are written in
programming languages such as Java. Other types of threats can come in
other forms which include:
Physical: The location where the computer
systems are housed must be always secured by using items such as a physical
key, key card, or even biometric scanning.
Human: This threat can be anyone attempting to
access any system either by social engineering, phishing, or entering a secure
area. It is best to grant access only to those who are authorized.
Network: This type of attack is done over a
network connection either direct or wirelessly. All network systems should be
protected at all times to avoid any type of hacker attack.
Kernel: This is the staple of the operating
system which is responsible for the hardware, memory, and processes.
Applications: These are the programs that run in an operating system such as a word processor, game, or web browser which is what a user interacts with.
Discuss how operating systems enable processes
to share and exchange information.
An operating system can enable processes to
share and exchange information by using multiple connecting concepts. The main
component that's involved is the process control block which will start in a
process state. These states will typically move in the other of new, running,
waiting, ready, and terminated. The process block will also monitor the number
of processes, as well as a counter to look for the next process, a register,
and a list of open files. Other components involved are the main memory, the
critical section problem, virtual memory, the memory management unit, physical
address space, and the CPU. All these components will communicate with each
other for a process to successfully share and exchange information.
Explain how main memory and virtual memory can
solve memory management issues.
A computer system’s main and virtual memory can
solve memory management issues by allocating and deallocating memory resources
as necessary. When there is an issue of lack of space required to run a
process, both main and virtual memory will work together and often share space
to run a process effectively and efficiently. Main memory typically has faster
access to data and will store frequently used data. Virtual memory can allow a process
to use more memory than is readily available on the system which can free up
main memory for other processes. The communication between the two types of
memory allows for a more efficient operating system and ensures processes can access
memory resources as needed.
Explain how files, mass storage, and I/O are
handled in a modern computer system.
Files, mass storage, and I/O are commonly working
together in a computer system through different software and hardware commands to
gather data for the user. These files can be in the form of Word documents,
music, pictures, or any type of file that is created by and for the user. They
are stored on mass storage devices which consist of either a hard disk that has
a platter style like a round CD which is stacked on one another. There is also
an arm assembly that will read and write via a head that is connected to an
arm. These disks will spin when in use reading segments at a high rate. Another
type of disk is called a solid-state (SSD) which is nonvolatile memory and does
not have any moving parts. This type of device acts more like a jump drive and
is typically faster than a standard hard disk. One other type is magnetic tapes
but is not as reliable and fast as hard disks or SSDs. These are normally used
as backup storage given, they don’t perform as fast and aren’t used as often. The
I/O pertains to the input and output from various devices such as a mouse, keyboard,
printer, and some form of display such as a monitor or projector. The I/O
components are connected via a PC Bus and communicate using software and or device
drivers to complete the task of retrieving files.
Outline the mechanisms necessary to control
the access of programs or users to the resources defined by a computer system.
There are various mechanisms used to control
access for programs or users. There is the protection and security section which
controls access to programs and users to specific resources within a computer
system. This is also known as authentication which verifies a user or program before
it allows access. This can be done using items such as key codes, passwords, or
even biometric data. Once authorized, access is granted. Once access is
granted, other mechanisms that assist in the control are the access control
list and capability lists. Both items are similar in that specific access is
granted to objects in the form of read-only, read-write, delete, execute, or
deny. The main difference is an access list controls each individual object
while a capability list controls a domain where multiple objects can be a part.
These items are part of the access matrix which contains rows and columns that
show the domain, objects, files, and the type of access that has been granted.
An example of this would be Domain 1 has read access to file 1 and file 3 while
Domain 2 has read/write access to file 3. This means domain one cannot access
file 2 and domain 2 cannot access files 1 and 3. These mechanisms are essential
to ensuring files and objects are protected and accessed by those who have been
granted.
Recommend how you will use these concepts
about operating systems theory in future courses and/or future jobs.
There are many concepts about operating system
theory that can be used towards my goal of becoming a systems administrator. I’ve recently had the opportunity to build some virtual servers from scratch. The concepts and information I have gained
in this course will help with future builds in knowing the server specifications
required for a specific project. I now have a better understanding of how
the base operating system is configured, the components needed, and how to properly
adjust for the environment. I understand how a process functions and can
evaluate the need for a server and have an understanding when troubleshooting
processing issues. I can use the concepts of memory and know how to configure
the RAM and disk drives to ensure proper server functionality. I've gained a
better understanding of the importance of security and will be able to determine the access needed to be granted to the server and the files within. I will
be able to restrict access to only those specific users and understand how the
file directory structure is configured. All these concepts which I have learned
over these past 5 weeks will provide a successful pathway to becoming a systems
administrator and the ability to perform the job with confidence.
- Click the link below to view the final concept map -
Operating Systems Theory & Design Final Concept Map
Comments
Post a Comment