Procesamiento con Multitarea

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Procesamiento con Multitarea"

Transcripción

1 Procesamiento con Multitarea Técnicas Digitales III Ing. Gustavo Nudelman 2013

2 Introducción Podemos definir como tarea, a código en ejecución al cual el sistema le asigna recursos especiales que hacen de que dicho código pueda definirse como una entidad. Dichos recursos son: Espacio de contexto de ejecución Segmento TSS Un segmento TSS posee un descriptor de sistema asociado Espacio de ejecución Paginas y/o segmentos asignados para código, datos y pila Un mapa de I/O asociado que la tarea puede utilizar Con estos recursos, el procesador puede ejecutar, detener y despachar esta instancia de código de manera controlada.

3 Introducción a la conmutación de tarea t1 t2 t3 tn t1 Frame de Ejecución TSSn TSS2 TSS1 CPU

4 Concepto de Maquina Virtual El programador de sistemas, pone a disposición de cada tarea: Un set de recursos de ejecución de la CPU Una rodaja (Slot) de tiempo de CPU en el cual el set de ejecución es de uso exclusivo de la tarea. Un conjunto de segmentos o páginas para uso de la tarea Acceso a I/O controlado Se conoce a este set de recursos, como una máquina virtual, que la tarea puede utilizar de manera discontinua en el tiempo.

5 Estructuras y recursos asociados Segmento de estado de tarea (TSS) Se trata de un segmento especial de memoria donde se almacena el contexto de ejecución en el que quedo suspendida una tarea Descriptor de TSS Es un descriptor de la GDT (del tipo sistema) Que describe al segmento TSS Descriptor de puerta de Tarea Descriptor de la IDT que produce una conmutación de tarea cuando se invoca a la interrupción asociada Registro de Tarea (TR) Es un registro de la CPU que apunta al descriptor de TSS de la tarea que se encuentra en ejecución. Flag NT (bit 14 del EFLAGS) Indica anidamiento de tareas

6 Estructura de la TSS en IA32 Su tamaño mínimo es de 104 bytes (67h) I/O Map Base Address: es el offset desde el inicio de la TSS hasta el inicio del mapa de I/O Cada bit del I/O MAP corresponde a un byte del sistema de I/O, y se habilita con un 0. El mapa no debe contener a todos los ports, ya que lo podemos limitar por el campo límite del descriptor El flag T sirve para generar una excepción de debug si está en 1. (Pentium en adelante)

7 Mapa de permisos de I/O en la TSS Existe un campo del registro EFLAGS llamado IOPL que determina el nivel necesario que debe tener un código (CPL) para poder acceder a instrucciones de I/O, y este campo solo puede ser alterado por el nivel 0. Cuando una tarea no posee el nivel establecido en el campo IOPL del registro EFLAG, el sistema chequea el mapa de bit de la TSS. Cada bit de este mapa representa al puerto en cuestión, y se establece el permiso con 0.

8 Selección de una tarea por parte de la CPU

9 Descriptor de TSS El campo Granularity debe valer 0 Si la TSS no está correctamente definida, se obtendrá una excepción del tipo 0Ah (TSS Invalido)

10 Despacho de tareas IA32 La maneras con la que el procesador puede realizar una conmutación de tareas son: Mediante la instrucción JMP <seltss:0> (Se ignora el offset) Mediante la instrucción CALL <seltss:0> (Se ignota el offset) Mediante un evento de interrupción/excepción para el cual se dispone de una puerta de tarea en la IDT Mediante la instrucción IRET estando el bit NT del registro EFLAGS en 1 Cualquiera de estos métodos cargara el selector TR con el nuevo descriptor de TSS, y esto producirá tanto la descarga del contexto de la tarea a abandonar, como la carga del mismo en la tarea a conmutar. Luego de la conmutación de tarea, queda seteado el bit TS del registro CR0 (utilidad para punto flotante)

11 Anidamiento de tareas (IA32) Cuando se conmuta de tarea mediante un CALL, o mediante una puerta de tarea, el procesador copia el TR de la tarea actual en el campo Previous Task Link de la nueva tarea. El bit Busy queda en 1 en ambas tareas anidadas De esta forma, si la nueva tarea ejecuta en algún punto la instrucción IRET y el campo NT de EFLAGS está en 1, el procesador puede retomar la tarea previa gracias a que puede recuperar el selector de TSS del campo Prevous Task Link La conmutación con JMP no produce ningún tipo de anidamiento

12 Prevención de recursividad Bit Busy Toda tarea en ejecución, o que haya quedado anidada, permanece con el bit Busy en 1. Esto impide que se intente re-entrar en una tarea ocupada El procesador genera una excepción de protección general si se intenta acceder a una tarea cuyo bit Busy se encuentra en 1. La única excepción es acceder con IRET ya que esta es una condición esperada por el anidamiento. Cuando se despacha una tarea con JMP, la CPU Limpia automáticamente el bit busy, ya que se asume el deseo intencional de abandonar la tarea.

13 Protección en conmutación de tareas La CPU siempre chequea que el tanto el CPL de la tarea que va a ser abandonada como el RPL del selector de segmento de la nueva tarea, deben ser menor o igual al DPL del descriptor de TSS de la tarea que se va a conmutar. Si se realiza conmutación mediante la instrucción IRET, no se controla el nivel de privilegio. La CPU controla que la tarea a abordar, este disponible (bit busy) a excepción de cuando se conmuta con IRET Se controla que la TSS tenga una tamaño mayor o igual a 104 bytes, y que esté dentro de una misma página (si se esta trabajando con paginación)

14 Recursos no incluidos en la definición de contexto Intel Durante la evolución de la arquitectura IA32 se han incorporado recursos, que por razones de compatibilidad no se incluyeron en la TSS El bit 3 de CR0 (Task Swiched) nos permite salvaguardar el contexto de x87 FPU/MMX/SSE/SSE2/SSE3/SSSE3/SSE4 Este bit es puesto a 1 cada vez que se realiza un cambio de tarea. Permaneciendo en 1 ya comenzada la ejecución de la nueva tarea permite generar una excepción del tipo 7 (device-notavailable ), cuando se intenta ejecutar cualquier instrucción que involucre a estos recursos El handler de esta excepción será entonces la oportunidad para resguardar y recuperar dicho contexto en una estructura propia del programador de sistemas, y luego limpiar el bit TS (instr. CLTS)

15 Ejercicio teórico

16 Planificación El scheduler Subtitulo o nombre del capitulo Universidad Tecnológica Nacional

17 Diseño de un scheduler Se denomina Scheduler a la parte del código que se utiliza para: Gestionar el tiempo de CPU entre todas las tareas que deban ser ejecutadas en base a métricas y prioridades. Se trata que código que siempre se ejecuta a nivel Kernel. Utiliza una base de tiempo (Generalmente el Timer tick) Utiliza una base de datos o lista conteniendo las tareas que deben ser ejecutadas Basado en las métricas e impulsado por la base de tiempo, es quien decide realizar la conmutación de tarea Debe optimizar el uso del sistema de acuerdo a la política de diseño del sistema

18 Métricas y políticas de scheduling T T t1 t2 tr t1 t2 tr Frame de Ejecución Frame de Ejecución El scheduler reparte los tiempos de CPU dentro de un frame de ejecución Las tareas pueden tener diferente asignación de tiempo dentro de un frame Las tareas real time deben tener un tiempo periódico asegurado dentro de cada frame

19 Scheduler Contexto Sea un scheduler que se ejecuta en el handler de la IRQ0 para gestionar un sistema de n tareas A que tarea pertenece el scheduler? El scheduler es simplemente código del sistema que se ejecuta en el contexto de la tarea interrumpida Para pasar desde la tarea n a la tarea n+1, el scheduler se ejecuta en la tarea n

20 Análisis para 2 tareas TR TSS1 TSS2 CPU CPU Se comienza a ejecutar el código del scheduler (contexto de la tarea 1) Ejecutando tarea Jmp seltss2:0 IRET IRQ0

21 Scheduler - Conclusiones El procesador nos provee los recursos para realizar el cambio de contexto. Sin embargo las políticas y manejo de las métricas deben ser implementadas por el programador Es por eso que además de la TSS se acostumbra a almacenar mas información para cada tarea. Se aconseja que el scheduler disponga de un área de datos donde pueda almacenar estructuras ordenadas para la información de las tareas (Ej. Listas simplemente enlazadas) No todas las tareas de un sistema pueden ser ejecutadas por el scheduller El scheduler no es quien debe encargarse de activar la posibilidad de ejecución de una tarea

22 Gestión del espacio de direccionamiento en multitarea Se trata de como poner páginas o segmentos a disposición de cada tarea. Esto incluye áreas de código, datos, pila, y áreas compartidas Si trabajamos con paginación activada, el hecho de cambiar el valor de CR3 al conmutar de tarea nos permite cambiar el esquema de paginación permitiendo: Tener diferentes tareas que utilicen diferentes páginas aunque se refieran al mismo espacio lineal Tener páginas compartidas referenciando las mismas direcciones físicas en los diferentes esquemas de paginación Tener protección entre tareas

23 Ejemplo de diseño para 2 tareas (IA32-PAE) PTE (F) PTE (10h) VIDEO 0xB8000 PDPTE0 PDE0 PTE (9) PTE (8) PTE (7) PTE (6) PTE (5) PTE (4) PTE (3) PTE (2) PTE (1) PTE (0) Cod Datos 2 Cod/Datos 1 PT2 PD2 PDPT2 PT1 PD1 PDPT1 Cod/Datos 0x xF000 0xE000 0xD000 0xC000 0xB000 0xA000 0x9000 0x8000

24 Ejemplo de diseño s/protección (IA32-PAE) PTE (D) PTE (C) 0xB8000 PTE (B) PTE (A) VIDEO PDPTE0 PDE0 PTE (9) PTE (8) PTE (7) PTE (6) PTE (5) PTE (4) PTE (3) PTE (2) PTE (1) PTE (0) Cod Datos 2 Cod/Datos 1 PT1 PD1 PDPT1 Cod/Datos 0xD000 0xC000 0xB000 0xA000 0x9000 0x8000

25 Lab: Tareas en IA32 Presentación y análisis task32.asm Subtitulo o nombre del capitulo Universidad Tecnológica Nacional

26 Tareas en IA32e Subtitulo o nombre del capitulo Universidad Tecnológica Nacional

27 Introducción La evolución de los procesadores introdujo gradualmente nuevos recursos (registros de punto flotante, registros para operaciones empaquetadas, etc) Estos recursos no formaron parte del contexto (TSS) por razones de compatibilidad hacia atrás en IA32 La manipulación de estos recursos durante la conmutación de tarea debió realizarse por software ya que el procesador no brindó ningún mecanismo automático Debido a esta situación, los sistemas operativos decidieron definir su propia estructura de contexto, y solo utilizar la TSS para recuperar las pilas durante el cambio de nivel de privilegio.

28 Cambios en 64 bits Se mantienen solo los conceptos de tareas y contexto Dicho contexto lo diseña el programador de sistemas El procesador no ofrece una estructura de contexto manejable El diseño, construcción y manipulación de las estructuras de contexto son responsabilidad del programador de sistemas Entonces.... Existe latss? La TSS cumple solamente la función de almacenar los punteros a pila para los cambios de nivel de privilegio. No se puede realizar un JMP a un selector de TSS. Esto provocaría una excepción 0dh Tampoco se soporta la puerta de tarea en la IDT.

29 Estructuras en IA32e En Modo 64 bits el procesador mantiene el TSS, pero su función ya no es la de almacenar el contexto de la tarea sino mantener: 1 Los valores de RSP para los Niveles de Privilegio 2, 1, y 0, en formato canónico. 2 La Tabla de Punteros a Stacks de Interrupciones (IST), punteros expresados también en su formato canónico. 3 El Offset al BitMap de E/S. El sistema operativo de 64 bits debe crear al menos un TSS e inicializar el TR con el selector correspondiente a este segmento. Este segmento se utilizará tanto para tareas que ejecuten en el sub-modo 64 bits como en el sub-modo compatibilidad.

30 TSS para 64 bits

31 Descriptor de TSS para 64 bits

32 Lab: Tareas IA32e Análisis en conjunto de como implementar un cambio de contexto Presentación y análisis task64.asm Subtitulo o nombre del capitulo Universidad Tecnológica Nacional

Microprocesadores. Procesadores IA-32 e Intel R 64 Tareas. Alejandro Furfaro

Microprocesadores. Procesadores IA-32 e Intel R 64 Tareas. Alejandro Furfaro Microprocesadores Procesadores IA-32 e Intel R 64 Tareas Alejandro Furfaro Junio de 2012 Temario 1 Introducción 2 Recursos para manejo de tareas en IA-32 Task State Segment Descriptor de TSS Descriptor

Más detalles

Conmutación de Tareas

Conmutación de Tareas Conmutación de Tareas Conmutación de tareas Expira el tiempo de ejecución asignado por el procesador a la tarea N El procesador almacena en memoria el estado de máquina (contexto) de la tarea N. El procesador

Más detalles

Procesadores de 64 bits

Procesadores de 64 bits Procesadores de 64 bits Técnicas Digitales III Ing. Gustavo Nudelman 2013 Introducción Desarrollada por AMD en 2003 con el modelo Opteron, continuando con el Athlon para ser luego tomado por Intel en los

Más detalles

Procesadores IA-32 e Intel R 64 Inicialización

Procesadores IA-32 e Intel R 64 Inicialización Procesadores IA-32 e Intel R 64 Inicialización Alejandro Furfaro Mayo 2012 Alejandro Furfaro () Procesadores IA-32 e Intel R 64 Inicialización Mayo 2012 1 / 10 Agenda 1 Inicialización para operación en

Más detalles

Arquitectura de Computadores II Clase 15

Arquitectura de Computadores II Clase 15 Arquitectura de Computadores II Clase 15 Introducción al modo protegido Facultad de Ingeniería Universidad de la República Instituto de Computación Contenido Generalidades. Modos de operación. Manejo de

Más detalles

Microprocesadores. Procesador IA-32 e Intel R 64 Protección. Alejandro Furfaro

Microprocesadores. Procesador IA-32 e Intel R 64 Protección. Alejandro Furfaro Microprocesadores Procesador IA-32 e Intel R 64 Protección Alejandro Furfaro Junio de 2012 Temario 1 Introducción 2 Chequeo del Límite Límite efectivo 3 Chequeo del Tipo 4 Niveles de Provilegio 5 Reglas

Más detalles

Taller de Sistemas Operativos. Direccionamiento de Memoria 2012

Taller de Sistemas Operativos. Direccionamiento de Memoria 2012 Taller de Sistemas Operativos Direccionamiento de Memoria 2012 TSO Direccionamiento de Memoria - 2010 Agenda Arquitectura de memoria en x86 (IA-32). Direccionamiento en Linux. Arquitectura de memoria en

Más detalles

Microprocesadores. Procesador IA-32 - Gestión de Memoria en 64 bits. Alejandro Furfaro

Microprocesadores. Procesador IA-32 - Gestión de Memoria en 64 bits. Alejandro Furfaro Microprocesadores Procesador IA-32 - Gestión de Memoria en 64 bits Alejandro Furfaro Mayo de 2012 Temario 1 Segmentación Generalidades Sub Modos IA-32e 2 Paginación Alejandro Furfaro () Procesador IA-32

Más detalles

Intel Arquitectura. Programación en Ensamblador Ing. Marcelo Tosini

Intel Arquitectura. Programación en Ensamblador Ing. Marcelo Tosini Intel 80386 Arquitectura Características generales Procesador de 32 bits Bus de direcciones de 32 bits : 4 Gbyte Bus de datos interno de 32 bits primer procesador de 32 bits de Intel 138 instrucciones

Más detalles

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina

Más detalles

Arquitectura de computadoras

Arquitectura de computadoras Arquitectura de computadoras Técnicas Digitales III Ing. Gustavo Nudelman 2013 Que entendemos por arquitectura Un sistema con una CPU, memoria y dispositivos de entrada y salida puede considerarse un sistema

Más detalles

Arquitectura (Procesador familia 80 x 86 )

Arquitectura (Procesador familia 80 x 86 ) Arquitectura (Procesador familia 80 x 86 ) Diseño de operación Basada en la arquitectura Von Newman Memoria CPU asignadas direcciones I / O BUS: Es un canal de comunicaciones Bus de direcciones: Contiene

Más detalles

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía Tema 3 SUBRUTINAS ÍNDICE Definición e instrucciones básicas Soporte para el tratamiento de subrutinas (ejecución de la subrutina y gestión del bloque de activación) Interrupciones vs llamadas a procedimiento

Más detalles

ADMINISTRACION DE LA MEMORIA. En memoria 1 solo proceso Desventajas:

ADMINISTRACION DE LA MEMORIA. En memoria 1 solo proceso Desventajas: ADMINISTRACION DE LA MEMORIA Función del Administrador de Memoria Registra qué parte de memoria está libre y ocupada Asigna y libera espacio en memoria a los procesos Administra el intercambio entre la

Más detalles

Procesadores IA-32 e Intel R 64 Gestión de Interrupciones

Procesadores IA-32 e Intel R 64 Gestión de Interrupciones Procesadores IA-32 e Intel R 64 Gestión de Interrupciones Alejandro Furfaro Abril 2012 Alejandro Furfaro () Procesadores IA-32 e Intel R 64 Gestión de Interrupciones Abril 2012 1 / 1 Agenda Alejandro Furfaro

Más detalles

El microprocesador 80386

El microprocesador 80386 Page 1 of 24 por Dario Alejandro Alpern Página principal del sitio de Darío See Site in English Alpern ELECTRÓNICA >> Microprocesadores Intel Descargas MATEMÁTICAS >> Calculadoras Teoría de Números Problemas

Más detalles

Introducción a los Sistemas Operativos

Introducción a los Sistemas Operativos Introducción a los Sistemas Operativos Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es 1 Índice General Conceptos sobre ordenadores Concepto

Más detalles

El nivel ISA (II)! Conjunto de Instrucciones

El nivel ISA (II)! Conjunto de Instrucciones El nivel ISA (II) Conjunto de Instrucciones EC-2721 Arquitectura del Computador I Que es un Conjunto de Instrucciones? Colección completa de instrucciones comprendida por un procesador Lenguaje de máquina

Más detalles

Aprendiendo Sistemas Operativos: Programación de Procesadores de Arquitectura IA-32

Aprendiendo Sistemas Operativos: Programación de Procesadores de Arquitectura IA-32 Aprendiendo Sistemas Operativos: Programación de Procesadores de Arquitectura IA-32 Este documento forma parte de la serie Aprendiendo Sistemas Operativos y sirve como una introducción a los aspectos básicos

Más detalles

Introducción a la arquitectura de computadores

Introducción a la arquitectura de computadores Introducción a la arquitectura de computadores Departamento de Arquitectura de Computadores Arquitectura de computadores Se refiere a los atributos visibles por el programador que trabaja en lenguaje máquina

Más detalles

Tema 6 Organización y gestión de la memoria

Tema 6 Organización y gestión de la memoria Departamento de Tecnologías de la Información Tema 6 Organización y gestión de la memoria Ciencias de la Computación e Inteligencia Artificial Índice 6.1 Organización de la memoria en tiempo de ejecución

Más detalles

Microprocesadores. Procesador IA-32 - Gestión de Memoria. Alejandro Furfaro

Microprocesadores. Procesador IA-32 - Gestión de Memoria. Alejandro Furfaro Microprocesadores Procesador IA-32 - Gestión de Memoria Alejandro Furfaro Abril de 2013 Temario 1 Como se organiza la memoria Modelo de memoria en Modo Protegido Modelo de memoria en Modo 64 bits 2 Direcciones

Más detalles

Funcionamiento de la computadora

Funcionamiento de la computadora Funcionamiento de la computadora La computadora es una maquina destinada a procesar datos. Este procesamiento involucra dos flujos de información: el de datos y el de instrucciones. Se parte del flujo

Más detalles

Procesadores IA-32 e Intel R 64 Gestión de Interrupciones

Procesadores IA-32 e Intel R 64 Gestión de Interrupciones Procesadores IA-32 e Intel R 64 Gestión de Interrupciones Alejandro Furfaro Abril 2012 Alejandro Furfaro () Procesadores IA-32 e Intel R 64 Gestión de Interrupciones Abril 2012 1 / 106 Agenda 1 Inroducción

Más detalles

Espacio de direcciones de un proceso

Espacio de direcciones de un proceso Espacio de direcciones de un proceso Yolanda Becerra Fontal Juan José Costa Prats Facultat d'informàtica de Barcelona (FIB) Universitat Politècnica de Catalunya (UPC) BarcelonaTech 2014-2015 QP Indice

Más detalles

Arquitectura de Computadores II Clase #7

Arquitectura de Computadores II Clase #7 Arquitectura de Computadores II Clase #7 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Memoria virtual 1 Recordemos: Jerarquía de Memoria Registros Instr.

Más detalles

Práctica 2: Sector de arranque

Práctica 2: Sector de arranque Práctica 2: Sector de arranque Gustavo Romero López Arquitectura y Tecnología de Computadores 7 de junio de 2016 Gustavo Romero López Práctica 2: Sector de arranque 1 / 13 Objetivos Creación de un sector

Más detalles

Herramientas Informáticas I Software: Sistemas Operativos

Herramientas Informáticas I Software: Sistemas Operativos Herramientas Informáticas I Software: Sistemas Operativos Facultad de Ciencias Económicas y Jurídicas Universidad Nacional de La Pampa Sistemas Operativos. Es el software base que permite trabajar como

Más detalles

La Pila en los Procesadores IA-32 e Intel c 64

La Pila en los Procesadores IA-32 e Intel c 64 La Pila en los Procesadores IA-32 e Intel c 64 Alejandro Furfaro Ilustraciones de David Gonzalez Marquez (tnx a lot) Abril 2012 Abril 2012 1 / 44 Agenda 1 Funcionamiento Básico 2 Ejemplos de uso de pila

Más detalles

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria 1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo

Más detalles

Sistemas Operativos. Daniel Rúa Madrid

Sistemas Operativos. Daniel Rúa Madrid Sistemas Operativos Daniel Rúa Madrid Qué es? Es un programa que administra el hardware de una computadora. También proporciona las bases para los programas de aplicación y actúa como intermediario entre

Más detalles

Manipulación de procesos

Manipulación de procesos Manipulación de procesos Las primeras computadoras solo podían manipular un programa a la vez. El programa tenía control absoluto sobre todo el sistema. Con el desarrollo vertiginoso del hardware ese panorama

Más detalles

Diseño de compiladores. Organización de memoria. Organización de memoria. Organización de memoria. Zona de código 04/05/2014 ORGANIZACIÓN DE MEMORIA

Diseño de compiladores. Organización de memoria. Organización de memoria. Organización de memoria. Zona de código 04/05/2014 ORGANIZACIÓN DE MEMORIA Diseño de compiladores Gestión de la memoria / Generación de código ORGANIZACIÓN DE MEMORIA Organización de memoria Depende del tipo de lenguaje (declarativos, imperativos), del compilador y del sistema

Más detalles

Memoria Virtual. Memoria Virtual

Memoria Virtual. Memoria Virtual Memoria Virtual DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE 2008 Memoria Virtual Define la relación entre memoria principal y memoria secundaria Permite crear la ilusión de una memoria principal de

Más detalles

BUAP FACULTAD DE CIENCIAS DE LA COMPUTACIÓN SISTEMAS OPERATIVOS 2 PRACTICA 2 JAIME MORALES FLORES

BUAP FACULTAD DE CIENCIAS DE LA COMPUTACIÓN SISTEMAS OPERATIVOS 2 PRACTICA 2 JAIME MORALES FLORES BUAP FACULTAD DE CIENCIAS DE LA COMPUTACIÓN SISTEMAS OPERATIVOS 2 PRACTICA 2 JAIME MORALES FLORES 200917708 01-FEB-2015 PRIMAVERA 2015 Introducción Linux o mejor dicho GNU/Linux es un núcleo de sistema

Más detalles

Tema 11. Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. 11.1.1. MULTIPROGRAMACIÓN.

Tema 11. Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. 11.1.1. MULTIPROGRAMACIÓN. Tema 11 Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. El sistema operativo es básicamente un programa que controla los recursos del computador, proporciona servicios a

Más detalles

Ejercicios del tema 4. El procesador

Ejercicios del tema 4. El procesador jercicios del tema 4. l procesador jercicio 1. Considere un procesador de 32 bits con una frecuencia de reloj de 500 MHz con la estructura del mostrado en el jercicio 3. La memoria se direcciona por bytes

Más detalles

TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O

TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO Definición y objetivos de un S.O Definición y objetivos del sistema operativo Estructura, componentes y servicios de un S.O Llamadas al sistema

Más detalles

Sistemas Operativos. Dr. Luis Gerardo de la Fraga. Departamento de Computación Cinvestav

Sistemas Operativos. Dr. Luis Gerardo de la Fraga.    Departamento de Computación Cinvestav Sistemas Operativos Dr. Luis Gerardo de la Fraga E-mail: fraga@cs.cinvestav.mx http://cs.cinvestav.mx/~fraga Departamento de Computación Cinvestav 12 de junio de 2015 Dr. Luis Gerardo de la Fraga Cinvestav,

Más detalles

F1131 Fundamentos de sistemas operativos 1/12

F1131 Fundamentos de sistemas operativos 1/12 PROGRAMA DE ESTUDIO Fundamentos de sistemas operativos Programa Educativo: Licenciado en Informática Administrativa Área de Formación : Sustantiva Profesional Horas teóricas: 3 Horas prácticas: 2 Total

Más detalles

Sist s em e a m s s O per e ativos o. s Unidad V Entrada Sali l d i a.

Sist s em e a m s s O per e ativos o. s Unidad V Entrada Sali l d i a. Sistemas Operativos. Unidad V Entrada Salida. Programación de Entrada y Salida Introducción. Comunicación de los procesos con el mundo externo : Mecanismo de E/S de información. Aspectos que diferencian

Más detalles

Unidad I: Organización del Computador. Ing. Marglorie Colina

Unidad I: Organización del Computador. Ing. Marglorie Colina Unidad I: Organización del Computador Ing. Marglorie Colina Arquitectura del Computador Atributos de un sistema que son visibles a un programador (Conjunto de Instrucciones, Cantidad de bits para representar

Más detalles

Arquitectura de Computadores II Clase #3

Arquitectura de Computadores II Clase #3 Clase #3 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Registros Repertorio de instrucciones Modos de direccionamiento El stack Formatos de datos Control

Más detalles

Planificador de Linux (Scheduler)

Planificador de Linux (Scheduler) Planificador de Linux (Scheduler) Profesor Gilberto Díaz gilberto@ula.ve Universidad de Los Andes Facultad de Ingeniería Departamento de Computación G. Díaz (ULA) Planificador de Linux (Scheduler) Mérida,

Más detalles

GESTIÓN DE ARCHIVOS. Presentado por: Alba Arosemena Alma Vargas Hospicia Mendoza Roselvira Fernández Ahías Arosemena

GESTIÓN DE ARCHIVOS. Presentado por: Alba Arosemena Alma Vargas Hospicia Mendoza Roselvira Fernández Ahías Arosemena GESTIÓN DE ARCHIVOS Presentado por: Alba Arosemena Alma Vargas Hospicia Mendoza Roselvira Fernández Ahías Arosemena INTRODUCCIÓN En la mayoría de las aplicaciones, el archivo es el elemento central. La

Más detalles

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik Objetivos Objetivos Arquitecturas von Neumann Otras Unidad Central de Procesamiento (CPU) Responsabilidades Requisitos Partes de una CPU ALU Control & Decode Registros Electrónica y buses 2 Índice Capítulo

Más detalles

Usuario. Programas de Aplicación. Sistema Operativo. Hardware. Figura 1. Sistema de cómputo estructurado por capas.

Usuario. Programas de Aplicación. Sistema Operativo. Hardware. Figura 1. Sistema de cómputo estructurado por capas. Generalidades acerca de los sistemas operativos Hoy en día muchas personas, usan las computadoras de una forma muy fácil, muchos incluso creen que la máquina tiene incorporada todas las potencialidades

Más detalles

Sistemas Operativos. Introducción. Tema 6

Sistemas Operativos. Introducción. Tema 6 Sistemas Operativos Introducción Qué es un sistema operativo? Ubicación de un sistema operativo en un computador Descripción de un sistema operativo: Funcional Estructural Realización Funciones de los

Más detalles

Notas técnicas de JAVA Nro. 5 Tip en detalle

Notas técnicas de JAVA Nro. 5 Tip en detalle Tema: Notas técnicas de JAVA Nro. 5 Tip en detalle (Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado) Organización de memoria en JAVA Vs. Modelo Tradicional Descripción: Nivel: Java,

Más detalles

FUNDAMENTOS DE LOS SISTEMAS OPERATIVOS

FUNDAMENTOS DE LOS SISTEMAS OPERATIVOS SO. Tema 3 Trasp. Nº 1 FUNDAMENTOS DE LOS SISTEMAS OPERATIVOS Tema 3: El núcleo del Sistema Operativo Indice 1.- Introducción. 2.- Representación de procesos. 3.- Primer nivel de interrupción. 4.- Dispatcher

Más detalles

UNIVERSIDAD DE GUADALAJARA

UNIVERSIDAD DE GUADALAJARA UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE LOS ALTOS DIVISIÓN DE ESTUDIOS EN FORMACIONES SOCIALES LICENCIATURA: INGENIERÍA EN COMPUTACIÓN UNIDAD DE APRENDIZAJE POR OBJETIVOS ORGANIZACIÓN DE COMPUTADORAS

Más detalles

CENSOS NACIONALES 2007: XI DE POBLACION Y VI DE VIVIENDA SISTEMA DE CONSULTA DE RESULTADOS CENSALES GUÍA DEL USUARIO OFICINA TÉCNICA DE INFORMÁTICA

CENSOS NACIONALES 2007: XI DE POBLACION Y VI DE VIVIENDA SISTEMA DE CONSULTA DE RESULTADOS CENSALES GUÍA DEL USUARIO OFICINA TÉCNICA DE INFORMÁTICA CENSOS NACIONALES 2007: XI DE POBLACION Y VI DE VIVIENDA SISTEMA DE CONSULTA DE RESULTADOS CENSALES GUÍA DEL USUARIO OFICINA TÉCNICA DE INFORMÁTICA INDICE 1. PRESENTACIÓN DEL SISTEMA... 3 1.1 Presentación

Más detalles

Concurrencia y paralelismo

Concurrencia y paralelismo Introducción a los Sistemas Operativos Concurrencia y paralelismo 1. Ejecución de programas. Procesos. 2. Multiprogramación Bibliografía Silberschatz and Galvin Sistemas Operativos. Conceptos fundamentales.

Más detalles

Sistemas Operativos. Curso 2016 Sistema de Archivos

Sistemas Operativos. Curso 2016 Sistema de Archivos Sistemas Operativos Curso 2016 Sistema de Archivos Agenda Interfaz. Archivos. Directorios. Seguridad en archivos. Implementación. Definiciones. Sistema de archivos virtual. Estructura de los directorios.

Más detalles

Manejo de Entrada-Salida. Arquitectura de Computadoras

Manejo de Entrada-Salida. Arquitectura de Computadoras Manejo de Entrada-Salida Arquitectura de Computadoras Agenda 1.2.3.1Módulos de entrada/salida. 1.2.3.2Entrada/salida programada. 1.2.3.3Entrada/salida mediante interrupciones. 1.2.3.4Acceso directo a memoria.

Más detalles

Recopilación presentada por 1

Recopilación presentada por 1 Aula Aula de de Informática Informática del del Centro Centro de de Participación Participación Activa Activa para para Personas Personas Mayores Mayores de de El El Ejido Ejido (Almería). (Almería). Consejería

Más detalles

SISTEMAS OPERATIVOS Arquitectura de computadores

SISTEMAS OPERATIVOS Arquitectura de computadores SISTEMAS OPERATIVOS Arquitectura de computadores Erwin Meza Vega emezav@unicauca.edu.co Esta presentación tiene por objetivo mostrar los conceptos generales de la arquitectura de los computadores, necesarios

Más detalles

Instituto Tecnológico de Costa Rica

Instituto Tecnológico de Costa Rica Instituto Tecnológico de Costa Rica Escuela de Ingeniería en Electrónica Optimización del tiempo de ejecución de las pruebas aplicadas a los microprocesadores IA-32 e IA-64 Informe de Proyecto de Graduación

Más detalles

Velocidades Típicas de transferencia en Dispositivos I/O

Velocidades Típicas de transferencia en Dispositivos I/O Entradas Salidas Velocidades Típicas de transferencia en Dispositivos I/O Entradas/Salidas: Problemas Amplia variedad de periféricos Entrega de diferentes cantidades de datos Diferentes velocidades Variedad

Más detalles

Tema: Microprocesadores

Tema: Microprocesadores Universidad Nacional de Ingeniería Arquitectura de Maquinas I Unidad I: Introducción a los Microprocesadores y Microcontroladores. Tema: Microprocesadores Arq. de Computadora I Ing. Carlos Ortega H. 1

Más detalles

Práctica 5MODBUS: Bus Modbus

Práctica 5MODBUS: Bus Modbus Práctica 5MODBUS: Bus Modbus 1 Objetivos El objetivo de esta práctica es la utilización y la programación de una red Modbus. El alumno debe ser capaz de: Diferenciar los tres niveles fundamentales de la

Más detalles

Sistemas Operativos. Clase 2: Administración de procesos.

Sistemas Operativos. Clase 2: Administración de procesos. Sistemas Operativos Clase 2: Administración de procesos. Administración de procesos Un concepto muy importante en el ambiente de diseño de todo sistema operativo, es el de proceso o tarea. De manera general,

Más detalles

Tema 20 Gestión de memoria

Tema 20 Gestión de memoria Tema 20 Gestión de memoria Índice INTRODUCCIÓN 1 REQUISITOS DE LA GESTIÓN DE MEMORIA 2 ESTRUCTURA DE LA MEMORIA EN SO SIN MEMORIA VIRTUAL 2 Recubrimiento 3 MEMORIA VIRTUAL 4 Funcionamiento 4 Soporte del

Más detalles

Microprocesadores, Tema 2:

Microprocesadores, Tema 2: Microprocesadores, Tema 2: Introducción al Microcontrolador PIC18 Guillermo Carpintero, guiller@ing.uc3m.es Universidad Carlos III de Madrid Diagrama de bloques PIC microcontrollers: An introduction to

Más detalles

Práctica 3: El teclado del PC

Práctica 3: El teclado del PC Práctica 3: El teclado del PC Gustavo Romero López Arquitectura y Tecnología de Computadores 7 de junio de 2016 Gustavo Romero López Práctica 3: El teclado del PC 1 / 11 Objetivos Objetivos: Fuentes: Recordar

Más detalles

INTERRUPCIONES. Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset 32 F0 50 8A

INTERRUPCIONES. Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset 32 F0 50 8A Tres tipos de interrupciones: Internas (TRAPS) Externas (HARDWARE) Software Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset... 0000:0008

Más detalles

Capítulo 1. Sistemas de Asignación Contigua Basados en Particiones

Capítulo 1. Sistemas de Asignación Contigua Basados en Particiones Problemas Resueltos Capítulo 1. Sistemas de Asignación Contigua Basados en Particiones 1.- Notas y criterios para los problemas 2.- NOTA GENERAL: Tema 1 Introducción a la gestión de memoria. 3.- Problemas

Más detalles

Administración de la memoria

Administración de la memoria Administración de la memoria 1 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos - proveer mecanismos que eviten la interferencia

Más detalles

CICLOS DEL PROCESADOR

CICLOS DEL PROCESADOR UNIDAD DE CONTROL CICLOS DEL PROCESADOR Qué es un ciclo de búsqueda? Para qué sirve estudiar los ciclos de instrucción de una CPU? Para comprender el funcionamiento de la ejecución de instrucciones del

Más detalles

28/09/2012. Interfaz con Dispositivos de Salida. Interfaz con Dispositivos de Entrada. Port Mapped. Memory mapped. Interfaz con Dispositivos I/O

28/09/2012. Interfaz con Dispositivos de Salida. Interfaz con Dispositivos de Entrada. Port Mapped. Memory mapped. Interfaz con Dispositivos I/O Interfaz con Dispositivos I/O Interfaz con Dispositivos de Salida y Salida Unidad 4, Segunda Parte Port Mapped Memory mapped 1 2 Ejecución de la Instrucción OUT Ejecución de la instrucción OUT Dirección

Más detalles

Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato

Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato Bibliografía: William Stallings Organización y Arquitectura de computadores 5ta. Edition. Editorial Pearson Educación.- Objetivos:

Más detalles

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los

Más detalles

Estructura del Computador

Estructura del Computador Estructura del Computador 1 definiciones preliminares Estructura: es la forma en que los componentes están interrelacionados Función: la operación de cada componente individual como parte de la estructura.

Más detalles

Fecha de Introducción. Velocidad de reloj. Anchura del bus. Número de transistores. (microns) Memoria direccionable.

Fecha de Introducción. Velocidad de reloj. Anchura del bus. Número de transistores. (microns) Memoria direccionable. Los Microprocesadores MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Fecha de Introducción Velocidad de reloj Anchura del bus Número de transistores (microns) Memoria direccionable Evolución

Más detalles

Definición de Memoria

Definición de Memoria Arquitectura de Ordenadores Representación de Datos en Memoria Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Definición de Memoria DRM-1 La memoria

Más detalles

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

Tutoría 2. Banco de memoria de 8 y 16 bits (8086) Tutoría 2. Banco de memoria de 8 y 16 bits (8086) RESUMEN Cuando el procesador opera en modo mínimo, éste genera las señales de control para la memoria y los dispositivos de E/S. [1, pág. 292]. Para utilizar

Más detalles

CONTROL DE PROCESOS (LVPROSIM), MODELO 3674

CONTROL DE PROCESOS (LVPROSIM), MODELO 3674 Instrumentación y control de procesos SOFTWARE DE SIMULACIÓN Y DE CONTROL DE PROCESOS (LVPROSIM), MODELO 3674 DESCRIPCIÓN GENERAL El Software de simulación y de control de procesos (LVPROSIM) permite la

Más detalles

Tema 1: Arquitectura de ordenadores, hardware y software

Tema 1: Arquitectura de ordenadores, hardware y software Fundamentos de Informática Tema 1: Arquitectura de ordenadores, hardware y software 2010-11 Índice 1. Informática 2. Modelo de von Neumann 3. Sistemas operativos 2 1. Informática INFORMación automática

Más detalles

Introducción a los Sistemas Operativos

Introducción a los Sistemas Operativos Introducción a los Sistemas Operativos (primera parte) USB Agosto 2012 Introduccion Un ordenador moderno consiste de uno o más procesadores, alguna memoria principal, discos, impresoras, un teclado, una

Más detalles

Tema 5: La pila, las macros y los procedimientos

Tema 5: La pila, las macros y los procedimientos Tema 5: La pila, las macros y los procedimientos S La pila S Las macros S Definición de procedimientos S Tipos de procedimientos: NEAR y FAR S Paso de parámetros a un procedimiento S Mediante registros

Más detalles

Construyendo Programas más Complejos

Construyendo Programas más Complejos Arquitectura de Ordenadores Construcciones de Alto Nivel en Ensamblador Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Construyendo Programas más

Más detalles

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez Estructura de Microprocesadores PIC 18F4550 Administración de la memoria Profesor Ing. Johan Carvajal Godínez Contenidos Organización de la memoria del MCU Administración de la memoria de programa (Flash)

Más detalles

Organización del Computador I. Introducción e Historia

Organización del Computador I. Introducción e Historia Organización del Computador I Introducción e Historia Introducción Qué es una computadora? Stallings: Máquina digital electrónica programable para el tratamiento automático de la información, capaz de

Más detalles

Manejo de Entrada-Salida. Arquitectura de Computadoras

Manejo de Entrada-Salida. Arquitectura de Computadoras Manejo de Entrada-Salida Arquitectura de Computadoras Agenda 1.2.3.1Módulos de entrada/salida. 1.2.3.2Entrada/salida programada. 1.2.3.3Entrada/salida mediante interrupciones. 1.2.3.4Acceso directo a memoria.

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo rcoppo@uns.edu.ar Qué es un Objeto? Un objeto es una instancia de una clase Las clases actuán como modelos que permiten la creación

Más detalles

AUTOMATIZACIÓN INDUSTRIAL

AUTOMATIZACIÓN INDUSTRIAL Departamento de Ingenieria de Sistemas y Automática AUTOMATIZACIÓN INDUSTRIAL 1 AUTOMATIZACION INDUSTRIAL 2 AUTOMATIZACION INDUSTRIAL 3 AUTOMATAS PROGRAMABLES Surgen de la necesidad de controlar automáticamente

Más detalles

Tema 6. Administración de memoria

Tema 6. Administración de memoria Tema 6. Administración de memoria 1. Gestión de memoria real 2. Gestión de memoria virtual 1 1. Gestión de memoria real Ordenadores cada vez con más memoria Programas que cada vez ocupan más Gestor de

Más detalles

FUNDAMENTOS DE INFORMÁTICA. Principios Básicos de Sistemas Operativos. Definición de Sistema Operativo

FUNDAMENTOS DE INFORMÁTICA. Principios Básicos de Sistemas Operativos. Definición de Sistema Operativo UNIVERSIDADE DE VIGO ESCOLA TÉCNICA SUPERIOR DE ENXEÑEIROS INDUSTRIÁIS FUNDAMENTOS DE INFORMÁTICA Principios Básicos de Sistemas Operativos 1 Definición de Sistema Operativo Un sistema operativo es parte

Más detalles

Definición de Sistema Operativo

Definición de Sistema Operativo Definición de Sistema Operativo El sistema operativo es el programa (o software) más importante de un ordenador. Para que funcionen los otros programas, cada ordenador de uso general debe tener un sistema

Más detalles

Ensamblador. Introducción. Dpto. Física y Arquitectura de Computadores. Universidad Miguel Hernandez

Ensamblador. Introducción. Dpto. Física y Arquitectura de Computadores. Universidad Miguel Hernandez Dpto. Física y Arquitectura de Computadores Universidad Miguel Hernandez Es el lenguaje de más bajo nivel que admite una máquina. El ensamblador hace que el código binario(máquina sea transparente al usuario)

Más detalles

Informática Electrónica Manejadores de Dispositivos (Device Drivers)

Informática Electrónica Manejadores de Dispositivos (Device Drivers) Informática Electrónica Manejadores de Dispositivos (Device Drivers) DSI-EIE-FCEIA 2015 Que es un DD? Es una pieza de software que interactúa con (entre) el sistema operativo y con uno o mas dispositivos

Más detalles

Tema V Generación de Código

Tema V Generación de Código Tema V Generación de Código Una vez que se ha realizado la partición HW/SW y conocemos las operaciones que se van a implementar por hardware y software, debemos abordar el proceso de estas implementaciones.

Más detalles

TEMA 1: Concepto de ordenador

TEMA 1: Concepto de ordenador TEMA 1: Concepto de ordenador 1.1 Introducción Los ordenadores necesitan para su funcionamiento programas. Sin un programa un ordenador es completamente inútil. Para escribir estos programas necesitamos

Más detalles

Contenido TEMA 2 ENTRADA / SALIDA. Interfaz HW: buses del sistema. Interfaz HW de E/S

Contenido TEMA 2 ENTRADA / SALIDA. Interfaz HW: buses del sistema. Interfaz HW de E/S Contenido TEMA ENTRADA / SALIDA Sergio Romero Montiel Depto Arquitectura de Computadores El concepto de interfaz de E/S Direccionamiento de interfaces de E/S Mapa de memoria Organización Mapeada y no mapeada

Más detalles

Arquitectura de Computadores II

Arquitectura de Computadores II Facultad de Ingeniería Universidad de la República Instituto de Computación Temas Repaso de conceptos Microcontroladores CISC vs RISC CISC Complex Instruct Set Computers RISC Reduced Instruct Set Computers

Más detalles

Líneas de Responsabilidad y Funciones. para la Estructura de Puestos de Caja Rural de Teruel

Líneas de Responsabilidad y Funciones. para la Estructura de Puestos de Caja Rural de Teruel Líneas de Responsabilidad y Funciones para la Estructura de Puestos de Caja Rural de Teruel 1.- Director General: De acuerdo con las directrices marcadas por el Consejo Rector de la Entidad, establecer

Más detalles

El Diseño de un Lenguaje Máquina

El Diseño de un Lenguaje Máquina Arquitectura de Ordenadores Juego de Instrucciones del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática El Diseño de un Lenguaje

Más detalles

Qué es un programa informático?

Qué es un programa informático? Qué es un programa informático? Un programa informático es una serie de comandos ejecutados por el equipo. Sin embargo, el equipo sólo es capaz de procesar elementos binarios, es decir, una serie de 0s

Más detalles

Threads, SMP y Microkernels. Proceso

Threads, SMP y Microkernels. Proceso Threads, SMP y Microkernels Proceso Propiedad de los recursos a un proceso se le asigna un espacio de dirección virtual para guardar su imagen Calendarización/ejecución sigue una ruta de ejecución la cual

Más detalles