17
1 Sistemas Operativos M.C. Luis R. Basto Díaz [email protected] Licenciatura en Ciencias de la Computación ¿Qué es un sistema operativo? Un programa que actúa como intermediario entre el usuario y el hardware de la computadora. Objetivos del Sistema Operativo: Proveer un ambiente en donde el usuario pueda ejecutar programas y solucione sus problemas de manera más fácil. Permitir el uso cómodo de la Computadora. Utilizar el hardware de la computadora de una manera eficiente. 2 Elaboró: M.C. Jorge Gómez

Clase_2

Embed Size (px)

DESCRIPTION

Sistemas operativos

Citation preview

Page 1: Clase_2

1

Sistemas Operativos

M.C. Luis R. Basto Díaz [email protected]

Licenciatura en Ciencias de la Computación

¿Qué es un sistema operativo?

•  Un programa que actúa como intermediario entre el usuario y el hardware de la computadora.

•  Objetivos del Sistema Operativo: – Proveer un ambiente en donde el usuario

pueda ejecutar programas y solucione sus problemas de manera más fácil.

– Permitir el uso cómodo de la Computadora. – Utilizar el hardware de la computadora de

una manera eficiente.

2 Elaboró: M.C. Jorge Gómez

Page 2: Clase_2

2

Componentes de una Computadora

1.  Hardware. Proporciona los recursos básicos de una computadora (CPU, memoria, dispositivos E/S).

2.  Sistema Operativo. Controla y coordina el uso del hardware entre diferentes aplicaciones para diferentes usuarios.

3.  Programa de Aplicación. Define la forma en que los recursos del sistemas son utilizados para resolver los problemas computacionales del usuario (compiladores, sistemas de bases de datos, video juegos, etc).

4.  Usuarios (personas, otras computadoras).

3 Elaboró: M.C. Jorge Gómez

Vista de un sistema computacional

4 Elaboró: M.C. Jorge Gómez

Page 3: Clase_2

3

Perspectiva del usuario (1) •  PC.

–  Los recursos sólo son utilizados por un usuario. –  S.O. diseñado con “facilidad de uso”. –  Cierta atención al funcionamiento, casi nula para

la utilización de los recursos.

•  Mainframes. –  Recursos compartidos, intercambio de

información. –  S.O. diseñado para “maximizar la utilización de

los recursos”. –  Asegura que los tiempos disponibles de CPU,

memoria, E/S son utilizados eficientemente

5 Elaboró: M.C. Jorge Gómez

Perspectiva del usuario (2)

•  Estaciones de trabajo. –  Computadoras conectadas con servidores. Sus

usuarios cuentan con recursos dedicados a ellos pero también los comparten

–  S.O. diseñados con compromisos entre la usabilidad y la utilización de recursos

•  Handheld. –  Sistemas personales con limitaciones de poder e

interface –  S.O. diseñados para la usabilidad individual.

6 Elaboró: M.C. Jorge Gómez

Page 4: Clase_2

4

Perspectiva del sistema

•  Asignador de recursos. – Administra y organiza los recursos.

•  Programa de control. – Control de los dispositivos de E/S y

programas de usuario para prevenir errores y el mal uso de la computadora.

•  Kernel.

7 Elaboró: M.C. Jorge Gómez

Evolución de los sistemas operativos

•  Sistemas Mainframe –  Las supercomputadoras fueron las primeras usadas

para resolver problemas comerciales o científicos. De estas computadoras parte la evolución de los S.O.

•  Sistemas de procesamiento por Lotes (Batch) –  El usuario no interactuaba directamente con la

computadora. –  En cambio, el usuario preparaba un trabajo y lo

introducía a la computadora (tarjetas perforadas). Después se obtenía un resultado impreso generalmente en papel.

8 Elaboró: M.C. Jorge Gómez

Page 5: Clase_2

5

Sistemas de procesamiento por Lotes (Batch)

•  Para acelerar el procesamiento se desarrolló el sistema de procesamiento por lotes –  La idea era colectar un grupo de trabajos (batch) y luego

introducir el lote completo a la computadora

•  Los sistemas operativos en esta época eran muy simples y el trabajo principal del S.O. era transferir el control de manera automática de un trabajo a otro.

•  Al terminar con todo el lote, un operador retiraba las cintas de entrada y salida, introducía la nueva cinta con el Lote e imprimía la cinta de salida.

9 Elaboró: M.C. Jorge Gómez

Procesamiento de trabajos

10 Elaboró: M.C. Jorge Gómez

Page 6: Clase_2

6

Organización de la memoria en un sistema de procesamiento por lotes

11 Elaboró: M.C. Jorge Gómez

Sistemas de Multiprogramación

•  Con la mejoría de la tecnología y la introducción de los discos se tuvieron dispositivos más rápidos de E/S. –  Permitió a los sistemas operativos almacenar los

trabajos en dichos discos en lugar de cintas o tarjetas perforadas

•  Esto permitió a los S.O. acceder directamente a varios trabajos por lo que los S.O. tenían algoritmos incipientes de Calendarización de los trabajos, con el propósito de realizar las tareas y usar los recursos eficientemente.

12 Elaboró: M.C. Jorge Gómez

Page 7: Clase_2

7

Sistemas de Multiprogramación

•  Uno de los aspectos más importantes de la multiprogramación es la calendarización de trabajos.

•  La multiprogramación incrementa la utilización del CPU mediante la organización de los trabajos de tal forma que siempre hay un proceso para ejecutar.

•  La idea es partir la memoria en varias partes, con un trabajo distinto en cada partición –  Mientras que un programa esperaba a que terminar la

operación de E/S, otro podría utilizar la CPU

13 Elaboró: M.C. Jorge Gómez

Sistemas de Multiprogramación

•  No obstante, el número de particiones que se podían hacer en memoria era muy inferior a la cantidad de trabajos que se podían almacenar en los discos.

•  Entonces otra característica de esta generación de S.O. fue la utilización de SPOOLING (Simultaneous Peripheral Operational On Line), que consistía en poder cargar del disco un nuevo trabajo cuando concluía otro.

•  La multiprogramación es de las primeras instancias en donde el S.O. tiene que tomar una decisión por el usuario.

14 Elaboró: M.C. Jorge Gómez

Page 8: Clase_2

8

Sistemas de Multiprogramación

•  Si varios procesos están listos para ser cargados a la memoria y no hay suficiente memoria, el S.O. debe escoger entre ellos. (calendarización de procesos)

•  Si se tienen varios procesos en memoria entonces es necesaria una Administración de la memoria

•  Si varios procesos están listos para ejecutarse al mismo tiempo, es necesaria entonces una Calendarización del CPU

15 Elaboró: M.C. Jorge Gómez

Sistemas de Multiprogramación

16 Elaboró: M.C. Jorge Gómez

Page 9: Clase_2

9

Sistemas de multiprogramación

•  Qué pasa cuando tenemos un proceso que por mucho tiempo no necesita realizar operaciones de entrada/salida

•  Conforme el uso de la computadora evolucionó a un modo mucho más interactivo la multiprogramación por sí sola ya no satisfacía

17 Elaboró: M.C. Jorge Gómez

Multitarea cooperativa

•  Procesos o tareas que ceden voluntariamente tiempo a otros procesos

•  Qué pasaba si un proceso que tenía la cpu se “colgaba” – Colapso del sistema

18 Elaboró: M.C. Jorge Gómez

Page 10: Clase_2

10

Sistemas de tiempo compartido

•  Los sistemas de tiempo compartido o Multitarea son una extensión lógica de la multiprogramación.

•  El cpu ejecuta múltiples trabajos intercambiando entre uno y otro, pero el intercambio es tan frecuente que el usuario puede interactuar con cada programa mientras se ejecuta. –  El tiempo compartido es otorgado por el hardware y el S.O.

•  Por lo tanto, un S.O. multitareas permite a muchos usuarios compartir la computadora simultáneamente.

19 Elaboró: M.C. Jorge Gómez

Tiempo compartido •  En un sistema de tiempo compartido cada

acción y comando solo necesita tiempos cortos de CPU para cada usuario.

•  De esta forma, mientras el sistema cambia rápidamente de un usuario a otro, da la impresión que todo el sistema está dedicado para su uso.

•  “Reparto equitativo” de los recursos

20 Elaboró: M.C. Jorge Gómez

Page 11: Clase_2

11

Tiempo Compartido •  Un S.O. de tiempo compartido debe utilizar

calendarización del CPU y multiprogramación para proporcionarle a cada usuario una pequeña porción del tiempo del sistema.

•  Al programa cargado en la memoria y que se está ejecutando se le llama proceso.

•  Los procesos pueden necesitar operaciones de E/S, en ese lapso, el S.O. le asigna el procesador a algún otro usuario.

21 Elaboró: M.C. Jorge Gómez

Tiempo compartido

•  Los S.O, de tiempo compartido necesitan administración y protección de la memoria.

•  Para mantener tiempos razonables de respuesta, los procesos pueden ser cargados y descargados (swap) de la memoria principal hacia el disco, el cual sirve como un almacén temporal para la memoria.

22 Elaboró: M.C. Jorge Gómez

Page 12: Clase_2

12

Tiempo compartido •  Memoria Virtual

–  Es una técnica común para lograr el “swap”. –  Permite la ejecución de un proceso que no puede

ser completado en la memoria.

•  La principal ventaja de la memoria virtual es que los programas pueden ser más grandes que la memoria física.

•  Memoria virtual abstrae la memoria principal en un gran arreglo uniforme de almacenamiento, separando la memoria lógica vista por el usuario de la memoria física.

23 Elaboró: M.C. Jorge Gómez

Tiempo compartido •  Los sistemas de T.C. deben proporcionar un

sistema de archivos. –  Necesario una administración de archivos

•  También, proporcionan un mecanismo para la ejecución concurrente, lo que requiere de esquemas complejos de calendarización del CPU

•  Para asegurar la ejecución ordenada, el sistema debe proporcionar mecanismos para la sincronización y comunicación de procesos.

24 Elaboró: M.C. Jorge Gómez

Page 13: Clase_2

13

Sistemas de Escritorio •  Las pc aparecieron en 1970. Al principio los

S.O. de estos sistemas no fueron ni multiusuarios ni multitareas.

•  Los principales objetivos de estos sistemas es maximizar la conveniencia y tiempo respuesta.

•  Pueden adoptar tecnología desarrollada para S.O. “grandes” (mainframes)

•  Dado que el usuario no tiene que compartir el CPU, su máxima utilización ya no es una preocupación primaria

25 Elaboró: M.C. Jorge Gómez

Sistemas Multiprocesadores •  La mayoría de los sistemas actuales son de

un solo procesador.

•  Sin embargo los sistemas que tienen más de un procesador (sistemas paralelos o multiprocesadores) cada día crecen más en importancia.

•  Principales Ventajas –  Incremento del rendimiento –  ¿Economía en escalabilidad? –  Confiabilidad, tolerancia a fallas

26 Elaboró: M.C. Jorge Gómez

Page 14: Clase_2

14

Sistemas Multiprocesadores •  Multiprocesamiento simétrico (SMP)

–  Cada procesador ejecuta una copia idéntica del sistema operativo.

–  Muchos procesos pueden correr al mismo tiempo (tantos procesos como procesadores) afectando poco el desempeño.

–  Este tipo de sistemas permite compartir dinámicamente los procesos y recursos entre varios procesadores.

–  La mayoría de los sistemas modernos soportan SMP

27 Elaboró: M.C. Jorge Gómez

Sistemas Multiprocesadores

•  Multiprocesamiento asimétrico – Cada procesador tiene asignada una tarea – Un procesador maestro controla el sistema

•  Calendariza y asigna procesos a cada procesador esclavo.

– Común en sistemas extremadamente grandes

28 Elaboró: M.C. Jorge Gómez

Page 15: Clase_2

15

Sistemas Distribuidos •  Los sistemas distribuidos están basado en las redes de

computadoras y su funcionalidad depende del trabajo en redes.

•  Cada procesador tiene su propia memoria local.

•  Los procesadores se comunican entre ellos utilizando las redes de comunicaciones.

•  Existen sistemas cliente-servidor o “peer to peer”

•  Sistema operativo de red, proporciona características de trabajo en red, incluye esquemas de comunicación que permite a diferentes procesos en diferentes computadoras intercambiar mensajes.

29 Elaboró: M.C. Jorge Gómez

Sistemas en grupos (Cluster) •  Al igual que en lo sistemas paralelos, los

clusters de computadoras agrupan múltiples CPU’s para realizar un trabajo computacional.

•  Una capa de software se ejecuta en cada nodo del cluster. De esta manera, cada nodo puede monitorear uno o más de los otros nodos.

•  Dos tipo de clustering –  Asimétrico (Un monitor para el servidor activo) –  Simétrico (Todos se monitorean entre ellos)

30 Elaboró: M.C. Jorge Gómez

Page 16: Clase_2

16

•  Tarea 1 – Características de los sistemas operativos

de tiempo real

31 Elaboró: M.C. Jorge Gómez

Sistemas Portátiles •  Asistentes personales digitales (PDAs)

•  Teléfonos celulares

•  Caracterísiticas – Memoria limitada. – Procesadores lentos. – Pantallas pequeñas.

32 Elaboró: M.C. Jorge Gómez

Page 17: Clase_2

17

El futuro

33 Elaboró: M.C. Jorge Gómez