Procesos e Hilos
Richard González #16-5033
Nicolás Rosario #16-2180
Emmanuel García #16-7103
Baldwin Cesé #16-5186
Edison Lopez #16-1469
Procesos
• Proceso es todo aquel programa en ejecución.
• Existen diferentes tipos de procesos.
• Necesitan recursos para ejecutarse correctamente (CPU,
memoria, archivos e dispositivos de È/S).
• El sistema es responsable de gestionar cada uno de los procesos
en ejecución.
Estados de los Procesos (Windows)
Descripción de los Estados
• Nuevo: El proceso está siendo creado.
• En ejecución: Se están ejecutando las instrucciones.
• En espera: El proceso está esperando a que se produzca un suceso (como la
terminación de una operación de E/S o la recepción de una señal)
• Preparado: El proceso está a la espera de que le asignen a un procesador.
• Terminado: Ha terminado la ejecución del proceso.
Estado de los Procesos (Linux)
Formación de un proceso
Como se forma un proceso en un sistema
operativo
• Inicio de sistema: son
procesos en primer plano que
se realizan interactuando con
el usuario, es decir recibe la
entrada desde el teclado y
envía la salida a la pantalla.
• Luego están los procesos en
segundo plano no reciben
entradas desde el terminal en
general y se ejecutan
tranquilamente sin necesidad de
interacción.
• El usuario llama un proceso:
ejemplo cuando el usuario
ejecuta una aplicación hace
doble clic.
• El sistema llama un proceso:
Se realiza cuando él un proceso se
está ejecutando un proceso pero
no puede acceder a ciertos recursos
ya sea por motivos de
administración de recursos o
seguridad, entonces recurre a
llamar a otro proceso, como
resultados dividimos el problema
en varias tarea que serán
ejecutadas por distintos procesos.
Entonces como termina un proceso
• Puede terminar por varias
razones:
Terminación normal mediante un
exitprocess.
Terminación por error esto pude
pasar por acceso a memoria no
valido ,una operación que al
ejecutarse produzca un error.
También puede pasar que otro
proceso te elimine de la cpu.
Hilos ( threads )
• En sistemas operativos, un hilo de
ejecución, hebra o subproceso es la
unidad de procesamiento más
pequeña que puede ser planificada
por un sistema operativo.
• Un hilo es simplemente una tarea
que puede ser ejecutada al mismo
tiempo que otra tarea.
También llamados:
• Actividades concurrentes
• Procesos ligeros
• Contextos de ejecución
Estructura de los hilos
Informaciones propias
• Contador de programa
• Pila
• Registros
• Estado (ejecutando, listo o
bloqueado)
Comparten
• Espacio de memoria
• Variables globales
• Archivos abiertos
• Procesos hijos
• Señales y semáforos
Porque nacen los Hilos
• Los hilos nacen debido a la
necesidad de mejorar el
desempeño en la ejecución de
código, pues los procesadores
no estaban procesando con su
máximo potencial.
• Se necesitaba una unidad de
procesamiento mas
manejable: La hebra (hilo).
Estados de los hilos
Utilización de los Hilos
• Servidores: Pueden utilizar las ventajas
del multihilo, creando un hilo gestor
diferente para cada petición entrante
de un cliente.
• Interfaces de usuario: Se pueden
obtener aumentos de rendimiento
empleando un hilo para interactuar con
un usuario, mientras se pasan las
peticiones a otros hilos para su
ejecución.
• En el diseño de un Kernel Multihilo:
Para un sistema operativo distribuido,
esto quiere decir que contribuya a
diferentes tareas entre hilos.
Ventajas de los hilos
• Se necesita menos tiempo para crear
y terminar un hilo que de un
proceso.
• El cambio entre hilos es mucho mas
rápido que entre dos procesos.
• El uso de hilos crea la impresión de
multitarea.
• Pueden comunicarse entre si sin
llamar al núcleo.
Funcionalidad de los hilos
• Los hilos pueden crear hilos hijos.
• Si un hilo se bloquea otro puede
ejecutarse.
• No son independientes entre sí.
• Operan en cierto sentido como los
procesos.
• La popularidad de los hilos esta
creciendo porque puede ejecutar
características de procesos pesados
con mayor eficiencia.
Ejemplo de trabajar solo en el hilo principal
Ejemplo de trabajar con un el hilo principal solo para
la interfaz grafica y el resto en segundo plano
Imagina que queremos ver un listado de 100 imágenes que se descargan
desde Internet, como usuario ¿Cuál de las dos opciones siguientes
elegirías?:
• A) Descargar las imágenes 100 imágenes,
haciendo esperar al usuario con una pantalla de
“cargando” hasta que se descargan todas. Luego
podrá ver el listado con las imágenes.
• B) Que mientras se descargan las 100
imágenes, el usuario pueda ir viendo y usando
las que ya se han descargado.
Planificación de procesos
e hilos
FCFS (FIFO): First-come, first-served
Forma lineal FCFS (FIFO)
SJF : Shortest job first.
Forma lineal SJF
SRTF: Shortest Remaining Time First.
Forma lineal SRTF
RR – Round Robin (Cola circular)
Forma lineal RR
Servicios POSIX para la
gestión de procesos
Baldwin Cesé
Identificación de procesos
• POSIX identifica cada proceso por medio de un entero único
denominado identificador de proceso de tipo pid_t.
• La función para obtener el identificador del proceso que realiza la
llamada es:
Identificación de procesos
Identificación de procesos
• La función para obtener el identificador del proceso padre es:
Identificación de procesos
• La función para obtener el identificador de usuario real es:
Identificación de procesos
• La función para obtener el identificador de grupo real es:
Entorno de un proceso
• El entorno de un proceso consta de la lista de variables que se
pasan al proceso en el momento de empezar su ejecución.
• Son accesibles a través una variable externa que apunta a una
lista de variables de entorno:
Entorno de un proceso
Entorno de un proceso
• Algunas variable de entorno:
• HOME: directorio de trabajo inicial del usuario.
• LOGNAME: nombre del usuario asociado al proceso.
• La función para obtener el valor de una variable de entorno es
char.
Entorno de un proceso
Creación de procesos
• La función para crear un proceso es:
Creación de procesos
• Devuelve el identificador del proceso hijo al proceso padre y 0 al
proceso hijo, devolverá -1 en caso de error.
• Crea un proceso hijo que ejecuta el mismo programa que el padre.
Hereda los ficheros abiertos (se copian los descriptores).
• Las funciones para ejecutar un programa (código) distinto son:
Creación de procesos
Creación de procesos
• Como argumentos se utilizan path, file del nombre del archivo
ejecutable y arg como argumentos del ejecutable.
• Devuelve -1 en caso de error. Si tiene éxito no devolverá ningún
valor.
• Cambia la imagen de memoria del proceso. El mismo proceso
ejecuta otro programa pero mantiene los ficheros abiertos.
Terminación de procesos
• La función para terminar un proceso es:
Terminación de procesos
• Como argumento se utiliza estado, que es el código de retorno al
proceso padre.
• Finaliza la ejecución del proceso.
• Se cierran todos los descriptores de ficheros abiertos.
• Se liberan todos los recursos del proceso.
Espera la terminación de un proceso
• Las funciones para esperar por la finalización de un proceso hijo
son:
Espera la terminación de un proceso
• Como argumentos se utilizan estado, el identificador de
terminación del proceso hijo, pid, identificador del proceso,
opciones, identificador de opciones.
• Devuelve el identificador del proceso hijo ó -1 en caso de error.
• Permite a un proceso padre esperar hasta que termine la
ejecución de un proceso hijo.
Programa de ejemplo
La seccion critica es un Sistema compuesto por procesos en el
que casa uno tiene un fragmento de codigo. Dentro de la
seccion critica pueden estar accediendo y modificando
variables communes, registros de una base de datos, un
archivo o cualquier recurso compartido.
Caracteristica
mas importante
Cuando un proceso se encuentra ejecutando codigo de la
seccion critica, ningun otro proceso puede ejecutar en su
seccion.
El problema de la seccion critica
El problema productor-consumidor
En este tipo de problemas, uno o mas procesos, que se denominan
productores, generan cierto tipo de datos que son utilizados por otros
procesos, que se donominan consumidores.
El compilador, hace las funciones de productor al generar el
codigo ensamblador que consumira el proceso ensamblador para
generar el codigo maquina.
El problema de los lectores-escritores
En este problema existe un determinado objeto que puede ser un
archivo o un registro dentro de un archivo que va a ser utilizado y
compartido por una serie de procesos concurrentes.
En este tipo de problemas existen dos restricciones que han de segurise:
Solo se permite que un escritor tenga acceso al objeto al mismo tiempo. Mientras el
escritor este accediendo al objeto, ningun otro proceso lector o escritor podra
acceder a el.
Se permite, sin embargo, que multiples lectores tengan acceso al objeto, ya que
ellos nunca van a modificar el contenido del mismo
En este tipo de problemas es necesario disponer de servicios de sincronizacion que
permitan a los procesos lectores y escritores sincronizarse adecuadamente en el
acceso al objeto.
Comunicacion cliente-servidor
En el modelos cliente-servidor, los procesos llamados servidores ofrecen una serie
de servicios a otros procesos que se denominan clientes. El proceso servidor puede
residir en la misma maquina que el cliente o en una distinta, en cuyo caso la
comunicacion debera realizarse a traves de una red de interconnexion.
Ejemplos
• Correo electronico
• Transferencia de archivos
Problema de cena de filosofos
Semaforo: variable especial, que
realiza un metodo clasico para
restringir o permitir el acceso a
recursos compartidos como
almacenamiento de sistema o
variable del codigo fuente, en un
entorno de multiprocesamiento.
Sistema Operativo IOS
El Sistema operativo movil mas usado del mundo. Su ultima version fue
el IOS 12 salida en junio del 2018, creado para mejorar la experiencia de
usario. Los elementos de control consisten de deslizadores,
interruptores y botones. La respuesta a las ordenes del usuario es
inmediata y posee una interfaz fluida.
IOS Se deriva de macOS, que a su vez esta basado en Darwin BSD y por lo
tanto es un Sistema operativo tipo Unix.
IOS cuenta con 4 capas de abstraccion:
La capa del nucleo del Sistema operativo.
La capa de servicios principales.
La capa de medios.
La capa de cocoa touch.
Se indica que han sido vendidos mas de 600
millones de iDevice, los usuarios de IOS utilizan un
50% mas sus dispositivos que los de Android. El
Mercado web los domina IOS con un 60% y en
tabletas el iPad tiene el 82% del trafico web. Se
ubica en el lugar #1 de satisfaccion al cliente con
un 73%, seguido por Windows Phone con el 53% y el
93% tiene instalada la version actual del Sistema.
Mac OS
• El primer sistema operativo se crea en el año 1984 por la Empresa
Apple Computers Inc. llamados Macintosh.
• Las primeras 7 versiones fueron comercializados con el nombre de
System Software, después se paso a llamar MAC OS.
• MAC OS X esta construidos sobre UNIX.
• Usa una interfaz gráfica desarrollado por Apple llamada Aqua.
Procesos en Mac OS
• Estados del proceso en un sistema operativo Mac OS:
Listo: es cuando el estado esta listo para cumplir su función.
Ejecución: cuando el procesador esta ejecutando el proceso.
Bloqueado: el proceso pasa a la espera de ser llamado.
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas Operativos

Más contenido relacionado

PPTX
Sistemas operativos procesos
PPTX
estructura de sistemas operativos
PPTX
Modelos de los sistemas distribuidos
PPTX
Administración de procesos y del procesador
PPSX
Estructura de un sistema operativo
PPTX
Manejo de los procesos en los sistemas operativos
PDF
Orientacion A Objetos Para Dummies
PPTX
Programación Orientada a Objetos (POO) y UML
Sistemas operativos procesos
estructura de sistemas operativos
Modelos de los sistemas distribuidos
Administración de procesos y del procesador
Estructura de un sistema operativo
Manejo de los procesos en los sistemas operativos
Orientacion A Objetos Para Dummies
Programación Orientada a Objetos (POO) y UML

La actualidad más candente (20)

PPTX
GESTION DE PROCESOS Sistemas Operativos
PPT
Sincronización entre procesos
PPTX
Diseño caso de pruebas
PPTX
Funciones de administracion de memoria
PPTX
Sistemas paralelos vs distribuidos
PDF
Transiciones de Procesos
PDF
Transacciones
PPTX
MODELO DE PROCESOS DEL SOFTWARE
PPTX
Estados y transiciones de los procesos
PDF
computación paralela
PPT
Arquitectura 3 Capas
PPTX
Segmentacion de memoria
PDF
El barbero-dormilón
DOCX
Ejemplos de proyectos al modelo en cascada
PPTX
Procesos Ligeros: Hilos o Hebras
 
DOCX
Traductor y su estructura
PPTX
Ciclo de instrucción
PPTX
Modelos de arquitecturas de computadoras
PDF
Ingenieria de software
GESTION DE PROCESOS Sistemas Operativos
Sincronización entre procesos
Diseño caso de pruebas
Funciones de administracion de memoria
Sistemas paralelos vs distribuidos
Transiciones de Procesos
Transacciones
MODELO DE PROCESOS DEL SOFTWARE
Estados y transiciones de los procesos
computación paralela
Arquitectura 3 Capas
Segmentacion de memoria
El barbero-dormilón
Ejemplos de proyectos al modelo en cascada
Procesos Ligeros: Hilos o Hebras
 
Traductor y su estructura
Ciclo de instrucción
Modelos de arquitecturas de computadoras
Ingenieria de software
Publicidad

Similar a Procesos e Hilos en los Sistemas Operativos (20)

PPTX
FSO-02.1- Sistemas Operativos - Procesos.pptx
PPT
Unidad2
PDF
PPT CAP 2 Proceso e hilo.pdf
PPTX
PROCESOS DE HILOS Y SU IMPORTANCIA EN LA RED.pptx
PDF
Unidad 2
PPTX
Cuarta clase - Procesos Primera Parte
PPS
Unidad 2 AdministracióN De Procesos
PPTX
S..O. Unidad 2
PDF
Hilos con Posix
DOCX
Cuestionario procesos
PPS
Unidad 2 AdministracióN De Procesos
PPTX
Unidad 2 Sistemas Operativos
PPTX
Procesos e hilos- Parte 1
DOCX
PDF
Recurrencia en procesos
PPSX
Comunicación y Sincronizacion de Procesos
DOCX
Actividad 4
PDF
Procesos concurrencia
PDF
S03_s1-Material.pdfewrewfdsfdsfsdfsdfsdfsd
PPTX
Clase 3 Sistemas Operativos Administración de procesos
FSO-02.1- Sistemas Operativos - Procesos.pptx
Unidad2
PPT CAP 2 Proceso e hilo.pdf
PROCESOS DE HILOS Y SU IMPORTANCIA EN LA RED.pptx
Unidad 2
Cuarta clase - Procesos Primera Parte
Unidad 2 AdministracióN De Procesos
S..O. Unidad 2
Hilos con Posix
Cuestionario procesos
Unidad 2 AdministracióN De Procesos
Unidad 2 Sistemas Operativos
Procesos e hilos- Parte 1
Recurrencia en procesos
Comunicación y Sincronizacion de Procesos
Actividad 4
Procesos concurrencia
S03_s1-Material.pdfewrewfdsfdsfsdfsdfsdfsd
Clase 3 Sistemas Operativos Administración de procesos
Publicidad

Último (20)

PPTX
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
DOCX
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PDF
Guía_de_implementación_Marco_de_gobierno_y_gestión_de_TI_Universidades.pdf
PPTX
Curso de generación de energía mediante sistemas solares
DOCX
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
PDF
Estrategia de apoyo valentina lopez/ 10-3
PPTX
ccna: redes de nat ipv4 stharlling cande
PDF
Estrategia de Apoyo de Daylin Castaño (5).pdf
PPTX
El uso de las TIC en la vida cotidiana..
PPTX
Reconocimiento-Automatico-de-Placas-Vehiculares-con-IA.pptx
PPTX
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
DOCX
Trabajo informatica joel torres 10-.....................
PDF
Documental Beyond the Code (Dossier Presentación - 2.0)
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
DOCX
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
PDF
Distribucion de frecuencia exel (1).pdf
PPTX
Mecanismos-de-Propagacion de ondas electromagneticas
PPTX
Presentación final ingenieria de metodos
PDF
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
Presentacion de Alba Curso Auditores Internos ISO 19011
Guía_de_implementación_Marco_de_gobierno_y_gestión_de_TI_Universidades.pdf
Curso de generación de energía mediante sistemas solares
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
Estrategia de apoyo valentina lopez/ 10-3
ccna: redes de nat ipv4 stharlling cande
Estrategia de Apoyo de Daylin Castaño (5).pdf
El uso de las TIC en la vida cotidiana..
Reconocimiento-Automatico-de-Placas-Vehiculares-con-IA.pptx
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
Trabajo informatica joel torres 10-.....................
Documental Beyond the Code (Dossier Presentación - 2.0)
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
Distribucion de frecuencia exel (1).pdf
Mecanismos-de-Propagacion de ondas electromagneticas
Presentación final ingenieria de metodos
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO

Procesos e Hilos en los Sistemas Operativos

  • 1. Procesos e Hilos Richard González #16-5033 Nicolás Rosario #16-2180 Emmanuel García #16-7103 Baldwin Cesé #16-5186 Edison Lopez #16-1469
  • 2. Procesos • Proceso es todo aquel programa en ejecución. • Existen diferentes tipos de procesos. • Necesitan recursos para ejecutarse correctamente (CPU, memoria, archivos e dispositivos de È/S). • El sistema es responsable de gestionar cada uno de los procesos en ejecución.
  • 3. Estados de los Procesos (Windows)
  • 4. Descripción de los Estados • Nuevo: El proceso está siendo creado. • En ejecución: Se están ejecutando las instrucciones. • En espera: El proceso está esperando a que se produzca un suceso (como la terminación de una operación de E/S o la recepción de una señal) • Preparado: El proceso está a la espera de que le asignen a un procesador. • Terminado: Ha terminado la ejecución del proceso.
  • 5. Estado de los Procesos (Linux)
  • 7. Como se forma un proceso en un sistema operativo • Inicio de sistema: son procesos en primer plano que se realizan interactuando con el usuario, es decir recibe la entrada desde el teclado y envía la salida a la pantalla. • Luego están los procesos en segundo plano no reciben entradas desde el terminal en general y se ejecutan tranquilamente sin necesidad de interacción.
  • 8. • El usuario llama un proceso: ejemplo cuando el usuario ejecuta una aplicación hace doble clic.
  • 9. • El sistema llama un proceso: Se realiza cuando él un proceso se está ejecutando un proceso pero no puede acceder a ciertos recursos ya sea por motivos de administración de recursos o seguridad, entonces recurre a llamar a otro proceso, como resultados dividimos el problema en varias tarea que serán ejecutadas por distintos procesos.
  • 10. Entonces como termina un proceso • Puede terminar por varias razones: Terminación normal mediante un exitprocess. Terminación por error esto pude pasar por acceso a memoria no valido ,una operación que al ejecutarse produzca un error. También puede pasar que otro proceso te elimine de la cpu.
  • 11. Hilos ( threads ) • En sistemas operativos, un hilo de ejecución, hebra o subproceso es la unidad de procesamiento más pequeña que puede ser planificada por un sistema operativo. • Un hilo es simplemente una tarea que puede ser ejecutada al mismo tiempo que otra tarea. También llamados: • Actividades concurrentes • Procesos ligeros • Contextos de ejecución
  • 12. Estructura de los hilos Informaciones propias • Contador de programa • Pila • Registros • Estado (ejecutando, listo o bloqueado) Comparten • Espacio de memoria • Variables globales • Archivos abiertos • Procesos hijos • Señales y semáforos
  • 13. Porque nacen los Hilos • Los hilos nacen debido a la necesidad de mejorar el desempeño en la ejecución de código, pues los procesadores no estaban procesando con su máximo potencial. • Se necesitaba una unidad de procesamiento mas manejable: La hebra (hilo).
  • 14. Estados de los hilos
  • 15. Utilización de los Hilos • Servidores: Pueden utilizar las ventajas del multihilo, creando un hilo gestor diferente para cada petición entrante de un cliente. • Interfaces de usuario: Se pueden obtener aumentos de rendimiento empleando un hilo para interactuar con un usuario, mientras se pasan las peticiones a otros hilos para su ejecución. • En el diseño de un Kernel Multihilo: Para un sistema operativo distribuido, esto quiere decir que contribuya a diferentes tareas entre hilos.
  • 16. Ventajas de los hilos • Se necesita menos tiempo para crear y terminar un hilo que de un proceso. • El cambio entre hilos es mucho mas rápido que entre dos procesos. • El uso de hilos crea la impresión de multitarea. • Pueden comunicarse entre si sin llamar al núcleo.
  • 17. Funcionalidad de los hilos • Los hilos pueden crear hilos hijos. • Si un hilo se bloquea otro puede ejecutarse. • No son independientes entre sí. • Operan en cierto sentido como los procesos. • La popularidad de los hilos esta creciendo porque puede ejecutar características de procesos pesados con mayor eficiencia.
  • 18. Ejemplo de trabajar solo en el hilo principal
  • 19. Ejemplo de trabajar con un el hilo principal solo para la interfaz grafica y el resto en segundo plano
  • 20. Imagina que queremos ver un listado de 100 imágenes que se descargan desde Internet, como usuario ¿Cuál de las dos opciones siguientes elegirías?: • A) Descargar las imágenes 100 imágenes, haciendo esperar al usuario con una pantalla de “cargando” hasta que se descargan todas. Luego podrá ver el listado con las imágenes. • B) Que mientras se descargan las 100 imágenes, el usuario pueda ir viendo y usando las que ya se han descargado.
  • 22. FCFS (FIFO): First-come, first-served
  • 24. SJF : Shortest job first.
  • 28. RR – Round Robin (Cola circular)
  • 30. Servicios POSIX para la gestión de procesos Baldwin Cesé
  • 31. Identificación de procesos • POSIX identifica cada proceso por medio de un entero único denominado identificador de proceso de tipo pid_t. • La función para obtener el identificador del proceso que realiza la llamada es:
  • 33. Identificación de procesos • La función para obtener el identificador del proceso padre es:
  • 34. Identificación de procesos • La función para obtener el identificador de usuario real es:
  • 35. Identificación de procesos • La función para obtener el identificador de grupo real es:
  • 36. Entorno de un proceso • El entorno de un proceso consta de la lista de variables que se pasan al proceso en el momento de empezar su ejecución. • Son accesibles a través una variable externa que apunta a una lista de variables de entorno:
  • 37. Entorno de un proceso
  • 38. Entorno de un proceso • Algunas variable de entorno: • HOME: directorio de trabajo inicial del usuario. • LOGNAME: nombre del usuario asociado al proceso. • La función para obtener el valor de una variable de entorno es char.
  • 39. Entorno de un proceso
  • 40. Creación de procesos • La función para crear un proceso es:
  • 41. Creación de procesos • Devuelve el identificador del proceso hijo al proceso padre y 0 al proceso hijo, devolverá -1 en caso de error. • Crea un proceso hijo que ejecuta el mismo programa que el padre. Hereda los ficheros abiertos (se copian los descriptores). • Las funciones para ejecutar un programa (código) distinto son:
  • 43. Creación de procesos • Como argumentos se utilizan path, file del nombre del archivo ejecutable y arg como argumentos del ejecutable. • Devuelve -1 en caso de error. Si tiene éxito no devolverá ningún valor. • Cambia la imagen de memoria del proceso. El mismo proceso ejecuta otro programa pero mantiene los ficheros abiertos.
  • 44. Terminación de procesos • La función para terminar un proceso es:
  • 45. Terminación de procesos • Como argumento se utiliza estado, que es el código de retorno al proceso padre. • Finaliza la ejecución del proceso. • Se cierran todos los descriptores de ficheros abiertos. • Se liberan todos los recursos del proceso.
  • 46. Espera la terminación de un proceso • Las funciones para esperar por la finalización de un proceso hijo son:
  • 47. Espera la terminación de un proceso • Como argumentos se utilizan estado, el identificador de terminación del proceso hijo, pid, identificador del proceso, opciones, identificador de opciones. • Devuelve el identificador del proceso hijo ó -1 en caso de error. • Permite a un proceso padre esperar hasta que termine la ejecución de un proceso hijo.
  • 49. La seccion critica es un Sistema compuesto por procesos en el que casa uno tiene un fragmento de codigo. Dentro de la seccion critica pueden estar accediendo y modificando variables communes, registros de una base de datos, un archivo o cualquier recurso compartido. Caracteristica mas importante Cuando un proceso se encuentra ejecutando codigo de la seccion critica, ningun otro proceso puede ejecutar en su seccion. El problema de la seccion critica
  • 50. El problema productor-consumidor En este tipo de problemas, uno o mas procesos, que se denominan productores, generan cierto tipo de datos que son utilizados por otros procesos, que se donominan consumidores. El compilador, hace las funciones de productor al generar el codigo ensamblador que consumira el proceso ensamblador para generar el codigo maquina.
  • 51. El problema de los lectores-escritores En este problema existe un determinado objeto que puede ser un archivo o un registro dentro de un archivo que va a ser utilizado y compartido por una serie de procesos concurrentes. En este tipo de problemas existen dos restricciones que han de segurise: Solo se permite que un escritor tenga acceso al objeto al mismo tiempo. Mientras el escritor este accediendo al objeto, ningun otro proceso lector o escritor podra acceder a el. Se permite, sin embargo, que multiples lectores tengan acceso al objeto, ya que ellos nunca van a modificar el contenido del mismo En este tipo de problemas es necesario disponer de servicios de sincronizacion que permitan a los procesos lectores y escritores sincronizarse adecuadamente en el acceso al objeto.
  • 52. Comunicacion cliente-servidor En el modelos cliente-servidor, los procesos llamados servidores ofrecen una serie de servicios a otros procesos que se denominan clientes. El proceso servidor puede residir en la misma maquina que el cliente o en una distinta, en cuyo caso la comunicacion debera realizarse a traves de una red de interconnexion. Ejemplos • Correo electronico • Transferencia de archivos
  • 53. Problema de cena de filosofos Semaforo: variable especial, que realiza un metodo clasico para restringir o permitir el acceso a recursos compartidos como almacenamiento de sistema o variable del codigo fuente, en un entorno de multiprocesamiento.
  • 55. El Sistema operativo movil mas usado del mundo. Su ultima version fue el IOS 12 salida en junio del 2018, creado para mejorar la experiencia de usario. Los elementos de control consisten de deslizadores, interruptores y botones. La respuesta a las ordenes del usuario es inmediata y posee una interfaz fluida. IOS Se deriva de macOS, que a su vez esta basado en Darwin BSD y por lo tanto es un Sistema operativo tipo Unix. IOS cuenta con 4 capas de abstraccion: La capa del nucleo del Sistema operativo. La capa de servicios principales. La capa de medios. La capa de cocoa touch.
  • 56. Se indica que han sido vendidos mas de 600 millones de iDevice, los usuarios de IOS utilizan un 50% mas sus dispositivos que los de Android. El Mercado web los domina IOS con un 60% y en tabletas el iPad tiene el 82% del trafico web. Se ubica en el lugar #1 de satisfaccion al cliente con un 73%, seguido por Windows Phone con el 53% y el 93% tiene instalada la version actual del Sistema.
  • 57. Mac OS • El primer sistema operativo se crea en el año 1984 por la Empresa Apple Computers Inc. llamados Macintosh. • Las primeras 7 versiones fueron comercializados con el nombre de System Software, después se paso a llamar MAC OS. • MAC OS X esta construidos sobre UNIX. • Usa una interfaz gráfica desarrollado por Apple llamada Aqua.
  • 58. Procesos en Mac OS • Estados del proceso en un sistema operativo Mac OS: Listo: es cuando el estado esta listo para cumplir su función. Ejecución: cuando el procesador esta ejecutando el proceso. Bloqueado: el proceso pasa a la espera de ser llamado.