Académique Documents
Professionnel Documents
Culture Documents
Sistemas e Informática x
SISTEMAS OPERATIVOS
Unidad : 02 Temas : 1 a 4
Semestre: 2019 - I
Escuela Profesional de Ingeniería de
Sistemas e Informática x
AGENDA
1. Procesos: Definición, modelo, creación, terminación, jerarquía,
estados y transiciones
2. Estados de un proceso en memoria secundaria: swapping
3. Implementación de procesos: Modelo, estructuras del SO,
gestión de memoria, modos de ejecución
4. Procesos en Unix: Estados y creación
2
Escuela Profesional de Ingeniería de
Sistemas e Informática x
¿Qué es un Proceso?
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Espacios de direcciones
• Cada proceso conjunto de direcciones a usar 0 - valor
max.
• Espacio de direcciones del proceso < memoria principal
caso simple
• Caso contrario Memoria Virtual
• SO crea abstracción espacio de direcciones memoria
principal y en el disco
• La administración de los espacios de direcciones y la
memoria física parte muy importante de lo que hace un SO
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
¿Por qué es necesaria esta abstracción?
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Modelo del Proceso
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Modelo del Proceso
3. Petición de usuario
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Creación de Procesos
1. Arranque del sistema
Primer plano Interacción con el usuario
Segundo plano o Daemons Ej. aceptar correo electrónico entrante, peticiones de pág.
Web, cron daemon
2. Llamada al SO
Trabajo a realizar se puede formular en términos de varios procesos relacionados
entre sí
3. Petición de usuario
Sistemas interactivos usuarios pueden iniciar un programa escribiendo un comando o
haciendo (doble) clic en un icono
4. Trabajo por lotes (batch)
Usuarios envian los trabajos SO decide si tiene recursos para ejecutar otro trabajo
(job) crea un proceso y ejecuta el siguiente trabajo de la cola de entrada
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Creación de Procesos Linux
• Llamada al sistema fork: crea una copia exacta del proceso
original
• Proceso que realiza bifurcación proceso padre
• Nuevo proceso proceso hijo
• Padre y el hijo cada uno sus propias imágenes de memoria
privadas
• Si el padre cambia después una de sus variables, los cambios no
son visibles para el hijo, y viceversa
• Archivos abiertos se comparten entre el padre y el hijo Si se
abrió cierto archivo en el padre (antes de fork) seguirá abierto
tanto en el padre como en el hijo de ahí en adelante
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Creación de Procesos Linux
¿Cómo saben los procesos cuál de ellos debe ejecutar el código del padre y
cuál debe ejecutar el código del hijo?
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Terminación de Procesos
3. Error fatal (involuntaria)
Propio proceso debido a un error en el programa. Ej:
Ejecutar una instrucción ilegal
Hacer referencia a una parte de memoria no existente
Memoria no disponible
División entre cero
Error en operación de E/S
Error de protección, etc.
Proceso puede indicar al SO que desea manejar ciertos errores por sí
mismo el proceso recibe una señal (se interrumpe) en vez de terminar
Manejo de Excepciones Robustez
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Terminación de Procesos
4. Eliminado por otro proceso (involuntaria)
Llamada que indique al SO que elimine otro proceso En UNIX es kill,
en Win32 es TerminateProcess
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Jerarquía de Procesos
UNIX:
Un proceso y todos sus hijos + sus posteriores descendientes Grupo de
procesos
Proceso init lee un archivo que le indica cuántas terminales hay utiliza
fork para crear un proceso por cada terminal (esperan a que alguien inicie la
sesión) Si un inicio de sesión es Ok se ejecuta un shell para aceptar
comandos se pueden iniciar más procesos y así sucesivamente
Todos los procesos en el sistema completo pertenecen a un solo árbol init
en la raíz
Los procesos en UNIX no pueden desheredar a sus hijos
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Jerarquía de Procesos
Windows:
NO tiene concepto de jerarquía de procesos
Corriendo
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Transiciones de estados de un proceso
• Nuevo a Listo SO ejecuta nuevo proceso
según límites de nro. de procesos y cantidad de
memoria virtual
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Transiciones de estados de un proceso
Swapping (memoria de
intercambio) mover parte o
todo un proceso de memoria
principal al disco
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Swapping
Ventajas
Permite correr una mayor cantidad de procesos y bien configurada puede
mejorar el rendimiento de los procesos ejecutados
Desventajas
Tiempos de acceso a la memoria de apoyo (discos duros) es muy costoso
(constantemente copiando y leyendo procesos) pueden terminar haciendo más
lenta la ejecución del proceso Thrashing
Solución considerar la actividad y prioridad del proceso
Si es muy activo y tiene alta prioridad se deja en memoria
Si presenta grandes lapsos de inactividad es conveniente pasarlo a disco
duro
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Estados en memoria secundaria
Nuevos estados a incluir:
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Estados en memoria secundaria
Corriendo
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Estados en memoria secundaria
Razones por las cuales un proceso es suspendido
• Swapping SO necesita liberar suficiente memoria principal para traer
otro proceso a estado Listo
• SO suspende un proceso en segundo plano o de utilidad
• Solicitud interactiva del usuario suspende ejecución de un programa
en depuración
• Temporización Proceso se ejecuta periódicamente se suspende
mientras espera el siguiente intervalo de ejecución
• Solicitud del proceso padre suspende la ejecución de un
descendiente, para examinar o modificar dicho proceso o para coordinar
la actividad de varios procesos descendientes
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Implementación de Procesos - Modelo
Modelo Procesos Secuenciales solo un programa está corriendo
a la vez Multiprogramación
Los procesos ejecutan programas:
Escritos por el usuario
Los que son parte del SO
Si ocurre una interrupción SO deja de ejecutar el proceso actual y
ejecuta el proceso que está bloqueado esperando esta interrupción
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Implementación de Procesos - Modelo
Nivel más bajo del SO Planificador con una variedad de procesos encima de el
Manejo de las interrupciones y los detalles relacionados con iniciar y detener los
procesos se ocultan en el Planificador
Resto del SO muy bien estructurado en forma de procesos
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Implementación de Procesos
Información necesaria para que el SO controle los procesos y gestione sus
recursos de estos:
Archivos
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Implementación de Procesos
2. Tabla de Procesos
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Implementación de Procesos – Gestión de Memoria
SO puede gestionar un proceso si al menos una pequeña
porción de su imagen se mantiene en memoria principal
Para ejecutar el proceso la imagen del proceso completa se
debe cargar en memoria principal o al menos en memoria
virtual
SO necesita conocer la posición en disco de cada proceso, y
para cada proceso que se encuentre en memoria principal, su
posición en dicha memoria
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Implementación de Procesos – Modos de Ejecución
Modo menos privilegiado modo usuario, programas de usuario
típicamente se ejecutan en este modo
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Procesos en Unix
Proceso UNIX conjunto de estructuras de datos
Proporcionan al SO toda la información necesaria para
manejar y activar los procesos
Imagen del proceso organizada en tres partes
contexto a nivel de usuario, contexto de registros, y
contexto a nivel de sistema
La creación de procesos en UNIX por medio de la
llamada al sistema fork()
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Procesos en Unix - Estados
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Procesos en Unix - Estados
1. Ejecución (running) de un proceso
comienza en modo kernel luego va a
modo usuario
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Procesos en Unix - Creación
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
¡Gracias!
Escuela Profesional de Ingeniería de
Sistemas e Informática x