procesos
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| procesos [2016/11/17 12:59] – [Procesos] lmateu | procesos [2018/07/12 14:00] (actual) – [Procesos] lmateu | ||
|---|---|---|---|
| Línea 8: | Línea 8: | ||
| * En el padre, fork retorna el pid del hijo. | * En el padre, fork retorna el pid del hijo. | ||
| * Para el hijo se crea un nuevo espacio de direcciones de memoria que parte inicialmente con una copia de toda la memoria del padre. | * Para el hijo se crea un nuevo espacio de direcciones de memoria que parte inicialmente con una copia de toda la memoria del padre. | ||
| - | * El hijo hereda | + | * El hijo hereda todos los archivos abiertos por el padre. Los fds (file descriptors) del padre siguen siendo válidos en el hijo (y también en el padre). |
| * El tiempo de ejecución del proceso hijo parte de 0. | * El tiempo de ejecución del proceso hijo parte de 0. | ||
| * El hijo parte sin alarmas ni señales pendientes. | * El hijo parte sin alarmas ni señales pendientes. | ||
| Línea 106: | Línea 106: | ||
| en donde fds es un arreglo de tamaño 2. Después de ejecutar esta llamada, se obtienen 2 fds: | en donde fds es un arreglo de tamaño 2. Después de ejecutar esta llamada, se obtienen 2 fds: | ||
| - | |||
| fds[0] permite leer | fds[0] permite leer | ||
| Línea 159: | Línea 158: | ||
| Observe que si se reemplazara la llamada de la función leer por read, podría funcionar en algunas plataformas, | Observe que si se reemplazara la llamada de la función leer por read, podría funcionar en algunas plataformas, | ||
| + | |||
| + | Cuando user fork nunca olvide: | ||
| + | - Invocar exit para terminar el hijo | ||
| + | - Invocar waitpid en el padre para enterrar al hijo | ||
| + | - Padre e hijo usan espacios de direcciones independientes así es que el padre no verá los cambios que el hijo haya hecho en la memoria. | ||
| ==== Ejercicio ==== | ==== Ejercicio ==== | ||
| - | Resuelva la pregunta 1 parte b del [[http:// | + | Resuelva la pregunta 1 partes a y b del [[http:// |
| ==== Cambiar el archivo ejecutable ==== | ==== Cambiar el archivo ejecutable ==== | ||
procesos.1479387594.txt.gz · Última modificación: por lmateu
