Download Conceptos y definiciones básicos en computación

Document related concepts

MIX (lenguaje de programación) wikipedia , lookup

Fortran wikipedia , lookup

Reduce wikipedia , lookup

Raspbian wikipedia , lookup

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