Operating Systems - Overview

Operating Systems - Overview

Operating systems and linux basic

Introduction to Operating Systems

What is an Operating System?

The operating system (os) is software that manages computer hardware and software resources and provides common services for computer programs.

OS as an abstraction layer between applications and hardware -

Instead of applications (like browsers) interacting with the computer hardware directly, they can use the OS as an abstraction layer between the hardware and system software. Apps like browsers can't be installed directly on the hardware.

Tasks of an Operating System

1. Resource Allocation and Management

Process Management (CPU):

Process management in an operating system (OS) is the management of the execution of processes. A process is an instance of a program that is being executed by the computer. The main goal of process management is to ensure that the computer's resources are used efficiently and that processes do not interfere with each other.

The OS uses several techniques to manage processes, including:

  • Process creation: The OS creates a new process when a program is executed.

  • Process scheduling: The OS decides which process should be executed next and allocates CPU time to it.

  • Process synchronization: The OS ensures that processes that need to work together are executed in the correct order, and that shared resources are used correctly.

  • Process communication: The OS allows processes to communicate with each other.

  • Process termination: The OS terminates a process when it is no longer needed.

The OS uses various algorithms to schedule processes, such as First-Come, First-Served (FCFS), Shortest Job First (SJF), and Round Robin. It also employs techniques like multitasking and multithreading to efficiently utilize the system resources.

Memory Management (RAM):

Memory management in an operating system (OS) is the process of controlling and coordinating the use of memory resources in a computer. The main goal of memory management is to provide efficient use of memory resources while ensuring that programs run correctly and do not interfere with each other.

The OS also employs memory management algorithms such as First Fit, Best Fit, and Worst Fit to determine how memory should be allocated to processes. Other important memory management features include virtual memory and memory protection, which help to protect the system from errors and crashes caused by rogue programs.

Storage Management (Hard Drive):

Storage management in an operating system (OS) is the process of managing the use of storage resources such as hard drives, solid-state drives, and other forms of non-volatile memory. The main goal of storage management is to provide efficient use of storage resources and ensure that the data stored on them is protected and accessible to the appropriate processes and users.

2. File Management

The OS uses a file system to organize and manage files on storage devices. File systems provide a hierarchical structure for organizing files, and include features such as directories, permissions, and file attributes.

  • On Windows OS: multiple root folders

  • On Linux and Mac systems: tree file system

3. Device Management

Device management in an operating system (OS) is the process of managing the use of hardware devices that are connected to the computer. The main goal of device management is to provide efficient use of device resources and ensure that devices are used correctly and do not interfere with each other.

4. Security and Networking

Security -

  • OS manages the users and gives some permissions to do some specific tasks

  • Each user has its own space and permissions

Networking -

  • OS allows to access Ports and IP addresses.

  • Transmitting outgoing data from all application ports onto the network, and forwarding arriving network packets to processes.

OS - Kernel

The kernel is the heart of every OS. This core program provides basic services. Consists of device drivers, dispatchers, schedulers, file systems etc. This is one of the first programs loaded on startup. This controls all hardware resources via device drivers. The kernel starts the process for the app. Cleans up the resources when the app shuts down.

Main Operating Systems

Why learn Linux as a DevOps Engineer?

  • Linux is the most used OS for servers!

  • Knowing Linux is a must for DevOps Engineers

    1. You need to work with servers.

    2. You must know the installing and configuring servers.

Did you find this article valuable?

Support Abhishek K by becoming a sponsor. Any amount is appreciated!