Translate

Monday, August 16, 2021

Operating System Theory and Design Final

Operating System Theory and Design Final 

            CPT304 has been a very interesting and thought-provoking call. It has allowed me to share what I have learned over the years from my experiences with computers with my classmates and has granted me more knowledge of how operating systems work. For our final project, we are tasked with summarizing the primary goal of an Operating System, and I am happy to share what I have learned in this post. Here we go.


Describe features of contemporary operating systems and their structures.

The Operating System (OS) is software created to manage a computer’s hardware. Its principal function is to execute applications and simplifies solving user problems. It makes the computer system convenient to use and understand while running the system hardware efficiently. Operating Systems vary in their interfaces which can be either text-based or visually interactive via a Graphical User Interface (GUI). Major features include program execution, input/output (I/O) operations, file system manipulation, resource allocation, accounting, error detection, data protection, security, and communication (Silberschatz, Galvin, and Gagne, 2014). The OS can also perform tasks such as word processing, handling printing jobs, performing complex calculations, graphical interfaces, and storing data. Examples of Operating Systems include UNIX, Linux, Mac OS, Windows, DOS, and Android.




Discuss how operating systems enable processes to share and exchange information.

The process needs to be defined to understand how the OS enables processes to share and exchange information. A process is an application that is executing through the OS. It consists of program code, current activity, a stack, a data section, and a memory heap. Processes are active, not passive, entities.



The OS often has to allow processes to share data via system calls to enable the processes to lock shared data. In these locks, one process will create and gain access to different memory sectors owned by another process. After removing any restrictions, these processes exchange information through shared memory areas that the processes must agree on (Silberschatz, Galvin, and Gagne, 2014). 

Explain how main memory and virtual memory can solve memory management issues.

Memory management issues arise when limits in the size of the physical memory impede the instructions of a process. Some programs are larger in size than the physical memory and cannot run without more space. Virtual memory helps solve limited memory size by allocating storage from storage, such as a hard drive, to create logical memory to work with the physical memory. The extra data that goes to the memory is assigned to pages which then goes to a memory map. The data can go to the physical memory from the memory map to finish its process (Silberschatz, Galvin, and Gagne, 2014).

Explain how files, mass storage, and I/O are handled in a modern computer system.

Operating Systems would not work properly without interfacing and manipulating files. Files can be named anything a user wants them to be, but each file is unique to the structure of the file type. The file type is defined by their extension, the string of characters that comes after the file name. Examples of file extensions are .txt for text files, .c for C language files, or .jpg for an image file. Each file has metadata that tells the user various information, which can include the size, the protections, and the date the file was created. Files are managed by the file system, which has functions meant to map logical files into physical storage, order logical data records into physical data records, allow for multi-level file organization, and file protection  (Silberschatz, Galvin, and Gagne, 2014). The files are permanently stored on mass storage devices, such as a hard disk drive or a solid-state drive.

Mass storage and input/output (I/O) devices are handled by the Operating System’s hardware and software layers. These devices are integrated via various bus types (hardware layer) that the computer’s physical hardware is connected to and are managed by drivers (software layer). Some devices have dedicated buses that integrate to a separate bus, such as a SCSI array which has its bus that integrates to the PCI bus. I/O devices can be a keyboard, monitor, printer, graphics controller, and a printer (Silberschatz, Galvin, and Gagne, 2014).

Outline the mechanisms necessary to control the access of programs or users to the resources defined by a computer system.

An OS controls access of programs and users to the computer system's resources via its integrated protection. Protection is necessary to keep information safe from incorrect usage and damage. Protection is achieved through specific permissions of objects. Objects can be users, devices, or programs. Each of these objects is assigned a domain that has certain privileges. Privileges can include having rights to read, write, execute, append to, delete, and list the attributes of a file. Depending on the domain privileges, an object can have as many or as few access rights as a systems administrator allows it. Some domains have predetermined privileges for all users, while others have very limited or basic privileges (Silberschatz, Galvin, and Gagne, 2014). An excellent visual depiction is an access matrix, which highlights objects within a domain and its access.

Recommend how you will use these concepts about operating systems theory in future courses and/or future jobs.

The concepts of the Operating System are crucial for me to remember and succeed in future courses as the information is relative to my major, Computer Science. My goal is to be a software engineer or designer and know precisely how the operating system functions go hand-in-hand with the development of programs. Each OS is unique, and programming for them requires me to remain knowledgeable on their operations. Fortunately, my current job allows me to continue practicing the uses of different Operating Systems, including Windows, Linux, macOS, and servers that run on various Linux and Unix versions. I will also use the knowledge I gained from this course to administrate my computers better and use that knowledge to maintain and make my devices run more efficiently.

 

References

Silberschatz, A., Galvin, P. B., & Gagne, G. (2014). Operating system concepts essentials (2nd 

ed.). https://redshelf.com/

No comments:

Post a Comment