Laboratorio de Optimización



Documentos relacionados
Arquitecturas de computadoras

Máquinas Virtuales en arquitecturas de microkernel

Programación de Sistemas

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

Tema 1. Hardware. Fundamentos de Informática Grado en Ingeniería Mecánica

CAPITULO IV CONCLUSIONES Y RECOMENDACIONES

Conceptos Básicos de Software. Clase III

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

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

Fundamentos de Sistemas Operativos

Unidad 1: Conceptos generales de Sistemas Operativos.

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

Sistemas de Computadoras Índice

Nivel Básico/Intermedio/Avanzado. Instalar y Configurar Servidores GNU/Linux. Administrar Servidores GNU/Linux. Proteger ante ataques a Servidores.

Es el corazón del ordenador. En el procesador se realizan todas y cada una de las tareas que los programas ordenan cumplir.

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

INTRODUCCIÓN. Definiciones ORDENADOR (RAE 1992): En esta asignatura computador y ordenador tiene el mismo significado

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

CARRERA ADMINISTRADOR-USUARIO EN REDES

SENA CEET, Distrito Capital ADSI Instructor: Ing. Espec. Javier V.aquiro

Entorno ubicuo basado en virtualización para la docencia práctica. Entorno ubicuo basado en virtualización para la docencia práctica.


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

Documento de implementación Servidor Web. Proyecto Laboratorio de Redes

UNIVERSIDAD NACIONAL SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERIA ELECTRONICA LINUX AVID ROMAN GONZALEZ

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

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Sistemas Embebidos Act 11: Reconocimiento Unidad 3 LECTURA 1

MÓDULO 1: Sistemas de Cómputo

Arquitecturas de Computadoras II. Febrero 2013

Características de Samba

Detalle de equipamiento. Laboratorio de Ingeniería Informática

Maquinas virtuales Conceptos Básicos

TEMA 4. Unidades Funcionales del Computador

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

Pontificia Universidad Católica del Ecuador

OBJETIVOS DE LA MATERIA... 4 PROGRAMA ANALÍTICO. CONTENIDOS TEÓRICOS Y PRÁCTICOS... 5 BIBLIOGRAFIA... 7

Redes de Nueva Generación Área de Ingeniería Telemática. Virtualización

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011

Instalación del sistema operativo Microsoft Windows Server 2008 Standard Edition x86

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

Tema: INSTALACIÓN Y PARTICIONAMIENTO DE DISCOS DUROS.

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

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

Sistemas Operativos. Tema 1. Arquitectura Básica de los Computadores

Introducción a los Sistemas Operativos

Curso Linux - Entrenamiento para Linux Professional Institute, Nivel 1. Exámen a Optar LPI-101 LPI-102

Sistemas Operativos Windows 2000

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

Sistemas Operativos de red (NOS).

INDICE Prologo Capitulo 0. Guía del lector Primera parte: antecedentes Capitulo 1. Introducción a los computadores

Denominamos Ordenador o Computadora, a una máquina electrónica que es capaz de dar un tratamiento automatizado a la información.

Programación estructurada (Interfaces Windows y Unix)

Fundamentos de Computación para Científicos

Descripción. Este Software cumple los siguientes hitos:

Modelo de aplicaciones CUDA

CAPÍTULO 3: Resultados

Computación Tercer Año

Módulos: Módulo 1. El núcleo de Linux - 5 Horas

UNIVERSIDAD DE GUADALAJARA

Software Libre / Código Abierto Programa de contenidos

Administración de GNU/Linux

Tema: Hardware de una Computadora. Profesora : LSC Sujey Anahí Díaz Herrera

UT04 01 Máquinas virtuales (introducción)

Sistemas Operativos. Curso 2013 Virtualización

Aplicaciones Informáticas

TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN PROFESOR: MSC. P. Norma Maya Pérez SISTEMAS OPERATIVOS

Diplomado GNU/Linux Administrator

Tema 3. Introducción a la configuración de un PC

UNIVERSIDAD NACIONAL DE INGENIERÍA

FUNDAMENTOS DE INFORMATICA

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

Universidad Central de Bayamón Colegio de Desarrollo Empresarial y Tecnología

MÁSTER ONLINE EN ADMINISTRACIÓN LINUX

Dpto. Informática y Automática

William A. Romero R. Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes 2005

Introducción a la Computación

Inducción al Laboratorio de Informática

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN

TEMA 1: VISIÓN GENERAL DE LOS SISTEMAS OPERATIVOS

UNIVERSIDAD TÉCNICA DEL NORTE

TECNOLOGIAS DE LA INFORMACION: ARQUITECTURA DEL ORDENADOR

LPIC-1 Guía de estudio Exámenes

PROGRAMAS DE ESTUDIO FORMATO 7 ADMINISTRACIÓN AVANZADA DE LINUX. Área de Formación Profesional

Es el conjunto de programas y procedimientos ejecutados en un computador, necesarios para hacer posible la realización de una tarea específica.

LA COMPUTADORA DIGITAL Parte 2

Historia de los sistemas operativos

Alcatel-Lucent VitalQIP Appliance Manager

Generalidades Computacionales

LIESH. Fco. Javier Bohórquez Ogalla

Herramientas de. Sistemas Informáticos I.E.S. Virgen de la Paloma

TEMA 3: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS.

PARTES DE UN COMPUTADOR

Introducción a las redes de computadores

Instalación de XEN Información de XEN Qué es XEN? Componentes de XEN:... 2

Básico de Arquitectura del Computador. Ing. Irvin Cuervo

ESCRIPCIÓN GENERAL 1. REQUERIMIENTOS. 1.1 Requerimientos de software

2. Requerimientos Técnicos

SERVIDOR PROXY CACHÉ. Servicios que ofrece:

Laboratorio de Herramientas Computacionales

Transcripción:

Laboratorio de Optimización Sistema Operativo Linux Oscar Alvarado Nava oan@correo.azc.uam.mx Departamento de Electrónica División de Ciencias Básicas e Ingeniería Universidad Autónoma Metropolitana, Azcapotzalco 15-Otoño, septiembre de 2015 Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 1/43

Contenido 1 Sistemas de cómputo Sistemas en capas Mecanismo de ejecución Lenguajes de la máquina 2 Sistema operativo Objetivos 3 Plataformas de ejecución Procesamiento concurrente Procesamiento multi-hilo Procesamiento multi-sistema 4 Linux y distribuciones UNIX kernel de Linux Distribuciones de linux Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 2/43

Sistemas en capas Sistema de cómputo en capas Aplicaciones: científico, negocios, oficina, juegos Traductores y herramientas de desarrollo Sistema operativo: procesos, hilos, bibliotecas Arquitectura: conjunto de instrucciones Micro arquitectura: ruta de datos unidad de control Lógico: compuertas, unidades funcionales Software Hardware Físico: resistencias, transistores, etc. Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 3/43

Mecanismo de ejecución Elementos de un sistema de cómputo Modelo de Von Newmann para ejecución de programas CPU (Central Processing Unit): unidad de control, registros y ALU RAM (Random Access Memory) Sistema de buses Periféricos de entrada/salida Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 4/43

Mecanismo de ejecución Mecanismo de ejecución RAM sistema operativo 101010101110 111000011111 001010100110 001111100010 100101100110 111110100000 100010100111 CPU 001010100110 pc ir ALU Control HD encabezado 101010101110 111000011111 001010100110 001111100010 100101100110 111110100000 100010100111 Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 5/43

Lenguajes de la máquina Lenguaje máquina: CPU Intel x86 1 2 3 4 5 01010101000000000000000000000000 6 10001001111001010000000000000000 7 10000011111011000001000000000000 8 11000111010001011111110000001111 9 11000111010001011111100000001001 10 11000111010001011111010000000000 11 10001011010001011111100000000000 12 10001011010101011111110000000000 13 00000001110100000000000000000000 14 10001011010001011111010000000000 15 10111000000000000000000000000000 16 11001001000000000000000000000000 17 18 11000011000000000000000000000000 Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 6/43

Lenguajes de la máquina Lenguaje ensamblador: CPU Intel x86 1.file suma.c ;archivo 2.text ;seccion de texto 3.globl main ;simbolo global 4 main:.cfi startproc 5 push %ebp ;libera pila 6 mov %esp, %ebp 7 sub $16, %esp 8 movl $15, -4( %ebp) 9 movl $9, -8( %ebp) 10 movl $0, -12( %ebp) 11 mov -8( %ebp), %eax ;carga en registro op1 12 mov -4( %ebp), %edx ;carga en registro op2 13 add %edx, %eax ;suma de datos 14 mov %eax, -12( %ebp) ;almacena resultado 15 mov $0, %eax ;valor de regreso 16 leave ;fin de modulo 17.cfi restore 18 ret Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 7/43

Lenguajes de la máquina Lenguaje de alto nivel: lenguaje C 1 int main() 2 { 3 int x=15; 4 int y=9; 5 int z=0; 6 7 z = x + y; 8 9 return 0; 10 } Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 8/43

Objetivos Sistema de cómputo Un sistema de cómputo está compuesto de muchos elementos Uno o más procesadores Varios niveles de memoria: principal, caché, virtual, etc. Periféricos: discos duros, tarjetas de red, teclado, ratón, pantalla, etc. Cómo funciona cada uno de ellos?, cómo trabajan entre ellos? Cómo utilizarlos de manera óptima?, para uno o varios usuarios Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 9/43

Objetivos Sistema operativo Conjunto de programas de software, escrito en varios lenguajes de programación Lenguaje ensamblador dependiente de la arquitectura objetivo, por ejemplo, x86 32 de Intel Lenguaje de mediano nivel no dependiente de la arquitectura, por ejemplo C Lenguajes interpretados o scripts, no dependiente de arquitectura objetivo Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 10/43

Objetivos Algunos objetivos del sistema operativo Ofrecer a los usuarios un modelo de computadora (máquina extendida o virtual) más simple, ocultando los destalles de funcionamiento del hardware Proporcionar a los procesos de usuario los recursos necesarios para su ejecución Vigilar la ejecución de los procesos En general, se encarga de la administración de todos los recursos del sistema de cómputo Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 11/43

Objetivos Máquina extendida o virtual Oculta la constitución y funcionamiento del hardware Oculta los detalles de operación del hardware: Cómo funciona un disco duro magnético? Presenta al usuario una máquina virtual, fácil de utilizar Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 12/43

Objetivos Administrador de recursos El sistema operativo permite ejecutar aplicaciones a través de procesos o hilos Un proceso es un programa en ejecución En los sistemas UNIX y en los sistemas como Unix, un proceso tiene al menos un hilo de ejecución Cada proceso podrá utilizar los recursos por un tiempo determinado CPUs, segmentos virtuales de memoria, dispositivos, etc. El SO vigilará que los recursos sean utilizados de forma equitativa entre los procesos Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 13/43

Objetivos Jerarquía de procesos Es necesario tener una jerarquía de ejecución Procesos con privilegos limitados Procesos con privilegos otorgados temporalmente Procesos con mayores privilegios Para lograr lo anterior, es necesario que el procesador tenga al menos dos modos de operación Modo kernel, o supervisor Modo usuario, o modo real Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 14/43

Procesamiento concurrente Sistema en capas negocios oficina mozilla apache NFS X11 vim gcc bash sistema operativo programas de aplicaciones programas de sistema ISA hardware microarquitectura dispositivos físicos Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 15/43

Procesamiento concurrente Kernel o núcleo programas de aplicaciones kernel hardware Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 16/43

Procesamiento concurrente Sistema de cómputo host stdin stdout SO HW CPU0 NIC HD Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 17/43

Procesamiento concurrente Procesamiento concurrente host stdin stdout SO HW CPU0 NIC HD Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 18/43

Procesamiento concurrente Comunicación entre procesos host SO HW NIC CPU0 HD Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 19/43

Procesamiento multi-hilo Proceso multihilo host SO HW CPU0 Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 20/43

Procesamiento multi-hilo Ejecución de un proceso multihilo en un CPU host SO HW CPU0 Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 21/43

Procesamiento multi-hilo Multiprocesamiento simétrico (SMP) host SO HW CPU0 CPU1 Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 22/43

Procesamiento multi-hilo Ejecución multihilo en varios CPUs host SO HW CPU0 CPU1 Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 23/43

Procesamiento multi-hilo Ejecución multihilo en GPUs RAM processes and threads operating system global memory main bus cache streaming multiprocessors GPU core0 CPU coren Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 24/43

Procesamiento multi-sistema Comunicación entre procesos remotos host1 host2 kernel 228021 kernel 24792 hardware 192.168.1.2 hardware 192.168.1.3 Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 25/43

Procesamiento multi-sistema Un servidor host1 host2 kernel kernel hardware NIC hardware NIC Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 26/43

Procesamiento multi-sistema Servidores concurrentes host1 host2 kernel kernel hardware NIC hardware NIC Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 27/43

Procesamiento multi-sistema Servidores multihilo host1 host2 kernel kernel hardware NIC hardware NIC Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 28/43

Procesamiento multi-sistema Múltiples servidores en varios hosts host1 host2 host3 sistema operativo hardware sistema operativo hardware sistema operativo hardware Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 29/43

Procesamiento multi-sistema Capa intermedia (middleware) host1 host2 host3 Middleware Middleware Middleware sistema operativo hardware sistema operativo hardware sistema operativo hardware Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 30/43

Procesamiento multi-sistema Sistema distribuido host1 host2 host3 Middleware Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 31/43

UNIX Desarrollo de UNIX Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 32/43

UNIX Modelo de UNIX Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 33/43

kernel de Linux Sistema operativo Linux Inicialmente la palabra Linux se refería al sistemas operativo, conocido como kernel o núcleo Actualmente el término Linux es también utilizado para referirse a una distribución: Debian, RedHat, Ubuntu, etc. Versión actual del kernel 3.10.9 (agosto de 2013) Aplicaciones de sistema: bibliotecas, instaladores, servicios, compiladores, etc. Aplicaciones de usuario: escritorio, navegadores, aplicaciones de oficina, etc. La mayoría del software pertenecen al proyecto GNU (Gun is Not Unix), con licencia GPL Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 34/43

,ch01.2168 Page 6 Thursday, January 20, 2005 9:21 AM kernel de Linux Modelo del kernel Linux 4.2.1 The System Call Interface Process management Memory management Filesystems Device control Networking Kernel subsystems Concurrency, multitasking Virtual memory Files and dirs: the VFS Ttys & device access Connectivity Features implemented Archdependent code Memory manager File system types Block devices Character devices Network subsystem IF drivers Software support Hardware CPU Memory Disks & CDs Consoles, etc. Network interfaces features implemented as modules Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 35/43

kernel de Linux Versión actual del kernel Liberado el 21 de septiembre de 2015: linux-4.2.1.tar.gz, 124MB www.kernel.org Multiarquitectura Más de 15 millones ĺıneas de código en lenguaje C, ensamblador de diferentes arquitecturas, scripts de configuración y compilación kernelnewbies.org/linux 4.0 $wget -c http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.10.9.tar.bz2 $tar -jxvf linux-3.7.2.tar.bz2 Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 36/43

kernel de Linux Documentación La principal información acerca de la estructura del Linux está en el directorio Documentation Información de funcionamiento de hardware:cpu-frec PCI, etc. Sistemas de archivos: filesystems Dispositivos:drivers-model Sistemas: scheduler, vm, usb, timers, etc. Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 37/43

kernel de Linux Multi-arquitectura La versión del kernel ha sido portada a varias arquitecturas de procesadores hard y soft Directorio arch x86 32 y 64 bits, Intel y AMD powerpc AIM (Apple-IBM-Motorola) alpha DEC (Digital) arm ARM (Alcatel-Lucent-Apple-Atmel) mips MIPS, John Hennessy m68k Motorola sparc SUN microblaze Xilinx openrisc OpenCores Cada directorio tiene el software dependiente de la arquitectura y está escrita en ensamblador arch/x86/kernel/entry 32.S Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 38/43

kernel de Linux Sistemas de archivos En el directorio filesystems se ecuentra el código necesario para dar soporte a los diferentes sistemas de archivos que soporta Linux ext2, ext3, ext4 ntfs nfs squashfs qnx coda jffs2 vfat Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 39/43

Distribuciones de linux Distribución de linux dhcp samba bind Apache/Openjava gcc vim make sh/bash/csh/ksh dpkg/apt (.deb) OpenOffice Firefox/IceWeasel gnome/kde X Windows rpm/yum (.rpm) linux kernel x_86/ia64/sparc/powerpc/microblaze Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 40/43

Distribuciones de linux Basados en Debian Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 41/43

Distribuciones de linux Basados en redhat Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 42/43

Distribuciones de linux Basados en slackware Oscar Alvarado Nava UAM Azcapotzalco Sistema Operativo Linux 43/43