Skip to content
Related Articles
Open in App
Not now

Related Articles

Program to show that Linux provides time sharing environment to processes

Improve Article
Save Article
Like Article
  • Difficulty Level : Hard
  • Last Updated : 26 Sep, 2017
Improve Article
Save Article
Like Article

Time-sharing means sharing of computing resources among many users (processes) by means of multiprogramming and multitasking. By allowing a large number of users to interact concurrently, time-sharing dramatically lowered the cost of providing computing capability.

Many operating system including Windows, Linux and many others provides time-sharing mechanism to different processes.
Here, our task is to show that Linux provides time-sharing mechanism using a simple program.

Approach : Here, two process (parent and child) is created using fork() system call having some print statement in loop. In output we will see that print statement of these two process will execute alternatively showing time-sharing mechanism between two processes.




// C program to demonstrate that Linux is
// time-sharing
#include<stdio.h>
#include<unistd.h>
  
// Child process
void child()
{
    int i;
    for (i = 0; i < 50; i++)
        printf("I am child %d\n", i);
}
  
// Parent process
void parent()
{
    int i;
    for (i = 0; i < 50; i++)
        printf("I am Parent %d\n", i);
}
  
// Driver code
int main()
{
    pid_t pid = fork();
  
    // fork() error
    if (pid < 0)
        printf("Fork Failed");
  
    // child
    else if (pid == 0)
        child();
  
    // parent
    else
        parent();
  
    return 0;
}


Output:
In the below screenshot, we can see that both print statement is executing concurrently and not one after completion of other.

This article is contributed by Aditya Kumar. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.


My Personal Notes arrow_drop_up
Like Article
Save Article
Related Articles

Start Your Coding Journey Now!