Módulo 2. Estructura del Sistema Operativo. Servicios del Sistema Operativo. Objectivos. Servicios del Sistema Operativo (Cont)



Documentos relacionados
2.- Estructuras de Sistemas Operativos

Estructura del Sistema Operativo. Módulo 2. Estructuras de Sistemas Operativos

Estructura del Sistema Operativo. Módulo 2. Estructuras de Sistemas Operativos

Estructura del Sistema Operativo. Módulo 2. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco

Instructivo de Microsoft Windows

Unidad 1: Conceptos generales de Sistemas Operativos.

SISTEMAS OPERATIVOS Estructura del SO. Amilcar Meneses Viveros

En esta unidad añadiremos información sobre EXT3 y trabajaremos con aspectos visibles que nos proporcionan estos sistemas de archivos.

Acceso al Disco Compartido y Dispositivos USB y DVD

CENTRO DE INVESTIGACIÓN CIENTÍFICA Y DE EDUCACIÓN SUPERIOR DE ENSENADA, BAJA CALIFORNIA Departamento de Cómputo / Dirección de Telemática ÍNDICE

Conceptos Básicos de Software. Clase III

MANUAL TÉCNICO DE IMPLEMENTACIÓN PROYECTO SOCIAL COMPUESCUELA. Elaborado por: Julián A. Hernández M.

Act 1: Revisión de Presaberes. Lectura No. 1. Título de la Lectura: El Computador

Planificación de Procesos. Módulo 5. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco

CAPÍTULO 17: ASPECTOS BÁSICOS DEL SISTEMA OPERATIVO WINDOWS

Sistemas de Operación II

Módulo 2. Inicio con Java

Módulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

servicios. El API es definido al nivel de código fuente y proporciona el nivel de

UNIVERSIDAD DE ORIENTE FACULTAD DE ICIENCIAS ECONOMICAS LAS REDES I. Licda. Consuelo Eleticia Sandoval

Para poder acceder al sistema sólo deberá ingresar la siguiente liga desde el navegador de su preferencia:

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos.

La ventana de Microsoft Excel

Introducción a la Computación

Capitulo V Administración de memoria

Herramientas. web 2.0. Dropbox es una aplicación gratuita que permite compartir archivos entre diferentes dispositivos.

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Curso: FT433 - Introducción a la virtualización con VirtualBox

PSI Gestión es un sistema multiusuario que le permite 2 tipos de configuraciones:

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.

WINDOWS : TERMINAL SERVER

Manual del Profesor Campus Virtual UNIVO

Estructuras de Sistemas Operativos

HP Backup and Recovery Manager

I NTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA

Area de Servicios Dpto. de Informática. Anexo II WINZIP

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

Tema 8 Procesos. * Definición informal: un proceso es un programa en ejecución

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Fundamentos de Sistemas Operativos

Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010

V i s i t a V i r t u a l e n e l H o s p i t a l

Manual de ayuda para la utilización del Correo Interno en el Campus Virtual

Sistemas de Operación II

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:

Manual correo electrónico sobre webmail

Software Computacional y su clasificación

Fundamentos de Computación para Científicos

Bienvenido al sistema de Curriculum Digital CVDigital

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

Introducción. Sistemas Operativos. Pedro Chávez Lugo 23 de marzo de 2010

Qué es una máquina virtual?

GESTIÓN ACADÉMICA GUÍA DIDÁCTICA HACIA LA EXCELENCIA COMPROMISO DE TODOS! Nombres y Apellidos del Estudiante:

Para ingresar al mismo debes hacer click en el ícono correspondiente en el panel de control.

Introducción a Visual Studio.Net

Manual Impress Impress Impress Impress Impress Draw Impress Impress

El tema de esta presentación es los conceptos básicos relacionados con Sistemas Operativos.

Trabajo TICO Unidad 2: Sistemas Operativos. Guillermo Jarne Bueno.

APUNTES DE WINDOWS. Windows y sus Elementos INSTITUTO DE CAPACITACIÓN PROFESIONAL. Elementos de Windows

2.- Estructuras de Sistemas Operativos

SUBIR LAS ACTIVIDADES DE HOTPOTATOES A UN SITIO WEB

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

VIRTUALBOX (MAQUINA VIRTUAL)

Manual para consultar la cuenta de correo por webmail

Guía de instalación de la carpeta Datos de IslaWin

Centro de Capacitación en Informática

Boot Camp Manual de instalación y configuración

Una mirada práctica a los Micro-Kernels y los Virtual Machine Monitors François Armand, Michel Gien INFORMATICA III

Fundamentos de Informática

COLEGIO COMPUESTUDIO

Capítulo 2 Análisis del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

MATERIAL 2 EXCEL 2007

Guía de uso del Cloud Datacenter de acens

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Maquinas virtuales Conceptos Básicos

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 3: sistemas operativos

MANUAL DE USUARIO DE SKYDRIVE

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Arquitectura del sistema operativo GNU/Linux. Luis Eduardo Sepúlveda R.

Acronis License Server. Guía del usuario

TUTORIAL DE INSTALACIÓN PARA VIRTUALBOX

Capítulo 1 Introducción a la Computación

Manual de Usuario SOFTWARE DESPACHO JURIDICO 2015.

TELNET SSH FTP. Redes de Computadoras. 1º Cuatrimestre Adrian Juri Juan Pablo Moraes Patricio Tella Arena

TALLER DE CONOCIMIENTOS APRENDICES JORGE LEONARDO MAZA CARLOS DAVID ZAMBRANO JOSE G. RODRIGUEZ PROFESOR RONALD MARTELO

Sistemas de ficheros en Servidores de Información multimedia

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Requerimientos Principales de un Sistema Operativo. Descripción y Control de Procesos. Proceso

Agente local Aranda GNU/Linux. [Manual Instalación] Todos los derechos reservados Aranda Software [1]

Xerox 700 Digital Color Press con Integrated Fiery Color Server. Impresión de datos variables

FP BÁSICA Ofimática y archivo de Documentos

TELECOMUNICACIONES Y REDES

DataMAX pa r a PS3. Manual del Usuario V1.0

Actualización de versión a Bizagi 10.x

MACROS. Automatizar tareas a través del uso de las macros.

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

Transcripción:

Estructuras de Sistemas Operativos Estructura del Sistema Operativo Módulo 2 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 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. 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. Una Visión de los Servicios de un Sistema Operativo 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.

Servicios del Sistema Operativo (Cont) 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. 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. 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, 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. 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 UNIX por debajo y sus shells disponibles. Solaris es CLI con una interfaz GUI opcional (Java Desktop, KDE) Intérprete de Comando Bourne Shell La GUI Mac OS X

Llamadas al Sistema Ejemplo de Llamada a 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 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) Llamada a sistema para copiar el contenido de un archivo a otro. Ejemplo de una API Standard Implementación de Llamadas a Sistema 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 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 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) Relación API Llamada a Sistema del SO 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()

Pasaje de Parámetros en Llamadas a Sistema Parámetros Pasados vía Tabla 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 la llamada Se usan tres métodos para pasar parámetros al SO X: parámetros X registro 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 load @X system call 13 se usan los parámetros desde la tabla X código para system call 13 Programa de usuario Sistema operativo Tipos Llamadas a Sistema Examples of Windows and Unix System Calls Control de procesos Administración de archivos Blue box from page 51 Administración de dispositivos Mantenimiento de Información Comunicaciones Protección Ejecución MS-DOS Múltiples Programas Ejecutando en FreeBSD Inicio memoria libre Programa ejecutando memoria libre proceso proceso D memoria libre proceso C intérprete intérprete de comandos intérprete de comandos proceso B 23

Programas de Sistema 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). 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 Programas de Sistema (cont) Diseño e Implementación de un Sistema Operativo 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. 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 Diseño e Implementación de un Sistema Operativo Estructura Simple 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 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

Capas de la Estructura MS-DOS Enfoque por Capas programa de aplicación programa del sistema residente 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. drivers de dispositivos en MS-DOS drivers de dispositivos en ROM BIOS 32 Estructura de UNIX UNIX signals manejo terminal sistema I/O caracter drivers terminal USUARIOS shells y comandos compiladores e intérpretes librerías de sistema interfaz de system-call al 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 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 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. controladores terminal terminales interfaz al hardware controladores disp discos y cintas controladores memoria memoria física 34 Sistema Operativo por Capas Sistema Operativo por Capas nuevas operaciones Capa M operacion es ocultas Capa M-1 operaciones existentes 36

Estructura de Sistema Micro Estructura de Mac OS X 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 el el modo ) Más seguro Detrimentos: Sobrecarga de rendimiento en la comunicación del espacio de usuario al espacio de Ambiente de aplicaciones y servicios comunes Módulos Enfoque Modular en Solaris Los más modernos SOs implementan el 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 En resumen, similar a capas pero más flexible Máquinas Virtuales Historia y Beneficios de las Máqunas Virtuales Una máquina virtual lleva la propuesta por capas a su conclusión lógica. Trata el hardware y el 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 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 protejidos 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

Modelos de Sistema Para-virtualización Máquina no virtual procesos Máquina virtual procesos procesos procesos 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 hardware Interfaz de programación kerne l implementación de la máquina virtual hardware 43 Solaris 10 con Dos Containers Arquitectura de VMware La Máquina Virtual Java 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 (crash dump) conteniendo la memoria del 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

Dtrace en Solaris 10 siguiendo un System Call 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. Programa Bootstrap código almacenado en ROM que localiza el, lo carga en la memoria e inicia su ejecución. 50 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, 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 Fin del Módulo 2 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 Módulo 2