Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación...

26
Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia “San Juan Bosco” Módulo 2 Estructura del Sistema Operativo Sistemas Operativos – Estructura de Sistemas Operativos JRA © 2008 Estructuras de Sistemas Operativos Servicios de Sistemas operativos Interfaz de Usuario del Sistema Operativo Llamadas a Sistema Tipos de Llamadas a Sistema Programas de Sistemas Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración de un Sistema Operativo Generación de un Sistema Operativo Boot del Sistema

Transcript of Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación...

Page 1: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Departamento de InformáticaFacultad de Ingeniería

Universidad Nacional de la Patagonia “San Juan Bosco”

Módulo 2

Estructura del Sistema Operativo

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Estructuras de Sistemas Operativos

� Servicios de Sistemas operativos

� Interfaz de Usuario del Sistema Operativo

� Llamadas a Sistema

� Tipos de Llamadas a Sistema

� Programas de Sistemas

� Diseño e Implementación de un Sistema Operativo

� Estructura de un Sistema Operativo

� Máquinas Virtuales

� Depuración de un Sistema Operativo

� Generación de un Sistema Operativo

� Boot del Sistema

Page 2: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Objectivos

� Describir los servicio de un sistema operativo que se ofrecen a usuarios, procesos y otros sistemas.

� Discutir las distintas formas de estructurar un sistema operativo.

� Explicar como son instalados los sistemas operativos, personalizados y como se inician.

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Servicios del Sistema Operativo

� Un conjunto de servicios del SO proveen funciones que son útiles al usuario:

� Interfaz de Usuario – Casi todos los SOs tienen una interfaz de usuario (UI)

� Varían entre Command-Line (CLI), Graphics User Interface (GUI), Batch

� Ejecución de Programas- El sistema debe poder cargar un programa en memoria y ejecutarlo, terminarlo en forma normal o anormal (indicando el error).

� Operaciones de E/S - Un programa ejecutando puede requerir E/S, las cuales pueden involucrar un archivo o un dispositivo de E/S.

� Manipulación del Sistema de Archivos - El sistema de archivos es de particular interés. Obviamente el programa necesita leer y escribir archivos y directorios, crearlos y borrarlos, borrarlos, listar información de archivos y la administración de permisos.

Page 3: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Una Visión de los Servicios de un Sistema Operativo

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Servicios del Sistema Operativo (Cont)

� Un conjunto de servicios de SO provee funciones que son útiles al usuario (Cont):

� Comunicaciones – Los procesos pueden intercambiar información, en la red

� Las comunicaciones pueden ser vía memoria compartida o por medio de pasaje de mensajes (los paquetes son movidos por el SO)

� Detección de errores – Los SOs necesitan estar constantemente al margen de errores.

� Pueden ocurrir en la CPU y hardware de memoria, en dispositivos de E/S, en programas de usuario

� Para cada tipo de error el SO toma la operación apropiada para asegurar una computación correcta y consistente

� Las facilidades de depuración pueden mejorar las habilidades del usuario y programador para hacer eficiente el uso del sistema.

Page 4: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Servicios del Sistema Operativo (Cont)

� Otro conjunto de funciones del SO existen para asegurar una operación eficiente del propio sistema vía recursos compartidos.

� Alocación de Recursos – Cuando corren concurrentemente múltiples usuarios o múltiples tareas los recursos deben ser alocados a cada uno de ellos.

�Muchos tipos de recursos - Algunos (tales como ciclos de CPU, memoria principal y almacenaje de archivos ) pueden tener código especial de alocación, otros (como dispositivos de E/S) pueden tener código general de requerimiento y liberación.

� Contabilidad – Lleva la pista como, cuanto y que clases de recursos de computadora usan los usuarios.

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Servicios del Sistema Operativo (Cont)

� Otro conjunto de funciones del SO existen para asegurar una operación eficiente del propio sistema vía recursos compartidos.

� Protección y seguridad – Los propietarios de la información almacenada en sistema de computadoras multiusuarios o de red pueden querer controlar el uso de esa información, los cprocesos concurrentes no deben interferir uno con otro.

�Protección implica asegurar que todos los accesos a recursos del sistema están controlados.

�Seguridad del sistema frente a los de afuera requiere autenticación, extensión para defender los dispositivos externos de E/S de intentos de accesos no válidos.

�Si un sistema debe ser protegido y seguro, deben ser tomadas precauciones pues una cadena es tan fuerte como el más débil de los eslabones.

Page 5: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Interfaz de Usuario del Sistema Operativo - CLI

La interfaz de líneas de comando (Command Line Interface - CLI) o intérprete de comando permite entrar comandos en forma directa

�Algunas veces implementadas en el kernel, otras como programas de sistema

�A veces múltiples variantes – shells

�En primer lugar espera un comando del usuario y luego lo ejecuta

– Algunas veces están embebidos, otras son solo nombres de programas

» En este último caso, agregar nuevas características no requiere modificaciones en la shell.

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Interfaz de Usuario Gráfica del Sistema Operativo - GUI

� Interfaz desktop “amigable”

� Usualmente mouse, teclado y monitor

� Los Iconos representan archivos, programas, acciones, etc

� Varios botones del mouse sobre objetos en la interfaz causa varias acciones (proveen información, opciones, ejecuta funciones, abre directorios (conocidos como carpetas o folder)

� Inventada por Xerox PARC

� Casi todos los sistemas incluyen interfaces CLI y GUI

� Microsoft Windows es GUI con una CLI que es una shell de “comando”

� Apple Mac OS X como interfaz GUI “Aqua” soportada por un kernel UNIX por debajo y sus shells disponibles.

� Solaris es CLI con una interfaz GUI opcional (Java Desktop, KDE)

Page 6: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Intérprete de Comando Bourne Shell

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

La GUI Mac OS X

Page 7: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Llamadas al Sistema

� Son la interfaz de programación a los servicios provistos por el SO

� Tipicamente escritas en lenguajes de alto nivel (C o C++)

� Mayoritariamente accedidas por programas vía Application Program Interface (API) más que por el uso llamadas a sistema directas

� Las tres API más comunes son are Win32 para Windows, POSIX API para sistemas POSIX (incluyendo virtualmente todas las versiones de UNIX, Linux, y Mac OS X), y Java API para la máquina virtual Java (JVM)

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Ejemplo de Llamada a Sistema

� Llamada a sistema para copiar el contenido de un archivo a otro.

Page 8: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Ejemplo de una API Standard

� Considere la función ReadFile() en la Win32 API—una función para leer de un archivo

� Una descripción de los f the parámetros pasados a ReadFile()

� HANDLE file—el archivo a ser leído

� LPVOID buffer—un buffer donde el dato será leído y previamente escrito

� DWORD bytesToRead— el número de bytes a ser leídos en el buffer

� LPDWORD bytesRead— el número de bytes leídos durante la última lectura

� LPOVERLAPPED ovl—indica si es usada una E/S solapada

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Implementación de Llamadas a Sistema

� Tipicamente se asocia un número con cada llamada al sistema

� La interfaz de las llamadas a sistema mantiene una tabla indexada de acuerdo con estos números

� La interfaz de las llamadas a sistema invoca la llamada a sistema entendida en el kernel del SO y retorna el estado de la llamada a sistema y retorna algún valor

� El llamador no necesita conocer nada acerca de como está implementada la llamada a sistema

� Solo necesita invocar la API y entender lo que hará el SO como resultado de la llamada

� La mayoría de los detalles de la interfaz del SO están escondidos para el programador por la API

� Manejada por librerías run-time (conjunto de funciones construídas en librerías incluídas con el compilador)

Page 9: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Relación API – Llamada a Sistema del SO

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Ejemplo de Librería Standard C� Un programa C invocando la llamada de librería printf(), la cual llama

a la llamada a sistema write()

Page 10: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Pasaje de Parámetros en Llamadas a Sistema

� Frecuentemente es requerida más información que simplemente identificar la llamada a sistema deseada.

� El tipo exacto y la cantidad de información varía de acuerdo al SO y la llamada

� Se usan tres métodos para pasar parámetros al SO

� El más simple: pasar los parámetros en registros

� En algunos casos, puede haber más parámetros que registros

� Parámetros almacenados en un bloque, o tabla, en memoria, y la dirección del bloque pasada como parámetro en un registro.

� Es así en Linux y Solaris

� Parámetros ubicados , o pushed, en un stack por el programa y popped del stack por el SO.

� Lo métodos por bloque y stack no limitan el número de parámetros a ser pasados

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Parámetros Pasados vía Tabla

X: parámetros

X

load @X

código para system call 13

registro

se usan los parámetros desde la tabla X

Sistema operativoPrograma de

usuario

system call 13

Page 11: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Tipos Llamadas a Sistema

� Control de procesos

� Administración de archivos

� Administración de dispositivos

� Mantenimiento de Información

� Comunicaciones

� Protección

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Ejecución MS-DOS

Inicio Programa ejecutando

memorialibre

memoria libre

kernel

proceso

kernel

intérpretede comandos

intérpretede

comandos

Page 12: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Múltiples Programas Ejecutando en FreeBSD

proceso D

intérprete

proceso C

memoria libre

proceso B

kernel

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Programas de Sistema

� Los programas de sistema proveen un medio conveniente para el desarrollo de programas y ejecución. Pueden ser divididos en:

Manipulación de archivos

Información de estado

Modificación de archivos

Soporte de lenguajes de programación

Carga de programas y ejecución

Comunicaciones

Programas de aplicación

La visión que tienen la mayoría de los usuarios del sistema operativo está dada por los programas de sistema y no por las llamadas a sistema (system calls).

Page 13: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Programas de Sistema

� Proveen un medio conveniente para el desarrollo de programas y su ejecución

� Algunos de ellos son simples interfaces a llamadas a sistema, otros son considerablemente más complejos

� Administración de archivos - Crea, borran, copian, renombran, imprimen, vuelcos, listan, y generallmente manipulan archivos y directorios

� Información de estado

� Algunos requieren del sistema información - fecha, hora, cantidad de memoria disponible, espacio de disco, número de usuarios

� Otros proveen detalles de rendimiento, bitácoras e información de depuración

� Tipicamente estos programas dan forma e imprimen salidas a terminales o a otros dispositivos de salida.

� Algunos sistemas implementan un registro - usado para almacenar y recuperar información de configuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Programas de Sistema (cont)

� Modificación de archivos

� Editores de texto crean y modifican archivos

� Comandos especiales para buscar contenidos de archivos o realizar transformaciones de texto

� Soporte de lenguajes de programación - Compiladores, ensambladores, depuradores e intérpretes

� Carga y ejecución de programas – Cargadores absolutos, cargadores reubicables, editores de enlace, y cargadores de overlay, sistemas depuradores para lenguajes máquina y alto nivel

� Comunicaciones – Proveen el mecanismo para crear conexiones virtuales entre procesos, usuarios y sistemas de cómputo

� Permite a los usuarios enviar mensajes, navegar páginas web, enviar mensajes de correo electrónico, conectarse remotamente, transferir archivos de una máquina a otra.

Page 14: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Diseño e Implementación de un Sistema Operativo

� El diseño e implementación de SO no está estructurado pero hay algunos enfoques han resultado exitosos

� La estructura interna de los diferentes SOs puede variar ampliamente

� Se comienza por definir los objetivos y las especificaciones

� Afectado por la elección del hardware, tipo de sistema

� Objetivos de los Usuarios y los objetivos del Sistema

� Objetivos de los Usuarios – El SO debe ser conveniente para su uso, fácil de aprender, confiable, seguro y rápido

� Objetivos del Sistema – El SO debería ser fácil de diseñar, implementar y mantener, también flexible, confiable, libre de errores y eficiente

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Diseño e Implementación de un Sistema Operativo

� Importante principio de separación

Política: ¿Qué deberá hacerse?Mecanismo: ¿Cómo hacerlo?

� Los mecanismos determinan como hacer algo, las políticias deciden que debe hacerse

� La separación de política de mecanismo es un principio muy importante, permite máxima flexibilidad si las decisiones políticas son cambiadas más tarde

Page 15: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Estructura Simple

� MS-DOS – escrito para proveer máxima funcionalidad en el menor espacio

� No está dividido en módulos

� Aunque MS-DOS tiene cierta estructura, sus interfaces y niveles de functionalidad no están bien separados

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Capas de la Estructura MS-DOS

programa de aplicación

programa del sistema residente

drivers de dispositivos en ROM BIOS

drivers de dispositivos en

MS-DOS

Page 16: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Enfoque por Capas

� El sistema operativo está dividido en un número de capas (niveles), cada una construída sobre el tope de otra. La capa inferior (nivel 0), es el hardware; la mas alta (capa N) es la interfaz de usuario.

� En forma modular, las capas son seleccionadas de manera que cada una usa funciones (operaciones) y servicios de las capas inferiores.

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Estructura de UNIX

signalsmanejo terminal

sistema I/O caracter drivers terminal

sistema de archivos swapping

sistema I/O bloque drivers disco y cinta

planificación CPU reemplazo de páginas demanda de páginas

memoria virtual

interfaz de system-call al kernel

interfaz kernel al hardware

controladores terminal

terminales

controladores disp

discos y cintascontroladores memoria

memoria física

shells y comandoscompiladores e intérpretes

librerías de sistema

USUARIOS

Page 17: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

UNIX

� UNIX – está limitado por la funcionalidad del hardware, el sistema operativo UNIX original tenía una estructura limitada.

El SO UNIX consiste de dos partes separables.

� Programas de sistema

� El kernel

�Consiste de todo lo que esta debajo de la interfaz de los system calls y encima del hardware

�Contiene el sistema de archivos, la planificación de CPU, manejo de memoria, y otras funciones del sistema operativo; un gran número de funciones en un solo nivel.

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Sistema Operativo por Capas

Page 18: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Sistema Operativo por Capas

Capa M-1

Capa M

nuevas operaciones

operaciones ocultas

operaciones existentes

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Estructura de Sistema Microkernel

� Mueve tanto como se pueda al espacio de usuario

� Las comunicaciones tienen lugar entre módulos de usuarios por medio de pasajes de mensajes

� Beneficios:

� Más fácil de extender

� Más fácil de portar el SO a nuevas arquitecturas

� Mas confiable (menos código corre en el modo kernel)

� Más seguro

� Detrimentos:

� Sobrecarga de rendimiento en la comunicación del espacio de usuario al espacio de kernel

Page 19: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Estructura de Mac OS X

Ambiente de aplicacionesy servicios comunes

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Módulos

� Los más modernos SOs implementan el kernel en módulos

� Usa un enfoque orientado a objetos

� Cada componente del núcleo está separado

� Los protocolos de comunicación entre ellos son sobre interfaces conocidas

� Cada uno es cargado en la medida que sea necesitado dentro del kernel

� En resumen, similar a capas pero más flexible

Page 20: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Enfoque Modular en Solaris

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Máquinas Virtuales

� Una máquina virtual lleva la propuesta por capas a su conclusión lógica. Trata el hardware y el kernel del sistema operativo como si fuera todo hardware.

� Una máquina virtual provee una interfaz idéntica al hardware primitivo subyacente.

� El sistema operativo crea la ilusión de múltiples procesos, cada uno ejecutando en su propio procesador con su propia memoria (virtual).

� Cada invitado es provisto con una copia (virtual) de la computadora

Page 21: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Historia y Beneficios de las Máqunas Virtuales

� Aparecieron comercialmente en las mainframes de IBM en 1972

� Fundamentalmente, múltiples ambientes de ejecución (diferentes SOs) pueden compartir el mismo hardware

� Están protegidos uno de otro

� Puede permitirse, en forma controlada, compartir archivos

� Conmuta uno con otro sistemas físicos vía red

� Util para desarrollo, testing

� “Open Virtual Machine Format”, un formato standard de máquinas virtuales, permite a una VM correr dentro de diferentes plataformas (host) de máquinas virtuales

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Modelos de Sistema

Máquina no virtual Máquina virtual

procesos procesos

procesos

procesos

kernel

kernel

kernel kernel

hardware

implementación de la máquina virtual

hardware

Interfaz de programación

Page 22: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Para-virtualización

� Presenta invitados con un sistema similar pero no idéntico hardware

� Los invitados deben ser modificados para correr en un hardware paravirtualizado

� Los invitados pueden ser un SO, o en el caso de Solaris 10 las aplicaciones corren en containers

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Solaris 10 con Dos Containers

Page 23: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Arquitectura de VMware

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

La Máquina Virtual Java

Page 24: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Depuración del Sistema Operativo� Depuración (debbuging) es encontrar y reparar errores, o bugs

� Los SOs generan archivos de log files conteniendo información de error

� Fallas de una aplicación puede generarar un vuelco de memoria (core dump)

� Fallas en el SO puede generar un archivo con el vuelco del kernel (crash dump) conteniendo la memoria del kernel

� Más allá de las caídas, la sintonía del rendimiento puede optimizar el rendimiento del sistema.

� La ley de Kernighan: “Depurar es dos veces más duro que escribir el código en primer lugar. Por lo tanto, si escribe el código tan habilmente como sea posible, usted es, por definición, no lo suficiente astuto como para depurarlo.”

� La herramienta Dtrace en Solaris, FreeBSD, Mac OS X permite depuración “en vivo” sobre sistemas de producción

� Dispara pruebas cuando se ejecuta el código, capturando el estado de los datos y enviandolos a los consumidores de esas pruebas

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Dtrace en Solaris 10 siguiendo un System Call

Page 25: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Generación de Sistemas (SYSGEN)

� Los sistemas operativos son diseñados para ejecutar en algunas clases de máquinas; el sistema debe ser configurado para cada sitio de computación específico.

� El programa SYSGEN obtiene información concerniente a la configuración específica del hardware.

� Booting – inicio de la computadora por carga del kernel.

� Programa Bootstrap – código almacenado en ROM que localiza el kernel, lo carga en la memoria e inicia su ejecución.

Sistemas Operativos – Estructura de Sistemas Operativo sJRA © 2008

Boot del Sistema

� El SO debe poner disponible al hardware, entonces el hardware puede iniciarlo

� Pequeñas piezas de código – bootstrap loader , localiza el kernel, lo carga en memoria, y lo pone en marcha

� A veces es un proceso en dos pasos donde el boot block en una locación fija carga el bootstrap loader

� Cuando se le da energía y se inicializa el sistema, comienza la ejecución a partir de una dirección fija de memoria

�Firmware es usado para contener el código inicial de boot

Page 26: Estructura del Sistema Operativo - Facultad de Ingeniería ... 2-… · Diseño e Implementación de un Sistema Operativo Estructura de un Sistema Operativo Máquinas Virtuales Depuración

Departamento de InformáticaFacultad de Ingeniería

Universidad Nacional de la Patagonia “San Juan Bosco”

Módulo 2

Fin del Módulo 2