Teoría. Procesos. Escuela Politécnica Superior Universidad Autónoma de Madrid 1
|
|
- Guillermo Muñoz Cáceres
- hace 6 años
- Vistas:
Transcripción
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 19 y 26 de Febrero, 5 y 12 de Marzo 19 de Marzo (Entrega electrónica) Teoría Procesos Los procesos tienen un tiempo de vida definido creándose mediante una llamada a fork o vfork. Finalizan mediante un exit o un return en el main o cuando reciben una señal de terminación. A su vez los procesos hijos creados pueden crear nuevos hijos o ejecutar otros programas mediante llamadas a las funciones de la familia exec. Todos los procesos tienen un proceso padre y pueden ser padres de varios procesos hijos. Esto forma una estructura jerárquica en forma de árbol siendo el proceso init el tronco. Si un proceso termina antes que sus hijos estos pasan a ser hijos de dicho proceso. Para diferenciar unos procesos de otros dentro de este árbol se asigna a cada proceso un identificador único llamado identificador de proceso, PID. Además el sistema maneja la llamada process table que consiste en un array de estructuras tipo proc que contienen la información sobre los procesos que hay en el sistema, aunque no estén en CPU. Los procesos en System V R2 pueden estar en los siguientes estados: inicial (idle): El proceso está siendo creado pero todavía no está listo para ejecución. listo (runnable, ready to run) y en espera (blocked, asleep): El proceso está listo para ser ejecutado. Puede estar en la memoria principal o en el intercambio (swapped). ejecución modo usuario (user running) ejecución modo kernel (kernel running) zombie: El proceso ha terminado pero su proceso padre no ha hecho wait(). Por esto el proceso permanece en tabla de procesos y para el sistema el proceso sigue existiendo. parada (a partir de 4.2BSD): El proceso está parado. Esto se debe a que el proceso ha recibido alguna señal de parada. Para salir de este estado debe recibir la señal de continuación (SIGCONT). En esta primera práctica de Sistemas Operativos I vamos a familiarizarnos con el uso de la función de creación de procesos fork, de espera de hijos wait y de obtención de los pid de proceso con getpid y del proceso padre con getppid. Es necesario, por tanto, leer las páginas del manual de dichas funciones antes de empezar los ejercicios. Escuela Politécnica Superior Universidad Autónoma de Madrid 1
2 Señales Las señales son usadas por el kernel para notificar a los procesos de sucesos asíncronos. Por ejemplo, si se pulsa Ctrl-C el kernel envía SIGINT. Además los procesos pueden enviarse señales mediante la función kill. Se responde a las señales al volver a modo usuario. Está respuesta puede ser terminar el proceso, ignorar la señal o realizar una acción definida por el usuario. En cualquier caso esta acción no se realiza de manera inmediata. El kernel pone un bit en la estructura proc del proceso indicando que la señal ha llegado y si el proceso está en una espera interruptible lo saca de esta. En este caso la llamada al sistema devolverá -1 y errno será EINTR. En esta segunda parte vamos a familiarizarnos con el uso de las funciones de envío y captura de señales kill y signal, así como de las funciones de espera pause y sigsuspend. Es necesario, por tanto, leer las páginas del manual de dichas funciones antes de empezar los ejercicios. Ejercicios de procesos 1. Implementa un programa en C que use fork para crear el siguiente árbol de procesos. Ten en cuenta que no es necesario generar ningún tipo de representación gráfica, más allá de una frase indicando cuándo se ha creado un proceso, su pid y el pid de su padre. Observa también que cada nodo es un proceso, y que el PID mostrado es únicamente orientativo. Por qué crees que algunos nodos aparecen repetidos en el diagrama? (3 puntos) 1978 fork fork ª generación (2 1 = 2) fork ª generación (2 2 = 4) 2. El orden de la salida al ejecutar el programa 1 es siempre el mismo? Justifica tu respuesta. (1 punto) 3. Modifica el programa anterior, escribiendo un programa2.c que en lugar de generar 4 procesos, genere 32 procesos. Justifica la modificación realizada al código. (2 puntos) Escuela Politécnica Superior Universidad Autónoma de Madrid 2
3 Escribe el siguiente código y guárdalo como programa3.c // programa3.c #include <unistd.h> #include <stdlib.h> #include <stdio.h> int main (int argc, char *argv [], char *env []) int i, a=1; for (i = 0; i < 10; i++) switch (fork ()) case 0: a=3; printf( a= %d\n,a); break; exit (0); printf( a=%d\n,a); 4. Por qué puede fallar fork? hay alguna forma de controlar el error de fork? Modifica el código de programa3.c para controlarlo. (2 puntos) 5. Qué otro problema tiene el código del programa3.c? Soluciónalo escribiendo el código correcto de programa3.c como programa4.c (2 puntos) 6. Cuánto vale la variable a para el código padre del programa4.c? y el para el hijo? por qué no valen lo mismo? en algún momento valen lo mismo? (1 punto) 7. Modifica el código de programa4.c como un nuevo programa5.c en el que el hijo devuelve el valor de la variable a para que el printf que hace el padre muestre el mismo valor que el printf que hace el proceso hijo. (2 puntos) 8. Explica las macros de wait en un ejemplo de programa padre (programa6.c) que cree un proceso, y lo espere con wait, cómo afecta a wait el uso de las macros? (2 puntos) 9. Modifica programa6.c como programa7.c para que en lugar de usar wait, espere al proceso hijo usando waitpid. Qué diferencias encuentras entre el uso de wait/waitpid? (2 puntos) 10. Escribe el código de un programa8.c que reserve en el proceso padre memoria dinámica para una cadena de 20 caracteres de longitud y un proceso hijo. Si en el proceso hijo se pide al usuario que introduzca un nombre para guardar en la cadena. El proceso padre tiene acceso a ese valor? qué ocurre si el usuario no teclea nada? dónde hay que liberar la memoria reservada y por qué? (5 puntos) Escuela Politécnica Superior Universidad Autónoma de Madrid 3
4 Ejercicios de señales Escribe el siguiente código y guárdalo como programa9.c // programa9.c #include <signal.h> #include <stdio.h> #include <stdlib.h> void (*signal (int sig, void (*func)(int))) (int); void captura (int sennal) printf ("Capturada la señal %d\n", sennal); fflush (NULL); return; int main (int argc, char *argv [], char *env []) if (signal (SIGINT, captura) == SIG_ERR) puts ("Error en la captura"); exit (1); while (1); exit (0); 11. Ejecuta el programa9.c, la llamada a signal supone que se ejecute la función captura? cuándo aparece el printf en pantalla? por qué no aparece antes? (1 punto) 12. Qué ocurre por defecto cuando un programa recibe una señal y no la tiene capturada? Demuestra tu respuesta modificando el código de programa9.c y guardando el código resultante como programa10.c (2 puntos) 13. Escribe el código de un programa11.c que ignore la pulsación de Ctrl+C en el teclado. Cómo podrías demostrar que realmente la señal ha sido ignorada? (2 puntos) 14. Todas las señales tienen asociada una semántica previa? Si no es así, pon un ejemplo en un programa12.c de algún tipo de señal definida por el usuario (2 puntos) 15. Escribe el código de un programa13.c que intente capturar SIGKILL, y que escriba en la función manejadora He conseguido capturar SIGKILL. Por qué nunca sale por pantalla He conseguido capturar SIGKILL? (3 puntos) 16. Por qué se permite el uso de variables globales para compartir datos entre la función manejadora y el resto del programa que tiene capturada una señal? (1 punto) 17. Qué diferencia hay entre usar pause o sigsuspend? Demuestra tu respuesta con dos ejemplos de código (programa14.c y programa15.c) (2 puntos) 18. Escribe un programa16.c que capture todas las señales capturables. (2 puntos) 19. Mientras se ejecuta el código de la función manejadora del programa16.c asociada a SIGUSR1, envíale SIGUSR2 desde otra terminal, qué sucede? por qué? (1 punto) Escuela Politécnica Superior Universidad Autónoma de Madrid 4
5 20. Escribe el código de un programa17.c que establezca una alarma inicial de 20 segundos en los que el programa debe mostrar por pantalla una secuencia numérica creciente separada por comas. Cuando salte la alarma, la última l ínea mostrada en la pantalla debe ser: Estos son los números que me ha dado tiempo a contar en 20 segundos. (5 puntos) Escuela Politécnica Superior Universidad Autónoma de Madrid 5
6 Ejercicio Final de la Práctica 1 Escribe el código de un programa18.c que consista en un sistema básico de c a l c u l o d e n ú m e r o s p r i m o s. En particular, se pide que el programa consista en un bucle que: 1. Pide al usuario dos números enteros (de los que se tomará únicamente su valor absoluto). Por ejemplo: 4 y Crea tres procesos hijos: - Un hijo se encarga de calcular todos los primos entre ambos números. En este caso 5, 7, 11, 13 y mostrarlos por pantalla. - O t r o h i j o d e c i d i r á s i e l n ú m e r o m e n o r d e l o s d o s e s p r i m o e i n f o r m a r á m e d i a n t e e x i t a l p a d r e. - Otro hijo decidirá si el número mayor es primo e informará al padre mediante el exit. Sólo el proceso hijo encargado del cálculo de los primos mostrará su resultado por pantalla. Los demás procesos hijos deben enviar el resultado de su operación al proceso padre en el retorno de exit. 3. El proceso padre debe realizar una espera no activa para recoger los resultados de los procesos hijos y los debe mostrar por pantalla respetando el siguiente orde: - Primero la lista con los números primos: 5, 7, 11, 13 - despues el resultado sobre el número menor: El número 4 no es primo - y por último el mensaje del número mayor: En número 13 es primo. - Si se produjese cualquier error durante el proceso se infomaría al usuario por pantalla. El programa debe terminar en cualquier momento cuando el usuario pulse Ctrl+C, liberando todos los recursos solicitados y sin dejar procesos zombie. También debe terminar si el usuario tarda más de 1 minuto en introducir los valores a y b. Para evitar que cada hijo recalcule los primos será solo uno de ellos el que lo haga e informe a los demás. Para ello, una vez calculados los número primos, enviará una señal a cada uno de los otros hijos para que estos la procesen e informen en consecuencia al padre de si su número es primo o no. Para que este mecanismo de comunicación funcione es imprescindible controlar el orden en que se lanzan los hijos y la sincronización entre ellos. Todas las esperas han de ser no activas y, si es posible, no bloqueantes. (20 puntos) Escuela Politécnica Superior Universidad Autónoma de Madrid 6
7 Ejemplo de Ejecución del Ejercicio Final En cursiva se indica los valores introducidos por el usuario. Introduce el valor del primer operando: 3 Introduce el valor del segundo operando: 15 La lista es: 3, 5, 7, 11, 13 El número 3 es primo El número 15 no es primo Introduce el valor del primer operando: -2 Introduce el valor del segundo operando: 4 La lista es: 2, 3 El número -2 no es primo El número 4 no es primo Recibido Ctrl-C. Fin del programa. Criterios de evaluación 1. Todos los ejercicios son obligatorios. La puntuación se obtiene aplicando una regla de tres directa, en la que 63 puntos equivalen a obtener un 10 en esta práctica. 2. Aquellos ejercicios que no contienen una respuesta con código, se evaluarán atendiendo a la explicación realizada por el alumno/a. Para que el razonamiento sea considerado válido debe ser suficientemente detallado y se puede apoyar en documentación externa. En ningún caso, se considerará una respuesta válida una captura de pantalla sin explicación, o un código sin explicación. 3. Los ejercicios que solicitan la realización de un código, deben ser también explicados, tanto a nivel de comentarios en el propio código (que se debe entregar junto con la memoria, inserto en los ejercicios o en apéndices), como en texto como respuesta al ejercicio. Esto es, especialmente relevante en el caso del ejercicio final que debe ir acompañado de una descripción textual del diseño realizado y la solución propuesta en el código. 4. No se tendrá en cuenta código que no compila. Recibiendo una fuerte penalización programas que no realizan una correcta liberación de los recursos solicitados al Sistema Operativo (por ej. dejar procesos zombie), o que no tienen un correcto control de errores (con especial interés en el control de errores de las llamadas del sistema operativo tratadas en esta práctica). 5. Por último, se valorará la correcta aplicación de los principios de la programación estructurada (esto es, organizar el código en funciones en la medida de lo posible, separar las definiciones y estructuras en un archivo.h, no usar números mágicos, etc.) Escuela Politécnica Superior Universidad Autónoma de Madrid 7
Tema 4: Gestión de Procesos
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
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 Segunda Semana: Procesos, Procesos Padre y Procesos Hijo, familia exec() 1 Entregas
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 detallesSistemas Operativos. Grado Ingeniería Informática. TGR Procesos.
Sistemas Operativos. Grado Ingeniería Informática. TGR Procesos. 1.-Considerar los siguientes procesos con los tiempos de llegadas, prioridades y ráfagas de cpu. Proceso Ráfaga de CPU Prioridad Tiempo
Más detallesWHILE Y DO WHILE BREAK EN LENGUAJE C. BUCLES MIENTRAS. FORZAR SALIDA O TERMINACIÓN. EJEMPLO (CU00534F)
Bucles en lenguaje C Bucle while y forzar detención con break APRENDERAPROGRAMARCOM WHILE Y DO WHILE BREAK EN LENGUAJE C BUCLES MIENTRAS FORZAR SALIDA O TERMINACIÓN EJEMPLO (CU00534F) Sección: Cursos Categoría:
Más detallesMC Hilda Castillo Zacatelco PROCESOS
MC Hilda Castillo Zacatelco hildacz@gmail.com PROCESOS Definición y atributos Un proceso es la instancia de un programa en ejecución. Desde el punto de vista del SO, un proceso es la entidad más pequeña
Más detallesUn ejemplo: UNIX PROCESOS UNIX
PROCESOS UNIX Un ejemplo: 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 de procesos
Más detallesCominicación entre Procesos: SEÑALES
Cominicación entre Procesos: SEÑALES LABORATORIO DE SISTEMAS DE OPERACIÓN I (ci 3825) Prof. Yudith Cardinale Enero marzo 2012 Interrupciones Las interrupciones pueden ser: de hardware: señales electrónicas
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 detallesASIGNATURA: SISTEMAS INFORMÁTICOS INDUSTRIALES. CURSO 4º GRUPO Octubre 2015
2. Problema de Análisis y Diseño Orientado a Objetos (10 puntos - 20 minutos) Para el código de test adjunto, se pide. 1. Diagrama de clases de diseño (2.5 puntos). 2. Implementación en C++ de la solución
Más detallesFunciones POSIX (I): Introducción
Funciones POSIX I Funciones POSIX I Llamadas al Llamadas al Sistema Sistema Gestión Básica Gestión Básica de Procesos de Procesos Procesos Procesos fork fork Señales Señales getpid getpid Memoria Memoria
Más detallesDobles: Es el caso de la instrucción if-else (punto 1.2).
1 1.Introducción Las estructuras de control son instrucciones que nos permiten controlar el flujo de ejecución del programa. Las instrucciones de control se pueden agrupar en instrucciones condicionales
Más detallesPráctica 1: Intérprete de mandatos. Sistemas Operativos Área de Arquitectura y Tecnología de Computadores
Práctica 1: Intérprete de mandatos Introducción Desarrollo de un intérprete de mandatos (minishell) en UNIX/Linux en lenguaje C. Debe permitir: Ejecución de mandatos simples ls, cp, mv, rm, etc. Ejecución
Más detallesBiblioteca de sistema
* Para la realización del presente examen se aconseja un tiempo de 2 horas. Teoría 1. Explique en detalle cómo se pasa una llamada al sistema operativo. El sistema operativo se activa cuando debe responder
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 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 detalles2. Problema de Análisis y Diseño Orientado a Objetos (4 puntos - 25 minutos)
APELLIDOS NOMBRE Nº Mat. UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y DISEÑO INDSUTRIAL Departamento Electrónica, Automática e Informática Industrial ASIGNATURA: SISTEMAS
Más detallesUNIVERSIDAD 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áctica 2. Teoría. Memoria Compartida y Semáforos
Práctica 2 Grupos Realización Entrega/Evaluación Lunes 22 de Marzo, 12 y 19 de Abril 26 de Abril Martes 23 de Marzo, 13 y 20 de Abril 27 de Abril Miércoles 24 de Marzo, 14 y 21 de Abril 28 de Abril Viernes
Más detallesActividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE
Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE 1. Qué es un bucle? 2. A que se denomina cuerpo de un bucle? 3. Define iteración de un bucle. 4. Cuál es el cuerpo de un bucle? 5. Qué es
Más detallesBoletín 4- Procesos. Departamento de Lenguajes y Sistemas Informáticos
Boletín 4- Procesos Departamento de Lenguajes y Sistemas Informáticos Indice 1. Introducción (Procesos) 2. Identificadores de usuarios y procesos 3. La llamada fork() 4. Las llamadas wait() y exit() 5.
Más detallesBoletín 4- Procesos. Departamento de Lenguajes y Sistemas Informáticos
Boletín 4- Procesos Departamento de Lenguajes y Sistemas Indice 1. Introducción n (Procesos) 2. Identificadores de usuarios y procesos 3. La llamada fork() 4. Las llamadas wait() y exit() 5. La llamada
Más detallesTema 3. Estructuras de control
Tema 3. Estructuras de control 3.1. Secuencial 3.2. Selección 3.3. Repetición 2 Objetivos Objetivos del tema: Conocer y saber la utilidad de las tres estructuras de control (secuencial, alternativa y repetitiva)
Más detallesProcesos y Señales. Laboratorio de Arquitectura de Ordenadores
Procesos y Señales Laboratorio de Arquitectura de Ordenadores Índice Introducción Procesos Señales Bibliografía Marzo 2006 Dep.Ing.Telemática (UC3M) 2 Introducción Proceso: unidad mínima expedida por el
Más detallesPrimer control de teoría
rimer control de teoría Ejercicio : reguntas cortas ( puntos) Tiempo estimado 5 min.. En un sistema actual de propósito general, las direcciones (funciones, referencias a datos, etc) que encontramos en
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 detallesEjercicios sobre tuberías
Boletín 3. Ejercicios sobre tuberías July 14, 016 1. Indica de manera justificada si las siguientes afirmaciones sobre la utilización de tuberías como mecanismo de sincronización entre dos procesos son
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 Tercera Semana: Comunicación entre procesos con Tuberías 1 Entregas 2 Introducción
Más detallesEscuela Politécnica Superior de Elche
EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES ((SOLUCIÓN) (TEORÍA)jUJ jhshshs JUNIO 2015 1. Indicar si las siguientes afirmaciones son verdaderas o falsas: (a) En C++, cuando se destruye un objeto de una
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 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 (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 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 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 detallesInformática PRÀCTICA 2 Curs
Práctica Nº 2: Estructura general de un programa en C/C++. Introducción a las funciones de Entrada y salida en C++ (cin y cout) sin formato. Objetivos de la práctica: - Presentar la estructura general
Más detallesIntroducción y Gestión de Procesos
Introducción y Gestión de Procesos Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Llamadas al sistema Concepto Constituye el juego de instrucciones del sistema operativo
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 sesión 12: tuberías
Sistemas Operativos sesión : tuberías Grado en Ingeniería Informática Universidad Carlos III de Madrid Agenda Linux Comunicación con tuberías Ejercicios Agenda Linux Comunicación con tuberías Ejercicios
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 4.
Más detallesEJERCICIOS CON FUNCIONES EN C. EJEMPLO CALCULAR SERIES NUMÉRICAS. REFACTORIZAR. (CU00552F)
APRENDERAPROGRAMAR.COM EJERCICIOS CON FUNCIONES EN C. EJEMPLO CALCULAR SERIES NUMÉRICAS. REFACTORIZAR. (CU00552F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde cero Fecha
Más detallesTEMA 4. ESTRUCTURAS DE CONTROL
M.P. Sesmero, P. de Toledo, F.J. Ordoñez, J. Gómez-Romero, J.A. Iglesias, J.L. Mira Programación TEMA 4. ESTRUCTURAS DE CONTROL Grado en Ingeniería en Tecnologías Industriales Programación CONTENIDOS 4.1.
Más detallesPRÁCTICA 1: PROCESOS Y COMUNICACIÓN ENTRE PROCESOS
PRÁCTICA 1: PROCESOS Y COMUNICACIÓN ENTRE PROCESOS v1.3.0 Rodrigo García Carmona Antes de empezar la práctica, copia los ficheros que se encuentran en la carpeta SOS-Practica_1-Materiales al directorio
Más detallesAlgoritmo, Estructuras y Programación I Ing. Marglorie Colina
Unidad II: Fundamentos de la Programación Estructurada Algoritmo, Estructuras y Programación I Ing. Marglorie Colina Estructura General de un Programa Zona de ficheros de cabecera de las librerías Zona
Más detallesEstructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa
Contenido Estructura de un programa en Java... 2 Tipos de datos básicos... 2 Operadores... 3 Literales... 4 Entrada / Salida... 4 Sentencias condicionales... 5 Funciones... 5 Ejercicios... 6 Variables,
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 detallesEn este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.
El primer objetivo de un programa informático es el manejo de datos. Un dato es toda aquella información que se puede tratar en un programa informático. En este artículo vamos a conocer los tipos de datos
Más detallesExamen de Fundamentos de la Programación (Modelo 1)
Examen de Fundamentos de la Programación (Modelo 1) 27 de noviembre de 2007 1. Qué escribe el siguiente programa si se teclea 5? int num, resultado; for (resultado=0; num; resultado++) num -= 2; printf
Más detallesTema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo
Tema 4 Control de flujo Programación 2015-2016 Programación - Tema 4: Control de Flujo 1 Tema 4. Control de flujo Introducción. Estructuras condicionales. Estructuras de repetición. Programación - Tema
Más detallesFormatos para prácticas de laboratorio
CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA IC 2003-1 5314 Sistemas Operativos PRÁCTICA No. 6 LABORATORIO DE NOMBRE DE LA PRÁCTICA Comunicación entre procesos Tuberías DURACIÓN (HORA)
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 detallesroducción a la programación con el lenguaje C usando el entorno de trabajo Dev-C. Nociones básicas de programación
There are no translations available. Introducción a la programación con el lenguaje C usando el entorno de trabajo Dev-C. roducción a la programación con el lenguaje C usando el entorno de trabajo Dev-C.
Más detallesLlamadas al sistema básicas de control de procesos
Actividad 7 (v. 16046) Pablo González Nalda Depto. de Lenguajes y Sistemas Informáticos lsi.vc.ehu.es/pablogn Llamadas al sistema básicas de control de procesos Observa, analiza y prueba los programas:
Más detallesIntroducción general al Lenguaje C (2010/2011)
Luis Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/~lvalencia) Ciencias de la Computacion e IA (http://www.cs.us.es/) Introducción general al Lenguaje C (2010/2011) Universidad de Sevilla Índice
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 detallesProcesos en UNIX. LABORATORIO DE SISTEMAS DE OPERACIÓN I (ci 3825) Prof. Yudith Cardinale
LABORATORIO DE SISTEMAS DE OPERACIÓN I (ci 3825) Prof. Yudith Cardinale Un proceso en Unix es un programa en ejecución que tiene los siguientes atributos: Área de código, Área de datos, Área de stack,
Más detallesLlamadas al Sistema para la Creación de Procesos
Llamadas al Sistema para la Creación de Procesos Transparencias realizadas por M. Curiel. Se utiliza material ya publicado en la WEB y elaborado por todos los prof. que hemos dado el curso. Llamada al
Más detallesCONDICIONALES SWITCH CASE DEFAULT BREAK EN C. ELEGIR ENTRE VARIAS OPCIONES. EJEMPLO. (CU00532F)
APRENDERAPROGRAMAR.COM CONDICIONALES SWITCH CASE DEFAULT BREAK EN C. ELEGIR ENTRE VARIAS OPCIONES. EJEMPLO. (CU00532F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde cero Fecha
Más detallesSintaxis de los aspectos generales de un lenguaje de programación
Sintaxis de los aspectos generales de un lenguaje de programación por Iván Cruz Un lenguaje de programación cuenta con una estructura y sintaxis que debe ser utilizada exactamente como se indique para
Más detallesSistemas Operativos Primer Recuperatorio Parcial 1
1.- El siguiente código intenta representar la solución a la siguiente problemática: Un proceso crea un conjunto de procesos hijos al mismo nivel y le asigna a cada uno una tarea determinada, cada proceso
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: PROCESOS. Planificación de procesos
SISTEMAS OPERATIVOS: PROCESOS Planificación de procesos ADVERTENCIA 2 Este material es un simple guión de la clase: no son los apuntes de la asignatura. El conocimiento exclusivo de este material no garantiza
Más detallesAdministración de Redes
Administración de Redes PROCESOS EN LINUX Profesor Carlos Figueira Departamento de Computación y T. I. USB Grandes objetivos de un Sistema de Operación (SO) Intercalar ejecución de varios procesos para
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 detallesClases 04 y 05: Repaso de programación de sistemas basados en UNIX
Clases 04 y 05: Repaso de programación de sistemas basados en UNIX Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco efranco.docencia@gmail.com Estructuras de datos (Prof.
Más detallesESTRUCTURA DE DATOS Y DE LA INFORMACIÓN II
ESTRUCTURA DE DATOS Y DE LA INFORMACIÓN II PRÁCTICA 2: GRAFOS grupo comienzo entrega 1a miércoles 3/3 miércoles 14/4 1b jueves 4/3 jueves 15/4 1c lunes 8/3 lunes 12/4 2a viernes 5/3 viernes 9/4 2b lunes
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 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 detallesLEER RECUPERAR EXTRAER DATOS DE FICHEROS O ARCHIVOS EN C. FGETC, GETC, FGETS, FSCANF. EJERCICIOS (CU00538F)
APRENDERAPROGRAMAR.COM LEER RECUPERAR EXTRAER DATOS DE FICHEROS O ARCHIVOS EN C. FGETC, GETC, FGETS, FSCANF. EJERCICIOS (CU00538F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C
Más detallesFundamentos de programación
Fundamentos de programación Estructuras de Control Estructuras de control Estructuras de control Estructura secuencial Estructura alternativa Sentencias if, if else Sentencias if else anidadas El operador
Más detallesInformática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador.
Departamento de Práctica Nº 9: Rango y precisión de representación de números en el ordenador. Uso de punteros Objetivos de la práctica: - Entender la representación de números (enteros y reales) en el
Más detallesSISTEMAS OPERATIVOS: COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS. Desarrollo de servidores concurrentes
SISTEMAS OPERATIVOS: COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS Desarrollo de servidores concurrentes Contenido 2 Servidores de peticiones. Solución basada en procesos. Solución basada en hilos bajo
Más detallesIntroducción a los Computadores ITTELSI. Curso
Introducción a los Computadores ITTELSI. Curso 2004-2005 PRÁCTICA 2: ESTRUCTURAS DE CONTROL Y SUBPROGRAMAS (I) Hoy vamos a practicar más conceptos sencillos del lenguaje, que nos permitan decidir qué sentencias
Más detallesESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF
ESCUELA POLITÉCNICA SUPERIOR GRADO EN DISEÑO IND. INFORMÁTICA CURSO 2012-13 PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF HASTA AHORA... En prácticas anteriores se ha aprendido: La estructura principal de un
Más detallesExamen de Laboratorio de Sistemas Operativos. Primera Convocatoria. 2007/2008. Tercero Ingeniería Informática. Apellidos: 18 de Junio de 2008
[Cuestión 1.] Resuelva con una línea de comandos UNIX las siguientes tareas: Apartado a.- Compile y enlace en una única instrucción los archivos de código C principal.c, funciones.c y procesos.c. Como
Más detallesExamen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1
Examen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Empresa Videojuegos (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Rectangulo (1.0 pto.)... 3 1.3 Ejercicio
Más detallesHoja de ejercicios del Tema 3
Facultad de Informática Universidad Complutense Fundamentos de la programación Curso 2013 2014 Hoja de ejercicios del Tema 3 1. Escribe un programa que lea un número entero positivo del teclado y muestre
Más detallesHoja de ejercicios del Tema 3
Facultad de Informática Universidad Complutense Fundamentos de la programación Curso 2013 2014 Hoja de ejercicios del Tema 3 1. Conversiones de tipos: Prueba el siguiente programa en tu compilador (copia
Más detallesAsignatura: Estructuras de Datos. Docente: Ing. Yesika Medina Grado y Sección: 6to INF A-B
Codificar los siguientes programas en lenguaje C mediante la herramienta VISUAL STUDIO, CONSIDERAR LAS SIGUIENTES PREMISAS: 1. Documentar las líneas de código. 2. Agregar: Color a la consola y fuente.
Más detallesFunciones básicas del depurador
Funciones básicas del depurador Con frecuencia, los alumnos piensan que cuando su programa no tiene errores de compilación (está correctamente escrito) entonces ya es correcto. Muchas veces esto no es
Más detallesPRACTICA # 3 PROCESOS (CONTINUACION)
PRACTICA # 3 PROCESOS (CONTINUACION) 1. OBJETIVO Aprender cómo manipular procesos por medio de las funciones wait() y kill(); además del uso de señales del sistema Linux. 2. INTRODUCCIÓN Estados de un
Más detallesPrueba de Laboratorio Modelo B01 Semáforos y Memoria Compartida
Prueba de Laboratorio APELLIDOS: NOMBRE: GRUPO DE LABORATORIO: Indicaciones: No se permiten libros, apuntes ni teléfonos móviles. Cuando tenga una solución al ejercicio muéstrela al profesor (compilación
Más detallesCapítulo 12 INSTRUCCIONES DE CONTROL ALTERNATIVAS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"
Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas (correo@carlospes.com) Capítulo 12 INSTRUCCIONES DE CONTROL ALTERNATIVAS 1 OBJETIVOS Conocer las
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 detallesReales. Caracteres. Cadenas de Caracteres (String)
Conceptos preliminares para la programación Algoritmo: Conjunto de pasos lógicos, secuenciales y finitos para dar solución a un problema general. Dato: Es una característica de un objeto o entidad, que
Más detalles1000+(4/100)*1000 =1000 * (1+4/100) =1000 * 1.04 = Al finalizar el segundo año, el 4% se aplica sobre los 1040, y obtenemos:
Nombre: Apellidos: Grupo: Nº. Matrícula Ejercicio 1 (2,5 puntos 30 minutos) Al ingresar capital en un banco, pongamos 1000, éste nos ofrece un porcentaje anual de interés, por ejemplo el 4%. Al cabo de
Más detallesGUÍA DE LABORATORIO #3 ESTRUCTURAS ALGORÍTMICAS CONDICIONALES SIMPLES, DOBLES Y MÚLTIPLES
GUÍA DE LABORATORIO #3 ESTRUCTURAS ALGORÍTMICAS CONDICIONALES SIMPLES, DOBLES Y MÚLTIPLES OBJETIVO: Realizar programas en Lenguaje C aplicando las estructuras condicionales. TEMPORIZACIÓN: Inicio de la
Más detallesRedirecciones y Tuberías
Redirecciones y Tuberías Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Redirecciones Redirección de la entrada y la salida estándar Unix/Linux definen
Más detallesPRUEBA DE FUNDAMENTOS DE INFORMÁTICA. 1.- Qué se mostrará por pantalla tras ejecutar el código correspondiente a la función main?
UNIVERSIDD PONTIFICI COMILLS ESCUEL TECNIC SUPERIOR DE INGENIERI (I.C..I.) DEPRTMENTO DE SISTEMS INFORMÁTICOS TITULCIÓN: INGENIERO TÉCNICO INDUSTRIL PRUEB DE FUNDMENTOS DE INFORMÁTIC Nombre Grupo Preguntas
Más detallesPrácticas de Sistemas Operativos
Prácticas de Sistemas Operativos Toñi Reina, David Ruiz, Juan Antonio Álvarez, Antonio Tallón, Pablo Neira, José Ángel Bernal y Sergio Segura Boletín 5: Señales Curso 2006/07 Índice 1. Introducción 2 2.
Más detallesPrimer parcial de teoría 2013_2014_Q1
Preguntas cortas (2,5 puntos) (justifica todas las respuestas) 1. Si tenemos una nueva arquitectura, con un nuevo conjunto de instrucciones de lenguaje máquina, indica cuál de estas dos librerías deberíamos
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 detallesEstructura de datos y Programación
Estructura de datos y Programación Tema: Conceptos Básicos- Estructuras de control - Arreglos Ing. Analia Méndez Ing. Raquel Zarco Año: 2012 ELEMENTOS DE UN PROGRAMA EN JAVA El programa Java consta de
Más detallesExamen Principios de Programación Febrero 2012
Por favor siga las siguientes indicaciones: Escriba con lápiz. Escriba su nombre y número de documento en todas las hojas que entregue. Numere las hojas e indique el total de hojas en la primera de ellas.
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 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 detalles