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

Popular posts from this blog

Week 1 - Major functions of an Operating System

Week 4 - Files, mass storage, and I/O