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

Post on 22-Jan-2016

341 views 10 download

Transcript of Software Sistemas Operativos. 2 Referencias Stallings, Sistemas Operativos Tanenbaum, Sistemas...

SoftwareSistemas 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.

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.

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.

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.

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.

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

9

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

Operating system

Tanenbaum, Operating System

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.

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.

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)

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.

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.

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.

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.

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)

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

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

20

Evolución de los Sistemas OperativosMultiprogramación

21

Multiprogramación o Multitarea

22

Paginación

23

Evolución de los Sistemas OperativosPaginación, ejemplo

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

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.

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

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

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

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

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.

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.

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)

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.

34

Gestión de Procesos Cambio de contexto

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

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

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