Proceso: Una instancia de un programa en ejecución

Slides:



Advertisements
Presentaciones similares
Unidad 2 – Gestión de Procesos
Advertisements

Modelo de 2 Capas Cliente/Servidor.  Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le.
Resumen de Sistemas Operativos I Msc./Ing. Antonio Mena.
WINDOWS Elvira Abajo Lera Octubre, 2008.
Paul Leger Modelo OSI Paul Leger
INTRODUCCIÓN. Una computador u ordenador se compone principalmente del software, que se refiere al conjunto de programas, instrucciones y reglas informáticas,
Introducción a Sistemas Operativos
Paul Leger Casos de Usos Paul Leger
Introducción al Proyecto
Hardware de Computador
Paul Leger Transacciones Paul Leger
Antonio Reynoso Lobato 2002 A
SISTEMAS OPERATIVOS Sección Crítica.
Introducción a Sistemas Operativos
Procesos Concurrentes
Paul Leger Procesos (capitulo 2) Paul Leger
Agustín J. González Programación de Sistemas: ELO-330
Jornadas técnicas del GUL
Paul Leger Procesos (capitulo 2) Paul Leger
Paul Leger Procesos Paul Leger
HILOS EN SISTEMAS DISTRIBUIDOS
INSTALACION LINUX UBUNTU
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
INTERNET Actividad 3 Herramientas Tareas Ruben Dario Acosta V.
COMO CREAR UN BLOG EN BLOGGER
Gestión de Procesos José Ruiz, Eudald Gómez.
Ayudantía 3: Procesos y threads
PROCESOS COMENZAR.
Parte 4 HTML.
HERRAMIENTAS DE MICROSOFT WORD LOS HIPERVINCULOS Fernanda Munguia Corona N.L25 1°GM.
HERRAMIENTAS DE MICOSOFT WORD LOS HIPERVINCULOS TECNOLOGÍAS DE LA INFORMACIÓN I YOSIRIS MARTÍNEZ ZAMORANO 1 G M 14/05/18.
HERRAMIENTAS DE MICOSOFT WORD LOS HIPERVINCULOS TECNOLOGÍAS DE LA INFORMACIÓN I YOSIRIS MARTÍNEZ ZAMORANO 1 G M 14/05/18.
HERRAMIENTAS DE MICOSOFT WORD LOS HIPERVINCULOS Profesora: Adriana Ubiarco Alumna: Citlaly Naomi Barrera Valdez Grado Grupo: 1-A Materia: Tecnologías Turno:
HERRAMIENTAS DE MICOSOFT WORD LOS HIPERVINCULOS Profesora: Adriana Ubiarco Alumna: Citlaly Naomi Barrera Valdez Grado Grupo: 1-A Materia: Tecnologías.
HERRAMIENTAS DE MICOSOFT WORD LOS HIPERVINCULOS Profesora: Adriana Ubiarco Alumna: Citlaly Naomi Barrera Valdez Grado Grupo: 1-A Materia: Tecnologías.
ARCHIVO O PÁGINA WEB EXISTENTE. Seleccione un elemento con el que vincular de la lista de archivos y carpetas. 1. Haga clic en Carpeta actual.
Leticia Medrano Rodríguez Unidad 4, actividad 3 Tecnologías de la información Adriana Ubiarco.
Joselin Elizabeth Raygoza Chávez 1-A T/M Tecnologias de la Información.
– GESTIÓN DE PROCESOS Sistemas Operativos. AGENDA Concepto de Proceso Planificación de Procesos Operaciones entre Procesos Comunicación interprocesos.
WORD 2010 GRADO 6° / 7°.
HERRAMIENTAS DE MICOSOFT WORD LOS HIPERVINCULOS VALERIA ALEJANDRA PÉREZ ROMERO 1º F- MATUTINO.
HIPERVINCULOS JESUS SAULO MORENO VELASCO 1º FM BGC UNIVERSIDAD DE GUADALAJARA.
HIPERVINCULOS MARÍA PATRICIA GUZMÁN FLORES 1AM TECNOLOGIAS DE LA INFORMACION 1 MTRA. ADRIANA UBIARCO PREPARATORIA NO10 UNIVERSIDAD DE GUADALAJARA.
Los hipervínculos Daniel Sebastián Ochoa Carrasco.
Herramientas de Microsoft Word Hipervínculos Guadalupe Margarita Catedral Cruz 1ª A/ Turno: M Tecnologías de la Información 1 Guadalupe Margarita Catedral.
Tecnologías de la Información 1 Paola Noemí Padilla Almejo 1ºA T/M.
HERRAMIENTAS DE MICROSOFT WORD LOS HIPERVINCULOS.
HERRAMIENTAS DE MICROSOFT WORD LOS HIPERVINCULOS.
LOS HIPERVINCULOS. Los hipervínculos son enlaces o rutas de acceso a otro archivo, pagina Web o una dirección de correo electrónico, es una herramienta.
HERRAMIENTAS DE MICROSOFT WORD LOS HIPERVINCULOS Ernesto Murillo Pineda 1·G T/M No. 51.
LOS HIPERVINVULOS FLORES CARRILL0BELÉN ELIZABETH.
HERRAMIENTAS DE MICOSOFT WORD LOS HIPERVINCULOS. HIPERVÍNCULO  Los hipervínculos son enlaces o rutas de acceso a otro archivo, pagina Web o una dirección.
C HERRAMIENTAS DE MICOSOFT WORD LOS HIPERVINCULOS.
ACTIVIDAD 3 UNIDAD 4 HIPERVINCULOS LOS HIPERVINCULOS Los hipervínculos son enlaces o rutas de acceso a otro archivo, pagina Web o una dirección de correo.
Tema: Componentes lógicos de un ordenador. Mediante el sistema de numeración binario, es decir, usando los dígitos 0 y 1. Lo único que transmite,
HERRAMIENTAS DE MICOSOFT WORD LOS HIPERVINCULOS RODRIGUEZ MERCADO DAMARIS YAHAIRA 1ºF V BGC MAESTRA.- ADRIANA UBIARCO.
Como sumar dos números con JavaScript
2.4.3 Procesadores Tema 2 página 35
Lenguajes del lado del cliente
EJECUCION PARALELA THREADS Y FIBERS
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
INTRODUCCIÓN A DISEÑO Objetivos del curso. Definición de PowerPoint. Que podemos hacer en PowerPoint. Definición de Presentación. Principios de un buen.
Objetos con linea de ejecucion propia
El explorador de Windows El Explorador de archivos (anteriormente llamado Explorador de Windows) te ayuda a trabajar con archivos y carpetas. Para abrir.
SISTEMAS OPERATIVOS JOSE ANGEL MORENO B. Ingeniero de Sistemas TP # Copnia Universidad Incca de Colombia CORPORACI Ó N UNIVERSITARIA REMINGTON.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS. Estos sistemas no tienen una estructura definida, sino que son escritos como una colección de procedimientos donde.
Estructura de los Sistemas Operativos
Hilos de Procesamiento. Hilos Concepto Beneficios Hilos a nivel kérnel y a nivel usuario Modelos multihilos Hilos de Solaris 2 Hilos de Java.
Transcripción de la presentación:

Proceso: Una instancia de un programa en ejecución Paul Leger http://pleger.cl

Procesos Un proceso que se ejecuta en segundo plano, es un proceso que se ejecuta “detrás de escena” sin intervención del usuario El funcionamiento de SO depende de un conjunto de procesos que se ejecuten en segundo plano (conocidos como servicios y antiguamente como demonios). Ejemplos: servicios de red, sonido, Web, antivirus, buscador de actualizaciones Procesador ejecuta varios procesos (en segundo plano o no) por segundos, sin embargo, en teoría no hay paralelismo (TAREA: estudiar el comando “top”)

Procesos (2) Seleccionar qué proceso y cuánto tiempo se debe ejecutar un proceso en un momento no es fácil. Hay varias estrategias detrás de este tema (más sobre esto: “job scheduling”) Cambiar desde un proceso a otro tiene un costo de sobrecarga asociado. Ejemplo, retomar los datos necesario para cargar ese nuevo programa Un programa ejecutado dos veces, tiene dos procesos asociados. Incluso, un proceso podría estar ejecutado en modo superusuario y el otro en modo simplemente usuario

Creación de Procesos (1) El arranque del sistema. Ejemplos: servicios de red, sonido, bluetooth, Web, Mail, etc La ejecución, desde un proceso, de una llamada al sistema para creación de procesos Ejemplo: ejecución de un programa en Python, el cual ejecuta un programa para enviar un mail Una petición de usuario para crear un proceso Ejemplo: Pulsar un “click” al reproductor de multimedia El inicio de un trabajo por lotes Ejemplo: Un programa que inicie todos los días a las 3:00 AM, el cual ejecute varios procesos (TAREA: estudie el comando crontab)

Creación de Procesos (2) Un proceso puede crear otro proceso independiente llamado proceso hijo. En Unix, la función se llama fork y en Windows se llama CreateProcess

Procesos Pesados Cada proceso PESADO tiene su propio espacio de memoria y contador de programa, pero comparten el texto de programa En Unix, los procesos padres e hijos forman una jerarquía de procesos. Por ejemplo, todos los procesos en Unix vienen del procesos init

Scheduling de Procesos (1) Procesador Proceso Listas de Procesos Procesos desbloqueado Lista de Procesos bloqueada

Scheduling de Procesos (2)

Estrategias de Job Scheduling FIFS (First-in First-Serve): El primer proceso en llegar, es el primer en ser servido. Observación: El último proceso que llega debe esperar que todos los procesos anteriores terminen Round Robin Scheduling: Hay pequeña unidad de tiempo q por proceso (time-slice). Todo proceso, cuyo estado es listo, puede ejecutar por tiempo q. Observaciones: 1) Todo proceso debe esperar a lo mas q*(n – 1) unidad de tiempo 2) q muy grande, se puede transformar en FIFs 3) q muy pequeño, se usa el procesador casi todo el tiempo en cargar un proceso para ser ejecutado

Procesos Livianos (Threads/Hilos) Es un proceso dentro de otro proceso Es útil para realizar “algo” mientras el proceso principal trabaja. Ejemplo, interfaces gráficas, funciones automáticas en un procesador de texto como contar palabras Comparten memoria (no necesita ser enviada entre procesos). Analogía, piensen en un Dropbox La creación de los hilos son mucho más rápido que el fork de un proceso

Procesos Livianos v/s Pesados Cada proceso tiene su propia memoria Cada proceso comparte su memoria

Threads (Hilos) Mini-procesos que pueden realizar “algo” con el proceso trabaja para mostrar los resultados temporales. Ejemplo, interfaces gráficas, funciones automáticas en un procesador de texto como contar palabras Comparten memoria (no necesita ser enviada entre proceso). Analogía, piensen en un Dropbox Son mucho más rápido que el fork de un proceso

Ejemplos de hilos Un procesador de texto como Word usa hilos para revisar la ortografía y la gramática. Además, puede usar otros hilos para dar formato al documento y contar palabras

Mirar Threads en Python Hay una librería llamada threading Un hilo se crea con la funcion threading.Thread(target = funcion, args = (parametros) Ejemplo: myThread = threading.Thread(target = mostrar, args = (texto,) Un hilo comienza a trabajar con el método start. Por ejemplo: myThread.start() Para esperar que un thread termine, se usa la función join

Ver Ejemplo 1

Propiedades de un Hilo y Proceso

Hilos

Secciones Críticas (1/2) Cómo los hilos comparten memoria (área de datos y variables globales), dos hilos operando “al mismo tiempo”, puede dejar esta memoria inconsistente En threading, esto se conoce como datarace o race condition Para evitar esto, es necesario reconocer cuáles son las secciones críticas

Secciones Criticas (2/2) count = count + 1 #count = count + 1

Ver ejemplo 2

Evitar Race Condition Race Condition deja la memoria de un programa en ejecución en estado inconsistente Se han creado varias técnicas para evitar race condition Básicamente, estas técnicas duermen hilos cuando ellos pueden potencialmente dejar la memoria en estado inconsistente

Semáforos Se crea un semáforo, el cual se puede ver como una maquina de tickets que pueden ser consumidos nWaitSem consume tickets y nSignalSem entrega tickets Si no hay tickets, no se puede seguir avanzando, es decir, el hilo se duerme

Productor/Consumidor HILO Productor HILO Consumidor

Pseudo-Código de Productor/Consumidor Suponga dos semáforos: Full & Empty Full con “0” tickets Empty con “N” tickets Una lista con una limitada capacidad: buffer de tamaño N Dos variables: nextEmpty = 0 & nextFull = 0 def productor(): while True: item = producir() nWaitSem(Empty) buffer[nextEmpty] = item nextEmpty = [nextEmpty + 1]%N nSignalSem(Full) def consumidor(): while True: nWaitSem(Full) item = buffer[nextFull] nextFull = [nextFull + 1]%N nSignalSem(Empty)

Lecturas Sección : 2.1 Completa Secciones: 2.2.1 – 2.2.3 Secciones: 2.3.1 – 2.3.5