Operating System - Processes (2024)

Operating System - Processes (1)

  • Operating System Tutorial
  • OS - Home
  • OS - Overview
  • OS - Components
  • OS - Types
  • OS - Services
  • OS - Properties
  • OS - Processes
  • OS - Process Scheduling
  • OS - Scheduling algorithms
  • OS - Multi-threading
  • OS - Memory Management
  • OS - Virtual Memory
  • OS - I/O Hardware
  • OS - I/O Software
  • OS - File System
  • OS - Security
  • OS - Linux
  • OS - Exams Questions with Answers
  • OS - Exams Questions with Answers
  • Operating System Useful Resources
  • OS - Quick Guide
  • OS - Useful Resources
  • OS - Discussion
  • Selected Reading
  • UPSC IAS Exams Notes
  • Developer's Best Practices
  • Questions and Answers
  • Effective Resume Writing
  • HR Interview Questions
  • Computer Glossary
  • Who is Who

'; var adpushup = adpushup || {}; adpushup.que = adpushup.que || []; adpushup.que.push(function() { adpushup.triggerAd(ad_id); });

Process

A process is basically a program in execution. The execution of a process must progress in a sequential fashion.

A process is defined as an entity which represents the basic unit of work to be implemented in the system.

To put it in simple terms, we write our computer programs in a text file and when we execute this program, it becomes a process which performs all the tasks mentioned in the program.

When a program is loaded into the memory and it becomes a process, it can be divided into four sections ─ stack, heap, text and data. The following image shows a simplified layout of a process inside main memory −

Operating System - Processes (3)

S.N.Component & Description
1

Stack

The process Stack contains the temporary data such as method/function parameters, return address and local variables.

2

Heap

This is dynamically allocated memory to a process during its run time.

3

Text

This includes the current activity represented by the value of Program Counter and the contents of the processor's registers.

4

Data

This section contains the global and static variables.

Program

A program is a piece of code which may be a single line or millions of lines. A computer program is usually written by a computer programmer in a programming language. For example, here is a simple program written in C programming language −

#include <stdio.h>int main() { printf("Hello, World! \n"); return 0;}

A computer program is a collection of instructions that performs a specific task when executed by a computer. When we compare a program with a process, we can conclude that a process is a dynamic instance of a computer program.

A part of a computer program that performs a well-defined task is known as an algorithm. A collection of computer programs, libraries and related data are referred to as a software.

Process Life Cycle

When a process executes, it passes through different states. These stages may differ in different operating systems, and the names of these states are also not standardized.

In general, a process can have one of the following five states at a time.

S.N.State & Description
1

Start

This is the initial state when a process is first started/created.

2

Ready

The process is waiting to be assigned to a processor. Ready processes are waiting to have the processor allocated to them by the operating system so that they can run. Process may come into this state after Start state or while running it by but interrupted by the scheduler to assign CPU to some other process.

3

Running

Once the process has been assigned to a processor by the OS scheduler, the process state is set to running and the processor executes its instructions.

4

Waiting

Process moves into the waiting state if it needs to wait for a resource, such as waiting for user input, or waiting for a file to become available.

5

Terminated or Exit

Once the process finishes its execution, or it is terminated by the operating system, it is moved to the terminated state where it waits to be removed from main memory.

Operating System - Processes (4)

Process Control Block (PCB)

A Process Control Block is a data structure maintained by the Operating System for every process. The PCB is identified by an integer process ID (PID). A PCB keeps all the information needed to keep track of a process as listed below in the table −

S.N.Information & Description
1

Process State

The current state of the process i.e., whether it is ready, running, waiting, or whatever.

2

Process privileges

This is required to allow/disallow access to system resources.

3

Process ID

Unique identification for each of the process in the operating system.

4

Pointer

A pointer to parent process.

5

Program Counter

Program Counter is a pointer to the address of the next instruction to be executed for this process.

6

CPU registers

Various CPU registers where process need to be stored for execution for running state.

7

CPU Scheduling Information

Process priority and other scheduling information which is required to schedule the process.

8

Memory management information

This includes the information of page table, memory limits, Segment table depending on memory used by the operating system.

9

Accounting information

This includes the amount of CPU used for process execution, time limits, execution ID etc.

10

IO status information

This includes a list of I/O devices allocated to the process.

The architecture of a PCB is completely dependent on Operating System and may contain different information in different operating systems. Here is a simplified diagram of a PCB −

Operating System - Processes (5)

The PCB is maintained for a process throughout its lifetime, and is deleted once the process terminates.

Kickstart Your Career

Get certified by completing the course

Get Started

Operating System - Processes (6)

Advertisem*nts

'; adpushup.triggerAd(ad_id); });

I bring a wealth of expertise in operating systems, having delved deeply into various aspects of this crucial field. My journey encompasses practical experience, academic exploration, and a genuine passion for understanding the intricate layers of operating systems. Let's dive into the concepts outlined in the provided article:

Operating System Tutorial

1. Operating System Overview:

  • An operating system (OS) is the fundamental software that manages computer hardware and provides services for computer programs.
  • It acts as an intermediary between the computer hardware and the user applications.

2. Operating System Components:

  • The components of an operating system include the process, memory, file system, I/O hardware, I/O software, and security modules.

3. Operating System Types:

  • Operating systems can be categorized into various types, such as batch operating systems, time-sharing systems, distributed systems, and real-time systems.

4. Operating System Services:

  • OS services encompass a range of functionalities, including process management, memory management, file system services, I/O services, and security services.

5. Operating System Properties:

  • Properties of operating systems include concurrency, responsiveness, and robustness.

6. Processes:

  • A process is a program in execution, representing the basic unit of work in a system.
  • Processes have distinct states: Start, Ready, Running, Waiting, and Terminated/Exit.

7. Process Scheduling:

  • Process scheduling involves managing the execution order of processes in a system.
  • States in the process life cycle include Start, Ready, Running, Waiting, and Terminated/Exit.

8. Scheduling Algorithms:

  • Various algorithms govern process scheduling, determining how the CPU is allocated to processes.

9. Multi-threading:

  • Multi-threading involves executing multiple threads (smaller units of a process) concurrently for improved efficiency.

10. Memory Management:

  • Memory management includes allocating and deallocating memory space to processes during runtime.
  • Processes are divided into sections: Stack, Heap, Text, and Data.

11. Virtual Memory:

  • Virtual memory provides an illusion of a larger memory space than physically available, enhancing multitasking capabilities.

12. I/O Hardware:

  • I/O hardware refers to input/output devices like keyboards, printers, and monitors.

13. I/O Software:

  • I/O software facilitates communication between the CPU and I/O devices.

14. File System:

  • The file system organizes and stores data on storage devices.

15. Security:

  • Security features in an operating system ensure protection against unauthorized access and data breaches.

16. Linux:

  • Linux is an open-source operating system widely used for its stability and security.

17. Exams Questions with Answers:

  • Questions related to these concepts are crucial for evaluating one's understanding of operating systems.

18. Operating System Useful Resources:

  • Resources like tutorials, guides, and discussions are essential for learning and mastering operating system concepts.

In this landscape of operating systems, understanding the interplay of these components is vital for efficient system management and development. If you have any specific questions or if there's a particular area you'd like to explore further, feel free to ask!

Operating System - Processes (2024)
Top Articles
Latest Posts
Article information

Author: Gregorio Kreiger

Last Updated:

Views: 5773

Rating: 4.7 / 5 (77 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Gregorio Kreiger

Birthday: 1994-12-18

Address: 89212 Tracey Ramp, Sunside, MT 08453-0951

Phone: +9014805370218

Job: Customer Designer

Hobby: Mountain biking, Orienteering, Hiking, Sewing, Backpacking, Mushroom hunting, Backpacking

Introduction: My name is Gregorio Kreiger, I am a tender, brainy, enthusiastic, combative, agreeable, gentle, gentle person who loves writing and wants to share my knowledge and understanding with you.