Tema 4: Gestión de Procesos
|
|
- María Josefa Alvarado Mendoza
- hace 7 años
- Vistas:
Transcripción
1 Tema 4: Gestión de Procesos SSOO - Curso 2005/06 E. Domínguez C. Villarrubia Departamento de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla - La Mancha Marzo de 2006
2 Índice Puntos Desarrollados en la Sesión Anterior 1 2
3 Tema 4: Gestión de Procesos Sesión 3:. Caso de Estudio UNIX
4 Resumen de Contenidos de la Sesión Anterior En la sesión anterior hemos visto Esquemas de planificación simples Esquemas de planificación avanzados
5 Procesos concurrentes Los procesos se pueden ejecutar de forma concurrente en el sistema Los procesos concurrentes pueden ser Independientes: No afectan a otros ni son afectados por ellos Cooperativos: Afectan a otros o son afectados por ellos
6 (cont.) Razones para permitir la cooperación Compartir información Por ejemplo, compartir un archivo Aceleración de los cálculos Mediante la división de una tarea en subtareas que se ejecutan en paralelo Modularidad Convirtiendo las funciones en procesos individuales Comodidad Permitir realizar varias tareas al mismo tiempo
7 (cont.) Requerimientos Mecanismos que permitan a los procesos comunicarse entre sí Variables compartidas: No es posible si se dispone de espacios de memoria totalmente separados Transferencia de mensajes Archivos compartidos: Por sí sola no es una solución válida Mecanismos que permitan a los procesos sincronizar sus acciones Mantenimiento de la consistencia de la información asegurando la ejecución ordenada de las instrucciones de los procesos
8 Identificadores de Proceso Descripción Cada proceso tiene un identificador de proceso (pid) Salvo el primer proceso, denominado init (pid = 1), cualquier proceso es creado por otro (proceso padre). Se tiene así un sistema jerárquico de procesos
9 Descriptores estándares de E/S Descripción Los procesos esperan normalmente Obtener datos a través del descriptor de archivo 0 (entrada estándar) Enviar datos a través del descriptor de archivo 1 (salida estándar) Notificar errores a través del descriptor de archivo 2 (salida de error estándar) Típicamente estos descriptores están asociados al terminal
10 La Primitiva fork 1 p i d _ t f o r k ( void ) ; Objeto: Crear un nuevo proceso que será hijo del que realiza la llamada En caso de éxito se devuelve al proceso padre el identificador de proceso del hijo. Al hijo se le devuelve 0 Ambos procesos se ejecutan concurrentemente a partir de la instrucción siguiente a la llamada En caso de error se devuelve -1 al proceso que hizo la llamada (el proceso hijo no se crea)
11 Espacios de Direcciones Cuando se crea un nuevo proceso El espacio de direcciones del hijo es una copia del espacio de direcciones del padre (zonas de código, datos y pila) El hijo hereda todos los descriptores de archivo abiertos en el padre El hijo hereda las variables de entorno definidas en el padre
12 La Primitiva execve 1 i n t execve ( const char filename, char const argv [ ], char const envp [ ] ) ; Objeto: Ejecutar un nuevo programa sobre el espacio de direcciones de un proceso filename: Un puntero a una cadena de caracteres que contiene el nombre del archivo donde reside el programa que debe ejecutarse argv: Un puntero a una matriz de punteros a cadenas con los argumentos de la línea de órdenes envp: Un puntero a una matriz de punteros a cadenas con las definiciones de las variables de entorno que se quieran pasar al programa
13 La Primitiva execve (cont.) i n t execve ( const char filename, char const argv [ ], 2 char const envp [ ] ) ; Tanto argv como envp deben tener como último elemento un puntero nulo En caso de éxito la llamada no retorna En caso de error se devuelve -1 al proceso que hizo la llamada
14 Funciones de biblioteca Llamadas simplificadas En UNIX hay una serie de funciones de biblioteca que permiten llamar a execve de una forma simplificada execl execle execlp execv execvp
15 La Función de Biblioteca execl i n t execl ( const char path, const char arg,... ) ; path: Tiene el mismo significado que el primer parámetro en execve arg,... : Corresponde a la serie de argumentos de la línea de órdenes. El último argumento debe ser un puntero nulo El valor devuelto tiene el mismo significado que en execve
16 La Función de Biblioteca execlp 1 i n t execlp ( const char path, const char arg,... ) ; path: Tiene el mismo significado que el primer parámetro en execve Si path no contiene el carácter / se busca el nombre en los directorios citados en la variable de entorno PATH (por orden) arg,... : Corresponde a la serie de argumentos de la línea de órdenes. El último argumento debe ser un puntero nulo El valor devuelto tiene el mismo significado que en execve
17 La Función de Biblioteca execle 1 i n t execle ( const char path, const char arg,..., char const envp [ ] ) ; path: Tiene el mismo significado que el primer parámetro en execve arg,... : Corresponde a la serie de argumentos de la línea de órdenes. El último argumento debe ser un puntero nulo envp: Tiene el mismo significado que el tercer parámetro en execve El valor devuelto tiene el mismo significado que en execve
18 La Función de Biblioteca execv i n t execv ( const char path, char const argv [ ] ) ; path: Tiene el mismo significado que el primer parámetro en execve argv: Tiene el mismo significado que el segundo parámetro en execve El valor devuelto tiene el mismo significado que en execve
19 La Función de Biblioteca execvp 1 i n t execvp ( const char path, char const argv [ ] ) ; path: Tiene el mismo significado que el primer parámetro en execve Si path no contiene el carácter / se busca el nombre en los directorios citados en la variable de entorno PATH (por orden) argv: Tiene el mismo significado que el segundo parámetro en execve El valor devuelto tiene el mismo significado que en execve
20 Funcionamiento Típico de un Shell Esquema de funcionamiento de un shell
21 La Primitiva _exit 1 void _ e x i t ( i n t s t a t u s ) ; Objeto: Terminar la ejecución de un proceso status: Un entero que será pasado al proceso padre para que pueda recuperarlo mediante alguna primitiva de la familia wait La primitiva no retorna
22 La Primitiva wait 1 p i d _ t wait ( i n t s t a t u s ) ; Objeto: Suspender la ejecución del proceso en curso hasta que cualquier hijo termina o una señal es recibida. Si el hijo ya había terminado cuando se hace la llamada, ésta retorna inmediatamente y los recursos usados por el hijo son liberados status: Un puntero a un entero donde se recibirá el estado de terminación del hijo. Si el puntero es nulo al llamar, no se devuelve estado En caso de éxito se devuelve el pid del proceso hijo o cero en algún caso especial (ver bibliografía) Se devuelve -1 en caso de error
23 La Primitiva waitpid 1 p i d _ t w a i t p i d ( p i d _ t pid, i n t status, i n t options ) ; Objeto: Suspender la ejecución del proceso en curso hasta que algún hijo termina o una señal es recibida. Si el hijo ya había terminado cuando se hace la llamada, ésta retorna inmediatamente y los recursos usados por el hijo son liberados pid: Identificador de proceso del hijo cuya terminación se espera (para los detalles ver bibliografía) status: Un puntero a un entero donde se recibirá el estado de terminación del hijo. Si el puntero es nulo al llamar, no se devuelve estado
24 La Primitiva waitpid (cont.) 1 p i d _ t w a i t p i d ( p i d _ t pid, i n t status, i n t options ) ; options: Máscara de opciones de terminación de los hijos (ver bibliografía) En caso de éxito se devuelve el pid del proceso hijo o cero en algún caso especial (ver bibliografía) Se devuelve -1 en caso de error
25 Adopción de Procesos Cuando un proceso padre termina El sistema operativo hace que todos sus hijos sean adoptados por el proceso init (pid = 1) De esa forma se mantiene la estructura de árbol en el conjunto de procesos
26 La Primitiva getpid 1 p i d _ t g etpid ( void ) ; Objeto: Obtener el pid del proceso en curso Se devuelve el pid del proceso en curso
27 La Primitiva getppid 1 p i d _ t getppid ( void ) ; Objeto: Obtener el pid del proceso padre del actual Se devuelve el pid del proceso padre del actual
28 Ejemplo: minishell 1 / ARCHIVO minish. c / # i n c l u d e < s t d i o. h> 3 # i n c l u d e < s t r i n g. h> # i n c l u d e < u n i s t d. h> 5 # i n c l u d e <sys / types. h> # i n c l u d e <sys / wait. h> 7 # d e f ine MAXCOMANDO # d e f ine CEXIT "exit" # d e f ine PROMPT "minish> "
29 Ejemplo: minishell (cont.) i n t main ( ) { 2 char comando [MAXCOMANDO + 1 ] ; 4 while ( 1 ) { / Lectura del comando / 6 p r i n t f ( " %s", PROMPT) ; gets ( comando ) ; 8 i f ( s t r l e n ( comando ) == 0) continue ; i f ( strcmp ( comando, CEXIT ) == 0) break ;
30 Ejemplo: minishell (cont.) 1 / Ejecucion del comando / switch ( f o r k ( ) ) { 3 case 1: / E r r o r / 5 f p r i n t f ( s t d e r r, "No se puede crear el \ proceso\n" ) ; 7 break ; case 0: 9 / Proceso h i j o / execlp ( comando, comando, NULL ) ; 11 / Lo s i g u i e n t e solo se ejecuta s i execlp f a l l a / 13 f p r i n t f ( s t d e r r, "Error al ejecutar el \ comando\n" ) ; 15 return 1;
31 Ejemplo: minishell (cont.) 1 default : / Proceso padre / 3 wait (NULL ) ; break ; 5 } } 7 return 0; }
32 Mecanismos UNIX usa dos mecanismos de comunicación específicos del sistema: las señales y las tuberías (pipes) El mecanismo de señales no permite el intercambio de datos, y su uso no es portable entre los distintos sistemas UNIX La tuberías permiten el intercambio de datos entre procesos y su uso es portable entre distintos sistemas UNIX Son de uso común en las órdenes del shell who sort UNIX dispone de mecanismos de comunicación entre procesos (IPC) más generales, definidos por POSIX, pero no serán estudiados aquí
33 Señales Puntos Desarrollados en la Sesión Anterior Definición y propiedades La señales son notificaciones a los procesos, procedentes de otros procesos o del sistema operativo (para indicar eventos procedentes del hardware o hechos de interés para el proceso) Las señales pueden ser bloqueadas (no todas), ignoradas (no todas) o atendidas mediante la ejecución de una función definible (no en todos los casos) por el proceso receptor de la señal
34 Señales (cont.) Tipos Existe un mínimo de 15 señales La numeración de las señales no coincide en los diferentes sistemas UNIX, pero las señales tienen nombre y las más comunes tienen nombres que sí son los mismos en diferentes sistemas UNIX
35 Señales (cont.) Señales comunes SIGTERM: Terminación normal de un proceso SIGHUP: Terminal desconectado SIGFPE: Excepción de punto flotante SIGILL: Instrucción ilegal SIGSEGV: Excepción de direccionamiento SIGINT: Petición de interrupción del proceso por teclado SIGCHLD (o SIGCLD): Proceso hijo terminado o parado SIGALRM: El temporizador ha agotado el tiempo SIGKILL: No puede ser ignorada y termina el proceso
36 La Primitiva signal s i g h a n d l e r _ t s i g n a l ( i n t signum, 2 s i g h a n d l e r _ t handler ) ; Objeto: Instalar un manejador para una señal signum: Valor de la señal que activará el manejador handler: Una función con un argumento int y que no devuelve nada (typedef void (*sighandler_t)(int);) Se devuelve el manejador previo en caso de éxito o SIG_ERR en caso de error
37 La Primitiva kill i n t k i l l ( p i d _ t pid, i n t s i g ) ; Objeto: Enviar una señal a un proceso pid: Identificador del proceso destinatario (para posibles valores de pid ver bibliografía) sig: Identificador de la señal Se devuelve 0 en caso de éxito y -1 en caso de error
38 La Primitiva alarm 1 unsigned i n t alarm ( unsigned i n t seconds ) ; Objeto: Enviar al proceso en curso una señal SIGALRM al cabo de un tiempo seconds: Tiempo en segundos al cabo del cual se enviará la señal SIGALRM Se devuelve el tiempo en segundos restante para haber enviado una señal SIGALRM correspondiente a una alarma pendiente. Si no había ninguna alarma pendiente se devuelve 0
39 La Primitiva pause 1 i n t pause ( void ) ; Objeto: Suspender la ejecución de un proceso hasta que se reciba una señal Sólo retorna cuando una señal ha sido capturada, y en ese caso su valor de retorno es -1
40 Tuberías Puntos Desarrollados en la Sesión Anterior Definición y propiedades Son canales de comunicación con una capacidad limitada Se manejan mediante dos descriptores de archivo almacenados en una matriz fd[2] fd[0]: Descriptor de lectura en el canal fd[1]: Descriptor de escritura en el canal
41 La Primitiva pipe 1 i n t pipe ( i n t f i l e d e s [ 2 ] ) ; Objeto: Crear una tubería filedes: Una matriz de dos enteros destinada a albergar los dos descriptores de la tubería Se devuelve 0 en caso de éxito (-1 en caso de error)
42 Uso de las Tuberías Llamadas al sistema write Escritura de datos en orden de llegada Puede ser bloqueante (en caso que el pipe esté lleno) o no bloqueante read Lectura de datos en orden de llegada Bloqueante en general si no hay datos en la tubería. Si el descriptor de escritura ha sido cerrado, un intento de lectura resultará en un EOF close Libera el descriptor de archivo Si se realiza sobre el descriptor de escritura, proporcionará una marca de fin de archivo al lector
43 Resumen Puntos Desarrollados en la Sesión Anterior Resumen Lecturas Recomendadas En esta sesión hemos visto Ventajas y problemas de la comunicación entre procesos Caso de estudio UNIX
44 Lecturas Recomendadas Resumen Lecturas Recomendadas Lecturas recomendadas A. Silberschatz, P. Galvin. Sistemas Operativos. 5 a ed. Addison Wesley. Capítulo 4: Procesos. Sección 4.6 Consultar manual Linux para las primitivas citadas
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS Caso 1: 1.- Necesitamos un cd o Dvd para grabar alguna de las versiones de livecd de Linux. 2.- Liga de una
Más detallesPrácticas de Sistemas operativos
Prácticas de Sistemas operativos David Arroyo Guardeño Escuela Politécnica Superior de la Universidad Autónoma de Madrid Quinta semana: señales 1 Cronograma semanal 2 Entregas 3 Introducción 4 Envío de
Más detallesBoletín 5- Señales. Departamento de Lenguajes y Sistemas Informáticos
Boletín 5- Señales Departamento de Lenguajes y Sistemas Informáticos Indice 1. Introducción 2. Envío de señales desde la shell: kill 3. Llamadas al Sistema kill: envío de señal a un proceso raise: autoenvío
Más detallesSistemas Operativos Práctica 3
Sistemas Operativos Práctica 3 Ing. Andrés Bustamante afbustamanteg@unal.edu.co Ingeniería de Sistemas Facultad de Ingeniería Universidad de la Amazonia 2009 1. Objetivo El objetivo de la práctica es que
Más detallesPrácticas de Sistemas Operativos
Prácticas de Sistemas Operativos Toñi Reina, David Ruiz, Juan Antonio Álvarez, Antonio Tallón, Javier Gutiérrez, Pablo Neira, Paco Silveira, Sergio Segura y José Ángel Bernal Boletín 4: Procesos Curso
Más detallesSistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.
Tema 5 : Comunicación entre Procesos mediante Tuberías Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Introducción Algunas
Más detallesProcesos e hilos y señales en C de GNU/Linux
Emilio José Calvo Carrasco Procesos e hilos y señales en C de GNU/Linux 1 de 12 Procesos e hilos y señales en C de GNU/Linux En este pequeño tutorial vamos a ver cómo se gestionan múltiples procesos y
Más detallesLlamadas al Sistema. Laboratorio de Arquitectura de Ordenadores
Llamadas al Sistema Laboratorio de Arquitectura de Ordenadores Índice Introducción Procesos Señales Sistema de ficheros Bibliografía 2 Introducción Llamadas al Sistema: Un API compuesto por una serie de
Más detalles1. Sistema Operativo Unix
1. Sistema Operativo Unix 1.1 Introducción al S.O. Unix y su entorno 1.2 Subsistema de Archivos 1.3 Subsistema de Procesos 1.4 Políticas de Gestión de Memoria Dpto. Lenguajes y Sistemas Informáticos. Universidad
Más detallesTeoría. Procesos. Escuela Politécnica Superior Universidad Autónoma de Madrid 1
Grupos Realización Entrega/Evaluación Lunes 22 de Febrero, 1, 8, 15 de Marzo 22 de Marzo Martes 23 de Febrero, 2, 9 y 16 de Marzo 23 de Marzo Miércoles 24 de Febrero, 3, 10 y 17 de Marzo 24 de Marzo Viernes
Más detallesSistemas Operativos Practica 1: procesos y concurrencia.
Sistemas Operativos Practica 1: procesos y concurrencia. Objetivos: Introducir al alumno a los conceptos de programa, concurrencia, paralelismo y proceso o tarea. Manejo del concepto de concurrencia haciendo
Más detallesPRÁCTICAS DE SS.OO. Universidad de Murcia. I.I./I.T.I. Sistemas/I.T.I. Gestión
Universidad de Murcia Facultad de Informática Departamento de Ingeniería y Tecnología de Computadores Área de Arquitectura y Tecnología de Computadores PRÁCTICAS DE SS.OO. I.I./I.T.I. Sistemas/I.T.I. Gestión
Más detallesProcesos e Hilos en C
Procesos e Hilos en C 6 de febrero de 2012 En esta sesión vamos a escribir programas en lenguaje C que utilicen hilos y procesos para comparar el rendimiento del sistema ante la gestión de unos y otros.
Más detallesConcurrencia en UNIX / LINUX. Introducción: Procesos e Hilos POSIX
Concurrencia en UNIX / LINUX Introducción: Procesos e Hilos POSIX El estándar POSIX POSIX: Interfaz de sistemas operativos portables. Basado en UNIX A pesar de que UNIX es ya de por sí estándar, había
Más detallesTema 4 : señales. Sistemas Operativos: Programación de Sistemas. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez.
Tema 4 : señales Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Señales Las señales son un mecanismo para comunicar eventos
Más detallesTEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O
TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO Definición y objetivos de un S.O Definición y objetivos del sistema operativo Estructura, componentes y servicios de un S.O Llamadas al sistema
Más detallesSistemas Operativos I Manual de prácticas
Sistemas Operativos I Manual de prácticas Grupo de Sistemas Operativos (DSIC/DISCA) Práctica 3: Procesos POSIX ANTES DE EMPEZAR...... 2 PRÁCTICA 3: PROCESOS POSIX... 2 CREACIÓN DE PROCESOS MEDIANTE FORK...
Más detallesSistemas Operativos. Procesos
Sistemas Operativos Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor de proceso
Más detallesSistemas operativos. Hasta ahora hemos visto. Relación programa-sistema operativo Gestión de memoria
Sistemas operativos UPCO ICAI Departamento de Electrónica y Automática 1 Hasta ahora hemos visto Relación programa-sistema operativo Gestión de memoria Reserva para la ejecución Pilas, heap, memoria de
Más detallesSistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid
Manejo de Señales Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Señales Concepto Evento que interrumpe la ejecución normal de un proceso La acción por defecto suele
Más detallesGestión de procesos en UNIX
PROCESOS UNIX Gestión de procesos en UNIX Cada proceso sólo puede tener un flujo: el concepto proceso engloba todo Dos llamadas implicadas en la creación de procesos crear proceso cargar programa La relación
Más detallesElementos de un programa en C
Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución
Más detallesSistemas Operativos. Iván Bernal, Ph.D. 4. Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec. Copyright @2002, I.
Sistemas Operativos Clase # 9 Tipos de llamadas al Sistema Viernes, 3 de Mayo de 2002 Agenda Sorpresa! no hay prueba. Tipos de llamadas al sistema. Iván Bernal, Ph.D. Escuela Politécnica Nacional email:
Más detallesUsando el Sistema Operativo
Sistemas Operativos Pontificia Universidad Javeriana Enero de 2010 Los sistemas operativos Los sistemas operativos Perspectivas del Computador Concepto general El sistema operativo es parte del software
Más detallesExamen Final de Teoría. Grupo de teoría:
Preguntas Cortas (2 puntos) 1. Respecto a la optimización de gestión de memoria CoW, explica brevemente: a. Qué soporte hardware utiliza el sistema para poder implementarla? b. Qué permisos aplica el sistema
Más detallesLINUX fork() execv() wait() exit() kill signal pipe creat close open read write fstat Chmod getuid, setuid, getgid setgid
LINUX El sistema operativo Linux nace en la Universidad de Helsinki, en Finlandia de las manos de Linux Trovalds que contaba con la ayuda de muchos colaboradores expertos en Unix. Este sistema operativo
Más detallesSistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña
Sistemas Operativos Pedro Cabalar Depto. de Computación Universidade da Coruña TEMA III. PROCESOS. P. Cabalar Sistemas( Operativos Depto. de Computación Universidade Tema da Coruña III. Procesos ) 1 /
Más detallesProcesos Definición y Estados
Procesos Definición y Estados Profesorado de Informática CeRP del Suroeste, Uruguay Contenidos Qué es un proceso Estructuras de datos para gestionar procesos API para trabajar con procesos Hilos (threads).
Más detallesFunciones POSIX III Funciones POSIX III. No Nombrados Nombrados. sem_open sem_open. sem_close sem_close. sem_unlink sem_unlink
Funciones POSIX III Funciones POSIX III Sincronización Sincronización Procesos Procesos Semáforos Semáforos (sem_t) (sem_t) Sincronización Sincronización Threads Threads Mutex Mutex (pthread_mutex_t) (pthread_mutex_t)
Más detallesHilos Secciones Stallings:
Capítulo 4 Hilos Secciones Stallings: 4.1 4.3 Contenido Procesos e hilos. Hilos a nivel de núcleo y a nivel de usuario. Multiprocesador simétrico (SMP). Micronúcleos. 1 Proceso Unidad de propiedad de los
Más detallesSucesos asíncronos. dit. dit. Juan Antonio de la Puente DIT/UPM UPM UPM
dit dit UPM UPM Sucesos asíncronos Juan Antonio de la Puente DIT/UPM Transparencias basadas en el capítulo 10del libro de A. Burns y A. Wellings Real Time Systems and Programming Languages, 3ª edición
Más detallesIntroducción a Sistemas Operativos: Ficheros
Introducción a Sistemas Operativos: Ficheros Clips Fr ancisco J Ballesteros 1. Entrada/Salida Es importante saber cómo utilizar ficheros. En UNIX, es aún más importante dado que gran parte de los recursos,
Más detallesTaller de Sistemas Operativos. System Calls 2012
Taller de Sistemas Operativos System Calls 2012 Agenda Conceptos generales La API POSIX y las System Calls Syscalls System Call Handler Como implementar una System Call Contexto de una System Call Utilizar
Más detallesANEXO XVII DE LA RESOLUCION N
Hoja 1 de 7 UNIVERSIDAD NACIONAL DE CÓRDOBA Facultad de Ciencias Exactas Físicas y Naturales República Argentina Programa de: Código: Informática Carrera: Materia común Res. Nº Plan: Puntos:3.5 Escuela:
Más detalles$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos
PROGRAMACIÓN DE SHELL SCRIPTS EN LINUX El shell es un intérprete de órdenes, pero el shell no es solamente eso; los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como tales,
Más detallesIntroducción a Python. Cecilia Manzino
Características del lenguaje Es un lenguaje de programación multiparadigma, soporta la programación orientada a objetos, imperativa y, en menor medida, funcional. Es un lenguaje multiplataforma, puede
Más detallesINTRODUCCIÓN A LAS LLAMADAS AL SISTEMA OPERATIVO UNIX
INTRODUCCIÓN A LAS LLAMADAS AL SISTEMA OPERATIVO UNIX Introducción de llamadas al sistema operativo UNIX ÍNDICE 1.- Introducción 2.- Conceptos generales Ficheros Programas y procesos Identificadores de
Más detallesSistemas Operativos. Curso Página Web: Asignaturas de programación en el plan de estudios
Programa de la asignatura Sistemas Operativos 3 er Curso de la Licenciatura en Física Curso 2010-2011 Profesor: J. Javier Gutiérrez (gutierjj@unican.es) Página Web: http://www.ctr.unican.es/asignaturas/so/
Más detallesInformática Electrónica Manejadores de Dispositivos (Device Drivers)
Informática Electrónica Manejadores de Dispositivos (Device Drivers) DSI-EIE-FCEIA 2015 Que es un DD? Es una pieza de software que interactúa con (entre) el sistema operativo y con uno o mas dispositivos
Más detallesNombre del estudiante: Giovanna Kristhel Mendoza Castillo Gustavo Antonio González Morales Eduardo Solis Lara Francisco Javier Merodio Molina
Nombre del estudiante: Giovanna Kristhel Mendoza Castillo Gustavo Antonio González Morales Eduardo Solis Lara Francisco Javier Merodio Molina Nombre del trabajo: Resumen y mapa conceptual del Capítulo
Más detallesEstructuras de Datos Declaraciones Tipos de Datos
Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación
Más detallesLenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III
República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III Lenguaje C 1 Puntos previos Los códigos fuentes generados en C requieren ser compilados
Más detallesFunciones Definición de función
Funciones Definición de función Una función es un bloque de código que realiza una tarea específica. Una función es una porción de programa, identificable mediante un nombre, que realiza determinadas tareas
Más detallesUniversidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México
Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México Unidad Académica Profesional Tianguistenco Ingeniería de Software Estructura de Datos
Más detallesIntroducción a los sistemas operativos
Introducción a los sistemas operativos Gustavo Romero Arquitectura y Tecnología de Computadores 21 de octubre de 2010 Gustavo Romero Introducción a los sistemas operativos (1/23) Índice Abstracciones Llamadas
Más detallesEDITRAN/TR. Windows/Unix. Manual de referencia
EDITRAN/TR Windows/Unix Manual de referencia INDRA 30 de octubre de 2014 ÍNDICE 1. INTRODUCCIÓN.... 1-1 2. INTERFAZ DE PROGRAMACIÓN.... 2-1 2.1. DESCRIPCION... 2-1 2.2. FUNCIONES DE ENVIO Y RECEPCION...
Más detallesTareas Periódicas en POSIX
Temporizadores POSIX Uso de Señales, Temporizadores y Threads para ejecutar tareas periódicas en POSIX 1 Tareas Periódicas en POSIX POSIX no implementa un mecanismo directo para especificar tareas periódicas
Más detallesSincronización de procesos en C
Sincronización de procesos en C 2 En esta unidad aprenderás a: 1 2 3 4 5 Comprender los mecanismos de comunicación basados en señales. Conocer los tipos de señales. Definir gestores de señales en un programa
Más detallesGestión de procesos en Linux
Gestión de procesos en Linux Un proceso en Linux es, en resumen, un programa en ejecución. Un proceso puede crear a su vez otros procesos. Al proceso que genera otro proceso se le llama proceso padre.
Más detallesTema 12: El sistema operativo y los procesos
Tema 12: El sistema operativo y los procesos Solicitado: Tarea 06 Arquitecturas de una computadora y el funcionamiento del software M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx
Más detallesProgramación estructurada (Introducción a lenguaje C)
Programación estructurada (Introducción a lenguaje C) M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 15-I Sergio Luis Pérez (UAM CUAJIMALPA) Curso de programación estructurada
Más detallesLinux 101 Gestión de Procesos
Gestión de Procesos Entendiendo el Kernel El kernel de linux es el corazón de todo sistema linux, es el encargado de que el software y el hardware puedan trabajar juntos. Administración de memoria para
Más detallesSISTEMAS OPERATIVOS: Lección 4: Planificación de Procesos
SISTEMAS OPERATIVOS: Lección 4: Planificación de Procesos Jesús Carretero Pérez Alejandro Calderón Mateos José Daniel García Sánchez Francisco Javier García Blas José Manuel Pérez Lobato María Gregoria
Más detallesTaller de programación shell
Taller de programación shell 3 de Abril de 2004 revisión 1 Asociación de Usuarios de Software Libre de Elche http://www.kleenux.org/ Introducción: Qué es un shell? Es una parte fundamental de todo sistema
Más detallesTEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS
TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS Una vez que ya sabes crear tus propios programas, vamos a analizar los fundamentos del lenguaje de programación C. Este capítulo incluye además los siguientes temas:
Más detallesTAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS.
1 TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS. 1- Cuáles son las principales funciones de un sistema operativo? Los Sistemas Operativos tienen como objetivos o funciones principales lo siguiente; Comodidad;
Más detallesProgramación Concurrente
Master en Computación Programación Concurrente Bloque II: Programación concurrente en POSIX Tema 1. Introducción al estándar POSIX Tema 2. Sistema Operativo MaRTE OS Tema 3. Gestión de Threads Tema 5.
Más detallesProgramación I Funciones
1 Funciones Iván Cantador 2 Funciones: definición, sintaxis, ejemplos (I) Una funciónes un bloque de sentencias identificado con un nombre que se ejecutan de manera secuencial ofreciendo una funcionalidad
Más detallesADMINISTRACIÓN GENERAL DE TECNOLOGÍA DE LA INFORMACIÓN ADMINISTRACIÓN CENTRAL DE DESARROLLO Y MANTENIMIENTO DE APLICACIONES
ADMINISTRACIÓN GENERAL DE TECNOLOGÍA DE LA INFORMACIÓN ADMINISTRACIÓN CENTRAL DE DESARROLLO Y MANTENIMIENTO DE APLICACIONES SISTEMA DE AUTOMATIZACIÓN ADUANERA INTEGRAL (S. A. A. I.) PROTOCOLOS DE COMUNICACIÓN
Más detallesSISTEMAS OPERATIVOS 2 INGENIERIA TECNICA INFORMATICA SISTEMAS CORRECCION PRACTICA 3: SEÑALES Y CREDENCIALES CURSO
SISTEMAS OPERATIVOS 2 INGENIERIA TECNICA INFORMATICA SISTEMAS CORRECCION PRACTICA 3: SEÑALES Y CREDENCIALES CURSO 2009-20010 *Rellenar los NOMBRES y los LOGINS de los DOS miembros del grupo Nombre1: Nombre2:
Más detallesTema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía
Tema 3 SUBRUTINAS ÍNDICE Definición e instrucciones básicas Soporte para el tratamiento de subrutinas (ejecución de la subrutina y gestión del bloque de activación) Interrupciones vs llamadas a procedimiento
Más detalles- Bajo que condiciones el algoritmo de planifiación de procesos FIFO (FCFS) resultaría en el tiempo de respuesta promedio más pequeño?
Sistemas Operativos. Grado Ingeniería Informática. TGR-2.1 Procesos. Noviembre 2014 Problemas para hacer en clase FIFO cpu C A 1. Dos procesos A y B tienen una ráfaga de CPU de 50 ms y un proceso C tiene
Más detallesProcesos 1 / 31. Para entender el concepto de hebra, necesitamos compreender el concepto de proceso
Procesos 1 / 31 Concepto de proceso Para entender el concepto de hebra, necesitamos compreender el concepto de proceso Un proceso es un programa en ejecución Una instancia de un programa corriendo en un
Más detallesProgramación. Test Autoevaluación Tema 3
Programación Test Autoevaluación Tema 3 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro SOLUCIONES 1.
Más detallesExamen final de teoría QT
JUSTIFICA TODAS LAS RESPUESTAS. UNA RESPUESTA SIN JUSTIFICAR SE CONSIDERA INVALIDA Preguntas cortas (1,5 puntos) 1. Un hardware que ofrece cuatro modos de ejecución, uno de ellos de usuario y tres niveles
Más detallesUso avanzado de punteros
Uso avanzado de punteros Mario Medina C. mariomedina@udec.cl Punteros Contienen direcciones de memoria Punteros a tipos de datos simples int, char, float, double Punteros a estructuras Punteros a vectores
Más detallesArquitecturas cliente/servidor
Arquitecturas cliente/servidor Creación de Sockets Cliente Servidor 1 Creación de Sockets Cliente/Servidor Sockets en TCP Concepto de Hilos Definición de DAEMON Sockets en UDP 2 THREADS 3 Qué es un thread?
Más detallesTema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Asertos en C++ Mecanismo de excepciones: Declaración de excepciones Lanzar excepciones
Más detallesTest SITR Temas: Planificación, Sincronización, Comunicación entre Procesos, Relojes, Señales, Temporizadores (TestSITR_T4 T9)
Test SITR Temas: Planificación, Sincronización, Comunicación entre Procesos, Relojes, Señales, Temporizadores (TestSITR_T4 T9) Temas: Planificación Sincronización y Comunicación entre Procesos Funciones
Más detallesProgramación MODULAR: Subalgoritmos - funciones y procedimientos
Programación MODULAR: Subalgoritmos - funciones y procedimientos Uno de los métodos fundamentales para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. Estos problemas
Más detallesSistemas Operativos: Programación de Sistemas. Curso 2006-07. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.
Tema 2 : entorno programación linux Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Francisco J. Santana 1 Programación
Más detallesUTN FRBA Algoritmos y Estructura de Datos Examen Final 18/07/2014. Apellido y nombre: Legajo: Cursó con Prof:
UTN FRBA Algoritmos y Estructura de Datos Examen Final 18/07/2014 Distancias entre localidades Temas evaluados: Resolución de problemas, estructuras de datos, matrices, y lenguaje de programación Contexto
Más detallesTest : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
SISTEMAS INFORMÁTICOS I Junio 2003 INGENIERÍA EN INFORMÁTICA - Código Carrera 55 - Código Asignatura 077 Tipo de Examen: A NO SE PERMITE EL USO DE NINGÚN MATERIAL Tiempo: 2 horas Apellidos: Nombre: DNI:
Más detallesFundamentos de Programación 2017-I
Fundamentos de Programación 2017-I Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación C a través de un análisis
Más detallesMessage Passing Interface (MPI)
Message Passing Interface (MPI) INTRODUCCIÓN MPI (Message Passing Interface) como es un interfaz estandarizada para la realización de aplicaciones paralelas basadas en pasaje de mensajes. El modelo de
Más detalles3. Sistemas operativos
3. Sistemas operativos Informática Ingeniería en Electrónica y Automática Industrial Raúl Durán Díaz Juan Ignacio Pérez Sanz Departamento de Automática Escuela Politécnica Superior Curso académico 26 27
Más detallesSegundo control de teoría
JUSTIFICA TODAS LAS RESPUESTAS. UNA RESPUESTA SIN JUSTIFICAR SE CONSIDERA INVALIDA EJERCICIO 1: Preguntas cortas (2 puntos) 1) Qué es el superbloque de un sistema de ficheros? qué tipo de información podemos
Más detallesPROTOCOLO FTP PROTOCOLO DE TRANSFERENCIA DE ARCHIVOS ING. RAUL BAREÑO GUTIERREZ RAUL BAREÑO GUTIERREZ 1
PROTOCOLO FTP PROTOCOLO DE TRANSFERENCIA DE ARCHIVOS RAUL BAREÑO GUTIERREZ 1 FTP. Qué es? Es un protocolo que permite pasar ficheros de un computador que los tiene (servidor FTP) a un computador que los
Más detallesSISTEMAS OPERATIVOS:
SISTEMAS OPERATIVOS: Lección 3: Introducción a la Gestión de Procesos Jesús Carretero Pérez Alejandro Calderón Mateos José Daniel García Sánchez Francisco Javier García Blas José Manuel Pérez Lobato María
Más detallesProcesos. Módulo 3. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco.
Procesos Módulo 3 Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Procesos Concepto de Proceso Planificación de Proceso Operaciones sobre Procesos
Más detallesDefinición Tareas del sistema operativo Concurrencia y paralelismo Estados de los procesos Propiedades de un proceso en Linux CONCEPTOS 1.
T2-Procesos Índice Conceptos relacionados con la Gestión de procesos Servicios básicos para gestionar procesos (basado en Linux) Comunicación entre procesos Signals Linux y Sincronización Gestión interna
Más detallesInformática Ingeniería en Electrónica y Automática Industrial
Informática Ingeniería en Electrónica y Automática Industrial Entrada y salida estándar V1.3 Autores Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato:
Más detallesParticipantes: Avila Aida Betancourt Sioly Briceño Susana Rojas Alejandro
Participantes: Avila Aida Betancourt Sioly Briceño Susana Rojas Alejandro Es una instancia de un programa en ejecución (corriendo). A los procesos frecuentemente se les refiere como tareas. El contexto
Más detallesIntroducción a Sistemas Operativos: Comunicación entre Procesos
Introducción a Sistemas Operativos: Comunicación entre Procesos Clips xxx Fr ancisco J Ballesteros. Pipelines Hace tiempo, UNIX disponía de las redirecciones que hemos visto y los usuarios combinaban programas
Más detallesTipos de Datos en C. Palabras reservadas en C
Tipos de Datos en C Tipo Tamaño de bits Rango char 8-128 a 127 unsigned char 8 0 a 255 signed char 8-128 a 127 int 16 32768 a 32767 unsigned int 16 0 a 65535 signed int 16 Igual que int short int 16 Igual
Más detallesParadigma de paso de mensajes
Paradigma de paso de mensajes Curso 2011-2012 Índice Visión lógica del paradigma de paso de mensajes. Operaciones básicas en paso de mensajes. Operaciones bloqueantes. Operaciones no bloqueantes. MPI:
Más detallesTema 3. Aplicaciones de Tipo Consola
Tema 3. Aplicaciones de Tipo Consola Una aplicación de consola es aquella que se ejecuta dentro de una ventana de línea de comandos. Este tipo de ventana recibe diferentes denominaciones: Símbolo del sistema,
Más detallesUniversidad de Costa Rica
1. Aspectos generales En este laboratorio se aprendio a usar funciones de sistema. Al principio se utilizo el modulo subprocess pero se tuvo muchos problemas por lo que se opto por glob. Definitivamente
Más detalles3. Sistemas operativos
Informática Ingeniería en Electrónica y Automática Industrial Raúl Durán Díaz Juan Ignacio Pérez Sanz Departamento de Automática Escuela Politécnica Superior Curso académico 26 27 Contenidos Definición
Más detallesfunciones printf scanf
FUNCIONES EN C FUNCIONES Los módulos en C se llaman funciones. Hemos estado utilizando funciones de la biblioteca estandar stdio.h como por ejemplo printf y scanf. Comenzaremos viendo algunas funciones
Más detallesHerramientas Informáticas I Software: Sistemas Operativos
Herramientas Informáticas I Software: Sistemas Operativos Facultad de Ciencias Económicas y Jurídicas Universidad Nacional de La Pampa Sistemas Operativos. Es el software base que permite trabajar como
Más detallesThis obra by Sergio Belkin is licensed under a Creative Commons Atribución-CompartirDerivadasIgual 2.5 Argentina License. Procesos.
This obra by is licensed under a Creative Commons Atribución-CompartirDerivadasIgual 2.5 Argentina License. Procesos Sacar fotos de procesos Mostrar procesos que corren solamente en la terminal ps Mostrar
Más detallesThreads, SMP y Microkernels. Proceso
Threads, SMP y Microkernels Proceso Propiedad de los recursos a un proceso se le asigna un espacio de dirección virtual para guardar su imagen Calendarización/ejecución sigue una ruta de ejecución la cual
Más detallesFundamentos de los Sistemas Operativos. Tema 1. Conceptos generales Estructura del sistema operativo ULPGC - José Miguel Santos Espino
Fundamentos de los Sistemas Operativos Tema 1. Conceptos generales Estructura del sistema operativo 2015 ULPGC - José Miguel Santos Espino Contenido Componentes del S.O. Programas del sistema El núcleo
Más detallesConcurrencia y paralelismo
Introducción a los Sistemas Operativos Concurrencia y paralelismo 1. Ejecución de programas. Procesos. 2. Multiprogramación Bibliografía Silberschatz and Galvin Sistemas Operativos. Conceptos fundamentales.
Más detallesCátedra I Informática Autor I Carlos Bartó
FCEFyN Departamento de Computación Informática Examen - 07-07-2008 Apellido y Nombres: Matrícula: Carrera: PROBLEMAS: 1) Especifique en el lenguaje C++ una función denominada calc_fecha() que tenga como
Más detallesLaboratorio de Arquitectura de Redes. Entrada y salida estándar
Laboratorio de Arquitectura de Redes Entrada y salida estándar Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato: scanf() El buffer de teclado Entrada
Más detallesCURSO DE LENGUAJE C. 4.1 Conceptos básicos de funciones 4.2 Funciones que regresan valores no enteros 4.3 Variables externas 4.4 Reglas de alcance
Capítulo 1. Introducción general 1.1 Comencemos 1.2 Variables y expresiones aritméticas 1.3 La proposición FOR 1.4 Constantes simbólicas 1.5 Entrada y salida de caracteres 1.6 Arreglos 1.7 Funciones 1.8
Más detalles8.1.- FUNCIONES Y PROCEDIMIENTOS DEFINIDOS POR EL USUARIO EN TURBO PASCAL.
8.1.- FUNCIONES Y PROCEDIMIENTOS DEFINIDOS POR EL USUARIO EN TURBO PASCAL. PROCEDIMIENTOS. CONCEPTO Un procedimiento es un programa que realiza una tarea específica. Puede recibir cero o más valores del
Más detallesLenguaje de Programación: C++ ARCHIVOS I/O
UG C++ Lenguaje de Programación: C++ ARCHIVOS I/O Universidad de Guanajuato Octubre 2010 Como abrir un archivo Antes de poder escribir datos en un archivo, debemos abrirlo, esto significa que debemos decirle
Más detalles