TP 0 - Implementación de codificador y estructura básica. BitsTranslation. 1.0

Documentos relacionados
Creacion de Script. Que es un Script?

FACULTAD DE INGENIERÍA, U.B.A. Seminario de Sistemas Embebidos TRABAJO PRÁCTICO 0

Introducción a las Redes de Computadoras. Obligatorio

INSTALACION MANUAL DE ECLIPSE EN UBUNTU

Olimpiada Internacional de Informática Julio de 2011, Ciudad de Pattaya, Tailandia Tareas de la Competencia Día 2 [COL] Español 1.0.

PowerPoint 2010 Hipervínculos y configuración de acciones

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

Microsoft Dynamics. Migración de FRx 6.7 a Management Reporter for Microsoft Dynamics ERP

Servicio de VPN de la Universidad de Salamanca

Instructivo para la conexión de docentes a la red Ceibal

Capítulo V. Implementación

MICQ. Trabajo Práctico Final Seminario de Ingeniería en Informática I Facultad de Ingeniería, UBA. Junio Cátedra: Pablo Cosso

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

CONECTANDO EL SOFTWARE EN REDES

MANUAL DE USUARIO AVMsorguar

Capítulo 9. Archivos de sintaxis

Gastos Reales Web Manual de Usuario

Preliminares. Tipos de variables y Expresiones

FUNDAMENTOS DE PROGRAMACION CON C#

SERVIDOR DEDICADO IPLAN

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada.

Tipos de conexiones de red en software de virtualizacio n: VirtualBox y VMware

Tutorial. Configuración del entorno de programación Code::Blocks.

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Manual del Usuario. Programa para el cálculo de los ángulos asociados a la geometría de iluminación y observación de la escena SAC-C MMRS. Versión 1.

Página Personal. Cómo guardar mi página personal con FileZilla

Universidad de Buenos Aires Facultad De Ingeniería. Compilando en GEANY. [75.40] Algoritmos y Programación I. 2do Cuatrimestre 2011

Formato para prácticas de laboratorio

SUPERINTENDENCIA DE INDUSTRIA Y COMERCIO DELEGATURA DE PROPIEDAD INDUSTRIAL DIVISIÓN DE SIGNOS DISTINTIVOS

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

Formato para prácticas de laboratorio

Capitulo 5. Implementación del sistema MDM

Servidor FTP en Ubuntu Juan Antonio Fañas

Manual de INTRANET. Introducción Objetivo de este Manual Convenciones y estándares a utilizar Convenciones de formato de texto...

G R U P O S INDICE Cómo crear una cuenta en ARQA? Cómo tener un grupo en ARQA? Secciones y funcionalidades de los grupos Configuración del grupo

En el presente capítulo se describe la programación del instrumento virtual y cómo

Manual de usuario servidor de archivos para El Colegio de la Frontera Sur

STYLE FOR MEX Premium- CAMIEF Manual de instalación y configuración.

MANUAL DE USUARIO. Webservice simple para la exportación rápida de información proveniente de una base de datos. Versión 0,1,1

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

Proyecto Fortalecimiento de las capacidades TIC en PyMEs y Gobiernos Locales mediante el uso de software libre Manual de Instalación Openbravo POS

Digitales Emitidos Versión 1.0

Una introducción al compilador C de GNU

Telnet Comunicaciones 1. Luis Alfredo da Silva Gregori Gonzalez Rhamin Elrhouate July 2014

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

Práctica 3 Manejo de GCC y ejecución de programas por consola. Computador Compilador Editor de texto o IDE

Familia de Windows Server 2003

AVA-SECSystemWeb. Introducción Características del producto Especificaciones Técnicas

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

Configuración de tarjeta NIC

(PHP y APACHE), y el programa de comunicación Skype, para controlar de manera

2_trabajar con calc I

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

Guía de acceso a Meff por Terminal Server

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

Introducción a Linux. El regreso a los años 70: la consola (III)

Guía de Aprendizaje No. 1

Lenguajes de Programación

ARQUITECTURA DE REDES Laboratorio

Servidor FTP. JEAN CARLOS FAMILIA Página 1

Teléfono SIP Aastra modelo 6731i CONTENIDO

(Soluciones ERPContable) Versión 3.0.n. Manual de instalación

NOTA DE APLICACIÓN AN-P002. Programando Wiring con NXProg

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

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2

Instructivo - Instalación y Uso de PDF Creator

CAPITULO 5 CASO DE ESTUDIO: ONTOLOGÍA PARA EL ANÁLISIS DE GRUPOS DE INVESTIGACIÓN (OAGI)

Enviar archivos mediante FTP

SCRAE Web: Sistema de Corrección y Revisión Automática de Exámenes a través de la WEB

osoftware para Aprendizaje de Sistemas Operativos IA-32 (en Windows de 32 Bits)

Guía de Instalación Proscai

Ejemplos básicos de webmathematica para profesores

LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO

Campus Virtual, Escuela de Ingeniería Mecánica Guía Estudiante

Adquisición de Datos usando Matlab

PROYECTO FINAL Manual de Configuración Organización: Juan Lomo

GUÍA BÁSICA USUARIO MOODLE 2.6

En la actualidad ASCII es un código de 8 bits, también conocido como ASCII extendido, que aumenta su capacidad con 128 caracteres adicionales

Bienvenido a los cursos InglesVirtual. Antes de descargar DynEd asegúrate que:

Comisión Nacional de Bancos y Seguros

CAPÍTULO 5 IMPLEMENTACIÓN DEL SISTEMA

[MANUAL PARA EL USO DE LOS KIOSCOS DE IMPRESIÓN DE LA FACULTAD DE ECONOMÍA]

Tema: INSTALACIÓN Y PARTICIONAMIENTO DE DISCOS DUROS.

Person IP CRM Manual MOBILE

Introducción a los sitios de SharePoint en Office 365

Instructivo para ingresar a la Demo On-Line de Manager2 GO!

POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA

DOCUMENTOS COMPARTIDOS CON GOOGLE DOCS

En este caso presionamos ENTER para empezar nuestra instalación

INSTRUCTIVO PARA LA PUESTA EN MARCHA DE LAS TERMINALES IP EN EL SISTEMA ACCESO

Guía del usuario - escan para Linux Servidor de archivo

IS23 Mantenimiento de Instalaciones Informáticas Práctica 6. Acceso remoto a ordenadores tipo PC

PRACTICA 9 SERVIDOR WEB APACHE SERVIDOR WEB APACHE. JEAN CARLOS FAMILIA Página 1

Transcripción:

TP 0 - Implementación de codificador y estructura básica. BitsTranslation. 1.0 Gabriel Ostrowsky, Padrón Nro. 90.762 gaby.ostro@gmail.com Juan Manuel Gonzalez Durand, Padrón Nro. 91.187 juanma.durand@gmail.com Leandro Ismael Gon Aguirre, Padrón Nro. 91.095 gonleandroismael@gmail.com 1er. Cuatrimestre de 2013 66.20 Organización de Computadoras Facultad de Ingeniería, Universidad de Buenos Aires Fecha de entrega: 15-04-2013 Resumen Este artículo explica el desarrollo e implementación en el lenguaje C, de una aplicación codificadora de archivos de texto a cadenas de bits y viceversa, para la asignatura 66.20 Organización de Computadoras de la Facultad de Ingeniería. Esta implementación posee un mínimo grado de portabilidad, ya que el comando se puede utilizar sobre una arquitectura MIPS, además de la plataforma Linux. Los flags del programa Bits- Translation que fueron implementados son: -h, --help Muestra la ayuda y sale del programa. -V, --version Muestra información de la versión y sale del programa. -r, --reverse Opción por default. Selecciona el uso del programa para decodificar una cadena de bytes de 0s y 1s en una frase de texto. -b, --binary Selecciona el uso del programa para codificar una frase de texto en una cadena de bytes de 0s y 1s. -i, --input Especifica el archivo del argumento como el texto de entrada a convertir. El argumento - será entendido para recibir el texto por stdin. -o, --output Especifica el archivo del argumento como el texto de salida de la converción. El argumento - será entendido para escribir el texto por stdout.

1. Introducción En este artículo encontrará las especificaciones de la implementación y ejecución del programa, ya sea en una plataforma Linux, o en el emulador GxEmul para la arquitectura MIPS. Finalmente se mostrarán algunas pruebas corridas para la verificación del producto terminado, y el código del programa en C, además de las conclusiones y bibliografía usada para el presente informe. 2. Diseño En esta sección se detallan algunas de las decisiones de diseño tomadas. Las mismas tienen en cuenta la ejecución por defecto y manejo de la información con un determinado formato. 2.1. Valores Por Defecto El primer aspecto a considerar será la ejecución del programa por defecto, sin especificar alguna o ninguna de las opciones disponibles. En principio, la conversión establecida implicita será la decodificación de una cadena de bits a texto, usando los estandares de Entrada y Salida. Al usarse cualquiera de las opciones por defecto, se avisará al usuario en modo de advertencia con el fin de explicitar, y así, aclarar las opciones que el programa ya tiene previamente configuradas. 2.2. Manejo de Archivos Binarios Otro aspecto interesante para el análisis, es el modo de guardado de la información y su futura lectura y conversión. Luego de convertir un archivo de texto o frase, se genera una cadena ininterrumpida de bits 0s y 1s, los cuales representan cada uno de los caracteres del texto en lenguaje binario del código Ascii. Hacemos hincapié en el formato de la cadena ininterrumpida, sin espacios ni nuevas lineas en los archivos binarios guardados para una futura lectura mas sencilla preservando tambien las cualidades de ser archivos binarios. De todas formas, el programa soportará entrada de archivos binarios que contengan espacios o nuevas lineas, aunque de suceder este escenario, no se podrá volver al formato origianl luego de una reconversión a binario. A modo informativo, no se aceptan archivos binarios con el siguiente formato: Cadenas de caracteres binarios con un largo distinto a una cantidad entera de bytes; Archivos binarios con caracteres inválidos. 1

3. Compilación y ejecución Para la ejecución del programa en la plataforma Linux es necesario obtener un archivo ejecutable a partir del código. Para esto se debe: Abrir una terminal. Navegar a la carpeta donde se encuentra el archivo que contiene al código del programa. Escribir el siguiente comando: gcc Wall main. c o B i t s T r a n s l a t i o n Luego, el programa en su versión más simple, se ejecuta de la siguiente forma:. / b i t s T r a n s l a t i o n utilizando Stdin y Stdout como la entrada y salida del texto a convertir. En este caso, la conversión se hace de una cadena binaria a texto, ya que la acción por defecto es --reverse. Además, la entrada de nuevas lineas por Stdin está soportado, por lo que para terminar de introducir texto al programa, se debe usar la combinación Ctrl+D especificando así el fin del archivo. 4. Emulador MIPS Para poder acceder al emulador GxEmul de la arquitectura MIPS, fue necesario realizar una conexión a modo de puente con el sistema de Linux a través de una IP determinada. Para esto se utilizó un instructivo escrito por la cátedra con los comandos específicos para la instalación y el acceso al emulador. Luego de realizar la conexión entre las dos plataformas, copiamos el archivo del programa y los archivos a convertir mediante el siguiente comando estando situados en la carpeta donde estan los archivos: scp P 2222 root@127. 0. 0. 1 : / Al usar *, el comando scp copia todos los archivos que se encuentran en la carpeta de donde se ejecuta. Y el parametro root@127.0.0.1:/ asigna la dirección donde se copiarán los archivos, que en este caso es en el directorio root de la sesión que corre en GxEmul. Por último, para obtener el ejecutable y correr el programa, se utilizan los comandos explicados en la sección anterior. 2

Figura 1: Compilación y ejecución del programa en el emulador MIPS 5. Pruebas En esta sección mostramos algunas pruebas de la aplicación con los diferentes modos de uso, reportando errores cuando corresponde. 5.1. Modo Help y Version En la imagen que se muestra abajo, se puede observar los mensajes informativos de ayuda y de version del programa. Cabe destacar, que la opción de --help es preferencial sobre cualquier otra opción también especificada. 3

Figura 2: Ejecución de Help y Versión del programa 5.2. Conversión root@ : / usr / orga# cat i n p u t F i l e test. root@ : / usr / orga#. / b i t s T r a n s l a t i o n i i n p u t F i l e b o o u t p u t b i t s Text t o Binary mode Text encoded s u c c e s s f u l l y. root@ : / usr / orga# cat o u t p u t b i t s 0111010001100101011100110111010000101110 root@ : / usr / orga#. / b i t s T r a n s l a t i o n i o u t p u t b i t s output decodedfile Using d e f a u l t r e v e r s e a c t i o n... Binary t o Text mode Text decoded s u c c e s s f u l l y. 4

root@ : / usr / orga# d i f f i n p u t F i l e decodedfile root@ : / usr / orga# echo $? 0 root@ : / usr / orga# Figura 3: Ejecución del programa con error de archivo input 5

5.3. Errores Figura 4: Ejecución del programa con error de archivo input Figura 5: Ejecución del programa con errores en archivo binario 6

6. Conclusiones A partir del desarrollo de una aplicación, se pudo llegar a la familiarización con las herramientas usadas en una plataforma Linux, y su conexión y acceso con el emulador GxEmul de la arquitectura MIPS. De esta forma, se pudo desarrollar una aplicación con una mínima portabilidad entre plataformas, aceptando también algunas banderas a evaluar y eligiendo el tipo de entrada y salida. Referencias [1] Nikos Drakos, Manual de Latex, 1994, Computer Based Learning Unit, University of Leeds, http://www.fceia.unr.edu.ar/lcc/cdrom/instalaciones/latex/latex.html. [2] J. L. Hennessy and D. A. Patterson, Computer Architecture. A Quantitative Approach, 3ra Edición, Morgan Kaufmann Publishers, 2000. [3] Curso Práctica Organización de Computadoras, Instructivo GXEmul y NetBSD, Univ. de Buenos Aires, 2010,. [4] Free Software Foundation, Core GNU utilities manual, 2011, http://www.gnu.org/software/libc/manual/html node/getopt.html. 7