Download Conceptos y definiciones básicos en computación
Document related concepts
Transcript
UNIVERSIDAD MICHOACANA DE SAN NICOLÁS DE HIDALGO FACULTAD DE INGENIERIA ELECTRICA Laboratorio de Herramientas Computacionales R.M.J. Conceptos y definiciones básicos en computación Lab.Juárez Herramientas Computacionales M.I. Rosalía Mora 1 SEPTIEMBRE DE 2011 OBJETIVO Conocer los conceptos básicos que se emplean en computación. Conocer las definiciones típicas que se usan en computación. Reflexionar sobre la importancia de aprender éstos conceptos y definiciones. R.M.J. Lab. Herramientas Computacionales 2 CONCEPTOS Y DEFINICIONES Hardware Software Bit Byte Palabra Datos Codificación Instrucción Programa Sistema operativo Lenguaje de programación R.M.J. Lenguaje máquina Lenguaje ensamblador Código objeto Código fuente Traductores Compilador Interprete Interfaz Drivers Ejecutable Aplicaciones Lab. Herramientas Computacionales 3 DEFINICIONES Computación ? Programación ? Informática ? http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=cultura R.M.J. Lab. Herramientas Computacionales 4 Hardware Software Soporte lógico Conjunto de programas que pueden ser ejecutados por la computadora. Soporte físico Conjunto de circuitos electrónicos, cables, gabinetes, dispositivos, electromagnéticos, electromecánicos y otros elementos físicos que conforman la computadora. R.M.J. Del sistema operativo De utilidades o librerías De los usuarios (aplicaciones) Lab. Herramientas Computacionales 5 Bit es el acrónimo de Binary digit. (dígito binario). Un bit es un dígito del sistema de numeración binario. Mientras que en el sistema de numeración decimal se usan diez dígitos, en el binario se usan sólo dos dígitos, el 0 y el 1. Un bit o dígito binario puede representar solamente dos valores: 0 1 bit es la unidad mínima de información empleada en computación, El en cualquier dispositivo digital, o en la teoría de la información. apagado R.M.J. encendido Con él, podemos representar dos valores como: verdadero o falso, abierto o cerrado. Lab. Herramientas Computacionales 6 conversión de un número decimal a binario Para obtener de un número decimal su representación en el sistema binario, debemos dividir el número entre 2, y seguir igual con cada residuo de cada una de las divisiones. El resultado deberá de leer de derecha a izquierda para componer el número binario. R.M.J. Lab. Herramientas Computacionales 7 conversión de un número binario a decimal Para transformar un número representado como binario en decimal multiplicamos cada cifra del binario por 2 elevado a una potencia que ira disminuyendo hasta llegar a cero. Para determinar la primer potencia contamos las cifras del binario (5 en este caso) y disminuimos dicho número en 1 unidad R.M.J. Lab. Herramientas Computacionales 8 35 10 0101101 2 R.M.J. 100112 19 10 1000112 7 10 000001112 45 10 Lab. Herramientas Computacionales 9 Byte Una secuencia contigua de un número de bits fijo. Un byte es la secuencia de 8 bits 1B 00110110 Representar un carácter Letra Número A a 1 .. 9 Símbolo $ R.M.J. * Ideograma Unidad de memoria En arquitectura de computadoras, se usan para indicar las unidades de memoria u otras unidades de datos que comprenden hasta 8 bits de ancho, o para referirse a una arquitectura de CPU y ALU basadas en registros, bus de direcciones o bus de datos de ese ancho. Lab. Herramientas Computacionales 10 Representación de caracteres ASCII en binario. R.M.J. Lab. Herramientas Computacionales 11 Ñ @ R.M.J. Lab. Herramientas Computacionales 12 los prefijos usados para medidas de bytes se basan en potencias de 1024 (210), mientras que los prefijos del SI se basan en potencias de 1000 (103). Consultar también Prefijo binario. R.M.J. Lab. Herramientas Computacionales 13 Palabra Una palabra es una cadena finita de bits que son manejados por la computadora como un conjunto. El tamaño o longitud de una palabra hace referencia al número de bits contenidos en ella. Las palabras se utilizan para indicar: Diagrama simplificado de una memoria principal de 256 palabras Números enteros Números de coma flotante Direcciones de memoria Transferencia Memoria-Procesador Instrucciones R.M.J. Lab. Herramientas Computacionales 14 En arquitectura de computadoras la longitud de una palabra se refleja en: La mayoría de los registros normalmente tienen el tamaño de la palabra. La cantidad de datos transferidos entre la CPU y el sistema de memoria, por lo general es más de una palabra por ciclo. Una dirección utilizada para designar una localización de memoria a menudo ocupa una palabra. Los procesadores modernos normalmente tienen un tamaño de palabra de 16, 32 ó 64 bits. (por ejemplo: Intel Pentium y AMD Athlon). R.M.J. Lab. Herramientas Computacionales 15 Datos Conjunto de símbolos utilizados para expresar o representar un valor numérico, un hecho, un objeto, o una idea. R.M.J. Codificación Es una transformación que representa los elementos de un conjunto mediante los de otro, de forma tal que a cada elemento del primer conjunto le corresponda un elemento distinto del segundo. Lab. Herramientas Computacionales 16 Instrucción Conjunto de símbolos que representa una orden de operación o tratamiento para la computadora. De transferencia de datos De flujo de control De bifurcación o saltos R.M.J. Lab. Herramientas Computacionales 17 Programa R.M.J. Conjunto ordenado de instrucciones que se le dan a la computadora, indicándole las operaciones o tareas que se desea realice. Lab. Herramientas Computacionales 18 Sistema Operativo Es el código que controla todos los elementos del sistema, y está compuesto por un conjunto de programas que realizan la administración entre los dispositivos periféricos (hardware) y la comunicación con las aplicaciones para usuario (software). Administrar recursos software (aplicaciones, archivos, tareas, etc). Administrar la memoria. Gestionar el uso de la CPU (planificación). Administrar el uso de los dispositivos de entrada y salida R.M.J. Lab. Herramientas Computacionales 19 R.M.J. Lab. Herramientas Computacionales 20 R.M.J. Lab. Herramientas Computacionales 21 R.M.J. Lab. Herramientas Computacionales 22 % de preferencia de usuarios de SO´s (2008) R.M.J. R.M.J. Laboratorio de Herramientas Computacionales Lab. Herramientas Computacionales 23 R.M.J. Lab. Herramientas Computacionales 24 R.M.J. Lab. Herramientas Computacionales 25 R.M.J. Lab. Herramientas Computacionales 26 Lenguaje de programación Clasificación Conjunto de símbolos y reglas sintácticas y semánticas que se utilizan para construir o redactar con ellos un programa. Nivel de abstracción De bajo nivel De nivel intermedio De alto nivel Forma de ejecución Compilados Interpretados Paradigma de programación R.M.J. Imperativos Funcionales Lógicos Orientados a Objetos Lab. Herramientas Computacionales 1 R.M.J. Lab. Herramientas Computacionales 2 Lenguaje máquina Generalmente se refiere al lenguaje de más bajo nivel que pueden “entender” una computadora, o un microprocesador o una supercomputadora. El lenguaje máquina se escribe en la forma de código objeto. Este lenguaje no puede ser escrito o leído usando un editor de texto, y es necesario conocer en detalle la arquitectura de la máquina, ya que hay un lenguaje para cada tipo o familia de procesadores. http://www.youtube.com/watch?v=jGFEC8 cgo0o&feature=related R.M.J. Lab. Herramientas Computacionales 3 Lenguajeensamblador ensamblador consiste en una serie de Un programa escrito en lenguaje instrucciones que corresponden al flujo de órdenes ejecutables que pueden ser cargadas en la memoria de una computadora. Ejemplo: Un procesador x86 puede ejecutar la siguiente instrucción binaria como se expresa en código de máquina: 10110000 01100001 0xb061 Binario Hexadecimal La representación equivalente en lenguaje ensamblador es más entendible: MOV al, 061h Esta instrucción significa: Mueva el valor hexadecimal 61 (97 decimal) al registro "al" R.M.J. Lab. Herramientas Computacionales 4 Código Fuente R.M.J. Código Objeto Lab. Herramientas Computacionales 5 Traductores Los traductores son programas cuya función es convertir el código de un lenguaje en otro tipo de lenguaje. Ensambladores Preprocesadores Lenguaje ensamblador Lenguaje máquina Lenguaje de alto nivel a otro intermedio, cuando el primero no puede pasar a lenguaje máquina directamente Intérpretes Compiladores R.M.J. Lab. Herramientas Computacionales 6 Compilador Es el elemento que se encarga de realizar la traducción de las instrucciones de un lenguaje fuente a otro diferente (lenguaje objeto). Los compiladores se instalan en la memoria de la computadora y quedan bajo la orden del sistema operativo El compilador traduce todo el programa antes de ejecutarlo. Como parte importante de este proceso de traducción, el compilador informa de la presencia de errores en el programa fuente si es que las hubiera. Para cada lenguaje programación se requiere compilador adecuado. R.M.J. Lab. Herramientas Computacionales de un 7 Interprete (Parser). Es el elemento que se encarga de leer una a una las instrucciones textuales de un programa conforme estas necesitan ser ejecutadas y descomponerlas en instrucciones del sistema (CPU). Ejecuta instrucciones una a una, sin necesidad de leer primero todo el código. Automatizar algunas tareas como declaraciones de variables o dependencias, lo que agiliza el proceso de traducción. No informa de la presencia de errores en programa. R.M.J. La principal ventaja de un lenguaje interpretado es que es independiente de la máquina y del sistema operativo ya que no contiene instrucciones propias para un procesador, sino que contiene llamadas a funciones que el interprete reconoce. Basta que exista un interprete de un lenguaje para dicho sistema y todos los programas escrito en ese lenguaje funcionaran. Lab. Herramientas Computacionales 8 Script Es es un guión o conjunto de instrucciones que permiten la automatización de tareas, creando pequeñas utilidades. Los scripts son ejecutados por un intérprete de línea de comandos y usualmente son archivos de texto. Los scripts se han utilizado para la administración de sistemas UNIX. Los programas escritos mediante lenguajes interpretados se suelen llamarse también scripts, aunque no todos los scripts están hechos en lenguajes interpretados ya que algunos realizan la fase de compilado (de una manera transparente al usuario) como es el caso de JavaScript. Los lenguajes interpretados más famosos en al actualidad son PHP, ASP, Perl, Python y Bash R.M.J. Lab. Herramientas Computacionales 9 . Investiga el nombre de los lenguajes de programación más conocidos (al menos 10) y luego clasifícalos de acuerdo con su forma de ejecución. R.M.J. Lab. Herramientas Computacionales 10 Interfaz Conjunto de elementos adaptadores que sirven de comunicación entre dos programas o módulos. Interfaz entre dos programas Interfaz de usuario: conjunto de instrucciones que hace que un programa o aplicación intercambie información con el usuario de manera “amigable”. R.M.J. Lab. Herramientas Computacionales 11 Ejecutable Driver Son programas diseñados para que los usuarios los apliquen sin necesidad de conocer su código fuente. Son leídos y ejecutados automáticamente por el sistema operativo .exe ./nombre_archivo R.M.J. También se les llama controladores. Son programas que complementarán al sistema operativo para que el CPU pueda reconocer y entablar comunicación con los dispositivos periféricos. Cada fabricante de periféricos proporciona un software que se acopla al kernel para que el dispositivo funcione. Lab. Herramientas Computacionales 12 Aplicación Web Aplicación local Es el software diseñado para residir en el disco duro de una computadora. Cuando se instala una aplicación local, sus archivos son colocados en los directorios adecuados del disco duro para después ser ejecutada. R.M.J. Es software que se consulta por medio de un navegador Web, en lugar de funcionar en forma local, gran parte del código del programa se ejecuta en una computadora remota conectada a la red Internet. Lab. Herramientas Computacionales 13 Para conocer más http://es.wikipedia.org/wiki/Bit http://es.wikipedia.org/wiki/Codificaci%C3%B3n_de_caracteres http://es.wikipedia.org/wiki/Palabra_(inform%C3%A1tica http://es.wikipedia.org/wiki/Sistema_operativo R.M.J. Lab. Herramientas Computacionales 14