Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un...

23
Estructuras de datos (Prof. Edgardo A. Franco) 1 M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom Tema 16: El sistema operativo y los procesos

Transcript of Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un...

Page 1: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

Estructuras de datos (Prof. Edgardo A. Franco)

1 M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom

Tema 16: El sistema operativo y los procesos

Page 2: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

Contenido • El sistema operativo • Componentes básicos de un sistema operativo

• Núcleo o Kernel • Administrador de memoria • Sistema de entrada/salida • Administrador de archivos • Interprete de comandos

• Concepto de Proceso • Planificador de procesos • Estados de un proceso • Administrador de memoria • Memoria de un proceso

2

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 3: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

El sistema operativo • Un Sistema operativo (SO) es un software que

actúa de interfaz entre los dispositivos de hardware de una computadora y los programas usados por el usuario.

• Es responsable de gestionar, coordinar las actividades y llevar a cabo el intercambio de los recursos así como actuar como plataforma para que el resto de aplicaciones del usuario se ejecutan en un equipo de cómputo.

3

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 4: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

Objetivos del Sistema Operativo: • Servir como interfaz entre el equipo físico (hardware)

de una computadora y el usuario y resto del software, con el fin de presentar una "cara" más sencilla y amistosa al mismo (fácil interoperabilidad).

• Optimar y gestionar los recursos (tanto de software como de hardware) con que cuenta una computadora y hacer utilizable ésta última.

Hardware

Sistema Operativo

Software del Sistema

Software de aplicaciones

Usuarios

4

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 5: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

Componentes básicos de un sistema operativo • Núcleo o Kernel

• Sistema de entrada/salida

• Administrador de archivos

• Intérprete de comandos

5

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 6: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

Núcleo o Kernel • Es el módulo de más bajo nivel de un sistema operativo.

Entre las tareas que desempeña se incluyen el manejo de las interrupciones y los procesos "process control", la asignación de trabajo al procesador "scheduler", la asignación de la memoria a los procesos y su gestión "memory management" y el proporcionar una vía de comunicación entre los distintos programas "IPC". • En general, el núcleo se encarga de controlar el resto de los

módulos y sincronizar su ejecución.

6

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 7: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

Sistema de entrada/salida • Este componente presenta al usuario la E/S de datos como

una cuestión independiente del dispositivo; es decir, para los usuarios, todos los dispositivos tienen las mismas características y son tratados de la misma forma, siendo el sistema operativo el encargado de atender las particularidades de cada uno de ellos (como su velocidad de operación). Una técnica muy común, especialmente en salida, es el uso de "spoolers". Los datos de salida se almacenan de forma temporal en una cola situada en un dispositivo de almacenamiento masivo (el spool), hasta que el dispositivo periférico requerido se encuentre libre; de este modo se evita que un programa quede retenido porque el periférico no esté disponible. El sistema operativo dispone de llamadas para añadir y eliminar archivos del spool.

7

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 8: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

Administrador de archivos • Se encarga de mantener la estructura de los datos y los programas del

sistema y de los diferentes usuarios (que se mantienen en archivos) y de asegurar el uso eficiente de los medios de almacenamiento masivo.

• El administrador de archivos también supervisa la creación, actualización y eliminación de los archivos, manteniendo un directorio con todos los archivos que existen en el sistema en cada momento y coopera con el módulo administrador de memoria durante las transferencias de datos desde y hacia la memoria principal. Si se dispone de un sistema de memoria virtual, existen transferencias entre la memoria principal y los medios de almacenamiento masivo para mantener la estructura de la misma.

• Los archivos almacenados en los dispositivos de almacenamiento masivo tienen distintos propósitos. Algunos contienen información que puede ser compartida. Otros son de carácter privado, e incluso secreto. Por tanto, cada archivo está dotado de un conjunto de privilegios de acceso, que indican la extensión con la que se puede compartir la información contenida en el archivo.

8

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 9: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

Interprete de comandos

• Muchos comandos son proporcionados por el sistema operativo mediante estatutos de control que tienen las siguientes funciones • Creación de procesos y administración • Administración de E/S • Administración de almacenamiento secundario • Administración de memoria principal • Acceso al sistema de archivos • Protección • Acceso a la red

9

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 10: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

Concepto de Proceso • Un proceso es un programa en ejecución, los procesos

son gestionados por el sistema operativo y están formados por:

• Las instrucciones de un programa destinadas a ser ejecutadas

por el microprocesador.

• Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa.

• Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.

• Otra información que permite al sistema operativo su planificación.

10

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 11: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

El planificado de procesos • En el núcleo o kernel de todo sistema operativo

existe un submódulo denominado scheduler (planificador), el cual se encarga de asignar tiempo del procesador a los programas, de acuerdo a una cierta política de planificación que varía de un sistema operativo a otro.

Proceso ID=02

Proceso ID=03

Proceso ID=n … Procesador (CPU)

scheduler

Proceso ID=01

process control

memory management

11

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 12: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

• Normalmente se utiliza una jerarquía de prioridades que determinan cómo se asignará el tiempo del CPU a cada programa.

• Una política de planificación muy común en los sistemas de multiprogramación y multiproceso son las técnicas de "time slicing" (fracción de tiempo). Se asigna a cada programa un corto intervalo de tiempo del procesador. Si el programa no ha terminado durante este intervalo de tiempo, vuelve a la cola de programas.

12

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 13: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

Estados de un proceso • Los procesos son creados y destruidos por el sistema

operativo por el modulo "process control" dentro del kernel, de la misma forma el kernel también este se debe hacer cargo de la comunicación entre procesos "IPC (Inter-process Communication)", a petición de otros procesos y de la memoria principal que este puede usar "memory management".

scheduler process control

memory management

Proceso 13

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 14: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

• En todo sistema operativo un proceso puede al menos estar en tres estados "en ejecución", "listo" y "bloqueado". en ejecución

listo bloqueado

despachar

time-out bloqueo

despertar

14

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 15: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

• En ejecución: Sólo uno de los procesos preparados se está ejecutando en cada momento (monoprocesador). Si se tienen más recursos de procesamiento (multiprocesador) la cantidad de procesos posibles de ejecutarse simultáneamente se encuentran en ejecución.

• Listo: Proceso que está listo para ejecutarse. Simplemente está esperando a que el sistema operativo le asigne un tiempo de CPU.

• Bloqueado: Proceso que por algún motivo paso a este estado (Se mando a dormir, se espera alguna respuesta de e/s, se detecto un error en su ejecución, se espera acceder a un recurso.)

15

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 16: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

16

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 17: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

Administrador de memoria • Este módulo dentro del kernel (memory management)

se encarga de asignar ciertas porciones de la memoria principal (RAM) a los diferentes programas o partes de los programas que la necesiten, mientras el resto de los datos y los programas se mantienen en los dispositivos de almacenamiento secundario. Cuando se asigna una parte de la memoria principal se hace de una forma estructurada, siguiendo un determinado orden. La forma más común de administración de la memoria supone crear una memoria virtual; con este sistema, la memoria de la computadora aparece, para cualquier usuario del sistema, mucho mayor de lo que en realidad es. 17

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 18: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

18

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 19: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

Memoria de un proceso • Durante la ejecución del proceso, todos los datos

manipulados (incluido el propio código del programa compilado) se alojan en la memoria principal, ya que esta ofrece menor latencia (menor tiempo de comunicación con el CPU) respecto de los medios secundarios.

CPU

Memoria

Proceso n

Sistema Operativo

19

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 20: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

• Al ejecutar un nuevo programa el administrador de memoria del sistema operativo, asigna un bloque contiguo de memoria al proceso que se inicia (el tamaño es variable).

20

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 21: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

• Durante la ejecución del proceso, todos los datos manipulados (incluido el propio código del programa compilado) se alojan en la memoria principal, ya que esta ofrece menor latencia (menor tiempo de comunicación con el CPU) respecto de los medios secundarios.

21

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 22: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

• Empezando por la direcciones más bajas, el segmento de código es la porción de la memoria donde se carga el programa que se ejecuta.

• El segmento de datos alberga las declaraciones globales (e.g. variables del programa principal y constantes globales).

• El montículo es la región de memoria que se toma y se libera de manera dinámica durante la ejecución del programa.

• La pila es donde se "apilan" porciones de memoria pertenecientes a funciones y/o procedimientos cuando se les llama.

22

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez

Page 23: Clase 21: El sistema operativo y los procesos - · PDF fileEl sistema operativo • Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware

Código

Datos

Pila

Memoria de proceso activo

Pila (Stack)

Montículo (Heap)

23

16 E

l sist

ema

oper

ativ

o y

los p

roce

sos

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

Prof

. Edg

ardo

Adr

ián

Fran

co M

artín

ez