An operating system is system software that lead the computer hardware, software resources, and also provides common services for computer programs. Hardware functions such as input and output and memory allocation, the operating system interpret an intermediary in the middle of programs and the computer hardware, even though the application code is generally executed directly by the hardware and frequently makes system calls to an operating system function by it. Operating systems are establish on many devices that contain a computer from video game and cellular phones consoles to web servers and supercomputers.
Operating System performed many functions:
- It controls the execution of various using programs.
- It prevents user interference with the hardware.
- It provides user-friendly and efficient implementation for the correct operation of the computer system.
- It is responsible for the scheduling and typecasting of resources and services like input output devices, memory, processors, etc.
Data structures is widely used for efficiently storing and retrieving data. The data structure is also capable of handling actual relationships of data in the real world. Data Structure is also used for effectively organize, store, process, and retrieve data.
There are many Data Structures and their applications used in Operating System:
- In operating system linked list is used in dynamic Memory Management tasks like releasing memory during run time.
- Linked List allows us to go to previous and next websites on our browsers by using the BACK and NEXT buttons.
- The addresses of the websites are stored in doubly-linked lists.
- A linked list provides a simple way to manage unbounded memory in a system.
- The compiler/operating system uses a stack data structure for storing local variables that are used inside a function block.
- The Stack data structure is mostly used to process function calls and implement recursive functions.
- The return values and addresses of the function are pushed into the stack and the last tabbed function will first return the value by popping the stack.
- Queues in Operating Systems are used to store the interrupts.
- Queue is used to process synchronization in operating system.
- Queues are also used in disk job scheduling.
- It is used by an using program to store the incoming data.
- Trees are used in many applications of searching where data is entered and deleted continuously such as the maps, sets etc.
- Trees are used for traversals and searching of directory structures in the system with the help of operating system.
- Graphs are used in CPU job scheduling.
- Jobs are consider as vertices of the Graph and edges between two jobs that are related to each other.
- Simultaneous execution of jobs by the set of processors is executed with the help of graphs.