martes, 6 de abril de 2010

Resumen Treceava clase


Tipos de SOS de acuerdo al kernel

Macrokernel (históricamente nació)/Monokernel: El macrokernel ya era ineficiente y consumía muchos recursos de máquina.

Microkernel: Achicamiento del macrokernel, recursos específicos

Nanokernel: Tener lo esencial.

Exokernel: el SO no sea residente, funcionamiento de forma atomizada, hasta llegar al momento de no tener SO.

Arquitecutura microkernel

Ø Arquitectura de sistemas operativos microkernel

ü Proporciona solo un pequeño número de servicios

· Intenta tener un kernel pequeño y escalabe

ü Alto grado de modularidad

· Extensible, portable y escalable

ü Se incrementa el nivel de comunicación entre módulos

· Puede degradar el rendimiento del sistema

ü Fiasco, AIZ, AmigaOS, Amoeba, BeOS, Brainix, Chorus microkernel, Coyotos, EROS, Haiku, K42, L4, Mach, NEXSTEP, OPENSTEP,OSX, MERT, MINIX, MorphOS, Phoenix-RTOS, QNX. LSE/OS (nanokernel), KeyKOS (nanokernel).


Beneficios de una organización micronúcleo

Ø Interfaces uniformes en la peticiones realizadas por un proceso

ü Los procesos no necesitan diferenciar entre servicios a nivel de núcleo y a nivel de usuario

ü Todos los servicios se proporcionan a través de paso de mensajes

Ø Extensibilidad

Ø Flexibilidad

Ø Portabilidad

Ø Fiabilidad

Ø Soporte de sistemas

Exokernel

Ø Un Os se interpone entre las aplicaciones y el hw

Ø Elimina el concepto de abstracción sobre la cual corren las aplicaciones

Ø Se asegura de multiplexar el hw desnudo: a través de primitivas de hw, librerías a nivel de aplicación y servidores

Ø Ej. XOK con Exos (librería sos tipo unix) de MIT, Aegis, Nemesis (Cambridge)

Ø El servidor Cheetah se construye sobre XOK

Ø Es esencialmente la extensión de la filosofía de la arquitectura Risc en cpu al nivel del sistema operativo



Objetivos de diseño del sistema

Ø Objetivos de los usuarios: que el sistema operativo sea adecuado para su uso, fácil de aprender, confiable, seguro y rápido.

Ø Objetivos del sistema: El sistema operativo debe ser fácil de diseñar, implementar y mantener, de la misma forma que sea flexible, confiable, libre de errores y eficiente.

Jerqia de diseño de SO (Brown/Denning)

Nivel

Nombre

Objeto

Ejemplo de operaciones

7

Memoria virtual

Espacio direcciones lógicas, segmentos, páginas

Read, write, fetch

6

Almacenamiento secundario local

Bloques de dispositivos, canales de dispositivos

Read, write, allocate (espacio en disco duro), free

5

Procesos primitivos

Procesos primitivos, semáforos, lista de listos

Suspend, resume, wait. Signal

4

Programa de manejo de interrupciones

Manejo de interrupciones, guardar contexto

Invoke, mask, unmask

3

Procedimientos

Procedimientos, llamado a pila, presentación

Mark stack, cll return

2

Conjunto de instrucciones del procesador

Evaluación de la pila, interpretador de microprograma, datos escalares y arreglos

Load, sotre, add, subtract, branch

1

Electrónica de circuitos

Registros, compuertas, buses, etc.

Clear, transfer, activce, complement


Nivel

Nombre

Objeto

Ejemplo operaciones

13

Shell

Ambiente de programación de usuario

Instrucciones en lenguaje Shell

12

Procesos de usuario

Procesos de usuario, espacio direcciones virtuales

Quit, kill, suspend, resume

11

Directorios

Directorios de usuario (agrupación lógica)

Create, destroy, attach, detach, search, list

10

Dispositivos

Dispositivos externos, impresoras, pantallas, teclados

Create, closer, read, write

9

Sistemas de archivos

Archivos

Create, destroy, open, close, read, write

8

Comunicaciones

Tuberías

Create, destroy, open, close, read, write

Implementación del sistema

Ø Los sistemas operativos tradicionalmente se han escrito en ensamblador, ahora pueden ser escritos en lenguajes de alto nivel

Ø El código escrito en alto nivel:

ü Puede ser escrito más rápido

ü Es más compacto

ü Es fácil de entender y depurar

Ø Un sistema es más fácil de ser portable si está escrito en un lenguaje de alto nivel.

Ø Algunos lenguajes de alto nivel usados para escribir sistemas operativos: C(Unis, Os/2, Win NT), Fortran(Primos), algol(MCO(Master Control Program) Burrogs), Bliss (VMS DEC), PL/360, perl, PL1 (Multics) Pascal.

Generación sistema (SYSGEN)

Ø Los sistemas operativos se diseñan para correr en cualquier clase de máquinas; el sistema debe configurase para cada computador específico.

Ø El programa sysgen obtiene información relacionada con la configuración específica del hw del sistema

Ø Booting-arrancar un pc al cargar su kernel

Ø Boot program-códig almacenado en la ROM que es capaz de localizar el kernel, cargarlo en al memoria, e iniciar su ejecución.





No hay comentarios:

Publicar un comentario