Skip to main content

OS Theory Concept Map

Section 1: Features and Structures of Contemporary Operating Systems


Section 2: Threads and Process Synchronization 

Section 3: Memory Management


Section 4: Files Systms, Mass Storage & I/O

Section 5: Security and Protection



     Operating systems perform several major functions to manage computer hardware and software resources efficiently (GeeksforGeeks.com, 2024). Process management manages processes, creates scheduling, terminates, and synchronizes programs for efficient utilization of CPU time. Memory management manages and allocates memory to processes and ensures they do not interfere with each other. File system management organizes files on storage devices like hard drives and SSIDs. It also manages the creation of files, deletion, and access permissions. Device management manages I/O devices like keyboards, mice, printers, and storage devices. Networking allows computers to connect to other computers/devices via a network. Security protects the system and resources from unauthorized access, viruses, and other possible threats. Error detection and handling is done during operation, which detects errors like bugs, invalid user inputs or hardware faults. 
    The Kernel, which is at the core of the operating system, is responsible for managing resources, providing services and interacts directly with hardware. Within the Kernel, device drivers allow the OS to communicate with hardware devices like printers, keyboards, mice, and network adapters. File system manages the organization, storage, and retrieval of data on storage devices. It also provides a hierarchical structure of directories, files, and ability to access and manipulate them. Process management within the Kernel, manages processes that run instances of programs including creation, scheduling, termination and syncing. Memory management is responsible for deallocating memory for processes, managing virtual memory and handling memory protection and sharing. I/O management handles the communication between the OS and I/O devices, including buffering, caching, and scheduling. Networking allows the OS to communicate over network, data transmission, network configuration and network services. The user interface allows user to interact with the computer system.
    A process is an instance of a program in execution which includes the program code, data and resources required for execution. A process state can be in several states during the lifecycle, which are New (the process is being created), Ready (the processes is waiting to be assigned to a processor), Running (instructions are being executed), Waiting (the process is waiting for some event to occur), and Terminated (the process has finished execution) (Silberschatz, et al., 2014). The process control block (PCB) is the data structure that contains information about a process.
    A single-threaded process has one program that executes one task at a time, meaning only one set of instructions can be executed at any given time. A multi-threaded process allows programs to perform multiple tasks concurrently, which improves performance. Each thread has its own program counter, stack, and execution, but shares memory and files.
    The critical-section program is a segment of code that accesses shared variables. It ensures that at most, one process is executing its critical section at a given time. The Peterson’s Solution is restricted to two processes that alternate execution between their critical sections and remainder sections.
Memory management is the process of managing computer memory (RAM) to ensure the system and applications operate efficiently. The objectives of memory management are addressing space management, resource utilization, memory protection and virtual memory support (Operating System - Memory Management). The functions of memory management are allocation and deallocation, address translation, virtual memory management, and memory mapping. Physical address space is the actual addresses in physical memory (RAM) where data and instructions are stored. Virtual address space is the range of addresses used by a process. Paging divides virtual and physical memory. It maps virtual pages, allowing non-contiguous allocation of memory. Segmentation divides memory into segments: code, data, stack. It enables protection and sharing of memory among processes. Combined paging and segmentation combine the benefits of both by using paging with segment memory allocation. 
    The objectives and functions of file systems management are data organization, data accessibility, data integrity, data security, resource optimization, data backup and recovery, and scalability. The supported operations in file systems operations are create, open, read, write, append, truncate, delete and close (GeeksforGeeks.com, 2023). The hardware layer manages devices like the SCSI devices, keyboard, mouse, monitors, floppy disk drives, disks, tapes, and drives. The software layer supports drivers, I/O subsystem, software applications and the kernel.   
    The goals of domain based, and language-based protection are to prevent malicious misuse of the system by users or programs, ensure that errant programs cause minimal amount of damage possible, and programmers should implement protection policies to protect resources based on specific applications (Silberschatz et al., 2014). The principles of domain based, and language-based protection are Principle of Least Privilege and Need to Know Principle. The Principle of Least Privilege dictates that program users and systems be given just enough privileges to perform their tasks. The Need-to-Know Principle states that a process should only have access to those objects it needs to accomplish its task, only during timeframe needed (Silberschatz et al., 2014). The access matrix represents resource access rights for processes. Security uses various methods for protecting programs, systems, and networks from threats. It uses physical, operating system, human and network protections. 
    By understanding the fundamental concepts of operating systems theory, it can be very beneficial in future coursework and information technology related jobs. The knowledge obtained can be used in future classes throughout my IT degree program. It will be helpful in understanding future IT concepts and continuing to build on those skills. It can also help with future development of software, IT administration and development of innovative technologies. 





References
File Systems in Operating System. (2023, December 4,). GeeksforGeeks. Retrieved Apr 8, 2024, from https://www.geeksforgeeks.org/file-systems-in-operating-system/
Functions of Operating System. (2024, January 19,). GeeksforGeeks. Retrieved Apr 8, 2024, from https://www.geeksforgeeks.org/functions-of-operating-system/
Operating System - Memory Management. Retrieved Apr 8, 2024, from https://www.tutorialspoint.com/operating_system/os_memory_management.htm
Silberschatz, A., Galvin, P. B., & Gagne, G. (2014). Operating system concepts essentials (2nd ed.). Retrieved from https://redshelf.com/

Comments

Wired - Gear - Latest

Tech & Work | TechRepublic

TechRadar - All the latest technology news

ZipRecruiter