Está en la página 1de 35

FACULTAD DE INGENIERÍA EN

CIENCIAS APLICADAS - FICA

CARRERA DE INGENIERÍA EN TELECOMUNICACIONES

SISTEMAS OPERATIVOS
Cuarto Nivel
Abr-Ago 2021

Docente: Luis Suárez Zambrano


Entorno de programación -
Procesos
CONTENIDOS

• Conceptos de procesos
• Estados de un proceso
• Bloque de control de procesos (PCB)
• Planificación de procesos
• Cierre de la clase
CONTENIDOS

• Conceptos de procesos
• Estados de un proceso
• Bloque de control de procesos (PCB)
• Planificación de procesos
• Cierre de la clase
Preliminares
• La CPU es un recurso importantísimo
• Distintos usuarios realizan tareas concurrentemente
• Alternancia rápida entre programas
• El sistema operativo gestiona cada tarea del usuario y
las suyas propias.
• Toda estructura del sistema operativo está orientada a
la gestión de procesos
• Toda “tarea” del usuario necesita recursos del
computador.
• TODOS QUEREMOS USAR EL COMPUTADOR
Proceso… qué es?
• Instancia de un programa en ejecución
• Una entidad que contiene una imagen de un programa,
una área de memoria para almacenar datos temporales
(pila).
• Genera una llamada al sistema
Administración de Procesos
• ¿Qué es un proceso?
• Un proceso es un programa en ejecución.
Ejecución

Bloqueado

Listo
Administración de Procesos
• Implementación de los procesos
• La implementación del modelo de procesos se logra debido a que el sistema operativo almacena en una
tabla denominada tabla de control de procesos (TIP), información relativa de cada proceso que se esta
ejecutando en el procesador. Cada línea de esta tabla representa a un proceso.
La información que se almacena es la siguiente:
1) Identificación del proceso.
2) Identificación del proceso padre.
3) Información sobre el usuario y grupo.
4) Estado del procesador.
5) Información de control de proceso
5.1) Información del planificador.
5.2) Segmentos de memoria asignados.
5.3) Recursos asignados.
Elementos de un Proceso

• Identificador
• Estado
• Prioridad
• Program counter
• Punteros a Memoria
• Un contexto
• Información de estado de I/O
• Información de contabilidad

10
Creación de un proceso

1. El arranque del sistema.


2. La ejecución, desde un proceso, de una llamada al
sistema para creación de procesos.
3. Una petición de usuario para crear un proceso.
4. El inicio de un trabajo por lotes.

• Hay procesos en primer plano (ejecutados por el


usuario)
• Hay procesos en segundo plano (propios del sistema)
Creación de Procesos
• Nueva tarea en un sistema de proceso por lotes.
• Nueva conexión interactiva.
• Nuevo proceso creado por el SO para dar un servicio.
• Un proceso generado por otro ya existente.
Terminación de un proceso

1. Salida normal (voluntaria)


2. Salida por error (voluntaria).
3. Error fatal (involuntaria).
4. Eliminado por otro proceso (involuntaria).

• Los procesadores de palabras, navegadores de Internet y otros


programas similares siempre tienen un icono o elemento de
menú en el que el usuario puede hacer clic para indicar al
proceso que elimine todos los archivos temporales que tenga
abiertos y después termine.
Terminación de Procesos
• Principales condiciones según Tanembaum (2003):
• Terminación normal (voluntaria)
• Terminación por error (voluntaria)
• Error fatal (involuntaria)
• Terminado por otro proceso (involuntaria)
Terminación de Procesos
• Terminación normal: Un proceso termina de ejecutar su conjunto de instrucciones y finaliza.
• Tiempo límite excedido: El proceso requiere más tiempo para completar su ejecución del que el
sistema establece como máximo.
• No disponibilidad de memoria: Tiene lugar cuando un proceso necesita más memoria de la que
el sistema puede proporcionar.
• Violación de límites: Ocurre cuando un proceso trata de acceder a una posición de memoria a la
que no puede hacerlo.
Terminación de Procesos
• Error de protección: Se produce si un proceso intenta utilizar un recurso o un archivo para el que
no tiene permiso o trata de utilizarlo de forma incorrecta.
• Error aritmético: Aparece si el proceso intenta hacer un cálculo prohibido como la división por
cero o trata de almacenar un número mayor del que el hardware acepta.
• Superación del tiempo máximo de espera por un recurso: En este caso, el proceso se encuentra
a la espera de obtener un recurso o de que tenga lugar un determinado evento durante un
tiempo que alcanza el límite establecido.
Terminación de Procesos
• Fallo de dispositivo I/O: Se produce por un error en la entrada o la salida tal como la incapacidad
de encontrar un archivo o la ocurrencia de un fallo de lectura o escritura después de un número
máximo de intentos.
• Instrucción no válida: Se produce si un proceso intenta ejecutar una instrucción inexistente.
• Intento de acceso a una instrucción privilegiada: Se presenta si un proceso intenta utilizar una
instrucción reservada para el SO.
Terminación de Procesos
• Mal uso de los datos: Un elemento de dato no está inicializado o es de un tipo equivocado para la
operación que se pretende realizar.
• Intervención del operador o del SO: Por alguna razón, el operador o el SO termina con el
proceso. Por ejemplo, si se considera comprometido el rendimiento del sistema.
• Finalización del proceso padre: Cuando un proceso padre finaliza el SO puede diseñarse para
terminar automáticamente con todos sus descendientes.
Terminación de Procesos
• Solicitud del proceso padre: Un proceso padre tiene normalmente autoridad para terminar con
cualquiera de sus hijos.
CONTENIDOS

• Conceptos de procesos
• Estados de un proceso
• Bloque de control de procesos (PCB)
• Planificación de procesos
• Cierre de la clase
Estados de un Proceso

Diagrama de estados de un proceso (Silberschatz)


Nuevo: El proceso se acaba de crear, pero aún no ha sido
admitido en el grupo de procesos ejecutables por el sistema
operativo.

Listo: El proceso está esperando ser asignado al procesador


para su ejecución.

En ejecución: El proceso tiene la CPU y ésta ejecuta sus


instrucciones.

En espera: El proceso está esperando a que ocurra algún


suceso o interrupción, como por ejemplo la terminación de
una operación de E/S.
Terminado: El proceso ha sido sacado del grupo de procesos
ejecutables por el sistema operativo. Se liberarán los recursos
utilizados por ese proceso (memoria).
CONTENIDOS

• Conceptos de procesos
• Estados de un proceso
• Bloque de control de procesos (PCB)
• Planificación de procesos
• Cierre de la clase
Bloque de control de Proceso (BCP)

Cada proceso se representa en el sistema operativo con un bloque


de control de proceso (PCB, process control block) también
llamado bloque de control de tarea.
Bloque de control de Proceso (BCP)
Ejemplo de ejecución
Address Main Memory Program Counter
0
8000
100
Dispatcher

5000
Process A

8000

Process B

12000

Process C

Figure 3.2 Snapshot of Example Execution (Figure 3.4)


at Instruction Cycle 13 26
Campos comunes de una tabla de procesos
Modelo de procesos con dos estados

• un proceso puede estar en uno de estos dos estados


• Ejecución (Running)
• No-Ejecución (Not-running)

28
Cola de procesos en No ejecución

• La cola es una lista FIFO, (First-in, First-Out)


• Cada bloque de la cola representa a un proceso
• El comportamiento del despachador se puede describir en términos de un
diagrama
de colas
• El procesador opera según un turno rotatorio (round-robin)
29
CONTENIDOS

• Conceptos de procesos
• Estados de un proceso
• Bloque de control de procesos (PCB)
• Planificación de procesos
• Cierre de la clase
Planificación de Procesos

El objetivo de los sistemas operativos multitarea es mantener


múltiples programas en ejecución simultáneamente, pero como la
CPU sólo puede ejecutar un programa a la vez, hay que decidir
quién se ejecuta en cada momento.

Surge el tema de la Planificación…

Se denomina planificación (scheduling) al mecanismo utilizado


por el sistema operativo para determinar qué proceso debe
ejecutarse en cada momento y con ello administrar los recursos
del computador de la mejor manera.
Algoritmos de Planificación del Procesador

Existen varios algoritmos de planificación que el sistema operativo


puede implementar.

• Primero en llegar, primero en ser servido (FCFS)


• Primero el proceso más corto (SJF)
• Menor tiempo restante (SRT)
• Turno rotativo (RR)
• Turno rotativo virtual (VRR)
• Colas multinivel

Administración del procesador…


Taller…
En el computador, ejercite la identificación de procesos,
creación de procesos por parte del usuario, la finalización
de procesos desde la utilidad “Administrador de tareas”
del Sistema operativo Windows.

En casa, investigue comandos asociados a la creación y


administración de procesos, realice la práctica en Linux y
presente un informe de la práctica.

Elabore un organizador gráfico sobre el tema que se ha


tratado en clase, preséntelo en clase.
CONTENIDOS

• Conceptos de procesos
• Estados de un proceso
• Bloque de control de procesos (PCB)
• Planificación de procesos
• Cierre de la clase
Bibliografía
• Básica:

Sistemas operativos. Conceptos fundamentales. James L. Peterson y Abraham


Silberschatz. Ed. Reverte. 1991.

Sistemas operativos, 5ª edición. Willian Stallings. Ed. Pearson. 2005.

• Complementaria y de consulta:
Conceptos de Sistemas Operativos, 6ª edición. Silberschatz, Galvin y Gagne. Ed.
Limusa-Wiley. 2002.

Sistemas operativos. Diseño e implementación, 2ª edición. Andrew Tanenbaum


y Albert Woodhull. Ed. Pearson. 2002.

También podría gustarte