domingo, 21 de marzo de 2010

Resumen undécima clase

Estructura de niveles de MS-DOS


Estructura del sistema-Enfoque básico (2)

Unix-Limitado por la funcionalidad del hardware, el unix original tenía limitaciones en estructura. El sistema operativo unix conste de dos partes.

Ø Los programas del sistema

Ø El kernel

Estructura del sistema-Enfoque por niveles

Estratos/jerárquica

El sistema operativo está dividido en un número de capas (niveles), cada uno construido en la parte superior del nivel inferior. El nivel de abajo. Es el hardware; el nivel más alto (capa n) es la interface de usuario final-

Con la modularidad. Las capas se seleccionan de tal forma que cada uno utiliza funciones (operaciones) y servicios solo del nivel inferior.

Precursor THE , capas jerárquicas (Rings-Trap), Multics.

Módulos

La mayoría de los SO modernos implementan módulos de kernel

Ø Utilizan el enfoque oo

Ø Cada componente del núcleo es independiente

Ø Cada uno se comunica con los otros sobre interfaces

núcleo del unix moderno




Estructura de Linux

El kernel es una estructura monolítico

Los módulos son unidades independientes de software que pueden ser diseñados e implementados después de instalar el SO y se pueden instalar dinámicamente.

El administrador de módulos permite cargar los módulos en memoria y hablar con el resto del kernel. El registro de manejadores permite que los módulos le digan al resto del kernel que ya está disponible un nuevo manejador.



Estructura por niveles de OS/2

Con un enfoque orientado a subsistemas.



Estructura de Mac OS X

Orientado a equipos personales, con seguridad pobre.




Estructura de Mach (CMU)




Estructura Cliente Servidor

El núcleo establece comunicación entre clientes y servidores.



Estructura Cliente Servidor de Windows NT



Windows Architecture

Concepto de spool (serial peripherial operations online)

Manejo de impresoras. Interceptor de spool, se crea en el disco duro un sistema de archivo, es decir, se escribe en él y no las envía directamente a la impresora. Transcriptor de spool, para imprimir cuando quiera. Administrador de spool, rutina que administraba el archivo de impresora.

Resumen novena y décima clase

Componentes comunes del sistema

Ø Administración de procesos

Ø Administración de la memoria principal

Ø Administración del almacenamiento secundario

Ø Administración del sistema de entrada y salida

Servicios del SO: Interrupciones

Tipo de interrupcion

Descripcion

Observacion

SVC

Llamada al sistema operativo

I/O

Cambio de estado de un canal o dispositivo

Culminacion normal o error

Externa

Evento externo al sistema

Interrupción quantum, señal de otro procesador

Reset

Verificacion de programa

Verficacion de hardware

Llamadas al sistema

Proporcionan al interface entre un programa corriendo y el sistema operativo

Ø En general están disponibles como instrucciones en ensamblador

Ø Se han definido lenguajes para reemplazar el lenguaje ensamblador en programación de sistemas que permita realizar en forma directa las llamadas al sistema (ej. C.Bliss, Pl/360).

Tres métodos genéricos para pasar parámetros a las llamadas al sistema:

Ø En registros

Ø En una tabla de memoria, cuya dirección se pasa al SO en un registro.

Ø Poner los parámetros en la pila del programa y dejar que el SO los extraiga

Cada SO proporciona sus propias llamadas al sistema:

Ø Estándar POSIX (Portable Operating System Interface) en UNIX y LINUX.

Ø Win32 en Windows NT.

Ø Java API para JVM

“Pasar los parámetros como tabla”

“Fases en la activación del SO”

“Procesamiento simple de interrupciones” Modelos de von Neuman

Servicios del SO

Ø Lo servicios se programan mediante sentencias de un lenguaje (p.e. C)

Ø Estas sentencias son como llamadas a función

Ø Se convierten, mediante una rutina de biblioteca de sistemas en un conjunto de instrucciones de máquina que terminan con unas instrucciones de trap.

Ø El tap, como toda interrupción es tratada por el SOP

Ø El SO realiza el servicio perdido y devuelve un valor.

Interfaz del programador

Esta interfaz recupera la visión que como máquina extendida tiene el usuario del sistema operativo:

Ø Portable Operating System Interface: POSIX (interfaz de sistemas operativos portables de IEE basado en UNIX) 1003>>ISO/IEX 9945.

Ø Win32.

Estándar POSIX

Ø Interfaz estándar de sistemas operativos de IEEE

Ø Objetivo: portabilidad de las aplicaciones diferentes plataformas y sistemas operativos

Ø No es una implementación: solo define una interfaz

Ø Diferentes estándares.

Ø Nombres de funciones cortos y en letras minúsculas. (fork, read, close,..)

Ø Las funciones normalmente devuelven 0 en casi de éxito o 1 en caso de error.

Ø Recursos gestionados por el sistema operativo se referencian mediante descriptores.

Características de Win32

Ø Define los servicios ofrecidos por los sistemas Windows 95/98, Windows NT, Windows 2000m XP.

Ø No es estándar.

Ø Api totalmente distinto a POSIX.

Ø Los recursos se referencian mediante manejadores.

Ø Nombres de funciones largos y descriptivos.

Ø Dispone de tipos de datos predefinidos.

Ø Las funciones devuelven en general true o false.

Administración de procesos

Un proceso es un programa en ejecución. Un proceso para lograr sus objeticos requiere algunos recursos como tiempo de CPU, memoria, archivos y dispositivos de entrada y salida.

Resume octava clase

Estructural del Acceso Directo a Memoria (DMA) (M)

Utilizado por dispositivos E/S de alta velocidad capaces de transmitir información a una velocidad muy cercana a la de la memoria.

El controlador del dispositivo transfiere bloques de datos del buffer de almacenamiento directamente a la memoria principal sin intervención de la CPU

Solo una interrupción es generada por bloque, más bien que una interrupción por byte.

Los sistemas de almacenamiento se organizan por jerarquías

Ø Velocidad

Ø Costo

Ø Volatilidad: Capacidad de persistencia

Caching: es la copia de información en un sistema de almacenamiento más rápido; la memoria principal puede verse como el último cache para el almacenamiento secundario.

Jerarquía de los dispositivos de almacenamiento

5 niveles:

0:registres

1: on a chip

Protección en modo Hardware

Ø Operación en modo dual

ü En este modo se comparten los recursos del SO, por lo tanto no se puede permitir que los errores de un programa perjudiquen el funcionamiento de otros.

ü Proporciona soporte al hardware para diferenciar entre al menos dos modos de operación

1. Modo usuario: El usuario es el encargado de ejecutar las acciones.

2. Modo monitor: Llamada también modo supervisor o modo del sistema. Ejecución realizada por parte del sistema operativo.

Ø Operación en modo dual (2)

ü Se adiciona al hardware un bit de modo para indicar el modo actual: monitor (0) ó usuario (1).

ü Cuando sucede una interrupción o fallo, el hardware se cambia a modo monitor.

ü Las instrucciones privilegiadas solo pueden ser ejecutadas en el modo monitor.

Ø Protección de E/S

ü Todas las instrucciones son privilegiadas

ü Debe asegurarse que el programa usuario no pueda tener el control del computador en el modo supervisor

Ø Protección de memoria

ü Debe proveer protección de memoria al menos para el vector de interrupciones y el vector de las rutinas de servicios de interrupción

ü Se agregan dos registros que determinan el rango de las direcciones válidas que un programa pueda acceder:

· Registro base: Contiene la dirección legal física más pequeña.

· Registro límite: Contiene el tamaño del rango

· La memoria fuera del rango es protegida

Ø Protección de CPU

ü Temporizador: Interrumpe al computador después de un periodo específico para garantizar que el sistema operativo mantenga el control.

· El temporizador se decrementa por cada pulsación del reloj

· Cuando el temporizador alcanza el valor de 0, ocurre una interrupción

ü El temporizador se utiliza generalmente para implementar tiempo compartido.

ü El temporizador también se utiliza para calcular el tiempo actual.

La carga del temporizador es una instrucción privilegiada.

Resumen séptima clase


Arquitectura del sistema



















El arranque/Reset carga valores predefinidos en registros

Dirección de arranque del cargador ROM

Se ejecuta el cargador ROM del sistema

Ø Test del sistema

Ø Trae a memoria el boot del SO

Arranque del sistema operativo

Ø El cargador ROM carga el sector del boot del SO y le da control.

Ø El boot del SO carga el SO residente y da control al programa de arranque del SO, que:

ü Comprueba el hardware

ü Comprueba el sistema de ficheros

ü Establece las tablas del SO

ü Crea procesos (según el tipo de SO)

· Proceso INIT

· Proceso o tareas del sistema (demonios)

· Proceso de login (uno por terminal)

Ø Tras la autenticación, el proceso de login se convierte en Shell.

Ø Toma control SO (inicio)

Ø Espera de ocurrencia de suceso (interrupción hw/sw)

Ø SI interrupción:

ü Desactiva las otras interrupciones

ü Guarda estado del sistema

ü Ejecuta rutina de vector de interrupciones/escrutinio

ü Reactiva variables de estado

Existen dos métodos de E/S


lunes, 1 de marzo de 2010

Resumen Sexta Clase

Participación en el mercado de lo SO de teléfonos móviles: Las más utilizadas en el mundo. Consiste en una tecnología de convergencia. Existen países en donde saltaron etapas de tecnologías.


Sistemas de tiempo real

Se utiliza como dispositivos de control en aplicaciones dedicadas tales como el control de experimentos científicos, sistema de imágenes médicas, y algunos sistemas de presentación. Restricciones de tiempo fijo bien definidas. Se habla de exactitud funcional o temporal.

Sistema de tiempo real duros

Ø La memoria secundaria es muy limitada o ausente, los datos son almacenados en memoria de corto plazo(memoria de solo lectura(ROM) o similar)

Ø Tiene conflictos con los sistemas de tiempo compartido, no está soportado por los sistemas operativos de propósito general.

Sistemas de tiempo real blandos de utilidad limitada en industrial de control o robótica. Útil en aplicaciones que requieren avanzadas características del sistema operativo (multimedia, realidad virtual).

La estructura de un sistema de tiempo real está conformado de un sistema controlador y al menos un sistema controlado.

Los sistemas de tiempo real deben producir resultados computacionales exactos, llamados exactitud funcional o lógica, y estos cálculos deben termina en un periodo de tiempo predefinido, llamada exactitud temporal.

Los sistemas de tiempo real se definen como aquellos sistemas en los cuales la exactitud total del sistema depende de la exactitud funcional y de la exactitud temporal.