PREPARARSE PARA EL CENEVAL SOFTWARE DE BASE Créditos a: Con la ayuda de Francisco Zaragoza (UAM Azcapotzalco) Cargadores, ligadores, etc Trimestre Q9P.

Slides:



Advertisements
Presentaciones similares
Page 1 Macroensamblador José Andrés Vázquez Flores Verano 2016 FCC-BUAP.
Advertisements

COMPUTACION PARALELA GLORIA PATRICIA FLOREZ ANGIE PAOLA ANCHICO.
Clasificación del Software Prof. Laura Cardozo. Software Se denomina software, programática, equipamiento lógico o soporte lógico a todos los componentes.
PROGRAMACIÓN I CENTRO DE ESTUDIOS INTEGRADOS EL MARISCAL - CEIM Ing. Luisa Fernanda Arenas Castañeda Feb 6 de 2016.
Sistemas Operativos ➢ Que son? ➢ Que hacen? ➢ Por Juan O. Tejeda.
Prof. Mauro Zaravia Ortiz Computación e Informática.
Una estrategia para evitar la sucesiones repetidas de instrucciones convertir la secuencia en un procedimiento e invocarlo cada vez que se necesite.
PARTICIONES EN UN DISCO DURO Diagnóstico y Mantenimiento INTE 3020 Elena López 15/11/2013.
ITESCO – Arquitectura Computadoras L. S. C. A. Raúl Monforte Chulin - MORCH Systems 1.1. Arquitectura básica y sus operaciones. Objetivo: El estudiante.
Subtema: Hardware y Software básico
TERMINOLOGÍA BÁSICA Informática: conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático y racional de la información,
Hardware de Computador
Estructuras de interconexión de un computador
Menú Presentación Dispositivos de Salida Que es informática
Clasificación de Software
Parcial # 1 La Computadora.
Computadora La computadora es una máquina capaz de realizar y controlar a gran velocidad cálculos y procesos complicados que requieren una toma rápida.
Conceptos básicos de programación
Fundamentos de programación
¿Qué es una computadora?
LENGUAJES Y REPRESENTACION TECNICA
TEMA 7 HARDWARE TECNOLOGÍA 3º ESO ADELA GINER LARRAURI.
BASE DE DATOS NOMBRE: Natali Jovana García Toro. GARDO:7.3
ALGORITMOS, LENGUAJES Y TECNICAS DE PROGRAMACION
En la siguiente presentación veremos algunos términos que debemos conocer para iniciar la educación virtual.
CRE ATU PAGINA WEB CON HTML
Computadora La computadora es una máquina capaz de realizar y controlar a gran velocidad cálculos y procesos complicado que requieren una toma rápida de.
Tema 6. Conceptos básicos de programación Clase 1
Unidad de Procesamiento Central
Computación Curso 2017.
Cada maquina tiene un lenguaje ensamblador distinto
Rosalba María Delgado Martínez Tecnología en Gestión Administrativa
Unidad 3 Isai Galvan Alaniz
Hardware, software, y periféricos
EN QUÉ CONSISTE UNA COMPUTADORA
Tema 4 Elementos para el Desarrollo de Algoritmos
Unidad 1. Conceptos básicos
MENU SOFWARE Y HADWARE DISPOSITIVOS DE SALIDA DISPOSITIVOS DE ENTRADA
SISTEMAS OPERATIVOS.
Salir de la presentación
CUESTIONARIO INFORMATICO
Qué son y características generales
ORDENADORES Y EL SISTEMA COMPUTACIONAL
INFORMATICA BASICA BIENVENIDAS.
MEMORIAS. Alba Lus, Esther Escobar, Laura Hierro, Raquel Fdez.
PROGRAMACIÓN 1 INTRODUCCIÓN
Conceptos básicos.
Herramientas Entorno Web
Tecnologías de información
CONCEPTOS BÁSICOS DE COMPUTACIÓN E HISTORIA
.La Computadora. La computadora es una maquina capaz de realizar y controla a gran velocidad cálculos y procesos complicados que requieren una toma.
¿Qué es y qué hace un computador?
Introducción a la programación
Tipos de Datos abstractos
CURSO PROGRAMACIÓN BÁSICA SEMANA 2
Tema: Componentes lógicos de un ordenador. Mediante el sistema de numeración binario, es decir, usando los dígitos 0 y 1. Lo único que transmite,
Tipos de Datos abstractos
SISTEMAS OPERATIVOS.
MC Beatriz Beltrán Martínez Otoño 2017
La técnica como sistema, clases y sus elementos comunes
Arquitectura de ordenadores
Esmeralda, montse, martha, gloria
Centro Universitario UAEM Ecatepec Asignatura: Introducción al software base Licenciatura en informática Administrativa Lia 4to semestre Mtra. Patricia.
Estructura de los Sistemas Operativos Alumna:Arratea Almeyda Aracelli.
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
MC Beatriz Beltrán Martínez Otoño 2017
Componentes de una computadora
Estructura de un equipo microinformático
UNIDAD I Conocimiento de la computadora
ESTRUCTURA DE UNA PC.
Transcripción de la presentación:

PREPARARSE PARA EL CENEVAL SOFTWARE DE BASE Créditos a: Con la ayuda de Francisco Zaragoza (UAM Azcapotzalco) Cargadores, ligadores, etc Trimestre Q9P Introducción a los sistemas de cómputo. De los bits y compuertas al C y más allá. Mc Graw Hill.Revisión técnica M.C. Jesús García Fernández

CATEGORIAS DEL SOFTWARE ● SOFTWARE DE BASE ● SOFTWARE DE APLICACIÓN – Procesadores de texto – Hojas de cálculo – Navegadores, lectores de correo, etc,etc

Software de base una definicíon ● Existen otros programas que se consideran básicos para el uso de una ● computadora determinada independientemente de la aplicación que se ● le quiera dar. ● A estos los llamaremos software de base. ● La naturaleza de estos programas implica que su diseño está íntimamente ligado a la estructura de la máquina donde se ejecutan.

De lo que tú sabes cuáles podrán ser entonces ● Dependen de la máquina y hay que programar la máquina???? ● Espero tu respuesta

ejemplos ● Ensambladores. ● Cargadores. ● Ligadores. ● Macroprocesadores. ● Compiladores. ● Sistemas operativos.

Ensambladores ● Los ensambladores traducen instrucciones nemónicas a código máquina. ● La dependencia se debe a que los formatos de instrucciones, modos de direccionamiento, códigos de operación, etc., dependen por completo del procesador de la máquina. ¿Que te sugiere esta parte? ● A pesar de las diferencias, existen también muchas características del diseño de estos programas que no dependen del procesador empleado.¿Que te sugiere esto?

¿Que se debe considerar al trabajar con un ensamblador? ● La memoria consta de bytes de 8 bits. ● Tres bytes consecutivos forman una palabra (word) de 24 bits. ● Cada byte tiene una dirección de 15 bits. ● Esto significa que la memoria tiene 2 15 bytes. ● Cada palabra tiene como dirección la dirección de su primer byte.

¿tienes laptop o pc? ● ¿Cuántas direcciones tiene tu computadora? ● ¿Cuántas direcciones son posibles tener en tu celular? ● ¿Por qué te pregunto esto?

Organización de la memoria ● En este diagrama, cada cuadrito representa un byte de 8 bits y cada ● tres cuadritos consecutivos representan una palabra de 3 bytes. ● Es similar a un arreglo char mem[32768]

Hablemos de registros ● Tiene 5 registros de 24 bits, cada uno con un uso específico. ● Son similares a variables enteras int A,X,L,PC,SW

Empezamos a darle forma ● El registro PC contiene la dirección de la instrucción a ejecutar. ● El registro L almacena la dirección de regreso cuando se salta a una subrutina. ● El registro SW contiene información en sus bits (llamados banderas).

Tipos de datos ● Los enteros se almacenan como números ● binarios de 24 bits, usando el complemento a 2 para los valores negativos. ● Los caracteres se almacenan en ASCII usando 8 bits.

Instrucciones ● Todas las instrucciones de nuestra máquina tienen el siguiente formato de 24 bits,donde el bit de bandera x indica el modo de direccionamiento indexado y la D representa el campo de dirección:

Modos de direccionamiento ● Nuestra máquina tiene dos modos de direccionamiento. ● El modo queda indicado por la bandera x de la instrucción y ● determina la dirección objetivo con la que operará la instrucción. ● La dirección objetivo T se obtiene así

Como ayudar a identificar direccionamientos ● Si x = 0 tenemos direccionamiento directo. La instrucción D7 toma su operando de la dirección, T = D = 07D7 o 2007 en decimal, es decir, su operando es mem[2007]. ● Si x = 1 tenemos direccionamiento indexado. La instrucción D7 toma su operando de la dirección T = D+X = 07D7+X o 2007+X ● en decimal, es decir, su operando es mem[2007+X] que claramente depende del valor actual del registro X.

Por lo tanto ayuda saber los tipos de instrucciones ● Nuestra máquinita proporciona un conjunto básico de instrucciones que contiene los siguientes tipos: – Carga y almacenamiento. – Operaciones aritméticas. – Comparación. – Saltos condicionales. – Subrutinas. – Entrada y salida.

Déjame presentarte mis posibles máquinas ● La arquitectura de programa almacenado Von Neuman ● La arquitectura de un microcontrolador

Arquitectura de Von Neuman

El ciclo es

A detalle el ciclo de una instrucción

Te pregunto: ¿Este ciclo aplicará a nuestros modelos? ● Regresemos a nuestras arquitecturas ● Si por que ● No, por qué

Ensambladores y traductores ● Un ensamblador es un programa que traduce un código fuente en lenguaje ensamblador a un código objeto en lenguaje máquina de un cierto procesador. ● De forma más general, un traductor es un programa que traduce un código fuente escrito en un lenguaje fuente a un código objeto escrito en un lenguaje objeto.

Cont. ● Además, un ensamblador suele interpretar algunas directivas como las siguientes: –. indica el inicio de un comentario. – START indica el nombre y (dir. de inicio). – END indica fin y (dir. de primera instrucción). – BYTE genera constantes de bytes. – WORD genera constantes de un word. – RESB reserva el número indicado de bytes. – RESW reserva el número indicado de words.

Ejemplo de código fuente y objeto

Un ensamblador simple ● Cada renglón del código fuente puede contar con hasta cuatro campos distintos que están separados por espacios: etiqueta, instrucción, operando y comentario. ● La etiqueta también se llama símbolo. ● La instrucción puede ser un nemónico de la máquina o una directiva del ensamblador. ● El operando puede ser una constante o una etiqueta.

Funciones necesarias para traducir 1.Convertir las instrucciones nemónicas a sus equivalentes en lenguaje máquina. 2.Convertir los operandos símbolicos a sus direcciones de máquina equivalentes. 3.Construir o ensamblar las instrucciones de máquina en el formato adecuado. 4.Convertir las constantes en el código fuente a su representación interna de máquina. 5. Escribir el código objeto (y posiblemente también el listado de ensamblado).

Más observaciones ● Es por eso que la mayoría de los ensambladores hacen dos pasos lecturas por el código fuente. ● En el primero se asignan valores a todas las etiquetas y en el segundo se realizan la mayoría de las funciones antes descritas. ● Además el ensamblador debe de procesar las directivas, las cuales no se traducen en instrucciones, pero pueden influir en el código objeto.

Descripción general del primer paso

Descripción general del segundo paso

Código objeto ● El ensamblador debe de escribir el código objeto generado en algún dispositivo. ● En nuestro caso, el formato del código objeto tiene tres tipos de ● registros: – Registro de encabezado. – Registro de texto. – Registro de fin. ● Los detalles de estos registros son irrelevantes pero la información que contienen debe estar en alguna parte. ● No los vamos a mencionar

Cargadores, ligadores y traductores ● Un cargador es un programa de sistema que realiza la función de llevar un programa objeto a la memoria para su ejecución. ● Un ligador es un programa de sistema que combina dos o más programas objeto y proporciona la información necesaria para resolver las referencias entre ellos. ● Casi todos los traductores del mismo sistema generan código objeto en el mismo formato, así se usa el mismo cargador y ligador independientemente del lenguaje original.

Algoritmo para un cargador básico

Consideraciones prácticas ● En la práctica el código objeto se puede guardar en binario (y no en hexadecimal y ASCII como con otras máquinitas ). ● En este caso, cada byte en el código objeto corresponde con un byte en la memoria. ● Además, los formatos de registros deben cambiar puesto que cualquier byte puede formar parte de un registro (normalmente, los registros deberán indicar claramente su longitud en un encabezado).

Analizamos otro software de base SISTEMAS OPERATIVOS ● Sistemas operativos por su estructura interna ● Sistemas operativos por los servicios que ofrecen ● Sistemas operativos por la forma que ofrecen sus servicios. ● Adaptado de pdf

Por estructura ● Monolítica: primeros SO

Estructura jerárquica: ¿Qué sistemas operativos conoces en esta categoría?

Organización jerárquica

Máquina virtual

Máquina Virtual

Sistemas operativos por servicios

Monousuarios

Multiusuarios

Monotareas

Multitareas Un sistema operativo multitarea es aquél que le permite al usuario estar realizando varias labores al mismo tiempo. Por ejemplo, puede estar editando el código fuente de un programa durante su depuración mientras compila otro programa, a la vez que está recibiendo correo electrónico en un proceso en background. Es común encontrar en ellos interfaces gráficas orientadas al uso de menús y el ratón, lo cual permite un rápido intercambio entre las tareas para el usuario, mejorando su productividad.

Uniproceso y multiproceso

Sistemas operativos por servicios ● Sistemas operativos de red ● Sistemas operativos distribuidos ● Veamos al interior de los SO

QUE SE DESPRENDE DE TODO ESTO ● ADMINISTRAR MEMORIA ● ADMINISTRAR CPU ● ADMINISTRAR SISTEMA DE ARCHIVOS ● ¿PARA QUE? QUE SE BUSCA Y COMO SE DEFINE

QUE ES ● El sistema operativo (a veces también citado mediante su forma abreviada OS en inglés) se encarga de crear el vínculo entre los recursos materiales, el usuario y las aplicaciones (procesador de texto, videojuegos, etcétera). ● Cuando un programa desea acceder a un recurso material, no necesita enviar información específica a los dispositivos periféricos; ● simplemente envía la información al sistema operativo, el cual la transmite a los periféricos correspondientes a través de su driver (controlador). Si no existe ningún driver, cada programa debe reconocer y tener presente la comunicación con cada tipo de periférico.

EN BREVE

CARACTERISTICAS

BIEN ADENTRO núcleo o kernel software que constituye una parte fundamental del sistema operativo

LINUX

WINDOWS

ADMINISTRACION DE PROCESOS

GESTION DE MEMORIA

PARA ESTO ● Particiones continuas de tamaño fijo – Fragmentación Interna: Malgasta memoria principal. El espacio que se pierde en la partición da que el programa no llega a aprovechar el espacio de la partición. – Fragmentación Externa: Se produce cuando hay suficiente espacio libre pero no podemos asignar memoria a un proceso en espera porque las particiones vacías son muy pequeñas y las adecuadas no están vacías (en las particiones que los puedes juntar y tendrías espacios suficientes para ubicar otros procesos, pero que sin juntar estos espacios, no puedes inserta).

Particiones continuas de tamaño variable ● La memoria se crea las particiones que necesita el proceso. Se crean según el tamaño de los procesos que se ubicarán. Para evitar la fragmentación exterior, en este caso se hará servir la compactación para recorrer los datos, pero esto tiene un elevado costO de T. ● PAGINACIÓN

RECOMENDACION ● REVISAR PLAN DE ESTUDIOS EN PARTICULAR LOS MAPAS CONCEPTUALES