37
Software Sistemas Operativos

Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

Embed Size (px)

Citation preview

Page 1: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

SoftwareSistemas Operativos

Page 2: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

2

Referencias

• Stallings, Sistemas Operativos

• Tanenbaum, Sistemas Operativos Modernos

Page 3: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

3

Definición de software

• Parte “intangible” del sistema.

• Conjunto de instrucciones que controlará la actividad del computador.

• Diversos tipos:• S.O.• De control del hardware o básico. • De aplicación.• Utilitarios.• Shells, Ofimática, etc.

Page 4: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

4

S.O. generalidades:Una definición de Sistema Operativo

• Explota los recursos de hardware de uno o mas procesadores y sus periféricos.

• Ofrecer un conjunto de servicios a los usuarios del sistema y al programador.

• Además gestiona la memoria secundaria y dispositivos de I/O.

Page 5: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

5

S.O. generalidades:Ejemplos de Sistemas Operativos

• Microsoft DOS, Windows 3, 95, 98, ME, XP• Microsoft Windows NT, 2000, XP• Apple Macintosh MacOs• Unix y propietarios relacionados

• AIX; Solaris, • Linux, BSD alternativa a Unix

• Red Hat, Mandrake, FreeBSD, otros.• Muchos otros.

Page 6: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

6

S.O. generalidades:Sistema Operativo

• Es un programa que controla la ejecución de los programas de aplicación.

• Es una interfaz entre los programas de aplicación y el hardware.

• Oculta, al usuario, los detalles del hardware.

Page 7: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

7

S.O. generalidades:Funciones

• Comodidad: para el usuario, de utilización del computador.

• Eficiencia: permite la utilización eficiente de los recursos.

• Capacidad de evolución: su construcción debe permitir el desarrollo e introducción de nuevas funciones.

Page 8: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

8

S.O. generalidades:Niveles en un sistema de computación

Usuario final

Programador

Diseñador deSistemas

Operativos

Hardware del computador

Sistema Operativo

Utilitarios

Programas deAplicación

Page 9: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

9

S.O. generalidades:Niveles en un sistema de computación

Operating system

Tanenbaum, Operating System

Page 10: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

10

Servicios provistos o suministrados por el Sistema Operativo (1)

• Ejecución de Programas.

• Acceso a dispositivos I/O.

• Acceso controlado a archivos.

• Acceso al Sistema y a los recursos específicos, brinda protección y resuelve conflictos de propiedad de los recursos.

Page 11: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

11

Servicios provistos o suministrados por el Sistema Operativo (2)

• Detección y respuesta a errores:• Errores de hardware internos y externos:

• Errores de memoria.• Fallas de dispositivos.

• Errores de software:• Overflow aritmético. • Acceso prohibido a ubicaciones de memoria.

El sistema operativo debe dar una respuesta queelimine la condición de error con el menor impactoposible sobre las aplicaciones en ejecución.

Page 12: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

12

• Contabilidad:• Recolectar estadísticas de utilización de

los diversos recursos.

• Monitorear parámetros de rendimiento• Tiempo de respuesta

• Usado para mejoras futuras

• Para facturación a usuarios

Servicios provistos o suministrados por el Sistema Operativo (3)

Page 13: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

13

Sistema Operativo como un administrador de recursos

• Es un programa de computador.

• Dirige al procesador en el uso de los recursos del sistema.

• Dirige al procesador cuando se ejecutan otros programas, control del tiempo.

• El procesador detiene la ejecución del SO para ejecutar otros programas.

Page 14: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

14

Partes de un S.O.Kernel

• Parte del Sistema Operativo residente en la memoria principal

• Contiene las funciones mas frecuentemente utilizadas

• También se le llama “núcleo del S.O.”• Micro-kernel y monolítico.

Page 15: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

15

Partes de un S.O.Interfaz con el usuario

• Lenguaje de Control• Indica al S.O. Una acción o tarea especifica.• Ejemplos:

• Grabar un conjunto de datos o archivo• compilar un programa• ejecutar un programa• abrir o cerrar archivos• Otros.

• Generalmente una aplicación llamada shell es la encargada.

Page 16: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

16

Actualización de los Sistemas Operativos

• Actualizaciones e incorporación de nuevos tipos de hardware.

• Nuevos servicios.• Fixes – correcciones.

• Service pack.

• Parches (patchs).• Upgrades.

Page 17: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

17

Evolución de los Sistemas Operativos

• Procesamiento Secuencial (años 50)• No hay sistema operativo.

• Batch (lotes) simple (años 60)• Programa monitor

• Batch complejo (años 70 adelante)• Sistema operativo

• Tiempo compartido (70 adelante)

Page 18: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

18

Evolución de los Sistemas Operativos (batch) Capas (layout) de memoria para un monitor residente .

limite

InterruptProcessing

DeviceDrivers

JobSequencing

Control LanguageInterpreter

UserProgram

Area

Monitor

Page 19: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

19

Protección Hardware

• Modos de operación de la CPU• Modo usuario: se restringe acceso a parte de los recursos

• Modo supervisor: se tiene acceso a todos los recursos

• Protección de memoria: Previene que el programa de un usuario tenga acceso a los programas y datos de otros usuarios y del sistema operativo.

• Timer: Previene que un trabajo monopolice los recursos del sistema.

• Instrucciones privilegiadas: Ejecutadas sólo por el SO

• Interrupciones: Son llamadas a funciones del kernel

Si un programa intenta usar recursos restringidos, se produce una interrupción

Page 20: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

20

Evolución de los Sistemas OperativosMultiprogramación

Page 21: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

21

Multiprogramación o Multitarea

Page 22: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

22

Paginación

Page 23: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

23

Evolución de los Sistemas OperativosPaginación, ejemplo

Page 24: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

24

• Usando multiprogramación para manejar múltiple trabajos interactivos.

• El tiempo de procesador (quantum) es compartido entre múltiples usuarios.

• Múltiples usuarios simultáneamente accesan al sistema a través de terminales.

Time Sharing o Tiempo compartido

Page 25: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

25

Tiempo real

• Similar a time-sharing pero con requerimientos y objetivos diferentes

• Finalidad: aplicaciones de medición o control que requieren monitoreo continuo.

• Ejemplos: QNX, Aperios.

Page 26: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

26

Resumen

Monoprogramación Multiprogramación Multiprocesamiento

Técnica en que losrecursos del sistemade computación sonasignados a unprograma hastacompletar suejecución

Su objetivo es tenervarios programas enmemoria principal, demanera que si uno deellos tiene que esperarpara completar unproceso detransferencia de datoso de E/S, otro (que noesté en esa situación)se pueda ejecutar

Trabajo con variosprocesadores >1.

Aumenta la eficienciade laMultiprogramación

Page 27: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

27

Componentes de un S.O.

• Interprete de comandos• Planificador, para organizar la ejecución

de programas• Gestor de archivos• Gestor de memoria• Asignador de recursos

Page 28: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

28

Gestión de la Memoria

• Aislamiento del proceso• Gestión y asignación automáticas• Soporte para programación modular• Protección y control de acceso

Page 29: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

29

Gestión de la Memoria Memoria Virtual

• Permite a los programadores direccionar memoria desde un punto de vista lógico

• Mientras el programa se esta ejecutando, una porción del programa y sus datos se mantiene en bloques de disco

Page 30: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

30

Gestión de la Memoria Intercambio o Swapping

• Con un sistema batch, la organización de memoria en particiones fijas es relativamente simple y efectiva.

• En el caso anterior, los programas permanecerán en memoria hasta completar su ejecución.

• Con tiempo compartido, la situación es diferente, ya que normalmente se tendrá más usuarios que particiones (o memoria), por lo que es necesario guardar procesos en disco.

• El paso de procesos de memoria a disco y viceversa se llama: intercambio o swapping.

Page 31: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

31

Gestión de Procesos

¿Que es un Proceso?

• Un programa en ejecución• Una instancia de un programa ejecutándose en

un computador• Entidad que puede ser asignada a, y ejecutada

en, un procesador• Una unidad de actividad caracterizada por un

único hilo secuencial de ejecución, un estado actual y un conjunto de recursos del sistema asociados.

Page 32: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

32

Gestión de Procesos Proceso

• Consiste de tres componentes: • Un programa ejecutable

• Datos asociados, necesarios para el programa

• Contexto de ejecución del programa• Contiene toda la información que el S.O. requiere

para administrar el proceso (contador de programa, registrador de instrucción, pila o stack, otros)

Page 33: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

33

Gestión de Procesos Cambio de contexto

• Existe una estructura de datos que contiene información respecto del programa en ejecución (RI, PC, Registros, otros).

• Cuando un programa debe entregar la CPU, otro programa se ejecutará debiendo cargarse su estructura de datos.

Page 34: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

34

Gestión de Procesos Cambio de contexto

Page 35: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

35

Gestión de Procesos Despachador

• Programa que mueve el procesador desde un proceso a otro

• Debe prevenir que un proceso monopolice el tiempo del procesador

Page 36: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

36

Gestión de Procesos Modelo de procesos con dos estados

NotRunning

Running

Processor

Enter

Dispatch

Pause

Exit

(a) State transition diagram

EnterQueue

Dispatch Exit

Pause

(a) Queuing diagram

Page 37: Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos

37

Los estados del proceso

Transiciones entre estados

1. El proceso se bloquea por E/S

2. El proceso se suspende por time-out

3. El planificador selecciona un proceso de la fila de los ready

4. El proceso termina su E/S y es desbloqueado

Estados de un proceso:

Running: esta utilizando la CPU, ejecutando sus instrucciones

Blocked: a la espera de finalización de la E/S

Ready: a la espera de ser seleccionado para ocupar la CPU