2.- Estructuras de Sistemas Operativos



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

2.- Estructuras de Sistemas Operativos

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

Unidad 1: Conceptos generales de Sistemas Operativos.

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

Conceptos Básicos de Software. Clase III

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

Fundamentos de Sistemas Operativos

General Parallel File System

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

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

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

SISTEMAS OPERATIVOS Estructura del SO. Amilcar Meneses Viveros

Programación de Sistemas

Tema 1. Conceptos fundamentales de los Sistemas Operativos

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

Tema 2: Implementación del núcleo de un Sistema Operativo

CAPÍTULO 4 ANÁLISIS DE IMPLEMENTACIONES

Estructuras de Sistemas Operativos

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2)

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

Software Computacional y su clasificación

Introducción a la Computación

Computación Tercer Año

Sistemas de Operación II

Introducción a la Computación

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05

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

Entre los más conocidos editores con interfaz de desarrollo tenemos:

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

SEGURIDAD Y PROTECCION DE FICHEROS

Acronis License Server. Guía del usuario

Windows Server 2012: Infraestructura de Escritorio Virtual

Software de sistema: Programas genéricos que permiten gestionar los recursos del ordenador.

Instituto Universitario Politécnico. Santiago Mariño. Unidad I Revisión de conceptos de Sistemas. Operativos. Elaborado por: Ing. Víctor Valencia.

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

SIIGO Pyme. Templates. Cartilla I

REQUERIMIENTOS HARDWARE Y SOFTWARE QWEBDOCUMENTS VERSION 4

Soporte y mantenimiento de base de datos y aplicativos

Microsoft Office 2010 Illustrated. Tipos de Software

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Capítulo 6 Introducción a los Sistemas Operativos de Redes (NOS)

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA

Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan

Diseño de aplicaciones móviles seguras en Android.

Módulo 2. Inicio con Java

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

Familia de Windows Server 2003

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

ENVÍO DE POR MEDIO DE SMTP

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

Descripción. Este Software cumple los siguientes hitos:

1. Generalidades. M. en C. Mario Farias-Elinos

Manual para la instalación de Millennium Versión 8.2 (En una Computadora Cliente).

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

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Fundamentos de Informática

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Ingeniería de Software. Pruebas

PAG. 1. Administración Remota

INFORME TÉCNICO PREVIO DE EVALUACIÓN DE SOFTWARE

Fundamentos de Sistemas de Información (SI)

Entidad Formadora: Plan Local De Formación Convocatoria 2010

PROYECTO. Solución Empresarial Ingeniería y Desarrollo de Software - info@solucionempresarial.com.

SISTEMA OPERATIVO DOS. Semana 1 Ing. Miguel Sánchez

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

WINDOWS : TERMINAL SERVER

picojava TM Características

Guía de llenado Declaración Anual de Personas Morales 2014

Tutorial y descripción técnica de TCP/IP

4. Programación Paralela

Tema: INSTALACIÓN Y PARTICIONAMIENTO DE DISCOS DUROS.

Conceptos Fundamentales sobre UNIX Laboratorio Administrador de Archivos del CDE Avanzado (Tiempo estimado: 30 min.)

Guía de instalación de Citrix EdgeSight for Load Testing. Citrix EdgeSight for Load Testing 3.7

Windows Server Windows Server 2003

Guía de instalación de Citrix EdgeSight for Load Testing. Citrix EdgeSight for Load Testing 3.6

Cómo utilizar P-touch Transfer Manager

Eurowin 8.0 SQL. Manual de la FIRMA DIGITALIZADA

Printing System (V) Guía de uso. Edición de instalación

MANUAL DE USUARIO PARA LA INSTALACION DE LOS AGENTES COMMVAULT SIMPANA 9.0


Software de programación de interfaz FDT DXID. Guía del programador (DXID P01.doc)

Fundamentos de Computación para Científicos

Declaración Anual Personas Morales 2014

Windows Server 2012: Infraestructura de Escritorio Virtual

SISTEMAS DE INFORMACIÓN II TEORÍA

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

Modelo de Objetos Distribuidos

Tema 7: Fundamentos de la programación sobre MS-Windows.

Guía de uso del Cloud Datacenter de acens

Acceso al Disco Compartido y Dispositivos USB y DVD

Cómo usar P-touch Transfer Manager

INTRODUCCIÓN. Que es un sistema operativo? - Es un programa. - Funciona como intermediario entre el usuario y los programas y el hardware

SISTEMAS DE ARCHIVOS DISTRIBUIDOS

MANUAL DE INSTALACIÓN DE ESTACIONES CLIENTE

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

Transcripción:

2.- Estructuras de Sistemas Operativos Describir los servicios que el SO proporciona a los usuarios, procesos y otros sistemas Estudiar las maneras de estrcturar un SO Explicar como se instala un SO, como se personaliza y el proceso de boot Servicios útiles al usuario (Cont.): Comunicaciones Los procesos intercambian información, en la misma computadora o en la red Vía memoria compartida o por medio de mensajes (paquetes manejados por el SO) Detección de errores En el CPU, memoria, dispositivos de I/O, progrmas, etc. Tomar acciones apropiadas para asegurar cómputo correcto y consistente Las utilerías de depuración (debugging) pueden incrementar la capacidad de los programadores para usar eficientemente el sistema Servicios de SOs Interfaz de SOs System Calls Programas del Sistema Diseño e Implementation de SOs Estructura de SOs Máquinas Virtuales Generación de SOs Inicio del Sistema (Boot) Servicios útiles al usuario: Interfaz Casi todo SO tiene una interfaz (UI) Varía entre línea de comandos (CLI), batch, o gráfica (Graphical User Interface GUI) Ejecución de programas El SO debe ser capaz de cargar un programa a memoria, ejecutarlo y terminar su ejecución (normal o anormalmente, indicando un error) Operaciones I/O - Un proceso requiere I/O, ya sea de archivos o dispositivos I/O Manipulación de archivos Los programas necesitan leer y escribir archvos y directorios, crearlos, borrarles, buscar, listar información, manejar permisos, etc. Otro conjunto de funciones: Asignación de recursos - Múltiples usuarios/jobs concurrentes Tipos de recursos - Algunos (CPU, memoria, archivos) requieren código especial. Otros (dispositivos I/O) puedenn tener código general de solicitud y desalojo Contabilidad Quién usa qué y cuánto. Protección y seguridad Control de quien usa la información. Procesos concurrentes no deben intereferir Protección control de acceso a los recursos del sistema Seguridad requiere autenticación Si se requiere protección y seguridad, se debe regular. Una cadena es tan fuerte como el más débil de sus eslabones 1

CLI teclear comandos Implementado en el kernel o en programas del sistema Diferentes formas shells Leer comando ejecutar comando Algunos comandos son built-in, otros son nombres de programas Adiciones no requieren modificar el shell Interfaz con la metáfora desktop Mouse, teclado y monitor Iconos representan archivos, programas, acciones, etc Clicks/drags del ratón sobre objetos causan acciones (información, opciones, ejecución, abrir directorio aka folder, etc.) Inventado en Xerox PARC Muchos sistemas incluyen ambas interfaces: CLI y GUI Microsoft Windows es GUI con command shell CLI Mac OS X tiene interfaz GUI con kernel UNIX Solaris es CLI con interfaces GUI opcionales (Java Desktop, CDE, KDE) Interfaz de programación a los servicios proporcionados por el SO Típicamente escrita en un lenguaje de alto nivel (C o C++) Accesadas por programas vía un Application Program Interface (API) de alto nivel, y no directamente Las tres APIs más comunes son: Win32 API (Windows) POSIX API (POSIX-based: UNIX, Linux, y Mac OS X) Java API (Java virtual machine JVM) Secuencia de system calls para copiar el contenido de un archivo a otro Porqué usar APIs en lugar de system calls? Consider the ReadFile() function in the Win32 API a function for reading from a file Típicamente se tiene un no. asociado con cada system call La interfaz system-call mantiene una tabla indexada por no. de system call La interfaz system-call invoca los system calls en el kernel del SO y regresa el estatus de terminación y valores de resultados Descripción de los parámetros pasados a ReadFile() HANDLE file archivo a leer LPVOID buffer buffer de donde se leerá y a donde se escribirá DWORD bytestoread no. de bytes a leer en el buffer LPDWORD bytesread no. de bytes leídos en el último read LPOVERLAPPED ovl indica si se usa overlapped I/O No se necesita saber como está implementada la rutina (system call) Seguir el API y entender lo que hace el SO (no como lo hace) Los detalles son ocultados del programador por la API Manejadas por run-time support library (biblioteca de funciones incluidas con el compilador) 2

Envío de información a un system call El programa C invoca printf() (library call), la cual llama a write() (system call) Tipo y cantidad de información depende del SO y que SC se está usando Métodos de paso de parámetros al SO Pasar parámetros en registros Puede haber más parámetros que registros Parámeters almacenados en un block, o tabla, en memoria, y la dirección del block se pasa como parámetro en un registro Linux y Solaris Parámetros puestos (push), en el stack por el programa y sacados (popped) por el SO Los métodos block y stack no limitan el número o longitud de los parámetros Control de procesos Manejo de archivos Manejo de dispositivos Mantenimiento de información Comunicaciones (a) Al inicio (b) ejecutando un programa 3

Proporcionan un medio adecuado para desarrollar y ejecutar programas Los programas del sistema proporcionan un medio ambiente conveniente para desarrollo y ejecución de programas. Tipos: Manipulación de archivos Información de status Modificación de archivos Soporte para programación Carga y ejecución de programas Comunicaciones Programas de aplicación La mayoría de los usuarios catalogan al SO por los programas del sistema, y no por las system calls Manejo de archivos - Create, delete, copy, rename, print, dump, list, etc. Información del estado Algunos preguntan al SO - date, time, memoria disponible, espacio en disco, no. de usuarios, etc. Información detallada - performance, logging, debugging, etc. Formatean e imprimen a la terminal u otros dispositivos I/O Algunos implementan un registro usado para almacenar información de configuración Diseño e Implementación de Sos sin solución, pero hay técnicas de desarrollo exitosas La estructura interna de los Sos puede variar mucho Definir metas y especificaciones Consideraciones: hardware, tipo de sistema Modificación de archivos Algunos solo son interfaces a system calls; otras son mucho mas complejos Editores Búsqueda dentro de archivos y transformaciones de texto Herramienas para programadores - Compiladores, Ensambladores, debuggers, intérpretes, etc. Carga y ejecución de programas Cargadores absolutos y relocalizables, editores de encadenamiento, cargadores de overlay, debugging para lenguajes de alto nivel y de máquina Comunicaciones mecanismo para crear conexiones virtuales entre procesos, usuarios y computadoras Envío de mensajes entre pantallas, web browsers, email, rlogin, ftp, etc. Principio fundamental: Separar Política: Qué? Mecanismo: Cómo hacerlo? Proporciona flexibilidad en el caso de que las políticas cambien Metas del Usuario - Metas del Sistema Metas del usuario facilidad de uso y aprendizaje, confiable, seguro y rápido Metas del sistema facilidad de diseño, implementación y mantenimiento, flexible, confiable, sin errores y eficiente 4

MS-DOS proporcionar la mayor funcionalidad en el menor espacio Sin división por modules Interfaces y niveles de funcionalidad no están bien separados División por niveles (capas) Cada nivel construido sobre otros niveles Nivel 0 es hardware Nivel N, el mas alto, es UI Modularidad. Un nivel solo usa funciones y servicios de niveles más bajos Limitado por la funcionalidad del hardware. Consiste de dos partes Systems programs Kernel Cualquier cosa debajo de la interfaz system-call y arriba del hardware Proporciona el sistema de archivos, CPU scheduling, manejo de memoria y otras funciones. Demasiadas funciones para un nivel 5

Desplaza lo mas que puede del kernel al espacio de usuario Módulos (usuario) se comunican mediante mensajes (message passing) Beneficios: Extensibilidad Portabilidad a otras arquitecturas Confiabilidad (menos código se ejecuta en modo kernel) Seguridad Desventajas: Costo de comunicación desde espacio de usuario al espacio de kernel Módulos del kernel Desarrollados usando OOP Componentes independientes Comunicación mediante interfaces conocidas Cargados a demanda En general, similar a layers, pero mas flexibles Una máquina virtual lleva el método de niveles a su conclusión lógica. Trata el hardware y el kernel del SO como si todo fuera hardware Proporciona una interfaz identica al hardware subyacente El SO crea la ilusión de procesos múltiples. Cada uno se ejecuta en su propio procesador con su propia memoria (virtual) Los recursos de la computadora real son compartidos para crear la máquina virtual El despachador de CPU puede crear la impresión de que los usuarios tienen su propio procesador Un sistema de archivos y el spooling pueden proporcionar impresoras y lectores de dispositivos virtuales La terminal con tiempo compartido de un usuario normal sirve como la consola de operación de la máquina virtual 6

Non-virtual Machine El concepto de máquina virtual proporciona protección completa de los recursos del sistema, dado que una máquina virtual está completamente aislada de las demás. Sin embargo, esta característica prohibe compartir recursos. Una máquina virtual es el vehículo perfecto para investigación y desarrollo en Sos. Reboots, etc., no interrumpen la operación normal de una computadora (compartida). El concepto de máquina virtual es difícil de implementar debido al esfuerzo requerido para proporcionar un duplicado exacto de la máquina subyacente. Virtual Machine Los SOs se diseñan para correr en cualquier clase de máquina. El sistema debe estar configurado para cada sitio específico El programa SYSGEN obiene información de la configuración específica del hardware El bootstrap loader, localiza al kernel, lo carga en memoria y lo ejecuta Booting Iniciar una computadora cargando el kernel En algunos casos, se lleva a cabo un proceso de dos niveles. Un boot block almacenado en una localidad fija (de disco), carga al bootstrap loader Cuando se enciende la máquina, la ejecución comienza en una localidad fija de memoria El Firmware almacena el código de boot Programa Bootstrap código almacenado en ROM capaz de localizar el kernel, cargarlo en memoria, y ejecutarlo El SO debe estar disponible para que el hardware lo ejecute 7