Programa para mostrar que Linux proporciona un entorno de tiempo compartido a los procesos

El tiempo compartido significa compartir los recursos informáticos entre muchos usuarios (procesos) mediante la multiprogramación y la multitarea. Al permitir que una gran cantidad de usuarios interactúen simultáneamente, el tiempo compartido redujo drásticamente el costo de proporcionar capacidad informática.

Muchos sistemas operativos, incluidos Windows , Linux y muchos otros, proporcionan un mecanismo de tiempo compartido para diferentes procesos.
Aquí, nuestra tarea es mostrar que Linux proporciona un mecanismo de tiempo compartido usando un programa simple.

Enfoque: aquí, se crean dos procesos (principal y secundario) mediante la llamada al sistema fork() que tiene alguna declaración de impresión en bucle. En la salida, veremos que la declaración de impresión de estos dos procesos se ejecutará alternativamente mostrando el mecanismo de tiempo compartido entre dos procesos.

// 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;
}

Salida:
en la siguiente captura de pantalla, podemos ver que ambas declaraciones de impresión se ejecutan simultáneamente y no una después de completar la otra.

Este artículo es una contribución de Aditya Kumar . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *