2 estructuras de un sistema operativo · 2013-03-10 · servicios • operaciones i/o: un programa...

61
Sistemas Operativos 2 Estructuras de un Sistema Operativo Prof. Javier Cañas R.

Upload: others

Post on 20-Apr-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Sistemas Operativos2 Estructuras de un Sistema Operativo

Prof. Javier Cañas R.

Page 2: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Nota

• El texto guía es: Operating System Concepts, Eight Edition, Avi Silberschatz, Peter Baer Galvin, Greg Gagne

• Estas PPT están basadas en las PPT originales que el autor del texto guía mantiene en: http://www.os-book.com/

Copyright Note

The slides below are copyright Silberschatz, Galvin and Gagne, 2008. The slides are authorized for personal use, and for use in conjunction with a course for which Operating System Concepts is the prescribed text. Instructors are free to modify the slides to their taste, as long as the modified slides acknowledge the source and the fact that they have been modified. Paper copies of the slides may be sold strictly at the price of reproduction, to students of courses where the book is the prescribed text. Any use that differs from the above, and any for profit sale of the slides (in any form) requires the consent of the copyright owners; contact Avi Silberschatz ([email protected]) to obtain the copyright owners consent.

Page 3: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Temario

1. Servicios del SO

2. Interfaz usuario

3. Llamadas al sistema

4. Tipos de llamadas al sistema

5. Programas de sistema

6. Diseño e implementación de un SO

Page 4: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Temario

7. Estructura del SO

8. Máquinas Virtuales

9. Partida (System Boot)

Page 5: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Objetivos

• Describir el servicio que el SO proporciona a los usuarios, procesos y otros sistemas.

• Discutir los distintos modos de estructurar un SO.

• Explicar como los SO parten (boot)

Page 6: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

1 Servicios

• Una visión de los servicios del SO:

Page 7: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

... Servicios

• Un conjunto de servicios corresponden a funciones útiles a los usuarios:

• Interfaz: casi todos los SO tienen interfaz usuaria (UI). Esta interfaz varía entre Línea de Comando (CLI) a Interfaz Gráfica (GUI). Otra opción son SO tipo Bath.

• Ejecución de Programas: El SO debe poder cargar el programa en memoria y ejecutar. También debe terminar la ejecución, ya sea en forma normal, o anormal en presencia de error.

Page 8: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

... Servicios

• Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo.

• Manejo de Archivos: El Sistema de Archivos es de vital importancia. Los programas necesitan leer y escribir archivos, crear, borrar, buscar en ellos, mostrar información y gestionar permisos.

Page 9: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Servicio de Comunicación

• Los procesos pueden intercambiar información, dentro del mismo computador o entre computadores sobre una red.

• Internamente, la comunicación puede ser vía memoria compartida o a través de paso de mensajes.

Page 10: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Servicio de Detección de Errores

• El SO debe estar siempre atento a posibles errores.

• Los errores pueden ocurrir en la CPU, HW de memoria, dispositivos de I/O y programas de usuario.

• Cada tipo de error significa tomar acciones para asegurar una computación correcta y consistente.

• Las facilidades de debugging pueden en buena medida ayudar a la productividad de programadores y a utilizar eficientemente el sistema.

Page 11: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Servicios que aseguran operación eficiente

• Asignación de recursos: Cuando existen múltiples usuarios o múltiples tareas concurrentes, es necesario asignar los recursos a cada uno de ellos.

• Hay muchos tipos de recursos: CPU, memoria, almacenamiento de archivos y también I/O que requiere código para asignar y liberar

Page 12: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Servicios que aseguran operación eficiente

• Contabilidad: Registro de usuarios en relación al uso de recursos como tiempos.

• Protección y Seguridad: Procesos concurrentes no deben interferir en otros:

- Protección: asegurar el control de acceso a todo recurso del sistema.

- Seguridad: se relaciona con autenticación de personas y también resguarda el uso de dispositivos de I/O de intentos inválidos de uso.

Page 13: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

2 Interfaz Usuario

• El Intérprete de Comandos (CLI) permite interactuar directamente con el SO.

• CLI puede estar en el kernel o a través de programas de sistema (shells).

• CLI toma un comando del usuario y lo ejecuta. Un comando puede ser el nombre de un programa. Agregar nuevas funciones no requiere modificar completamente el shell.

Page 14: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

... Interfaz Usuario

• Otra opción es una interfaz gráfica (GUI) que utiliza la metáfora de escritorio.

• GUI utiliza mouse, teclado y monitor.

• El uso de varios botones en el mouse sobre objetos de interfaz (carpetas) activan varias acciones(información, opciones, ejecutar).

• Fue inventado por Xerox PARC.

Page 15: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

... Interfaz Usuario

• La mayoría de los sistemas incluyen interfaces CLI y GUI.

- MS/W es GUI con CLI “shell” de comandos.

- Apple Mac OS X como “Aqua” es interfaz GUI con kernel UNIX y varios shells disponibles.

- Solaris es CLI con interfaces opcionales GUI (Java Desktop, KDE).

Page 16: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Ejemplo de CLI: Bourne Shell

Page 17: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

GUI: Mac OS X

Page 18: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

3 Llamadas al Sistema

• Son interfaces de programación que permiten el acceso a los servicios del SO.

• Están escritas en lenguajes de alto nivel como C o C++.

• Frecuentemente son accesadas por los programas a través de API de alto nivel en vez de invocaciones directas a ellas.

Page 19: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Las API más comunes

• Las API más comunes son 3:

- Win32 para Windows

- POSIX para sistemas basados en POSIX (UNIX, Linux, Max OS X)

- Java API para la Java virtual Machine (JVM)

• ¿Por qué se usan API en vez de llamadas al sistema directas?

Page 20: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Ejemplo de Llamadas al sistema

• Secuencia de llamadas al sistema para copiar el contenido de un archivo en otro

Page 21: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Ejemplo de Win32

• Consideremos la función ReadFile() de la API Win32 que permite leer desde un archivo:

HANDLE file—the file to be readLPVOID buffer—a buffer where the data will be read into and written fromDWORD bytesToRead—the number of bytes to be read into the bufferLPDWORD bytesRead—the number of bytes read during the last readLPOVERLAPPED ovl—indicates if overlapped I/O is being used

Page 22: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Implementación de llamadas al Sistema

• Se asocia un número a cada llamada al sistema: La interfaz de llamadas al sistema mantiene una tabla indexada por estos números.

• La interfaz invoca a la llamada al sistema correspondiente dentro del kernel del SO y retorna el status de la llamada y un valor si corresponde.

Page 23: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

... Implementación de llamadas al Sistema

• El llamante, no necesita saber cómo la llamada al sistema está implementada.

• La API oculta detalles de implementación y es gestionada por la biblioteca de soporte de run-time (conjunto de funciones que incorpora el compilador)

Page 24: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

API, Llamada al sistema y Kernel

Page 25: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Ejemplo de la Biblioteca estándar de C

• El programa C invoca la llamada a biblioteca printf(). Esta llamada invoca la llamada al sistema write()

Page 26: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Paso de parámetros en llamadas al sistema

• Existen tres métodos para el paso de parámetros:

1. Pasar parámetros en registros. En algunos casos hay más parámetros que registros.

2. Los parámetros se almacenan en un bloque o tabla en memoria. La dirección del bloque se pasa como parámetro en un registro: Usado por Linux y Solaris.

3. Los parámetros se insertan en un Stack (push) por el programa y el SO hace un pop para sacarlos. Bloques y Stack no limitan el número de parámetros.

Page 27: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Ejemplo: paso por bloques

Page 28: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

4 Tipos de Llamadas al Sistema

• Las llamadas al sistema se pueden clasificar en llamadas al sistema para:

• Control de procesos

• Gestión de archivos

• Gestión de dispositivos

• Mantención de la información del sistema

• Comunicaciones

• Protección

Page 29: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Ejemplos de Windows y UNIX

Page 30: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Ejemplos de Control de Procesos

• MS-DOS es un SO que sólo permite una tarea simple y no crea nuevos procesos.

• para ejecutar un programa, lo carga en memoria e inicializa el PC en la primera instrucción.

• El programa corre y pueden pasar dos cosas: un error causa un trap o el programa ejecuta una llamada al sistema para terminar.

Page 31: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Ejemplo proceso: MS-DOS

(a) At system startup (b) running a program

Page 32: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Ejemplo 2: FreeBSD

• FreeBSD es multitarea.

• El intérprete de comandos continua ejecutándose mientras otro programa es ejecutado.

• Para comenzar un nuevo proceso, el shell ejecuta la llamada al sistema fork()

Page 33: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

5 Programas de Sistema

• Proporcionan un ambiente favorable para el desarrollo y ejecución de programas. Se pueden dividir en:

- Manipulación de archivos

- Proporcionar información de status- Modificar archivos- Soporte para lenguajes de programación- Comunicaciones- Programas de aplicación

Page 34: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

... Programas de Sistemas

• Para muchos usuarios, un SO está definido por sus programas de sistema en vez de sus llamadas al sistema.

• Algunos programas de sistema son sólo interfaces a llamadas al sistema. Otros son más complejos.

• Por ejemplo manipulación de archivos: crear, borrar, copiar, renombrar, imprimir, vaciar, listar archivos y directorios.

Page 35: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

... para información de status

• Se necesita saber la fecha, tiempo transcurrido, memoria disponible, espacio en disco, usuarios conectados, etc...

• Algunos sistemas operativos implementan un registro que se utiliza para almacenar y recuperar información de configuración.

Page 36: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

... programas de sistema

• Compiladores, assemblers, debuggers e intérpretes.

• Cargadores absolutos, cargadores de overlays.

• Programas que permiten crear conexcciones virtuales entre procesos, usuarios y sistemas computacionales.

Page 37: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

6 Diseño e Implementación de SO• No existe ninguna formula clara. Sin

embargo, algunas aproximaciones han probado se exitosas.

• Las estructuras internas varían considerablemente entre distintos so.

• Hay que comenzar estableciendo objetivos y especificaciones.

Page 38: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

... Diseño

• La selección de hardware afecta el diseño.

• Hay objetivos de usuarios y objetivos de sistema:

- Usuarios: que sea conveniente de usar, fácil de aprender, confiable, seguro y rápido.

- Sistema: fácil de diseñar, implementar y mantener. Ser flexible, confiable, libre de errores y eficiente.

Page 39: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

... Diseño

• Un importante principio es separar:

➡Política: ¿Qué se debe hacer?

➡Mecanismo: ¿Cómo hacerlo?

• El mecanismo determina como hacer algo, la política decide qué se debe hacer.

• Esta separación permite la máxima flexibilidad, sobre todo cuando las decisiones políticas cambian con el tiempo.

Page 40: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

7 Estructura de un SO

• Lo más simple es MS-DOS que fue escrito para proporcionar la mayor funcionalidad en el mínimo espacio.

- No está dividido en módulos

- Aunque tiene una estructura, sus interfaces y niveles de funcionalidad, no están claramente separados.

Page 41: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Estructura por niveles de MS-DOS

Page 42: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

SO estructurados en capas

• El SO se divide en un número de capas o niveles, cada una sobre el tope de la capa inferior.

• La capa inferior (0) corresponde al hardware. La más alta (N) es la interfaz usuario.

• Con modularidad, las capas son seleccionadas, de manera tal que cada una utiliza funciones (operaciones) y servicios de sólo las capas inferiores.

Page 43: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

SO en capas

Page 44: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Estructura de un Sistema UNIX tradicional

Page 45: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

... UNIX

• Originalmente, el SO UNIX estaba limitado por hardware y su estructura era bien limitada. Consistía en dos partes separadas:

• Programas de Sistemas

• Kernel: Todo lo que está entre las llamadas al sistema y el hardware. Provee entre otras cosas el sistema de archivos, itineración de CPU y gestión de memoria.

Page 46: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Estructura Microkernel

• La idea es mover todo lo posible desde el kernel al espacio de usuario.

• La comunicación de desarrolla entre los módulos usuarios usando paso de mensajes.

Page 47: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

... Microkernel

• Pros:

• Fácil de extender

• Fácil de portar a nuevas arquitecturas

• Más confiable

• Más seguro

• Contra:

• Overhead producto de comunicación entre espacios de kernel y usuario

Page 48: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Estructura Mac OS X

Page 49: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Módulos

• La mayoría de los SO modernos implementan el kernel en base a módulos. Estos SO:

• Usan una aproximación orientada a objeto

• Cada componente base está separada.

• Cada componente conversa con otra a través de interfaces bien definidas.

• Cada módulo se carga en la medida que se necesita.

• En general es similar a la estructuración en capas, pero más flexible.

Page 50: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Ejemplo: Solaris

Page 51: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

8 Máquinas Virtuales

• Se estructuran en base a la aproximación por capas o niveles.

• Trata el hardware y el kernel del so como si todo fuera hardware.

• El SO host, crea la ilusión que un proceso tiene su pripio procesador y memoria (virtual).

• Cada huésped tiene una copia (virtual) del hardware.

Page 52: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Historia y beneficios• Inicialmente desarrollada comercialmente por IBM

en sus mainframes en 1972.

• Diferentes SO pueden coexistir en un mismo hardware. Cada SO está protegido respecto a otro.

• Es posible compartir archivos controladamente.

• El formato estándar “Open Virtual Machine Format” permite a una VM correr en diferentes plataformas.

Page 53: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Máquinas Virtuales

(a) Nonvirtual machine (b) virtual machine

Page 54: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Para-virtualización

• Consiste en presentar al huésped, un HW similar, pero no idéntico.

• El huésped debe modificarse para correr en un hardware para-virtualizado.

• El huésped puede ser un SO, o en caso de Solaris 10, aplicaciones corriendo en los llamados contenedores.

Page 55: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Solaris 10 con dos contenedores

Page 56: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Arquitectura de VMware

Page 57: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

JVM: La máquina Virtual Java

Page 58: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

9 Partida (System Boot)

• Iniciar el SO significa que éste, debe estar disponible para el HW, es decir, el HW debe iniciarlo.

๏ Un pequeño programa llamado bootstrap o bootstrap loader debe ubicar el kernel, cargarlo en memoria e iniciarlo.

๏ Algunos computadores (PC) utiliza un proceso de dos etapas: un bootstrap simple carga un programa más complejo desde el disco, el cual carga el kernel.

Page 59: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

... Partida

• El bootstrap puede realizar otras tareas, por ejemplo correr programas de diagnóstico de HW.

• El bootstrap usualmente está en ROM.

• Sistemas operativos de celulares o PDA almacenan todo el SO en ROM (corre más lento que en memoria RAM).

Page 60: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

... Partida

• SO más grandes (Linix, MS/W, Mac) usan el cargador Bootstrap en firmware y el SO en disco.

• En estos casos el bootstrap contiene código que realiza diagnóstico y lee un bloque de disco de una dirección fija (ej. bloque 0) y ejecuta el código de este bloque de booteo. GRUB es un ejemplo.

Page 61: 2 Estructuras de un Sistema Operativo · 2013-03-10 · Servicios • Operaciones I/O: Un programa que corre requiere de I/O, ya sea archivos o algún dispositivo. • Manejo de Archivos:

Sistemas Operativos2 Estructuras de un Sistema Operativo

Prof. Javier Cañas R.