fundamentos de informática tema i introducciónjgr/docencia/intro.pdf · contenido 1 el ordenador...
TRANSCRIPT
Fundamentos de informáticaTema I
Introducción
Julio Garralón Ruiz
Departamento de Lenguajes y Ciencias de la ComputaciónEscuela Politécnica Superior
Universidad de Málaga
2013/2014
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 1/ 61
Contenido
1 El ordenador como sistema2 Sistemas de numeración posicionales
El sistema binarioConversiones
3 CodificaciónCodificaciones de caracteresCodificaciones numéricas
4 Componentes de un ordenadorLa componente físicaLa componente lógica
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 2/ 61
El ordenador como sistemaInformática (según la R.A.E.L.)
Conjunto de conocimientos científicos y técnicos que posibilitanel tratamiento automático de la información.
Ordenador (según la R.A.E.L.)
Máquina capaz de tratar información de forma automática bajoel control de un programa.
Ordenador+
programaInform. en bruto Inform. elaborada
cantidades,hechos, ideas...
cálculos,documentos...
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 3/ 61
El ordenador como sistemaDefiniciones
Programa
Secuencia de instrucciones no ambigüas que resuelve unatarea que puede ser interpretada y ejecutada en un ordenador.
ProgramadorPersona que desarrolla programas.
UsuarioPersona que utiliza el ordenador con programas ya desarrolla-dos.
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 4/ 61
El ordenador como sistemaOrdenadores analógicos
Ordenadores que almacenan y procesan la información uti-lizando directamente magnitudes físicas continuas.
Ordenadores digitales
Ordenadores que almacenan y procesan la información, previa-mente codificada, utilizando magnitudes físicas discretas.
Bitsmagnitudes
on/offdatos en bruto datos elaborados
números, texto cálculos,documentos...
codificación decodificación
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 5/ 61
Sistemas de numeración posicionalesSistema de numeraciónConjunto de símbolos (cifras) que representan cantidades y re-glas que permiten operar fácilmente con ellas.
NúmeroConcatenación de cifras (o dígitos) que representan de formaúnica una cantidad.
Sistema de numeración posicionalEl valor representado depende del conjunto de cifras y su posi-ción dentro del número.
Las posiciones (implícitas) son números enteros, positivos a laizquierda y negativos a la derecha del punto decimal:
... d3 d2 d1 d0 . d−1 d−2 d−3 ...
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 6/ 61
Sistemas de numeración posicionalesEjemplo: número 724.15
7 → d22 → d14 → d01 → d−15 → d−2
Cada posición se asocia a un peso según el vector de pesos( ... p3 p2 p1 p0 p−1 p−2 p−3 ... )
El valor del número es la suma:...d3p3+d2p2+d1p1+d0p0+d−1p−1+d−2p−2+d−3p−3+ ...
Son usuales los vectores de pesos que son potencias enterasde una base ∈ N :
( ... b3 b2 b1 b0 b−1 b−2 b−3 ... )
Las potencias coinciden con las posiciones de cada dígito.
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 7/ 61
Sistemas de numeración posicionalesBase decimal: 724.15(10
7 · 102 + 2 · 101 + 4 · 100 + 1 · 10−1 + 5 · 10−2 =
700 + 20 + 4 + 0.1 + 0.05 =
724.15
Base 7: 624.15(7
6 · 72 + 2 · 71 + 4 · 70 + 1 · 7−1 + 5 · 7−2 =
294 + 14 + 4 + 0.142857143 + 0.102040816 =
312.244897959
Base binaria: 101.101(2
1 · 22 + 0 · 21 + 1 · 20 + 1 · 2−1 + 0 · 2−2 + 1 · 2−3 =
4 + 0 + 1 + 0.5 + 0 + 0.125 =
5.625
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 8/ 61
Sistemas de numeración posicionalesEjemplo: una apuesta de quiniela (14 partidos a 1, X, 2):
11X2X11X21X112 → 11020110210112(3
2x30 + 31 + 32 + 34 + 2x35 +
37 + 38 + 2x310 + 312 + 313
= 2253191(10
¿Cómo se decodifica la apuesta 3351253? ¿Y la5782969?En informática son habituales:Sistema Pesos Cifrasbinario 2i { 0, 1 } ← binary digitsoctal 8i { 0, 1, 2, 3, 4, 5, 6, 7 }hexadecimal 16i { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
A, B, C, D, E, F}
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 9/ 61
Sistema binarioVector de pesos
Pesos enteros Pesos fraccionarios Los primeros
20 121 222 423 824 1625 3226 6427 12828 25629 512210 1024
2−1 0.52−2 0.252−3 0.1252−4 0.0625
0 01 12 103 114 1005 1016 1107 1118 10009 1001
10 1010
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 10/ 61
Sistema binarioConversiones
Desde cualquier base, b, a decimal:∑∞
i=−∞ bidi
10100.001(2 → 20.125C8A7.F(16 → 51367.9375
Desde decimal a otra base, b:Parte entera: restos de divisiones sucesivas por la base.Parte fraccionaria: partes enteras de multiplicacionessucesivas por la base.
26.1875 → 11010.0011(274.423 → 1001010.01101...(20.2 → 0.0011(20.48 → 0.25140(60.3 → 0.1(40.3 → 0.2(6
¡Ojo!0.9 ≡ 10.5(6 ≡ 1(61.5(6 ≡ 2(6
Entre bases no decimales: a través de base decimal.
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 11/ 61
Sistema binarioConversiones rápidas
Hexadec. Binario Octal Decimal=162 28 256
27 128=26 82 64
25 32=161 24 16
=23 81 822 421 2
= =160 20 80 12−1 0.52−2 0.25
=2−3 8−1 0.125=16−1 2−4 0.0625
Observación:16 = 2 4 ∈ N
8 = 2 3 ∈ N
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 12/ 61
Sistema binarioConversiones rápidas
En general, si
b1 = bk2
1 dígito en base b1 ↔ k dígitos en base b2
Ejemplos:2746.16(8 ↔ 10111100110.00111(2
5E6.38(16 ↔ 10111100110.00111(2
113212.03(4 ↔ 10111100110.00111(2
765.38(9 ↔ 212012.1022(3
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 13/ 61
Sistema binarioOperaciones lógicas
UnariasBit NOT0 11 0
BinariasBit 1 Bit 2 AND NAND OR NOR XOR
0 0 0 1 0 1 00 1 0 1 1 0 11 0 0 1 1 0 11 1 1 0 1 0 0
Ejemplos con números binarios:
NOT 1010011(2 → 101100(21010011(2 AND 11001(2 → 10001(21010011(2 XOR 11001(2 → 1010(2
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 14/ 61
CodificaciónConcepto
CodificaciónCualquier correspondencia biunívoca entre los elementos de 2conjuntos que permita su decodificación.
Codificación binariaCodificación que utiliza el conjunto de bits {0, 1}.
A tener en cuenta:
Con n bits se codifican 2n elementos.Para codificar m elementos se necesitan dlog2me bits.
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 15/ 61
CodificaciónCodificación binaria
Ejemplos
bits0/1
26 letrasa, b... z
10 dígitos0, 1... 9
dlog2 26e → 5 bitsa 00001b 00010c 00011... ...z 11010
dlog2 10e → 4 bits0 00001 00012 0010... ...9 1001
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 16/ 61
CodificaciónPrefijos binarios
Es habitual utilizar prefijos de origen griego:Prefijos SI Prefijos IEC
tradicionales binarios modernoskilo- 103 kibi- 210 = 1 024mega- 106 mebi- 220 = 1 048 576giga- 109 gibi- 230 = 1 073 741 824tera- 1012 tebi- 240 = 1 099 511 627 776peta- 1015 pebi- 250 = 1 125 899 906 842 624exa- 1018 exbi- 260 = 1 152 921 504 606 846 976
La equivalencia es aproximada, pero no exacta.
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 17/ 61
CodificaciónCodificaciones de caracteres
CarácterSímbolo mínimo que representa información legible.
ByteNúmero de bits necesario para codificar un carácter.
Codificaciones estándares:
ASCII, de 7 bits cada carácter.ASCII extendido: Latin-1, Latin-9, de 8 bits.UCS, de 2 bytes (16 bits).UTF-8, de 1 a 4 bytes.UTF-16, de 1 o 2 palabras de 2 bytes.UTF-32, 4 bytes.
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 18/ 61
1 byte → 1 octeto (8 bits)
CodificaciónCódigo ASCII
American Standard Code for Information Interchange0 1 2 3 4 5 6 7
0 <NUL> <DLE> <SP> 0 @ P ` p1 <SOH> <DC1> ! 1 A Q a q2 <STX> <DC2> " 2 B R b r3 <ETX> <DC3> # 3 C S c s4 <EOT> <DC4> $ 4 D T d t5 <ENQ> <NAK> % 5 E U e u6 <ACK> <SYN> & 6 F V f v7 <BEL> <ETB> ’ 7 G W g w8 <BS> <CAN> ( 8 H X h x9 <HT> <EM> ) 9 I Y i yA <LF> <SUB> * : J Z j zB <VT> <ESC> + ; K [ k {C <FF> <FS> , < L \ l |D <CR> <GS> - = M ] m }E <SO> <RS> . > N ^ n ~F <SI> <US> / ? O _ o <DEL>
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 19/ 61
CodificaciónCodificaciones numéricas
Números enteros
Binario puro: +24 00011000
Signo-magnitud: -24 10011000
Complemento a 1: -24 11100111
Complemento a 2: -24 11101000
En exceso de 127: -24 01100111
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 20/ 61
El número de bits determinael rango de valores.
CodificaciónCodificaciones numéricas
Números reales en coma fija
Según el valor, pueden sobrar bits: +11000.01
0signo
00011000p. entera
01000000p. fraccionaria
O pueden faltar bits: -0.000011011011
1signo
00000000p. entera
00001101p. fraccionaria
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 21/ 61
CodificaciónCodificaciones numéricas
Números reales en coma flotante
Formato: mantisa * baseexponente
El punto decimal flota hasta el primer bit significativo.La mantisa contiene los bits significativos.El exponente contiene el número de posiciones flotadas.
El punto puede flotar a la derecha o a la izquierda:+11000.0 = +0.11 * 25
0signo-m
11000000mantisa
0signo-e
0101exponente
-0.000011011011 = -0.11011011 * 2−4
1signo-m
11011011mantisa
1signo-e
0100exponente
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 22/ 61
Componentes de un ordenadorSoporte físico o hardware. Elementos tangibles.
Soporte lógico o software. Programas y datos.void Intercambiar(int v[], int k){int temporal;temporal = v[k];v[k] = v[k+1];v[k+1] = temporal;}
000010101010101001010101010001110101010100000101000010101010101011101011010111001100101111111010
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 23/ 61
La componente físicaLa placa madre
Microprocesador
Slots para RAM
Buses de E/S
Puertos de E/S
E/S Disco Duro
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 24/ 61
La componente físicaLa Arquitectura von Neumann
Es una arquitectura ideal, basada en el famoso informe deJohn von Neumann: First Draft of a Report on the EDVACde 1945, de la Universidad de Pennsylvania.
Características principales:1 Concepto programa almacenado.2 Lógica binaria (George Boole).3 División en 3 unidades funcionales (Charles Babbage):
Unidad de procesamiento (UCP).Memoria principal (MP).Subsistema de entrada/salida (ES).
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 25/ 61
La componente físicaLa Arquitectura von Neumann
Unidad deprocesamiento
Buses Memoriadatos +
instrucciones
interfaz E/S
pantallateclado disco
Subsistema de E/S
mundoelectrónico
mundoexterno
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 26/ 61
La componente físicaLa Unidad Central de Procesamiento
UnidadArit-Log
Unidadde
ControlCP 0C02
RI 10110001...
M1 BC03...
D1 00110010...
AC 10100100
Registros... bus control
bus direcciones
bus datos
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 27/ 61
La componente físicaLos buses
Tipos según número de canales (hilos):Serie: bits sucesivos en un solo canal.Más lentos, habituales en dispositivos: USB, Firewire.Paralelos: bits simultáneos en grupos: 8, 16, 32...Más rápidos, habituales en la placa madre: PCI, IDE, AGP.
Tipos según su contenido:De control: señales que pone la UCP.De direcciones: posiciones de memoria que pone la UCP.De datos: datos que pone la UCP o la memoria.
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 28/ 61
La componente físicaLa memoria
Principal o internaTecnología electrónica.Alta velocidad, pero volátil.Coste alto: capacidad limitada.Directamente accesible por la UCP.Acceso aleatorio.
Secundaria, masiva o externaVarias tecnologías: electrónica, óptica, magnética.Velocidad baja, pero permanente.Coste bajo: gran capacidad.Necesidad de circuitería interfaz: controladores.Acceso secuencial, por bloques...
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 29/ 61
La componente físicaOrganización de la Memoria Principal
... ...
00110000 0C01
11011011 0C02
11010111 0C03
01010001 0C04
... ...
00111101 BC01
10111011 BC02
00110101 BC03
01111101 BC04... ...
MP mapa
2n palabras
control R/W
direcciones
datos
n
mU.C.P.
long. palabra
m bits
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 30/ 61
La componente físicaEl Subsistema de Entrada/Salida
Unidad deprocesamiento
Buses Memoriadatos +
instrucciones
Adaptador
Bus de E/S
Contr. ES
pantalla
Contr. ES
teclado
Contr. ES
disco
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 31/ 61
La componente físicaTipos de instrucciones
Intrucciones de tratamiento:Aritmético: el resultado es un número.Lógico: el resultado es true o false.
Intrucciones de transferencia de datosregistros <-> memoria.registros <-> e/s.memoria <-> memoria.memoria <-> e/s.
Intrucciones de control de flujoDecisiones.Repeticiones.
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 32/ 61
Dentro de la UCP.
Involucran los buses.
Involucran al C.P.
La componente físicaEl ciclo máquina
Fase de fetching
Lectura de la instrucción almacenada en la posición dememoria indicada por el contador de programa CP.
CPU
UCCP 0C02RI ...
...
M1 BC03D1 ...
...
AC 10100100
Reg
ALU
controlLeer MP
direcciones0C02
datos 10110001
... ...00110000 0C0110110001 0C0200101110 0C0311010001 0C0401110101 0C05
... ...
... ...00111101 BC0110111001 BC0200110010 BC0311110000 BC0400111101 BC05
... ...
MPzonainstr.
zonadatos
CLKJulio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 33/ 61
La componente físicaEl ciclo máquina
Fase de decodificación
ADD #M1 BC04;Sumar el operando #M1 con el contenido del AC y el re-sultado guardarlo en la posición de memoria BC04.
CPU
UC
suma
↑↑↑CP 0C03RI 10110001
...
M1 BC03D1 ...
...
AC 10100100
Reg
ALU
control
direcciones
datos
... ...00110000 0C0110110001 0C0200101110 0C0311010001 0C0401110101 0C05
... ...
... ...00111101 BC0110111001 BC0200110010 BC0311110000 BC0400111101 BC05
... ...
MPzonainstr.
zonadatos
CLKJulio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 34/ 61
La componente físicaEl ciclo máquina
Fase de búsqueda de operandos
ADD #M1 BC04;El operando #M1 es el contenido de la posición dememoria indicada por el registro M1.
CPU
UCCP 0C03RI 10110001
...
M1 BC03D1 ...
...
AC 10100100
Reg
ALU
controlLeer MP
direccionesBC03
datos 00110110
... ...00110000 0C0110110001 0C0200101110 0C0311010001 0C0401110101 0C05
... ...
... ...00111101 BC0110111001 BC0200110010 BC0311110000 BC0400111101 BC05
... ...
MPzonainstr.
zonadatos
CLKJulio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 35/ 61
La componente físicaEl ciclo máquina
Fase de ejecución
ADD #M1 BC04;La ALU se activa y suma lo que haya en los registros D1y AC.
CPU
UCCP 0C03RI 10110001
...
M1 BC03D1 00110010
...
AC 10100100
Reg
+
control
direcciones
datos
... ...00110000 0C0110110001 0C0200101110 0C0311010001 0C0401110101 0C05
... ...
... ...00111101 BC0110111001 BC0200110010 BC0311110000 BC0400111101 BC05
... ...
MPzonainstr.
zonadatos
CLKJulio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 36/ 61
La componente físicaEl ciclo máquina
Fase de almacenamiento de resultados
ADD #M1 BC04;El resultado, que queda en el acumulador, se guarda enla posición de memoria BC04.
CPU
UCCP 0C03RI 10110001
...
M1 BC03D1 ...
...
AC 11010110
Reg
ALU
controlEscribir MP
direccionesBC04
datos11010110
... ...00110000 0C0110110001 0C0200101110 0C0311010001 0C0401110101 0C05
... ...
... ...00111101 BC0110111001 BC0200110010 BC0311010110 BC0400111101 BC05
... ...
MPzonainstr.
zonadatos
CLKJulio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 37/ 61
La componente físicaEl ciclo máquina
Nueva fase de fetching
Lectura de la instrucción almacenada en la posición dememoria indicada por el contador de programa CP.
CPU
UCCP 0C03RI 10110001
...
M1 BC03D1 ...
...
AC 11010110
Reg
ALU
controlLeer MP
direcciones0C03
datos 00101110
... ...00110000 0C0110110001 0C0200101110 0C0311010001 0C0401110101 0C05
... ...
... ...00111101 BC0110111001 BC0200110010 BC0311010110 BC0400111101 BC05
... ...
MPzonainstr.
zonadatos
CLKJulio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 38/ 61
La componente físicaEl ciclo máquina
Fase de decodificación
JUMP 0CF5;Saltar incondicionalmente a la instrucción 0CF5.
CPU
UC
salto
↑↑↑CP 0C04RI 00101110
...
M1 BC03D1 ...
...
AC 11010110
Reg
ALU
control
direcciones
datos
... ...00110000 0C0110110001 0C0200101110 0C0311010001 0C0401110101 0C05
... ...
... ...00111101 BC0110111001 BC0200110010 BC0311010110 BC0400111101 BC05
... ...
MPzonainstr.
zonadatos
CLKJulio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 39/ 61
La componente físicaEl ciclo máquina
Fase de ejecución
JUMP 0CF5;Cambio del contenido del contador de programa.
CPU
UCCP 0CF5RI 00101110
...
M1 BC03D1 ...
...
AC 11010110
Reg
ALU
control
direcciones
datos
... ...00110000 0C0110110001 0C0200101110 0C0311010001 0C0401110101 0C05
... ...
... ...00111101 BC0110111001 BC0200110010 BC0311010110 BC0400111101 BC05
... ...
MPzonainstr.
zonadatos
CLKJulio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 40/ 61
La componente físicaEl ciclo máquina
Nueva fase de fetching
Nueva búsqueda de instrucción.
CPU
UCCP 0CF5RI 00101110
...
M1 BC03D1 ...
...
AC 11010110
Reg
ALU
controlLeer MP
direcciones0CF5
datos ...
... ...00110000 0C0110110001 0C0200101110 0C0311010001 0C0401110101 0C05
... ...
... ...00111101 BC0110111001 BC0200110010 BC0311010110 BC0400111101 BC05
... ...
MPzonainstr.
zonadatos
CLKJulio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 41/ 61
La componente lógicaLa estructura en capas de software
Software de usuario
Software de sistemas
Sistema Operativo
Hardware
utilizautiliza
utiliza
Cada capa puede utilizar capas más interiores, pero lasinteriores no utilizan las exteriores.Cada capa aísla detalles innecesarios a las exteriores.Siempre debe existir la capa del sistema operativo.
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 42/ 61
La componente lógicaEl sistema operativo
Permite el uso eficiente y fiable de los recursos delordenador:
Tiempo de procesamiento.Memoria principal.Dispositivos E/S.
Gestiona:Los procesos: programas en ejecución.La memoria principal.El subsistema de E/S.El sistema de archivos.
Dispone de:Núcleo o kernel siempre residente en MP.Interfaz de usuario (gráfico o línea de comandos).Llamadas al sistema y bibliotecas para el programador.Manejadores de dispositivos o Drivers.
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 43/ 61
La componente lógicaEl sistema operativo
Principales sistemas operativos:UNIX, 1969.LINUX, 1991.DOS, 1981.MACOS, 1984.WINDOWS, 1985.Para dispositivos móviles: ANDROID, BLACKBERRY,IPHONEOS, PALMOS...
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 44/ 61
Lenguajes de programaciónAlto y bajo nivel
Código de alto nivel
Programas escritos en lenguajes próximos al ser humano.
No es directamente ejecutable en ordenador.Suele estar escrito en lenguajes de programación como C,C++, Java, Pascal.Es portable de una máquina a otra distinta.
Código de bajo nivel
Programas escritos en lenguajes próximos a la máquina.
Es directamente ejecutable en ordenador o “casi”.No es portable de una máquina a otra distinta.Escrito en ensamblador, en lenguaje máquina, o similar.
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 45/ 61
Lenguajes de programaciónLenguaje Vs. traductor
Lenguaje de programación
Conjunto de símbolos y reglas para combinarlos para construirprogramas.
Es una especificación, un documento.Publicados por organizaciones de estándares.
TraductorSoftware que genera programas de bajo nivel a partir de progra-mas de alto nivel.
Leen código fuente y generan código objeto.Son específicos para cada tipo de máquina.Desarrollado por fabricantes.
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 46/ 61
Lenguajes de programaciónTraductores
IntérpretesTraductores que traducen sentencia a sentencia y que luego eje-cutan directamente.
Ejecutan el programa fuente mientras se traduce.Orientados a programas sencillos.
CompiladoresTraductores que traducen globalmente y que generan un pro-grama objeto equivalente.
El compilador no ejecuta el programa que genera.Generan programas más rápidos que los interpretados.Permiten definir estructuras de datos más complejas.
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 47/ 61
Lenguajes de programaciónEl proceso de compilación
EdiciónTiempo compilación
fuente
Compilación
Enlace
biblio.
incluye
objeto PruebaTiempo ejecución
ejec.
errores
programa
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 48/ 61
Las bibliotecas son subprogramasestándares ya compilados y probados.
Bases de datosSistema tradicional
Sistema tradicional de datosAgrupación de datos independientes entre sí, que se accedenmanualmente o a través de programas dedicados.
profesores
programaprofesores
alumnos
programaalumnos
asignaturas
programaasignaturas
titulaciones
programatitulaciones
Usuario1
Usuario2
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 49/ 61
Bases de datosSistema tradicional
Características:
Redundancia e inconsistencia de datos.Dificultad de acceso a datos relacionados.Problemas de seguridad.Dificultad de acceso concurrente.Datos repartidos y aislados.
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 50/ 61
Bases de datosConcepto
Base de datosAgrupación de datos relacionados entre sí, organizados demanera que puedan accederse de forma automática.
Sistema gestor
Colección de programas que acceden a los datos de una basede datos de forma fácil y eficiente.
Sistema de Base de datosBase de datos + Sistema gestor.
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 51/ 61
Bases de datosConcepto
Sistema gestor de BBDD:
Interactúa con el sistema operativo permitiendo un fácilacceso al usuario.Garantiza la consistencia y la no redundancia de datos.Implanta requisitos de seguridad.Tolerancia a fallos con copias de respaldo.Control de la concurrencia.
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 52/ 61
Bases de datosConcepto
profesores alumnos asignaturas titulaciones
Sistema Gestor de la BBDDfacilidad, seguridad, concurrencia, consistencia
Usuario1
Usuario2
Usuario3
Usuario4
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 53/ 61
Bases de datosConcepto
Usuarios de una base de datos:
Programador de aplicacionesPrograma las consultas y/o modificaciones a medida.Administrador de la BBDD
Crea la BBDD.Gestiona los permisos de los usuarios.Mantiene la BBDD.
Usuario final de la BBDDConsulta y modifica los datos mediante
el sistema gestor,y los programas a medida.
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 54/ 61
Bases de datosConcepto
Lenguaje de definición de datos (LDD)Lenguaje que describe la estructura y el acceso a los datos deuna BBDD.
Lenguaje de manipulación de datos (LMD)
Lenguaje que consultar, insertar, modificar y eliminar datos deuna BBDD.
El administrador suele utilizar el LDD, el usuario final el LMD, yel programador ambos.
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 55/ 61
Bases de datosBases de datos relacionales
Bases de datos relacionalesBBDD basadas en las relaciones entre las distintas entidadesde toda la base de datos.
ProfesorDNInombredomiciliofnacim
Asignatura
codigonombreDNIProfcurso
AlumnoDNInombrefingresocodasig
entidad
atributos
imparte
matricula
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 56/ 61
Clave primariaIdentificación única paracada ocurrencia de entidad.
Bases de datosBases de datos relacionales
Tabla, fila y columnaTabla de la entidad Profesor
columna atributoDNI
columna atributodomicilio
fila→ 1 ocurrencia
DNI nombre domicilio fnacim23462265 Yoni C/ Laquesea 15/7/195813468105 Maikel C/ Masalla 3/8/195556170874 Anzoni C/ Masaca 16/12/197180437167 Satur C/ Posalli 25/2/1965
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 57/ 61
Bases de datosBases de datos relacionales
Las 12 Reglas de Codd determinan si una BBDD es relacional.Destacamos las 3 reglas siguientes:
Regla 1 Organización en tablas (entidades) de filas(ocurrencias) con columnas (atributos).
Regla 2 Acceso garantizado mediante tuplas(tabla,clave,columna).
Regla 5 Lenguaje de datos completo: definición ymanipulación: por ejemplo, SQL.
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 58/ 61
Bases de datosBases de datos relacionales
SQL (Structured Query Language)
Lenguaje de BBDD por excelencia. Primera versión en 1987.
Ejemplo sentencia SQL de definición:
CREATE TABLE profesores(DNI INT PRIMARY KEY,nombre VARCHAR(80),apellidos VARCHAR(80),domicilio VARCHAR(256),fnacim DATE)
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 59/ 61
Bases de datosBases de datos relacionales
Ejemplo sentencia SQL de manipulación (inserción):
INSERT INTO profesores(dni, nombre, apellidos, domicilio, fnacim)
VALUES(12345678, Pepelu, "Floo Distraido","C/Pelis Raras, 20", 22/06/1999)
Ejemplo sentencia SQL de manipulación (consulta):
SELECT (dni, nombre, apellidos)FROM profesoresWHEREdni > 9999999
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 60/ 61
Bases de datosBases de datos relacionales
BBDDs libres:
POSTGRESQL, 1989.MYSQL, 1995.SQLITE, 2000.FIREBIRD, 2008....
BBDDs comerciales:
DBASEdataBase Intelligence INC−TM , 1960.INFORMIXIBM−TM , 1970.ORACLEOracle Co.− TM, 1979.SYBASE SQL SERVERSybase−TM , 1988....
Julio Garralón Ruiz Fundamentos de informática 2013/2014 - Tema I 61/ 61