Welcome to OS Simulator

All Algorithms in one go

Project done as part of the curriculum of CS254 - OS Lab

Operating System

What is an operating system ?

An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.

Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting software for cost allocation of processor time, mass storage, printing, and other resources.

For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between programs and the computer hardware, although the application code is usually executed directly by the hardware and frequently makes system calls to an OS function or is interrupted by it. Operating systems are found on many devices that contain a computer - from cellular phones and video game consoles to web servers and supercomputers.

Some operating systems require installation or may come pre-installed with purchased computers (OEM-installation), whereas others may run directly from media (i.e. live CD) or flash memory (i.e. USB stick).

Topics covered

Check our Topics

These are the topics along with their Simulations

Page Replacement Algorithms

Since actual physical memory is much smaller than virtual memory, page faults happen. In case of a page fault, Operating System might have to replace one of the existing pages with the newly needed page. Different page replacement algorithms suggest different ways to decide which page to replace. The target for all algorithms is to reduce the number of page faults.

Disk Scheduling

Disk scheduling is a function of operating systems that schedules I/O requests arriving for the disk. Since only one I/O request can be served at a time by the disk controller, it is necessary to have algorithms in order to serve the I/O requests one by one. These algorithms need to ensure that the disk arm movement need to be minimal as hard drives being mechanical, are one of the slowest parts of the computer system.

MVT and MFT

MFT and MVT are different memory management techniques in operating systems. MFT or fixed partitioning scheme. 1. The OS is partitioned into fixed sized blocks at the time of installation. For example, there can be total 4 partitions and the size of each block can be 4KB

Memory Fit Algorithms

Memory Fit Algorithms are used to fill holes in main main memory efficiently.

Process Scheduling

The process scheduling is the activity of the process manager that handles the removal of the running process from the CPU and the selection of another process on the basis of a particular strategy. Process scheduling is an essential part of a Multiprogramming operating systems.

Process Synchronization

Producer-Consumer Problem is also known as bounded buffer problem. The Producer-Consumer Problem is one of the classic problems of synchronization. There is a buffer of N slots and each slot is capable of storing one unit of data. There are two processes running, i.e. Producer and Consumer, which are currently operated in the buffer.

Paging

Paging is a function of memory management where a computer will store and retrieve data from a device's secondary storage to the primary storage. Memory management is a crucial aspect of any computing device, and paging specifically is important to the implementation of virtual memory.

Security

OS security refers to specified steps or measures used to protect the OS from threats, viruses, worms, malware or remote hacker intrusions. OS security encompasses all preventive-control techniques, which safeguard any computer assets capable of being stolen, edited or deleted if OS security is compromised.

File Allocation

The allocation method defines how the files are stored in the disk blocks. The direct access nature of the disks gives us the flexibility to implement the files. In many cases, different files or many files are stored on the same disk.

Deadlock Algorithms

Deadlock Algorithms are algorithms that are used by the operating system to prevent and avoid deadlocks in the system

Directory Structure

A directory is a container that is used to contain folders and files. It organizes files and folders in a hierarchical manner. There are several logical structures of a directory, these are given below. Single-level directory - The single-level directory is the simplest directory structure.

F.A.Q

Frequently Asked Questions

We will be updating the rest of the questions soon

  • It is generally a program that initializes OS during startup i.e., first code that is executed whenever computer system startups. OS is loaded through a bootstrapping process or program commonly known as booting. Overall OS only depends on the bootstrap program to perform and work correctly. It is fully stored in boot blocks at a fixed location on the disk. It also locates the kernel and loads it into the main memory after which the program starts its execution.

  • IPC (Interprocess Communication) is a mechanism that requires the use of resources like a memory that is shared between processes or threads. With IPC, OS allows different processes to communicate with each other. It is simply used for exchanging data between multiple threads in one or more programs or processes. In this mechanism, different processes can communicate with each other with the approval of the OS. Different IPC Mechanisms: 1.Pipes 2.Message Queuing 3.Semaphores 4.Socket 5.Shared Memory 6.Signals

  • Overlays is basically a programming method that divides processes into pieces so that instructions that are important and need can be saved in memory