1 / 14

Multi-programaci n

Multi-programacin. La tcnica de modularizacin ms caracterstica de programas en Unix es dividir los programas grandes en mltiples procesos cooperativos.Esto se ha llamado comnmente en el mundo Unix como multiprocesamiento, sin embargo es mejor utilizar el trmino multiprogramacin, para no co

skipper
Download Presentation

Multi-programaci n

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Multi-programación CI-2200 Programación Avanzada en Unix

    2. Multi-programación La técnica de modularización más característica de programas en Unix es dividir los programas grandes en múltiples procesos cooperativos. Esto se ha llamado comúnmente en el mundo Unix como multiprocesamiento, sin embargo es mejor utilizar el término multiprogramación, para no confundir con implementaciones de hardware con varios procesadores.

    3. Multi-programación Unix alienta al programador a dividir sus programas en subprocesos más simples: haciendo la creación de procesos hijos barata proveyendo métodos () que hacen que sea relativamente fácil para los procesos comunicarse alentando el uso de formatos textuales, simples y transparentes que puedan ser pasados a través de pipes o sockets

    4. Separando el control de la complejidad del refinamiento de rendimiento No se debe pensar a priori en utilizar multiprogramación para mejorar la eficiencia. La multiprogramación debe ser pensada para reducir la complejidad. KISS Otro aumento de la complejidad son los “threads”.

    5. Taxonomía de los métodos IPC de Unix Dejar tareas a los programas especialistas La forma más simple de cooperación entre programas es cuando un programa corre otro para realizar una tarea específica. Los programas usualmente se comunican a través del sistema de archivos. Ejemplo: el agente de usuario para correo mutt.

    6. Taxonomía de los métodos IPC de Unix Tuberías, redirecciones y filtros. El invento de la tuberías por Doug McIlroy alentó la naciente filosofía de Unix “haga una cosa bien” e inspiró muchas de las formas siguientes de IPC, como por ejemplo los sockets. Ejemplo: entubando hacía un paginador ps | more

    7. Taxonomía de los métodos IPC de Unix Ejemplo: hacer listas de palabras tr -c '[:alnum:]' '[\n*]' | sort -iu | grep -v '^[0-9]*$’ Ejemplo: pic2graph (echo ".EQ"; echo $eqndelim; echo ".EN"; echo ".PS";cat;echo ".PE") | groff -e -p $groffpic_opts -Tps >${tmp}.ps && convert -crop 0x0 $convert_opts ${tmp}.ps ${tmp}.${format} && cat ${tmp}.${format}

    8. Taxonomía de los métodos IPC de Unix Envoltorios (wrappers) Un envoltorio crea una interfaz para un programa específico o lo especializa. Ejemplo: un script de respaldo tar -czvf /dev/st0 "$@"

    9. Taxonomía de los métodos IPC de Unix Envoltorios de seguridad y encadenamiento de Bernstein Un uso común de los envoltorios son los envoltorios de seguridad. El programa envoltorio puede llamar un programa guardián y luego correr un programa dependiendo del resultado del programa guardián.

    10. Taxonomía de los métodos IPC de Unix Un encadenamiento Bernstein es un caso especializado de envoltorio de seguridad inventado por Daniel J. Bernstein. Conceptualmente un encadenamiento Bernstein es como una tubería, pero cada etapa sucesiva reemplaza la etapa previa en lugar de correr concurrentemente.

    11. Taxonomía de los métodos IPC de Unix La aplicación usual es confinar aplicaciones con privilegios de seguridad a un programa guardían quién puede dar luego el control a otro programa menos privilegiado. Ejemplo: rblsmtpd Ejemplo: qmail

    12. Taxonomía de los métodos IPC de Unix Procesos esclavos Ocasionalmente, los procesos hijos aceptan y regresan datos de sus padres a través de tuberías conectadas a la entrada y la salida estándar. Ejemplo: scp y ssh

    13. Taxonomía de los métodos IPC de Unix Comunicación entre procesos de punto a punto Archivos temporales Señales Sockets Memoria (compartida)

More Related