Diapositiva 1 - PowerPoint PPT Presentation

About This Presentation
Title:

Diapositiva 1

Description:

Introducci n a la Ingenier a de Sistemas SEMANA 03 - 1 Sistemas Operativos – PowerPoint PPT presentation

Number of Views:74
Avg rating:3.0/5.0
Slides: 81
Provided by: edup91
Category:

less

Transcript and Presenter's Notes

Title: Diapositiva 1


1
Introducción a la Ingeniería de Sistemas
SEMANA 03 - 1
Sistemas Operativos
2
Elementos de un Sistema Informático
  • Hardware (lo tangible)
  • Software (programas, lo intangible)
  • software del sistema
  • Aplicaciones
  • Personas (usuarios del sistema)
  • usuarios
  • programadores

El SO controla y coordina el uso del hardware
entre los distintos programas para diversos
usuarios
3
Que es un Sistema Operativo?
  • Un programa que sirve de intermediario entre los
    usuarios y el hardware
  • Pertenece al software del sistema
  • Objetivos
  • Ejecutar las aplicaciones de los usuarios
  • Administrar eficientemente los recursos de la
    máquina
  • ?Eficiencia
  • Facilitar la interacción con el computador
  • ?Usabilidad

4
Que es un Sistema Operativo?
  • Es un administrador de recursos
  • como si fuera un gobierno del hardware
  • programa de control
  • ojo, no realiza trabajo productivo
  • Es una interfaz con el hardware
  • añade características no existentes en el
    hardware
  • oculta características inconvenientes del
    hardware
  • máquina extendida

El SO proporciona un ambiente de ejecución de
programas
En caso de conflictos debe decidir de forma
eficiente y justa
5
Definiciones breves
  • Un sistema de software cuyo fin es que un sistema
    informático sea operativo (utilizable).
  • Conjunto de programas que gestionan los recursos
    del sistema, optimizan su uso y resuelven
    conflictos.

6
El SO como administrador de recursos
  • Tenemos dos participantes en el sistema los
    procesos y los recursos.
  • Un proceso es un programa en ejecución
  • Un recurso puede ser real o virtual, físico o
    lógico
  • Los procesos compiten por el uso de recursos
    escasos.
  • Necesitamos un árbitro imparcial que asigne
    recursos a los procesos, de forma justa y
    eficiente.

7
El SO como administrador de recursos
  • El SO debe determinar a quién se le entregan los
    recursos, qué cantidad de recursos se conceden,
    en qué momento y durante cuánto tiempo.
  • ? Políticas de gestión de recursos

8
El SO como administrador de recursos
  • Criterios de gestión de recursos
  • Optimizar el rendimiento del sistema
  • Reparto justo ? evitar acaparamientos e inanición
    de procesos perjudicados
  • Garantizar la seguridad e integridad de la
    información
  • Normalmente, los distintos criterios entran en
    conflicto
  • Ej. no se puede maximizar el rendimiento y a la
    vez dar un reparto justo

9
El SO como interfaz
  • Es una capa entre el usuario y el hardware.
  • La interfaz ofrece una máquina extendida que es
    una abstracción de la realidad.

10
El SO como interfaz
  • Esa abstracción es más cómoda, más conveniente,
    más usable para el usuario y para el programador.
  • Esta interfaz puede ser independiente del
    hardware ganamos portabilidad.

11
Recorrido histórico tipos de sistemas
  • Primeros sistemas
  • Sistemas por lotes
  • Mejoras en la gestión de la E/S
  • Sistemas por lotes multiprogramados
  • Sistemas de tiempo compartido
  • Ordenadores personales
  • Sistemas paralelos multiprocesadores
  • Sistemas distribuidos
  • Sistemas de tiempo real

12
Primeros sistemas
  • Los primeros sistemas de computación se
    caracterizaban
  • Gran tamaño
  • Prácticamente sin ningún soporte lógico (tableros
    enchufables, tarjetas perforadas,...)

?

13
Primeros sistemas Organización del trabajo
  • Organización del trabajo
  • usuario experto operador/programador
  • un solo usuario en cada momento (tiempo asignado,
    listas de reserva)


14
Primeras mejoras
  • Dispositivos físicos
  • Lectoras de tarjetas, impresoras y cintas
    magnéticas
  • Elementos lógicos
  • Aparece el primer software de sistema,
  • Ensambladores, compiladores, cargadores
  • Manejadores de dispositivos
  • Bibliotecas con subrutinas de uso frecuente
  • Finalmente aparecieron los primeros compiladores
    de lenguajes de alto nivel (FORTRAN, COBOL),
  • Simplificando la labor de programación pero
    aumentando la carga de trabajo del computador


15
Problemas
  • El modo de trabajo hacía que la máquina estuviera
    parada mucho tiempo
  • tiempo de puesta a punto (setup time)
  • tiempo de corrección manual de errores
  • tiempo sobrante por finalización temprana
  • Equipos muy caros


16
Los sistemas por lotes multiprogramados
 Los sistemas por lotes multiprogramados
proporcionan un entorno en el que los distintos
recursos del sistema (por ejemplo, CPU, memoria,
dispositivos periféricos) se aprovechan de manera
efectiva. No obstante, los sistemas por lotes
tienen ciertos problemas desde el punto de vista
del usuario. Puesto que el usuario no puede
interactuar con el trabajo durante su ejecución,
debe preparar las tarjetas de control de modo que
manejen todos los resultados posibles. En un
trabajo de varios pasos, los pasos subsecuentes
podrían depender del resultado de pasos
anteriores. Por ejemplo, la ejecución de un
programa podría depender de que su compilación
tenga éxito. Puede ser difícil definir cabalmente
lo que debe hacerse en todos los casos.
17
Sistemas de tiempo compartido
Un sistema operativo de tiempo compartido utiliza
planificación de la CPU y multiprogramación para
ofrecer a cada usuario una pequeña porción del
tiempo de un computador. Cada usuario tiene por
lo menos un programa individual en la memoria. Un
programa que está cargado en la memoria y se está
ejecutando se conoce como proceso. Cuando un
proceso se ejecuta, generalmente lo hace sólo
durante un tiempo corto antes de que termine o
necesite realizar operaciones de BIS. La BIS
puede ser interactiva las salidas podrían
enviarse a una pantalla para que el usuario las
vea, y las entradas podrían recibirse del teclado
del usuario. Puesto que la FIS interactiva casi
siempre se efectúa a un ritmo humano, puede
tardar mucho tiempo en llevarse a cabo. Las
entradas, por ejemplo, pueden estar limitadas por
la velocidad con que el usuario teclea
consideramos que una persona que teclea a razón
de cinco caracteres por segundo es rápida, pero
es increíblemente lenta para los computadores. En
lugar de dejar que la CPU esté ociosa mientras
ocurre tal entrada interactiva, el sistema
operativo conmuta rápidamente la CPU al programa
de algún otro usuario.
18
Un sistema operativo de tiempo compartido permite
a los múltiples usuarios compartir el computador
simultáneamente. Puesto que cada acción u orden
en un sistema de tiempo compartido tiende a ser
corta, cada usuario necesita sólo un poco de
tiempo de CPU. Como el computador cambia con gran
rapidez de un usuario al siguiente, cada uno
recibe la impresión de que tiene su propio
computador, aunque en realidad muchos usuarios lo
estén compartiendo.
19
Sistemas por lotes
Objetivo sacar más provecho a la máquina
gracias a una mejor organización del trabajo
Los operadores agrupaban los trabajos por lotes,
que eran trabajos con necesidades similares y que
eran ejecutados en la computadora como un grupo
de tareas. A medida que la computadora quedaba
libre, se ejecutaba un lote.

20
Sistemas por lotes
  • Primer paso aparición del operador especialista.
  • El programador no manipula directamente el
    equipo.
  • El programador entrega su trabajo (job) al
    operador.
  • El operador somete la tarea al sistema y entrega
    los resultados al programador.
  • El programador corrige sus errores mientras el
    operador sigue ejecutando otras tareas.
  • Resultado aumento de la productividad.


21
Sistemas por lotes
  • Segundo paso agrupar las tareas en lotes que se
    procesan de forma automática
  • Procesamiento por lotes (batch processing)
  • El operador puede preparar lotes con trabajos que
    requieren una misma operación (ej. cargar el
    compilador)
  • El operador lanza el lote, y éste se ejecuta sin
    más intervención (secuencia automática de
    trabajos)


22
Sistemas por lotes
  • Necesario automatizar ciertas acciones comunes
  • Control de la finalización de tareas
  • Tratamiento de errores
  • Carga y ejecución automática de la siguiente
    tarea
  • En lugar de dar órdenes al operador, Porqué no
    dárselas directamente al computador?


23
El Primer Sistema Operativo
  • Es necesario que el computador tenga un pequeño
    monitor residente (controlador) que realice
    automáticamente las acciones anteriores. Cómo?
  • Distinguiendo entre
  • Tarjetas de instrucciones de programas de
    usuarios
  • Tarjetas de control (Primer lenguaje de control
    de sistema FTN, ASM, RUN, JOB, END)


24
Elementos de un sistema por lotes
  • Lenguaje de control de tareas (JCL, job control
    language)
  • el lote se escribe usando un JCL
  • define qué programas hay que cargar, qué datos
    leer,etc.
  • se escribe en tarjetas perforadas, cinta, etc.
  • Monitor residente
  • programa fijo en memoria con rutinas
    imprescindibles para
  • que el sistema por lotes funcione intérprete del
    JCL,cargador
  • de programas, rutinas de EIS...
  • automatiza tareas del antiguo operador
  • es el primer sistema operativo auténtico


25
El monitor residente Protección
  • Se empiezan a considerar aspectos de protección
  • proteger la memoria ocupada por el monitor
    residente
  • impedir accesos directos a la E/S
  • evitar que una tarea deje bloqueado al sistema
  • Todo ello requiere cierto apoyo del hardware


26
Cuestiones
Quién carga el intérprete del lenguaje de
control ? Cómo se debe actuar en caso de fallo
del programa de usuario ? Cómo garantizar el
uso correcto de los dispositivos de E/S ? Cómo
los programas realizan las operaciones de E/S
? Cómo podemos diferenciar si las
instrucciones de E/S son utilizadas por el
usuario o por el monitor residente ? Cómo
proteger al monitor residente ? Cómo
garantizar el control del sistema ?

27
La memoria en un sistema con monitor residente
Vector de interrupciones
Interprete de JCL
Cargador de programas
Monitor residente
Manejadores de dispositivos E/S
Memorias intermedias (Búferes)
Rutinas de tratamiento de errores
Registro Limite
Memoria del usuario

28
SO y arquitectura del computador
  • Los SO y la arquitectura de los computadores se
    han influido mucho entre ellos dos
  • Los SO se crearon para facilitar el uso del
    hardware
  • A medida que se diseñaron y usaron los SO, se
    hizo evidente que podrían simplificarse si se
    modificaba el diseño del hardware
  • A lo largo de la evolución de los SO se observa
    que los problemas de los SO han dado pie a la
    introducción de nuevas características del
    hardware


29
El problema de la E/S
  • La E/S era muy lenta en comparación con la CPU.
  • Esto provocaba que la CPU quedara ociosa mucho
    tiempo esperando por la terminación de
    operaciones de E/S.
  • Algunas técnicas para tratar el problema
  • Operación fuera de línea (offline)
  • Uso de búferes
  • Spooling


30
Operación fuera de línea (off-line)
  • El computador central dialoga directamente sólo
    con dispositivos rápidos (cintas magnéticas).
  • Un pequeño computador (satélite o canal) se
    encarga de las transferencias con dispositivos
    lentos (tarjetas, impresora).


31
Operación fuera de línea (off-line)
  • Resultado
  • mejor aprovechamiento del procesador central
  • ejecución paralela de cálculos y operaciones de
    E/S
  • Se puede incrementar la velocidad utilizando
    varios satélites.
  • Para trabajar con offline, no hace falta
    recompilar los programas antiguos.
  • Los trabajos siguen usando los mismos servicios
    para la E/S. Lo que cambia es su implementación
    en el S.O independencia del dispositivo.


32
Búferes
Esquema de operación de E/S en el que las
transferencias de E/S se realizan a través de un
área intermedia de memoria (búfer) La operación
de E/S se realiza sólo cuando el dispositivo está
preparado.

33
Búferes
  • La CPU sólo espera por E/S cuando el búfer está
    vacío (entrada) o lleno (salida)
  • El uso de búferes permite solapar operaciones de
    E/S de una tarea con instrucciones de CPU de esa
    misma tarea
  • El uso de búferes no resuelve totalmente el
    problema de la lentitud de los equipos de E/S
  • Los búferes sólo sirven para amortiguar picos de
    alta actividad de E/S.
  • Su eficacia depende fundamentalmente de la
    velocidad de los equipos de EIS y del tipo de
    tareas en ejecución
  • Si la EIS es muy lenta, los búferes de entrada se
    vacían y los de salida se congestionan.
  • Las tareas con muchos requerimientos de E/S
    (I/O-bound jobs/CPU-bound jobs) provocaran el
    mismo efecto


34
Spooling (Simultaneous Peripheral Operation
On-Line)
  • Este esquema de funcionamiento de operación de la
    EIS surge gracias a la aparición de los discos
  • Se utiliza el disco como un enorme búfer.
  • El proceso lee/escribe sobre el disco, en lugar
    del dispositivo de E/S.
  • Mientras se ejecuta un trabajo, el S.O.
  • lee los datos del siguiente trabajo de la
    cinta/tarjetas al disco
  • imprime la salida del anterior trabajo, del disco
    a la impresora
  • Permite solapar la EIS de un proceso ya terminado
    con las operaciones en CPU de otro proceso.
  • Introduce una estructura de control. Fondo de
    trabajos (job pool) el lote está en el disco.
    así que el S.O. puede elegir el trabajo más
    adecuado.


35
Multiprogramación
  • El modo de operación offline y el spooling
    aumentan el rendimiento de la CPU pero tienen sus
    limitaciones
  • En algún momento la CPU quedará ociosa esperando
    por alguna operación de E/S
  • Al existir la posibilidad de tener varios
    trabajos en un dispositivo de acceso directo.
    como un disco. es posible la planificación de
    trabajos
  • El SO puede escoger qué trabajo ejecutara a
    continuación


36
Multiprogramación
  • Cuando un proceso se bloquea al esperar por la
    EIS, ejecutamos en la CPU instrucciones de otro
    proceso.
  • Los procesos entrelazan su ejecución
    concurrencia.
  • La CPU y la E/S trabajan a la misma vez se
    terminan más trabajos en menos tiempo


37
Multiprogramación
  • Los sistemas multiprogramados son más complejos
  • Cuando la CPU queda libre, a qué proceso
    elegimos?
  • (planificación de la CPU)
  • conflictos por acceso simultáneo a la EIS
    (planificación de
  • dispositivos)
  • varios procesos a la vez en memoria (gestión de
    memoria)
  • Protección
  • Solución a situaciones de interbloqueo


38
Tiempo compartido (Time Sharing)
  • Multiprogramación interactividad tiempo
    compartido
  • Los sistemas por lotes no son interactivos (el
    usuario no interviene durante la ejecución de su
    trabajo)
  • Con la multiprogramación e interactividad, se
    replantea su caracterización antes era por el
    agrupamiento de tareas similares mientras que
    ahora se caracterizan por la falta de interacción
    entre los usuarios y las tareas en ejecución


39
Tiempo compartido (Time Sharing)
  • Idea la CPU reparte su tiempo entre los
    distintos procesos.
  • Cada proceso dispone de una rodaja de tiempo
    periódica. Si el periodo es lo bastante pequeño,
    el usuario no lo percibe.
  • Con el t.c. se pierde productividad de CPU, pero
    se gana en productividad humana


40
Tiempo compartido (Time Sharing)
  • Por tanto con el tc se consigue
  • tiempos de respuesta cortos
  • Los usuarios tienen la impresión de poseer un
    ordenador particular

?
?

?
?
41
Ordenadores personales
  • La aparición del microprocesador permitió
    fabricar computadores baratos, asequibles para
    el consumo de masas gt ordenadores personales
    (años 80)
  • Destinados al uso individual y no experto.
  • Máxima importancia a la facilidad de uso, bajos
    tiempos de
  • respuesta, etc.
  • Interfaces de usuario sistemas WIMP (windows,
    icons, menus,
  • pointers).
  • Utilizan tecnología de los grandes S.O., pero
    prescinden de
  • ciertos servicios (protección,
    multiprogramación, etc.)


42
Sistemas paralelos -multiprocesadores
  • Sistemas con más de un procesador. Pueden
    ejecutar varias instrucciones simultáneamente
    (en paralelo).
  • Sistemas estrechamente acoplados los
    procesadores comparten una memoria común.
  • Sólo hasta decenas o centenares de procesadores.
  • Ventajas
  • aumento de velocidad de procesamiento con bajo
    coste cierta
  • tolerancia a fallos
  • Inconvenientes
  • necesidad de sincronización entre procesos


43
Sistemas distribuidos
  • Múltiples procesadores conectados mediante una
    red.
  • Sistemas débilmente acoplados los
    procesadores no comparten memoria ni reloj.
  • Escalable hasta millones de procesadores (ejm.
    Internet)


44
Sistemas distribuidos
  • Ventajas
  • compartición de recursos dispersos
  • ayuda al trabajo cooperativo de equipos humanos
  • aumento de velocidad
  • fiabilidad (tolerancia a fallos, alta
    disponibilidad)
  • Complicaciones
  • Uno comparten memoria la comunicación es más
    compleja y no se puede tener un estado global
    visible por todos los nodos al instante.
  • red de comunicaciones no fiable
  • heterogeneidad de los nodos


45
Sistemas de tiempo real
  • Para poder ejecutar satisfactoriamente tareas que
    han de completarse en un plazo prefijado (ejm.
    sistemas de
  • control industrial, sistemas multimedia)
  • Dos tipos
  • s.t.r. crítico para tareas que siempre deben
    cumplir los plazos de terminación. Adecuados para
    la industria. Muy simples, incompatibles con
    tiempo compartido, memoria virtual, etc.
  • s.t.r. no crítico intentan cumplir los plazos,
    pero no los garantizan al 100. Adecuados para
    multimedia, etc.


46
Otros sistemas
  • Sistemas empotrados (embedded systems)
  • Sistemas de propósito especifico
  • Teléfonos móviles
  • Consolas de videojuegos


47
Estructura del computador
48
Estructura del computador
CPU
Controlador de discos
Controlador de impresora
Controlador de puerto PS/2
Controlador de memoria
bus del sistema
La CPU y los Controladores de dispositivos
funcionan concurrentemente compitiendo por la
memoria
Memoria
Memoria bus del sistema
49
Estructura de la E/S
  • Los dispositivos se conectan al bus a través de
    controladores de E/S.
  • La CPU se comunica con los controladores a través
    de instrucciones especiales o de direcciones
    de memoria
  • concretas.
  • Cada controlador tiene un búfer local. La CPU
    envía y recoge datos del búfer.
  • El controlador notifica a la CPU la finalización
    de una
  • operación o la llegada de nuevos datos
    mediante una
  • interrupción


50
Interrupciones
  • Cuando llega una señal de interrupción a la
    CPU, ésta suspende lo que está haciendo y
    ejecuta una rutina de servicio de interrupción
    (RSI).
  • Antes de ejecutar la RSI, hay que guardar el
    estado de la CPU, para que pueda reanudar lo
    que estaba haciendo después de completar la
    RSI.


51
Estructura del sistema operativo
52
Componentes típicos de un SO
53
procesos
Gestión de procesos
  • Un proceso es un programa en ejecución. Para
    poder ejecutarse, un proceso necesita tiempo
    de CPU, una porción de memoria, archivos, E/S
    y demás recursos.
  • Responsabilidades del S.O.
  • creación y eliminación de procesos
  • planificación de procesos repartir la CPU entre
    los procesos activos
  • sincronización entre procesos
  • comunicación entre procesos

54
Gestión de memoria
memoria
  • La memoria es un recurso escaso por el que
    compiten los distintos procesos.
  • Responsabilidades del S.O.
  • conocer qué zonas de memoria están libres y
    cuáles están ocupadas
  • decidir qué procesos hay que cargar cuando haya
    memoria libre
  • reservar y liberar zonas de memoria según se
    solicite
  • memoria virtual utilizar el almacenamiento
    secundario como una extensión de la memoria
    principal

55
Entrada/Salida
Gestión de entrada/salida
  • La E/S es un conjunto de dispositivos muy
    variados y complejos de programar.
  • Objetivos del S.O.
  • proporcionar una interfaz uniforme para el acceso
    a los dispositivos (independencia del
    dispositivo)
  • proporcionar manejadores para los dispositivos
    concretos
  • tratar automáticamente los errores más típicos
  • para los dispositivos de almacenamiento, utilizar
    cachés
  • para los discos, planificar de forma óptima las
    peticiones

56
Archivos
Sistema de archivos
  • Un archivo es un conjunto de datos identificado
    por un nombre. Los archivos se almacenan en
    dispositivos de E/S. Un archivo es un concepto
    de alto nivel que no existe en el hardware.
  • Funciones del S.O.
  • manipulación de archivos crear. borrar. leer.
    escribir...
  • manipulación de directorios
  • ubicar los archivos y directorios en los
    dispositivos de almacenamiento secundario
  • automatizar ciertos servicios copia de
    seguridad. versiones. etc.

57
Sistema de proteccion
Protección
  • La protección abarca los mecanismos destinados a
    controlar el acceso de los usuarios a los
    recursos, de acuerdo con los privilegios que
    se definan.
  • Objetivos del S.O.
  • definir el esquema general de protección clases
    de usuarios, clases de permisos/privilegios,
    etc.
  • definir mecanismos de acceso a los recursos
    contraseñas, llaves, capacidades, etc.
  • controlar el acceso a los recursos, denegando el
    acceso cuando no esté permitido

58
Redes
Redes
  • En un sistema distribuido, existen varios
    ordenadores con sus propios recursos locales
    (memoria, archivos, etc.), conectados mediante
    una red.
  • Objetivos del S.O.
  • proporcionar primitivas para conectarse con
    equipos remotos y acceder de forma controlada a
    sus recursos primitivas de comunicación (enviar
    y recibir datos) sistema de ficheros en red (ejm.
    NFS) llamada remota a procedimiento (RPC) etc.

59
Interprete de ordenes
Interprete de ordenes
  • Para que un usuario pueda dialogar directamente
    con el S.O., se proporciona una interfaz de
    usuario básica para
  • cargar programas
  • abortar programas
  • introducir datos a los programas
  • trabajar con archivos
  • trabajar con redes
  • Ejemplos JCL en sistemas por lotes,
    COMMAND.COM en MS-DOS, shell en UNIX

60
Procesos
61
Concepto de proceso
  • Un proceso es un programa en ejecución
  • Un proceso necesita recursos para poder
    ejecutarse memoria, dispositivos de E/S, la
    CPU, etc.
  • Áreas típicas de la memoria
  • código
  • datos (variables globales, memoria dinámica)
  • pila (parámetros y variables locales de
    subrutinas)

62
Estados de un proceso
  • A medida que un proceso se ejecuta, cambia de
    estado
  • nuevo recién creado por el S.O.
  • en ejecución está en la CPU ejecutando
    instrucciones
  • bloqueado esperando a que ocurra algún evento
    (ej. una operación de E/S)
  • preparado esperando a que le asignen un
    procesador
  • terminado no ejecutará más instrucciones y el
    S.O. le retirará los
    recursos que consume

63
Estados de un proceso
64
Concurrencia
65
Que es concurrencia?
Definición de diccionario coincidir en el
espacio o en el tiempo dos o más personas o
cosas. En Informática, se habla de concurrencia
cuando hay una existencia simultánea de varios
procesos en ejecución. Ojo, concurrencia
existencia simultánea no implica ejecución
simultánea
66
Paralelismo y concurrencia
  • El paralelismo es un caso particular de la
    concurrencia.
  • Se habla de paralelismo cuando ocurre la
    ejecución simultánea de instrucciones

67
Interbloqueo
68
Write a Comment
User Comments (0)
About PowerShow.com