Sunday, 2 July 2023

OS Theory Concept Map

 

The operating system is one of the most critical parts of a computer system. A computer's operating system includes system software that manages computer hardware and software resources and provides standard services for computer programs (Silberschatz, A., Galvin, P. B., & Gagne, G. 2014). Throughout this course, we have discussed many different aspects of an operating system, such as OS functions, processes, memory management, File systems, Mass storage, I/O, Security, and protection. We will discuss a few points regarding these features.


An operating system includes a user interface such as a GUI, program execution, I/O operations, file system manipulation, communication, and error detection. These functions are user-based. System-based functions include resource allocation, accounting, security, and protection (Silberschatz, A., Galvin, P. B., & Gagne, G. 2014). Program execution allows the operating system to start, run, and execute programs. I/O operations will enable the system to operate devices such as a printer. File system manipulation allows for files to be written and read. Communication enables the operating system to communicate among the different functions. Error detection detects and corrects errors within the system, such as file errors or I/O errors (Silberschatz, A., Galvin, P. B., & Gagne, G. 2014).




Within a computer, we have many processes that execute. A process is a computer program executed by one or many threads. Depending on the operating system, a process may consist of multiple threads of execution that execute instructions concurrently (Silberschatz, A., Galvin, P. B., & Gagne, G. 2014). Simply put, a process is a program in execution. As processes execute, the state the process is in will change. The process may be either new, running, waiting, ready, or terminated. A process control block includes information that is associated with each process. The PCB includes process state, process counter, CPU registers, scheduling information, memory, accounting, and I/O status information (Silberschatz, A., Galvin, P. B., & Gagne, G. 2014).



Memory management is the functionality where an operating system moves processes back and forth from the main memory to disk memory for the processes to execute (Tutorial Point, N.D.). Some memory management functions include address binding, where a program is moved from storage to become a process at some point during the compile, load, or execution times. Dynamic loading keeps certain routines part of a program on disk memory to utilize more memory space. Swapping includes processes swapped in and out of memory to a backing store, allowing for more multiprogramming. Memory allocation involves memory that is divided into two partitions. These two partitions include low memory for the operating system and high memory for the user processes (Tutorial Point, N.D.).


File management includes actions where the system organizes the data files to allow easy access. Attributes of a file include name, identifier, type, location, and protection (Tutorial Point, n.d.). The operations of file management include creating the file where the file is created in the directory. Reading the file consists of a read pointer that specifies where the file should be read. Writing a file includes a system call that specifies the file name and what needs to be written. Deleting a file locates the file and removes it. Repositioning a file includes setting a file value to the appropriate entry. The last operation is truncating, where data from the file is deleted without destroying all file attributes (Silberschatz, A., Galvin, P. B., & Gagne, G. 2014).


File management includes various structures such as single-level, two-level, tree-structure, acyclic, and graph directories. Single-level directories are directories where all files are contained in the same directory. Two-level directories allow each user to utilize their file directory. Tree structure directories enable users to create their sub-directories to organize files. Acyclic graph directories share sub-directories and files. General graph directories are similar to tree structure directories, but in general graphs, links are added, and cycles can occur, dismantling the tree structure (Silberschatz, A., Galvin, P. B., & Gagne, G. 2014). Mass storage may be handled by a hard disk drive or an external device such as a hard drive. I/O operations, such as printing, are handled by device controllers and drivers.





Protection and security are two mechanisms used to control access to a computer's programs and resources. Protection can be considered an internal mechanism, whereas security is external. Within protection, we have domain-based and language-based. According to the text, domain-based protection gives access rights that determine a process's operation (Silberschatz, Galvin, & Gagne, 2014). We can illustrate how this works by looking at an access matrix. An access matrix is a table where the rows are individual domains, and the columns are objects.


Security protects a system from external threats. These threats or attacks include Trojan viruses, trap doors, logic bombs, or stack and buffer overflow. These threats and attacks are mitigated by several security features such as antivirus software, cryptography, authentication, encryption, and firewalls (Silberschatz, Galvin, & Gagne, 2014).





Given everything learned throughout this course, I feel as if I will benefit greatly. I work on a computer system every day and having a better understanding behind the operating system is great knowledge to have. Once, I retire from the military I plan to transition into a position working in the information technology community. Working in the I.T. field in the military I have already been exposed to a great deal of experiences relating to I.T. I believe that the information I’ve learned in this course will better assist me on the help desk and automations realm of the I.T. community. Enabling another way for me to better understand possible problems that some of our customers have.


References:


Geeks for Geeks. (n.d.). File Systems: Operating Systems. Retrieved October 4, 2018 from https://www.geeksforgeeks.org/file-system-operating-systems/

Shukla, A. (2017). Process Control Block in Operating System. Retrieved September 20, 2018, from https://www.includehelp.com/operating-systems/process-control-block-inoperating-system.aspx

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 September 27, 2018 from https://www.tutorialspoint.com/operating_system/os_memory_management.htm

 Tutorials Point. (2018). Operating System - Multi-Threading. Retrieved September 20, 2018, from https://www.tutorialspoint.com/operating_system/os_multi_threading.htm

 Tutorials Point. (n.d.). Operating System- Security. Retrieved on October 11, 2018 from https://www.tutorialspoint.com/operating_system/os_security.htm

No comments:

Post a Comment

OS Theory Concept Map

  The operating system is one of the most critical parts of a computer system. A computer's operating system includes system software th...