Procesos 1 / 31. Para entender el concepto de hebra, necesitamos compreender el concepto de proceso
|
|
- María del Rosario Ramírez Sosa
- hace 8 años
- Vistas:
Transcripción
1 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 computador Unidad de actividad caracterizada por la ejecución de una secuencia de instrucciones, un estado actual, y un conjunto asociado de recursos del sistema 2 / 31 Elementos típicos de un proceso Identificador Estado Prioridad Program Counter o PC Contexto, es decir contenidos del conjunto de registros asociados al proceso Espacio de direcciones con 1. Programa ejecutable 2. Datos globales 3. Stack del usuario 4. Stack del sistema Información de status de I/O Información de contabilidad 3 / 31 1
2 Bloque de control de proceso (PCB) Estructura de datos que contiene los elementos de procesos Creado y manejado por el SO Contiene la informacin necesaria para interrumpir un proceso en ejecucin y luego reanudarlo (como si la interrupcin no hubiera ocurrido) 4 / 31 2
3 Modelo simple de estados de un proceso Un proceso puede estar en uno de dos estados: 1. Corriendo, es decir ejecutándose en el procesador 2. No corriendo; en el sistema, pero fuera del procesador 5 / 31 3
4 Modelo de proceso de 5 estados El estado no-corriendo se divide en dos: listo y bloqueado Por conveniencia, se agregan dos estados más: Nuevo y Salir. Entrar Despachar Termino Nuevo No corriendo Corriendo Salir Time-out Evento ocurre Esperar evento Bloqueado 6 / 31 Modelo de 5 estados Corriendo (running): el proceso est corriendo, es decir est en el procesador Listo (ready): el proceso est listo para ejecutarse Bloquado (blocked): no puede ejecutarse hasta que un evento dado ocurra. Ej: operacin de I/O termine Nuevo (new): est recin creado, pero an no ha sido admitido en la cola de Ready. Ej. An no ha sido cargado en memoria Fin (exit): un proceso que, por algn motivo, ya no sigue ejecutndose en el sistema 7 / 31 4
5 Ejemplo transición entre estados Proceso A Proceso B Proceso C Dispatcher / 31 Uso de múltiples colas de espera El SO puede organizar los procesos en colas de espera, según sus estados Así, existíıa una cola de listos, otra de espera por I/O de disco, otra para I/O de interface de red, etc. 9 / 31 5
6 Procesos suspendidos El procesador es mucho ms veloz que los dispositivos de I/O, y sera posible que todos los procesos en memoria estuvieran esperando por I/O Swapear temporalmente algunos de estos procesos a disco y as liberar memoria. Procesos que han sido swapeados a disco desde el estado de bloqueados, pasan al estado Suspendido (suspended) Note que swapping es una operacin de I/O 10 / 31 Modelo de estados con un estado suspendido Entrar Despachar Termino Nuevo No corriendo Corriendo Salir Time-out Activar Evento ocurre Esperar evento Suspendido Suspender Bloqueado 11 / 31 6
7 Modelo de estados con dos estados suspendidos Bloqueado: proceso en memoria principal y esperando por un evento Nuevo Suspender Bloqueado/Suspendido: proceso en memoria secundaria y esperando por un evento Listo/Suspendido: proceso en memoria secundaria, pero listo para ejecucin en cuanto se cargue en memoria principal Admitir Listo/ Suspendido Evento ocurre Bloqueado/ Suspendido Activar Suspender Suspender Activar Admitir No corriendo Evento ocurre Bloqueado Despachar Time-out Esperar evento Corriendo Termino 12 / 31 Salir La imagen de un proceso Se llama imagen de un proceso a la colección de: Programa: Código ejecutable (texto) Datos del usuario: Datos locales, globales, constantes, etc. Stack del usuario para llamado a procedimientos, paso de parámetros, etc. Stack del sistema PCB Identificador Proceso Contexto del Proceso Control del Proceso Stack del sistema Stack del usuario Datos Programa Espacio de direcciones compartidas 13 / 31 7
8 Cambio de contexto (process switch) Un cambio de contexto ocurre cada vez que el procesador comienza o reanuda la ejecución de un proceso distinto (al actual). Cuándo hacer un cambio de contexto? 1. Trap: interrupción asociada a un error de la ejecución de la instrucción actual. 2. Interrupción: evento externo a la ejecución del proceso 3. Interrupción del reloj por término de tiempo I/O 4. Fallo de memoria. La dirección de memoria no se encuentra actualmente en memoria principal. 5. Llamado al sistema (system call): por ejemplo instrucción de I/O Un cambio de contexto o cambio de proceso no es lo mismo que un cambio del modo de ejecución del procesador. 14 / 31 Labores en un cambio de contexto Guardar el contexo del proceso incluyendo el PC y otros registro. Actualizar el PCB del proceso que actualmente est en ejecucin. Mover el PCB de la cola de listo a la cola apropiada. Seleccionar otro proceso para ejecucin. Actualizar el PCB del proceso seleccionado Actualizar las estructuras de administracin de memoria Restaurar el estado del procesador al que tena cuando se estaba ejecutando el proceso seleccionado 15 / 31 8
9 Ejecución del sistema operativo 1. Ejecución en el contexto de un proceso usuario Cada vez que se solicita un servivio al SO, simplemente se realiza un llamado a una rutina del SO, pero no hay cambio de contexto. Hay cambio de modo usuario a modo kernel Un número pequeño de tareas, como por ejemplo cambio de contexto, pueden ejecutarse fuera del contexto usuario 2. Basado en procesos Implementa las tareas del SO como una coleccin de procesos del sistema Útil en sistemas multiprocesadores y multicomputadores, pues permiten que los servicios prestados por los procesos puedan ser ejecutados exclusivamante en algunos procesadores y así mejorar rendimiento. 16 / 31 Cambio del modo de ejecución Existen dos modos principales para la ejecución de procesos: 1. Modo usuario : Es un modo no privilegiado, en el cual el proceso no puede ejecutar instrucciones reservadas al kernel 2. Modo kernel : En este modo, el proceso puede ejecutar cualquier tipo de instrucciones y tiene el control absoluto del sistema En SO donde el kernel se ejecuta en el contexto de procesos usuarios (Unix, por ejemplo) es necesario realizar cambio en el modo de ejecución cada vez que un proceso invoca algún llamado al sistema Recordar que el procesador chequea por interrupciones durante el ciclo fetch. Si hay alguna interrupción pendiente, el procesador realiza lo siguiente: 1. Setea el PC con la dirección inicial del manejador de interrupciones 2. Cambia el modo del procesador de modo usuario a modo kernel, de manera que el manejador de interrupciones pueda ejecutar instrucciones privilegiadas. 17 / 31 9
10 Modelo de estados en Unix 18 / 31 Creación de procesos en Unix fork() es el llamado al sistema para crear un nuevo proceso #include <sys/types.h> #include <unistd.h> pid_t fork(void); fork() crea un proceso hijo, copia exacta del proceso padre. Lo único diferente es el identificador de proceso o pid fork() retorna: 1. el pid del hijo en el padre 2. 0 en el hijo si hubo algún error fork() es llamado una vez, pero retorna dos 19 / 31 10
11 Ejemplo 1 de fork() #include <sys/types.h> #include <unistd.h> main() { int pid; if ( (pid = fork()) == -1) { printf("no se pudo crear hijo\n"); exit(-1); if (pid == 0) { // soy el hijo printf("soy el hijo y mi pid = %d\n", getpid()); printf("hijo: el pid de mi padre es = %d\n", getppid()); exit(0); else { // soy el padre printf("soy el padre y mi pid = %d\n", getpid()); printf("padre: el pid de mi hijo es %d\n", pid); printf("padre: el pid de mi padre es %d\n", getppid()); exit(0); 20 / 31 Ejemplo 2 de fork() 21 / 31 11
12 Identificadores En sistemas Unix-like cada proceso tiene al menos seis identificadores asociados con el. pid t getpid(void): ID del proceso llamador (el que invoca) pid t getppid(void): ID del padre del proceso uid t getuid(void): ID del usuario real del proceso uid t geteuid(void): ID del usuario efectivo del proceso gid t getgid(void): ID del grupo real del proceso gid t getegid(void): ID del grupo efectivo del proceso El usuario y grupo real identifican quién realmente somos y son seteados al momento de hacer login al sistema (archivo password /etc/passwd) El usuario y grupo efectivo definen los permisos de acceso del proceso a los archivos. 22 / 31 El 1/2 ambiente de un proceso El medio ambiente de un proceso se refiere a todos aquellos elementos que permite que un proceso se ejecute; incluye Cómo comienza la ejecución de un proceso; Los recursos asociados y sus ĺımites; El layout en memoria principal; Los argumentos de linea de comando; Las variables de medio ambiente. 23 / 31 12
13 La función main() Un programa en C comienza su ejecución cuando la funcíıon main() es invocada. int main(int argc, char *argv[]); argc es el número de argumentos en ĺınea de comandos *argv[] es el vector de punteros los argumentos de ĺınea de comandos Ejemplo: $ sort -n 100 -o file.txt argc es 5 argv[] = { sort, -n, 100, -o, file.txt En realidad, el kernel llama a una rutina start-up la cual finalmente invoca a main 24 / 31 Inicio, ejecución y término de un proceso Cuando el proceso invoca exit(), el proceso realiza operaciones de limpieza antes de retornar al kernel. Cuando el proceso invoca exit(), el proceso retorna inmediatamente al kernel. 25 / 31 13
14 La función atexit() Esta función le permite al proceso registrar manejadores de salida, es decir funciones que se ejecutan cuando el proceso termina. #include <stdlib.h> int atexit(void (*func)(void)); Cuando el proceso termina, se invocan las funciones registradas con atexit() en el orden inverso al que fueron registradas static void limpieza(void); int main(int argc, char *argv[]) { if (atexit(limpieza)!= 0) err_sys("error registrar limpieza()"); printf("eso es todo, amigos\n"); return(0); static void limpieza(void) { printf("limpiando...\n"); 26 / 31 Variables de 1/2 ambiente Un proceso puede acceder a sus variables de 1/2 ambiente mediante el puntero environ extern char **environ; Cada variable consiste de un par nombre=valor y pueden ser leídas por el proceso usando la función char *getenv(const char *name); Estas variables no tiene valor para el kernel; el significado es dado por las aplicaciones environ "HOME=/home/batman" "PATH=/bin:/usr/bin" "SHELL=/bin/bash" "USER=batman" "PWD=/home/batman/lab1" NULL 27 / 31 14
15 Layout de un proceso Linux en memoria $ cat /proc/self/maps 001c c3000 r-xp 001c :00 0 [vdso] 002b d1000 r-xp : /lib/ld-2.5.so 002d d2000 r-xp : /lib/ld-2.5.so 002d d3000 rwxp 0001a000 08: /lib/ld-2.5.so 00c dc4000 r-xp : /lib/i686/nosegneg/libc-2.5.so 00dc dc6000 r-xp 0013d000 08: /lib/i686/nosegneg/libc-2.5.so 00dc dc7000 rwxp 0013f000 08: /lib/i686/nosegneg/libc-2.5.so 00dc dca000 rwxp 00dc : d000 r-xp : /bin/cat 0804d e000 rw-p : /bin/cat 0987f a0000 rw-p 0987f000 00:00 0 b7db6000-b7fb6000 r--p : /usr/lib/locale/locale-archive b7fb6000-b7fb7000 rw-p b7fb :00 0 b7fcf000-b7fd0000 rw-p b7fcf000 00:00 0 bfaf8000-bfb0d000 rw-p bfaf :00 0 [stack] $ size /bin/cat text data bss dec hex filename c0b /bin/cat 28 / 31 Familia exec() Si fork() crea un clon de un proceso, cómo sería posible crear procesos hijos totalmente distintos a un padre? execve() ejecuta un nuevo programa en el proceso que realiza la invocación execve() no crea un nuevo proceso, sino que sobre-escribe el programa actual con uno nuevo #include <unistd.h> int execve(const char *filename, char *const argv [], char *const envp[]); filename es el camino absoluto del programa ejecutable argv[] es un arreglo con los argumentos de ĺınea de comandos envp[] es el medio ambiente de ejecución del proceso execve() no retorna si hubo éxito 29 / 31 15
16 Familia exec() Las siguientes funciones son front-ends de execve(): #include <unistd.h> int execl(const char *path, const char *arg,...); int execlp(const char *file, const char *arg,...); int execle(const char *path, const char *arg,..., char * const envp[]); int execv(const char *path, char *const argv[]); int execvp(const char *file, char *const argv[]); Para recordar: l : lista uno a uno los argumentos v : entrega un vector con los argumentos p : usa el PATH definido en el medio ambiente del proceso para encontrar el ejecutable e : asigna un environment, es decir medio ambiente 30 / 31 Ejemplo de execve() #include <sys/types.h> #include <unistd.h> main() { int pid; if ( (pid = fork()) == -1) { printf("no se pudo crear hijo\n"); exit(-1); if (pid == 0) { // soy el hijo if (execlp("ls", "ls", "/home/rannou", 0) == -1) { printf("no se pudo hacer exec\n"); exit(-1); printf("bye"); // soy el padre wait(pid); printf("mi hijo finalizo\n"); exit(0); 31 / 31 16
Sistemas 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 detallesRequerimientos Principales de un Sistema Operativo. Descripción y Control de Procesos. Proceso
Requerimientos Principales de un Sistema Operativo Descripción y Control de Procesos Capítulo 3 Entrelazar la ejecución de varios procesos para maximizar el uso del procesador a la vez que se mantiene
Más detallesRequerimientos principales de un sistema operativo
Descripción y control de procesos Requerimientos principales de un sistema operativo Intercalar la ejecución de varios procesos para maximizar el uso del procesador proporcionando un tiempo de respuesta
Más detallesSistemas Operativos. Curso 2016 Procesos
Sistemas Operativos Curso 2016 Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor
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 detallesProcesos. Procesos. Concurrencia de procesos. Qué es un proceso? Estados de un proceso. Modelo de 2 estados. (C) 2008 Mario Medina 1
Procesos Procesos Mario Medina mariomedina@udec.cl El sistema operativo como administrador de procesos Controla la ejecución de procesos para optimizar criterios Asigna recursos a procesos Facilita sincronización
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 detallesProcesos. Fernando R. Rannou Departamento de Ingenieria Informatica Universidad de Santiago de Chile. October 10, 2013
Procesos Fernando R. Rannou Departamento de Ingenieria Informatica Universidad de Santiago de Chile October 10, 2013 Concepto de proceso Un programa es un conjunto de instrucciones en un lenguaje en particular.
Más detallesGestión de procesos DEFINICIONES DE PROCESOS
DEFINICIONES DE PROCESOS Gestión de procesos Un programa en Ejecución. Una instancia de un programa ejecutándose en un computador. La entidad que se puede asignar o ejecutar en un procesador. Una unidad
Más detallesSOLUCION EXAMEN junio 2006
SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los
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 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 detallesIntroduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por
Más detallesUnidad 2: Gestión de Procesos
Unidad 2: Gestión de Procesos Tema 4, Procesos: 4.1 El concepto de proceso. 4.2 Planificación de procesos. 4.3 Procesos cooperativos. 4.4 Hilos (threads). Informática (Segovia) 1 4.1 El concepto de proceso.
Más detallesEl lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */
Principios de Programación El lenguaje C 1. Variables locales y globales 1.1. Variables locales Las funciones permiten al programador modularizar un programa. Todas las variables declaradas en las definiciones
Más detallesPlanificación de Procesos. Módulo 5. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco
Planificación de Procesos Módulo 5 Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Planificación de Procesos Conceptos Básicos Criterios de Planificación
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 detallesSistemas Operativos. Curso 2014 Planificación
Sistemas Operativos Curso 2014 Planificación Agenda Introducción. Despachador. Clases de procesos. Esquemas de planificación. Criterios de planificación. Algoritmos de planificación. FCFS. SJF. Prioridad.
Más detallesSistemas Operativos. Curso 2015 Planificación
Sistemas Operativos Curso 2015 Planificación Agenda Introducción. Despachador. Clases de procesos. Esquemas de planificación. Criterios de planificación. Algoritmos de planificación. FCFS. SJF. Prioridad.
Más detallesCapítulo 1 Introducción a la Computación
Capítulo 1 Introducción a la Computación 1 MEMORIA PRINCIPAL (RAM) DISPOSITIVOS DE ENTRADA (Teclado, Ratón, etc) C P U DISPOSITIVOS DE SALIDA (Monitor, Impresora, etc.) ALMACENAMIENTO (Memoria Secundaria:
Más detallesProcesos, hilos y Recursos
Sistemas Operativos Pontificia Universidad Javeriana Febrero de 2010 Process Manager Procesos Clasicos Procesos Modernos Process Manager Objetivo El manejador de procesos provee un espectro de servicios
Más detallesUnidad II: Administración de Procesos y del procesador
Unidad II: Administración de Procesos y del procesador 2.1 Concepto de proceso Un proceso no es más que un programa en ejecución, e incluye los valores actuales del contador de programa, los registros
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 detallesTema 8 Procesos. * Definición informal: un proceso es un programa en ejecución
Tema 8 Procesos 8.1 Aspectos básicos de los procesos 8.1.1 Concepto de proceso * Definición informal: un proceso es un programa en ejecución Un programa ejecutable es un conjunto de instrucciones y datos
Más detalles7. Manejo de Archivos en C.
7. Manejo de Archivos en C. Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan normalmente en un dispositivo de
Más detallesContenido. Procesos. Programas/Procesos. Programas/Procesos. Por qué hacer uso de los Procesos? Proceso
Contenido Procesos Qué es un Proceso? Qué información requiere el Sistema de Operación para manejar los procesos? Programas/Procesos Programas/Procesos Un proceso es diferente a un programa Programa: Código
Más detallesGUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS
ARCHIVOS ANEXOS Son los documentos, hojas de cálculo o cualquier archivo que se anexa a las carpetas, subcarpetas, hallazgos u otros formularios de papeles de trabajo. Estos archivos constituyen la evidencia
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 detallesHardware y Estructuras de Control. Memoria Virtual. Ejecución de un Programa. Ejecución de un Programa
Memoria Virtual Capítulo 8 Hardware y Estructuras de Control Las referencias de memoria se traducen a direcciones físicas dinámicamente en tiempo de ejecución Un proceso puede ser intercambiado hacia dentro
Más detallesPreliminares. Tipos de variables y Expresiones
Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un
Más detallesSea el siguiente programa de nombre "c0p1" para copiar archivos (por simplicidad se ha eliminado todo control de errores): Se pide:
Sea el siguiente programa de nombre "c0p1" para copiar archivos (por simplicidad se ha eliminado todo control de errores): 1 /* c0p1 origen destino 2 * Copia "origen" sobre "destino" byte a byte, 3 * haciendo
Más detallesProcesos. Lecturas recomendadas. Ejemplo: gcc. Modelo de procesamiento. Modelo de procesamiento. Jean Bacon Operating Systems (4)
Índice Procesos Gustavo Romero 1 Definición 2 Control Arquitectura y Tecnología de Computadores 14 de febrero de 2014 3 Estado 4 IPC Gustavo Romero Procesos (1/50) Gustavo Romero Procesos (2/50) Lecturas
Más detallesProcesos. Planificación del Procesador.
Procesos. Planificación del Procesador. Sistemas Operativos. Tema 2. Concepto de Proceso. Una definición sencilla: Programa en ejecución. Entidad pasiva Programa RECURSOS CPU Memoria Ficheros Dispositivos
Más detallesModelo de procesamiento
Índice Lecturas recomendadas Procesos Gustavo Romero López Arquitectura y Tecnología de Computadores 15 de mayo de 2015 1 Definición 2 Control 3 Estado 4 IPC Jean Bacon Operating Systems (4) Abraham Silberschatz
Más detallesManual de rol gestor de GAV para moodle 2.5
Manual de rol gestor de GAV para moodle 2.5 Consultas LDAP-GAUR... 2 Buscar en LDAP datos de un usuario... 2 Docentes... 3 Buscar en GAUR datos de un docente... 3 Buscar en GAUR la docencia de un docente
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 detallesSISTEMAS OPERATIVOS AVANZADOS
SISTEMAS OPERATIVOS AVANZADOS TEMA 3 CLAVE: MIS 204 PROFESOR: M.C. ALEJA DRO GUTIÉRREZ DÍAZ 3. PROCESOS CONCURRENTES 3.1 Conceptos de programación concurrente 3.2 El problema de la sección crítica 3.3
Más detallesHilos, comunicación y competencia entre procesos. Dr. Alonso Ramírez Manzanares 2-Sep-2010
Hilos, comunicación y competencia entre procesos Dr. Alonso Ramírez Manzanares 2-Sep-2010 Implementación de procesos Se mantiene una tabla de procesos con una entrada por cada proceso: Con lo cual tenemos
Más detallesModulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
Más detallesProf. Dr. Paul Bustamante
Carné: Nombre: Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante INDICE 1. INTRODUCCIÓN... 1 Pag.1 1.1 EJERCICIO1: CÁLCULO DEL IMC (3.0 PTS.)... 1 1.2 EJERCICIO2: OPERADOR VIRTUAL DE
Más detallesSeñal de petición de Interrupción
Consideren una tarea que require tomar caracteres desde un teclado y mostrarlos en la pantalla de un monitor. La tasa de transferencia desde un teclado a un computador está limitado por la velocidad del
Más detallesGUIA SOBRE LOS REQUISITOS DE LA DOCUMENTACION DE ISO 9000:2000
1 INTRODUCCIÓN Dos de los objetivos más importantes en la revisión de la serie de normas ISO 9000 han sido: desarrollar un grupo simple de normas que sean igualmente aplicables a las pequeñas, a las medianas
Más detallesExamen de Fundamentos de sistemas distribuidos
Examen de Fundamentos de sistemas distribuidos Tiempo total: 2 horas Problema: Programa: Rendezvous con semáforos(5 puntos) Utilizando como único mecanismo de sincronización los semáforos descritos en
Más detallesMemoria compartida y semáforos r/w. La página del manual que podría servir para describir estas funciones es la siguiente:
(3 ptos) Memoria Compartida y Semáforos R/W 1. Objetivo En esta práctica se pretende crear una librería que dé la funcionalidad de un semáforo para resolver problemas con múltiples lectores y escritores
Más detallesEstructuras de Sistemas Operativos
Estructuras de Sistemas Operativos Definicion de Sistema Operativos Un sistema operativo es un programa que actua como inter entre el usuario y el hardware de un computador y su proposito es proporcionar
Más detalles1. Manejo de memoria estática 2. Manejo de memoria dinámica
1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo
Más detallesContenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE
Contenidos 1. Introducción 2. El operador NEW 3. El operador DELETE 1 Introducción Hasta ahora hemos visto que cada vez que queremos usar una variable debemos reservarle un lugar de la memoria al comenzar
Más detallesÍndice ÍNDICE...1 1. EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.)...1 2. EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4
Pág.1 Índice ÍNDICE...1 1. EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.)...1 2. EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4 1. Ejercicio 1: Cálculo Financiero (5 ptos.) Desde un banco se le ha encargado
Más detallesSistemas Operativos Ingeniería de telecomunicaciones Sesión 2: Procesos e hilos (modificado 29/10)
Sistemas Operativos Ingeniería de telecomunicaciones Sesión 2: Procesos e hilos (modificado 29/10) Calendario Comienzo: Lunes 19 de octubre y miércoles 21 de octubre. Entrega: 2 de noviembre y 4 de noviembre,
Más detallesClases y Objetos. Informática II Ingeniería Electrónica
Clases y Objetos Informática II Ingeniería Electrónica Los Tipos de Datos Hasta ahora, en un programa podemos usar para representar variables a: Tipos fundamentales : enteros (int), caracteres (char),
Más detallesInstituto Profesional DuocUC Escuela de Ingeniería Control File
Control File Jaime Amigo P. 2006, Santiago - Chile Objetivos Después de completar esta lección, usted deberá saber lo siguiente: Explicar el uso del archivo de control Listar los contenidos del archivo
Más detallesConcurrencia. Primitivas IPC con bloqueo
Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región
Más detallesRESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA
UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí
Más detallesIncidencias: Todas las incidencias que ocurrirán durante el apadrinamiento de un niño se deben registrar para poder buscar soluciones.
Apadrinamiento ONG Estudio preliminar: Se desea diseñar una aplicación para la gestión de los apadrinamientos de una asociación ONG. Para ello el sistema proporcionara una interfaz al usuario para poder
Más detallesContenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.
Contenido Sistema de archivos Operaciones sobre archivos Métodos de acceso a archivos Directorio Sistema de archivos por capas Espacio libre Sistema de archivos Proporciona el mecanismo para el almacenamiento
Más detallesTema: Arreglos de Objetos en C++.
Programación II. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Arreglos de Objetos en C++. Objetivos Específicos Describir la implementación de arreglos de Objetos.
Más detallesOficina Online. Manual del administrador
Oficina Online Manual del administrador 2/31 ÍNDICE El administrador 3 Consola de Administración 3 Administración 6 Usuarios 6 Ordenar listado de usuarios 6 Cambio de clave del Administrador Principal
Más detallesMódulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas
Módulos: Módulo 1 Hardware & Arquitectura de sistemas - 20 Horas Este módulo permite conocer y configurar los elementos básicos del hardware del sistema, como también otros componentes adicionales como
Más detallesAcronis License Server. Guía del usuario
Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE
Más detallesMANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD
MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...
Más detallesHP Backup and Recovery Manager
HP Backup and Recovery Manager Manual de usuario Version 1.0 Índice Introducción Instalación Cómo se instala Opciones de idioma HP Backup and Recovery Manager Recordatorios Copias de sguridad programadas
Más detallesManual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL
Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL Índice 1 Introducción... 5 1.1 Perfil de la aplicación... 5 1.2 Requisitos técnicos... 5 2 Manual de usuario... 7 2.1 Instalación del certificado...
Más detallesManual de usuario de IBAI BackupRemoto
Manual de usuario de IBAI BackupRemoto Índice Cliente de IBAI BackupRemoto... 3 Descarga del cliente de IBAI BackupRemoto... 4 Instalación del cliente de IBAI BackupRemoto... 5 Instalación sobre Microsoft
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 detallesOrganización de Computadoras
Organización de Computadoras Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Segundo Cuatrimestre de 2015 Proyecto N 1 Programación en Lenguaje C El objetivo principal
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 detallesESTRUCTURAS BÁSICAS DE UN S.O.
PROCESOS ESTRUCTURAS DE DATOS BCP PROCESOS OPERACIONES SOBRE LOS PROCESOS ESTADOS DE LOS PROCESOS PLANIFICACIÓN DE LA CPU ALGORITMOS NO APROPIATIVOS ALGORITMOS APROPIATIVOS EVALUACIÓN DE LAS POLÍTICAS
Más detallesCampos de tareas. Costo real (campo de tareas) Duración real (campo de tareas) Fin real (campo de tareas)
s de tareas indica que el campo es nuevo en Project 2007. Campo Costo real (campo de Duración real (campo de Fin real (campo de En el campo Costo real se muestran los costos del trabajo ya realizado por
Más detallesUNIVERSIDAD TECNOLOGICA CENTROAMERICANA
UNIVERSIDAD TECNOLOGICA CENTROAMERICANA PROYECTO DE GRADUACION MANUAL DE USUARIO Alejandro Corpeño Dubón 951050 corp@icomstec.com Tegucigalpa, MDC, Honduras, C.A. 15 de Diciembre 2000 Alejandro Corpeño
Más detallesPROCESO ADMINISTRACIÓN DE RECURSOS TECNOLÓGICOS SUBPROCESO ADMINISTRACIÓN DE CONTINGENCIAS
Objetivo Este subproceso establece las actividades que se realizan para la planeación y control de respaldos y desastres relacionados con los recursos informáticos existentes en el Senado de La República
Más detallesPara ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:
Descripción del ambiente de trabajo Entrar y salir de la aplicación Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes: A través del botón :
Más detallesConceptos Generales en Joomla 1.7.2.
1.- Tipos de usuarios en Joomla! JOOMLA 1.7 USUARIOS. Los usuarios de sitios web de Joomla! pueden dividirse en dos categorías principales: Invitados. Usuarios registrados. Los Invitados son sencillamente
Más detallesSoporte y mantenimiento de base de datos y aplicativos
Soporte y mantenimiento de base de datos y aplicativos Las bases de datos constituyen la fuente de información primaria a todos los servicios que el centro de información virtual ofrece a sus usuarios,
Más detallesConceptos Fundamentales sobre UNIX Laboratorio 11.3.2 Impresión mediante la Línea de Comandos (Tiempo estimado: 30 min.)
Conceptos Fundamentales sobre UNIX Laboratorio 11.3.2 Impresión mediante la Línea de Comandos (Tiempo estimado: 30 min.) Objetivos: Desarrollar una comprensión de la impresión por la línea de comandos
Más detallesCapítulo IV. INTERBLOQUEO E INANICIÓN
Capítulo IV. INTERBLOQUEO E INANICIÓN Interbloqueo: [MAEKAMA] Se define como el bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros.
Más detallesPunteros. Definición Un puntero es un dato que contiene una dirección de memoria.
Punteros Definición Un puntero es un dato que contiene una dirección de memoria. NOTA: Existe una dirección especial que se representa por medio de la constante NULL (definida en ) y se emplea
Más detallesTema 1: Introducción a los S.O. Ejercicios de Planificiación de Procesos
Tema 1: Introducción a los S.O. Ejercicios de Planificiación de Procesos 1.- Notas y criterios para los problemas de planificación NOTA GENERAL: Normalmente los enunciados no son rigurosamente completos,
Más detallesTema 11. Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. 11.1.1. MULTIPROGRAMACIÓN.
Tema 11 Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. El sistema operativo es básicamente un programa que controla los recursos del computador, proporciona servicios a
Más detallesCAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP
CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP Características del Explorador de Windows El Explorador de Windows es una de las aplicaciones más importantes con las que cuenta Windows. Es una herramienta indispensable
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 detallesConceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos
Conceptos ELO329: Diseño y Programación Orientados a Objetos 1 Paradigmas de Programación Historia: Los computadores parten cableados por hardware, Luego se introduce la programación en binario, Se desarrolla
Más detallesCDI Exclusión mutua a nivel alto. conceptos
conceptos El concepto de usar estructuras de datos a nivel alto libera al programador de los detalles de su implementación. El programador puede asumir que las operaciones están implementadas correctamente
Más detallesEl lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org>
El lenguaje de Programación C Fernando J. Pereda Por qué aprender C? Portable y muy extendido Estándar (C89, C99) El lenguaje de los sistemas Un lenguaje fácil (no, no es broma) Por
Más detallesManual de Operación para Transportistas. Asignación Interactiva de Camiones
Manual de Operación para Transportistas Asignación Interactiva de Camiones Agosto 2008 Altos Hornos de México, S.A. de C.V. aprovechando tecnologías de vanguardia como lo es el Internet, pone en marcha
Más detallesExperiencia 2 y 3 : Cableado y Switchs (Documentación)
Experiencia 2 y 3 : Cableado y Switchs (Documentación) 1 Objetivos: Complementar los conocimientos teóricos y prácticos del alumno en el campo de las redes de computadores. Aprender las características
Más detallesProcesos. Bibliografía. Threads y procesos. Definiciones
Procesos Prof. Mariela Curiel Bibliografía A. Tanembaum & M. Van Steen. Sistemas Distribuidos. Principios y Paradigmas. 2da. Edición. Smith & Nair. The Architecture of Virtual Machines. IEEE Computer.
Más detallesGuía de instalación de la carpeta Datos de IslaWin
Guía de instalación de la carpeta Datos de IslaWin Para IslaWin Gestión CS, Classic o Pyme a partir de la revisión 7.00 (Revisión: 10/11/2011) Contenido Introducción... 3 Acerca de este documento... 3
Más detallesCapítulo 4 Gestión de memoria
Sistemas operativos: una visión aplicada Capítulo 4 Gestión de memoria Contenido Objetivos del sistema de gestión de memoria Modelo de memoria de un proceso Esquemas de memoria basados en asignación contigua
Más detallesAPUNTES DE WINDOWS. Windows y sus Elementos INSTITUTO DE CAPACITACIÓN PROFESIONAL. Elementos de Windows
1 APUNTES DE WINDOWS Unidad 1: Windows y sus Elementos Elementos de Windows Escritorio: Es la pantalla que aparece cuando se inicia una sesión con Windows, desde aquí es de donde se administra el computador.
Más detallesLa ventana de Microsoft Excel
Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft
Más detallesPráctica 8 - DMA y Almacenamiento Masivo
Práctica 8 - DMA y Almacenamiento Masivo Organización del Computador 1 Segundo Cuatrimestre 2011 Ejercicio 1 El siguiente protocolo de handshaking permite a un amo (por ejemplo: CPU) ordenar la realización
Más detallesTema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática
Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción
Más detallesSistema de Captura Electrónica
Sistema de Captura Electrónica Instructivo de Instalación y Configuración de Lote Server a PC Versión del Documento v2.01 INDICE INDICE... 2 Consideraciones generales de las aplicaciones... 4 Especificaciones
Más detallesNotificación sustitutiva de la HIPAA
El 13 de febrero de 2014, un agente del Servicio de Rentas Internas (IRS) le dijo a Amerigroup que el Departamento de Policía de Tallahassee, Florida hizo una búsqueda en el auto de un sospechoso el 30
Más detallesGestión de Permisos. Documento de Construcción. Copyright 2014 Bizagi
Gestión de Permisos Documento de Construcción Gestión de Permisos 1 Tabla De Contenido Descripción del Proceso... 3 Factores Importantes En La Construcción Del Proceso... 4 Modelo de Datos... 4 Principales
Más detallesComo ejecutar el programa PRUF. Cía. HASAR saic
-- Programa pruf.exe -- 1 Uso dell prrogrrama PRUF..EXE El programa pruf.exe ha sido pensado para que resulte un buen asistente para el programador durante la etapa de desarrollo y/o adaptación de su aplicación,
Más detallesAccede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:
Gemelo Backup Online DESKTOP Manual DISCO VIRTUAL Es un Disco que se encuentra en su PC junto a las unidades de discos locales. La información aquí existente es la misma que usted ha respaldado con su
Más detallesGestión de Oportunidades
Gestión de Oportunidades Bizagi Suite Gestión de Oportunidades 1 Tabla de Contenido CRM Gestión de Oportunidades de Negocio... 4 Elementos del Proceso... 5 Registrar Oportunidad... 5 Habilitar Alarma y
Más detalles2) Tenemos un sistema informático con una sola CPU que está gestionada mediante una cola multinivel con realimentación.
EJERCICIOS DE PLANIFICACIÓN: 1) Un sistema informático posee los siguientes recursos: - una CPU - tres unidades de almacenamiento UAM1, UAM2 y UAM3. En nuestro sistema tenemos dos tipos de procesos: Tipo
Más detallesGeneral Parallel File System
General Parallel File System Introducción GPFS fue desarrollado por IBM, es un sistema que permite a los usuarios compartir el acceso a datos que están dispersos en múltiples nodos; permite interacción
Más detalles