El documento describe el diseño por capas de un sistema operativo. Explica que el diseño por capas divide un sistema en interfaces claramente definidas para simplificar la complejidad. Las ventajas del diseño por capas incluyen que las capas pueden evolucionar independientemente, permitir implementaciones alternativas, y facilitar el desarrollo y pruebas del software. Identifica las capas clave de un sistema operativo como hardware, núcleo, sistema de archivos, shell e interpretador de comandos, y aplicaciones.
3. Diseño por capas (i):
Interfaces del SO que debe conocer el diseñador:
Interfaz hardware:
Interrupciones, repertorio de instrucciones,
traducción de direcciones de la MMU, punto de
entrada para cargar el SO
Interfaz usuario y programas
API (Application Program Interface)
3
Andonayre Veliz Santiago Petter
5. Diseño por capas (ii):
El diseño por capas lleva asociada una
jerarquización que permite disminuir la
complejidad observable de un sistema.
Concepto de capa: conjunto de funciones
claramente definidas hacia un objetivo
común.
5
Andonayre Veliz Santiago Petter
7. Diseño por capas (iii):
Ventajas del empleo de capas
Las estructuras internas y algoritmos de una
capa no son visibles a las demás.
El sistema puede evolucionar fácilmente. Lo
único que hay que mantener son las interfaces.
Pueden existir realizaciones alternativas llevadas
a cabo por diferentes grupos de trabajo.
Algunas capas pueden ser transparentes si sus
servicios no son necesarios.
Cada capa se codifica y prueba de modo
independiente, para luego hacer las pruebas de
integración y de conjunto.
Esto es muy importante en el desarrollo del
Software.
7
Andonayre Veliz Santiago Petter
9. Hardware: corresponde a todas las partes
tangibles de un sistema informático.
Kernel o núcleo: es un software que constituye
la parte más importante del sistema operativo.
Sistema de archivo : estructuran la información
guardada en una unidad de
almacenamiento (normalmente un disco
duro de una computadora).
Shell interprete de ordenes: El principal trabajo
del Shell es recoger órdenes del canal de
entrada y ejecutarlas.
Aplicaciones: se programan para que funcionen
encima de un sistema operativo.
Andonayre Veliz Santiago Petter 9