fork(). Parte I: ,Creación de un nuevo proceso, hijos, padres, zombies y huérfanos

Поделиться
HTML-код
  • Опубликовано: 20 янв 2025

Комментарии • 53

  • @maryblody1970
    @maryblody1970 4 года назад +27

    en 15 min has explicado lo que mi profesor no ha podido en 2h
    En fin, espectacular, ademas eres super linda

    • @WhileTrueThenDream
      @WhileTrueThenDream  4 года назад +3

      Gracias.
      En realidad el video aunque dure poco me supuso más de dos horas de preparación y grabación. ;-). De verdad que los profes hacen una labor en general (hay excepciones) muy buena, yo creía que no se preparaban bien cuando fui alumna pero ahora veo que explicar de manera sencilla lleva muchísimo trabajo.

    • @brayan6925
      @brayan6925 3 года назад

      Presiento que estuviste con un tal Jaime.

  • @juliodzalt
    @juliodzalt 5 лет назад +9

    Oh hace 1 año y medio me ayudó muchísimo un video de hilos, me alegra ver este video , perfectamente explicado.

  • @ignaciomacias1453
    @ignaciomacias1453 Год назад +1

    Excelente explicación de este tema de Sistemas Operativos. Gracias!

  • @guillemoralescap98
    @guillemoralescap98 4 года назад +1

    He aprendido más con 15 min de video de RUclips que en 6 horas de Grupo de Trabajo de la carrera. Ojalá tenerte de profesora... de verdad, se me saltan las lágrimas. Tu merecido Like

    • @WhileTrueThenDream
      @WhileTrueThenDream  4 года назад +5

      Hola.
      Gracias. Me alegro de que el vídeo te haya ayudado.
      En laboratorio de prácticas a mi me resultaba difícil entender pero ahora q me pongo a explicar yo las cosas me doy cuenta de lo complicado que es explicar bases y conceptos de la programación... Si volviera a las prácticas de Sistemas Operativos sería las más preguntona de la clase... jajaja.
      Saludos

  • @rafa_7744
    @rafa_7744 4 года назад +5

    Simplemente GRACIAS, qué bien explicado.

  • @4nclre5_OI
    @4nclre5_OI 12 дней назад

    Videazo. Muy bien explicado, gracias infinitas. 🤗
    Nota: creo que hay una pequeña errata en el minuto 9:30 (despistes naturales al hablar 🤣🤣). Un programa en ejecución en el intérprete de comandos de Unix, se puede parar presionando las teclas "Ctrl. + Z"
    Este video me ha dejado todo claro. Por fin lo entiendo...😪
    Por lo que pagas para aprender en una universidad... Y no son capaces de explicar bien algo tan sencillo como esto... Al menos yo, me molestaría en hacer bien mi trabajo... Luego ya, no sé cual es el motivo de que algunos profesores no hagan bien su trabajo... Es lamentable... Y si es por falta de tiempo porque algunos tienen proyectos de investigación que les quitan mucho tiempo, a todo no se puede llegar... Que contraten más profesores, y que no los atareen tanto... No sé... Pero con la tontería... Hay gente que suspende y dinerito rico para la universidad... 🤷🏽‍♂

    • @WhileTrueThenDream
      @WhileTrueThenDream  12 дней назад

      Hola!
      Gracias. Ánimo con la Uni. Algunas asignaturas y profes son terribles pero otros son fantásticos.
      Ánimo y un saludo!

  • @giancarloventura6763
    @giancarloventura6763 4 года назад +2

    Me ayudo muchismo para mi clase de Sistemas Operativos que crack que eres un beso

  • @jenniferdeprada666
    @jenniferdeprada666 3 года назад +1

    Genia total, buenisima tu explicacion

  • @marielapereira8406
    @marielapereira8406 4 года назад +3

    muy buen vídeo gracias por compartirlo

  • @kaaaaaaaaaat
    @kaaaaaaaaaat 4 года назад +4

    Excelente vídeo, muy útil :-)

  • @alfonsolopez2550
    @alfonsolopez2550 5 лет назад +1

    Gran explicación, gracias por compartir!

  • @stanleyquinteros8953
    @stanleyquinteros8953 Год назад

    Excelente explicación

  • @Mariana-cb1bo
    @Mariana-cb1bo 4 года назад +1

    Buenísima tu explicación!

  • @cristianpichatiesa
    @cristianpichatiesa 4 года назад +1

    Muy bueno!

  • @javierferrer4514
    @javierferrer4514 3 года назад

    Que bien explicado... Muchas gracias!

  • @germanpgonzalez
    @germanpgonzalez 3 года назад

    Excelente video

  • @TheLurleenGamespro
    @TheLurleenGamespro 3 года назад

    El proceso padre es un proceso que tiene hijo/s. El proceso zombie es un proceso hijo que finalizo mientras su padre sigue vivo. Y por último, el proceso huérfano es un proceso que perdió el padre. Sería asi? No se aclaró cómo eliminar al proceso zombie

  • @aeleequis
    @aeleequis 4 года назад +1

    sólo falta el espíritu santo para completar el trío. Muy buen víado, como siempre, muy bien explicado

    • @WhileTrueThenDream
      @WhileTrueThenDream  4 года назад

      Jejejej. Gracias
      En realidad es "parent", no "father" pero siempre lo traducimos como "padre" ;-)

  • @danielezequiel4247
    @danielezequiel4247 4 года назад

    Hola Amaia una consulta: si quiero sincronizar los procesos padre, hijo, huérfano y zombi con los hilos, candados, semáforos y las señales ¿se puede hacer?.

  • @AaciniOzambrano
    @AaciniOzambrano 4 года назад +1

    que voz tan amena

  • @danielchapilliquen
    @danielchapilliquen 2 года назад

    hola , quería preguntar un problema que tengo en mi código , por que cuando el fork() esta después de printf me imprime dos veces el mensaje, entiendo que solo el programa principal debería imprimir y no el hijo, esto lo he solucionado poniendo un saldo de linea al final del mensaje
    pero no entiendo por que lo soluciona, si quito el salto de linea repite el mensaje dos veces .

  • @alejandrocruzz2
    @alejandrocruzz2 3 года назад

    ¡Qué bonita voz!

  • @TheAlcRD
    @TheAlcRD 3 года назад

    Que distribución de linux utilizas? Ayuda c:

  • @PatriotaMex
    @PatriotaMex 4 года назад

    Muchas gracias antes que nada por tus videos de C avanzado, están excelentes! Ahora paso a preguntarte lo siguiente:
    Ya hice tus ejemplos y los probe, pero encontré algo que no se si sea correcto o no, en el primero programa cuando escribo una cadena como "Hola Mundo", al momento de usar el programa que recibe el mensaje solo me regresa "Hola". Esto a que crees que se deba?
    Gracias de antemano!

    • @WhileTrueThenDream
      @WhileTrueThenDream  4 года назад

      Hola!
      Gracias. :-)
      A qué programa te refieres cuando dices el "primero"?

    • @PatriotaMex
      @PatriotaMex 4 года назад

      @@WhileTrueThenDream hiciste dos programas en el ejemplo. El primero pone en mensaje en el queue. Y el segundo lo recoge y lo muestra.

  • @donpapamendez2352
    @donpapamendez2352 5 лет назад +1

    Disculpa cómo puedo mandar a llamar un void que solo imprime unos textos a mi clase principal? ): Para no estar escribiendo los textos en cada programa ):

    • @WhileTrueThenDream
      @WhileTrueThenDream  5 лет назад +1

      clases en C?? En C ,no orientado a objetos, podrias hacer una función cuyo argumento de entrada es un puntero a un buffer de caracteres...y de ahi llamar a printf

    • @donpapamendez2352
      @donpapamendez2352 5 лет назад

      @@WhileTrueThenDream disculpa soy nuevo en C, vengo de Java así que estoy acostumbrado a las clases xd
      Pero ya pude, muchas gracias!!! 😁

  • @diegojimenez775
    @diegojimenez775 4 года назад

    Para crear 4 procesos del mismo padre hago ejemplo 4 fork() guardando lo que devuelve en 4 variables diferentes tipo aux1=fork() aux2=fork()... Y así y si por ejemplo necesito crear hijos de esos hijos entonces sería hacer la llamada a fork() cuando por ejemplo aux1==0 y así se crearía un hijo del proceso de aux1 que sería por decirlo Nieto del primer proceso??

    • @WhileTrueThenDream
      @WhileTrueThenDream  4 года назад

      github.com/WhileTrueThenDream/ExamplesCLinuxUserSpace/blob/master/4Children8GrandChildren.c

  • @maurocavada3897
    @maurocavada3897 3 года назад

    Excelente.

  • @gamezone4470
    @gamezone4470 4 года назад +1

    oye buen vídeo, pero tengo una pregunta, como se haría una creación de procesos con fork para un servidor apache en linux?

    • @gamezone4470
      @gamezone4470 4 года назад

      crear muchos procesos para saber cuanto tiempo aguanta el servidor

  • @MiPrimerMonopolio
    @MiPrimerMonopolio 3 года назад

    Que es un proceso?

  • @PabloGonzalez-io6pq
    @PabloGonzalez-io6pq 4 года назад +1

    Muy bien explicado! Una duda que tengo: Cuando se ejecuta un proceso hijo, ¿Por qué no se imprime el texto del main nuevamente?

    • @WhileTrueThenDream
      @WhileTrueThenDream  4 года назад +1

      Hola
      La primera instrucción que ejecuta es la que viene tras el fork.
      Saludos

    • @PabloGonzalez-io6pq
      @PabloGonzalez-io6pq 4 года назад +1

      @@WhileTrueThenDream muchas gracias! Tardé un poco en entenderlo pero por fin lo hice 😀.

  • @jorgearredondo7032
    @jorgearredondo7032 3 года назад +1

    Desarrolle un programa donde se genere un proceso padre y un proceso hijo, el proceso padre recibirá 2 valores desde la línea de comandos. Estos datos los
    enviara al proceso hijo para que calcule la suma y la multiplicación de ambos y los resultados serán retornados al proceso padre para su impresión. ¿comom se hara? algo relacionado asi

  • @master4418
    @master4418 4 года назад

    hola tengo problemas para ejecutar maquina virtual me puedes ayudar

    • @WhileTrueThenDream
      @WhileTrueThenDream  4 года назад

      Hola!
      Hay muchos tutoriales de VMs en internet que te indican paso a paso como configurarlas. Yo por mensaje no creo q te pueda ayudar, ademas hace un año que no uso uns

  • @Cristian77595
    @Cristian77595 5 лет назад +1

    Yo pensaba que un huérfano siempre terminaba siendo hijo de init :/

    • @alfonsolopez2550
      @alfonsolopez2550 5 лет назад

      Pues yo creo que también, pero no estoy seguro

    • @WhileTrueThenDream
      @WhileTrueThenDream  5 лет назад +2

      Yo también lo pensaba porque lo habìa leído y escuchado varias veces... hasta que lo probé y vi que no siempre era así... buscando encontré este link: unix.stackexchange.com/questions/149319/new-parent-process-when-the-parent-process-dies/177361#177361. Entiendo que antes de la versión kernel 3.4 los huérfanos pasaban a ser hijos de init, pero de esa versión en adelante pueden también ser recogidos por otros procesos ...

  • @melissallajarun6740
    @melissallajarun6740 3 года назад

  • @marmol7882
    @marmol7882 3 года назад

    No entiendo para que sirve esto. En vez de un padre y un hijo que hacen cosas distintas en función del PID, porque no creas simplemente dos metodos disintos y los llamas cuando te plazca. Como detesto C por dios, java le da mil vueltas.

    • @WhileTrueThenDream
      @WhileTrueThenDream  3 года назад +1

      Hola.
      Aquí se quiere explicar el concepto padre e hijo, que son dos procesos diferentes.
      Cada uno tenemos preferencias de lenguajes de programación pero C y Java se usan para cosas diferentes. En C se suelen escribir drivers, el Kernel de Linux está programado en C, es más ' Low Level' por su cercanía al Hardware. Es más eficiente y rápido que cualquier otro lenguaje, (si se programa correctamente), aunque efectivamente en ciertas aplicaciones es más preferible, por sencillez, otro lenguaje. Java es más para nivel aplicación, más 'High Level', en general.
      En software embebido (cockpit coches, automation...) trabajamos con C/C++, o al menos en los dispositivos en los que he programado en los últimos 10 años. Java yo al menos no lo he visto en este campo.
      A C hay que dedicarle tiempo para que te acabe gustando. Eso sí, puedes trabajar de programador sin saber C, en otro campo de programación (y hay muchos afortunadamente).
      Fork es una llamada al sistema que está implementada en la librería libc.
      Saludos

  • @gustavojoaquin_arch
    @gustavojoaquin_arch 2 года назад

    :V