Professional Documents
Culture Documents
Memory
Control
Unit
Arithmetic
Logic
Unit
Accumulator
Input
Output
La arquitectura Von Neumann, tambin conocida como modelo de Von Neumann o arquitectura Princeton, es una arquitectura de computadoras basada en
la descrita en 1945 por el matemtico y fsico John
von Neumann y otros, en el primer borrador de un informe sobre el EDVAC.[1] Este describe una arquitectura de diseo para un computador digital electrnico
con partes que constan de una unidad de procesamiento que contiene una unidad aritmtico lgica y registros
del procesador, una unidad de control que contiene un
registro de instrucciones y un contador de programa, una
memoria para almacenar tanto datos como instrucciones, almacenamiento masivo externo, y mecanismos de
entrada y salida.[1][2] El signicado ha evolucionado hasta ser cualquier computador de programa almacenado en 1 Historia
el cual no pueden ocurrir una extraccin de instruccin
y una operacin de datos al mismo tiempo, ya que com- Las primeras mquinas de computacin tenan prograparten un bus en comn. Esto se conoce como el cuello mas jos. Algunos equipos muy simples siguen utilizan1
ma almacenado, un programa que no funcione correctamente puede daarse, daar a otros programas, o inclusive al sistema operativo, lo que puede dar lugar a un
desplome o crash de la computadora. Normalmente, la
proteccin de memoria y otras formas de control de acceso pueden proteger tanto de modicaciones accidentales
como de programas maliciosos.
3
compaero Herman Goldstine lo hizo circular con slo el
nombre de von Neumann escrito en l, para consternacin
de Eckert y Mauchly. El artculo fue ledo por docenas de
compaeros de trabajo de Von Neumann en Amrica y
Europa, e inuenci la siguiente hornada de diseos de
computadoras.
Denicin formal
3. Las diferentes partes de la informacin (los comandos y los datos) tienen diferente modos de uso, pero
la estructura no se representa en memoria de manera
codicada.
5
EDSAC (Universidad de Cambridge, Inglaterra) fue
el primer computador electrnico prctico de programa almacenado (mayo de 1949)
Manchester Mark I (Universidad de Mnchester, Inglaterra) Desarrollado a partir de la SSEM (junio de
1949)
CSIRAC (Consejo de Investigacin Cientca e Industrial) Australia (noviembre de 1949)
EDVAC (Laboratorio de Investigacin Balstica,
Laboratorio de Informtica de Aberdeen Proving
Ground, 1951)
ORDVAC (U-Illinois) en Aberdeen Proving
Ground, Maryland (completado en noviembre de
1951)[13]
IAS machine en Princeton University (enero 1952)
MANIAC I en Laboratorio Cientco Los lamos
(marzo de 1952)
ILLIAC en la Universidad de Illinois, (septiembre
de 1952)
AVIDAC en Laboratorios Argonne National (1953)
ORACLE en Laboratorio Nacional de Oak Ridge
(junio de 1953)
JOHNNIAC en RAND Corporation (enero de
1954)
BESK en Estocolmo (1953)
BESM-1 en Mosc (1952)
La Computadora Whirlwind se complet en diciembre de 1950 y estuvo en uso real en abril de 1951.
La ERA 1101 (ms tarde la ERA 1101/UNIVAC
1101 comercial) se instal en diciembre de 1950.
10 VASE TAMBIN
Memory
Control bus
Address bus
Data bus
System bus
CPU
Input and
Output
racionalizacin de la arquitectura.[17] En las dcadas siguientes, los microcontroladores sencillos seran algunas
veces omitir caractersticas del modelo a menor costo y
tamao. Las computadoras ms grandes aaden caractersticas para un mayor rendimiento.
la vez en vez de fomentarnos el pensar en unidades conceptuales mayores. Entonces la programacin es bsicamente la planicacin del
enorme trco de palabras que cruzan el cuello
de botella de von Neumann, y gran parte de ese
trco no concierne a los propios datos, sino a
dnde encontrar stos.[18][19]
El problema de rendimiento puede ser aliviado (hasta
cierto punto) utilizando diversos mecanismos. Ofreciendo una memoria cach entre la CPU y la memoria principal, proporcionando cachs separadas o vas de acceso independientes para datos e instrucciones (la llamada arquitectura Harvard modicada), utilizando algoritmos y lgica de predictor de saltos y proporcionando
una limitada pila de CPU u otro en el chip de memoria
reutilizable para reducir el acceso a memoria, son cuatro de las maneras que se dispone para aumentar el rendimiento. El problema tambin se puede eludirse, cierta medida, usando computacin paralela, utilizando por
ejemplo la arquitectura de acceso a memoria no uniforme (NUMA), este enfoque es comnmente empleado
por las supercomputadoras. Est menos claro si el cuello de botella intelectual que criticaba Backus ha cambiado mucho desde 1977. La solucin que propuso Backus
no ha tenido inuencia importante.[cita requerida] La moderna programacin funcional y la programacin orientada a
objetos se preocupan mucho menos de empujar un gran
nmero de palabras hacia un lado a otro que los lenguajes anteriores como era Fortran, pero internamente, esto
sigue siendo lo que las computadoras pasan gran parte
del tiempo haciendo, incluso las supercomputadoras altamente paralelas.
A partir de 1996, un estudio de referencia de base de datos se encontr que tres de cada cuatro ciclos de CPU se
dedican a la espera de memoria. Los investigadores esperan que el aumento del nmero de instrucciones simultneas arroye con el multihilo o el multiprocesamiento de
un solo chip har que este cuello de botella an peor. [20]
Cach (informtica)
Memoria
Principal
ndice
0
1
2
3
Datos
xyz
pdq
abc
rgf
Memoria
Cach
0
1
2 abc
0 xyz
La unidad cach es un sistema especial de almacenamiento de alta velocidad. Puede ser tanto un rea reservada de
En informtica, la cach es la memoria de acceso rpido la memoria principal como un dispositivo de almacenade una computadora, que guarda temporalmente los datos miento de alta velocidad independiente.
recientemente procesados (informacin).[1]
Hay dos tipos de cach frecuentemente usados en
computadoras personales: memoria cach y cach de disco.
DISEO
3.1
Tambin llamada memoria interna, se encuentra en el ncleo del microprocesador. Es utilizada para acceder a datos importantes y de uso frecuente, es el nivel en el que el
tiempo de respuesta es menor. Su capacidad es de hasta
128 kb. Este nivel se divide en dos:
Nivel 1 Data Cache: Se encarga de almacenar datos
usados frecuentemente y cuando sea necesario volver a utilizarlos, accede a ellos en muy poco tiempo,
por lo que se agilizan los procesos.
Nivel 1 Instruction Cache: Se encarga de almacenar
instrucciones usadas frecuentemente y cuando sea
necesario volver a utilizarlas, inmediatamente las recupera, por lo que se agilizan los procesos.
3.2
Poltica de ubicacin
Decide dnde debe colocarse un bloque de memoria principal que entra en la memoria cach. Las ms utilizadas
son:
Directa: al bloque i-simo de memoria principal le
corresponde la posicin i mdulo n, donde n es el nmero de bloques de la memoria cach. Cada bloque
de la memoria principal tiene su posicin en la cach y siempre en el mismo sitio. Su inconveniente
es que cada bloque tiene asignada una posicin ja
en la memoria cach y ante continuas referencias a
palabras de dos bloques con la misma localizacin
en cach, hay continuos fallos habiendo sitio libre
en la cach.
Asociativa: Los bloques de la memoria principal
se alojan en cualquier bloque de la memoria cach,
comprobando solamente la etiqueta de todos y cada
uno de los bloques para vericar acierto. Su principal inconveniente es la cantidad de comparaciones
que realiza.
Asociativa por conjuntos: Cada bloque de la memoria principal tiene asignado un conjunto de la cach, pero se puede ubicar en cualquiera de los bloques que pertenecen a dicho conjunto. Ello permite
mayor exibilidad que la correspondencia directa y
menor cantidad de comparaciones que la totalmente
asociativa.
Por demanda: un bloque slo se trae a memoria cach cuando ha sido referenciado y no se encuentre
en memoria cach.
Con prebsqueda: cuando se referencia el bloque
i-simo de memoria principal, se trae adems el bloque (i+1)-simo. Esta poltica se basa en la propiedad de localidad espacial de los programas.
5.1
4.3
Mejorar el rendimiento.
Poltica de reemplazo
3
tomado en cuenta distintas tcnicas que ayudarn a que
haya menos reincidencia de fallos.
Determina qu bloque de memoria cach debe abandonarla cuando no existe espacio disponible para un bloque
5.1
entrante. Bsicamente hay cuatro polticas:
Aleatoria: el bloque es reemplazado de forma
aleatoria.
FIFO: se usa el algoritmo First In First Out (FIFO)
(primero en entrar primero en salir) para determinar
qu bloque debe abandonar la cach. Este algoritmo
generalmente es poco eciente.
Mejorar el rendimiento.
4.4
Escritura Aplazada: Actualiza nicamente la Memoria cach luego de la modicacin de sus datos. 5.2.2 Tcnicas para reducir fallos
Cuando el bus de sistema se encuentra libre, actualiza la memoria principal. Esto puede generar que Existen diversas tcnicas para reducir esos fallos en la calos perifricos lean datos errneos, pero es poco fre- ch, algunas son:
cuente.
Incrementar el tamao del bloque. Ventajas: Se
Escritura Obligada: Actualiza nicamente la Mereducen los fallos forzosos como sugiere el princimoria cach luego de la modicacin de sus datos.
pio de localidad espacial. Inconvenientes: Aumentan
Cuando no hay otra alternativa, actualiza la memolos fallos por conicto al reducirse el nmero de bloria principal. Esto puede producirse por cualquiera
ques de la cach y los fallos de capacidad si la cach
de estas causas:
es pequea. La penalizacin por fallo aumenta al incrementarse el tiempo de transferencia del bloque.
1. Se accede a la posicin de memoria principal
modicada en la cach. Antes de permitir la
lectura/escritura, debe actualizarse el dato en la
memoria principal.
2. Debe eliminarse una lnea de la cach, entonces se
actualiza la memoria principal (en caso de ser necesario) antes de proceder a la eliminacin.
Optimizacin
Incremento de la asociatividad. Ventajas: Se reducen los fallos por conicto. Inconveniente: Aumenta el tiempo de acceso medio al incrementarse el
tiempo de acierto (multiplexin). Tambin aumenta
el coste debidos a los comparadores
Cach vctima. Consiste en aadir una pequea cach totalmente asociativa (1-5 bloques) para almacenar bloques descartados por fallos de capacidad
o conicto. En caso de fallo, antes de acceder a la
memoria principal se accede a esta cach. Si el bloque buscado se encuentra en ella se intercambian los
bloques de ambas cachs.
8
Optimizacin del compilador. El compilador
re-ordena el cdigo de manera que por la forma en
cmo se hacen los accesos se reducen los fallos de
cach.
ENLACES EXTERNOS
INTRODUCCIN
El subsistema de ENTRADA/SALIDA (E/S) suministra al computador un mecanismo eficiente de
comunicacin entre el procesador central y el entorno exterior.
La conexin de dispositivos perifricos a un computador no puede llevarse a cabo de forma directa
haciendo uso del bus del procesador, esta restriccin es debida fundamentalmente a tres razones:
Existe una gran variedad de dispositivos con distintos modos de operacin.
El ritmo de transferencia de datos es, en casi todos los casos, mucho menor que hay entre la CPU y
la memoria principal.
En ocasiones, el perifrico requiere que los datos le sean suministrados en formatos distintos al
utilizado por la CPU.
Los perifricos de almacenamiento, llamados tambin perifricos de memoria auxiliar, son unos
dispositivos en los que se almacenan, temporal o permanente, los datos que va a manejar la CPU
durante el proceso en curso, y que no es posible mantener en la memoria principal. Suponen un
apoyo fundamental a la computadora para realizar su trabajo habitual.
Los perifricos de almacenamiento se pueden clasificar de acuerdo al modo de acceso a los datos
que contienen:
Acceso secuencial.
Acceso aleatorio.
La Interfaz de E/S de las aplicaciones es la que define el modelo de E/S que ven los usuarios, por lo
que cuando se disea el Sistema Operativo se debe tener en cuenta decisiones relativas a la
funcionalidad que se va ha ofrecer al exterior: Nombres Independientes de los Dispositivos, E/S No
Bloquean o Asncronas, Control de Acceso a Dispositivos, Indicadores de Error y Uso de Estndares.
DESARROLLO
1.- QUE SE REFIERE EL TRMINO INTERFACE (E/S)
La interfaces de entrada y de salida proporciona un mtodo para transferir informacin entre
dispositivos de (E/S) de almacenamiento interno y de (E/S) externas. Los perifricos conectados a
una computadora necesitan enlac de comunicacin especial para funcionar como una interfaces con
la unidad de procesamiento central.
El propsito del enlace de comunicacin es resolver las diferencias que existen en la computadora
central y de cada perifrico.
Se llama interfaces porque se comunica tanto con el canal del procesador como con el dispositivo
perifrico.
Las funciones de la interfase son almacenar los datos y realizar las conversiones que se le requieran.
Tambin detecta errores en la transmisin y es capaz de reiniciar la transaccin en casos de error.
Ms an, la interfase puede testear, arrancar y detener el dispositivo segn las directivas impartidas
por la CPU. En algunos casos la interfase puede consultar a la CPU si algn dispositivo est
requiriendo atencin urgente.
1) En la configuracin E/S aislada, la Cpu tiene instrucciones distintas de entrada y salida, y cada una
de estas instrucciones se asocia con la direccin de un registro de interfase.
Cuando la CPU recupera y decodifica el cdigo de operacin de una instruccin de entrada y salida
coloca la direccin asociada con la instruccin dentro de las lneas de direccin comunes.
2) El mtodo E/S aislada separa la memoria y las direcciones de E/S para que los valores de la
direccin de memoria no se afecten con la asignacin de direccin de interfaces, porque cada una
tiene espacio de direccionamiento.
E/S MAPEADA EN MEMORIA
1) En una organizacin de E/S mapeada de memoria no hay instrucciones especifica de entrada o
salida. La CPU puede manipular datos de entrada y salida que residen en registros de interfaces con
la misma instruccin que se utiliza para manipular palabras de memoria: Cada interfase se organiza
como un conjunto de registros que responden a peticiones de lectura y escritura en el espacio de
direccionamiento normal.
2) La computadora emplea solo un conjunto de seales de lectura y escritura y no hacen diferencia
entre direcciones de memoria y entrada y salida. La computadora trata a un registro de interfaces
como parte del sistema de memoria las direcciones asignadas para registro de interfaces no pueden
utilizarse para palabras de memoria lo cual reducen rango de direcciones de memoria disponible.
3.-DIGA 2 DIFERENCIAS ENTRE CONTROL DE HABILITACION Y RECONOCIMIENTO MUTUO
CONTROL DE HABILITACION
Diferencias:
Pulso de Habilitacin
Durante una transmisin asncrona, las dos unidades que desean comunicarse no comparten
una frecuencia de reloj comn, por lo que requieren el envo de una seal que avise a la unidad
receptora cuando se ests transmitiendo los datos. Esto se puede lograr a travs del mtodo del
pulso de habilitacin, el cual es provedo de una unidad a otra con el fin de anunciar cuando se
realiza la transferencia de los datos.
Este mtodo emplea una lnea de control (estroboscopio) que permitir temporizar la
transferencia asncrona de los datos. El pulso puede ser enviado tanto por la unidad fuente como por
la unidad destino de manera indiferente.
1) Cuando el pulso es enviado por la unidad fuente, sta coloca los datos en el canal de los
datos y seguido de un breve retraso procede a activar la habilitacin, tanto la seal como la
informacin permanecen en el canal el tiempo necesario para que la unidad destino los reciba y
almacene. Luego la fuente retira el contenido para dejar libre el canal de datos y as desactivar el
pulso de habilitacin.
2) Cuando la seal es enviada por la unidad destino es para avisarle a la unidad fuente que
ya puede transmitir la informacin, sta responder colocando los datos en el canal, los cuales
debern permanecer all durante un tiempo que se considere suficiente para que la unidad destino los
acepte, inmediatamente la unidad destino activa el pulso de habilitacin y la unidad fuente retira los
datos de la lnea de transmisin.
En la mayor parte de las computadoras el pulso de reloj est bajo el control del la Unidad central de
procesamiento la cual se encarga de informar a los dispositivos perifricos de entrada como debern
transmitir la informacin necesaria.
RECONOCIMIENTO MUTUO
Diferencias:
Reconocimiento Mutuo.
A travs del mtodo del pulso de habilitacin las unidades a comunicarse pueden
temporizarse, sin embargo no existe una seal que le indique a la unidad fuente que la unidad destino
recibi los datos, ni una que le indique a la unidad destino que la unidad fuente coloc la informacin
en el canal. De all surge la tcnica de reconocimiento mutuo que emplea una doble lnea de
transmisin con el objetivo de enviar un mensaje de confirmacin entre los dos entes que les brinden
seguridad e integridad en la transmisin. Una lnea (de fuente a destino) le anuncia a la unidad
receptora que existen datos vlidos en el canal; la otra lnea (destino-fuente) avisa a la unidad
emisora que los datos sern aceptados.
1) Cuando la seal es enviada por la unidad fuente las dos lneas de transmisin se separan
en: datos vlidos (direccin: fuentedestino) y datos aceptados (en direccin destino- fuente). El
proceso que se lleva a cabo es el siguiente: la fuente coloca los datos en el canal y activa la seal de
datos vlidos, una vez que el destino recibe la informacin devuelve la seal de datos aceptados
culminando la transferencia. La fuente retira los datos de las lneas de transmisin y deshabilita su
seal dejando as libre el canal. El destino deshabilita su seal de datos aceptados lo que anuncia la
disponibilidad de la misma para un prximo envo.
2) Cuando la transmisin se realiza desde la unidad destino la lnea de reconocimiento mutuo
datos aceptados cambia su nombre por preparada para datos. La secuencia seguida es la siguiente:
la unidad receptora habilita la seal preparada para datos lo que da pie a que la unidad fuente
coloque los datos en el canal y active su seal de datos vlidos. Una vez que el receptor recibe los
bits de carcter deshabilita su seal para finalizar la transferencia; la unidad fuente desactiva la lnea
datos vlidos devolviendo al canal a su estado inicial.
El mtodo de reconocimiento mutuo proporciona confiabilidad en la transmisin ya que hay
mayor comunicacin entre las unidades, adems si se produce un error en alguna de ellas no hay
problema ya que cuenta con un mecanismo de tiempo transcurrido que alarma si la transferencia no
se realiza en tiempo transcurrido predeterminado, el cual es implantado por un reloj interno que
inicializa el conteo cuando alguna de las unidades activa sus seales de habilitacin y reconocimiento
mutuo.
4.- DIGA UNA DIFERENCIA Y UNA SEMEJANZA ENTRE TRASFERENCIA SINCRONA Y
ASICRONA SERIA DE DATOS
Diferencia
TRANSMISIN ASNCRONA
La manera ms fcil de conseguir sincronismo es enviando pequeas cantidades de bits a la vez,
sincronizndose al inicio de cada cadena. Esto tiene el inconveniente de que cuando no se transmite
ningn carcter, la lnea est desocupada .Para detectar errores, se utiliza un bit de paridad en cada
cadena. Usando la codificacin adecuada , es posible hacer corresponder un 0 ( por ejemplo ) a
cuando la lnea est parada ( con NRZ , cada vez que se quiera comenzar a transmitir una cadena ,
se usa un 1 como seal ) .Si el receptor es un tanto ms rpido o lento que el emisor , es posible que
incluso con cadenas cortas ( o tramas , que son las cadenas ms los bits adicionales de paridad y de
comienzo y parada ) se produzcan errores como el error de delimitacin de trama ( se leen datos
fuera de la trama al ser el receptor ms lento que el emisor ) o el error que se produce al introducirse
ruido en la transmisin de forma que en estado de reposo , el receptor crea que se ha emitido un dato
( el ruido ) .
TRANSMISIN SNCRONA
En este tipo de transmisin no hay bits de comienzo ni de parada, por lo que se transmiten bloques
de muchos bits. Para evitar errores de delimitacin, se pueden sincronizar receptor y emisor mediante
una lnea aparte (mtodo utilizado para lneas cortas) o incluyendo la sincronizacin en la propia
seal (codificacin Manchester o utilizacin de portadoras en seales analgicas). Adems de los
datos propios y de la sincronizacin, es necesaria la presencia de grupos de bits de comienzo y de
final del bloque de datos, adems de ciertos bits de correccin de errores y de control. A todo el
conjunto de bits y datos se le llama trama.
SEMEJANZA
Ambas trasmiten en bloques, cada una detecta errores de delimitacin, para sincronizar el receptor y
el emisor, ambas leen datos de trama, comparten una frecuencia de reloj comn y los bits se
trasmiten en forma contina a la velocidad que dictan los pulsos de reloj.
5.- COMO SE MIDE LA VELOCIDAD DE BAUDIOS
Las computadoras y sus diversos dispositivos perifricos, incluyendo los mdems, usan el mismo
alfabeto. Este alfabeto esta formado por solo dos dgitos, cero y uno; es por ello que se conoce como
sistema de dgito binario. A cada cero o uno se le llama bit, termino derivado de BInary digiT (dgito
binario).
BAUDIOS
Un baudio es una seal elctrica analgica o una onda. El ciclo de una onda analgica equivale a un
baudio. Una ciclo completo comienza en el cero voltios, va al voltaje ms alto baja hasta el voltaje
ms bajo pasando por el cero, y regresa a cero voltios de nuevo. Es una Unidad de medida utilizada
en comunicaciones. Hace referencia al nmero de intervalos elementales por segundo que supone
una seal. Velocidad con que se mide un mdem. <p>Velocidad de sealizacin de una lnea. Es la
velocidad de conmutacin, o el nmero de transiciones (cambios de voltaje o de frecuencia) que se
realiza por segundo. Slo a velocidades bajas, los baudios son iguales a los bits por segundo; por
ejemplo, 300 baudios equivalen a 300 bps. Sin embargo, puede hacerse que un baudio represente
ms de un bit por segundo.
Por ejemplo, el modem V.22bis genera 1,200 bps a 600 baudios.
Es una medida de la velocidad de modulacin, correspondiente al nmero de cambios en una seal
por segundo. Se suele hablar indistintamente de 'bits por segundo' y de 'baudios' habindose
convertido de hecho en falsos sinnimos. El nmero de bits por segundo dividido por el nmero de
bits de datos por seal da como resultado el nmero de baudios.
DIGA 2 DIFERENCIAS ENTRE LOS MODUS DE TRANSFERENCIA (E/S PROGRAMADA, E/S
POR INTERRUPCION Y DMA)
Mdulo de E/S
Cada controlador est a cargo de un tipo especfico de dispositivo.
Dependiendo del controlador, pueden estar varios dispositivos conectados al mismo
controlador.
El controlador se encarga de mover datos entre el dispositivo perifrico que controla y el
buffer de almacenamiento local. El tamao del buffer vara de un controlador a otro y depende
del dispositivo que controla.
DIFERENCIAS
E/S Programada
1)
Los datos se intercambian entre el CPU y el mdulo de E/S. El CPU ejecuta
un programa que controla directamente la operacin de E/S, incluyendo la
comprobacin del estado del dispositivo, el envo de la orden de lectura o
escritura y la transferencia del dato. Cuando el CPU enva la orden debe
esperar hasta que la operacin de E/S concluya. Si el CPU es ms rpido,
ste estar ocioso. El CPU es el responsable de comprobar peridicamente
el estado del mdulo de E/S hasta que encuentre que la operacin ha
finalizado.
2)
El dispositivo de E/S no tiene acceso directo a la memoria, una transferencia
de un dispositivo de E/S a memoria que la CPU ejecute varias instrucciones,
incluyendo una instruccin de entrada.
E/S MEDIANTE INTERRUPCIONES
1) El problema con E/S programada es que el CPU tiene que esperar un tiempo considerable
a que el mdulo de E/S en cuestin est preparado para recibir o transmitir los datos. El CPU debe
estar comprobando continuamente el estado del mdulo de E/S. Se degrada el desempeo del
sistema.
Una alternativa es que el CPU tras enviar una orden de E/S continu realizando algn trabajo
til. El mdulo de E/S interrumpir al CPU para solicitar su servicio cuando est preparado para
intercambiar datos. El CPU ejecuta la transferencia de datos y despus contina con el
procesamiento previo.
Se pueden distinguir dos tipos: E/S sncrona y E/S asncrona
E/S Sncrona: cuando la operacin de E/S finaliza, el control es retornado al proceso que la
gener. La espera por E/S se lleva a cabo por medio de una instruccin wait que coloca al
CPU en un estado ocioso hasta que ocurre otra interrupcin. Aquellas mquinas que no
tienen esta instruccin utilizan un loop. Este loop contina hasta que ocurre una interrupcin
transfiriendo el control a otra parte del sistema de operacin. Slo se atiende una solicitud de
E/S por vez. El sistema de operacin conoce exactamente que dispositivo est
interrumpiendo. Esta alternativa excluye procesamiento simultneo de E/S.
E/S Asncrona: retorna al programa usuario sin esperar que la operacin de E/S finalice. Se
necesita una llamada al sistema que le permita al usuario esperar por la finalizacin de E/S (si
es requerido). Tambin es necesario llevar un control de las distintas solicitudes de E/S. Para
ello el sistema de operacin utiliza una tabla que contiene una entrada por cada dispositivo de
E/S (Tabla de Estado de Dispositivos).
2) La ventaja de este tipo de E/S es el incremento de la eficiencia del sistema.
Mientras se lleva a cabo E/S, el CPU puede ser usado para procesar o para
planificar otras E/S. Como la E/S puede ser bastante lenta comparada con la
velocidad del CPU, el sistema hace un mejor uso de las facilidades.
Se dice que los dispositivos que tienen control directo de la unidad de procesamiento estn
conectados en lnea. Estos dispositivos transfieren informacin binaria dentro y fuera de la unidad de
memoria cuando se recibe un comando de la CPU.
Los perifricos conectados a una computadora necesitan enlaces de comunicacin especiales para
conectarlos con la CPU. El objetivo de un enlace de comunicacin consiste en resolver las diferencias
que existen entre la computadora central y cada dispositivo perifrico. Las diferencias principales son:
Los perifricos son dispositivos electromagnticos y su forma de operacin es diferente de
la CPU y la memoria los cuales son dispositivos electrnicos. Por lo tanto, quiz se requiera
una conversin de valores de seales.
La velocidad de transferencia de datos de los dispositivos perifricos suele ser menor que la
CPU. En consecuencia, puede necesitarse un mecanismo de sincronizacin.
Los cdigos y formatos de datos en los dispositivos perifricos difieren del formato de
palabras en la CPU y la memoria.
La transferencia de datos entre dispositivos de almacenamiento veloz como un disco magntico y la
memoria, a menudo se ve limitada por la velocidad del CPU. Durante la transferencia DMA la CPU
esta desocupada y no tiene control de los buses de la memoria
Historia
Mdulos de memoria tipo SIPP instalados directamente sobre la
placa base.
dispositivos con una capacidad de memoria muy pequea. Antes que eso, las computadoras usaban rels y lneas
de retardo de varios tipos construidas para implementar
las funciones de memoria principal con o sin acceso aleatorio.
En 1969 fueron lanzadas una de las primeras memorias
RAM basadas en semiconductores de silicio por parte de
Intel con el integrado 3101 de 64 bits de memoria y para el siguiente ao se present una memoria DRAM de
1024 bytes, referencia 1103 que se constituy en un hito, ya que fue la primera en ser comercializada con xito,
Integrado de silicio de 64 bits sobre un sector de memoria de lo que signic el principio del n para las memorias de
ncleo magntico. En comparacin con los integrados de
ncleo magntico (nales de los 60).
memoria DRAM actuales, la 1103 es primitiva en varios
Uno de los primeros tipos de memoria RAM fue la me- aspectos, pero tena un desempeo mayor que la memomoria de ncleo magntico, desarrollada entre 1949 y ria de ncleos.
1952 y usada en muchos computadores hasta el desarrollo En 1973 se present una innovacin que permiti otra
de circuitos integrados a nales de los aos 60 y princi- miniaturizacin y se convirti en estndar para las
pios de los 70. Esa memoria requera que cada bit estuvie- memorias DRAM: la multiplexacin en tiempo de la
ra almacenado en un toroide de material ferromagntico direcciones de memoria. MOSTEK lanz la referencia
de algunos milmetros de dimetro, lo que resultaba en MK4096 de 4096 bytes en un empaque de 16 pines,[1]
1
2 TIPOS DE RAM
A nales de los 80 el aumento en la velocidad de los procesadores y el aumento en el ancho de banda requerido,
1.3 BEDO RAM
dejaron rezagadas a las memorias DRAM con el esquema
original MOSTEK, de manera que se realizaron una serie
Burst Extended Data Output RAM (BEDO-RAM) fue
de mejoras en el direccionamiento como las siguientes:
la evolucin de la EDO-RAM y competidora de la
SDRAM, fue presentada en 1997. Era un tipo de memoria que usaba generadores internos de direcciones y
acceda a ms de una posicin de memoria en cada ciclo de reloj, de manera que lograba un desempeo un 50
% mejor que la EDO. Nunca sali al mercado, dado que
Intel y otros fabricantes se decidieron por esquemas de
memoria sincrnicos que si bien tenan mucho del direccionamiento MOSTEK, agregan funcionalidades distintas como seales de reloj.
2 Tipos de RAM
Las dos formas principales de RAM moderna son:
1. SRAM (Static Random Access Memory), RAM esttica, memoria esttica de acceso aleatorio.
Mdulos formato SIMM de 30 y 72 pines, los ltimos fueron utilizados con integrados tipo EDO-RAM.
1.1
FPM RAM
Fast Page Mode RAM (FPM-RAM) fue inspirado en tcnicas como el Burst Mode usado en procesadores como el
Intel 486.[3] Se implant un modo direccionamiento en el
que el controlador de memoria enva una sola direccin y
recibe a cambio esa y varias consecutivas sin necesidad de
generar todas las direcciones. Esto supone un ahorro de
tiempos ya que ciertas operaciones son repetitivas cuando se desea acceder a muchas posiciones consecutivas.
Funciona como si deseramos visitar todas las casas en
una calle: despus de la primera vez no sera necesario
voltiles.
no voltiles:
NVRAM (non-volatile random access
memory), memoria de acceso aleatorio no
voltil
MRAM (magnetoresistive random-access
memory), memoria de acceso aleatorio
magnetorresistiva o magntica
2. DRAM (Dynamic Random Access Memory), RAM
dinmica, memoria dinmica de acceso aleatorio.
(a) DRAM Asincrnica (Asynchronous Dynamic
Random Access Memory, memoria de acceso
aleatorio dinmica asincrnica)
FPM RAM (Fast Page Mode RAM)
3
EDO RAM (Extended Data Output
RAM)
(b) SDRAM (Synchronous Dynamic RandomAccess Memory, memoria de acceso aleatorio
dinmica sincrnica)
Rambus:
RDRAM (Rambus Dynamic Random Access Memory)
XDR DRAM (eXtreme Data Rate
Dynamic Random Access Memory)
XDR2 DRAM (eXtreme Data Rate two Dynamic Random Access Memory)
SDR SDRAM (Single Data Rate Synchronous Dynamic Random-Access Memory, SDRAM de tasa de datos simple)
DDR SDRAM (Double Data Rate Synchronous Dynamic Random-Access Memory, SDRAM de tasa de datos doble)
DDR2 SDRAM (Double Data Rate type
two SDRAM, SDRAM de tasa de datos
doble de tipo dos)
DDR3 SDRAM (Double Data Rate type
three SDRAM, SDRAM de tasa de datos
doble de tipo tres)
DDR4 SDRAM (Double Data Rate type
four SDRAM, SDRAM de tasa de datos
doble de tipo cuatro)
Nomenclatura
Mdulos de RAM
Formato SO-DIMM.
TECNOLOGAS DE MEMORIA
Tecnologas de memoria
La tecnologa de memoria actual usa una seal de sincronizacin para realizar las funciones de lectura/escritura
de manera que siempre est sincronizada con un reloj del
bus de memoria, a diferencia de las antiguas memorias
FPM y EDO que eran asncronas.
Toda la industria se decant por las tecnologas sncronas,
porque permiten construir integrados que funcionen a una
frecuencia superior a 66 MHz.
Tipos de DIMM segn su cantidad de contactos o pines:
5.1
SDR SDRAM
5.5
DDR3 SDRAM
5.4
DDR2 SDRAM
Mdulos de memoria instalados de 256 MiB cada uno en un sistema con doble canal.
CPU
Generador
de reloj
Tarjeta
grca
Transporte (bus)
delantero (FSB)
Chipset
Transporte (bus)
grco de alta
velocidad (AGP
o PCI Express)
Ranuras de
memoria
Puente
Norte
Transporte
de memoria
(concentrador
controlador de
memoria)
Transporte
Interno
Transporte
PCI
Puente
Sur
Transporte
PCI
(Concentrador
controlador
IDE
de E/S) SATA
USB
Ethernet
Interfaz de audio
Memoria CMOS
Interfaz
grca
integrada
Cables y
puertos
externos
Ranuras PCI
Transporte
LPC
(heredado)
Flash ROM
(BIOS)
Super I/O
Puerto serial
Puerto paralelo
Disco exible
Teclado
Ratn
7
Por lo general, los sistemas con cualquier tipo de proteccin contra errores tiene un coste ms alto, y sufren de pequeas penalizaciones en desempeo, con respecto a los
sistemas sin proteccin. Para tener un sistema con ECC o
paridad, el chipset y las memorias deben tener soporte para esas tecnologas. La mayora de placas base no poseen
dicho soporte.
Para los fallos de memoria se pueden utilizar herramientas de software especializadas que realizan pruebas sobre
los mdulos de memoria RAM. Entre estos programas
uno de los ms conocidos es la aplicacin Memtest86+
que detecta fallos de memoria.
RAM registrada
Es un tipo de mdulo usado frecuentemente en servidores, posee circuitos integrados que se encargan de repetir
las seales de control y direcciones: las seales de reloj
son reconstruidas con ayuda del PLL que est ubicado
en el mdulo mismo. Las seales de datos se conectan
de la misma forma que en los mdulos no registrados: de
manera directa entre los integrados de memoria y el controlador. Los sistemas con memoria registrada permiten
conectar ms mdulos de memoria y de una capacidad
ms alta, sin que haya perturbaciones en las seales del
controlador de memoria, permitiendo el manejo de grandes cantidades de memoria RAM. Entre las desventajas
de los sistemas de memoria registrada estn el hecho de
que se agrega un ciclo de retardo para cada solicitud de
acceso a una posicin no consecutiva y un precio ms alto que los mdulos no registrados. La memoria registrada es incompatible con los controladores de memoria que
no soportan el modo registrado, a pesar de que se pueden
instalar fsicamente en el zcalo. Se pueden reconocer visualmente porque tienen un integrado mediano, cerca del
centro geomtrico del circuito impreso, adems de que
estos mdulos suelen ser algo ms altos.[5]
Durante el ao 2006 varias marcas lanzaron al mercado
sistemas con memoria FB-DIMM que en su momento se
pensaron como los sucesores de la memoria registrada,
pero se abandon esa tecnologa en 2007 dado que ofreca pocas ventajas sobre el diseo tradicional de memoria
registrada y los nuevos modelos con memoria DDR3.[6]
denominadas pginas
que tienen el mismo
tamao que los marcos de pginas.
Las paginas
sirven
memoria secundaria
memoria
MEMORIA_PRINCIPAL
d
i
v
MARCOS O
PAGINAS
FISICAS
DEL
MISMO
TAMAO
TABLAS DE PGINAS
ES ASOCIAR LAS
PGINAS VIRTUALES
CON LOS MARCOS.
CARACTERISTICAS DE LA PAGINACION
VENTAJAS
DESVENTAJAS
EXISTEN 2 FUNCIONES
LLEVAR A CABO LA
TRANSFORMACIN DE UNA
DIRECCIN VIRTUAL A FSICA,
O SEA, LA DETERMINACIN DE
LA PGINA A LA QUE
CORRESPONDE UNA
DETERMINADA DIRECCIN DE
UN PROGRAMA.
SEGMENTACIN DE MEMORIA
SE IDENTIFICAN POR
SU
DESPLAZAMIENTO
LA SEGMENTACIN DE MEMORIA ES UN
ESQUEMA DE MANEJO DE MEMORIA MEDIANTE
EL CUAL LA ESTRUCTURA DEL PROGRAMA
REFLEJA SU DIVISIN LGICA.
SEGMENTACIN DE MEMORIA
MODULARIDAD DE PROGRAMAS: CADA RUTINA
PROPIO ESQUEMA
LAS PGINAS DE ALMACENAMIENTO VIRTUAL, QUE
SON CONTIGUAS EN ESTE ALMACENAMIENTO, NO
NECESITAN SER CONTIGUAS EN EL
ALMACENAMIENTO REAL.
COMPARTICIN DE SEGMENTOS
1.
LAS DESVENTAJAS
FFFFF
Direccin lgica
Direccin fsica
SEGMENTO
Desplaz
amiento
Registro de segmento
Direccin de segmento
CPU
0
Memoria
FFFFF
UN SEGMENTO ES UN REA
CONTINUA DE MEMORIA QUE PUEDE
TENER HASTA 64K-BYTES, QUE
DEBE COMENZAR EN UNA
LOCALIDAD DE MEMORIA CUYA
DIRECCIN SEA LMITE DE 16
BYTES (CANTIDAD DENOMINADA
PRRAFO) Y QUE PUEDE
TRASLAPARSE CON OTROS
SEGMENTOS.
SEGMENTO
Memoria
El
TRASLAPE DE SEGMENTOS
CS
CS
SEGMENTO DE
CDIGO
PROGRAMA
SEGMENTO DE
CDIGO
DS
SEGMENTO DE
DATOS
OTRO SEGMENTO
ES
SEGMENTO EXTRA DE
DATOS
SS
STACK
MEMORIA
MEMORIA
02000
600
PROGRAMA
SEGMENTO DE
CDIGO EN CURSO
nuevo (CS)=1A30
1A300
600
PROGRAMA
MEMORIA
SEGMENTO DE
CDIGO
RELOCALIZADO
Unidad 1:
Gestin de Procesos
Tema 1, Concurrencia:
Exclusin mutua y sincronizacin.
1.1 Problema de la seccin crtica, alternativas al uso de semforos:
- Regiones crticas, Monitores, Variables de condicin y Paso de
mensajes.
1.2 Problemas clsicos de sincronizacin:
- Productor consumidor usando monitores y paso de mensajes.
Problema de los Lectores /escritores.
Escuela Universitaria de
Informtica (Segovia)
Escuela Universitaria de
Informtica (Segovia)
Seccin crtica:
Cada proceso tiene un segmento de cdigo llamado seccin
crtica.
No est permitido que varios procesos estn
simultneamente en su seccin crtica.
Un protocolo rige la forma de entrar y salir de la seccin crtica.
Escuela Universitaria de
Informtica (Segovia)
Escuela Universitaria de
Informtica (Segovia)
Regin crtica.
Paso de mensajes.
Escuela Universitaria de
Informtica (Segovia)
Escuela Universitaria de
Informtica (Segovia)
Monitor:
Estructuras de datos.
Conjunto de operaciones asociadas a tales estructuras.
Exclusin mutua
Sincronizacin (variables de condicin).
Escuela Universitaria de
Informtica (Segovia)
10
Monitor:
Es un mdulo de software:
Consta de uno o varios procedimientos.
Secuencia de inicio.
Datos locales.
Caractersticas bsicas:
Variables locales slo accesibles para los procedimientos
del monitor y no para procedimientos externos.
Un proceso entra en el monitor al invocar uno de sus
procedimientos.
Slo un proceso se puede estar ejecutando en el monitor en
un instante dado.
Escuela Universitaria de
Informtica (Segovia)
11
Monitor:
Escuela Universitaria de
Informtica (Segovia)
12
Estructura de un monitor:
Escuela Universitaria de
Informtica (Segovia)
13
Escuela Universitaria de
Informtica (Segovia)
14
Escuela Universitaria de
Informtica (Segovia)
15
16
17
Escuela Universitaria de
Informtica (Segovia)
18
Paso de mensajes:
Intercambio de informacin.
Escuela Universitaria de
Informtica (Segovia)
19
20
Direccionamiento:
Direccionamiento indirecto:
Los mensajes no van directamente del emisor al receptor.
Los mensajes se envan a una estructura de datos compartida
formada por colas (buzones o mailboxes).
P0 enva mensajes al buzn apropiado y P1 los recoge del buzn.
Escuela Universitaria de
Informtica (Segovia)
21
Relaciones de direccionamiento:
Escuela Universitaria de
Informtica (Segovia)
22
Formato de mensajes:
Tipo de longitud
ID de destino
Cabecera
ID de origen
Longitud de mensaje
Informacin de control
Cuerpo
Escuela Universitaria de
Informtica (Segovia)
23
void main(){
crear_buzon(excmut);
send(excmut, null);
mensaje msj;
while (cierto){
24
25
Enunciado:
Escuela Universitaria de
Informtica (Segovia)
26
1 Historia
La unidad central de procesamiento o unidad de procesamiento central (conocida por las siglas CPU, del
ingls: central processing unit), es el hardware dentro de
una computadora u otros dispositivos programables, que
interpreta las instrucciones de un programa informtico
mediante la realizacin de las operaciones bsicas aritmticas, lgicas y de entrada/salida del sistema. El trmino, y su acrnimo, han estado en uso en la industria
de la Informtica por lo menos desde el principio de los
aos 1960.[1] La forma, el diseo de CPU y la implementacin de las CPU ha cambiado drsticamente desde los
primeros ejemplos, pero su operacin fundamental sigue
siendo la misma.
Una computadora puede tener ms de una CPU; esto se
llama multiprocesamiento. Todas las CPU modernas son
microprocesadores, lo que signica que contienen un solo circuito integrado (chip). Algunos circuitos integrados
pueden contener varias CPU en un solo chip; estos son
denominados procesadores multincleo. Un circuito integrado que contiene una CPU tambin puede contener los
dispositivos perifricos, y otros componentes de un sistema informtico; a esto se llama un sistema en un chip
2
cucin de software (programa informtico), los primeros
dispositivos que con razn podramos llamar CPU vinieron con el advenimiento del ordenador con programa almacenado.
La idea de un ordenador con programa almacenado ya
estaba presente en el diseo de John Presper Eckert y en
el ENIAC de John William Mauchly, pero esta caracterstica se omiti inicialmente para que el aparato pudiera
estar listo antes. El 30 de junio de 1945, antes de que
se construyera la ENIAC, el matemtico John von Neumann distribuy el trabajo titulado First Draft of a Report
on the EDVAC (Primer Borrador de un Reporte sobre el
EDVAC). Fue el esbozo de un ordenador de programa
almacenado, que se termin en agosto de 1949.[2] EDVAC fue diseado para realizar un cierto nmero de instrucciones (u operaciones) de varios tipos. Signicativamente, los programas escritos para el EDVAC se crearon
para ser almacenados en la memoria de alta velocidad del
ordenador y no para que los especicara el cableado fsico del ordenador. Esto super una severa limitacin del
ENIAC, que era el importante tiempo y esfuerzo requerido para volver a congurar el equipo para realizar una
nueva tarea. Con el diseo de von Neumann, el programa
o software que corra EDVAC podra ser cambiado simplemente cambiando el contenido de la memoria. Sin embargo, EDVAC no fue el primer ordenador de programa
almacenado; la Mquina Experimental de Pequea Escala de Mnchester, un pequeo prototipo de ordenador de
programa almacenado, ejecut su primer programa el 21
de junio de 1948[3] y la Manchester Mark I ejecut su
primer programa en la noche del 16 al 17 junio de 1949.
HISTORIA
seo de programa almacenado usando cinta de papel perforada en vez de memoria electrnica. La diferencia clave
entre las arquitecturas de von Neumann y la de Harvard
es que la ltima separa el almacenamiento y tratamiento
de instrucciones de la CPU y los datos, mientras que el
primero utiliza el mismo espacio de memoria para ambos. La mayora de los CPU modernos son de diseo von
Neumann, pero los CPU con arquitectura Harvard se ven
as, sobre todo en aplicaciones embebidas; por ejemplo,
los microcontroladores Atmel AVR son procesadores de
arquitectura Harvard.
Los rels elctricos y los tubos de vaco (vlvulas termoinicas) eran usados comnmente como elementos de conmutacin; un ordenador til requiere miles o decenas de
miles de dispositivos de conmutacin. La velocidad global de un sistema depende de la velocidad de los conmutadores. Los ordenadores de tubo, como el EDVAC,
tendieron en tener un promedio de ocho horas entre fallos, mientras que los ordenadores de rels, (anteriores
y ms lentos), como el Harvard Mark I, fallaban muy
raramente.[1] Al nal, los CPU basados en tubo llegaron a
ser dominantes porque las signicativas ventajas de velocidad producidas generalmente pesaban ms que los problemas de conabilidad. La mayor parte de estas tempranas CPU sncronas corran en frecuencias de reloj bajas
comparadas con los modernos diseos microelectrnicos.
Eran muy comunes en este tiempo las frecuencias de la
seal del reloj con un rango desde 100 kHz hasta 4 MHz,
limitado en gran parte por la velocidad de los dispositivos
de conmutacin con los que fueron construidos.
Las primeras CPU fueron diseadas a medida como par- 1.1 CPU de transistores y de circuitos inte de un ordenador ms grande, generalmente un ordetegrados discretos
nador nico en su especie. Sin embargo, este mtodo de
disear las CPU a medida, para una aplicacin particular, ha desaparecido en gran parte y se ha sustituido por
el desarrollo de clases de procesadores baratos y estandarizados adaptados para uno o varios propsitos. Esta tendencia de estandarizacin comenz generalmente en la
era de los transistores discretos, computadoras centrales
y microcomputadoras y fue acelerada rpidamente con
la popularizacin del circuito integrado (IC), este ha permitido que sean diseados y fabricados CPU ms complejas en espacios pequeos en la orden de nanmetros).
Tanto la miniaturizacin como la estandarizacin de las
CPU han aumentado la presencia de estos dispositivos
digitales en la vida moderna mucho ms all de las aplicaciones limitadas de mquinas de computacin dedicadas. Los microprocesadores modernos aparecen en todo,
desde automviles hasta telfonos mviles o celulares y CPU, memoria de ncleo e interfaz de bus externo de un MSI
PDP-8/I. Hecho de circuitos integrados de mediana escala.
juguetes de nios.
Si bien von Neumann muchas veces acreditado por el diseo de la computadora con programa almacenado debido a su diseo del EDVAC, otros antes que l, como
Konrad Zuse, haban sugerido y aplicado ideas similares.
La denominada arquitectura Harvard del Harvard Mark I,
que se complet antes de EDVAC, tambin utiliz un di-
1.2
Microprocesadores
3
tacin de un transistor en comparacin a un tubo o rel.
Gracias tanto a esta creciente abilidad como al dramtico incremento de velocidad de los elementos de conmutacin que por este tiempo eran casi exclusivamente
transistores, se fueron alcanzando frecuencias de reloj de
la CPU de decenas de megahercios. Adems, mientras
que las CPU de transistores discretos y circuitos integrados se usaban comnmente, comenzaron a aparecer los
nuevos diseos de alto rendimiento como procesadores
vectoriales SIMD (single instruction multiple data instruccin nica, datos mltiples). Estos primeros diseos
experimentales dieron lugar ms adelante a la era de los
superordenadores especializados, como los hechos por
Cray Inc.
Durante este perodo, gan popularidad un mtodo de fabricar muchos transistores en un espacio compacto. El
circuito integrado (IC) permiti que una gran cantidad
de transistores fueran fabricados en una simple oblea basada en semiconductor o chip. Al principio, solamente
circuitos digitales muy bsicos, no especializados, como
las puertas NOR fueron miniaturizados en IC. Las CPU
basadas en estos IC de bloques de construccin generalmente son referidos como dispositivos de pequea escala
de integracin small-scale integration (SSI). Los circuitos integrados SSI, como los usados en el computador
gua del Apollo (Apollo Guidance Computer), usualmen- 1.2
te contenan transistores que se contaban en nmeros de
mltiplos de diez. Construir un CPU completo usando
IC SSI requera miles de chips individuales, pero todava consuma mucho menos espacio y energa que diseos anteriores de transistores discretos. A medida que la
tecnologa microelectrnica avanz, en los IC fue colocado un nmero creciente de transistores, disminuyendo as
la cantidad de IC individuales necesarios para una CPU
completa. Los circuitos integrados MSI y el LSI (de mediana y gran escala de integracin) aumentaron el nmero
de transistores a cientos y luego a miles.
En 1964, IBM introdujo su arquitectura de ordenador
System/360, que fue usada en una serie de ordenadores
que podan ejecutar los mismos programas con velocidades y desempeos diferentes. Esto fue signicativo en
un tiempo en que la mayora de los ordenadores electrnicos eran incompatibles entre s, incluso las hechas
por el mismo fabricante. Para facilitar esta mejora, IBM
utiliz el concepto de microprograma, a menudo llamado microcdigo, ampliamente usado an en las CPU
modernas.[4] La arquitectura System/360 era tan popular que domin el mercado del mainframe durante las siguientes dcadas y dej una herencia que todava an perdura en los ordenadores modernos, como el IBM zSeries.
En el mismo ao de 1964, Digital Equipment Corporation
(DEC) introdujo otro ordenador que sera muy inuyente, dirigido a los mercados cientcos y de investigacin,
el PDP-8. DEC introducira ms adelante la muy popular lnea del PDP-11, que originalmente fue construido
con IC SSI pero eventualmente fue implementado con
componentes LSI cuando se convirtieron en prcticos. En
fuerte contraste con sus precursores hechos con tecnologa SSI y MSI, la primera implementacin LSI del PDP11 contena una CPU integrada nicamente por cuatro
circuitos integrados LSI.[5]
Los ordenadores basados en transistores tenan varias
ventajas frente a sus predecesores. Aparte de facilitar una
creciente abilidad y un menor consumo de energa, los
transistores tambin permitan que CPU operara a velocidades mucho ms altas debido al corto tiempo de conmu-
Microprocesadores
Oblea de un
microprocesador Intel 80486DX2 (tamao: 126,75
mm) en su empaquetado.
CPU
Intel
Core i5 en una placa madre del ordenador porttil Vaio
serie E (a la derecha, debajo del tubo termosifn bifsico.
En la dcada de 1970 los inventos fundamentales de
Federico Faggin (ICs Silicon Gate MOS con puertas autoalineadas junto con su nueva metodologa de diseo
de lgica aleatoria) cambi el diseo e implementacin
de las CPU para siempre. Desde la introduccin del primer microprocesador comercialmente disponible, el Intel
4004, en 1970 y del primer microprocesador ampliamente usado, el Intel 8080, en 1974, esta clase de CPU ha
desplazado casi totalmente el resto de los mtodos de
implementacin de la Unidad Central de procesamiento.
Los fabricantes de mainframes y miniordenadores de ese
tiempo lanzaron programas de desarrollo de IC propietarios para actualizar sus arquitecturas de computadoras
OPERACIN
Operacin
2.1
Fetch
2.2
Decode
2.3
Execute
Instruction
Fetcher
Instruction
Decoder
Memory
Interface
directamente producir datos de resultado. Estas son llamadas generalmente saltos (jumps) y facilitan comportamientos como bucles, la ejecucin condicional de programas (con el uso de saltos condicionales), y funciones
en programas.[nota 5] Muchas instrucciones tambin cambiarn el estado de dgitos en un registro de banderas.
Estas banderas pueden ser usadas para inuenciar cmo
se comporta un programa, puesto que a menudo indican
el resultado de varias operaciones. Por ejemplo, un tipo
de instruccin de comparacin considera dos valores y
ja un nmero, en el registro de banderas, de acuerdo a
cul es el mayor. Entonces, esta bandera puede ser usada
por una posterior instruccin de salto para determinar el
ujo de programa.
to
memory
2.4
Writeback
El paso nal, la escritura, simplemente escribe los resultados del paso de ejecucin a una cierta forma de memoria. Muy a menudo, los resultados son escritos a algn
registro interno del CPU para acceso rpido por subsecuentes instrucciones. En otros casos los resultados pueden ser escritos a una memoria principal ms lenta pero ms barata y ms grande. Algunos tipos de instrucciones manipulan el contador de programa en lugar de
Con la representacin numrica estn relacionados el tamao y la precisin de los nmeros que un CPU puede
representar. En el caso de un CPU binario, un bit se reere a una posicin signicativa en los nmeros con que
trabaja un CPU. El nmero de bits (o de posiciones numricas, o dgitos) que un CPU usa para representar los
nmeros, a menudo se llama tamao de la palabra, ancho de bits, ancho de ruta de datos, o precisin del
nmero entero cuando se ocupa estrictamente de nmeros enteros (en oposicin a nmeros de coma otante).
DISEO E IMPLEMENTACIN
de propsito general donde se requiere un razonable equilibrio entre la capacidad de nmeros enteros y de coma
otante.
3.3
Paralelismo
3.3
7
solamente una instruccin a la vez, solo puede, posiblemente, alcanzar el desempeo escalar (una instruccin
por ciclo de reloj). Sin embargo, el desempeo casi siempre es subescalar (menos de una instruccin por ciclo).
Las tentativas de alcanzar un desempeo escalar y mejor,
han resultado en una variedad de metodologas de diseo
que hacen comportarse al CPU menos linealmente y ms
en paralelo. Cuando se reere al paralelismo en los CPU,
generalmente son usados dos trminos para clasicar estas tcnicas de diseo.
El paralelismo a nivel de instruccin, en ingls instruction level parallelism (ILP), busca aumentar la
tasa en la cual las instrucciones son ejecutadas dentro de un CPU, es decir, aumentar la utilizacin de
los recursos de ejecucin en la pastilla.
El paralelismo a nivel de hilo de ejecucin, en ingls thread level parallelism (TLP), que se propone
incrementar el nmero de hilos (efectivamente programas individuales) que un CPU pueda ejecutar simultneamente.
Cada metodologa se diferencia tanto en las maneras en
las que estn implementadas, como en la efectividad relativa que producen en el aumento del desempeo de la
CPU para una aplicacin.[nota 10]
3.3.1 ILP: Segmentacin y arquitectura superescalar
Paralelismo
La descripcin de la operacin bsica de un CPU ofrecida en la seccin anterior describe la forma ms simple
que puede tomar un CPU. Este tipo de CPU, usualmente Uno de los mtodos ms simples para lograr incremenreferido como subescalar, opera sobre y ejecuta una sola tar el paralelismo es comenzar los primeros pasos de leer
y decodicar la instruccin antes de que la instruccin
instruccin con una o dos piezas de datos a la vez.
Este proceso da lugar a una inecacia inherente en CPU anterior haya terminado de ejecutarse. Esta es la forma
subescalares. Puesto que solamente una instruccin es ms simple de una tcnica conocida como segmentacin
ejecutada a la vez, todo el CPU debe esperar que esa ins- (instruction pipelining en ingls), y es utilizada en casi totruccin se complete antes de proceder a la siguiente ins- das los CPU de propsito general modernos. Al dividir
truccin. Como resultado, la CPU subescalar queda pa- la ruta de ejecucin en etapas discretas, la tubera permiralizado en instrucciones que toman ms de un ciclo de te que ms de una instruccin sea ejecutada en cualquier
reloj para completar su ejecucin. Incluso la adicin de tiempo. Esta separacin puede ser comparada a una lnea
una segunda unidad de ejecucin (ver abajo) no mejora de ensamblaje, en la cual una instruccin es hecha ms
mucho el desempeo. En lugar de un camino quedando completa en cada etapa hasta que sale de la tubera de
congelado, ahora dos caminos se paralizan y aumenta el ejecucin y es retirada.
nmero de transistores no usados. Este diseo, en donde Sin embargo, la tubera introduce la posibilidad de una
los recursos de ejecucin de la CPU pueden operar con situacin donde es necesario terminar el resultado de la
8
operacin anterior para completar la operacin siguiente; una condicin llamada a menudo como conicto de
dependencia de datos. Para hacer frente a esto, debe ser
tomado un cuidado adicional para comprobar estas clases de condiciones, y si esto ocurre, se debe retrasar una
porcin de la tubera de instruccin. Naturalmente, lograr esto requiere circuitera adicional, los procesadores
entubados son ms complejos que los subescalares, pero no mucho. Un procesador entubado puede llegar a ser
casi completamente escalar, solamente inhibido por las
abruptas paradas de la tubera (una instruccin durando
ms de un ciclo de reloj en una etapa).
Segmentacin superescalar simple. Al leer y despachar dos instrucciones a la vez, un mximo de dos instrucciones por ciclo
pueden ser completadas.
Una mejora adicional sobre la idea del entubado de instruccin (instruction pipelining) condujo al desarrollo de
un mtodo que disminuye incluso ms el tiempo ocioso
de los componentes del CPU. Diseos que se dice que son
superescalares incluyen una larga tubera de instruccin y
mltiples unidades de ejecucin idnticas.[9] En una tubera superescalar, mltiples instrucciones son ledas y pasadas a un despachador, que decide si las instrucciones se
pueden o no ejecutar en paralelo (simultneamente). De
ser as, son despachadas a las unidades de ejecucin disponibles, dando por resultado la capacidad para que varias instrucciones sean ejecutadas simultneamente. En
general, cuanto ms instrucciones un CPU superescalar
es capaz de despachar simultneamente a las unidades de
ejecucin en espera, ms instrucciones sern completadas
en un ciclo dado.
La mayor parte de la dicultad en el diseo de una arquitectura superescalar de CPU descansa en crear un despachador ecaz. El despachador necesita poder determinar
rpida y correctamente si las instrucciones pueden ejecutarse en paralelo, tan bien como despacharlas de una
manera que mantenga ocupadas tantas unidades de ejecucin como sea posible. Esto requiere que la tubera de
instruccin sea llenada tan a menudo como sea posible
y se incrementa la necesidad, en las arquitecturas superescalares, de cantidades signicativas de cach de CPU.
Esto tambin crea tcnicas para evitar peligros como la
prediccin de bifurcacin, ejecucin especulativa, y la
ejecucin fuera de orden, cruciales para mantener altos
niveles de desempeo. Tratando de predecir qu rama (o
DISEO E IMPLEMENTACIN
9
Una tecnologa utilizada para este propsito fue el
multiprocesamiento (MP). El puntapi inicial de esta tecnologa se conoce como multiprocesamiento simtrico
(SMP), donde un pequeo nmero de CPU comparten
una visin coherente de su sistema de memoria. En este esquema, cada CPU tiene un hardware adicional para mantener una visin constantemente actualizada de la
memoria. Para evitar visitas rancias de la memoria, las
CPU pueden cooperar en el mismo programa y los programas pueden migrar desde una CPU a otra. Para aumentar el nmero de CPUs que cooperan ms all de unas
pocas, se introdujeron en 1990, los esquemas tales como
el non-uniform memory Access (acceso no uniforme a
memoria) (NUMA) y los protocolos de coherencia basados en directorios. Los sistemas SMP se limitan a un
pequeo nmero de CPU mientras que los sistemas NUMA se han construido con miles de procesadores. Inicialmente, el multiprocesamiento se construy usando mltiples CPUs discretas y tableros para implementar la interconexin entre los procesadores. Cuando los procesadores y su interconexin hayan sido implementadas en un
nico chip de silicio, la tecnologa se conoce como un
procesador multincleo.
Posteriormente, se reconoci que exista un paralelismo
muy estrecho con un nico programa. Un nico programa podra tener varios hilos (o funciones) que podran
ser ejecutadas por separado o en paralelo. Algunos de los
primeros ejemplos de esta tecnologa implementaba procesamiento de entrada/salida tales como el acceso directo a memoria como un hilo separado del hilo computado.
En la dcada de 1970, se introdujo un enfoque ms general a esta tecnologa, cuando se disearon sistemas para
ejecutar mltiples hilos de computacin en paralelo. Esta
tecnologa se conoce como multihilo (MT).
Este enfoque se considera ms rentable que la del multiprocesamiento, ya que solo se replica un pequeo nmero
de componentes dentro de una CPU para soportar MT en
oposicin a la totalidad de la CPU en el caso de MP. En
MT, las unidades de ejecucin y el sistema de memoria
incluyendo los cachs son compartidos entre varios hilos.
La desventaja de MT es que el soporte de hardware para
multihilo es ms visible para el software que la de MP y
por lo tanto el software supervisor como el de los sistemas operativos tienen que someterse a los cambios ms
grandes para apoyar MT. Un tipo de MT que se implement es conocido como bloque multihilo, donde se ejecuta un hilo hasta que se paralice esperando que regresen
los datos desde la memoria externa. En este esquema, la
CPU tendra luego que cambiar rpidamente a otro hilo
que est listo para funcionar, el interruptor muchas veces
realiza un ciclo de reloj de la CPU, como la tecnologa
UltraSPARC. Otro tipo de MT se denomina multihilo simultneo, en donde las instrucciones de mltiples hilos
se ejecutan en paralelo dentro de un ciclo de reloj de la
CPU.
4 Desempeo
El desempeo (performance) o la velocidad de un procesador depende de, entre muchos otros factores, la velo-
10
cidad del reloj (generalmente dada en mltiplos de hertz)
y las instrucciones por ciclo de reloj (IPC), que juntos
son los factores para las instrucciones por segundo (IPS)
que el CPU puede rendir.[10] Muchos reportes de valores IPS han representado tasas de ejecucin pico en
secuencias de instrucciones articiales con pocas ramas,
mientras que las cargas de trabajo realistas consisten en
una combinacin de instrucciones y de aplicaciones, algunas de las cuales requieren ms tiempo para ejecutar que
otras. El rendimiento de la jerarqua de memoria tambin
afecta en gran medida al rendimiento del procesador, un
tema muy poco tenido en cuenta en los clculos de MIPS.
Debido a estos problemas, para este n, se han desarrollado varios exmenes estandarizados, tales como SPECint
muchas veces llamados "puntos de referencia" - para tratar de medir el rendimiento real efectivo en aplicaciones
de uso cotidiano.
El desempeo de procesamiento de las computadoras se
incrementa utilizando procesadores multincleo, que en
esencia es conectar dos o ms procesadores individuales
(llamados ncleos en este sentido) en un solo circuito integrado.[11] Idealmente, un procesador de doble ncleo
sera casi dos veces tan potente como un procesador de
ncleo nico. En la prctica, la ganancia de desempeo
es mucho menor, solo alrededor del 50%, [cita requerida] debido a la implementacin de algoritmos imperfectos de
software.[12] El aumento del nmero de ncleos en un
procesador (es decir, dual-core, quad-core, etc) aumenta la carga de trabajo que se puede manejar. Esto signica que el procesador ahora puede manejar numerosos
eventos asncronos, interrupciones, etc que pueden tomar
un peaje en la CPU (Central Processing Unit) cuando
se abruma. Estos ncleos pueden considerarse como diferentes plantas en una planta de procesamiento, con el
manejo de cada piso una tarea diferente. En ocasiones,
estos ncleos se manejan las mismas tareas que los ncleos adyacentes a ellos si un solo ncleo no es suciente
para manejar la informacin.
Debido a las capacidades especcas de las CPU modernas, como Hyper-Threading y Uncore, que implican el
intercambio de recursos reales de la CPU mientras que
el objetivo de una mayor utilizacin, supervisar los niveles de rendimiento y la utilizacin del hardware se fue
convirtiendo gradualmente en una tarea ms compleja.
Como respuesta, algunas CPUs implementan lgica de
hardware adicional que controla la utilizacin real de las
diversas partes de una CPU y proporciona varios contadores accesibles a software; un ejemplo es la tecnologa
Performance Counter Monitor (Monitor de contador de
rendimiento) de Intel.[13]
6 NOTAS
5 Vase tambin
6 Notas
[1] Integrated circuits are now used to implement all CPUs,
except for a few machines designed to withstand large
electromagnetic pulses, say from a nuclear weapon.
[2] The so-called 'von Neumann' memo expounded the idea
of stored programs, stored say, on punch cards, paper tape,
or magnetic tape
[3] Since the program counter counts memory addresses and
not instructions, it is incremented by the number of memory units that the instruction word contains. In the case
of simple xed-length instruction word ISAs, this is always the same number. For example, a xed-length 32bit instruction word ISA that uses 8-bit memory words
would always increment the PC by 4 (except in the case
of jumps). ISAs that use variable length instruction words
increment the PC by the number of memory words corresponding to the last instructions length.
[4] Because the instruction set architecture of a CPU is fundamental to its interface and usage, it is often used as a
classication of the type of CPU. For example, a PowerPC CPU uses some variant of the PowerPC ISA. A
system can execute a dierent ISA by running an emulator.
[5] Some early computers like the Harvard Mark I did not
support any kind of jump instruction, eectively limiting the complexity of the programs they could run. It is
largely for this reason that these computers are often not
considered to contain a CPU proper, despite their close
similarity as stored program computers.
[6] This description is, in fact, a simplied view even of the
Classic RISC pipeline. It largely ignores the important role of CPU cache, and therefore the access stage of the
pipeline. See the respective articles for more details.
[7] The physical concept of voltage is an analog one by its
nature, practically having an innite range of possible values. For the purpose of physical representation of binary
numbers, set ranges of voltages are dened as one or zero. These ranges are usually inuenced by the operational
parameters of the switching elements used to create the
CPU, such as a transistor's threshold level.
[8] While a CPUs integer size sets a limit on integer ranges, this can (and often is) overcome using a combination
of software and hardware techniques. By using additional memory, software can represent integers many magnitudes larger than the CPU can. Sometimes the CPUs
ISA will even facilitate operations on integers larger that
it can natively represent by providing instructions to make large integer arithmetic relatively quick. While this
method of dealing with large integers is somewhat slower than utilizing a CPU with higher integer size, it is a
reasonable trade-o in cases where natively supporting the
full integer range needed would be cost-prohibitive. See
Arbitrary-precision arithmetic for more details on purely
software-supported arbitrary-sized integers.
11
[10] Neither ILP nor TLP is inherently superior over the other; they are simply dierent means by which to increase
CPU parallelism. As such, they both have advantages and
disadvantages, which are often determined by the type of
software that the processor is intended to run. High-TLP
CPUs are often used in applications that lend themselves
well to being split up into numerous smaller applications,
so-called "embarrassingly parallel problems. Frequently,
a computational problem that can be solved quickly with
high TLP design strategies like SMP take signicantly more time on high ILP devices like superscalar CPUs, and
vice versa.
Referencias
[1] Weik, Martin H. (1961). A Third Survey of Domestic Electronic Digital Computing Systems (en ingls). Ballistic Research Laboratories.
[2] First Draft of a Report on the EDVAC (en ingls). Moore
School of Electrical Engineering, Universidad de Pennsylvania. 1945.
[3] Enticknap, Nicholas (Verano de 1998), Computings
Golden Jubilee [Jubileo de Oro de la computacin], Resurrection (en ingls) (The Computer Conservation Society) 20, ISSN 0958-7403, consultado el 19 de abril de
2008
[4] Amdahl, G. M., Blaauw, G. A., & Brooks, F. P. Jr. (1964).
Architecture of the IBM System/360 (en ingls). IBM Research. Archivado desde el original el 28 de noviembre de
2015.
[5] Digital Equipment Corporation (noviembre de 1975).
LSI-11 Module Descriptions. LSI-11, PDP-11/03 users
manual (en ingls) (2da edicin). Maynard, Massachusetts: Digital Equipment Corporation. pp. 4-3.
[6] Excerpts from A Conversation with Gordon Moore: Moores Law (PDF) (en ingls). Intel. 2005. Consultado el 25
de julio de 2012.
8 Bibliografa
Amdahl, G. M., Blaauw, G. A., & Brooks, F. P.
Jr. (1964). Architecture of the IBM System/360. IBM
Research. Archivado desde el original el 28 de noviembre de 2015.
Brown, Jeery (2005). Application-customized
CPU design. IBM developerWorks. Consultado el
17 de diciembre de 2005.
Digital Equipment Corporation (noviembre de
1975). LSI-11 Module Descriptions. LSI-11,
PDP-11/03 users manual (2da edicin edicin).
Maynard, Massachusetts: Digital Equipment Corporation. pp. 4-3.
Garside, J. D., Furber, S. B., & Chung, S-H
(1999). AMULET3 Revealed. University of Manchester Computer Science Department. Archivado
desde el original el 28 de noviembre de 2015.
Hennessy, John A.; Goldberg, David (1996). Computer Architecture: A Quantitative Approach. Morgan Kaufmann Publishers. ISBN 1-55860-329-8.
MIPS Technologies, Inc. (2005). MIPS32 Architecture For Programmers Volume II: The MIPS32
Instruction Set. MIPS Technologies, Inc.
Smotherman, Mark (2005). History of Multithreading. Consultado el 19 de diciembre de 2005.
Introduccin a los
Sistemas de Entrada/Salida
Introduccin
Mdulos de Entrada/Salida
Mapa de Entrada/Salida: comn y separado
Mtodos de Entrada/Salida
E/S programada
E/S por interrupciones
Acceso directo a memoria
Ejemplo de dispositivo de E/S
Operaciones de E/S desde el SO
Bibliografa
Organizacin y Arquitectura de Computadores, William Stalling
Linux Device Drivers, Alessandro Rubini and Jonathan Corbet, OReilly
Arquitectura de Sistemas Paralelos (2)
Entrada/Salida
Introduccin (II)
Existen dos esquemas diferentes para la
implementacin del subsistema de E/S:
a) Disearlo a medida utilizando
componentes bsicos
b) Utilizar dispositivos genricos de E/S y
programarlos convenientemente
(b)
(a)
Arquitectura de Sistemas Paralelos (4)
Mdulos de E/S
Definiciones
Dispositivo externo: elementos que permiten la transferencia de informacin
entre la CPU y el mundo exterior. Funcionan a modo de interface
transformando la informacin asncrona y analgica del mundo exterior a la
informacin sncrona y codificada del computador
Mdulo de E/S: elementos que permiten la conexin de un dispositivo externo
al bus del sistema. Los trminos controlador, procesador de E/S y mdulo
de E/S son equivalentes desde el punto de vista funcional:
Los controladores son mdulos de E/S muy sencillos que tienen el
hardware necesario para que funcione el dispositivo externo
Los procesadores de E/S son autnticos procesadores con un juego
especializado de instrucciones orientado a operaciones de E/S, que son
programados por la CPU, permitiendo un funcionamiento autnomo
Un dispositivo externo conectado a un mdulo de E/S se denomina dispositivo
perifrico o simplemente perifrico
Arquitectura de Sistemas Paralelos (5)
Mdulos de E/S
Diagrama de bloques de un dispositivo externo
Mdulos de E/S
Diagrama de bloques de un mdulo de E/S
Mdulos de E/S
Funciones (I)
Las funciones de un mdulo de E/S son:
Control y temporizacin
Comunicacin con el procesador
Comunicacin con los dispositivos
Almacenamiento temporal
Deteccin de errores
Mdulos de E/S
Funciones (II)
Control y temporizacin
Son necesarios para coordinar el trfico entre dispositivos internos y externos
Por ejemplo, el control de la transferencia de datos desde un dispositivo
externo al procesador podra implicar la siguiente secuencia de pasos:
1. El procesador pregunta por el estado del dispositivo
2. El mdulo de E/S devuelve el estado del dispositivo
3. Si el dispositivo est listo, el procesador solicita la transferencia al mdulo de E/S
4. El mdulo de E/S obtiene los datos
5. Los datos se transfieren del mdulo de E/S al procesador
Decodificacin de rdenes
Datos
Informacin de estado
Reconocimiento de direccin
Mdulos de E/S
Funciones (III)
La comunicacin con el dispositivo implica:
rdenes
Informacin de estado
Datos
Deteccin de errores
Errores debidos a defectos mecnicos o elctricos
Errores en la transmisin de informacin (cdigos de deteccin de errores)
Arquitectura de Sistemas Paralelos (10)
Mdulos de E/S
Funciones (IV)
Velocidades tpicas de transferencia en dispositivos de E/S (bps)
(Almacenamiento temporal de datos)
Y como inconveniente:
se desperdicia parte del espacio de direcciones
Mtodos de Entrada/Salida
Clasificacin
Debido a la diferencia de velocidad entre procesador y
perifricos es necesario proporcionar mecanismos para
sincronizar las operaciones de E/S
A la hora de clasificar los diferentes mtodos para llevar
a cabo las operaciones de E/S hay que tener en cuenta los
siguientes factores:
Inicio de la transferencia (quin comienza la transferencia?)
Transferencia (quin realiza la transferencia?)
Mtodos de Entrada/Salida
E/S programada
Tambin llamada por sondeo o encuesta (polling)
La CPU tiene el control absoluto de la operacin de E/S: inicia
y lleva a cabo la transferencia
El procesador ejecuta un programa que controla directamente
la operacin de E/S :
Comprobacin del estado
Envo de una orden de lectura o escritura
Transferencia de datos
E/S programada
Ejemplo de programacin
void main ()
{
unsigned char estado;
...
inicializar_periferico_X();
...
while (!fin_operacion) {
estado = inportb (PUERTO_REG_ESTADO_X);
if ((estado & MASCARA_BIT_LISTO)!= 0)
hacer_operacion(); activo en alta
}
}
((estado | ~ MASCARA_BIT_LISTO)!= 0xFFFF)
activo en baja
Arquitectura de Sistemas Paralelos (18)
Mtodos de Entrada/Salida
E/S por interrupciones
CPU
Perifrico 0
Perifrico 1
INT0
INT1
...
INTN
Perifrico N
Bus nico,
DMA-E/S
Bus de E/S
Mtodos de E/S
Resumen
Caractersticas
Diagrama de bloques
Direcciones y registros de control
Modos de funcionamiento:
Modo 0 (E/S programada)
Modo 1 (E/S por interrupciones)
Modo 2 (E/S bidireccional)
5
3
4
Comienzo de la
ejecucin de los
manejadores de
interrupcin
1
2
4
5
3
Mdulo
Los mdulos que se encuentran cargados en un momento dado pueden conocerse con el
comando lsmod o cat /proc/modules
Los dispositivos del sistema pueden conocerse con el comando cat /proc/devices
Arquitectura de Sistemas Paralelos (62)
Existen funciones para leer y escribir en los puertos una palabra (operaciones
simples) o ms (operaciones complejas). Ej: inb, outb, insb, ..
Existen funciones para leer y escribir en memoria (operaciones simples y
complejas). Ej: readb, writeb, memcpy_fromio, memcpy_toio,
Algunas plataformas reservan un espacio de memoria no paginable para la E/S
mapeada en memoria (no ocurre en ISA/PCI x86). Si el acceso a la memoria
asignada est virtualizado se requiere el uso de funciones especiales (ioremap y
iounmap)
Arquitectura de Sistemas Paralelos (64)
Algoritmos de Planificacin
FIFO (Fisrt In First Out, primero en entrar, perimero en salir ): Tambin denominado FCFS (Fisrt Come First
Served).
Esquema mas simple de planificacn
Los procesos se atienden por orden de llegada
Usan los recurosos hasta terminar su ejecuin
Generalemnte se mezcla con otros algoritmos
Hoydasepuededecirquetodaslascomputadorasdesdelaptopspasandoporcomputadorasdeescritoriohastaservidores,
contienenunoomsdiscosrgidossegneltipodeaparato.Inclusosepuedenencontrarotrosdispositivoselectrnicosque
utilizandiscosrgidos,porejemplolasmodernascmarasdevideo.
Lafuncinquetienenlosdiscosrgidosesmuyimportante,inclusoindispensableperotambinmuysimpleladealmacenar
informacindigitalpermanentementeenotraspalabras,ladeguardardatoseinformacindelacomputadorasinquestos
desaparezcanluegodeapagarlamquina.
Acontinuacinveremoscmoseguardanlosarchivoseneldiscorgidoycmoserealizanlosprocesosdelecturayescritura
dedatos.
Historiadelosdiscosrgidos
ElprimerdiscorgidofueintroducidoporIBMen1956tenaeltamaodedosrefrigeradores,pesabaaproximadamente900kgy
tenaunacapacidaddealmacenamientode3,75MB(aproximadamenteeltamaodeunacancinenformatoMP3).
En1961IBMintrodujoeldiscorgidomodelo1311,elcualtenaeltamaodeunlavarropas,ylaparticularidaddeincluir
mdulosdediscosquepodanalmacenar2MBcadaunoypodanintercambiarseoagregarsemdulosadicionales.
Conelpasodelosaoslosdiscosrgidosfuerondisminuyendoendimensionesfsicasyaumentandoenespaciode
almacenamientodisponible.
Haciaprincipiosdelosaos1980erararoencontrardiscosrgidosenlascomputadoraspersonalesPCyaquesetratabaan
deundispositivomuycarosinembargoparafinalesdeaquelladcadaloscostossehabanreducidoconvirtindoseen
dispositivosestndarenlamayoradelascomputadoraspersonales,salvoenloscasosdelosmodelosmseconmicos.
Desdequeen1983laIBMPCXTcomenzaincluirundiscorgidode10MB(Megabytes)steseconvirtienundispositivo
estndardelascomputadoraspersonales.
Desde1956hastaelao2011lacapacidaddelosdiscosrgidosaumentde3,75MBa4TB(Terabytes),oseaquecrecieron
msde1millndevecesentamaodealmacenamiento.Porotroladoelvolumendeestosdispositivosseredujoenelmismo
perododesdeaproximadamente2millonesdecm3 a20cm3 unareduccindeaproximadamente100.000veces.Depesar
aproximadamente900kghacemsde50aospasaronatenerunpesodeaproximadamente48gramosen2011.Encuantoal
costodelosmismospasarondetenerunvalorde15.000dlarespormegabytea0,0001dlarespormegabyteo100dlares
porterabyte,unareduccinenelpreciodemsde150millonesdeveces.
Estructuradelosdiscosrgidos
Losdiscosrgidoscontienendentrodeunacajametlicaselladaunoomsdiscosoplatosunidosporunejequegiraaaltas
revolucionesporminuto(RPM),aproximadamenteentre4.200RPMencomputadorasporttilesenmododeahorrodeenerga
hasta15.000RPMencomputadorasdeservidoresdealtorendimiento.
Estosplatosodiscossonlosquealmacenanlainformacinguardadayporlogeneralsondealuminioovidrio,loscualesestn
pulidosalniveldereflexindeunespejo.Estosdiscosestncubiertosporunacapadematerialmagnticodeaproximadamente
1020nm(nanmetros)deespesoroseaentreunaydos100millonsimasdemetrooentreunaydosmillonsimasde
centmetro.Asuvezestacapadematerialmagnticosecubreconotrafinacapadeproteccindecarbn.
Paraleeryescribirlainformacindeyenlosplatosdeundiscorgidohayunbrazoconcabezalesquepuedenmoversedeun
puntoalotrodeldiscoenpequeasfraccionesdesegundo.Hayuncabezalporcadasuperficiedediscoyasuvezestos
cabezalesestnunidosporunbrazonicodemovimiento.
Loscabezalesnuncatocaneldisco,yaqueflotansobrelasuperficiedelosplatosgiratoriosaunapequeadistanciadeapenas
decenasdenanmetros(millonsimasdecentmetro).
Losplatosendiscosrgidosdecomputadorasdeescritoriogiranentre5.400y10.000RPMsegnelmodeloenlaptopsporlo
generalentre4.200y7.200RPMsiendo5.400RPMlavelocidadmscomn.
1/9
Discoduroabierto,dondesepuedenverlosplatos,losbrazosdeloscabezalesyelactuador
Procesodelecturayescrituraendiscosrgidos
Eninformticatodalainformacinesrepresentadaatravsdenmerosbinarioscompuestosporunosyceros(1y0).Elmotivo
porelcualseutilizaestesistemadenumeracinpararepresentarabsolutamentetodoencomputacin,esporqueesmuysimple
yfcilderepresentarmediantepulsoselctricos,deloscualesdependelatecnologaelectrnica.Astodoloquevemosenla
pantalla,oloqueescribimosalniveldelamquinaysuscomponenteselectrnicossetraducenenpulsoselctricosque
representanunosyceros.
Porejemplopararepresentarlaletra"A"enlamemoriadelacomputadoraensistemabinarioseutilizaelsiguientecdigo
01000001(65endecimal).Porlotantolacomputadoralorepresentamediantepulsoselctricosdedostensionesdiferentes,
unapararepresentarlosunosyotraparalosceros.Cadapulsoelctricoquerepresentalos1y0sedenominabitasuvezcada
byte(launidaddemedidautilizadaparamedireltamaodelosarchivosycapacidaddealmacenamientodediscos,memoria,
etc)estcompuestopor8bitsosea8pulsoselctricosdeunosyceros.
Lomismoocurreconlosdiscosrgidos,enloscualeslosunosycerosdecadadatodeinformacinguardadoserepresentan
mediantediminutaspartculasmagnetizadas.
Lassuperficiesdelosplatosdeundiscorgidoestndivididosenmicroscpicasregionesdenominadasdominiosmagnticos
loscualesestncompuestosporpequeosgranosocristalesdematerialmagnticodeaproximadamente10nm(nanmetros)
detamao.Cadacristalestcompuestoporalgunoscientosdetomos.Almagnetizarseestaspartculassustomosapuntan
haciaunladooelotroformandoundipolomagnticoelcualgenerauncampomagnticoasualrededorsegnhaciala
direccinquestosapuntentendremosrepresentadoun1oun0.Cadacristalopartculaesundominiomagntico.
Alpasarelcabezaldeescrituraporencimadelplatoconlaspartculasmagnticas,lasmagnetizahaciendoquestassean
alineadashaciaunladooelotroporejemplosieldatoaguardaresunaletra"A"staserepresentamedianteelcdigobinario
deochodgitos01000001porlotantoelcabezalharquedosdelosdominiosmagnticosapuntenhaciaunlado
representandolos1yseisdominiosmagnticosquedenalineadoshacialadireccinopuestarepresentandolos0.Deesta
manerasealmacenanlosdatosqueguardamoseneldiscorgido.
Cuandocompramosundiscorgidonuevo,lostomosdecadacristalopartculadeunplatoapuntanaleatoriamentehacia
cualquierdireccin,haciendoquedeestamaneralapartculaestdesmagnetizadaalescribirseundatoestostomosson
alineadostodoshaciaunmismolado,estosignificaquelapartculahasidomagnetizada.Cadapartculaesundominio
magnticoyochodominiosmagnticosdan1bytedeinformacincomoenelcasodelaletra"A"delejemploanterior
representadaporelnmerobinario01000001.
Antessecubranlosplatosdelosdiscosconpartculasdexidofrricocomomaterialamagnetizarparaelalmacenamientode
datosperoahoraseutilizanpartculasdeunaaleacindecobalto.
Hastaelao2005laspartculasseposicionabanendireccinparalelaalasuperficiedecadaplato,peroapartirdeentonces
comenzaronaposicionarseenformaperpendicular(vertical)parapodercolocarmayorcantidaddedominiosmagnticosya
2/9
menordistanciaunodeotrosaprovechandoelespaciodisponibleenelplato.
Loscabezalesdelecturayescrituraseencuentranenlapuntadeunbrazoactuadorquesemueveradialmentehaciaadelantey
haciaatrsalolargodelradiodelplatomientrasesteltimogira.
Elpequeocabezalqueseencuentranenlapuntadelbrazoactuador,contienedoselementosseparados,unoencargadode
realizarlaescrituradedatosyelotrolalecturadelosmismos.
Elelementodeescriturarealizalaescrituradedatosmedianteunmetododeinduccinmagnticaquemagnetizalaspartculas
dealeacindecobaltoquerecubrenelplato,generandocamposmagnticos.Cadapulsoelctricoenviadoalcabezaldesdela
memoriadelacomputadora,magnetizacadapartculaalinendolahaciaunladooelotrogenerandocamposmagnticosde
distintadireccinloscualesrepresentanlos1y0queformanlosdatos.
Paralalecturadedatoselelementodelecturadelcabezalpasaporencimadelaspartculasmagnetizadascuyoscampos
magnticosgeneranpulsoselctricossegnlafuerzadelcampomagnticodecadapartculavaraelnivelderesistencia
elctricadelelementodelecturadelcabezalafectandoalpulsoelctricogeneradoparadecirloconpalabrassimples,variarla
fuerzaconqueelpulsoelctricogeneradocircular.Estasdiferenciasenlosnivelesderesistenciaelctricayporlotantofuerza
odiferenciadevoltajeconquecirculacadapulsoelctricorepresentarnlos1y0quesernenviadosalamemoria.
Loscabezalesseencuentran"flotando"aunapequeadistanciadelassuperficiesdelosplatosdeapenasdecenasde
nanmetros(millonsimasdecentmetro)porlotantonolostocan,sinofueraaslafriccinentreloscabezalesylosplatosal
giraramilesderevolucionesporminutos,causaradaosirrecuperablesenlassuperficiesdelosplatos.Elfenmenofsicoque
permitequeloscabezales"floten"sobrelassuperficiesdelosplatossintocarlasesuncolchndeairequesegeneraalgirarlos
platosaaltsimasvelocidades,produciendoelmovimientodelairequeseencuentrasobrelosplatosavelocidadescercanaso
igualesalosdeestosltimos.Esteefectogenerauncolchndeaireconunespesordeapenasdecenasdenanmetrosque
mantienealcabezalflotandosobreelplato.
Partculasdealeacindecobaltoconpropiedadesmagnticas.Procesodelecturadedatos.Mtodoavanzadode
partculasperpendicularesalplatoparamayoraprovechamientodelespacio.
Cmoseguardalainformacinenlosdiscosduros
Hastaahorahemosvistoelprocesofsicodeescrituraylecturadedatosenlosplatosdeundiscoduro,perofaltaentenderel
ordenamientodelainformacinenundiscoduro,oseacmoseguardanlosarchivos.
Cadaplatoenundiscoduroestdivididoencrculosconcntricosllamadospistas(trackseningls)yasuvezcadapistaest
divididaensectores.Enmatemticaunsectoresunaporcindeuncrculoqueseencuentraentreelcentrodelmismo,dos
radiosyelarcocorrespondientedelacircunferencia.Enundiscoduro,unsectoreslainterseccinentreunapistayunsector.
Cadaplatoestdivididoenunagrancantidaddepistasyasuvezcadapistaestdivididaenungrannmerodesectores.El
sectoreslaunidadmnimadealmacenamientodearchivos.Cadasectortieneuntamaode512bytesporlotantositenemos
3/9
unarchivode400bytes,ocuparunsectorsitenemosunarchivode20.000bytessteocupar40sectores(20.000/512=
39,0625Oseaqueocupar39sectoresporcompletoyunapartedelsector40).Apartirde2008deapococomenzarona
fabricarsediscosdurosconsectoresde4096bytes.
Dadoqueporlogenerallosdiscosduroscontienenmsdeunplato,yloscabezalesestnmontadosenbrazosquese
encuentranunidosunodebajodelotroenunaestructuraquelosmueveatodosjuntos,elefectodetenerunapistadebajodela
otraenlosdistintosplatosformauncilindroporesoparamedirlacapacidaddeundiscodurosemultiplicalacantidadde
cilindros(pistas)porlacantidaddecabezales(porlogeneralhay2porplato,unoparacadaladodelmismo),porlacantidadde
sectoresporpistaocilindroporlacapacidadenbytesdecadasector(512bytes).
Pistas(tracks)ysectoresdelplatodeundiscoduro
Brazodelactuadorquemueveloscabezales
Loscabezalesseencuentranenlapuntadebrazosquelosmuevenlateralmenteatravsdelradiodelcrculodecadaplato
mientrasstosgiran.
Losbrazosquesostienenloscabezalessonmetlicosysemueventodosjuntoshaciaelmismolado,haciendoquetodoslos
cabezalesseencuentrenenelmismocilindro.Elmecanismoquemueveaestosbrazosenlosdiscosmsantiguosutilizabaun
motordepasosodemovimientolineal,elcualestabaconectadoalosbrazosdeloscabezalesmovindoloshaciaadentroo
afueradelplato.Estemtodoeraefectivoendiscosantiguos,enloscualeselnmerodesectoresporpistaerainferior,ylas
pistaseranmsanchashaciendoquepequeasfallasenelposicionamientodeloscabezales,pordistintasrazones,no
afectaranlalecturaoescrituradedatos.
Sinembargoestesistematenaalgunosinconvenientesporejemploavecesporelcalentamientocausadoporlaoperacin
normaldelosplatosalgirar,losbrazosycabezalespodanquedardesalineadosenrelacinalaspistastampocoselospoda
movermuchomientrastrabajaban,especialmenteduranteprocesosdelicadoscomoelformateo,yaqueesotambinpoda
desalinearloscabezalesafectandolosresultados.
Ademsconeldesarrollodelastecnologasdediscosdurosyelaprovechamientodelespacioenlosplatossefueaumentando
lacantidaddesectoresporpistaascomolacantidaddepistasdandocomoresultadopistasmsangostasysectoresms
pequeosydensos,haciendoqueunerrorenelposicionamientodelcabezal,pormspequeoquefuera,afectaraelproceso
delecturayescritura.
Porlotantosetuvoquedesarrollarunsistemademovimientodebrazosmspreciso,elsistemadebobinadevoz.
Selodenominabobinadevozporquefuncionademanerasimilaralasbobinasdelosaltavoces.Setratadeunsistema
altamenteprecisoquecuentaconunabobinaelctricalacualseencuentraenelactuadorquesostienelosbrazosde
cabezales,porencimadeunosmagnetospermanentesdealeacindeneodimiohierroboro(eltipodemagnetopermanente
msfuertequeexiste),cuyoscamposmagnticosenvuelvenalabobinaelctrica.Elfenmenofsicoquecausaelmovimiento
4/9
delosbrazosdelactuador,yporlotantodeloscabezales,esgeneradocuandounacorrienteelctricacalculadacirculaporla
bobinaenvueltaporelcampomagntico,creandounafuerzatangencialquemuevealabobinayalosbrazosquesostienenlos
cabezales.
Segnlacantidaddecorrientequecirculaporlabobinasecreaunacantidaddemovimientoacordeporlotantolacontroladora
deldiscoduropuedecontrolaryrealizarloscambiosdeposicindebrazosconaltsimaprecisinymaneramedida,resultando
enqueloscabezalesseubiquensobrelaspistascorrectas.Ademsexistenenlossectoresdelaspistasciertasmarcasquele
sirvenalsistemadeposicionamientodecabezalesparadetectarsiestncorrectamentealineadosconlapista,encasoqueel
cabezaldetectaraqueestincorrectamenteposicionadoseenvanpequeasvariacionesalacorrienteelctricaquecirculapor
labobinacorrigiendolaposicindeloscabezales.
Graciasaestesistematansofisticadolosdiscosdurosdehoypuedenresistirmovimientosmientrasleenoescribeninformacin,
inclusogolpesdevariosG(lafuerzade1Geslaaceleracinejercidaporlagravedad)ademsgraciasalsistemade
autocorreccindeposicionamientodecabezales,fueposibleeldesarrollodeplatosconpistasmsangostaspermitiendoas
hacerdiscosdemayorcapacidadconmspistasymenorcantidaddeplatos.
Esasombrosovertrabajarenconjuntoalosplatosgirandoamilesderevolucionesporminutoyalosbrazosdelactuador
movindoseradialmenteporsobrelosplatoshaciaunladoyelotrohasta50vecesporsegundo.
Peroqupasacuandolosdiscosdejandegiraryelefectodelcolchndeairequemantienealoscabezalesflotando
desaparece?Deberancaersobrelosplatosmientrasdansusltimasrevoluciones,causandodaos,rayandolafinacapaque
cubrealaspartculasmagnticaseinclusodaandolosdatos.Paraevitarestetipodedaosepensenagregarunazonade
aterrizajedecabezales(landingzoneeningls)ubicadacercadelcentrodelosplatosendondeloscabezalespuedencaero
aterrizaralapagarselacomputadoramientraslosplatossiguendandolosltimosgirosporinercia.
Supongamosquerepentinamentesecortalacorrienteelctricaelmotorquehacegirarlosplatosseapaga,stoscomienzana
bajarlavelocidadrpidamente,elcolchndeairedesapareceyloscabezalescaensobreelreadedatoscausandograves
daosporfriccin.Paraevitarunasituacinashaydosmtodosqueinmediatamentellevanaloscabezalesalazonade
aterrizajeunoesmedianteelusodeunresorteelotromsrecienteysofisticadoalcortarselacorrienteelctrica,utilizala
inerciadelosdiscosquesiguengirandoporpocossegundos.Enestecasoaprovechaesasrevolucionesinercialesdelmotora
mododegeneradorelctrico,paraproducirporfraccionesdesegundolaenergasuficienteparamoverelcabezalhastalazona
deaterrizajesindaarlazonadedatos.
Apesarquenosecausaningndaoenlosplatosyporlotantoenlazonadedatos,coneltiempoyluegodeaoslos
cabezalesssevandesgastando.Lamayoradelosfabricanteshandiseadoloscabezalesparaqueaguanten
aproximadamente50.000aterrizajesenlazonadecontactoseguraoenotraspalabras50.000ciclosdeapagado/encendido.
Igualmentequdensetranquilosqueporlogeneralserequierenmuchosaosparallegaraesacifra.
Ademsdelmtododeaterrizajedepistastambinexisteunsegundomtododealejamientodeloscabezalesdelazonade
datosllamadoHeadLoad/Unload(carga/descargadecabezal).Cuandolacontroladoradeldiscodurodetectaquelosplatos
hanreducidosuvelocidad,inmediatamenteunsistemalevantalosbrazosdeloscabezalesylosmueveaunarampaubicada
fueradelreadelosplatos.Luegoalencenderselacomputadoranuevamentecuandolosplatosvuelvenagiraralasuficiente
velocidadparagenerarelcolchndeairequemantienealoscabezalessuspendidosenelaire,losbrazossealejandelas
rampasvolviendoaposicionarsesobrelosplatos.
Enlosdiscosdurosdemuchascomputadorasmodernas,principalmenteencomputadorasporttilescomolasnoteboksse
incluyeunacelermetroquedetectamovimientosbruscosenlamquina,encasodesucederalgoasinmediatamenteactivael
sistemaLoad/Unload,levantandoyllevandoelcabezalaunarampaseguraparaevitardaosenlazonadedatos.Puede
resistirmovimientosbruscosdehasta350G(fuerzaG)encasosdediscosqueestnoperandoy1000Gsieldiscoseencuentra
enestadonooperacional.
Hoydaseutilizanambosmtodosdealejamientodeloscabezalesdelazonadedatos,tantoeldeaterrizajedelosmismosen
unazonadecontactocercadelcentrodelosplatos,ascomoelderampasLoad/Unload.
Esmuyimportantemencionartambinqueantesdelaexistenciadeestosmtodosdealejamientodeloscabezales
automticos,cuandosequeraapagarlacomputadoralosusuariosdebanestacionarprimeromedianteuncomandolos
cabezalesyluegopodanapagarlacomputadoradelocontrarioloscabezalesentraranencontactoconlosplatos.
5/9
Procesodedesplazamientodelosbrazosdeloscabezalesmedianteelusodebobinasdevozymagnetosdeneodimio
hierroboro
Lacontroladoradeldiscoduro
Todaslasactividadesquerealizaeldiscoduro,sonadministradasporunaplacadecircuiteraintegradaubicadaenlapartede
afuera,adosadadebajodeldiscoduro.Entrelasfuncionesprincipalesdeestaplacaseincluyenelcontroldelflujodedatos
desdeyhacialaplacamadre(motherboard),dondesederivanhacialamemoriayelmicroprocesadorlacodificaciny
decodificacindelosdatosquesegrabanenlosplatoselcontroldelavelocidaddegirodelosplatoselcontroldelacantidad
decorrienteelctricaquecirculaporlabobinadevozquemuevelosbrazosdelactuadorquesostienenaloscabezalesla
verificacindequetodosloselementosycomponentesdeldiscofuncionencorrectamentecontarconunbloquedememoria
intermediodeentre8y64MB,conocidocomobufferparaalmacenardatostemporalmentequeviajanentrelosplatosylaplaca
madreyviceversa.
Antiguamentelasplacascontroladorasdeldiscodurovenanseparadasdeldiscoydebanconectarseenlaplacamadre.
Ademssenecesitabantrescablesdosdeellosconectabaneldiscoduroconlaplacacontroladora(uncableparatransferirlos
datosyotroparatranferirlassealesdecontroldelfuncionamientodeldisco)eltercercableeraparaproveerenergaaldisco
duroyvenadirectamentedelafuentedeenergadelacomputadora.Algunosdelostiposdeinterfaseantiguosqueutilizaban
placasdecontroldediscoduroseparadasdeldiscoeranlosST506,ST412yESDI.
Luegoen1986sedesarrollunsistemaenelquelacontroladoradeldiscodurovenaintegradaenelmismodisco,comohoy
dalosconocemos.SetratadeltipodeinterfaseIDE(IntegratedDriveElectronicsocircuiteraelectrnicadediscointegrada).
Estetipodecontroladorarequeraelusode2cablesunoparadatos(enrealidaduncabledecintade40hilos)yelotroparala
energaconectadoalafuentedeenergadelgabinetedelacomputadora.
LuegoeltipodeinterfaseIDEpasallamarseATA(AdvancedTechnologyAttachmentdelinglsAccesoriodeTecnologa
Avanzada).ConeltiempolasplacasmadrescomenzaronaincluiradaptadoresATA,parapoderconectardiscosduros,ascomo
otrosdispositivoscomolectorasdeCDydeDVD.Cadaunodeestosadaptadoressoportanhastadosdispositivosaspor
ejemploenunacomputadoracondosadaptadoresATA,puedenhaberhastacuatrodiscosdurosocombinacionesdelectoras
deCDoDVDcondiscosduros.
Apartirdelao2003comenzaronasustituirseporeltipodeinterfaseSATA(SerialATA),queutilizauncablededatosms
pequeo.
Nuevaconfiguracindesectores(Zonebitrecording)
Antestodaslaspistasdeunplatocontenanlamismacantidaddesectoresporpistarecordemosquecadasectortieneuna
capacidaddealmacenamientode512bytes.Alserdeestamanera,lossectoresmscercanosalcentrodecadaplatoeranms
pequeosensuperficiequelosubicadosmslejosdelmismo,peroigualmentecontenanlamismacantidaddepartculas
magnticasquelosubicadosmscercadelborde.Porlotantolossectoresmspequeoseranmsdensosysuspartculas
6/9
estabanms"apretadas"mientrasqueenlaspistasdemsafuera,cuyascircunferenciaseranmayores,lossectoreseran
menosdensosyaqueenunasuperficiedemayortamaohabaunamismacantidaddepartculasmagnticas
desaprovechandoasungranespacioquepodraestarocupadopormssectores.
PoresolosingenierosdesarrollaronunsistemadeorganizacindesectoresllamadoZonebitRecordingmedianteelcualse
aprovechaelespaciodisponibleenpistasmsalejadasdelcentro.Conestesistemalaspistasseagrupanenzonasdepistas
conlamismacantidaddesectores.Cuantomsnosalejamosdelcentrodecadaplatonosencontramosconzonasque
contienenunamayorcantidaddesectoresporpistaaprovechandomejorelespaciodisponibleenlaspistasqueseencuentran
mslejosdelcentro.
Otrapuntointeresantedeestesistemadeconfiguracindesectoresesquealleerlossectoresdecilindrosmsexternosse
obtieneunamayortasadetransferenciadebitsporsegundoquealleercilindrosmsinternosestosedebealhechoquela
velocidadangulardelosplatosessiemprelamismaentodaslaspistasdelosmismos(lavelocidadangularesparadecirlocon
palabrassimpleselnguloquerecorreporsegundounobjetocircularalgirar)assiporejemploenunaciertacantidadde
tiempounplatorealizaunvueltacompleta,seleenunamayorcantidaddesectoresenloscilindrosmsexternosqueenlosms
internos,dadoquehayunamayorcantidaddestosenlosmslejanosdelcentrodelosplatos.
Encadazonapuedenhabercientosomilesdepistasagrupadasylastasasdetransferenciaenbitsporsegundoaumentan
cuantomsnosalejamosdelcentro.
Porestemotivoaltenerundiscoduronuevo,losprogramastratandellenarprimerolossectoresdepistasmsexternas
comenzandoporelsistemaoperativoqueseinstalaenenstosparaaprovecharlamayortasadetransferencia.Conelpasodel
tiempodespusdellenarselossectoresdepistasmsexternas,losprogramasnotienenotraalternativamsqueinstalarseen
lossectoresdecilindrosmsinternostraslocualpuedenllegaradetectarseunmayortiempodecargadeestosprogramas.
OrdenamientodeigualcantidaddesectoresporpistavsZonebitrecordingparaelmayoraprovechamientodelespaciode
losplatos
Medidasqueindicanelrendimientodeundiscoduro
TIEMPODEBUSQUEDA(SEEKTIME)
Setratadeltiempoquerequierenloscabezalesparamoversedesdesuposicinactualalapistadeseada.Eltiempode
bsquedavaraacordealadistanciaqueseencuentralapistadeseadadelaposicinenqueseencuentraelcabezal,noeslo
mismopasaraunapistaadyacentequemoversehastaunaubicadaalotroladodelplato.Porlotantocomomedidapromediose
sueletomareltiemporequeridopararecorrerunterciodelradiodelreadedatos.
Lostiemposdebsqueda(seektimes)semidenenmilisegundos(ms).Losprimerosdiscosdurostenanuntiempodebsqueda
promediode600msyaparalapocaenquecomenzabanacomercializarselasprimerasPC,stascontabancondiscosduros
contiempodebsquedade100120msyahacialosaos'80coneldesarrollodelossistemasdemovimientodebrazosde
cabezalesconbobinadevoz,lostiemposdebsquedapromedioseredujerona20ms.
HoydaenlasPCdeescritorio,eltiempopromediodebsquedaoscilaenlos12msmientrasqueendiscosdecomputadoras
deservidorespromedialos4ms.
LATENCIAROTACIONAL(ROTATIONALLATENCY)
Unavezqueelcabezalseencuentrasobrelapistacorrecta,stesequedaquietoesperandoaqueelsectordeseadopasepor
debajosuyomientraselplatogira.Cuantomslejosseencuentreelsectormstardarenpasarpordebajodelcabezal.La
latenciarotacionalvarasegnlavelocidadderotacindeldiscosiendomenorendiscosquepresentanmayoresnivelesde
revolucionesporminuto.Comopromediodemedidadelatenciasetomaeltiemponecesarioparaqueelplatorealicemedia
revolucinpordebajodelcabezal.Lalatenciarotacionalsemideenmilisegundos.
TASADETRANSFERENCIADEDATOS
Latasadetransferenciaeslacantidaddeinformacinquesepuedetransmitirporsegundo,medidaenbitsporsegundoosea
7/9
pulsoselctricosquerepresentan1y0porsegundo.Recordemosque8bitsequivalena1bytedeinformacinlaunidadde
medidautilizadaparamedireltamaodearchivos.
Latasadetransferenciavarasegnmuchosparmetroslavelocidadderotacindelosplatos,laubicacindelossectores
(comosemencionantes,siseleen/escribensectoresdepistasmsexternasdeunplatoseobtienenmayorestasasde
transferenciadadoquealamismavelocidadderotacinpasaunamayorcantidaddesectorespordebajodelcabezalqueen
unapistamscercanaalcentrodelplato).Sesueletomarcomomedidalacantidaddedatosqueviajanentrelosplatosyla
memoriaintermedia(buffer)deldiscolacualhacia2011superabalos1000Mbit/segundo(1Gbit/segundo)oaproximadamente
125MB/segundo(megabytes).
Tambinsemidelatasadetransferenciadedatosdesdelamemoriaintermediadelacontroladoradeldiscoalaplacamadre
(buffermotherboard).
Estatasadetransferenciadependedeltipodeinterfaseutilizado.PorejemploenlosprimerostiposdediscosATA/IDElastasas
detransferenciaerande25MB/segundo(200Mbit/sec),mientrasqueenlosltimosmodelosdeestetipodeinterfasellegabana
167MB/segundo(porejemplolosATAUltraDMA/167).
YaenlosdiscosmsmodernosconinterfasedetipoSATAlatasadetransferenciallegabaa1.5Gbit/shaciaelao2011la
mayoradelosdiscosenelmercadocontabanconinterfasesdetipoSATA2.0contasasdetransferenciade3Gbit/sydeapoco
seestestandarizandoelSATA3.0contasasde(6Gbit/s).
Cmoadministraelsistemaoperativoaldiscoduro
Comosemencionantes,losarchivossealmacenanensectoresde512bytes,porlotantounarchivode20.000bytesocupar
40sectores(20.000/512=39,062539sectoresporcompletoyunapartedelsector40).
Sinembargolossistemaoperativosparamejorarelrendimientodeldiscoduroutilizanunmtododeagrupamientodesectores,
estosgruposdesectoressedenominanclusters.
Cadasectortieneunnmeroqueindicasuposicinparaqueelcabezalpuedadirigirsealmismoaleeroescribirdatos.La
informacinqueindicaenculessectoresseencuentraunarchivoseencuentraensectoresunbicadosenunaseccin
reservadadeldisco,separadadelreadondesealmacenanlosarchivosdelusuarioahseindicatodotipodeinformacin
acercadecadaarchivo.Elproblemaesqueelsistemaoperativoconstantementerealizatareasdeadministracinencargadas
dealmacenararchivos,moverlos,guardarinformacinacercadelosmismosenbasesdedatos,ordenamientodelainformacin,
etcporlotantosisetienemayorcantidaddesectoresloscualesdebensermanipuladosunoauno,estastareastardaranms
tiempo,reduciendoenormementeeldesempeodeldisco.Porotroladosiestossectoressonagrupadosenclustersdevarios
sectores,elsistemaoperativoenlugardeoperarconcadasectoroperaconvariosalavez,aumentandodeestamanerael
rendimiento.
Losclusterstambinsonllamadosunidadesdeasignacin,yaqueaniveldelsistemaoperativoolgico,sonlamenorunidad
dealmacenamientodedatos.Asporejemploenundiscoconclustersde8sectoresconuntamaode4KB(kilobytes)cada
uno,sisetieneunarchivodetextodeconunapalabrade4caractereselarchivoocupar4bytessinembargodadoquela
unidaddeasignacinmnimaesunclusterde4KB,estearchivode4bytesocuparunespaciodediscode4KB,
desperdiciandomilesdebytesnoutilizadosporotroladositenemosunarchivode4400bytes,steocupar1clustercompleto
mspartedeunsegundocluster,dejandoespaciosinutilizarenelsegundo.
Siquierencomprobarloanteriormenteexplicado,puedencrearunarchivodetextodeunapalabraconelblocdenotasyluego
fijarseenlapropiedadesdelmismo(presionandoelbotnderechodelmousesobreelarchivo)dondediceTamaode
ArchivoyTamaoendiscounoindicaeltamaoenbytesquetieneelarchivoyelotrocuantoespaciodeldiscoocupa.
Eltamaodelosclusterspuedevariarentre1sector(512bytes)y128sectores(64KB)estoseindicaenelmomentodela
particindeldisco.Clustersdemenortamaoreducenelrendimientodeldisco,mientrasqueclustersdemayortamao
desperdicianmayorcantidaddeespaciodedisco.Dependedeltamaopromediodelosarchivosquesealmacenarnperolo
mejoresencontraruntamaobalanceadoentrerendimientoyaprovechamientodelespaciodedisco.Porlogeneraleltamao
declusterporomisinqueutilizaelsistemaoperativoWindowsesde4KB,oseade8sectores.
CMOSEELIMINANLOSARCHIVOS
Cuandoeliminamosunarchivoyloenviamosalapapeleradereciclaje,apesarquecreemosquestehasidoeliminadopara
siempreyyalainformacinqueformapartedelmismonoseencuentraeneldiscolarealidadesotra.
Cuandoseeliminaunarchivo,losclustersquesteocupabanosonvaciadosoparaverlodesdeunpuntodevistamstcnico,
los1y0queformanlaestructuradelmismosiguenintactos.Entoncesporqudecimosquehasidoeliminado?
Enrealidadcuandoseeliminaunarchivoloquehaceelsistemaoperativoesmarcarlosclustersquesteocupabacomo
sobrescribiblesquedandoasdisponiblesparaserocupadosporalgnnuevoarchivoperohastaentoncessusdatosquedarn
8/9
intactosapesarqueelusuarionolopuedaver.
Porejemplosiseeliminaunarchivoqueocupaba40.000clustersyluegosealmacenaunarchivonuevode30.000clusters,el
sistemaoperativoprobablementeaprovechareseespaciosobrescribible,colocandoelnuevoarchivoenaquellosclustersy
sobrescribiendolosdatosdelarchivoanterior.Sinembargoanquedarunespaciodelarchivoanteriorsinsobrescribir,elcual
deberserocupadopordatosquerequieranmenorcantidaddeespacio.
QUESLAFRAGMENTACINDEDISCOS
Comoseexplicantes,cuandoelsistemaoperativoencuentraespaciosvacososobrescribibleslosuficientementegrandes
paracolocarunnuevoarchivostelosaprovecha.Sinembargoenundiscoconpocoespaciolibreelsistemaoperativo
intentarbuscarclusterssobrescribiblesdearchivoseliminados,paracolocarlosdatosnuevosaescribir.Perosielarchivoa
escribiresmsgrandequeelmayorespaciodisponibledeldisco,stedeberserfragmentadoysuspartesdebernser
colocadasendistintosespaciosdisponibles.Estoprovocaquecuandouncabezalleeunarchivofragmentadoenclusters
separados,debamoversedeunapartealaotradeldisco,reduciendodemaneraimportanteelrendimientodeldisco.
Enundiscodondeseescribenyeliminancontinuamentearchivos,elresultadoluegodeciertotiemposerunareduccinen
rendimientoyeficiencia.
Elproblemadelafragmentacinpuedesersolucionadomedianteelusodeundefragmentadorcomoelquevieneincluidoenel
sistemaoperativoWindows.Defragmentarundiscollevabastantetiempo,perosisenotaunadisminucindedesempeose
recomiendadefragmentareldiscorgido.
http://www.youbioit.com/es/article/sharedinformation/5320/comofuncionanlosdiscosrigidos
9/9
El rendimiento ms alto de discos duros viene de dispositivos que tienen un desempeo ms rpido en cada una
de sus caractersticas de rendimiento.[1][2] Estos dispositivos incluyen a aquellos con un medio rotatorio, llamados
aqu discos rotatorios, i.e., unidad de disco duro (HDD),
unidad de disquete (FDD), discos pticos (DVD-RW /
CD-RW), y tambin cubre dispositivos que no cuentan
con partes en movimiento es como los son las unidades
de estado slido (SSD). En cuanto a los SSDs, la mayora de los atributos relacionados con el movimiento de
componentes mecnicos no son aplicables, pero el dispositivo es afectado en la realidad por otros elementos con
principios elctricos que generan un retraso apreciable
cuando se aslan y se examinan.[3] Estas caractersticas
de rendimiento pueden ser agrupadas en dos categoras:
tiempo de acceso y tiempo de transferencia de datos (o tasa
de transferencia de datos).[4]
Tiempo de Acceso
El tiempo de acceso o tiempo de respuesta de un disco rotatorio es una medida del tiempo que se toma antes de que
la unidad pueda transferir datos. Los factores que controlan este tiempo en un disco rotatorio son, en su mayora,
relacionados con la naturaleza mecnica de los discos rotatorios y cabezales en movimiento. Se compone de unos
cuantos elementos independientemente mensurables que
son acumulados para obtener un solo valor al evaluar el
rendimiento de la unidad de almacenamiento. El tiempo
de acceso puede variar signicantemente por lo que, tpicamente, el fabricante provee este valor o es medido como un promedio por medio de puntos de referencia.[4][5]
En los SSDs, el tiempo de acceso depende de conexiones
de bsqueda de un tercio del nmero de pistas existentes en la unidad.[7][8][11] El tiempo de bsqueda promedio vara entre 4 ms para unidades de servidores de gama
alta,[12] hasta 15 ms para unidades en movimiento. Las
unidades en movimiento ms comunes tienen un tiempo
de bsqueda de 12 ms[13] mientras que las unidades de
escritorio rondan los 9 ms.
TIEMPO DE ACCESO
Medido en dBA, el ruido audible es relevante para ciertas aplicaciones como los DVRs, grabacin de audio digital y computadoras silenciosas. Los discos de bajo ruido
usan soportes de uidos, velocidades de rotacin menores (normalmente 5,400 RPM) y reducen la velocidad de
[14]
El primer HDD HDD tena un promedio de tiempo de
bsqueda para evitar clics audibles entre otros ruidos. Las
bsqueda de aproximadamente 600 ms, y para mediados
unidades cuyo factor de forma es menor (e.g. 2.5 pulgade la dcada de los 70s, los HDDs se encontraban dispodas) son frecuentemente ms silenciosas que aquellas de
[15]
nibles con tiempos de bsqueda de alrededor 25 ms.
mayor tamao.[17]
Las unidades de las primeras PCs usaban motores paso
a paso para mover los cabezales y como resultado tenan Algunos discos para PCs de escritorio o porttiles permitiempos de bsqueda de 80 a 120 ms, esto mejor rpi- ten al usuario modicar el balance entre rendimiento de
damente por la introduccin de la actuacin por medio de bsqueda y ruido producido por la unidad. Por ejemplo,
una bobina de voz en la dcada de los 80s, reduciendo los Seagate ofrece un conjunto de funciones en ciertas unidatiempos de bsqueda a un promedio de 20 ms. El tiempo des llamadas Sound Barrier Technology (Tecnologa de
de bsqueda ha continuado su mejora lentamente con el Barrera de Sonido) que incluye la capacidad de reducir
el ruido y la vibracin ya sea por el usuario o el sistetiempo.
ma mismo. Tiempos de bsqueda ms rpidos requieren
Otras dos medidas de bsqueda menormente comunes
ms energa para poder mover los cabezales rpidamente
son pista por pista y movimiento completo. La medida de
a travs del plato, esto genera ruidos fuertes desde el eje
pista por pista captura el tiempo que le toma a la unidad
del actuador y vibraciones ms intensas en el dispositivo
[7]
moverse de una pista a otra adyacente, este es el tiemya que los cabezales son rpidamente acelerados al iniciar
po de bsqueda menor posible y toma de .2 a .8 ms en
la bsqueda y desacelerados al nal de esta. La operacin
[6]
HDDs. La medida de movimiento completo se basa en
silenciosa reduce la velocidad de movimiento junto con
el movimiento desde la pista en la orilla de un extremo
la tasa de aceleracin pero con el costo de un rendimiento
del sector hasta la pista del extremo opuesto, este es el
reducido.[18]
[8]
movimiento ms lento posible.
1.1.1
Short stroking
Short Stroking es un trmino usado en los entornos de almacenamiento industriales para describir un HDD que
esta intencionalmente restringido en su capacidad total
para que el brazo del actuador no tenga que recorrer grandes distancias y solo cubra un nmero menor de pistas.
Esto limita la distancia mxima que separa a cualquier
ubicacin de memoria en el HDD de los cabezales y como resultado reduce los tiempos de bsqueda promedio
al igual que la capacidad total de la unidad. Esta reduccin del tiempo de bsqueda resulta en un nmero mayor
de IOPS (operaciones de entrada/salida por segundo por
sus siglas en ingls) disponibles por la unidad. La tasa de
costo y energa por cada byte usable de almacenamiento
incrementa segn se reduce el rango mximo de pistas.[16]
3
tos sistemas de discos pticos y discos de vinilo, se gira cabezal estabilizarse en la pista destino y detener su viel medio a una velocidad constante independientemente bracin para que no lea informacin de otra pista. Este
tiempo es muy pequeo con un valor menor a 0.1 ms, los
de donde se encuentre posicionado el cabezal.
modernos lo toman en cuenta en su
La densidad de la supercie es importante ya que la den- fabricantes de HDDs[25]
tiempo
de
bsqueda.
sidad de bits puede ser constante o no. Normalmente, al
usarse el mtodo VAC, las densidades no son constantes
por lo que las pistas largas en el extremo exterior del plato tienen el mismo nmero de bits que las pistas ms cortas en el extremo opuesto. Cuando la densidad de bits es
constante, las pistas del extremo exterior tienen ms bits
y generalmente est combinado con el mtodo VLC. En
ambos casos la tasa de transferencia entre bits contiguos
es constante. Este no es el caso con otros casos cuando se
usa una densidad de bits constante y el mtodo VAC.
1.2.1
El consumo de poder se ha vuelto cada vez ms importante, no solo en el mundo de los dispositivos mviles como
las laptops pero tambin en el mercado de los servidores y los equipos de escritorio. El incremento de densidad de equipos en un centro de datos ha llevado a conicto al proveer energa suciente a los dispositivos (especialmente en el spin-up), y al deshacerse del calor residual subsecuentemente producido junto con preocupaciones sobre cuestiones ambientales y de costo elctrico
(ver Green Computing). La mayora de las unidades de
disco duro operan con alguna de forma de administracin de poder que utiliza un nmero especco de modos de poder que ahorran poder por medio de la reduccin de rendimiento. Al implementarse, un HDD cambiara entre uno o ms de los modos ahorradores de poder
en funcin del uso de la unidad. La recuperacin desde
el estado ahorrador ms profundo, comnmente llamado
reposo, es cuando el HDD se encuentra detenido (o spundown), puede tomar varios segundos para alcanzar un estado completamente funcional por lo que se incrementa
la latencia.[22] Los fabricantes de unidades de almacenamiento han comenzado a producir unidades verdes que
incluyen funciones adicionales para reducir el consumo
de poder, estas pueden afectar adversamente la latencia
incluyendo velocidades ms lentas en el motor de giro y
deteniendo los cabezales fuera del rea del medio para
reducir friccin.[23]
3
transferencia de datos de disco-a-buer de ms de
1030 Mbit/s.[29] Esta tasa depende de la ubicacin
de la pista por lo que ser mayor en las zonas exteriores (donde hay ms sectores por pista) y menor
en las zonas interiores (donde hay menos sectores
por pista); generalmente es ms alta para discos de
unidades de 10,000 RPM.
Los FDDs cuentan con una tasa de transferencia de
datos disco-a-buer sostenida que son uno o dos
rdenes de magnitud ms lentos que la tasa de los
HDDs.
La tasa transferencia de datos disco-a-buer sostenida vara entre familias de unidades de discos pticos con la ms lenta siendo 1x CDs con 1.23 Mbit/s
siendo un rendimiento similar a los FDDs, por otro
lado est Unidad de Blu-ray 12x con 432 Mbit/s, valor cercano a un HDD normal.
CONSUMO DE PODER
3 Consumo de poder
El consumo de poder se ha vuelto cada vez ms importante, no solo en el mundo de los dispositivos mviles como
5
las laptops pero tambin en el mercado de los servidores y los equipos de escritorio. El incremento de densidad de equipos en un centro de datos ha llevado a conicto al proveer energa suciente a los dispositivos (especialmente en el spin-up), y al deshacerse del calor residual subsecuentemente producido junto con preocupaciones sobre cuestiones ambientales y de costo elctrico
(ver Green Computing). La disipacin del calor est relacionada directamente con el consumo de poder, y segn envejece una unidad, la tasa de fallas de discos incrementa a ms altas temperaturas.[37] Problemas similares
existen para largas compaas con miles de PCs de escritorio. Unidades de factor de forma menor generalmente
usan menos poder que las unidades de mayor tamao. Un
desarrollo interesante en esta rea es el control activo de
la velocidad de bsqueda con el propsito de que el cabezal llegue a su destino justo a tiempo para leer el sector
en vez de llegar lo ms rpido posible y luego tener que
esperar a que el sector llegue al cabezal (i.e. la latencia
rotacional).[38] Muchos de los fabricantes de discos duros
estn produciendo unidades verdes que necesitan mucho menos poder y enfriamiento. Muchas de estas unidades tienen platos girando ms lentamente (<5,400 RPM
comparado con 7,200, 10,000 o 15,000 RPM) por lo que
generan menos calor. El consumo de poder puede ser reducido deteniendo los cabezales cuando el disco no est
en uso reduciendo su friccin, ajustando las velocidades
de rotacin,[39] velocidades de rotacin y deshabilitando
componentes internos mientras no se usen.[40]
Los HDDs usan ms poder, brevemente, cuando estn
arrancando (spin-up). Aunque el efecto que tiene en el
consumo total de energa es mnimo, el mximo poder
exigido a la fuente de alimentacin, y por lo tanto su ndice pedido, puede ser reducido en sistemas con mltiples
unidades de almacenamiento controlando cuando los discos arrancan.
En discos duros SCSI, el controlador SCSI puede
administrar directamente el arranque y el reposo de
los discos duros.
Algunos discos duros PATA y SATA cuentan con
funciones como PUIS (power-up in standby), esto
no permite a los discos girar hasta que el controlador o el BIOS lo indiquen. Esto permite congurar
el sistema de manera que no se sature la fuente de
alimentacin con la demanda de energa al encender
el equipo.
Algunos SATA II y ms avanzados cuentan con
spin-up escalonado permitiendo a la computadora arrancar los discos duros secuencialmente distribuyendo la demanda de poder al encender el
equipo.[41]
La mayora de las unidades de disco duro operan con
alguna de forma de administracin de poder que utiliza un nmero especco de modos de poder que ahorran poder por medio de la reduccin de rendimiento.
4 Resistencia a golpes
La resistencia a golpes es especialmente importante para dispositivos mviles. Algunas laptops incluyen proteccin activa del disco duro que detiene los cabezales del
disco duro si se deja caer el equipo, con suerte antes del
impacto, para ofrecer la mejor oportunidad de supervivencia en tal evento. La mxima tolerancia a impactos a
la fecha es de 350 g cuando est funcionando el HDD y
1,000 g cuando no este funcionando.[43]
21/8/2016
DispositivosdeAlmacenamiento
2DispositivosdeAlmacenamiento
2.1IntroduccinAlmacenamientoSecundario
"Eldiseodependerdelaslimitantesdelmedioydelambiente"
Silosarchivossealmacenaranenmemoria(RAM),noexistiraunadisciplinaparaelestudiodelmanejodearchivos
Diferenciasentrememoriaprimariaysecundaria:
Laprimeraesconsiderablementemsrpidaencomparacionconlasegunda
Laprimeraposeeunaccesoaleatorioylasegundano
Laprimeraesdemasiadocara:
256MbRAM>$40usd
120GbDiscoDuro>$95usd
2.2Tiposdedispositivosdealmacenamiento
AccesoSerie:cintas
AccesoDirecto:discos
http://ict.udlap.mx/people/carlos/is215/ir02.html
1/20
21/8/2016
DispositivosdeAlmacenamiento
2.2.1CintasMagnticas
Accesoserialosequencial
Compactas,fcilesdetransportaryextremadamentebaratas
Anteriormenteseusaronparaalmacenaraplicaciones,actualmentesolorespaldos
Seusanmuchoencombinacioncon"robots"capacesdecambiarlascintasentreracksdealmacenamiento
2.2.2Discos
2.2.2.1Tiposdediscos
DiskDrives=Discosmagnticos
Peronotodoslosdiscossoniguales:
Magnticos
DiscosDuros(HardDisk)
Diskette(Floppy)3.5",51/4"8"
DiscosRemovibles(DiskCartridges)
IomegaZip(100Mb)
Jaz(1Gb)
Opticos
2.2.2.2PartesdeunDisco
Floppy51/4"
http://ict.udlap.mx/people/carlos/is215/ir02.html
2/20
21/8/2016
DispositivosdeAlmacenamiento
Partesdeundiscoduro
Organizacindelossectores
Alprincipionoeranadyacentes,existaunfactordeintercalamientode3o5
Actualmentegraciasalasvelocidadesdelosdiscossipuedenestaradyacentes
http://ict.udlap.mx/people/carlos/is215/ir02.html
3/20
21/8/2016
DispositivosdeAlmacenamiento
1platodediscocon2carasyunintercalamientode3
Clusters
RelacionadoacmoveelSistemaOperativoaldisco
Sonunnmerofijodesectorescontinuos(grupo)
Permitenqueselean"clusters"yasievitartenerqueleersectorporsector
ElnmerodesectoresagrupadossepuedeajustarenlamayoradelosOS(165535),default3512
Tip:clustersgrandesparaarchivosgrandesyviceversa
Extents
Cuandounarchivonopuedeestarensectorescontiguosocurreun"extent"
Sihaydemasiadosextentstenemosunproblemaporqueseincrementaeltiempodeaccesoadisco
FragmentacinInterna
Sucedecuandounarchivonoesdelmismotamaoquelossectoresoclusters
Tip:clustersgrandesparaarchivosgrandesyviceversa
Clculosparaconocerinformacindelosdiscosduros
TrackCapacity=numberofsectorspertrackXbytespersector
CylinderCapacity=numberofsectorspercylinderXtrackcapacity
DriveCapacity=numberofcylindersXcylindercapacity
Nmerodebytesporsector=512
Nmerodesectoresportrack=63
Nmerodetracksporcilindro=16
Nmerodecilindros=4092
63*512=32256
16*32256=516096
4092*516096=2,111,864,832=2.1Gb
Nmerodebytesporsector=512
Nmerodesectoresportrack=63
Nmerodetracksporcilindro=16
Nmerodecilindros=6279
63*512=32256
16*32256=516096
59321*516096=30,615,330,816=30Gb
2.2.2.3Velocidadesdediscos
http://ict.udlap.mx/people/carlos/is215/ir02.html
4/20
21/8/2016
DispositivosdeAlmacenamiento
InternalMediaTransferRate
Lavelocidadinternadeldisco,paraleerlainformacin,alrededordeuno500Mbits/s(62.5Mb/s)enpromedio.
dleSpeed
(RPM)
3,600
4,200
4,500
4,900
5,200
5,400
7,200
10,000
12,000
15,000
Average
Latency(Half
TypicalCurrentApplications
Rotation)(ms)
8.3
Formerstandard,nowobsolete
7.1
Laptops
6.7
IBMMicrodrive,laptops
6.1
Laptops
5.8
Obsolete
5.6
LowendIDE/ATA,laptops
4.2
HighendIDE/ATA,LowendSCSI
3.0
HighendSCSI
2.5
HighendSCSI
2.0
TopofthelineSCSI
External(Interface)TransferRate
Lavelocidadparatranferirlosdatosdesdeeldiscoalrestodelacomputadoraestevalorsiempresermayorqueel
"internalrate"yaquehablamosdeactividadeselectrnicas.Lavelocidaddependedeltipodeinterfacequesoporteel
disco,estosemencionaenlasseccionessiguientes.
2.2.2.4Interfacesparatransmisindedatos
TiposdeInterfacesparatransmisindedatos:
IDE:IntegratedDriveElectronics
ATA,FastATA,FastATA2conLBA(LogicalBlockAddressing)
UltraATA(UATA)
DirectMemoryAccess(DMA)30Mb/s
UltraDirectMemoryAccess(UDMA)60100Mb/s
SerialATA150Mb/s
USB:Universalserialbus480Mbits/s
SCSI:SmallComputerSystemInterface5320Mb/s
FiberChannel2Gbits/s
UltraATA
http://ict.udlap.mx/people/carlos/is215/ir02.html
5/20
21/8/2016
DispositivosdeAlmacenamiento
DirectMemoryAccess(DMA):eseltrminoparaidentificaralprotocolodetransferenciaatravsdelcualun
dispositivopuedeenviar/recibirinformacindirectamentedememoriasinutilizarelprocesador.
UnconectorIDE/ATAenundisco(arriba)yuncableregularde40conductoresIDE/ATAcable(abajo).
UltraDMA:agregatransicionenambosextremosdelreloj,doblandoaslavelocidadtambinintroduceelusodeCRC
(cyclicalredundancychecking).
http://ict.udlap.mx/people/carlos/is215/ir02.html
6/20
21/8/2016
DispositivosdeAlmacenamiento
80conductorUltraDMAIDE/ATAinterfacecable.
Ntenselosconectoresazul,grisynegro,ascomolos80cables.
Lamarcarojaindicandoelcable#1estpresentetambin(aunquenoseaprecieenlafoto)
Comparacinentreloscablesde80conductoresy40conductores.
SCSI(SmallComputerSystemInterface)
SCSInoesnicamenteunainterface,estodounprotocolodecomunicacinquehaidoevolucionandoconeltiempo
hastallegaraconvertirseenlainterfacemsrpidaenelmercado.
Transfer
Mode
Bus
Bus
Defining
Width Speed
Standard
(bits) (MHz)
Through
put
(MB/s)
Maximum
CableLength
(m)
Cabling
"Regular"
SCSI(SCSI
1)
SCSI1
6
50pin
25
WideSCSI
SCSI2
16
10
68pin
25
FastSCSI
SCSI2
10
10
50pin
25
FastWide
http://ict.udlap.mx/people/carlos/is215/ir02.html
7/20
21/8/2016
DispositivosdeAlmacenamiento
FastWide
SCSI
SCSI2
16
10
20
3
68pin
25
1.5
UltraSCSI
SCSI3/
SPI
20
20
50pin
25
1.5
WideUltra
SCSI
SCSI3/
SPI
16
20
40
68pin
25
12
Ultra2SCSI
SCSI3/
SPI2
40
40
50pin
25
25
12
WideUltra2
SCSI
SCSI3/
SPI2
16
40
80
68pin
25
25
Ultra3SCSI
SCSI3/
SPI3
40
(DT)
16
160
12
68pin
25
Ultra160(/m)
SCSI
SCSI3/
SPI3
40
(DT)
16
160
12
68pin
25
Ultra160+
SCSI
SCSI3/
SPI3
40
(DT)
16
160
12
68pin
25
Ultra320
SCSI
SCSI3/
SPI4
16
80
(DT)
320
12
68pin
25
Lostiposdeconectoreshanidocambiando,permitiendoprincipalmente:
Enviarmayorcantidaddedatosconmayorvelocidadymayorconfiabilidad
http://ict.udlap.mx/people/carlos/is215/ir02.html
8/20
21/8/2016
DispositivosdeAlmacenamiento
Tenerunmenortamaodelconectorparaadecuarloadistintosdispositivos
DShell(DSub,DD):ElprimerSCSIstandard,SCSI1
UnconectormachoDD50SCSI
Seobservaelmetal"Dshaped"alrededordelospins.
Cuidado:ElconectorAppleDB25SCSIesmecnicamenteindnticoalconectorparalelodeunaPC,ungravedao
puedeocurrir.
Centronics:otroconectorSCSI1standardde50pin,tambinllamado"Centronicsconnector"
Conectormacho(arriba)yhembra50pinCentronicsconnectors.
Seobservaquelospinssonplanosylasesquinasposeenpestaasparaconectarse.
HighDensity(HD):ElconectorDshellbasadoenelSCSI1standardfuereemplazadoporunonuevodealta
densidadbasadpenSCSI2.
Machosde50pin(izquierda)y68pinconectoresdealtadensidadexternos.
VeryHighDensityCableInterconnect(VHDCI):ParamejorardemaneranotablelaflexibilidaddelhardwareSCSI
surgeestenuevoconector
Amale68pinVHDCIconnector.
Conectoresinternos(unshielded):
http://ict.udlap.mx/people/carlos/is215/ir02.html
9/20
21/8/2016
DispositivosdeAlmacenamiento
RegularDensity:DefinidoparaSCSI1standardparadispositivosde8bits.Esunaconectorrectangularde25
pinsmuysimilaraldelosIDE/ATAexceptoportener5pinsextraencadarengln.
Macho(arriba)yhembra50pinregulardensity.
HighDensity:SCSI2definiestosconectoresquellamadosdealtadensidadporqueelespacioentrepinsesde
lamitaqueenlosantiguosSCSI1hacindolosmuchomspequeos.
Unmachointerno,highdensity68pinconnector.
SingleConnectorAttachment(SCA):EselestandarparaconectoresSCSIinternos,norefirindosealoscables
sinolainterfaceintegradaenalgunatarjeta.
Unconectorhembrade80pinSCAconnector.
SerialATAInterface
http://ict.udlap.mx/people/carlos/is215/ir02.html
10/20
21/8/2016
DispositivosdeAlmacenamiento
1stgeneration
Approximate
150MB/s
DataRate
Approximate
1.5GB/s
BusSpeed
Introduction Mid2002
Signal
compatibility
2ndgeneration 2ndgeneration
300MB/s
600MB/s
3.0GB/s
6.0GB/s
Mid2004
Compatible
w/1st
generation
Mid2007
Compatiblew/
2ndgeneration
UniversalSerialBus(USB)
Velocidadde480Mbits/s
Elcablepuedetenerunlargode5metros.
FCFiberChannel
Velocidadde2Gbits/s
Elcablepuedemedirhasta15km
Ejemplosdeconfiguracionesdediscos
http://ict.udlap.mx/people/carlos/is215/ir02.html
11/20
21/8/2016
DispositivosdeAlmacenamiento
2.2.2.5DiskHandling
Losdiscospuedensufrirsobrecalentamiento,poresoenalgunoscasosserecomiendanalgunos"DriveCoolers"que
sonventiladoresmuysimilaresalosqueusaelCPU.Sepeganaldiscodirectamenteconunacintatrmicasobreel
disco.
Otramaneradeenfriarlosdiscosesatravsde"BayCoolers"quesongabinetesporejemplode5.25"queenvuelven
aldrivede3.5"yproveenunaexcelenteventilacin.
http://ict.udlap.mx/people/carlos/is215/ir02.html
12/20
21/8/2016
DispositivosdeAlmacenamiento
Paratranportarundiscoesimportantemantenerloalejadodealgunadescarga,anlaestticaqueloshumanos
podemostener.
Antistaticbag
SeaShell
2.2.2.6RetailvsOEMdrives
Undisco"Retail"incluye:
HardDiskDrive:Eldiscoconsuempaque
InstruccionesdeInstalacin
Driversy/outileras.
MountingHardware:tornillosy/oplacasparainstalareldiscoenelgabinete
InterfaceCable
TarjetadeGaranta
Cajita
EncontrasteunOEM"originalequipmentmanufacturer"incluye:
http://ict.udlap.mx/people/carlos/is215/ir02.html
13/20
21/8/2016
DispositivosdeAlmacenamiento
HardDiskDrive:Eldiscoconsuempaque
Jumpers:jumpersparaconfigurareldisco
2.2.2.7CDROM/DVDROM
Muypopularesdebidoaquesurgieronconfinesmusicales,deahqueseantaneconmicos
Elesquemavistoenlosdiscosduros(sectores,tracks,etc)noaplicaaquyaquelainformacinesalmacenada
enformadeespiral
Escrituradelcentrohaciaafueradeldisco
2.3SubsistemasdeDisco
Problema:
Capacidadlimitadaencuantoalespaciodealmacenamientopordisco.
ExisteuncuellodebotellaenloqueserefiereaI/Oparaaquellossistemasquerequierendegran
performance
Accesoadisco(milisegundos)vsRAM(nanosegundos)
Soluciones:
RAID(RedundantArraysofInexpensive/IndependientDisks)
DiskCatching
2.3.1RAID
Existen6nivelesdiferentesloscualesusanmltiplesdiscosdurosparamejorarlavelocidad,la
fiabilidadoambos.
Losniveles15estnrelacionadosconlafiabilidad(redundanciadedatos)peronoofrecengrandes
mejorasenloqueserefiereaoperacionesdelectura.
Laredundanciapermitetenermltiplescopiasdelosmismosdatosenvariosdiscosdemaneraquesi
algunofallalosdatosnosepierden.
ParaqueunRAIDfuncionequerequiereinvertirenunhardwarequepermitaobtenerlosbeneficios
dedichatcnica,deotramaneraelmaximizarelusodecacheesunabuenasolucin.
RAID0:
Especficoparaaumentarelperformance,noproveeredundancia
Losdatosseenvan(almacenan)enlosdiferentesdiscos
Paralacomputadoravariosdiscosseapreciancomosifueran1solo.
Serequierenalmenos2discosparaimplementarlo
RAID1:
Estenivelproduceun"espejo"(mirror)delosdatos,losmismosdatossonalmacenadosen2discos
Estosdiscospuedenonoestarenlamismamquina
Laslecturastiendenasermsrpidasquesisehicierandeunsolodisco,yaquelosdatospueden
serledossimultneamentedeambos.
Lasescriturassuelensermslentasyaqueseestnescribiendo2copiasdelosdatos.
Serequierenalmenos2discosparaimplementarlo
http://ict.udlap.mx/people/carlos/is215/ir02.html
14/20
21/8/2016
DispositivosdeAlmacenamiento
RAID2:
Utilizacdigosdecorreccindeerroresparacompensarlacarenciadedichafuncionalidadenalgunos
discos
Actualmenteyanoesmuyutilizadodebidoaquelamayoradelosdispositivosposeedicha
caracterstica.
RAID3:
Almacenatodalainformacinendiferentesdiscosperoanivelbyte.
Undiscoestdedicadoexclusivamenteaguardarelbitdeparidad,demaneraquesialgundiscofalla
losdatossepuederecuperargraciasaestebit.
Serequierenalmenos3discosparaimplementarlo
RAID4:
SimilaraRAID3conladiferenciaquelaparidadsealmacenaporbloques.
Laparidadtambinsealmacenaenunsolodisco
Enamboscasoseldiscodeparidadsepuedevolveruncuellodebotella
Serequierenalmenos3discosparaimplementarlo
RAID5:
SemejanteaRAID4soloqueconladiferenciadequelaparidadsedivideentretodoslosdiscosdel
arreglo.
http://ict.udlap.mx/people/carlos/is215/ir02.html
15/20
21/8/2016
DispositivosdeAlmacenamiento
Resistelacadaofalladeundisco
Lasescriturassonlentasdebidoaqueunsencillaoperacindeescriturarequiereleerlosdatosdel
bloqueascomosuparidad,recalcularlaparidadconlosnuevosdatosyescribirentrelosdiferentes
discosdelraid.
Sinembargolagranmejoraentiempodelecturaminimizaeloverheadquesegastaenlasescrituras.
Elrendimientopuedellegaraserigualomejorquesitrabajramosconunsolodisco.
Serequierenalmenos3discosparaimplementarlo
OtrosNivelesdeRAID,basadosenlasideasgeneralesdelos6nivelesbsicos(noseencuentran
disponiblesentodaslasimplementacionesdisponibles)
RAID6
SimilaraRAID5
Incluyeunesquemadeparidadadicionaldistribuidoatravsdelosdiferentesdiscos
SerequierenalmenosN+2discosparaimplementarlo
RAID7
Principalmenteimplementadoanivelhardware
Aprovechapropiedaddeunsistemaoperativoinmerso(embedded)paratenerlasventajasdelbusde
transferencia
Permitegrandesvelocidadesentransferenciadedatos
MarcaRegistradaporStorageComputerCorporation.
RAID10
Esunarreglodeclases(stripes),cadaunadeellascompuestaporunarreglodediscosconRAID1
Escostodeestaimplementacinesdemasiadoalto,tantoenrecursoscomoendinero
Serequierenalmenos4discosparaimplementarlo
http://ict.udlap.mx/people/carlos/is215/ir02.html
16/20
21/8/2016
DispositivosdeAlmacenamiento
RAID53
Esunarreglodeclases(stripes),cadaunadeellascompuestaporunarreglodediscosconRAID3
Estoofrecegranvelocidadperoelcostoesdemasiadoalto
Serequierenalmenos5discosparaimplementarlo
RAID0+1
Esunarreglodediscosespejo
CadasegmentodediscosestconfiguradocomounRAID0
ImplementacionesdeRAID
Conceptosrelacionados:
DiscSpare(HotSpare):discosoparticionesderespaldoqueentran
automticamentesialgunodelosdiscosdelarreglotienealgunafalla
DispositivosHotPlug:mquinas/discosquepuedenseragregadosal
arregloencalientesinnecesidaddereiniciarlamquina.
UnRAIDpuedeestarimplementadoenHardwareoenSoftware
Hardware:Sonmsrpidos,peromscostosos
http://ict.udlap.mx/people/carlos/is215/ir02.html
17/20
21/8/2016
DispositivosdeAlmacenamiento
SunStorEdgeT3169Tb
Software:
SolarisVolumeManager(SolsticeDiskSuite)
LinuxKernels
http://www.linux.org/docs/ldp/howto/SoftwareRAIDHOWTO.html
WindowsManagementConsole>DiskManagement
2.3.2DiskCatching
http://ict.udlap.mx/people/carlos/is215/ir02.html
18/20
21/8/2016
DispositivosdeAlmacenamiento
UtilizalamemoriaRAMdelsistemaounamemoriacachdeldiscopara"cachar"elI/Odeldisco.
Debidoaestasmemoriasmsrpidaselrendimientoaumenta.
Cuandoseleeralgodeldiscolomsrecientesealmacenaenestacachedemaneraquecuandose
haceotrallamadaaldiscostaseinterceptayserevisasilosdatosseencuentranenelbufferde
memoria,siesaslosdatosseutilizandestaynodeldisco.
ImplementacindeCatching
LaconfiguracindelDiskCatchingsuelehacerseenelBIOSdelamquina.
AlgunosSistemasOperativosautomticamenteutilizanlamemoriaRAMlibrepararealizarelcatching
Laincludaeneldisco,actualmente2MBendrivesIDE/ATAydehasta16MBenalgunosSCSI.
2.4NAS(NetworkAttachedStorage)
Esundispositivoqueposeeundiscoduro,unatarjetacontroladora,unatarjetadered,yelsoftware
necesarioqueincluyelosprotocolosparaquelosarchivosseanalcanzablesdesdelasdemsmquinas
(NFS,CIFS,InternetworkPacketExchange)
2.5SAN(StorageAreaNetwork)
Reddedicadacreadaparapermitiraungrupodeservidoreselcompartirsistemasdealmacenamientode
altavelocidad
http://ict.udlap.mx/people/carlos/is215/ir02.html
19/20
21/8/2016
DispositivosdeAlmacenamiento
Libro:UsingSANsandNAS,Oreilly
2.6CAS(ContentAddressedStorage)
Referenciastomadasde
http://www.acnc.com
http://www.storage.com
http://www.emc.com
http://ict.udlap.mx/people/carlos/is215/ir02.html
20/20
La tecnologa inicial aplicada a los discos duros era relativamente simple. Consista en recubrir con material magntico un disco de metal que era formateado en pistas
concntricas, que luego eran divididas en sectores. El cabezal magntico codicaba informacin al magnetizar diminutas secciones del disco duro, empleando un cdigo
binario de ceros y unos. Los bits o dgitos binarios
as grabados pueden permanecer intactos durante aos.
Originalmente, cada bit tena una disposicin horizontal
en la supercie magntica del disco, pero luego se descubri cmo registrar la informacin de una manera ms
1
3 ESTRUCTURA FSICA
compacta.
El mrito del francs Albert Fert y al alemn Peter
Grnberg (ambos premio Nobel de Fsica por sus contribuciones en el campo del almacenamiento magntico) fue el descubrimiento del fenmeno conocido como
magnetorresistencia gigante, que permiti construir cabezales de lectura y grabacin ms sensibles, y compactar ms los bits en la supercie del disco duro. De estos
descubrimientos, realizados en forma independiente por
estos investigadores, se desprendi un crecimiento espectacular en la capacidad de almacenamiento en los discos
duros, que se elev un 60 % anual en la dcada de 1990.
En 1992, los discos duros de 3,5 pulgadas alojaban 250
MB, mientras que 10 aos despus haban superado 40
GB (40 000 MB). A la fecha (2016), ya se dispone de en
el uso cotidiano con discos duros de ms de 5 TB, esto
es, 5000 GB (5 000 000 MB).
Componentes de una unidad de disco duro. De izquierda a derecha, la superior: tapa, carcasa, plato, eje; la inferior: espuma
aislante, circuito impreso de control, cabezal de lectura/escritura,
actuador e imn, tornillos.
Estructura fsica
3.1 Direccionamiento
3.2
Factor de Forma
Pista/
Cilindro
disco duro. As las pistas se agrupan en zonas de pistas de igual cantidad de sectores. Cuanto ms lejos
del centro de cada plato se encuentra una zona, sta
contiene una mayor cantidad de sectores en sus pistas. Adems mediante ZBR, cuando se leen sectores
de cilindros ms externos la tasa de transferencia de
bits por segundo es mayor; por tener la misma velocidad angular que cilindros internos pero mayor
cantidad de sectores.[3]
Sector geomtrico: son los sectores contiguos pero
de pistas diferentes.
Sector
Cabezas
8 cabezas,
4 platos
A
C
Seis unidades de disco duro con carcasas abiertas mostrando platos y cabezales; 8, 5, 3, 2, 1 y 1 pulgadas de dimetro de
los discos que representan.
4
de forma compatible con los disco duros, SA1000,
teniendo las mismas dimensiones y siendo compatible con la interfaz de 8 pulgadas de las disqueteras.
Haba dos versiones disponibles, la de la misma
altura y la de la mitad (58,7 mm).
5,25
pulgadas:
146,141,4203
mm
(5,751,638 pulgadas). Este factor de forma
es el primero usado por los discos duros de Seagate
en 1980 con el mismo tamao y altura mxima de
los FDD de 5 pulgadas, por ejemplo: 82,5 mm
mximo.
ste es dos veces tan alto como el factor de 8
pulgadas, que comnmente se usa hoy; por ejemplo:
41,4 mm (1,64 pulgadas). La mayora de los
modelos de unidades pticas (DVD/CD) de 120
mm usan el tamao del factor de forma de media
altura de 5, pero tambin para discos duros. El
modelo Quantum Bigfoot es el ltimo que se us a
nales de los 90'.
5.1
5400 RPM (ya hay discos IDE de 7200 RPM), a menos que te lo den a un muy buen precio, ni un disco
SCSI de menos de 7200 RPM (los hay de 10.000
RPM). Una velocidad de 5400 RPM permitir una
transferencia entre 10MB y 16MB por segundo con
los datos que estn en la parte exterior del cilindro o
plato, algo menos en el interior.revoluciones por minuto de los platos. A mayor velocidad de rotacin,
menor latencia media.
Tasa de transferencia: velocidad a la que puede
transferir la informacin a la computadora una vez
que la aguja est situada en la pista y sector correcDos conectores ATA macho en placa base.
tos. Puede ser velocidad sostenida o de pico.
Otras caractersticas son:
Cach de pista: es una memoria tipo ash dentro
del disco duro.
SCSI
SAS
5.1
5.1.3
SCSI
FUNCIONAMIENTO MECNICO
6.1 Integridad
SAS
5.2
Fuente de alimentacin
Funcionamiento mecnico
7
contaminacin (que no se disipa la supercie magntica
del disco) llega a dar lugar a un sobrecalentamiento temporal en el cabezal, debido a la friccin con la supercie
del disco, y puede hacer que los datos no se puedan leer
durante un periodo corto de tiempo hasta que la temperatura del cabezal se estabilice (tambin conocido como
aspereza trmica, un problema que en parte puede ser
tratado con el ltro electrnico apropiado de la seal de
lectura).
Los componentes electrnicos del disco duro controlan
el movimiento del accionador y la rotacin del disco, y
realiza lecturas y escrituras necesitadas por el controlador
de disco. El rmware de los discos modernos es capaz de
programar lecturas y escrituras de forma eciente en la
supercie de los discos y de reasignar sectores que hayan
fallado.
Mantenimiento y cuidado
Los discos duros tambin necesitan cuidado, siga las siguientes instrucciones para evitar la prdida de datos y
evitar que el disco duro quede inservible:
1. No quitar la etiqueta ligeramente plateada que se encuentra a los lados y/o algunas veces en la parte frontal, esto puede causar que entre polvo y raye el disco,
asimismo el polvo que pueda contener electricidad
puede mover los datos y causar daos.
2. No tapar los agujeros pequeos, ya que son un ltro
de aire y puede causar sobrecalentamiento.
3. Realizar peridicamente copias de seguridad en discos DVD, Blu-ray o en un disco duro externo de la
informacin importante, eventos como apagones o
ataques de virus pueden daar el disco duro o la informacin, si ocurre un apagn desconectar el ordenador. Si se usa un servicio de alojamiento de archivos, no debe ser la nica opcin ni se debe guardar
ah informacin delicada o crtica, pues el servicio
puede fallar, ser clausurado o atacado.
4. Se recomienda crear al menos dos particiones: Una
para el sistema operativo y los programas y otra para los datos del usuario. De esta forma se pueden
facilitar la copia de seguridad y la restauracin, al
posibilitar retroceder o reinstalar completamente el
sistema operativo sin perder los datos personales en
el proceso.
5. Optimizar (desfragmentar) el disco duro regularmente usando la herramienta incluida en el sistema
operativo o un programa de otro fabricante para reducir el desgaste, facilitar la recuperacin en caso
de un problema, y mantener una buena velocidad de
respuesta. Se recomienda una frecuencia de cuatro
a seis meses dependiendo del uso.
8 Galera de imgenes
Disco duro de una laptop.
Unidad de disco duro de 2" que est abierto, exponiendo su funcionamiento interno. Disco duro Western Digital Scorpio Blue de 500 GB con conexiones
SATA; es comn en computadoras porttiles.
Interior de un disco duro; se aprecia la supercie de
un plato y el cabezal de lectura/escritura retrado, a
la izquierda.
Interior de la unidad de disco duro; se aprecian dos
platos con sus respectivos cabezales.
Cabezal del disco duro.
Cabezal de disco duro IBM sobre el plato del disco.
Pila de cabezales de disco duro Western Digital
(WD2500JS-00MHB0).
Un peine, 3 brazos, 6 cabezales, 3 platos.
Cabeza de disco duro sobre plato rayado. Rayaduras
en el plato producidas por golpes mientras la unidad
estaba en funcionamiento.
Cables IDE, con 40 pines (izquierda) y 80 pines (derecha).
Cable cinta para conectar la placa base con dos dispositivos IDE (p.e.: disco rgido o lectora de CD).
Comparacin de cables ATA de 40 y 80 pines y SATA.
Zcalo con canal de indexacin para conector IDC
(Insulation-Displacement Connector, conector por
desplazamiento del aislante).
Partes y conexiones de un disco rgido SATA.
10 FABRICANTES
Cable delgado SATA utilizado para conectar una
delgada unidad ptica a la interfaz SATA poder obtener de la placa base, y conector Molex para fuente
de alimentacin.
Presente y futuro
Actualmente la nueva generacin de discos duros utiliza la tecnologa de grabacin perpendicular (PMR), la
cual permite mayor densidad de almacenamiento. Tambin existen discos llamados Ecolgicos (GP Green
Power), los cuales hacen un uso ms eciente de la energa.
9.1
10 Fabricantes
9
hacia 1999, aunque despus intent fabricar discos duros
en India. Su vuelta a la fama se debi a la creacin de un
nuevo formato de tamao de 3 para porttiles. Quantum
e Integral tambin investigaron el formato de 3, pero nalmente se dieron por vencidos. Rodime fue tambin un
importante fabricante durante la dcada de 1980, pero
dej de hacer discos en la dcada de 1990 en medio de
la reestructuracin y ahora se concentra en la tecnologa
de la concesin de licencias; tienen varias patentes relacionadas con el formato de 3,5.
1988: Tandon vendi su divisin de fabricacin de
discos duros a Western Digital, que era un renombrado diseador de controladores.
1989: Seagate compr el negocio de discos de alta
calidad de Control Data, como parte del abandono
de Control Data en la creacin de hardware.
1990: Maxtor compr MiniScribe que estaba en
bancarrota, hacindolo el ncleo de su divisin de
discos de gama baja.
fabricacin de discos de IBM) y Fujitsu, que sigue haciendo discos porttiles y discos de servidores, pero dej
de hacer discos para computadoras de escritorio en 2001,
y el resto lo vendi a Western Digital. Toshiba es uno de
los principales fabricantes de discos duros para porttiles
de 2,5 pulgadas y 1,8 pulgadas. TrekStor es un fabricante
alemn que en 2009 tuvo problemas de insolvencia, pero
que actualmente sigue en activo. ExcelStor es un pequeo
fabricante chino de discos duros.
Decenas de exfabricantes de discos duros han terminado
con sus empresas fusionadas o han cerrado sus divisiones de discos duros, a medida que la capacidad de los
dispositivos y la demanda de los productos aument, los
benecios eran menores y el mercado sufri una signicativa consolidacin a nales de los aos 1980 y nales de los aos 1990. La primera vctima en el mercado de las PC fue Computer Memories Inc.; despus de
un incidente con 20 MB defectuosos en discos en 1985,
la reputacin de CMI nunca se recuper, y salieron del
mercado de los discos duros en 1987. Otro notable fracaso fue el de MiniScribe, quien quebr en 1990: despus
se descubri que tena en marcha un fraude e inaba el
nmero de ventas durante varios aos. Otras muchas pequeas compaas (como Kalok, Microscience, LaPine,
Areal, Priam y PrairieTek) tampoco sobrevivieron a la
expulsin, y haban desaparecido para 1993; Micropolis
fue capaz de aguantar hasta 1997, y JTS, un recin llegado a escena, dur solamente unos aos y desapareci
1994: Quantum compr la divisin de almacenamiento de Digital Equipment Corporation otorgando al usuario una gama de discos de alta calidad
llamada ProDrive, igual que la gama tape drive de
Digital Linear Tape.
1995: Conner Peripherals, que fue fundada por uno
de los cofundadores de Seagate junto con personal
de MiniScribe, anunciaron un fusin con Seagate, la
cual se complet a principios de 1996.
1996: JTS se fusion con Atari, permitiendo a JTS
llevar a produccin su gama de discos. Atari fue vendida a Hasbro en 1998, mientras que JTS sufri una
bancarrota en 1999.
2000: Quantum vendi su divisin de discos a Maxtor para concentrarse en las unidades de cintas y los
equipos de respaldo.
2003: siguiendo la controversia en los fallos masivos
en su modelo Deskstar 75GXP, Pioneer IBM vendi
la mayor parte de su divisin de discos a Hitachi,
renombrndose como Hitachi Global Storage Technologies, Hitachi GST.
2003: Western Digital compr Read-Rite Corp.,
quien produca los cabezales utilizados en los discos
duros, por 95,4 millones de dlares en metlico.
2005: Seagate y Maxtor anuncian un acuerdo bajo
el que Seagate adquirira todo el stock de Maxtor.
Esta adquisicin fue aprobada por los cuerpos regulatorios, y cerrada el 19 de mayo de 2006.
2007: Western Digital adquiere Komag U.S.A., un
fabricante del material que recubre los platos de los
discos duros.
10
13 BIBLIOGRAFA
11
Vase tambin
12 Referencias
[1] C. Dennis Mee, Eric D. Daniel (1996). McGraw-Hill, ed.
Magnetic Storage Handbook 2nd Ed.. ISBN 0-07-0412758.
[2] http://www.idema.org/
[3] http://www.youbioit.com/es/article/shared-information/
5320/como-funcionan-los-discos-rigidos Cmo funcionan los discos rgidos
[4] Toshiba America Electronic Components, Inc. Solid State Drives Memory Products. Consultado el 17 de julio de
2009.
[5] http://javierin.com/2014/06/21/durabilidad-de-los-ssd/
Cunto dura un SSD? Qu determina la durabilidad de
los SSD?
[6] http://www.tuexpertoit.com/2011/12/22/
la-diferencia-de-precio-entre-ssd-y-discos-duros-se-reduce/
Comparativas de precios SSD versus disco duro.
[7] http://alt1040.com/2010/11/
discos-de-estado-solido-ssd-o-como-hacer-que-tu-computadora-sea-realmen
utm_source=self&utm_medium=nav&utm_campaign=
Relacionados Dispositivis de estado slido (SSD) o cmo
hacer que tu computadora sea realmente rpida.
[8] http://sololinex.wordpress.com/2008/09/09/
comparativa-entre-disco-duro-y-disco-ssd-en-video/
#more-755 Comparativa entre disco duro y SSD en
vdeo.
[9] http://web.archive.org/web/http://www.diarioti.com/
noticia/Presentan_la_primera_supercomputadora_
Flash_del_mundo/30931 Presentan la primera supercomputadora Flash del mundo.
Sistema de archivos
Tabla de particiones GUID
Unidad de estado slido
Caractersticas de rendimiento de disco duro
11.1
[10] http://www.orlandoalonzo.com.mx/tecnologia/
ssd-la-verdad-sobre-el-consumo-de-energia/
la verdad sobre el consumo de energa.
SSD:
[11] http://www.seagate.com/www/es-es/products/laptops/
laptop-hdd/
[12] Oyanedel, Juan Pablo (27 de agosto de 2014). Seagate
estrena el primer disco duro de 8 TB en el mercado. Consultado el 29 de agosto de 2014.
Seagate
Toshiba
Verbatim
Western Digital
Samsung
13 Bibliografa
Ciriaco Garca de Celis (1994). 12.7: El disco duro
del AT (IDE, MFM, BUS LOCAL).. El universo
digital del IBM PC, AT y PS/2 (4 edicin). Facultad
de Ciencias de Valladolid: Grupo Universitario de
Informtica.
11
14
Enlaces externos
Wikimedia Commons alberga contenido multimedia sobre Unidad de disco duro. Commons
Wikilibros
12
15
15.1
Unidad de disco duro Fuente: https://es.wikipedia.org/wiki/Unidad_de_disco_duro?oldid=92998064 Colaboradores: Joseaperez, Oblongo, Moriel, Josmanbernal, Abgenis, Sauron, JorgeGG, Lourdes Cardenal, ManuelGR, Sanbec, Head, Zwobot, Dionisio, Bigsus, Aloriel, Rosarino, Dodo, Triku, Sms, Rsg, Tostadora, Jondel, Chvsanchez, Murphy era un optimista, Galio, ChemoWeb, Symonblade, Krous~eswiki,
Robotito, PeiT, Cinabrium, 142857, Robotico, Quistnix, Kordas, MatiasBellone, Mnts, Renabot, Richy, Sonett72~eswiki, Deleatur, Petronas, Javierchiclana, Hispa, Airunp, Jiuck, Edub, Taichi, Emijrp, Rembiapo pohyiete (bot), Marco Regueira, Edtruji, Aliman5040, Magister
Mathematicae, Kokoo, Lechpe, RobotQuistnix, Francosrodriguez, Platonides, Alhen, Superzerocool, Chobot, Palica, Fjjf~eswiki, Caiserbot, Yrbot, BOT-Superzerocool, Oscar ., Martincarr, Jamrojo, Maleiva, Vitamine, .Sergio, YurikBot, Mortadelo2005, Museo8bits, Echani,
GermanX, Equi, Lobillo, Gaijin, KnightRider, Richzendy, Albasmalko, Carlos Humberto, Tigerfenix, Marb, Santiperez, Txo, HECTOR
ARTURO AZUZ SANCHEZ, Eskimbot, Baneld, Gtz, Maldoror, Ciencia Al Poder, Cheveri, Haitike, Tomatejc, Jarke, Filipo, Kaiba0,
Carlosblh, Ivan romero, BOTpolicia, Qwertyytrewqqwerty, CEM-bot, Damifb, Laura Fiorucci, Heavyrock, Tripy, JMCC1, Alexav8, Ignacio Icke, Jjvaca, Baiji, Roberpl, Zendel, CERVANTES JACP, Antur, @IE, Zerosxt, Reginocova, Dorieo, FrancoGG, Thijs!bot, Srengel,
Ricardoramirezj, Mahadeva, Diosa, Bot que revierte, Escarbot, Yeza, Reygecko, Corbacho, RoyFocker, Gilberto IV, Locovich, Cratn,
Isha, Xoneca, Guibuu, Mpeinadopa, El loko, JAnDbot, Estoymuybueno, OceanO, Stifax, Kved, Ciberrojopower, Mansoncc, Segedano, Satin, Marinna, Muro de Aguas, Gaius iulius caesar, Limbo@MX, CommonsDelinker, TXiKiBoT, Cronos x, Mercenario97, AlfaBeta0104,
Sergio.1312, Gustronico, Millars, Humberto, Netito777, HAMM, Fixertool, Phirosiberia, Bedwyr, J aroche, Chabbot, Plux, BL, Galaxy4,
Snakefang, Enrique r25, Manuel Trujillo Berges, Avsurrutia, Biasoli, Snakeeater, Bucephala, Cinevoro, VolkovBot, Snakeyes, Technopat,
Queninosta, Raystorm, Pmontaldo, Belgrano, Josell2, Matdrodes, Synthebot, DJ Nietzsche, BlackBeast, Shooke, Lucien leGrey, AlleborgoBot, Muro Bot, Edmenb, J.M.Domingo, Andrezitofer, Bucho, Jcprietoc, Racso, YonaBot, MRK2001, SieBot, Mushii, Ctrl Z, Ma259,
Fofo~eswiki, Ensada, Loveless, Carmin, Cobalttempest, Linktroid, Chrihern, Bigsus-bot, BOTarate, Marcelo, Mel 23, Manw, Greek,
Lp-spain, Ratchet, Aleposta, Jim88Argentina, Googleador, XalD, Prietoquilmes, Marcecoro, HUB, Robenauta, Thunderbird2, Piero71,
Nicop, ElOtroJuanjo, DragonBot, Versageek, ReNaiXeR, Eduardosalg, Fanattiq, Leonpolanco, Pan con queso, Alejandrocaro35, Petruss,
Poco a poco, BetoCG, TheNava00, Raulshc, Aipni-Lovrij, Osado, JJSANES, Ravave, Kroji, Camilo, UA31, Shalbat, AVBOT, DayL6,
David0811, Rodolfo cea, Mizukane203, Abuitrago81, J.delanoy, Mann138, Llfernandoll, Angel GN, NjardarBot, Ialad, Ezarate, Enramos, Diegusjaimes, Davidgutierrezalvarez, MelancholieBot, Toncec, Linfocito B, Viejalala, Arjuno3, Pandalive, Saloca, Andreasmperu,
Luckas-bot, Ramon00, Spirit-Black-Wikipedista, Chakal256, Nallimbot, Ptbotgourou, FariBOT, Jotterbot, Vic Fede, Albus Dumbledore~eswiki, Arredobayo, Arredobayin, Yonidebot, Beralmar, Jeepika, Lewis.skolnik, Ficenix, Belial Returns, Rodelar, 1dai, SuperBraulio13,
Manuelt15, Xqbot, Jkbw, Oliverasm, Dreitmen, Dossier2, Irbian, Ricardogpn, Metronomo, David coppereld, XIXO123, Igna, Torrente,
Botarel, Alejandro54, Pableo, Groucho Marx, White Master, Zulucho, BOTirithel, MAfotBOT, Angeldp, Jcdy, Halfdrag, RedBot, Kizar, Abece, Chilreu, Leugim1972, TorQue Astur, El mago de la Wiki, PatruBOT, Ganmedes, KamikazeBot, Pincho76, Humbefa, Tarawa1943, Nachosan, PatricioAlexanderWiki, DivineAlpha, GrouchoBot, HIPATIA2006, Tropick 100, Axvolution, Maxi martin9101,
EmausBot, Savh, AVIADOR, Rizobio, Sergio Andres Segovia, Africanus, Dondervogel 2, Grillitus, JackieBot, Rubpe19, Emiduronte,
ChuispastonBot, MadriCR, Waka Waka, Eze91, WikitanvirBot, Diamondland, Thekinglink, Sitovarela, CocuBot, Movses-bot, Antonorsi,
Abin, Bodhost, KLBot2, Shurmano32425, Renly, Vagobot, Sebrev, Travelour, MetroBot, DerKrieger, Allan Aguilar, Gusama Romero, Chapete123, Maquedasahag, Acratta, Damadafaka, Hugo Marchant Q., Joanknk, Aloha123, Harpagornis, Elvisor, Wiki2012~eswiki,
Creosota, Billydecampana, DanielithoMoya, Helmy oved, Jdiazval, 'fuunieeqz!, Konami~eswiki, Jaime ruiz muoz, Andrea te amo yo angel,
Dilan9, Un Tal Alex.., Daniblue21, EduLeo, ApOlO666xD, Legobot, Langtoolbot, Parra daniel, Balles2601, Hans Topo1993, FESG1234,
Anonimo200W, Churrasco italiano, ERINPATEL, Patelerin, PATELPATELA, Betzalia guadalupe de la cruz araujo, Spectud123, Drude, Lolaoilo, D3c contreras, Lagoset, 123gsmr, Camila405, Timohap, PDROSQUI, Jarould, Souta, Crystallizedcarbon, Papamericano69,
Fernando banderas, BenjaBot, Arshak67, Sfr570, Cupertinogaray, Diegojajaja123, Penes25, Luismiguel78, Fernando2812l, Ks-M9, Josemicohj, Juan D. Guachun A., Danibonilla1, Pakitoelcorcho, Elratata, Valen1704, Krassnine y Annimos: 1113
15.2
Imgenes
15.3
13
15.3
una trama continua, normalmente sin necesidad de procesar ms que una pequea porcin de la imagen completa. Debido a que los controladores ISIS se disponen
en una pipeline cuando son utilizados, cada controlador
ISIS (Image and Scanner Interface Specication) es una
se especializa en realizar una sola funcin. Los controinterfaz estndar de la industria para tecnologas de
ladores normalmente son pequeos y modulares, lo que
escaneo de imgenes, desarrollado por Pixel Translations
signica que ISIS permite nuevas funcionalidades en una
en 1990 (hoy: EMC captiva).
aplicacin con modicaciones muy pequeas.
General
3 Vase tambin
TWAIN
4 Enlaces externos
Pgina de EMC captiva
Conjunto de SDKs proporcionados por EMC Captiva para obtener imgenes usando controladores ISIS
Caractersticas
5.1
Texto
5.2
Imgenes
5.3
TWAIN
TWAIN es un estndar destinado a la adquisicin de 2 Origen del nombre
imgenes de un escner de imagen: una API de captura de imgenes para los sistemas operativos Microsoft La palabra TWAIN se tom del refrn de Rudyard KiWindows y Apple Macintosh. La palabra TWAIN no es pling The Ballad of East and West (La Balada del Este
ocialmente un acrnimo; sin embargo, es ampliamen- y el Oeste):
te conocido como un retroacrnimo para "Technology
Without An Interesting Name (Tecnologa Sin Un NomOh, East is East, and West is West, and nebre Interesante).
ver the twain shall meet,
Till Earth and Sky stand presently at Gods
great Judgment Seat;
But there is neither East nor West, Border, nor
Breed, nor Birth,
When two strong men stand face to face, tho
they come from the ends of the earth!
General
El trmino fue elegido para reejar la dicultad experimentada, en su da, para intentar conectar los escneres y
los ordenadores. El retroacrnimo "Technology Without
An Interesting Name surgi durante la actividad temprana del grupo pero no la aceptan como acrnimo.[1]
El estndar fue liberado por primera vez en 1992. Actualmente est raticado en la versin 2.2 el 16 de febrero de
2012 y es mantenido por el Grupo de Trabajo TWAIN.
TWAIN se utiliza normalmente como una interfaz entre
la aplicacin de procesado de imgenes y un escner o Kevin Bier conrma de manera autoritaria que TWAIN,
cmara digital.
mientras que no es ocialmente un acrnimo, fue conLa desventaja de TWAIN como implementacin para cebido como una utilidad sin un nombre importante
una aplicacin tpica (p.e. aplicacin de escaneo) es que (toolkit without an important name). Este no-acrnimo
no siempre separa la interfaz de usuario del controlador fue inspirado por una coleccin de cartas escritas por
de dispositivo (al contrario que SANE). Esto hace difcil Mark Twain que Bier ley. Bier comenta que termin de
proveer servicios TWAIN a programas ajenos al fabri- leer una de esas cartas cerca de medianoche, luego checante del dispositivo. Cada vez que una aplicacin carga que el correo una ltima vez para recibir un conjunto de
un controlador TWAIN, no se puede separar de la GUI nombres potenciales para la tecnologa. Respondi con
(Interfaz grca de usuario). Para ser preciso, no es un una sugerencia sobre el nombre TWAIN y tras una condefecto de la especicacin TWAIN sino de los controla- sulta con Mark Twain (S. L. Clemens) para asegurarse de
dores del dispositivo, porque no son totalmente compati- la legalidad de su uso, el nombre fue ocialmente lanzado el 29 de febrero de 1992 (que Bier vio como fecha
bles con la especicacin TWAIN.
apropiada para el lanzamiento de nuestro esfuerzo).
Kevin Bier, director del Grupo de Trabajo TWAIN y el
co-autor/editor original de TWAIN 1.0, observa que algunos creen que la unin de la interfaz de usuario con el
controlador TWAIN (realmente una porcin de cdigo 3 Vase tambin
de la aplicacin y no un controlador en absoluto) est fallando. l responde que era una meta explcita del diseo
Image and Scanner Interface Specication (ISIS)
del grupo para poner la responsabilidad de presentar la
Windows Image Acquisition (WIA)
funcionalidad del dispositivo en manos del fabricante del
dispositivo.
Scanner Access Now Easy (SANE)
Era nuestra premisa que ninguno otro podra saber todas
las caractersticas del dispositivo o la forma ms apropiada de presentar la funcionalidad al usuario, Bier dice.
Sin importar mi opinin sobre la calidad relativa de esa 4 Notas
premisa, era una fundacin esencial del xito de especicacin. segn ha demostrado la adopcin de la misma. [1] De dnde viene el acrnimo TWAIN? (en ingls)
1
Referencias
Enlaces externos
Grupo de Trabajo TWAIN (ingls)
Framework para la Adquisicin de Imgenes para
Java (ingls)
ObjectiveC TWAIN framework para MacOS X (ingls)
Java TWAIN Toolkit (producto comercial)
EZTwain (producto comercial, pero con una versin
libre (EZTwain Classic))
.NET TWAIN Toolkit (producto comercial)
ENLACES EXTERNOS
7.1
Texto
TWAIN Fuente: https://es.wikipedia.org/wiki/TWAIN?oldid=87123358 Colaboradores: Sabbut, Zwobot, Sms, Rudolph, Poniol60, Rembiapo pohyiete (bot), RobotQuistnix, JKD, FlaBot, Mortadelo2005, GermanX, Eskimbot, Basquetteur, Cvmontuy, Rei-bot, Matdrodes,
Muro Bot, SieBot, Diegusjaimes, FariBOT, LordboT, ArthurBot, Xqbot, SassoBot, RedBot, DixonDBot, Mickkafka, PatruBOT, KLBot2,
Elvisor y Annimos: 9
7.2
Imgenes
7.3
5 Enlaces externos
2
Informacin adicional
6.1
Texto
Windows Image Acquisition Fuente: https://es.wikipedia.org/wiki/Windows_Image_Acquisition?oldid=85286227 Colaboradores: Sabbut, JKD, Jcentel, Biasoli, Muro Bot, Alexbot, CestBOT, LucienBOT, TobeBot, KLBot2 y Annimos: 2
6.2
Imgenes
6.3
una trama continua, normalmente sin necesidad de procesar ms que una pequea porcin de la imagen completa. Debido a que los controladores ISIS se disponen
en una pipeline cuando son utilizados, cada controlador
ISIS (Image and Scanner Interface Specication) es una
se especializa en realizar una sola funcin. Los controinterfaz estndar de la industria para tecnologas de
ladores normalmente son pequeos y modulares, lo que
escaneo de imgenes, desarrollado por Pixel Translations
signica que ISIS permite nuevas funcionalidades en una
en 1990 (hoy: EMC captiva).
aplicacin con modicaciones muy pequeas.
General
3 Vase tambin
TWAIN
4 Enlaces externos
Pgina de EMC captiva
Conjunto de SDKs proporcionados por EMC Captiva para obtener imgenes usando controladores ISIS
Caractersticas
5.1
Texto
5.2
Imgenes
5.3
2 Estructura
General
SANE diere de TWAIN en que diferencia claramente los frontends (programas de usuario) y los backends
(controladores de los escneres) disminuyendo el tiempo
de desarrollo y la duplicacin de cdigo. Mientras que el
controlador TWAIN maneja tanto la Interfaz de usuario
como las comunicaciones con el escner, el controlador
de SANE slo proporciona una interfaz con el dispositivo y describe un nmero de opciones que controla cada
escaneo.
Estas opciones especican parmetros tales como la resolucin de escaneo, el rea de escaneo, modelo de color,
etc. Cada opcin tiene un nombre, y la informacin acerca de su tipo, unidades, y rango o valores posibles (por
ejemplo una lista enumerada). Por convencin hay varias opciones bien conocidas con los que los frontends[1]
pueden interactuar con los GUI convenientes p.e las opciones del rea de escaneo pueden establecerse arrastrando un recuadro sobre una imagen preliminar. Otras opciones pueden ser presentadas utilizando elementos GUI
adecuados a su tipo p.e deslizadores, cajas de listado, bo- Los backends deben aportar las siguientes funciones (al
menos en la versin 1.0.25):[3]
tones, etc.
Una consecuencia de esta separacin es que se implementa fcilmente el escaneado a travs de la red sin un
control especco tanto por parte de los frontends como
de los backends.[2] En un host con un escner, se ejecuta
el demonio saned que maneja las peticiones en red. En
las mquinas clientes, el backend net (controlador) se
conecta al servidor remoto para tomar las opciones del
escner, y realizar tanto el escaneo preliminar como el
escaneo nal. El demonio saned acta como un frontend
localmente, pero simplemente pasa las peticiones y los
datos entre las conexiones de red y el escner local. De
igual manera, el backend net pasa las peticiones y los
datos entre el frontend local y el host remoto.
sane_init
sane_get_devices
sane_open
sane_get_option_descriptor
1
UTILIDADES
sane_control_option
sane_get_parameters
sane_start
sane_read
sane_cancel
sane_set_io_mode
sane_get_select_fd
sane_close
sane_exit
Frontend DigiKam.
2.2
Interfaz DLL
2.3
Frontends de SANE
3.2
3
vos susceptibles de ser controlados por sus respectivos
backends para darles el soporte necesario.
4 Vase tambin
5 Referencias
[1] Frontends que usan SANE
[2] http://www.scandox.de/sdx/overview_sane-based.html
Seccin 'SANE versus TWAIN'
[3] Operaciones del protocolo SANE
[4] sane-nd-scanner man page
Enlaces externos
Sitio web ocial de SANE
Sitio web donde se aloja el proyecto y donde se puede contactar con sus desarrolladores
XSANE, un frontend para SANE basado en
GTK+ para entornos X, WIN32 (Windows
9x/ME/NT/2000/XP) y OS/2
Image Acquisition Framework for Java
Backends de SANE
ENLACES EXTERNOS
7.1
Texto
7.2
Imgenes
Archivo:DigiKam_ICC_profile.png Fuente: https://upload.wikimedia.org/wikipedia/commons/3/33/DigiKam_ICC_profile.png Licencia: Public domain Colaboradores: Trabajo propio Artista original: Mintz l
Archivo:Heckert_GNU_white.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/2/22/Heckert_GNU_white.svg Licencia:
CC BY-SA 2.0 Colaboradores: gnu.org Artista original: Aurelio A. Heckert <aurium@gmail.com>
Archivo:Kooka.png Fuente: https://upload.wikimedia.org/wikipedia/commons/b/b1/Kooka.png Licencia: CC-BY-SA-3.0 Colaboradores: Trabajo propio Artista original: Retama
Archivo:Sane-net.png Fuente: https://upload.wikimedia.org/wikipedia/commons/2/25/Sane-net.png Licencia: CC BY 3.0 Colaboradores: Trabajo propio Artista original: JKD
Archivo:XSane.png Fuente: https://upload.wikimedia.org/wikipedia/commons/b/bd/XSane.png Licencia: GPL Colaboradores: http://
hacktolive.org/images Artista original: http://hacktolive.org
7.3
22/8/2016
AYUDANTEADMINISTRATIVO:Teclados
TECLADOSDELMUNDO
El teclado QWERTY es la distribucin de teclado ms comn. Fue diseado y
patentado por Christopher Sholes en 1868 y vendido aRemington en 1873. Su
nombre proviene de las primeras seis letras de su fila superior de teclas.
La mquina de escribir de Sholes originalmente tena las teclas en orden
alfabtico. Cada una accionaba un pequeo martillo que imprima la letra sobre
el papel. Pero la velocidad de retorno del martillo era lenta, pues volva a su
posicin de reposo por simple gravedad. Por ello, al escribir, los martillos
chocaban unos contra otros y la mquina se atascaba. En lugar de perfeccionar el
dispositivo Sholes decidi elegir una distribucin arbitraria de teclas para evitar
ese problema. Lgicamente el resultado fue que las letras ms utilizadas
quedaron ms separadas entre s o en posiciones de ms difcil acceso.
QWERTY
Elteclado QWERTYtiene versiones para diferentes lenguas. En la disposicin en espaol se incluye la letra "".
TecladoQWERTYespaol,conla
Hay pases, como Alemania, que intercambian la tecla "Y" y la tecla "Z", con lo que se convierte en tecladoQWERTZ:
TecladoQWERTZdeAlemaniayAustria
http://archive.is/20130704014407/argensolapcpi.blogspot.mx/p/teclados.html#selection363.0751.228
1/4
22/8/2016
AYUDANTEADMINISTRATIVO:Teclados
TecladoQWERTZdeSuiza
En Francia y Blgica hay ms cambios y las primeras 6 teclas alfabticas tienen la secuenciaAZERTY:
TecladoAZERTYdeFranciayBlgica
Tecladogriego
Tecladoturco
Tecladorabe
http://archive.is/20130704014407/argensolapcpi.blogspot.mx/p/teclados.html#selection363.0751.228
2/4
22/8/2016
AYUDANTEADMINISTRATIVO:Teclados
Tecladojapons
Tecladochino
DVORAK
El tecladoDvorako teclado simplificado Dvorak es una distribucin de teclado diseada por los doctores August Dvorak
y William Dealey en los aos 20 y 30 como una alternativa a la popular distribucin de teclado QWERTY. Tambin se le
ha llamado teclado simplificado o teclado simplificado estadounidense, pero se le conoce comnmente como teclado
Dvorak.
Teclado DVORAK
TecladoQWERTYelmseficaz?:
La historia de la supervivencia de QWERTY es un buen ejemplo de los azarosos caminos que sigue a veces nuestra
tecnologa, combinaciones de sucesos y circunstancias fortuitas que marcan a menudo el resultado final.
En primer lugar, Sholes y su mquina QWERTY encontraron el apoyo de Remington (un famoso fabricante de armas),
que decidi comercializarla, pero en aquellos primeros tiempos de evolucin inicial el apoyo de un potente industrial
no parece suficiente para imponerse a las alternativas competidoras, posiblemente superiores. Pero QWERTY tambin
encontr apoyo entre usuarios clave. En 1882 una tal miss Longley, fundadora del Instituto de Taquigrafa y
Mecanografa de Cincinnati, vio clara su oportunidad de negocio ydesarroll y empez a ensear el tecleo a ocho
dedos que los profesionales utilizan hoy en da.
Miss Longley eligi mquinas QWERTY para sus clases, como tambin eran QWERTY, lgicamente, las mquinas que se
usaban en las escuelas de mecanografa que con un claro inters corporativo Remington empezaba a establecer por
aquel entonces. La maquinaria QWERTY estaba en marcha, pero este buen comienzo poda haberse estrellado
perfectamente contra la competencia de un mejor diseo en los duros aos del afianzamiento del patrn
mecanogrfico.
Posiblemente, el impulso definitivo le lleg a QWERTY de una ayuda inesperada, gracias a un acontecimiento crucial
que tuvo lugar en 1888. Miss Longley fue desafiada a probar la superioridad de su mtodo de ocho dedos sobre teclado
http://archive.is/20130704014407/argensolapcpi.blogspot.mx/p/teclados.html#selection363.0751.228
3/4
22/8/2016
AYUDANTEADMINISTRATIVO:Teclados
QWERTY por Louis Taub, otro profesor de mecanografa, tambin de Cincinnati, que trabajaba con cuatro dedos sobre
un teclado con otra distribucin: seis filas y sin tecla de maysculas.
La competicin, ampliamente divulgada por la prensa, se iba a convertir en una especie de juicio pblico.
Expresamente para esa competicin, miss Langley contrat los servicios deFrank E. McGurrin, un mecangrafo que
haba memorizado el teclado QWERTY y escriba por tanto como los mecangrafos de hoy dia, "al tacto", a diferencia
de sus competidores. Gracias a esta caracterstica y no tanto debido al diseo de las mquinas, McGurrin arras a Taub
en la famosa competicin.
El pblico en general y los profesores de mecanografa en particular tomaron nota de la aparente superioridad de
QWERTY. Poco pudo importar que nunca se llevaran a cabo competiciones cotejadas con mecangrafos en igualdad de
condiciones, con igual nmero de filas, o de dedos, para determinar verdaderamente la importancia del diseo de los
teclados en la eficacia de las mquinas. QWERTY ya haba recibido su impulso imparable y se impona con el
principio de siglo. En algn momento los fabricantes rivales comprendieron que les iba costar menos esfuerzo
reconvertir sus mquinas que los hbitos de la gente y se convirtieron a QWERTY o se extinguieron.
http://archive.is/20130704014407/argensolapcpi.blogspot.mx/p/teclados.html#selection363.0751.228
4/4
Teclado AZERTY
Para una persona acostumbrada al teclado QWERTY[1]
(preferido en otros pases), el cambio requiere de cierta
prctica, pues existen algunas diferencias entre los mismos:
A y Q estn intercambiadas.
Z y W estn intercambiadas.
M no est a la derecha de N sino a la derecha de L
(en lugar de (ES), de coma/punto y coma (US),
etc.).
Los dgitos 1-0 de la la superior ocupan las mismas teclas, pero para escribirlos debe pulsarse shift
(maysculas). La posicin por defecto se usa para
mostrar vocales acentuadas en minsculas.
1 Disposiciones de teclado
Distribucin geogrca de las diferentes distribuciones de teclado en Europa:
QWERTY QWERTZ AZERTY Disposiciones nacionales (turco
FGIOD, letn GJRMV, lituano ERTY) Teclados no latinos
Echap
&
F1
F2
F3
F4
>
<
Ctrl
S
W
'
" #
F6
F9
O
K
?
,
Alt
F11
F12
Impr
cran
Syst
Arrt
Dl
Inser
M
/
:
F10
+
= }
L
.
;
J
N
F8
H
B
F7
G
V
F
C
F5
6
Suppr
Fin
!
Alt Gr
Pause
Verr
Num
Attn
Verr
Maj
Verr
Dl
Verr
Num
Teclado belga: en la dcada de los 80 se crea esta variante sobre el francs, donde algunos smbolos
cambian de posicin (? ! @ - _ + = ).
Fin
Ctrl
0
Inser
.
Suppr
Lettres standard
Touches Entre
Touche d'chappement
Touches Windows
Caractres spciaux
Touches de suppression
Touches de fonction
Ponctuation
Touches modicatrices
Pav numrique
Touches de dplacement
Touches tabulations
autres
En pases en los que se habla otro idioma adems de francs se usan otras distribuciones de teclado, incluso para
escribir francs.
Canad
AZERTY belga
El teclado AZERTY es una distribucin de teclado que se utiliza mayoritariamente en algunos pases
francfonos. Su nombre se forma con las letras ubicadas en la segunda la de arriba del mismo, de izquierda a
derecha.[1]
4
Suiza
Teclado francosuizo, QWERTZ. Diseado para escribir principalmente en francs y tambin en alemn.
Teclado suizo alemn, QWERTZ. Diseado
para escribir principalmente en alemn y tambin en francs
1.2
Vase tambin
QWERTY
QWERTZ
HCESAR
Teclado Dvorak
Referencias
Enlaces externos
Norma del Gobierno de Quebec sobre teclados de
ordenador (en francs)
ENLACES EXTERNOS
5.1
Texto
Teclado AZERTY Fuente: https://es.wikipedia.org/wiki/Teclado_AZERTY?oldid=92693678 Colaboradores: Akhram, Museo8bits, GermanX, Carlos Alberto Carcagno, Siabef, BOTpolicia, CEM-bot, Erick91, Yeza, B25es, Arandu Y.M., Moustique, Nioger, Fremen, VolkovBot, Erl, Mstreet linux, Muro Bot, Loveless, Lunor, Botelln, Alexbot, UA31, AVBOT, Integra2, Diegusjaimes, Arjuno3, Luckas-bot,
Nallimbot, Ptbotgourou, Nyttend, FrescoBot, Panderine!, D'ohBot, BOTirithel, Robot8A, AldanaN, Larin, EmausBot, Grillitus, WikitanvirBot, Zdii, KLBot2, MetroBot, Rotlink, ManuElAvell, Ks-M9, Selertos y Annimos: 27
5.2
Imgenes
5.3
Teclado HCESAR
el n de sustituir esta tecla por la letra O, as como el
1 se reemplazaba con la l. Dispona adems de teclas
especcas del idioma luso, como las vocales nasalizadas
"" y "". El asterisco se lograba colocando una x sobre
el signo "+"
Como queda dicho, este teclado fue el nico aceptado en
organismos pblicos en Portugal hasta mediados de los
aos setenta, cuando gradualmente se volvi a usar el teclado AZERTY, especialmente a raz de la Revolucin de
abril de 1974. Durante los aos ochenta se denominaba al
HCESAR teclado nacional y al AZERTY internacional"; despus de un tiempo los teclados HCESAR fueron
retirados del mercado.
Teclado HCESAR.
1 Vase tambin
AZERTY
QWERTZ
QWERTY
Teclado Dvorak
2 Notas
El Teclado HCESAR (o segn la pronunciacin AgCsar) fue un teclado instaurado por el Primer Ministro
portugus Doctor Antnio de Oliveira Salazar mediante
un decreto del ao 1937.[1][2][3]
Este teclado, llamado as por la secuencia las seis primeras letras de la primera la, supli al AZERTY francs
por permitir una redaccin dactilogrca ms rpida en
portugus, considerando la frecuencia de uso de las letras en dicho idioma, situndose en la zona central las
de mayor uso. As, desde 1937 las mquinas de escribir
HCESAR eran obligatorias en las dependencias pblicas,
y hasta 1974 eran las habituales, por no decir las nicas,
en los comercios portugueses.
3.1
Texto
3.2
Imgenes
3.3
Teclado QWERTZ
Teclado QWERTZ.
Strg
(Win) Alt
Alt Gr
Enter
Caps Lock
Shift
Shift
Un teclado QWERTZ es llamado informalmente un kezboard (cambiando la Y del keyboard ingls por la Z), pues
QWERTZ usado en Suiza.
es el resultado de escribir keyboard por una persona acostumbrada a QWERTZ / QWERTY si le cambian la disEl teclado QWERTZ o teclado QWERTZU es una tribucin del teclado.
distribucin de teclado que se usa principalmente en regiones germanohablantes. El nombre proviene de las seis
primeras teclas de la la superior del teclado.
1 Vase tambin
Se diferencia de QWERTY en el intercambio de las teclas
Z e Y, debido a que la Z es mucho ms comn que la Y en
AZERTY
1
1
QWERTY
HCESAR
Teclado Dvorak
Mquina de escribir Blickensderfer
VASE TAMBIN
2.1
Texto
2.2
Imgenes
2.3
Thunderbolt
Implementacin de la calidad de servicio
Sustitucin en caliente
2 Referencias
[1] Thunderbolt Technology. Intel. Consultado el 25 de
febrero de 2011.
[2] Crothers, Brooke (29 de septiembre de 2009). Sources:
'Light Peak' technology not Apple idea. CNet News
(CNet). Consultado el 23 de febrero de 2011.
Ha sido concebido para reemplazar a algunos buses actuales, tales como FireWire y HDMI.[10] Con la tecnologa Light Peak un nico cable de bra ptica podra sustituir a 50 cables de cobre utilizados para la transmisin de
una nica escena en 3 dimensiones. La tecnologa Light
Peak fue mostrada en el Intel Developer Forum el 23 de
septiembre de 2009. Esta tecnologa fue desarrollada por
Intel en colaboracin con Apple Inc[11]
La primera versin (Cactus Ridge) est fabricada enteramente de cobre en vez de bra ptica.
Caractersticas
3 Enlaces externos
Mltiples protocolos
Transferencia bidireccional
1
4.1
Texto
Thunderbolt Fuente: https://es.wikipedia.org/wiki/Thunderbolt?oldid=90538123 Colaboradores: Tony Rotondas, Petronas, Pvieito, Jorge, Escarbot, CommonsDelinker, TXiKiBoT, Plux, VolkovBot, Muro Bot, Bjankuloski06es, Bigsus-bot, Nicholasraul, Kikobot, Poco a
poco, Alexbot, David0811, Linfocito B, Saloca, Luckas-bot, Amirobot, Ptbotgourou, Jorge 2701, Finderlog, Xqbot, Jkbw, Irbian, Botarel, D'ohBot, TiriBOT, MAfotBOT, Franbooks, Rajijose, TorQue Astur, PatruBOT, EmausBot, Sergio Andres Segovia, J. A. Glvez,
Dondervogel 2, ChuispastonBot, WikitanvirBot, Apalonso, Rodo9, KLBot2, Invadibot, Apmkeaper, TheNan3, Makecat-bot, Mvivas1988,
Elpollitopio, Makebos, Seorpatata, JacobRodrigues, Cabanur, Jarould y Annimos: 26
4.2
Imgenes
Archivo:Thunderbolt-Connector.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/6/69/Thunderbolt-Connector.jpg Licencia: CC0 Colaboradores: Trabajo propio Artista original: Heavysilence
Archivo:ThunderboltIO.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/f/f3/ThunderboltIO.jpg Licencia: CC BY 3.0
Colaboradores: Trabajo propio Artista original: Macfan97
4.3
Resea
Desde 2004, aproximadamente 6 mil millones de dispositivos se encuentran actualmente en el mercado global,
y alrededor de 2 mil millones se venden cada ao.[5]
Uso
3 Velocidades de transmisin
El campo de aplicacin del USB se extiende en la actualidad a cualquier dispositivo electrnico o con componen- Los dispositivos USB se clasican en cuatro tipos segn
tes, desde los automviles (las radios de automvil mo- su velocidad de transferencia de datos:
1
3
Baja velocidad (1.0): Tasa de transferencia de hasta
1,5 Mbit/s (188 kB/s). Utilizado en su mayor parte
por dispositivos de interfaz humana (Human Interface Device, en ingls) como los teclados, los ratones
(mouse), las cmaras web, etc.
Velocidad completa (1.1): Tasa de transferencia de
hasta 12 Mbit/s (1,5 MB/s) segn este estndar, pero se dice en fuentes independientes que habra que
realizar nuevamente las mediciones. sta fue la ms
rpida antes de la especicacin USB 2.0. Estos dispositivos dividen el ancho de banda de la conexin
USB entre ellos, basados en un algoritmo de impedancias LIFO.
VELOCIDADES DE TRANSMISIN
3
Thunderbolt: 10 Gb/s[11]
Thunderbolt 2: 20 Gb/s
USB 3.1: 10 Gb/s
Conexiones para tarjetas de expansin
PCI Express 1.x (x1): 250 MB/s
PCI Express 2.0 (x1): 500 MB/s
PCI Express 3.0 (x1): 1 GB/s
PCI Express 1.x (x8): 2 GB/s
PCI Express 2 (x8): 4 GB/s
PCI Express 3.0 (x8): 8 GB/s
PCI Express 1.x (x16): 4 GB/s
PCI Express 2 (x16): 8 GB/s
PCI Express 3.0 (x16): 16 GB/s
Conexiones de almacenamiento interno
ATA: 100 MB/s (UltraDMA 5)
PATA: 133 MB/s (UltraDMA 6)
USB 3.0
USB 3.0
Mini-A
Mini-B
Micro-A
Micro-B
Micro-B
5 USB On-The-Go
USB On-The-Go, frecuentemente abreviado como USB
OTG, es una especicacin que permite a los dispositivos USB como reproductores digitales de audio, telfonos
mviles o tabletas actuar como servidores, facilitando que
se puedan conectar memorias y discos duros USB, ratones o teclados.[12]
CARACTERSTICAS FSICAS
Caractersticas fsicas
5
de orientacin del cable, canal de datos con conguracin BMC dedicada (biphase mark code) y VCONN +5
V de potencia para cables activos. Los cables/adaptadores
Tipo-A y Tipo-B sern requeridos para dispositivos heredados con el n de conectar a antriones Tipo-C, Sin
embargo adaptadores/cables con un receptculo de TipoC no estn permitidos.
por radio con gran ancho de banda que combina la sencillez de uso de USB con la versatilidad de las redes inalmbricas. Utiliza como base de radio la plataforma UltraWideBand desarrollada por WiMedia Alliance, que puede lograr tasas de transmisin de hasta 480 Mbit/s (igual
que USB 2.0) en rangos de tres metros y 110 Mbit/s en
rangos de diez metros y opera en los rangos de frecuencia
de 3,1 a 10,6 GHz. Actualmente se est en plena transicin y an no existen muchos dispositivos que incorporen
este protocolo, tanto clientes como antriones. Mientras
dure este proceso, mediante los adaptadores y/o cables
adecuados se puede convertir un equipo WUSB en uno
USB y viceversa.
Los cables USB 3.1 de tipo-C con todas las caractersticas son cables activos electrnicamente marcados y contienen un chip con una funcin de identicacin basado
en el canal de conguracin de datos y mensajes denidos por el proveedor (VDM) de la especicacin USB
Power Delivery 2.0. Los dispositivos USB 3.1 de TipoC tambin soportan corrientes de alimentacin de 1.5 A
y 3.0 A travs del bus de 5 V de tensin, adems de la
lnea de base 900 mA; los dispositivos pueden o bien ne- 9 Lista de perifricos que es posible
gociar un aumento de corriente USB a travs de la lnea
conectar a un puerto USB y USB
de conguracin, o pueden apoyar opcionalmente la esOTG
pecicacin completa Power Delivery utilizando tanto
la lnea de conguracin con cdigo de BMC y la lnea
VBUS codicado-BFSK legado.
El puerto USB es un estndar que permite la transferencia
El modo alterno dedica algunos de los cables fsicos en el de informacin desde o hacia otro perifrico. Esta lista
cable Tipo-C para la transmisin directa de dispositivo- detalla los perifricos que es posible conectar a un puerto
a-antrin de una gran cantidad de protocolos de datos USB. Por orden alfabtico.
alternos. Los cuatro carriles de alta velocidad, dos pines
de banda lateral, y -para puerto, dispositivo desmontable y aplicaciones de cable permanentes solamente - dos
clavijas USB 2.0 y un pin de conguracin se pueden utilizar para la transmisin de modo alternativo. Los modos
se conguran mediante VDM a travs del canal de conguracin. A diciembre de 2014, las implementaciones
Modo Alt incluyen DisplayPort 1.3 y MHL 3.0; Otros
protocolos seriales como PCI Express y Base-T Ethernet
son posibles
En marzo de 2015, Apple lanza un nuevo modelo MacBook ms no que MacBook Air y que equipa un conector USB Type-C.[14] Por otro lado, Google anuncia este
tipo de conector para prximas tabletas y mviles Android.
Cmaras de fotos
Cmaras de video
Disqueteras externas
Discos duros externos
Grabadoras de DVD externas
Impresoras USB
Lector de tarjetas de memoria
Multifunciones
Ratones USB
Teclados USB
USB implementa conexiones a dispositivos de almacenamiento usando un grupo de estndares llamado USB
mass storage device class (abreviado en ingls MSC o
UMS). ste se dise inicialmente para memorias pticas y magnticas, pero ahora sirve tambin para soportar una amplia variedad de dispositivos, particularmente
memorias USB.
Telfonos mviles
Sintonizadoras de TV USB
Pendrives
Mdems USB
Monitores USB
PDA
Reproductor de audio digital
Wireless USB
Reproductor de MP4
Volantes USB
Ventiladores USB
12 ENLACES EXTERNOS
Joysticks USB
Webcams USB
Tocadiscos para la transferencia de msica
Tarjetas de video USB
Tarjetas de sonido USB
Tarjetas Wi USB
Tarjetas de red USB
Mini altavoces
Hubs USB o concentradores de puertos USB
mini amplicadores usb (muy extrao)
10
Vase tambin
Aplicacin porttil
[8] USB in a NutShell - Chapter 2 - Hardware. Beyond Logic.org. Consultado el 25 de agosto de 2007.
[9] en:Serial ATA#eSATA
[10] http://www.usb.org/developers/ssusb
[11] http://www.apple.com/es/thunderbolt/
[12] en:USB_On-The-Go (en ingls)
[13] USB Tipo C - Compatibilidad entre versiones del USB
(en espaol de Espaa). Consultado el 18 de julio de 2016.
[14] Fayerwayer USB-C Qu es, qu puede hacer y por qu lo
vamos a ver por todos lados
12 Enlaces externos
Wikilibros
Firewire
Hub USB
Enlace de Alta Denicin Mvil (MHL)
PC 99
MSC
UMS
MTP
PTP
11
Referencias
[1] USB inventor is techs unlikely 'rock star' - CNN. Articles.cnn.com. 4 de febrero de 2010. Archivado desde el
original el 22 de noviembre de 2015. Consultado el 12 de
diciembre de 2011.
[2] Boston Globe Online / Business / USB deserves more
support. Simson.net. 31 de diciembre de 1995. Consultado el 12 de diciembre de 2011.
[3] About USB Implementers Forum, Inc. (en ingls). Consultado el 1 de agosto de 2014.
[4] Por qu es difcil conectar un USB y otros secretos de su
nacimiento. Consultado el 25 de julio de 2013.
[5] SuperSpeed USB 3.0: More Details Emerge. 6 de enero
de 2009.
[6] Shankland, Stephen. USB 3.0 brings optical connection in
2008. CNET News.com. Retrieved on 2007-09-19.
[7] Demerjian, Charlie. Gelsinger demos USB 3.0, PICe 3.0
and other new toys. The Inquirer. Consultado el 2007-0919.
13
13.1
13.2
Imgenes
13.3
Perspectiva general
Caractersticas tcnicas
CONECTOR
Conector
DVI-A
Una conexin DVI puede ser recableada a HDMI con un adaptador (las seales de audio deben existir en el zcalo DVI)
DVI es el nico estndar de uso extendido que proporciona opciones de transmisin digital y analgica en el
El conector DVI normalmente posee pins para transmi- mismo conector. Los estndares que compiten con l son
tir las seales digitales nativas de DVI. En los sistemas exclusivamente digitales: entre ellos estn el sistema de
de doble enlace, se proporcionan pins adicionales para la seal diferencial de bajo voltaje (LVDS, Low-Voltage
Dierential Signalling) conocido por sus marcas FPD
segunda seal.
5.2
Analgico
6 Vase tambin
DIIVA
DisplayPort
HDBaseT
HDMI
UDI
Video
VGA
7 Enlaces externos
5
Especicaciones
5.1
Digital
8.1
Texto
Digital Visual Interface Fuente: https://es.wikipedia.org/wiki/Digital_Visual_Interface?oldid=92295777 Colaboradores: Oblongo, Alberto Salguero, Zwobot, Tano4595, Felipealvarez, Niqueco, Digigalos, Boticario, Mescalier, JMPerez, Taichi, RobotQuistnix, Alhen, Yrbot, Amads, BOT-Superzerocool, BOTijo, YurikBot, GermanX, TC~eswiki, Gaijin, KnightRider, Santiperez, Tomatejc, BOTpolicia,
Qwertyytrewqqwerty, CEM-bot, Roberpl, Pompilos, Mr. Moonlight, Thijs!bot, Edu-im, Mpeinadopa, JAnDbot, Mansoncc, Biasoli, Technopat, Electro07, Loveless, Fstefoni, Marcelo, Elimedina, Dartz90rafaedu, GabEstCor, Marcecoro, HUB, Alejandrocaro35, Txarlitos,
UA31, AVBOT, Diegusjaimes, Luckas-bot, Ptbotgourou, FariBOT, Mcapdevila, Busilis, Obersachsebot, Xqbot, Jkbw, Zulucho, PatruBOT, GrouchoBot, EmausBot, Savh, Arielmansur, ChuispastonBot, Ruos, Carrousel, KLBot2, Thehelpfulbot, InselarALGABA, Elvisor,
Addbot, Perrito12, Jarould y Annimos: 81
8.2
Imgenes
8.3
Escaneo progresivo
La exploracin progresiva o escaneo progresivo es el
mtodo de exploracin secuencial de las lneas de una
imagen de televisin, un barrido sucesivo de una lnea
despus de otra que efectan los aparatos reproductores
de televisin para componer la imagen. Este sistema fue
originalmente conocido como escaneo secuencial cuando fue utilizado por primera vez por Baird en transmisiones experimentales usando 30 lneas en el ao 1926. El
mtodo contrario es denominado entrelazado.
Otra forma de compensar los defectos del PAL se apoya en convertir la exploracin entrelazada en progresiva
a travs de una visualizacin a 50 Hz. Las lneas de los
campos se interpolan con el n de obtener las 575 lneas
del cuadro PAL contenidas en el cuadro. Para evitar el
parpadeo, notable a 25 Hz, se utiliza una memoria con
el n de presentar la informacin a una frecuencia de refresco de 50 Hz o 100 Hz. Hay que destacar que, con
exploracin progresiva, una velocidad de refresco de 50
Hz es ms que suciente para evitar el parpadeo. De todas formas, la reconversin de los campos para obtener
un cuadro siempre es origen de errores temporales.
Descripcin
El escaneo progresivo consiste en la exploracin secuencial de cada lnea de la imagen. En contra del escaneo
entrelazado no se divide el cuadro de video en dos campos secuenciales haciendo un doble barrido de la imagen
(siendo ledas primero las lneas impares seguidas de las
pares), sino que muestra de una sola vez el cuadro completo. Para ello, se captura la imagen de transmisin y se
muestran de una forma similar a la lectura de un libro, es
decir, lnea a lnea y de arriba abajo.
Aplicacin
La entrada a la era digital est dando ms protagonismo a la exploracin progresiva que a la entrelazada. A
continuacin detallaremos una lista con las principales
ventajas e inconvenientes de este sistema.
3.1
Ventajas
3.2
Inconvenientes
Para una misma resolucin de pantalla, esta exploracin necesita un mayor ancho de banda debido a que
requiere el doble de Frecuencia Horizontal o de lnea
(FH) con todos los inconvenientes que ello conlleva.
Una imagen entrelazada de 576 lneas activas (576i)
usa una FH de 15625 Hz, la misma imagen en progresivo (576p) requiere una FH de 31250 Hertz.
VASE TAMBIN
4 Vase tambin
480p, 576p, 720p, 1080p: categoras ms frecuentes
de modos de video progresivos.
Exploracin entrelazada: mtodo alternativo al escaneo progresivo de adquisicin de imgenes.
5.1
Texto
Escaneo progresivo Fuente: https://es.wikipedia.org/wiki/Escaneo_progresivo?oldid=88495701 Colaboradores: Joseaperez, 4lex, Oblongo, Hispa, Gaeddal, JRGL, Pacomeco, VeRo, Siabef, Rojillo, Penquista, JAnDbot, TXiKiBoT, Gustronico, VolkovBot, Drever, Technopat,
Muro Bot, Electro07, PaintBot, BOTarate, DAK28, Miguel, Estirabot, Jose Leal AV, Eveneg, Dsienra, Pabloito, Arjuno3, Luckas-bot, Nallimbot, Boto a Boto, C4rol, Dexbot, Legobot, Balles2601, Jarould y Annimos: 18
5.2
Imgenes
5.3
Exploracin entrelazada
La exploracin entrelazada (interlaced scanning) es un
sistema de captacin y representacin de imgenes utilizado en televisin para evitar el parpadeo o icker que
se produca en la representacin de las imgenes de televisin sobre pantallas de tubo.
La exploracin entrelazada 2/1, caracterstica de los sistemas de televisin PAL, NTSC y SECAM as como de
algunos otros desarrollados posteriormente, consiste en
analizar cada cuadro (frame) de la imagen en dos semicuadros iguales denominados campos (eld), de forma
que las lneas resultantes estn imbricadas entre si alternadamente por superposicin. Uno de los campos contiene las lneas pares; se lo denomina campo par, mientras
que el otro contiene la impares y se lo denomina campo impar al comienzo de cada uno de ellos se sita el
sincronismo vertical. Hay un desfase de media lnea entre un campo y otro para que as el campo par explore la
franja de imagen que dej libre el campo impar. La exploracin entrelazada de un cuadro de dos campos exige
que el nmero de lneas del cuadro sea impar para que la
lnea de transicin de un campo al otro sea divisible en
dos mitades.[1] Fue patentado por el ingeniero alemn de
Telefunken Fritz Schrter en 1930.
Las condiciones de visionado agrupan una serie de variables como el tipo de visin (central o perifrica) , el
tiempo de excitacin del TRC, el tiempo relativo de iluCon anterioridad a los estudios de la visin humana efec- minacin de cada cuadro y la variabilidad en la visin de
tuados por la NHK (Asociacin de Radiodifusin de Ja- cada observador.
pn) en Japn realizados en los aos 80 del siglo XX, se
mantena la hiptesis de que si bien por encima de una
frecuencia de representacin de 20 Hz, denominada fre- 1.1 Desarrollo de Ferry Porter
cuencia crtica, se garantizaba la perfecta sensacin de
movimiento haca falta pasar de una frecuencia de 45 Hz, Las condiciones de visionado que intervienen en la frdenominada frecuencia umbral para que desapareciera mula de la Ley de Porter son determinantes para jar una
frecuencia umbral correcta. Entre ellas el tipo de visin,
la sensacin de parpadeo.
que depende del formato y tamao de la pantalla, es muy
En la representacin cinematogrca, donde se trabaja importante.
con 24 imgenes por segundo (una frecuencia de 24 Hz),
se logra superar la frecuencia umbral proyectando dos ve- La visin humana tiene dos sectores diferenciados, uno
ces el mismo fotograma. En televisin se adopt el siste- el central de unos 10 y el perifrico, de unos 180. En
ma de entrelazado con la descomposicin de cada cuadro los 10 de la visin central el foco es muy perfecto, hay
(frame) en dos campos (eld) doblando con ello la fre- una alta nitidez y una elevada resolucin. Mientras que en
cuencia de 25 Hz a 50 (en el caso de Amrica de 30 Hz la visin perifrica todos estos parmetros son ms decientes.
a 60).
En los sistemas de Tv de 625 lneas el cuadro es descom- Si atendemos solo a la visin central es cierto que los 45
puesto en dos campos de 312,5 lneas cada uno de ellos Hz de frecuencia umbral son sucientes mientras que para
que se insertan como un peine, dando una representacin la visin perifrica hacen falta frecuencia mayores.
Fundamento terico
de 50 campos por segundo, 25 frames por segundo. En Un observador medio, cuando se sita delante de una pan1
exploracin entrelazada
Con la entrada de la era digital la exploracin entrelazada est perdiendo terreno frente a la progresiva. A
continuacin detallaremos las principales ventajas e inconvenientes de este sistema.
Ejemplo de barrido del campo impar sobre una imagen.
4.1 Ventajas
La proximidad entre las lneas consecutivas y las limitaciones del sistema visual humano, hacen que el ojo del espectador integre los dos campos como una imagen completa (un cuadro), obteniendo la sensacin que estas se
van refrescando al doble de la frecuencia real. Con este
mtodo se consigue mantener un caudal de informacin
reducido, es decir, un menor ancho de banda a transmitir,
pero suciente para que en recepcin tengamos la representacin de las imgenes sin que aparezca el fenmeno
de parpadeo o icker.
3
50p - 1280x720 60p - etc.) aunque a costa de un
mayor ancho de banda.
4.2
Inconvenientes
Situacin actual
6 Vase tambin
Escaneo progresivo: mtodo alternativo a la exploracin entrelazada para adquisicin de imgenes.
7 Referencias
[1] Televisin Volumen I. Fundamentos, dispositivos, televisin monocroma. Autor:Eugenio G-Caldern Lpez. Editor: ETS de Ingenieros de Telecomunicaciones de Madrid
[2] Televisin digital. Autor: Toms Bethencourt Machado.
Coleccin Beta. Temas audiovisuales. I.S.B.N. 84 6073527-3
8 Enlaces externos
Enciclopedia del DVD. El entrelazado
9.1
Texto
9.2
Imgenes
9.3
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
34
68
91
68
11min
Publicidad
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
1/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
2/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Formato contenedor
Pero veamos una descripcin de cada concepto para tenerlo an ms
claro:
externos.
Cdec de video: Suele confundirse con el formato de video, pero
realmente no es lo mismo, ya que est relacionado con el video
contenido y no con el formato contenedor. No es un elemento
obligatorio, ya que si no se especifica un cdec, el video es contenido
en RAW (sin comprimir), llegando a ocupar muchsimo espacio (por
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
3/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Una vez teniendo claro esto, vamos a dar un repaso a los formatos
contenedores ms populares y los cdecs de video que suelen utilizar
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
4/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
del anterior).
Cdec DivX
populariz
en su versin 3.11 y no era ms que una versin
DivXse
Cdec XviD
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
5/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Cdec x264
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
6/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Cdec VP9
El cdec de video utilizado por WebM es el conocido por VP8,
desarrollado por la empresa On2 Technologies (tras una larga evolucin
desde TrueMotion S, usado en juegos como Final Fantasy VII).
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
7/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
8/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Especificacin MPEG-1/MPEG-2
9/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Especificacin MPEG-4/MPEG-H
Cdec x264
Sin embargo, el formato contenedor MP4 traera consigo la utilizacin
del formato de video definido en la especificacin MPEG-4/AVC H.264
(AVC: Advanced Video Coding). La implementacin de este formato de
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
10/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Cdec x265
An se desconocen muchos aspectos relacionados con este nuevo
formato, pero ya hay disponible varios cdecs con implementaciones
tempranas de esta especificacin:
URL | x265
URL | libde265
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
11/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
sus patentes,
autor de VirtualDub tuvo que retirar el soporte deASF
de
su programa tras haberlo investigado, y lo denomin el AVI de los pobres
.
Cdec WMV
Aunque no es exclusivo de ASF (se suele utilizar tambin en AVI), este
tipo de formatos contenedores suelen utilizar los cdec de Windows
Media Video, donde puedes encontrar desde WMV1 (Windows Media
Video 7) hasta el reciente WVC1 (Windows Media Video 9 VC-1).
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
12/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
no soportaba.
que el
OGG
oficial
Cdec Theora
El cdec de video ms popular utilizado con el formato OGG es Theora, el
cul est basado en una versin liberada de VP3. Se suele combinar con
el cdec de audio Vorbis, o menos frecuentemente con Opus o FLAC.
URL | Theora
Aunque no tiene relacin directa con este formato contenedor, existe un
cdec llamado Daala desarrollado por Xiph.Org que intenta mejorar
el rendimiento de H.265.
13/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Cdec h264
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
14/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
15/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Formato 3GPP
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
16/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Formato RMVB
Por ltimo, mencionar tambin el formato contenedor Real Media,
perteneciente a una veterana aplicacin llamada RealPlayer. En sus
inicios, dicho formato slo permita comprimir videos con calidades
constantes que no variaran, lo que lo haca un formato muy poco flexible.
Posteriormente, se comenz a popularizar una versin actualizada del
formato con la extensin .rmvb (Real Media Variable Bitrate), el cul ya
haba solventado este problema.
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
17/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
cuidado
con la versin oficial de MediaInfo , ya que
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
18/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
conversion-con-ffmpeg.png
Project
URL |
FFmpeg
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
19/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
formatos y cdecs de audio como MP3, OGG Vorbis, AC3, AAC, Opus, FLAC,
etc...
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
20/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
52
102,5K
68
91
29
144,8K
28
93,2K
Leermsartculos
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
21/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Google+
Anuncios patrocinados
34 comentarios de lectores
Publicidad
+1
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
22/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Kidcobain
Domingo, 21 de septiembre de 2014, 19:41
oye que tal unas recomendaciones finales? por ejemplo, si quisiera hacer
un vdeo que tenga buena calidad y mnimo peso que se recomendara?
no se, algunos tipos de perfiles que se pudieran usar para pequeos
proyectos personales del da a da..
suponiendo que quisiera tener audio con poco peso bajando calidad de
manera poco perceptible que se podra recomendar?
hace algunos aos tenia un telfono con muy poca memoria en el que
poda poner muy pocos mp3, prob algunos formatos como amr para
colocar
mascanciones
pero sonaba mal, al final creo que me decid
por
aac. me hubiera venido magnifico una gua de formatos, podria serle util
a mas de uno por alli
+5
Talibn
Domingo, 21 de septiembre de 2014, 20:29
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
+1
23/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Virtualizado
Lunes, 22 de septiembre de 2014, 03:18
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
+1
24/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Momar
Lunes, 22 de septiembre de 2014, 08:07
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
+4
25/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
ManuelExcelente artculo
Autor
Manz
Lunes, 22 de septiembre de 2014, 18:00
+3
Anonymous
Lunes, 22 de septiembre de 2014, 20:34
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
-1
26/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Javier
Martes, 23 de septiembre de 2014, 16:31
Javier
Martes, 23 de septiembre de 2014, 16:34
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
-1
27/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Rifergom
Mircoles, 24 de septiembre de 2014, 00:08
Agente
Sbado, 27 de septiembre de 2014, 02:39
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
-1
28/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Ano-Nimo
Sbado, 27 de septiembre de 2014, 07:05
+1
Kirie
Wow, estuvo muy buena esta entrada. Creo que la releer un par de
veces ms.
Gracias!
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
29/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Pacco
Martes, 30 de septiembre de 2014, 20:50
Has hecho feliz a mi vago interior, esos scripts son un sueo dorado.
+3
EricksonExcelente artculo. +2
ETS-PNP
Sbado, 8 de noviembre de 2014, 16:59
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
30/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Mcjivaro
Lunes, 10 de noviembre de 2014, 14:46
+1
Jordan Sedano
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
-1
31/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Dario
Jueves, 5 de febrero de 2015, 10:29
lo
que debieramos fijarnos para saber que calidad tiene un video antes de
descargarlo ....ya que de compresion aun no se casi nada ... No se como
funcionaran sus algoritmos ni nada ....
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
+3
32/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Dario
Jueves, 5 de febrero de 2015, 10:33
Oscar Hidalgo H
Lunes, 2 de marzo de 2015, 03:00
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
33/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Luciana
Lunes, 30 de marzo de 2015, 20:10
hola tengo una duda ojala me la puedas aclarar. siempre bajo pelis 3d y
las veo en mi tv 3d excepto las que estan en formato iso que no las
reproduce. suelo encontrar torrents de 50gb aprox. con formato bluray
que terminan en AVC DTS-HD. estas son siempre un archivo iso? o
pueden ser un mp4?. muchas gracias
-2
Walter
Sbado, 11 de abril de 2015, 04:55
+1
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
34/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
HARKAITZ
Sbado, 1 de agosto de 2015, 08:07
hola
tengo un tv sony nuevo y hasta ahora no tenia problema para ver las
peliculas con formato .avi, pero ahora me da error de NO RECONOCE
CODEC
que puedo hacer? cambiar de formato o de codec? lo mas rapido ?
tengo el format factory que es muy util
gracias
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
35/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Lhi
Lunes, 26 de octubre de 2015, 17:32
Hola
se que mi pregunta no es tan compleja como las expuestas, pero, estoy
interesada en saber cmo identifico el programa en el que fue grabado
un video, soy profesora y algunos de mis alumnos insisten en utilizar un
programa como After Effect, en vez de uno sencillo como Movie Maker, y
no quiero evaluar con ms ventaja a unos sobre otros, gracias
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
36/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Rwidoh
Sbado, 21 de noviembre de 2015, 22:01
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
+1
37/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Victor
Martes, 22 de diciembre de 2015, 00:52
Saludos
+1
Andrs Cortina
Sbado, 16 de abril de 2016, 05:31
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
+1
38/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Cristian
Viernes, 6 de mayo de 2016, 21:24
Hola, hay algun programa donde pueda recodificar el video pero sin
reconvertirlo? me explico, hay algun programa donde puedo agregar
subtitulos o audios y no reconvertir todo el video? O si se tiene que
reconvertir todo? Yo actualmente uso el Format factory para pasar de un
formato a otro, es un programa multiformato y es muy bueno, use
mucho tiempo el virtualdub pero en mis viejas maquinas. :)
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
39/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Autor
Manz
Domingo, 8 de mayo de 2016, 17:26
@Cristian : puedes utilizar ffmpeg, que utilizando los parmetros vcodec copy, le indicas que no recodifique el video, sino que utilice el
original. Esta opcin solo es posible utilizarla cuando no queremos hacer
cambios en el video original, sino conservarlo idnticamente (para
ahorrar tiempo) o hacer cambios que no impliquen recodificacin, como
recortar fragmentos de tiempo.
Aqu tienes un artculo detallado a modo de manual en espaol de
ffmpeg
.
ANTONIO
Viernes, 8 de julio de 2016, 21:52
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
40/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Publica tu opinin
Si lo deseas, puedes utilizar el siguiente formulario para publicar tu
opinin o responder a alguna de las existentes:
Tu nombre
tu@email.com
http:// (o perfil de Twitter)
Escribe aqu tu comentario... Separa en prrafos los textos muy
abundantes y revisa la previsualizacin del comentario antes de
enviarlo! Tu comentario puede tardar algunos segundos en
aparecer despus de enviarlo.
Previsualizacin
Aqu se previsualizar su comentario. Revise que sea correcto antes de
publicarlo.
Artculos populares
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
41/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
42/43
22/8/2016
Formatosdevideo:Todoloquedeberassaber|Emezeta
Artculos
Feed
RSS
Publicidad
Contacto
7 monos escribieron 533,45 pginas con sus mquinas de escribir en 0,41 segundos.
CMS programado y diseado por Jos Romn Hernndez Martn. Alojado en MediaTemple
usando CloudFlare.
http://www.emezeta.com/articulos/formatosdevideotodoloquedeberiassaber
43/43
La forma de trabajar es heredada del lenguaje de programacin C. Hay que crear y destruir explcitamente los
elementos de dibujo, por lo que es muy propenso a fugas
de memoria.
Esta interfaz de programacin de aplicaciones se encarga Microsoft est en vas de reemplazar dicho sistema de
del control grco de los dispositivos de salida, como los dibujo por otro completamente distinto y basado en C++
monitores o las impresoras.
denominado GDI+.
Las tareas ms comunes de GDI son:
el dibujo de lneas, curvas, polgonos;
el relleno de cuadros, crculos, polgonos, etctera;
igualmente se encarga del renderizado de fuentes y
textos, y,
el manejo de paletas.
GDI no se encarga del dibujo de los mens, ventanas, etctera, que este es un trabajo especial para el user32.dll
(una biblioteca de la API de Windows exclusiva para estas funciones).
Tal vez, la ms signicativa capacidad del GDI sobre mtodos ms directos de acceder al hardware, es la escalabilidad de posibilidades y la abstraccin que se pude conseguir con los dispositivos de salida. Usando GDI es muy
fcil dibujar en varios dispositivos, como es en la pantalla
o en una impresora, esta capacidad es el objetivo principal del WYSIWYG de Microsoft Windows.
La mayora de los videojuegos simples se pueden crear
usando GDI. Sin embargo, no es lo sucientemente poderosa para la creacin de videojuegos complejos debido
a la falta de sincronizacin con el framebuer (encargado
de las animaciones) y su obvia incapacidad para la renderizacin de modelos y objetos 3D. Los videojuegos modernos utilizan DirectX u OpenGL que resuelven estos
problemas.
Los objetos ms importantes son:
HDC (Handle to Device Context, contexto de dispositivo): que viene a ser el lienzo donde se pinta.
HBRUSH (Handle to Brush, brocha): permite rellenar zonas con colores.
HPEN (Handle to Pen, pluma): que permite el dibujado de lneas o bordes de otros elementos grcos.
1
1.1
Texto
1.2
Imgenes
1.3
Detalles tcnicos
Conector VGA
las celdas de entre todos los 16 colores. Todas estas opciones son las mismas que las del adaptador CGA presentado por IBM. Por lo general los adaptadores VGA
soportan el modo texto tanto en blanco y negro como en
color, aunque el modo monocromo, casi nunca es utilizado. En blanco y negro en casi todos los adaptadores VGA
modernos lo hacen con texto en color gris sobre fondo negro en el modo de color. Los monitores VGA monocromo
se vendieron destinados principalmente para aplicaciones
de texto, pero la mayora de ellos trabajan de manera adecuada por lo menos con un adaptador VGA en el modo de
color. De vez en cuando una conexin defectuosa entre un
monitor moderno y una tarjeta de vdeo VGA causar que
la la tarjeta detecte el monitor como en monocromo, y de
esta forma, la BIOS y la secuencia de arranque inicial aparezcan en escala de grises. Por lo general, una vez que los
controladores de la tarjeta de vdeo se han cargado (por
ejemplo, mediante el arranque del sistema operativo) se
sobrecargarn esta deteccin y el monitor volver a color.
En el modo de texto en color, cada carcter de la pantalla
est, en realidad, representado por dos bytes. El menor,
es el carcter real para el actual conjunto de caracteres, y
el superior, o atributo byte es un campo de bit utilizado
para seleccionar los diferentes atributos de vdeo, como
el color, el parpadeo, el conjunto de caracteres, etc. Este
esquema par-byte es una de las caractersticas que hered
en ltima instancia VGA de CGA.
El sistema de color VGA es compatible con los adaptadores EGA y CGA, y aade otro nivel de conguracin en
la parte superior. CGA fue capaz de mostrar hasta 16 colores, y EGA ampli este permitiendo cada uno de los 16
colores que se elijan de una paleta de colores de 64 (estos
64 colores se componen de dos bits para el rojo, verde y
3
azul: dos bits tres canales = seis bits = 64 valores diferentes). VGA extiende todava ms las posibilidades de
este sistema mediante el aumento de la paleta EGA de
64 entradas a 256 entradas. Dos bloques de ms de 64
colores con tonos ms oscuros progresivamente se aadieron, a lo largo de 8 entradas en blanco que se jaron
a negro. Adems de la ampliacin de la paleta, a cada una
de las 256 entradas se poda asignar un valor arbitrario de
color a travs de la DAC VGA. La BIOS EGA solamente
permiti 2 bits por canal para representar a cada entrada,
mientras que VGA permita 6 bits para representar la intensidad de cada uno de los tres primarios (rojo, azul y
verde). Esto proporcion un total de 63 diferentes niveles de intensidad de rojo, verde y azul, resultando 262144
posibles colores, cualquiera 256 podran ser asignado a la
paleta (y, a su vez, de los 256, cualquiera 16 de ellos podran ser mostradas en modos de vdeo CGA). Este mtodo permiti nuevos colores que se utilizarn en los modos
grcos EGA y CGA, proporcionando un recordatorio de
cmo los diferentes sistemas de paleta se establecen juntos. Para denir el texto de color a rojo muy oscuro en el
modo de texto, por ejemplo, tendr que ser jado a uno
de los colores CGA (por ejemplo, el color por defecto, n
7: gris claro.) Este color luego se mapea a uno la paleta EGA - en el caso del color 7 de CGA, se mapea a la
entrada 42 de EGA. El DAC VGA debe ser congurado
para cambiar de color 42 a rojo oscuro, y luego de inmediato cualquier cosa que aparece en la pantalla a la luz
de gris (color CGA 7) pasar a ser de color rojo oscuro.
Esta funcin se utiliza a menudo en juegos DOS de 256
colores. Mientras que los modos CGA y EGA compatibles permitan 16 colores para ser mostrados de una vez,
otros modos VGA, como el ampliamente utilizado modo
13h, permita que las 256 entradas de la paleta se mostraran en la pantalla al mismo tiempo, y as en estos modos
cualquier 256 colores podran ser vistos de los 262144
colores disponibles.
Detalles de direccionamiento
La memoria de vdeo de la VGA est asignada a la memoria de PC a travs de una ventana en el rango entre los
segmentos 0xA000 y 0xC000 en el modo real del espacio
de direcciones. Tpicamente estos segmentos son:
0xA000 para modos grcos EGA / VGA (64 KiB)
0xB000 para monocromo en modo texto (32 KiB)
0xB800 para color en modo texto y modos CGA
grcos compatibles (32 KiB)
Debido a la utilizacin de diferentes asignaciones de direccin para los distintos modos, es posible disponer de
un adaptador de pantalla monocromo y un adaptador de
color, como el VGA, EGA o CGA instalado en la misma
mquina. A principios de la dcada de 1980, esto se utilizaba para mostrar hojas de clculo de Lotus 1-2-3 en alta
resolucin de texto en una pantalla MDA y grcos asociados en CGA a baja resolucin en una pantalla simultneamente. Muchos programadores tambin utilizan dicho servicio con la tarjeta monocromo que muestra informacin de depuracin mientras corra en un programa de
la otra tarjeta en modo grco. Varios depuradores, como
Borland Turbo Debugger, D86 (por J. Alan Cox) y CodeView de Microsoft podran trabajar en una conguracin
de monitor dual. Cualquiera de Turbo Debugger o CodeView se podran utilizar para depurar Windows. Tambin hay controladores de dispositivo DOS, como ox.sys,
que implementaba una interfaz serie para simulacin en
la pantalla MDA, por ejemplo, permite al usuario recibir
mensajes de error de depuracin de las versiones de Windows sin utilizar un terminal serie real. Tambin es posible utilizar el comando MODO MONO en el prompt
de DOS para redirigir la salida a la pantalla monocromo. Cuando un Adaptador de Pantalla Monocromtica
no estaba presente, se poda utilizar el espacio de direcciones de memoria 0xB000 - 0xB7FF adicionalmente para otros programas (por ejemplo, mediante la adicin de
la lnea DEVICE = EMM386.EXE I = B000-B7FF en
cong.sys), esta memoria estara disponible para programas que pueden ser cargados en la memoria alta.
6 Trucos de programacin
Una tcnica indocumentada pero popular apodada Modo X (acuado por Michael Abrash) se utiliz para hacer
posibles tcnicas de programacin y resoluciones grcas
que no lo eran de otra forma en el estndar Modo 13h.
Esto se hizo descomponiendo los 256 KiB de memoria
VGA en cuatro planos, que hara que cada uno de los
256 KiB de memoria grca estuvieran disponibles en los
modos de color de 256 colores. Hubo una compensacin
extra de complejidad y prdida de rendimiento en algunas operaciones de grcos, pero fue mitigado por otras
operaciones cada vez con ms rapidez en ciertas situaciones:
El llenado de polgonos de un color poda acelerarse
debido a la capacidad de establecer cuatro pxeles
con una sola escritura en el hardware.
El adaptador de vdeo poda ayudar en la copia de
regiones RAM de vdeo, que a veces es ms rpido
que hacerlo con la lenta interfaz CPU a VGA.
Varios modos de mayor resolucin son posibles: en
16 colores, 704 528, 736 552, 768 576, y hasta
800 600 eran posibles. Software como Xlib (una
biblioteca de grcos VGA para C a principios de
1990) y ColoRIX (un programa de tratamiento de
grcos de 256 colores), tambin soportaba modos
de color de 256 colores utilizando muchas combinaciones de las columnas de 256, 320, y 360 pxeles,
y las de 200, 240, 256, 400, y 480 lneas (el lmite superior de 640 400, que utiliza casi todos
ENLACES EXTERNOS
los bytes de VGA 256 KiB de RAM de vdeo). Sin 7.3 Otros
embargo, 320 240 es el ms conocido y de uso
PC 99
frecuente ya que es el tpico formato de imagen de
4:3 con resolucin de pxeles cuadrados.
Vdeo
El uso de mltiples pginas de vdeo en hardware
permite al programador realizar doble buering, que
est disponible en todos los modos de VGA de 16
colores, no era posible utilizar la modalidad de 13h.
A veces, la tasa de refresco del monitor tena que ser reducida para dar cabida a estos modos, incrementando la
tensin ocular. Tambin son incompatibles con algunos
monitores ms antiguos, que producen problemas de visualizacin, como desaparicin de detalles de la imagen,
parpadeo, desplazamiento vertical y horizontal y de falta de sincronizacin en funcin de la modalidad que se
intente. Debido a esto, la mayora de los ajustes VGA
utilizados en productos comerciales se limitaron a combinaciones seguras, como 320 240 (pxeles cuadrados,
tres pginas de vdeo), 320 400 (el doble de resolucin,
dos pginas de vdeo) y 360 480 (mxima resolucin
estndar VGA compatible con monitores, una pgina de
vdeo).
Vase tambin
7.1
Interfaces
7.2
Formatos
8 Enlaces externos
DB15 VGA, funciones de los pines
ndice: Denicin breve en Espaol de los registros
y campos de bits VGA estndar en software
9.1
Texto
9.2
Imgenes
Archivo:Commons-emblem-question_book_orange.svg
Fuente:
https://upload.wikimedia.org/wikipedia/commons/1/1f/
Commons-emblem-question_book_orange.svg Licencia: CC BY-SA 3.0 Colaboradores: <a href='//commons.wikimedia.org/wiki/File:
Commons-emblem-issue.svg' class='image'><img alt='Commons-emblem-issue.svg' src='https://upload.wikimedia.org/wikipedia/
commons/thumb/b/bc/Commons-emblem-issue.svg/25px-Commons-emblem-issue.svg.png' width='25' height='25' srcset='https:
//upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/38px-Commons-emblem-issue.svg.png
1.5x,
https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/50px-Commons-emblem-issue.svg.png 2x'
data-le-width='48' data-le-height='48' /></a> + <a href='//commons.wikimedia.org/wiki/File:Question_book.svg' class='image'><img
alt='Question
book.svg'
src='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/25px-Question_
book.svg.png' width='25' height='20' srcset='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/
38px-Question_book.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/50px-Question_
book.svg.png 2x' data-le-width='252' data-le-height='199' /></a> Artista original: GNOME icon artists, Jorge 2701
Archivo:DE15_Connector_Pinout.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/3/30/DE15_Connector_Pinout.svg
Licencia: Public domain Colaboradores: Trabajo propio Artista original: Mobius
Archivo:SVGA_port.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/9/92/SVGA_port.jpg Licencia: Public domain Colaboradores: Trabajo propio Artista original: Duncan Lithgow
Archivo:VGA_Stecker.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/6/61/VGA_Stecker.jpg Licencia: CC BY-SA 2.5
Colaboradores: Trabajo propio Artista original: Afrank99
Archivo:VGA_palette_with_black_borders.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/6/66/VGA_palette_with_
black_borders.svg Licencia: Public domain Colaboradores: Psychonaut/ipalette.sh Artista original: Psychonaut
9.3
Impresora
Una impresora es un dispositivo perifrico del ordenador
que permite producir una gama permanente de textos o
grcos de documentos almacenados en un formato electrnico, imprimindolos en medios fsicos, normalmente
en papel, utilizando cartuchos de tinta o tecnologa lser
(con tner).
Muchas de las impresoras son usadas como perifricos, y
estn permanentemente unidas al ordenador por un cable.
Otras impresoras, llamadas impresoras de red, tienen una
interfaz de red interno (tpicamente wireless o ethernet),
y que puede servir como un dispositivo para imprimir en
papel algn documento para cualquier usuario de la red.
Adems, muchas impresoras modernas permiten la conexin directa de aparatos de multimedia electrnicos como las tarjetas CompactFlash, Secure Digital o Memory
Stick, pendrives, o aparatos de captura de imagen como
cmaras digitales y escneres. Tambin existen aparatos
multifuncin que constan de impresora, escner o mquinas de fax en un solo aparato. Una impresora combinada
con un escner puede funcionar bsicamente como una
fotocopiadora.
Las impresoras suelen disearse para realizar trabajos repetitivos de poco volumen, que no requieran virtualmente
un tiempo de conguracin para conseguir una copia de
un determinado documento. Sin embargo, las impresoras Impresoras-tipos
son generalmente dispositivos lentos (10 pginas por minuto es considerado rpido), y los gastos por pgina es
relativamente alto.
impresoras de margarita;
Para trabajos de mayor volumen existen las imprentas,
que son mquinas que realizan la misma funcin que las
impresoras pero estn diseadas y optimizadas para realizar trabajos de impresin de gran volumen como sera
la impresin de peridicos. Las imprentas son capaces de
imprimir cientos de pginas por minuto o ms.
tecnologa de impresin,
mtodo de impresin,
capacidad de impresin.
1
1.1
Caracteres con trazo continuo: los caracteres formados totalmente con trazo continuo (los producidos por una impresora de margarita, por ejemplo).
Caracteres de puntos matriciales: caracteres matriciales compuestos por patrones de puntos independientes (impresoras: matriciales, de inyeccin y
trmicas).
Tcnicamente, las impresoras lser son matriciales, pero la nitidez de la impresin y el tamao reducido de los
puntos impresos con alta densidad, se puede considerar
que los trazos de sus caracteres son continuos.
MTODOS DE IMPRESIN
1.2
Mtodo de transmisin
1.3
Mtodo de impresin
2 Mtodos de impresin
La eleccin del motor de comprensin que tiene un efecto
substancial en los trabajos a los que una impresora est
destinada. Hay diferentes tecnologas que tienen diferentes niveles de calidad de imagen, velocidad de impresin,
coste, ruido y adems, algunas tecnologas son inapropiadas para ciertos tipos de medios fsicos (como papel
carbn o transparencias).
Otro aspecto de la tecnologa de impresin que es frecuentemente olvidado es la resistencia a la alteracin: tin Pgina a pgina: entre las impresoras de pginas ta lquida como de una cabeza de inyeccin de tinta son
se encuentran las electrofotogrcas, como las im- absorbidos por las bras del papel, y por eso los documenpresoras lser.
tos impresos con tinta lquida son ms difciles de alterar
2.2
Inyeccin de tinta
Las impresoras de inyeccin de tinta consisten en inyectores que producen burbujas muy pequeas de tinta que
se convierten en pequesimas gotitas de tinta. Los puntos formados son el tamao de los pequeos pixeles. Las
que los que estn impresos por tner o tinta slida, que impresoras de inyeccin pueden imprimir textos y grno penetran por debajo de la supercie del papel.
cos de alta calidad de manera casi silenciosa.
Existen dos mtodos para inyectar la tinta:
2.1
Tner
MTODOS DE IMPRESIN
2.4
Bolas de impresin.
Impacto
2.4.1 Matriz de puntos
En el sentido general, muchas impresoras se basan en una
matriz de muchos pxeles o puntos que, juntos, forman
la imagen ms grande. Sin embargo, el trmino matriz o
de puntos se usa especcamente para las impresoras de
impacto que utilizan una matriz de pequeos alleres para
crear puntos precisos. Dichas impresoras son conocidas
como matriciales. La ventaja de la matriz de puntos sobre
otras impresoras de impacto es que estas pueden producir
imgenes grcas adems de texto. Sin embargo, el texto
es generalmente de calidad ms pobre que las impresoras
basadas en impacto de tipos.
Algunas sub-clasicaciones de impresoras de matriz de
puntos son las impresoras de alambre balstico y las
impresoras de energa almacenada.
Margarita de impresin.
Las impresoras de impacto o impresoras de golpe se basan en la fuerza de impacto para transferir tinta al medio,
de forma similar a las mquinas de escribir, estn generalmente limitadas a reproducir texto. En su momento dominaron la impresin de calidad. Hay dos tipos principales:
Las impresoras de matriz de puntos pueden estar basadas bien en caracteres o bien en lneas, rerindose a la
conguracin de la cabeza de impresin.
2.5
Sublimacin de tinta
Las impresoras de sublimacin de tinta emplean un proceso de impresin que utiliza calor para transferir tinta
a medios como tarjetas de plstico, papel o lienzos. El
proceso consiste usualmente en poner un color cada vez
utilizando una cinta que tiene paneles de color. Estas impresoras estn principalmente pensadas para aplicaciones
de color de alta calidad, incluyendo fotografa en color, y
son menos recomendables para texto. Primeramente utilizadas en las copisteras, cada vez ms se estn dirigiendo a los consumidores de impresoras fotogrcas.
2.6
Trmica
El bfer es utilizado para mantener trabajos de impre- Un lenguaje de descripcin de pgina (PDL) es un mesin activos y la permanencia se utiliza para almacenar el dio de codicar cada elemento de un documento para podiseo de las fuentes y los datos.
der as transmitirlo a la impresora para que esta lo impriHay que tener en cuenta que para tratar la impresin de un ma. Es el medio que dene las caractersticas y compodocumento la pgina tiene que estar enteramente almace- sicin que describiran un documento impreso dentro de
nada en memoria. El rendimiento de la memoria depende un ujo de datos. Hay varios tipos de PDL:
tanto del sistema operativo como de la conguracin del
controlador de impresora.
PostScript
Por ejemplo, la gestin de impresin vara si estamos en
Printer Command Language (PCL), lenguaje de
un sistema operativo DOS u otro multiplataforma.
control de impresora
HPGL, para plteres
Conexin de impresora
fortaleza de TrueType es que ofrece a los diseadores de Otros fabricantes, en reaccin a los desafos que trae este
fuentes un gran grado de control sobre la forma que sus modelo comercial, apuntan a obtener mayores benecios
fuentes se muestran a diferentes tamaos.
de las impresoras y menos de los cartuchos de tinta, proEl problema con la mayora de los programas es que moviendo los menores precios de los cartuchos a travs
no usan normalmente el truetype. En general cargan las de campaas de publicidad. Esto genera dos propuestas
fuentes en estilo Postscript y se descartan todas las in- bien diferentes: impresora barata - tinta cara o impresinuaciones, esto es una gran perdida para fuentes con sora cara - tinta barata. Finalmente, la decisin del conde inters de referencia o su
alta calidad. Aparte del diseo de la fuente, hay que te- sumidor depende de su tasa
preferencia intertemporal.[2][3]
ner en cuenta otras dos claves para la calidad de fuente:
el perl del carcter y la insinuacin. Solo algunas fundiciones actualmente producen fuentes que exploten al
mximo el potencial de insinuacin de truetype. Ahora 10 Cartuchos, tinta y papel
hay aplicaciones que convierten un Type 1 de Postscript
en un truetype, pero son los manuscritos mejores que los Tanto los cartuchos, como la tinta y el papel son 3 elemengenerados automticamente.
tos imprescindibles para poder realizar copias con una
Trazador de imagen
Existen dispositivos como celulares, que se utilizan en casas de revelado fotogrco o en el hogar. Estos dispositivos suelen ser conocidos como impresora fotogrca,
impresora con calidad fotogrca o bases de impresin
fotogrca. Estos dispositivos imprimen en color, produciendo imgenes que imitan el rango de colores y resoluciones de los mtodos de revelado fotogrco previos a
esta tecnologa.
10.1 Cartuchos
En el caso de las impresoras lser, la vida til del cartucho
depende de la cantidad de tner que contenga y cuando
el tner se agota, el cartucho debe ser reemplazado. En el
caso de que el cartucho y el OPC (rgano sensible fotoconductivo) se encuentren en compartimentos separados,
cuando se agota el tner solo se reemplaza el cartucho,
pero en el caso de que el OPC est dentro del cartucho
se deben cambiar ambos, aumentando considerablemente el gasto. La situacin es ms crtica en el caso de las
impresoras lser en color.
En las impresoras de chorros de tinta la vida til del cartucho depende de la duracin de la tinta, aunque muchos
cartuchos se pueden rellenar de nuevo lo que ayuda a reducir el gasto de comprar uno nuevo aunque el uso excesivo de un cartucho puede provocar que realice sus impresiones con menor calidad.
10.2 Tinta
A menudo se utiliza el modelo comercial de las maquinillas y las cuchillas de afeitar en el negocio de las impresoras. Las compaas pueden vender una impresora
por debajo de su coste, y obtener benecios de los cartuchos de tinta, papel u otras partes que se reemplazan.
Esto ha causado disputas legales respecto al derecho de
otras compaas distintas al fabricante de la impresora
de vender cartuchos de tinta compatibles o alternativos.
Para proteger al modelo comercial de las maquinillas y
las cuchillas de afeitar muchos fabricantes invierten considerables sumas en desarrollo de nuevas tecnologas y
sus patentes.
10.3
Papel
13 Vase tambin
11
11.1
11.2
Problemas de tinta
En ocasiones al imprimir documentos o fotografas pueden aparecer bandas horizontales que hacen empeorar la
calidad de la impresin. Aunque este problema puede estar ocasionalmente relacionado con una mala eleccin del
papel de impresin generalmente se debe a problemas de
tinta en impresiones de inyeccin de tinta. Una causa posible es la conguracin de calidad de la impresin, puesto que el documento puede requerir una conguracin de
mayor calidad de la impresora. Otras posibles causas pueden ser que la tinta del cartucho se est agotando o que
los cabezales estn sucios.
12
Otras impresoras
Controlador de impresora
Impresin a doble cara
Impresora braille
Impresora de impacto
Impresora de inyeccin
Impresora de lnea
Impresora de margarita
Impresora de sublimacin
Impresora lser
Impresora matricial
Impresora trmica
Internet Printing Protocol
Tcnicas de impresin
14 Referencias
[1] Microsoft Corporation, ed. (8 de abril de 2008).
Impresora (html). Enciclopedia Microsoft Encarta Online 2007. Consultado el 24 de agosto de 2015.
[2] Qu debemos tener en cuenta para comprar una impresora
[3] Costo por hoja versus costo de la impresora en impresoras
disponibles en el momento
15 Enlaces externos
16
16.1
16.2
Imgenes
16.3
Memoria ash
La memoria ash derivada de la memoria
EEPROM permite la lectura y escritura de mltiples posiciones de memoria en la misma operacin.
Gracias a ello, la tecnologa ash, siempre mediante
impulsos elctricos, permite velocidades de funcionamiento muy superiores frente a la tecnologa EEPROM
primigenia, que slo permita actuar sobre una nica
celda de memoria en cada operacin de programacin.
Se trata de la tecnologa empleada en los dispositivos
denominados memoria USB.
Historia
2 Generalidades
Econmicamente hablando, el precio en el mercado cumple la ley de Moore aumentando su capacidad y disminuyendo el precio.
Algunas de sus ventajas son una gran resistencia a los golpes, gran velocidad, bajo consumo de energa y un funcionamiento silencioso, ya que no contiene actuadores mecnicos ni partes mviles. Su pequeo tamao tambin
es un factor determinante a la hora de escoger para un
dispositivo porttil, as como su ligereza y versatilidad
para todos los usos hacia los que est orientado. En vista
de ello, comienzan a popularizarse las unidades SSD que
usan memoria ash en lugar de platos.
Sin embargo, todos los tipos de memoria ash slo permiten un nmero limitado de escrituras y borrados, generalmente entre 10.000 y un milln, dependiendo de la
La historia de la memoria ash siempre ha estado muy celda, de la precisin del proceso de fabricacin y del volDispositivos de almacenamiento comunes, utilizados para transportar datos de la computdora.
Bit Line
Word
Line 0
Word
Line 1
N, GND
Word
Line 2
Word
Line 3
N, GND
Word
Line 4
Word
Line 5
N, GND
3.3
cuencial (ms orientado a dispositivos de almacenamiento masivo), frente a las memorias ash basadas en NOR
que permiten lectura de acceso aleatorio. Sin embargo,
han sido las NAND las que han permitido la expansin
de este tipo de memoria, ya que el mecanismo de borrado es ms sencillo (aunque tambin se borre por bloques)
lo que ha proporcionado una base ms rentable para la
creacin de dispositivos de tipo tarjeta de memoria. Las
populares memorias USB o tambin llamadas Pendrives,
utilizan memorias ash de tipo NAND.
Para programar una celda de tipo NOR (asignar un valor determinado) se permite el paso de la corriente desde el terminal fuente al terminal sumidero, entonces se
coloca en CG un voltaje alto para absorber los electrones y retenerlos en el campo elctrico que genera. Este
proceso se llama hot-electrn injection. Para borrar (poner a 1, el estado natural del transistor) el contenido de
una celda, expulsar estos electrones, se emplea la tcnica
de Fowler-Nordheim tunnelling, un proceso de tunelado
mecnico cuntico. Esto es, aplicar un voltaje inverso bastante alto al empleado para atraer a los electrones,
convirtiendo al transistor en una pistola de electrones que
permite, abriendo el terminal sumidero, que los electrones abandonen el mismo. Este proceso es el que provoca
el deterioro de las celdas, al aplicar sobre un conductor
tan delgado un voltaje tan alto.
Es necesario destacar que las memorias ash estn subdivididas en bloques (en ocasiones llamados sectores) y por
lo tanto, para el borrado, se limpian bloques enteros para
agilizar el proceso, ya que es la parte ms lenta del proceso. Por esta razn, las memorias ash son mucho ms
rpidas que las EEPROM convencionales, ya que borran
byte a byte. No obstante, para reescribir un dato es necesario limpiar el bloque primero para despus reescribir
su contenido.
3.2
Word
Line 0
Word
Line 1
Word
Line 2
Word
Line 3
Word
Line 4
Word
Line 5
Word
Line 6
Bit Line
Select
Transistor
Word
Line 7
Bit Line
Ground
Select
Transistor
3.4
Estandarizacin
Las memorias han evolucionado mucho desde los co Un mecanismo para auto-identicacin (compara- mienzos del mundo de la computacin. Conviene recorble a la funcin de deteccin de presencia de mdu- dar los tipos de memorias de semiconductores empleadas
los de memoria SDRAM)
como memoria principal y unas ligeras pinceladas sobre
cada una de ellas para enmarcar las memorias ash dentro
El grupo ONFI es apoyado por la mayora de los fabrican- de su contexto.
tes de memorias ash NAND, incluyendo Hynix, Intel,
Organizando estos tipos de memoria conviene destacar
Micron Technology y Numonyxen) , as como por los printres categoras si las clasicamos en funcin de las opecipales fabricantes de dispositivos que incorporan chips
raciones que podemos realizar sobre ellas, es decir, me[3]
de memoria ash NAND.
morias de slo lectura, memorias de sobre todo lectura y
Un grupo de proveedores (incluyendo Intel, Dell, y memorias de lectura/escritura.
Microsoft) formaron el grupo de trabajo NVM Express
(Non-Volatile Memory Host Controller Interface). El ob Memorias de slo lectura.
jetivo del grupo es proporcionar software estndar e in ROM (Read Only Memory): se usan principalterfaces de programacin hardware para los subsistemas
mente en microprogramacin de sistemas. Los
de memoria no voltil, incluido el dispositivo ash cafabricantes las suelen emplear cuando produch", conectado al bus PCI Express.
cen componentes de forma masiva.
Disear un sistema de cheros eciente para las memorias ash se ha convertido en una carrera vertiginosa y
compleja, porque aunque ambos son tipos de memoria
ash (NOR y NAND), tienen caractersticas muy diferentes entre s a la hora de acceder a esos datos. Esto es
porque un sistema de cheros que trabaje con memorias
de tipo NOR incorpora varios mecanismos innecesarios
para NAND y, a su vez, NAND requiere mecanismos adicionales, innecesarios para gestionar la memoria de tipo
NOR.
Un ejemplo podra ser un recolector de basura. Esta
herramienta est condicionada por el rendimiento de las
funciones de borrado que, en el caso de NOR es muy lento y, adems, un recolector de basura NOR requiere una
complejidad relativa bastante alta y limita las opciones de
diseo del sistema de cheros. Comparndolo con los sistemas NAND, que borran mucho ms rpidamente, estas
limitaciones no tienen sentido.
Otra de las grandes diferencias entre estos sistemas es el
uso de bloques errneos que pueden existir en NAND pero no tienen sentido en los sistemas NOR que garantizan
la integridad. El tamao que deben manejar unos y otros
5
un condensador. Tiende a descargarse y, por
lo tanto, es necesario un proceso de refresco
peridico. Son ms simples y baratas que las
SRAM.
SRAM (Static Random Access Memory): los
datos se almacenan formando biestables, por
lo que no requiere refresco. Igual que DRAM
es voltil. Son ms rpidas que las DRAM y
ms caras.
Tarjetero ash
Futuro
Cualquier dispositivo con datos crticos emplear las tecnologas basadas en NOR u ORNAND si tenemos en
cuenta que un fallo puede hacer inservible un terminal
de telefona mvil o un sistema mdico por llegar a un
caso extremo. Sin embargo, la electrnica de consumo
personal seguir apostando por las memorias basadas en
NAND por su inmensamente reducido costo y gran capacidad, como los reproductores porttiles de MP3 o ya,
incluso, reproductores de DVD porttiles. La reduccin
del voltaje empleado (actualmente en 1,8 V la ms reducida), adems de un menor consumo, permitir alargar la
vida til de estos dispositivos sensiblemente. Con todo,
los nuevos retos sern los problemas que sufren hoy en
El desarrollo de las memorias ash es, en comparacin da los procesadores por su miniaturizacin y altas frecon otros tipos de memoria sorprendentemente rpido cuencias de reloj de los microprocesadores.
tanto en capacidad como en velocidad y prestaciones. Sin
Los sistemas de cheros para memorias ash, con proyecembargo, los estndares de comunicacin de estas memotos disponibles mediante CVS (Concurrent Version Sysrias, de especial forma en la comunicacin con los PC es
tem) y cdigo abierto permiten un desarrollo realmente
notablemente inferior, lo que puede retrasar los avances
rpido, como es el caso de YAFFS2, que, incluso, ha conconseguidos.
seguido varios patrocinadores y hay empresas realmente
La apuesta de gigantes de la informtica de consumo, interesadas en un proyecto de esta envergadura.
como AMD y Fujitsu, en formar nuevas empresas deLa integracin con sistemas inalmbricos permitir unas
dicadas exclusivamente a este tipo de memorias, como
condiciones propicias para una mayor integracin y ubiSpansion(en) en julio de 2003, auguran fuertes inversiones
cuidad de los dispositivos digitales, convirtiendo el munen investigacin, desarrollo e innovacin en un mercado
do que nos rodea en el sueo de muchos desde la dcada
que en 2005 segua creciendo y que registr en 2004 un
de 1980. Pero no slo eso, la Agencia Espacial Brasilea,
crecimiento asombroso hasta los 15.000 millones de dpor citar una agencia espacial, ya se ha interesado ociallares (despus de haber superado la burbuja tecnolgica
mente en este tipo de memorias para integrarla en sus
del llamado boom punto com) segn el analista de la
diseos; la NASA ya lo hizo y demostr en Marte su funindustria Gartner, que avala todas estas ideas.
cionamiento en el Spirit (rover de la NASA, gemelo de
Es curioso que esta nueva empresa, concretamente, est Opportunity), donde se almacenaban incorrectamente las
dando la vuelta a la tortilla respecto a las velocidades con rdenes como bien se puede recordar. Esto slo es el prinuna tcnica tan sencilla en la forma como compleja en el cipio. Y ms cerca de lo que creemos. Intel asegura que
fondo de combinar los dos tipos de tecnologas reinantes
El futuro del mundo de la memoria ash es bastante alentador, ya que se tiende a la ubicuidad de las computadoras
y electrodomsticos inteligentes e integrados y, por ello,
la demanda de memorias pequeas, baratas y exibles seguir en alza hasta que aparezcan nuevos sistemas que lo
superen tanto en caractersticas como en costo. En apariencia, esto no pareca muy factible ni siquiera a medio
plazo ya que la miniaturizacin y densidad de las memorias ash estaba todava lejos de alcanzar niveles preocupantes desde el punto de vista fsico. Pero con la aparicin
del memristor el futuro de las memorias ash comienza a
opacarse.
7.1
7.2
Cuidados
Cambiar o recargar las bateras del dispositivo cuando estn descargadas o bajas de carga: la descarga de
las bateras es una de las causas frecuentes de daos
y prdida de datos en las tarjetas de memoria. Si la
batera se acaba mientras el dispositivo est guar-
CUIDADOS
7
diferentes y hasta guardar la informacin en disco
duro externo o grabarla en discos DVD o BD para guardarla a largo plazo. No guarde informacin
importante nicamente en las tarjetas de memoria.
Referencias
miembros
ONFI
http://onfi.org/
10
Vase tambin
11
Enlaces externos
12
12.1
12.2
Imgenes
Archivo:Commons-emblem-question_book_yellow.svg
Fuente:
https://upload.wikimedia.org/wikipedia/commons/d/dd/
Commons-emblem-question_book_yellow.svg Licencia: CC BY-SA 3.0 Colaboradores: <a href='//commons.wikimedia.org/wiki/File:
Commons-emblem-query.svg' class='image'><img alt='Commons-emblem-query.svg' src='https://upload.wikimedia.org/wikipedia/
commons/thumb/c/c5/Commons-emblem-query.svg/25px-Commons-emblem-query.svg.png' width='25' height='25' srcset='https:
//upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Commons-emblem-query.svg/38px-Commons-emblem-query.svg.png 1.5x,
https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Commons-emblem-query.svg/50px-Commons-emblem-query.svg.png
2x' data-le-width='48' data-le-height='48' /></a> + <a href='//commons.wikimedia.org/wiki/File:Question_book.svg'
class='image'><img alt='Question book.svg' src='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.
svg/25px-Question_book.svg.png' width='25' height='20' srcset='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/
Question_book.svg/38px-Question_book.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.
svg/50px-Question_book.svg.png 2x' data-le-width='252' data-le-height='199' /></a> Artista original: GNOME icon artists, Linfocito
B
Archivo:JaCarta_collage_01.JPG Fuente: https://upload.wikimedia.org/wikipedia/commons/f/f1/JaCarta_collage_01.JPG Licencia:
CC BY-SA 3.0 Colaboradores: Trabajo propio Artista original: Kharitonov
Archivo:NOR_flash_layout.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/d/dd/NOR_flash_layout.svg Licencia: CCBY-SA-3.0 Colaboradores: the English language Wikipedia (log) Artista original: Cyferz (talk)
Archivo:Nand_flash_structure.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/f/f5/Nand_flash_structure.svg Licencia:
CC-BY-SA-3.0 Colaboradores: en wikipedia Artista original: Cyferz
Archivo:PersonalStorageDevices.agr.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/8/87/PersonalStorageDevices.agr.
jpg Licencia: CC-BY-SA-3.0 Colaboradores: I took this photograph of artifacts in my possession Artista original: --agr 15:53, 1 Apr 2005
(UTC)
Archivo:USB_flash_drive.JPG Fuente: https://upload.wikimedia.org/wikipedia/commons/2/2c/USB_flash_drive.JPG Licencia: CCBY-SA-3.0 Colaboradores: ? Artista original: ?
12.3
21/8/2016
AccesoyOrganizacindeArchivos
5.AccesoyOrganizacindeArchivos
5.1Conceptosgenerales
Cuandohablamosdearchivosloqueestamostratandodehacerposiblees
mantenerlosdatosdeunamanerapersistente.
Demaneraquecuandoundatoseencuentraenmemoriaesposiblealmacenarlo
endiscoydespusconotroprogramaleerloyreconstruirloenmemoria.
Losarchivospuedenestarestructuradosdedistintasformas:
registros(secciones5.25.7)
modelosabstractos(seccin5.8)
5.2ArchivosdeRegistros,mtodosde
almacenamientomanteniendolaidentidaddelos
campos
Launidadbsicadedatoseselcampo(field),elcualcontienesimplementevalor
deldato
Fieldsestnorganizadosengrupos,cuandohablamosdelistasconcampos
similaresnosreferimosaunarreglo(array)ycuandohablamosdelistascon
camposdiferentesestamosrefirindonosaregistros(record)
Entrminosdeprogramacincuandohablamosdeunrecordenmemorianosestamos
refiriendoaunobjeto,elcualtienesusmiembrosoatributossinembargocuandose
almacenaendiscodichoobjetoentonceshablamossimplementedeunregistro.
Nota:cuandoelobjetoseguardacompletamente,incluyendosusmtodosestamos
hablandode"PersistenciadeObjetos"(ObjectSerialization)
Problema:
Deseamosalmacenarlasiguienteinformacinquetenemosenmemoriaendisco
MaryAmes
AlanMason
123Maple
90Eastgate
StillwaterOK74075
AdaOK74820
Siconsideramoselsiguientemtodoparaalmacenardichosdatos,
ostream&operator<<(ostream&outFile,
Person&p)
{//insert(write)fieldsintostream
outputFile<<p.lastName
<<p.FirstName
<<p.Address
<<p.City
http://ict.udlap.mx/people/carlos/is215/ir05.html
1/16
21/8/2016
AccesoyOrganizacindeArchivos
<<p.State
<<p.ZipCode
returnoutputFile
}
losguardaremosenunarchivodemaneraconsecutiva,talcomosefueespecificando,
peroahoratenemosungranproblema.Lainformacinnosepuedesepararpara
distinguirlosdistintoscamposquecomponencadaregistro.
AmesMary123MapleStillwaterOK74075MasonAlan90EastgateAdaOK74820
Solucin:
Existendistintasmanerasdeagregarestructurasdedatosaarchivosymantenerla
identidaddeloscampos:
Forzaraloscamposatenerunalongitudfija
Comenzarcadacampoconunindicadordelalongituddelcampo
Colocarundelimitadoralfinaldecadacampoparasepararlodelsiguiente
Usarunapareja"keyword=value"paraidentificarcadacampoysucontenido
Forzaraloscamposatenerunalongitudfija
Loscampos(nombre,direccin,estado)denuestroejemploanteriortenanlongitudes
variables.
Peronosotrospodemospensarenestablecerunamedidafijaparacadaunodelos
camposenelcasodelejemplodePersoncadacampotieneunalongitudyeltamao
totaldeunregistrosiempreserade67bytes(11+11+16+16+3+10)
classPerson{public:
charlast[11]
charfirst[11]
charaddress[16]
charcity[16]
charstate[3]
charzip[10]
}
Demaneraqueelarchivoquedaradelasiguientemanera(recordarcubrirlosespacios
vacos):
Ames
Mary
123Maple
Stillwater
OK
74075
Mason
Alan
90Eastgate
Ada
OK
74820
Pararecuperarlainformacinsepuedehacermatemticamenteleyendoelnmerode
bytes/charscorrespondientesacadacampo
Desventajas
Elarchivotiendeahacersedemasiadogrande
http://ict.udlap.mx/people/carlos/is215/ir05.html
2/16
21/8/2016
AccesoyOrganizacindeArchivos
Qusucedesialgncampoenunregistronecesitamsespacioqueloacordado
?,necesitamosarreglarlalongituddeesecampoentodoslosregistros,
desperdiciandoespacioytiempo.
Ventaja
Cuandodeantemanosabemosquenuestroscampossiempretendrnlamisma
longitudesunabuenaopcin
Comenzarcadacampoconunindicadordelalongituddelcampo
Secolocaantesdecadacamposulongitud,generalmentesiloscamposnosonmuy
largosestamedidaocuparunsolobyte(256bytesdelongitud)
04Ames04Mary09123Maple10Stillwater02OK0574075
05Mason04Alan1190Eastgate03Ada02OK0574820
Colocarundelimitadoralfinaldecadacampoparasepararlodelsiguiente
Escribiruncaracterespecialentrecadacampodemaneraquesepuedapreservarla
identidad
Ladecisindecualcaracter"especial"utilizaresmuyimportanteyaquenodebe
utilizarseenningunodeloscampos.
Enalgunoscasoslosespaciosenblanco,elsaltodelneaoeltabuladorpuedenseruna
buenaopcin.
Ames|Mary|123Maple|Stillwater|OK|74075
Mason|Alan|90Eastgate|Ada|OK|74820
Usarunapareja"keyword=value"paraidentificarcadacampoysu
contenido
Conocidascomoestructurasdeautodescripcinestamaneradealmacenarla
informacinesmuytilenlaorganizacindearchivos
Puedecombinarseconotroesquemadelosantesmencionados,estoconla
finalidaddemostrarladivisinentrelasparejas
Desventaja:
Eldesperdiciodeespacioendisco,casiun50%.
http://ict.udlap.mx/people/carlos/is215/ir05.html
3/16
21/8/2016
AccesoyOrganizacindeArchivos
last=Ames|first=Mary|address=123Maple|city=Stillwater|state=OK|zip=74075
5.3MtodosdeAlmacenamientomanteniendola
identidaddelosRegistros
Loanterioresmuytileinteresanteperopierdedevistaelconceptooriginalque
tenamosde"registro",enelejemplocadaregistroestacompuestopor6campos.
Unregistroesunconjuntodecamposquepermanecenjuntoscuandoelarchivoes
vistoentrminosdeorganizacindealtonivel.
Entrminosdeprogramacinloquesebuscaespoderleer"registros"dearchivos
comountodo(bufferenmemoria)parapodersepararcadaunodesuscampos.
Mtodosparaorganizarregistrosenarchivos
Requerirquelosregistrostenganunalongitudfija(bytes)
Requerirquelosregistrostenganunnmerofijodecampos
Comenzarcadaregistroconunindicadordelalongitud(sumadetodoslosbytes
decadacampoenelregistro)
Utilizarunsegundoarchivoparamantenerunabitcoradelbytedeiniciodonde
comienzacadaregistro
Colocarundelimitadoralfinaldecadaregistroparasepararlodelsiguiente
Requerirquelosregistrostenganunalongitudfija(bytes)
Unarchivoderegistrosdelongitudfijaesaquelenelcualtodoslosregistros
contienenelmismonmerodebytes
Lamaneradereconoceralosregistrosesmuysimilaralaformaqueseutilizapara
campos,aritmticamente
Ames
Mary
123Maple
Stillwater
OK74075
Mason
Alan
90Eastgate
Ada
OK74820
Nota:esteespacioquenoesutilizadoperosedebepreservarparamantenerla
longituddeloscampos,aestoseleconocecomo"FragmentacinInterna"
Esnecesariomencionarqueunregistrodelongitudfijapuedetenercamposde
longitudvariable
Porotroladoesimportanteresaltarquesepuedetenerunnmerovariabledecampos,
siempreycuandolasumadesulongitud(registro)sealamisma
Ames|Mary|123Maple|Stillwater|OK|74075<Unusedspace
>
Mason|Alan|90Eastgate|Ada|OK|74820<Unusedspace
>
http://ict.udlap.mx/people/carlos/is215/ir05.html
4/16
21/8/2016
AccesoyOrganizacindeArchivos
Requerirquelosregistrostenganunnmerofijodecampos
Demaneradiferentealmtodoanterior,tambinsepuedetenerunnmerofijode
camposporregistros
Cuandoleemossabremosquedespusdeleerseiscamposempezaremosunnuevo
registro
Loanteriorserealizaatravsdelafuncin"modulo"(%),cualstesea0hablaremos
deunregistronuevo
Ames|Mary|123Maple|Stillwater|OK|74075|Mason|Alan|90Eastgate|Ada|OK|74820
Comenzarcadaregistroconunindicadordelalongitud
(sumadetodoslosbytesdecadacampoenelregistro+separadores)
Estoesdegranutilidadcuandohablamosderegistrosdelongitudvariable
40Ames|Mary|123Maple|Stillwater|OK|74075|36Mason|Alan|90Eastgate|Ada|OK|74820
Utilizarunsegundoarchivoparamantenerunabitcoradelbytedeinicio
dondecomienzacadaregistro
Elusodeunndicenossirveparaconocereldesplazamiento(offset)decadaregistro
enelarchivooriginal
Ames|Mary|123Maple|Stillwater|OK|74075|Mason|Alan|90Eastgate|Ada|OK|74820
0040
Colocarundelimitadoralfinaldecadaregistroparasepararlodelsiguiente
Aligualqueconloscamposelcaracterqueseescojaparasepararlosregistrosdebe
seruncaracterespecialquenoseutilicedentrodelainformacin
Ames|Mary|123Maple|Stillwater|OK|74075|#Mason|Alan|90Eastgate|Ada|OK|74820
5.4AccesoSecuencialyAccesoDirecto
http://ict.udlap.mx/people/carlos/is215/ir05.html
5/16
21/8/2016
AccesoyOrganizacindeArchivos
Existendosmanerasdeaccesarybuscarregistrosdeunaarchivo:
Secuencial
Caractersticas
Consecutivamente
Respetandoelordendeaparicinenelarchivo
ElordendecomplejidadserO(n)locualimplicaqueesdemasiadolento
paragrandesvolmenesdedatos,O(n/2)enpromedio.
Seutilizacuando:
Seestbuscandoenunarchivodetextoalgunpatrn(pattern)
Archivosconpocosregistros
Archivosquenonecesitan"bsquedas"porejemplolosrespaldosencintas
Cuandodeantemanosesabequeserecuperarnmuchosresultados(vale
lapenalaespera)
Existeunatcnicaquepermiteaumentarlavelocidaddeestosaccesosllamada
"Blocking"
Sebasaenleerbloquesderegistrosenlugardeleerunoporuno
Elleerunbloqueesmslentoporquesetraenencadaviajealdiscomsdatos,pero
nuevamentelaseparacinsehaceenmemoriadondelavelocidadesmuchomayory
ahseganatiempo.
Aunqueelrendimientomejoraconsiderablementeenrealidadnoesalgoconsiderable
yaqueelnmerodelascomparacionesparabuscarelpatrnovalorqueserequiere
siguesiendoelmismo.
Directo
Caratersticas
ElordendecomplejidadserO(1)
Sebasaenlasfuncionesdeseek
Paraobtenerunbuenrendimientosedebenhacerlosregistrosdeuna
longitudcuyomltiploseadeltamaodeunsectordeldisco.Sielsectores
de512bytesynuestroregistromide30,lomasadecuadoesquemida32,
yaque32x16=512(16registrosenunviajealdisco)
Seutilizacuando:
Losregistrossondelongitudfija
Tenemosunamaneradesaberenqueposicindelarchivoestunregistro,
ej.campoid=nmerodelregistroenelarchivo
5.5ReutilizandoelespacioenArchivos
Hastaelmomentohemoshabladodeorganizacindearchivos,deagregardatosy
poderdistinguirlosdistintoscamposyregistrosquecomponenlainformacin.
Qusucedesieliminamosunregistro??
Necesitamosrecorrerlosdemsparamantenerconsistenteelarchivo
Estasuenabastantebien,perotieneladesventajadeperdermuchotiempo
enrealizarestaoperacin
Dejarelespacio(hueco)yreutilizarloposteriormente
Elproblemaaquieseldesperdiciodeespacio,perositomamosencuenta
quesereutilizaentoncesnohabrmuchoproblema.
http://ict.udlap.mx/people/carlos/is215/ir05.html
6/16
21/8/2016
AccesoyOrganizacindeArchivos
Demaneraquetenemos3operacionesquemodificanlaorganizacindenuestro
archivo:
AgregarRegistros
ActualizarRegistros
EliminarRegistros
Sielarchivoquesepretendeutilizarsloseutilizaparaguardarinformacin(agregar)
entoncesnohaymayorcomplejidadensumanipulacinsevuelvemsinteresante
cuandohablamosdeactualizacinyeliminacintantoenarchivosderegistrosde
tamaofijo,comoaquellosconregistrosdetamaovariable.
Algoimportantequedebemosrecordaresquesepuedeveralaactualizacincomoun
"borraryagregar"asquenosconcentraremosprimeramenteenlaeliminacinde
registros.
5.5.1EliminacindeRegistrosyCompactacinde
Espacio
Mencionbamosanteriormentequeunasolucinparaelborradoderegistrosconsiste
enrecorrertodoslosdemsregistrosparaevitarquequedenespacios.Aeste
procedimientoseleconocecomo"Compactacindeespacio".
Aunquesudesventajaeseltiemporequeridoparacompactarelarchivoesteesquema
llegaaserelmsadecuadoparaarchivosnomuygrandes.
Porotroladotambindecamosqueotraestrategiadelborradoconsisteenmantener
elhuecodeaquelregistroquehemoseliminado.
Parafinesprcticosloquesehaceescolocarleunamarcaalregistroparaidentificarlo
como"eliminado"estamarcapuedeestarenalgncampodelregistroodesignar
algncampoenespecficoparaestefin.
Ames|Mary|123Maple|Stillwater|OK|74075<Unusedspace
>
*|son|Alan|90Eastgate|Ada|OK|74820<Unusedspace
>
Brown|Martha|625Kimbark|DesMoines|IA|50311<Unusedspace
>
Nota:unadelasventajasdeesteesquemaesquesepuedenrecuperarlosregistros
eliminados(ej,utilizandouncampoespecialparaindicarsielregistroestactivoono)
Yaquepodemosidentificaraquellosregistrosquesehaneliminadoahoralapregunta
es:
Cmosereutilizaelespacio??
Compactandoelarchivoperidicamente
(Yaseaatravsdeunacalendarizacinobiencuandosealcancecierto
lmitede"huecos")
Tcnicasdereclamacindeespacio
http://ict.udlap.mx/people/carlos/is215/ir05.html
7/16
21/8/2016
AccesoyOrganizacindeArchivos
5.5.2Reclamacindeespacio
Antecedente:
Existenaplicacionesdondelareutilizacindeespacioescrtica,ysedebedehacerlo
antesposible.
Recordarlosdostiposdearchivos:conregistrosdelongitudfijaylosdelongitud
variable
Losprimerossonmssencillosyaquepodemosaprovecharelespacioagregando
simplementeotroregistroenelhueco.
Parapoderreclamarelespaciodisponiblesenecesita:
Indentificaraquellosregistrosquesehaneliminado(ej,conunamarcaespecial)
Poderencontraresosregistrosrpidamentesintenerquerecorrertodoelarchivo,
sinohayhuecosseinsertaralfinal
Unamaneradesaberinmediatamentesihayhuecosenelarchivo
Unaformadesaltardirectamenteaunodeloshuecosexistentes.
Latareadesabersiexistenhuecosydndeseencuentrannoestareafcil
Laprimerideaquesenosvienealamenteesusaruna"listaligada"(linkedlist)donde
colocamoslosnmerosdelosregistrosquesevaneliminando.
Estaideaesbastantebuena,perounamejoraesveralalistacomouna"pila"(stack)
dondevamoscolocando"arriba"aquellosregistrosquesevaneliminando,estofacilita
elmanejodelalistadeespaciodisponible.
Unalimitantedenuestroprogramaquemanipulaarchivosesquealiniciartendramos
queleertodoelarchivo,verificarcualessonloshuecosycrearlapila
Peroestoafortunadamentenoesas,lapilaseencuentra"inmersa"enelarchivocomo
semuestraacontinuacin(registrosdelongitudfija):
Headdelapila:5
http://ict.udlap.mx/people/carlos/is215/ir05.html
8/16
21/8/2016
AccesoyOrganizacindeArchivos
Edwards
Bates
Wills
*1
Masters
*3
Chavez
Eliminamoselregistro1
Headdelapila:1
0
Edwards
*5
Wills
*1
Masters
*3
Chavez
Agregamos3registrosnuevos
Headdelapila:1
0
Edwards
NUEVO_1
Wills
NUEVO_3
Masters
NUEVO_2
Chavez
Notas:
Enelejemploestamosusandocomoreferenciaelnmerodelregistro,peroenla
prcticaloqueseutilizaeseloffsetparadesplazarnosenelarchivo.
Elheadsepuedealmacenarenotroarchivoobienenel"header"delmismoarchivo
(seccin5.8)
Loanterioresunmecanismobastantetilperorecordemosqueserefierearegistros
delongitudfija,dondelosregistroseliminadosylosnuevossondelmismotamaoen
elcasoderegistrosdelongitudvariablelosespacioslibresylosnuevosregistros
puedenonoserdelmismotamao.
Pararegistrosdelongitudvariablesenecesita:
Unamaneradeconoceraquellosregistrosquehansidoeliminados
Unalgoritmoquepermitaagregarlosregistroseliminadosaunalistade
disponibles
Unalgoritmoparaencontraryrecuperarregistrosdelalistadedisponiblespara
reutilizarlos
Losmsfcil:
Tenerunalista(nocomopila)similaralaqueusamospararegistrosdelongitud
fijasoloqueincluyendolalongituddecadaregistro
Cuandosedeseaagregarunnuevoregistroserecorrelalistabuscandoaquel
huecocuyotamaosea>=aldelregistroquesepretendealmacenar.
Size=47
>
Size=38
>
Size=72
>
Size=68
>null
Reutilizandoelregistrodetamao72
Size=47
>
Size=38
>
Size=68
>null
Listadedisponiblespararegistrosdelongitudvariable
Headdelalista:5
http://ict.udlap.mx/people/carlos/is215/ir05.html
9/16
21/8/2016
AccesoyOrganizacindeArchivos
Edwards
*1,Size=68
Wills
*1,Size=72
Masters
*3,Size=38
Chavez
Eliminandoelregistro6
Headdelalista:6
0
Edwards
*1,Size=68
Wills
*1,Size=72
Masters
*3,Size=38
*5,Size=47
Insertandounregistronuevode50bytes
Headdelalista:6
0
Edwards
*1,Size=68
Wills
NUEVO
Masters
*1,Size=38
*5,Size=47
Notas:
Enelejemploestamosusandocomoreferenciaelnmerodelregistro,peroenla
prcticaloqueseutilizaeseloffsetparadesplazarnosenelarchivo.
Elheadsepuedealmacenarenotroarchivoobienenel"header"delmismoarchivo
(seccin5.8)
Estasolucinesmuycomnybastanteutilizada,perotieneunaligeramejora:
Siqueremosalmacenarunregistrode50bytesyelprimerespaciodondese
puedeguardaresde120bytesestamosdesperdiciando70bytes(dondepodra
almacenarseotroregisto)
Demodoqueuncambioadicionalseriadividireseregistrode120bytesen2
registros,unode50(dondeseagregaraelnuevoregistro)yunhueco
disponiblede70
Elnicoinconvenienteesloqueseconocecomo"FragmentacinExterna"
ejqueelhuecofuerade58bytes,agregamoselnuevode50ydejamosun
huecode8,huecoquejamsseocuparsilosregistrossonmayores
5.6Llaves(Keys)
Hemosmencionadocomosealmacenalainformacinycomoseelimina,peroes
importanteaclararalgunosconceptos.
Cuandobuscamosalgnregistroenparticular,yaseaparaactualizarloo
eliminarlolodebemoshaceratravsdeciertoscampos"claves"o"llaves"que
sirvenparadistinguirdemaneranicaacadaregistro.
Loanteriornoquieredecirqueparahacerbsquedasengeneralestamos
restringidosaesasllaves,podemosbuscarencualquiercampoqueseanecesario
(ej.fechas),peroparaelcasodeactualizaryeliminarlomsconvenientees
teneruncampo(s)nico(s)parapodermovernosrpidamenteenelarchivoal
momentodehacerlascomparaciones(ej.ID).
http://ict.udlap.mx/people/carlos/is215/ir05.html
10/16
21/8/2016
AccesoyOrganizacindeArchivos
Alacombinacindecamposquedistinguenacadaregistrodemaneranicasele
conocecomoPrimaryKeyoLlavePrimaria
Unacaractersticadelasllavesprimariasesquecasinuncacambianensuciclo
devida,Ej,ID,RFC,CURP,Nombre(dependiendodeldominio).
Sepuedenutilizarotroscamposparadiferenciarlosregistros,SecondaryKeyso
LlavesSecundarias
5.7OrdenamientoInternoyBsquedaBinaria
Esnecesariopoderhacerbsquedasderegistrosenlosarchivos,siguiendoalgn
criterioopatrn.
Cuandohacemosunabsquedadealgunregistro,stasehaceprincipalmentea
travsdelasllavesprimarias.
Comosemencionenlaseccin5.4sepuedenrealizarbsquedassecuencialeso
deaccesodirecto.
Lasbsquedassecuencialessondemasiadolentasyaquetienenquerecorrertodoo
casitodoelarchivoancuandoseencuentrealgnresultadopodramossaberde
antemanoqueexistelaposibilidaddeencontrarmsregistrosquecumplanconel
criteriodebsqueda,deahquesedebacontinuarrecorriendotodoelarchivo.
Porotroladolasbsquedasporaccesodirectosonextremadamenterpidas,yaque
podemosiral"offset"deseadodentrodelarchivo,desafortunadamenteestorequiere
unmtodoofrmulaparasaberubicardondeseencuentraunregistroenelarchivo.
DemaneraquesibuscamoselregistrodelapersonaconID35sabremosqueesel
registro35delarchivoysolohabraquemultiplicarloporsulongitud(paraelcasode
registrosdelongitudfija)paraobtenereldesplazamientoquedebemoshacerparaleer
deldiscodichoregistro.
Perodesafortunadamenteeste"mtodo"noesmuyadecuadoentodoslocasosyaque
nohaymuchasmanerasdegarantizarquecadaregistrotendrunaposicinnica.
Ej.Siqueremoshacerbquedasderegistrosquenotienennmerosysolotexto
(nombre,direccin,ciudad),lamaneraderelacionarlosconellugarqueocupanen
discopuedevolversedemasiadocomplicado,aunquesiguesiendounaopcin.
Porotroladocuandosehabladebsquedasenmemoriaprimaria,dondelosaccesos
sonmuchomsrapidos,sehandesarrolladoalgoritmosquegarantizanelencontrar
registrosgilmente.TaleselcasodelaBsquedaBinariacuyotiempodebsquedaes
deO(log2n).
ElalgoritmodeBsquedaBinariasebasaenlametodologa"divideyvencers",de
maneraquedadounarregloderegistros"ordenados"podemosbuscarrpidamente
algunopartiendoelarregloalamitadyviendoenquemitadpodraestardicho
registro,yasuvezesamitadesdivididaen2yassucesivamentehastaencontrarel
registro.
Paraelcasodeunarchivoestealgoritmoseradegranutilidad:
Siporejemplotenemosunarchivode2000registrosyquisiramoshaceruna
bsquedasecuencial,stanostomaraenpromedio:
http://ict.udlap.mx/people/carlos/is215/ir05.html
11/16
21/8/2016
AccesoyOrganizacindeArchivos
Paraunabsquedasecuencial1/2n=1000comparaciones
Paraunabsquedabinaria1+log22000=11comparaciones
Asimplevistalucemuchomsatractivalabsquedabinaria,perohayun"precio"que
pagar,eltenerqueordenarelarchivo.
Nota:recordemosquenoeslomismoordenarunarregloenmemoria,queun
conjuntoderegistrosendisco,losegundoesconsiderablementemslento.
5.7.1Ordenamientodeunarchivoenmemoria.
Comomencionbamoselordenarunarchivoesmuylentoyaqueserequeriran
muchas"pasadas"porlosmismosregistrosvariasvecesparapoderhacerel
ordenamientosinolvidarquetenemos:posicionar,leer,posicionar,escribiryestode
repitemuchasveces.
Unasolucinesloqueseconocecomo"internalsorting"u"ordenamientointerno",el
cualconsisteenleertodoelarchivoenmemoria,secuencialmente,ordenarloenla
memoriaprimariayentoncesvolverabajarloadisco.Estotericamenteesloidealya
queeltiempoquetomahacerloesdemasiadocorto,perodesafortunadamentepara
nuestrofin(bsquedabinaria)tienesusinconvenientes:
a)LaBsquedaBinariarequieremsde1o2accesosparaencontrarenel
archivo
Paraarchivosgrandes,ej1,000registroselpromediodeaccesosesde9.5ypara
unode100,000serade16.
Recordemosquenuestrametacuandohablamosdearchivosestratardeirlo
menosposiblealdisco,asiqueloanteriornoesalentador.
b)Mantenerelarchivoordenadoesdemasiadocaro
Sitenemoselprocesodeagregarnuevosregistrosesdemasiadofrecuente
Podemosmantenerpartedelarchivoypartesinordenar,peroenesapartese
necesitarunbsquedasecuencial.
Algunassoluciones:
Enaplicacionesdondesepuedeacumularlanuevainformacinestaseguardaenun
archivoseparadoyluegoatravsdealgunordenamientotipo"mergesort"se
actualizanlosdatos.
Lassolucionesdebencumplirlossiguientescriterios:
Noinvolucrarelreordenamientodelosregistrosenelarchivocuandounonuevo
esagregado
Debenestarasociadosconestructurasdedatosquepermitanreordenar
eficientementeelarchivo.
Deestosehablarmsadelante
c)ElOrdenamientoInternoslofuncionaparaarchivospequeos
http://ict.udlap.mx/people/carlos/is215/ir05.html
12/16
21/8/2016
AccesoyOrganizacindeArchivos
Sielarchivoesdemasiadograndenotendremoslasuficientememoriarampara
tenertodoelarchivo
Esimportantenotarquecuandolamemoriaramseacabanonosmarcarun
error,seempezarautilizarmemoriavirtual,lacualalestarbasadaendisconos
conducealmismoproblema.
5.7.2Keysorting
Unasolucinparaelordenamientointernoesalgomuysimple,ellugardemantener
todoelregistroenmemorialoquealmacenamosesla"llave"ysuposicinenel
archivo.
Arreglo
KeyPosicin
Itaca
Kellog
Kellog|77|NewYork
Harris
Harris|99|California
Bell
Archivo
PosicinRegistro
1
Itaca|56|Chicago
Bell|32|Denver
Demaneraqueelprocedimientoseraelsiguiente
1)Leercadaregistrosecuencialmenteymantenerenunarregloenmemorialasllaves
dedichosregistros,asicomosuposicindentrodelarchivo
2)Ordenarelarreglo(obviamenteporllave)
3)Recorrerelarreglo:
3.1)Paracadaregistrodelarregloseleedeldiscoelregistroasociado(yaquede
antemanosabemossuposicin)
3.2)Enotroarchivoporseparadosevanguardandolosregistrosledos
4)Alfinaleliminamoselarchivooriginalynosquedamosconelqueyaestordenado.
Arreglo
KeyPosicin
Bell
Harris
Kellog|77|NewYork
Itaca
Harris|99|California
Kellog
Archivo
PosicinRegistro
1
Itaca|56|Chicago
Bell|32|Denver
Ordenarelarreglo
http://ict.udlap.mx/people/carlos/is215/ir05.html
13/16
21/8/2016
AccesoyOrganizacindeArchivos
Arreglo
KeyPosicin
Bell
Harris
Harris|99|California
Itaca
Itaca|56|Chicago
Kellog
LimitacionesdelKeysorting
Archivo
PosicinRegistro
1
Bell|32|Denver
Kellog|77|NewYork
Reordenarelarchivo
Elprocesodelecturadelosregistrosdediscoserealiza2veces
Elnmerode"seeks"delecturaesigualalnmeroderegistros
Loanteriorempeoracuandodespusdecadaseekdelecturahayotrode
escritura,porlocuallaagujadeldiscosetienequedesplazarmuchasveces.
Lasolucin:
Paraquvolveraescribirtodoslosregistros??
Mejornicamenteescribirel"arreglo"queyasetieneenmemoriaadisco
Endichoarchivondice(indexfile)sipodemosrealizarlasbsquedasbinariascomo
sepretenda.
ArchivoIndice(indexfile)
KeyPosicin
Archivo
PosicinRegistro
Bell
Itaca|56|Chicago
Harris
Kellog|77|NewYork
Itaca
Harris|99|California
Kellog
Bell|32|Denver
EsteeselorigendeloqueseconocecomoIndexamiento,queseverenlasiguiente
seccin.
5.8ArchivosquenosebasanenRegistros
Antecedentes
Notodoslosarchivossebasanenregistrosdedatos
Algunosarchivospuedencontenerregistrosperocadaunoconcamposdiferentes
Ejemplomscomunes:
http://ict.udlap.mx/people/carlos/is215/ir05.html
14/16
21/8/2016
AccesoyOrganizacindeArchivos
ArchivosdeImgenes:contieneinformacindeltamaodelaimagen,loscolores
yespecficamentedecadapixel.
ArchivosdeMsica:Contieneinformacindelagrabacin,siesstereo,copyright,
fuente,cantante,ttuloylainformacindelacancin.
AbstractDataModels
Estosarchivosposeenloqueseconocecomo"AbstractDataModels"
Estosmodelosindicanqueelcontenidodeunarchivoestarorientadoala
aplicacinynoalmedio
Enotraspalabras,sonformatosestndardeaplicacionesespecficasquese
empleanentodaslasplataformas.
Cadaunodeestosformatosseidentificaporlaextensindelarchivo,ej.gif,png,
mp3,avi,etc...
Estosmodelosoformatosdefinenlaestructuradelarchivo,demaneraquesetienen:
Headers:
Cuandohablamosderegistros,tenemosqueestncompuestosporcampos.Estos
camposseidentificanporloqueseconocecomo"metadatos"(informacin
acercadelosdatos),enelcasodeloscamposelmetadatoserelnombrede
dichocampo.
Paraelcasodearchivosquenosebasanenregistroselarchivopresentaalinicio
(avecesalfinal)unaseriedebytesquerepresentanlosmetadatosdelarchivo,
esdecir,siporejemploelarchivoesunaimagenaliniciotendremosbytesque
nosdiganellargo,elancho,elnmerodecolores,etc,estosbytesseencuentran
especificadosenel"formato"delarchivo
Offset
Name
Description
magic
magicnumber
width
imagewidthinpixels
height
imageheightinpixels
12
depth
bitsperpixel
16
length
imagesizeinbytes
20
type
encodingtype
24
maptype
typeofcolormap
28
maplength
lenghtofcolormap
SunRasterfileHeader
Contenido:
Lainformacindecadaarchivo
Ejemplodelusodeheaders
DirectoriodeArchivos
Unareferenciadelosformatosmspopulares:http://www.wotsit.org
http://ict.udlap.mx/people/carlos/is215/ir05.html
15/16
21/8/2016
http://ict.udlap.mx/people/carlos/is215/ir05.html
AccesoyOrganizacindeArchivos
16/16
21/8/2016
AdministracindeArchivos
3AdministracindeArchivos
3.1ParticionamientodelDisco
Dividireldiscoenmltiplespedazosdemenortamao,estoconlasiguientefinalidad:
ColocardistintosSistemasOperativosenlasdiferentesparticiones
Protegerinformacindelsistema,odemisincrtica
Tip:partireldiscohacequeelaccesoaestesemejoreconsiderablemente.
Antesdeparticionarundiscohayquetenerencuenta:
Queseaalgosimple
Mantenerjuntoslosdatosrelacionados
Colocarlomsusadoenelcentro(particionesdeenmedio)
SepararSistemasOperativosatravsdelosdiscos(deseable)
Aislardatoscrticos
Existendistintasherramientasparacrearparticionesgeneralmentealmomentodeinstalarunsistema
operativosepuedeparticionarundisco.
Windows:FDISK
DOS/Windows:PartitionMagic,ParagonPartitionManager,PartitionStar
Linux:FDISK,DiskDruid
Solaris:Format
Ej.PartitionMagic
http://ict.udlap.mx/people/carlos/is215/ir03.html
1/16
21/8/2016
AdministracindeArchivos
EjFDISKLinux
[root@pcproaletc]#fdisk/dev/hda
Thenumberofcylindersforthisdiskissetto1222.
Thereisnothingwrongwiththat,butthisislargerthan1024,
andcouldincertainsetupscauseproblemswith:
1)softwarethatrunsatboottime(e.g.,oldversionsofLILO)
2)bootingandpartitioningsoftwarefromotherOSs
(e.g.,DOSFDISK,OS/2FDISK)
Command(mforhelp):m
Commandaction
atoggleabootableflag
beditbsddisklabel
ctogglethedoscompatibilityflag
ddeleteapartition
llistknownpartitiontypes
mprintthismenu
naddanewpartition
ocreateanewemptyDOSpartitiontable
pprintthepartitiontable
qquitwithoutsavingchanges
screateanewemptySundisklabel
tchangeapartition'ssystemid
uchangedisplay/entryunits
vverifythepartitiontable
wwritetabletodiskandexit
xextrafunctionality(expertsonly)
Command(mforhelp):p
Disk/dev/hda:255heads,63sectors,1222cylinders
Units=cylindersof16065*512bytes
DeviceBootStartEndBlocksIdSystem
/dev/hda1*132406683Linux
/dev/hda244130523582Linuxswap
/dev/hda34212229486382+83Linux
Command(mforhelp):
3.2SistemasdeArchivos
Definicin:
Esunaestructuradedatosbasadaendiscooenredqueesutilizadaparaalmacenararchivos.
http://ict.udlap.mx/people/carlos/is215/ir03.html
2/16
21/8/2016
AdministracindeArchivos
EstructurainternadeunSistemadeArchivos
Boot
Block
BlockGroup
0
BlockGroup
BlockGroup
....
1
n
dondecadablockcontiene:
SuperBlock
Group
Descriptors
Block
Bitmap
Inode
Bitmat
SuperBlock
Descripcindelsistemadearchivos,incluyendo:
Nmerodebloquesdedatos
Nmerodegruposdecilindros
Tamaodelosbloquesdedatos
Nombredelpuntodemontaje
Banderadelestadodelsistema:clean,stable,active.logging,unknown.
Inodes:
InformacindeBloqueo
Mododeacceso
Tipodearchivo
Nmerodeligasalarchivo
IDdelusuarioyIDdelgrupo
TamaodelArchivo(bytes)
Tiempodeaccesoymodificacin
Direccindelosbloquesdelarchivoendisco
Ejdeinode
Archivocomn
Inode1282
http://ict.udlap.mx/people/carlos/is215/ir03.html
3/16
21/8/2016
AdministracindeArchivos
DataBlocks
DirectorioComn
Inode4221
DataBlocks
file1=inode1282
dirA=inode5314
Ejdeinodeconligassimblicas
>lnsfile2link1
>lsla
lrwxrwxrwx1carlosempleado5Jan202003link1>file2
link1
Inode3561
file2
Inode1282
Data
Blocks
./file2
Data
Blocks
Ejdeinodeconligasduras
>lnfile1file2
>lsla
rw2carlosempleado0Jan202003file1
rw2carlosempleado0Jan202003file2
file1
file2
Inode1282
Data
Blocks
dir1
Inode4221
Data
Blocks
file1=inode
1282
file2=inode
1282
3.2.1TiposdeSistemasdeArchivos
Existendiferentescriteriosparaagruparlossistemasdearchivos:
Elcriterioinicialserefierealaprincipalcaractersticadelossa:
Orientadosaldisco
Orientadosalared
http://ict.udlap.mx/people/carlos/is215/ir03.html
4/16
21/8/2016
AdministracindeArchivos
OrientadosalDisco
Dentrodelosorientedosadiscotenemossubcategoras
PorsudiseoparaunSistemaOperativo
NativeFilesystems:cuandofuecreadoparaunSOespecfico.Ej.FATenWindows
ForeignFilesystems:sonaquellosquenofueroncreadosparaunSOperosinembargolos
soporta.
Ej.Linuxtienesussistemasdearchivosnativos(ext,ext3,ext3)perosoportaotros,comoel
FAToelNFS
Podemosmencionarquedentrodelossistemasdearchivosnativosexisteunadivisin:
Traditional:
surgenenlos70'sycontinuanhastalos90's
sucaractersticaprincipalesquetienenlanecesidadderealizarunaextensivaverificacin
delsistemadearchivossinosehancerradocorrectamente.
Journaling:
contienenun"journal"o"bitcora"quecontienelalistadeoperacionespendientesque
debenrealizarseparatenerunsistemadearchivosconsistente.
porlogeneralpuedenalcanzarmayorcapacidaddealmacenamiento(Verext2vsext3).
EjemplosdeSistemasdeArchivos
Windows
FAT:
FileAllocationTable
OriginalmenteutilizadoenlascomputadorasdeDOS
Selehanhechoextensiones(VFAT)parasoportarmayorcapacidadyelusodenombres
largos>8.3
ExistendistintostiposdeFAT
FAT12
Usadoenfloppies
FAT16
Particionesde2GB
FAT32
Particionesde2TB
HPFS:
HighPerformanceFilesystem
UsadocuandoMicrosofteIBMeransocios,despuspasasernicamentedelOS/2
NTFS:
NewTechnologyFilesystem
DisponibleenWindowsNTosuperiores
LagrandiferenciaconFAT,lospermisos.
WINFS
BasadoenNTFS
Agregametadatosparaidentificarmejoralosarchivos
Linux
Minix:
UsadoconelsistemaoperativoMinix
Capacidadmximade64Mb
Extended:
Conocidocomoextoextfs
SurgecomounreemplazoparalaslimitacionesdeMinix
DisponibleenlasprimerasversiondeLinuxperoseremovienelkernel2.2.x
SecondExtended:
Conocidocomoext2oext2fs
FueelestndarenLinuxparaloskernelentre2.0.xy2.4.x(2001)
http://ict.udlap.mx/people/carlos/is215/ir03.html
5/16
21/8/2016
AdministracindeArchivos
Xia:
Mximotamaodelfilesystem=16Terabytes
Mximotamaodearchivo=4Gb
LimitadoporelVirtualFilesystem(VFS)a4TBdefsy2GBdearchivo
ExtensindeMinix
Surgealmismotiempoqueext2,peroalsermenosestableseviosuperado
ThirdExtended:
Conocidocomoext3oext3fs
Esunaextensinalext2,seleagregunjournal
Noexistelalimitantedearchivosde4Gb
Disponibledesdeelkernel2.4.x
ReiserFS:
Esundiseototalmentenuevo,incluyendojournaling
Concapacidadessimilaresaext2
Anexperimental
XFS:
JournalingfilesystemcreadoporSilliconGraphics(SGI)
Tamaomximodelfilesystem=16,384PB(1petabyte=1024Terabytes)
Tamaomximodearchivo=8,192PB
JFS:
IBMJournalingFilesystem,diseadoparaelSistemaOperativoAIX
Tamaomximodelfilesystem=32PB
Tamaomximodearchivo=4PB
Algunosbenchmarksdefilesystemsparalinux(fuenteoriginalenLinuxGazzette)
Apple
MFS:
HFS:
HFS+
Elvis
MacintoshFilesystem
Usadoparalosprimerosfloppies
Noutilizadoactualmente
HierarchicalFilesystem
ReemplazodeMFS,floppiesde800kb
Dejdeutilzarseen1998paradiscosduros
Sesigueempleandoparaalgunosdispositivosej.CD's
Caractersticassimilaresalossistemasdearchivosenunix
PoseelacapacidaddeJournaling
Noseutiilizaenmediosremovibles(CD's)
OriginalmenteunproductodeBeOS
Poseeunjournal
Setemeunadisminucindelrendimiento
SUN
ZFS:
128bits
Virtualization
Miscelnea
FFS/UFS:
FastFilesystemtambinconocidocomoUnixFilesystem)
EmpleadosenFreeBSDySolaris
BFS:
BeOSfilesystem
UDF:
UniversalDiskFormat
Derecientecreacin
PensadoparaCDyDVD
http://ict.udlap.mx/people/carlos/is215/ir03.html
6/16
21/8/2016
AdministracindeArchivos
Veritas
Creadoporlaempresadelmismonombre
Journalingdealtavelocidad
Grancapacidadderecuperacinendesastres
CDROM
ISO9660
LabaseyelestndarparaarchivosenCD
Limitadoenlalongituddelnombredearchivos
Carenciadepermisos
RockRidge
ExtensinaISO9660
Permitenombreslargosypermisos
Joliet
SeutilizaenconjuntoconunsistemaISO9660
DiseadopensandoenlascaractersticasdearchivosenWindows,principalmenteenlos
nombres
OrientadosalaRed
Sonusadosparacompartirarchivos.
NFS
Sun'sNetworkFileSystem
ElmtodomsrecomendadoparacompartirarchivosenambientesUNIX
Soporteparalaarquitecturacliente/servidor
Coda:
SimilaraNFS
SoportaEncriptamiento(seguridad)
Mejorael"caching"
SMB/CIFS:
ServerMessageBlock,renombradoaCoreInternetFilesystem
UtilizadoenlossistemasdeMicrosoftparacompartirarchivos
ElservidordeSMBparasistemasunixesSAMBA
NCP:
NetWareCoreProtocol(NCP)
UtilizadoporNovell
3.2.2CreandoelSistemadearchivos
Windows:
Format
Linux
mkfs[tfsname][options]device[size]
fsnamenombredeltipodesistemadearchivos(alternativamenteusarmkfs.fsname)
options:
crevisaeldiscoporbloquesdaados
vverbose,despliegainformacinadicional
devicedispositivodondesecrearelfilesystem
sizetamaodelaparticin
Solaris
newfs
Ffsname
ivalueNmerodebytesporinode
Pararepararunsistemadearchivos
Unix:
fsck[tfstype]filesys
http://ict.udlap.mx/people/carlos/is215/ir03.html
7/16
21/8/2016
AdministracindeArchivos
3.2.3AccesandoFilesystems
Compartiendolosdirectoriosdeunamquina
Windows
EnWindowsestaactividadesgrficaynorequieremayorconocimiento,peroeloperativoasume
algunascosasyestarestringidoenlacapacidaddeimportar/montarsistemasdearchivosexternos
Paracompartirbastacondarclickderechoenelarchivo/directoriodeseadoyseleccionar"compartir"
Unix
Enunix(aunqueyaexistenambientesgraficos)tradicionalmenteserealizaatravsdearchivos
Linux:/etc/exports
/home/carlos192.168.0.1(rw)
Solaris:/etc/dfs/dfstab
root:scanner:/etc/dfs>moredfstab
#Placeshare(1M)commandshereforautomaticexecution
#onenteringinitstate3.
#
#Issuethecommand'/etc/init.d/nfs.serverstart'toruntheNFS
#daemonprocessesandthesharecommands,afteraddingthevery
#firstentrytothisfile.
#
#share[Ffstype][ooptions][d"<text>"]<pathname>[resource]
#.e.g,
#shareFnfsorw=engineeringd"homedirs"/export/home2
Montando/importandodirectoriosdeotrasmquinas
ConceptosImportantes:
Filesystem:tipodelsistemadearchivosdeldirectorioaimportar
Device(dispositivo):dispositivoodirectorioquesequiereimportar.
ej./dev/hda3,/home/lolo,acadaplic:/home/carlos
MountPoint(puntodemontaje):directoriodondevamosaverlosqueestamosimportando(de
preferenciaqueNOseaelraz)
Windows
Nuevamentelainterfaznosayudapararealizarestaactividad
Existenvariasopcionesparamontarundirectoriodeotramaquina:
1)SilasmquinassonpartedenuestraintranetpodemosiralVecindariooNeighbourhoody
buscarporgrupo,mquinaydirectorios.
http://ict.udlap.mx/people/carlos/is215/ir03.html
8/16
21/8/2016
AdministracindeArchivos
2)Enotrocasopodemosbuscarlamaquinadesdeelexploradordearchivosobienutilizarla
opcin"ConectaraunidaddeRed"enelmende"Herramientas".
Senospedirlarutaopathaimportarasicomoelusuarioypasswordrespectivos
ej:\\192.168.0.23\directorio
username:abcde
password:xxxxxxx
Yopcionalmentepodemosseleccionarsiqueremosimportaresedirectoriocadavezqueentremos
alamquina
Unix(LinuxySolaris)
Existen2tiposdemontajeenunix:lostemporalesylospermanentes
Paramontartemporalmente(solodurantelasesin)seutilizanloscomandosmountyumount
mount[a][tfstype][ooptions]devicedir
a=montatodoloqueesteenlosarchivosfstab(enSolarisexisteelcomandomountall)
fstype=ext2,ext3,ufs,nfs,smbfs,vfat,swap,etc
options(separadasporcomas)=rw,ro,uid=value
device=dispositivofsicoamontar
dir=directoriodondeselocalizarelfilesystem(debeestarcreado)
ej:
mounttiso9660/dev/cdrom/mnt/cdrom
mounttnfswww.linux.com:/directorio/mnt/directorio
umount[a][f][tfstype]mountpoint|device
adesmontatodoloqueestdefinidoen/etc/fstabo/etc/vfstab
fforzaeldesmontaje,ansiestenusoelfilesystem
ej.
umountaf
umount/mnt/cdrom
Paramontarpermanentementetenemosqueconfiguraralgunosarchivos
quepermitanelmontajealarrancarlamquina:
Linux:/etc/fstab
[root@pcproaletc]#morefstab
LABEL=//ext3defaults11
LABEL=/boot/bootext3defaults12
none/dev/ptsdevptsgid=5,mode=62000
none/procprocdefaults00
none/dev/shmtmpfsdefaults00
/dev/hda2swapswapdefaults00
/dev/cdrom/mnt/cdromiso9660noauto,owner,kudzu,ro00
/dev/fd0/mnt/floppyautonoauto,owner,kudzu00
Contenidodecadalnea:
Dispositivoamontar
PuntodeMontaje
Tipodesistemadearchivos
OpcionesdeMontaje
http://ict.udlap.mx/people/carlos/is215/ir03.html
9/16
21/8/2016
AdministracindeArchivos
Dump
fsck
Solaris:/etc/vfstab
root:scanner:/etc>morevfstab
#devicedevicemountFSfsckmountmount
#tomounttofsckpointtypepassatbootoptions
#
#/dev/dsk/c1d0s2/dev/rdsk/c1d0s2/usrufs1yes
fd/dev/fdfdno
/proc/procprocno
/dev/dsk/c0t0d0s1swapno
/dev/dsk/c0t0d0s0/dev/rdsk/c0t0d0s0/ufs1no
/dev/dsk/c0t0d0s3/dev/rdsk/c0t0d0s3/tmpufs2yes
/dev/dsk/c0t0d0s4/dev/rdsk/c0t0d0s4/var/tmpufs2yes
filer0:/vol/vol0/home/scannernfsyes
superadminaplic:/home/34/vol301/archivos/vol301nfsyes
centia:/centia01/centia01nfsyes
centia:/centia03/centia03nfsyes
Contenidodecadalnea:
Dispositivoamontar
Dispositivodondeseejecutarelcomandofsck
PuntodeMontaje
Tipodesistemadearchivos
fsckpass(1o)
Mountatboot(banderausadapormountall)
OpcionesdeMontaje
MontandoconAutomounter
Elhechodetenermuchossistemasdearchivos,yaseanlocalesoexternosimplicauncostoenel
rendimientodelamquina,porellounixposeeunavariantealovistoanteriormentequeseconoce
comoAutomounter,montar/importarsobredemanda.
Tenemosunarchivoprincipal(auto.masteroauto_master)elcualcontienelasespecificacionesdel
puntodemontajeparaloquesequieremontar(ej./misc)yqueestespecificadoenotroarchivo(ej.
/etc/auto.misc)
[carlos@pcproal/etc]$moreauto.master
#$Id:auto.master,v1.21997/10/0621:52:03hpaExp
$
#Sampleauto.masterfile
#Formatofthisfile:
#mountpointmapoptions
#Fordetailsoftheformatlookatautofs(8).
/misc/etc/auto.misctimeout=60
Enelarchivoincludoporelautomastersedefinenlosmontajesdemaneramuysimilaralosarchivos
"tab"mencionadosanteriormente
[carlos@pcproal/etc]$moreauto.misc
#$Id:auto.misc,v1.21997/10/0621:52:04hpaExp$
#Thisisanautomountermapandithasthefollowingformat
#key[mountoptionsseparatedbycomma]location
#Detailsmaybefoundintheautofs(5)manpage
http://ict.udlap.mx/people/carlos/is215/ir03.html
10/16
21/8/2016
AdministracindeArchivos
#cdfstype=iso9660,ro,nosuid,nodev:/dev/cdrom
#thefollowingentriesaresamplestopiqueyourimagination
#linuxro,soft,intrftp.example.org:/pub/linux
#bootfstype=ext2:/dev/hda1
#floppyfstype=auto:/dev/fd0
#floppyfstype=ext2:/dev/fd0
#e2floppyfstype=ext2:/dev/fd0
#jazfstype=ext2:/dev/sdc1
#removablefstype=ext2:/dev/hdd
centia01fstype=nfs,hardcentia.udlap.mx:/centia01
centia03fstype=nfs,hardcentia.udlap.mx:/centia03
Demaneraqueelmontajequedara:
/misc/centia01
Nota:adiferenciadefstabyvfstabaquielpuntodemontajenodebesercreadoporeladministrador,
secreasobredemanda
Samba(www.samba.org)
Sambaesunaaplicacinparaunixquepermitecompartirarchivosentreplataformasunixywindowsa
travesdelared
Nota:siloquequeremosescompartiruna"particin"dealgundiscolocal,entoncessepuedeutilizar
simplementeelmount
Doscomponentesprincipales
ServidordeSamba
InterfazwebdeadministracinSwat,(normalmenteenelpuerto901)
http://ict.udlap.mx/people/carlos/is215/ir03.html
11/16
21/8/2016
AdministracindeArchivos
3.3Comandoscomunesparalamanipulacindearchivos
file
Determinaeltipodearchivo
chown
Cambialosiddeldueoydelgrupodeunarchivo
Descripcinr,w,xparaarchivos
r
w
x
Poderleerelcontenidodelarchivo.
Modificarelcontenidodelarchivo.
Ejecutar,sisetratadeunexecutable/script.
Descripcinr,w,xparadirectorios
r
w
x
http://ict.udlap.mx/people/carlos/is215/ir03.html
Permiteverellistado"ls"dearchivoscontenidoseneldirectorio.Sise
deseausarestepermiso,siempredebertambinusarse"x".
Permiteagregar,eliminarorenombrararchivoseneldirectorio.
Permitehacer"cd"aldirectorioyutilizarlosarchivoscontenidosenlsi
nosetieneelpermiso"r"slosepuedenusarperonosepuedenverlos
archivoscontenidoseneldirectorio,habraquesaberselarutaej:"more
directorio/archivo.txt".
12/16
21/8/2016
AdministracindeArchivos
Modificalospermisosdeunarchivoodirectorio
ModoSimblico
U(Owner)G(group)O(Others)
rwxrr1carloscarlos932Aug2420:23steps.txt
ej.chmodu+rwx,g+w,o+xsteps.txt
rwxrwrx1carloscarlos932Aug2420:23steps.txt
Permisoadicional(visibleenelbittheexecute)
User
chmod
Permission
File
Permission+Execute(on) Permission+Execute(off)
Owner setuid(s)
Executable s
Group setgid(s)
Executable s
ej.chmodg+sscript.sh
rwxrlrx1carlosmail932Aug2420:23script.sh
(Elscriptsecorrerconpermisosde'mail')
ej.chmodo+wtdirectory
drwxrxrwt1carloscarlos932Aug2420:23directory
(En'directory'cualquierapuedeescribir,perosoloeldueodecadaarchivo,eldueode
'directory'yrootpodrnborrarlos)
ModoAbsoluto(Octal)
OctalValue
Permission
AdPermission
Read
setuid
Write
setgid
Execute
stickybit
Porejemplosiqueremosmodificarunarchivodemaneraque
U(Owner)Lectura+Ejecucin+Escritura=7
G(group)Lectura+Ejecucin=5
O(Others)Lectura=4
chmod754archivo.txt
Parapermisosadicionales(setuid+setgid)
chmod6754archivo.txt
grep
Buscaexpresionesregularesenlaentrada
ln
Creacindeligas,simblicasoduras
ls
Listadodearchivosenundirectorio
cp
Copiararchivosodirectorios
mv
Mueveorenombraunarchivo
more
Visualizadordeunarchivohaciaadelante
less
Visualizadordeunarchivohaciaadelanteyhaciaatrs
head
Verelencabezado(primeraslneasdeunarchivo)
tail
Verlacola(ltimaslneasdeunarchivo)
find
Buscaarchivosconciertocriterio(nombre,fecha)enunarutadada
http://ict.udlap.mx/people/carlos/is215/ir03.html
13/16
21/8/2016
AdministracindeArchivos
>
Redireccionamientohaciaunarchivonuevo
ej.ls>archivo.txt
Redireccionamientohaciaunarchivoexistente(append)
ej.ls>>archivo.txt
>>
3.4Respaldos(Backups)
FullBackups
Respaldodetodalainformacinquesehagenerado
Consumemuchotiempoelrealizarestosrespaldos
Grangastodedispositivospararespaldos
IncrementalBackups(dailybackups)
Unicamenteserespaldanlosarchivosnuevosoquehancambiadodesdeelltimofullbackup
Sun
Mon
Tue
Wed
Thu
Fri
Sat
Week1
Week2
Week3
Week4
DifferentialBackups
Unicamenteserespaldanlosarchivosnuevosoquehancambiadodesdeelltimobackup,a
cualquiernivel
Sun
Mon
Tue
Wed
Thu
Fri
Sat
Week1
Week2
Week3
Week4
MezcladeFull,IncrementalyDifferentialBackups
Sun
Mon
Tue
Wed
Thu
Fri
Sat
Week1
Week2
Week3
Week4
Otraposibilidaddelamezcladevariostipos:
http://ict.udlap.mx/people/carlos/is215/ir03.html
14/16
21/8/2016
AdministracindeArchivos
Cmoserealizanlosrespaldos?
Seutilizanloscomandos
Debemosdefinirlosnivelessiqueremoshacerbackupsincrementalesodiferenciales,paraellose
puedeemplearlafechaobiendirectamentelaopcindelosniveles(comandosdedump)
Calendarizarlos,usandoalgunaherramientacomo"crontab"
Comandospararealizarrespaldos
tar
Lamsantiguautilerapararespaldararchivosencintas
Solarisufsdump/ufsrestore
Linuxdump/restore
Herramientasdebajonivelqueinteractandirectamenteconelfilesystem
cpio
http://ict.udlap.mx/people/carlos/is215/ir03.html
15/16
21/8/2016
AdministracindeArchivos
mt
cpconI/O,esunaversinmsnuevaquelasanterioresypermiteelagregarorecuperar
soloalgunosarchivosdelrespaldo
Comandoparalamanipulacindelacinta
Notas:
1.NoolvidarloscomandosdeCompresin
compress
zcat
gzip
2.HerramientasdeTerceros
http://ict.udlap.mx/people/carlos/is215/ir03.html
16/16
Algoritmo de ordenamiento
1 Clasicacin
Los algoritmos de ordenamiento se pueden clasicar en
las siguientes maneras:
La ms comn es clasicar segn el lugar donde se
realice la ordenacin
Algoritmos de ordenamiento interno: en la
memoria del ordenador.
Algoritmos de ordenamiento externo: en un lugar externo como un disco duro.
Por el tiempo que tardan en realizar la ordenacin,
dadas entradas ya ordenadas o inversamente ordenadas:
ENLACES EXTERNOS
Estabilidad
5 Enlaces externos
Explicacin de los distintos mtodos de ordenamiento en Java. (pdf)
Discusin sobre varios algoritmos de ordenacin y
sus caractersticas (licencia GFDL) (pdf)
Animacin de algoritmos de ordenamiento
Animacin de algoritmos de ordenamiento (en ingls)
ALT: Algorithm Learning Tool. Herramienta de
apoyo a la enseanza de algoritmos que muestra grcamente su funcionamiento. Permite implementar
algoritmos propios y realizar una ejecucin dinmica e interactiva
Cdigos de Ordenamiento en Python
6.1
Texto
Algoritmo de ordenamiento Fuente: https://es.wikipedia.org/wiki/Algoritmo_de_ordenamiento?oldid=92876815 Colaboradores: Moriel, Pablo.cl, Sauron, JorgeGG, Hashar, Triku, Ascnder, Sms, Tano4595, Fernandomirandamuro, Almorca, Caos, Darkspawn, JMPerez,
Emijrp, Rembiapo pohyiete (bot), Drini2, Orgullobot~eswiki, Further (bot), RobotQuistnix, Chobot, Yrbot, Cesarsorm, BOTijo, YurikBot,
KnightRider, Jesuja, Chlewbot, CEM-bot, Chuo, Alexav8, Thijs!bot, Helios vmg, Fractaltigre, JAnDbot, Miguelo on the road, TXiKiBoT, Rei-bot, Plux, Loxosceles Laeta, AlnoktaBOT, VolkovBot, Snakeyes, Technopat, Libertad y Saber, Lahi, Elabra sanchez, Muro
Bot, Drinibot, JGus, STBot~eswiki, Zerial, Leonpolanco, Michada~eswiki, UA31, AVBOT, Diegusjaimes, Luckas-bot, Groucho NL, Vandal Crusher, DSisyphBot, ArthurBot, Xqbot, Botarel, D'ohBot, PatruBOT, Alph Bot, Dark Bane, EmausBot, HRoestBot, WikitanvirBot,
Miguel.baillon, Sigifredo89, KLBot2, Elvisor, Makecat-bot, Allanbot, SantoshBot y Annimos: 49
6.2
Imgenes
Archivo:Sorting_quicksort_anim.gif Fuente: https://upload.wikimedia.org/wikipedia/commons/6/6a/Sorting_quicksort_anim.gif Licencia: CC-BY-SA-3.0 Colaboradores: originally upload on the English Wikipedia Artista original: Wikipedia:en:User:RolandH
6.3
6
ALGORITMOS
DE ORDENACIN Y BSQUEDA
OBJETIVOS
Despus del estudio de este captulo usted
podr:
Conocer los algoritmos basados en el intercambio de elementos.
Conocer el algoritmo de ordenacin por insercin.
Conocer el algoritmo de seleccin.
Distinguir entre los algoritmos de ordenacin basados en el intercambio y en la insercin.
Deducir la eficiencia de los mtodos bsicos de ordenacin.
Conocer los mtodos ms eficientes de ordenacin.
Aplicar mtodos mas eficientes de ordenacin de arrays (arreglos).
Diferenciar entre bsqueda secuencial y
bsqueda binaria.
CONTENIDO
6.1.
6.2.
6.3.
6.4.
6.5.
Ordenacin.
Algoritmos de ordenacin bsicos.
Ordenacin por intercambio.
Ordenacin por seleccin.
Ordenacin por insercin.
CONCEPTOS CLAVE
Ordenacin numrica.
Ordenacin alfabtica.
Complejidad cuadrtica.
Ordenacin por burbuja.
Ordenacin rpida.
Residuos.
Ordenacin por intercambio.
Ordenacin por insercin.
Bsqueda en listas: bsqueda secuencial y
bsqueda binaria.
Complejidad logartmica.
Ordenacin por seleccin.
INTRODUCCIN
Muchas actividades humanas requieren que en ellas las diferentes colecciones de elementos utilizados se coloquen en un orden especfico. Las oficinas de correo y las empresas de mensajera
ordenan el correo y los paquetes por cdigos postales con el objeto de conseguir una entrega
eficiente; los anuarios o listines telefnicos ordenan sus clientes por orden alfabtico de apellidos con el fin ltimo de encontrar fcilmente el nmero de telfono deseado; los estudiantes de
165
166
una clase en la universidad se ordenan por sus apellidos o por los nmeros de expediente, etc. Por
esta circunstancia una de las tareas que realizan ms frecuentemente las computadoras en el
procesamiento de datos es la ordenacin.
El estudio de diferentes mtodos de ordenacin es una tarea intrnsecamente interesante
desde un punto de vista terico y, naturalmente, prctico. El captulo estudia los algoritmos y
tcnicas de ordenacin ms usuales y su implementacin en C. De igual modo se estudiar el anlisis de los algoritmos utilizados en diferentes mtodos de ordenacin con el objetivo de conseguir
la mxima eficiencia en su uso real. En el captulo se analizarn los mtodos bsicos y avanzados
ms empleados en programas profesionales.
6.1. ORDENACIN
La ordenacin o clasificacin de datos (sort, en ingls) es una operacin consistente en disponer
un conjunto estructura de datos en algn determinado orden con respecto a uno de los campos
de elementos del conjunto. Por ejemplo, cada elemento del conjunto de datos de una gua telefnica
tiene un campo nombre, un campo direccin y un campo nmero de telfono; la gua telefnica est
dispuesta en orden alfabtico de nombres; los elementos numricos se pueden ordenar en orden
creciente o decreciente de acuerdo al valor numrico del elemento. En terminologa de ordenacin,
el elemento por el cual est ordenado un conjunto de datos (o se est buscando) se denomina clave.
Una coleccin de datos (estructura) puede ser almacenada en un archivo, un array (vector o
tabla), un array de registros, una lista enlazada o un rbol. Cuando los datos estn almacenados en
un array, una lista enlazada o un rbol, se denomina ordenacin interna. Si los datos estn almacenados en un archivo, el proceso de ordenacin se llama ordenacin externa.
Una lista se dice que est ordenada por la clave k si la lista est en orden ascendente o descendente con respecto a esta clave. La lista se dice que est en orden ascendente si:
i<j
implica que
implica que
para todos los elementos de la lista. Por ejemplo, para una gua telefnica, la lista est clasificada en
orden ascendente por el campo clave k, donde k[i] es el nombre del abonado (apellidos, nombre).
4
5
14 21 32 45
75 70 35 16 14 12
Zacarias Rodriguez Martinez Lopez Garcia
orden ascendente
orden descendente
orden descendente
Los mtodos (algoritmos) de ordenacin son numerosos, por ello se debe prestar especial atencin en su eleccin. Cmo se sabe cul es el mejor algoritmo? La eficiencia es el factor que mide
la calidad y rendimiento de un algoritmo. En el caso de la operacin de ordenacin, dos criterios se
suelen seguir a la hora de decidir qu algoritmo de entre los que resuelven la ordenacin es el
ms eficiente: 1) tiempo menor de ejecucin en computadora; 2) menor nmero de instrucciones.
Sin embargo, no siempre es fcil efectuar estas medidas: puede no disponerse de instrucciones para
medida de tiempo aunque no sea ste el caso del lenguaje C, y las instrucciones pueden variar,
dependiendo del lenguaje y del propio estilo del programador. Por esta razn, el mejor criterio para
medir la eficiencia de un algoritmo es aislar una operacin especfica clave en la ordenacin y
contar el nmero de veces que se realiza. As, en el caso de los algoritmos de ordenacin, se
utilizar como medida de su eficiencia el nmero de comparaciones entre elementos efectuados. El
algoritmo de ordenacin A ser ms eficiente que el B, si requiere menor nmero de comparaciones.
167
As, en el caso de ordenar los elementos de un vector, el nmero de comparaciones ser funcin del
nmero de elementos (n) del vector (array). Por consiguiente, se puede expresar el nmero de
comparaciones en trminos de n (por ejemplo, n + 4, o bien n2 en lugar de nmeros enteros (por
ejemplo, 325).
En todos los mtodos de este captulo, normalmente para comodidad del lector se utiliza el
orden ascendente sobre vectores o listas (arrays unidimensionales).
Los mtodos de ordenacin se suelen dividir en dos grandes grupos:
directos
indirectos (avanzados)
En el caso de listas pequeas, los mtodos directos se muestran eficientes, sobre todo porque los
algoritmos son sencillos; su uso es muy frecuente. Sin embargo, en listas grandes estos mtodos se
muestran ineficaces y es preciso recurrir a los mtodos avanzados.
A tener en cuenta
Existen dos tcnicas de ordenacin fundamentales en gestin de datos: ordenacin de listas
y ordenacin de archivos. Los mtodos de ordenacin se conocen como internos o externos
segn que los elementos a ordenar estn en la memoria principal o en la memoria externa.
[KNUTH 1973] Donald E. Knuth. The Art of Computer Programming. Volume 3: Sorting and Searching. Addison-Wesley,
1973.
2
[KNUTH 1998] Donald E. Knuth. The Art of Computer Programming. Volume 3: Sorting and Searching. Second Edition.
Addison-Wesley, 1998.
168
se realiza intercambio
no se realiza intercambio
se realiza intercambio
bbb
4
bbbbbb
4
bbbbbbbbb
Lista inicial
Lista resultante
El elemento de ndice 0 (a[0]) se compara con cada elemento posterior de la lista de ndices 1, 2 y 3. En cada comparacin se comprueba si el elemento siguiente es ms pequeo que el
elemento de ndice 0, en ese caso se intercambian. Despus de terminar todas las comparaciones,
el elemento ms pequeo se localiza en el ndice 0.
Pasada 1
El elemento ms pequeo ya est localizado en el ndice 0, y se considera la sublista restante 8, 6, 4. El algoritmo contina comparando el elemento de ndice 1 con los elementos posteriores de ndices 2 y 3. Por cada comparacin, si el elemento mayor est en el ndice 1 se intercambian
169
los elementos. Despus de hacer todas las comparaciones, el segundo elemento ms pequeo de la
lista se almacena en el ndice 1.
2
mbbb
mbbbbbb
intercambio
bbbbn
intercambio
bbbbn
Lista inicial
Lista resultante
Pasada 2
La sublista a considerar ahora es 8, 6 ya que 2, 4 est ordenada. Una comparacin nica se
produce entre los dos elementos de la sublista
mbbb
Lista inicial
intercambio
bbbbn
Lista resultante
El mtodo ordIntercambio utiliza dos bucles anidados. Suponiendo que la lista es de tamao n, el rango del bucle externo ir desde el ndice 0 hasta n 2. Por cada ndice i, se comparan los
elementos posteriores de ndices j = i + 1, i + 2, ..., n 1. El intercambio (swap) de los elementos
a[i],a[j] se realiza en un bloque que utiliza el algoritmo siguiente:
aux = a[i];
a[i] = a[j];
a[j]= aux ;
Ejercicio 6.1
El programa siguiente ordena una lista de n elementos de tipo entero introducida en un array y
posteriormente la imprime (o visualiza) en pantalla.
#include <stdio.h>
#define N 100
void ordIntercambio (int a[], int n);
void entradaLista (int a[], int n);
void imprimirLista (int a[], int n);
int main()
{
int n;
int v[N];
170
do {
printf("\nIntroduzca el nmero de elementos: ");
scanf("%d", &n);
} while ((n < 1) && (n > N));
entradaLista(v, n);
/* muestra lista
printf("\nLista original de %d elementos",
imprimirLista(v, n);
/* ordenacin ascendente de
ordIntercambio(v, n);
printf("\nLista ordenada de %d elementos",
imprimirLista(v, n);
return 0;
original */
n);
la lista */
n);
}
void ordIntercambio (int a[], int n)
{
int i, j;
/* se realizan n1 pasadas */
/* a[o], ... , a[n-2] */
for (i = 0 ; i <= n-2 ; i++)
/* coloca mnimo de a[i+1]...a[n-1] en a[i] */
for (j = i+1 ; j <= n-1 ; j++)
if (a[i] > a[j])
{
int aux;
aux = a[i];
a[i] = a[j];
a[j]= aux ;
}
}
void imprimirLista (int a[], int n)
{
int i;
for (i = 0 ; i < n ; i++)
{
char c;
c = (i%10==0)?'\n':' ';
printf("%c%d", c, a[i]);
}
}
void entradaLista (int a[], int n)
{
int i;
printf("\n Entrada de los elementos\n");
for (i = 0 ; i < n ; i++)
171
{
printf("a[%d] = ",);
scanf("%d", a+i);
}
}
A[1]
A[2]....
A[n-1]
Despus de terminar esta primera pasada, el frente de la lista est ordenado y el resto de la lista
A[1], A[2]...A[n-1] permanece desordenado. La siguiente pasada busca en esta lista desorde-
21
39
80
36
Pasada 0. Seleccionar 21
Intercambiar 21 y A[0]
51
39
80
36
Pasada 1. Seleccionar 36
Intercambiar 36 y A[1]
80
51
Pasada 2. Seleccionar 39
Intercambiar 39 y A[2]
51
Pasada 3. Seleccionar 51
Intercambiar 51 y A[3]
pasada 0
21
pasada 1
21
36
39
pasada 2
21
36
39
80
pasada 3
21
36
39
51
80
Lista ordenada
172
El anlisis del algoritmo de seleccin es sencillo y claro, ya que requiere un nmero fijo de
comparaciones que slo dependen del tamao de la lista o vector (array) y no de la distribucin
inicial de los datos. En el Apartado 2.6.1 se realiz un estudio de la complejidad de este algoritmo.
173
Procesar 20
50
Procesar 20
20
50
Procesar 40
20
40
50
Procesar 80
20
40
50
80
Procesar 30
20
30
40
50
Se inserta 20 en la posicin 0
50 se mueve a posicin 1
Se inserta 40 en la posicin 1
Se mueve 50 a posicin 2
El elemento 80 est bien ordenado
80
Se inserta 30 en posicin 1
Se desplaza a la derecha la sublista derecha
174
j = i;
aux = a[i];
/* se localiza el punto de insercin explorando hacia abajo */
while (j > 0 && aux < a[j-1])
{
/* desplazar elementos hacia arriba para hacer espacio */
a[j] = a[j-1];
j--;
}
a[j] = aux;
}
}
El anlisis del algoritmo de insercin se realiz como ejemplo en el Apartado 2.6.2, se determin que la complejidad del algoritmo es 0(n2), complejidad cuadrtica.
175
El algoritmo tiene una mejora inmediata, el proceso de ordenacin puede terminar en la pasada
n 1, o bien antes, si en una pasada no se produce intercambio alguno entre elementos del vector es
porque ya est ordenado, entonces no es necesario ms pasadas.
El ejemplo siguiente ilustra el funcionamiento del algoritmo de la burbuja con un array de 5
elementos (A = 50, 20, 40, 80, 30), donde se introduce una variable interruptor para detectar
si se ha producido intercambio en la pasada.
Pasada 0
50
20
40
80
30
Intercambio 50 y 20
40
80
30
Intercambio 50 y 40
80
30
50 y 80 ordenados
30
Intercambio 80 y 30
mbbb
Pasada 0
20
50
mbbb
Pasada 0
20
40
50
mbbb
Pasada 0
20
40
50
80
mbbb
Pasada 0
20
40
50
30
80
Elemento mayor es 80
interruptor = TRUE
40
50
30
80
20 y 40 ordenados
50
30
80
40 y 50 ordenados
30
80
Se intercambian 50 y 30
80
En la pasada 1:
Pasada 0
20
mbbb
Pasada 0
20
40
mbbb
Pasada 0
20
40
50
bbb
Pasada 0
20
40
30
50
20
40
30
50
80
20 y 40 ordenados
40
50
80
Se intercambian 40 y 30
interruptor = TRUE
bbb
Pasada 0
20
30
bbb
176
20
30
40
50
80
20 y 30 ordenados
40
50
80
Lista ordenada
interruptor = FALSE
mbbb
Pasada 0
20
30
En consecuencia, el algoritmo de ordenacin de burbuja mejorado contempla dos bucles anidados: el bucle externo controla la cantidad de pasadas (al principio de la primera pasada todava no se
ha producido ningn intercambio, por tanto la variable interruptor se pone a valor falso (0); el
bucle interno controla cada pasada individualmente y cuando se produce un intercambio, cambia el
valor de interruptor a verdadero (1).
El algoritmo terminar, bien cuando se termine la ltima pasada (n 1) o bien cuando el valor
del interruptor sea falso (0), es decir, no se haya hecho ningn intercambio. La condicin para
realizar una nueva pasada se define en la expresin lgica
(pasada < n-1) && interruptor
Una modificacin al algoritmo anterior puede ser utilizar, en lugar de una variable bandera
interruptor , una variable indiceIntercambio que se inicie a 0 (cero) al principio de cada
177
pasada y se establezca al ndice del ltimo intercambio, de modo que cuando al terminar la pasada
el valor de indiceIntercambio siga siendo 0 implicar que no se ha producido ningn intercambio (o bien, que el intercambio ha sido con el primer elemento), y, por consiguiente, la lista estar
ordenada. En caso de no ser 0, el valor de indiceIntercambio representa el ndice del vector a
partir del cual los elementos estn ordenados. La codificacin en C de esta alternativa es:
/*
Ordenacin por burbuja : array de n elementos
Se realizan una serie de pasadas mientras indiceIntercambio > 0
*/
void ordBurbuja2 (long a[], int n)
{
int i, j;
int indiceIntercambio;
/* i es el ndice del ltimo elemento de la sublista */
i = n-1;
/* el proceso contina hasta que no haya intercambios */
while (i > 0)
{
indiceIntercambio = 0;
/* explorar la sublista a[0] a a[i] */
for (j = 0; j < i; j++)
/* intercambiar pareja y actualizar indiceIntercambio */
if (a[j+1] < a[j])
{
long aux=a[j];
a[j] = a[j+1];
a[j+1] = aux;
indiceIntercambio = j;
}
/* i se pone al valor del ndice del ltimo intercambio */
i = indiceIntercambio;
}
}
178
Ejemplo 6.1
Obtener las secuencias parciales del vector al aplicar el mtodo Shell para ordenar en orden
creciente la lista:
6
1 5
El nmero de elementos que tiene la lista es 6, por lo que el salto inicial es 6/2 = 3. La siguiente
tabla muestra el nmero de recorridos realizados en la lista con los saltos correspondiente.
Recorrido
1
2
3
Salto
3
3
3
Intercambios
Lista
(6,2),(5,4),(6,0)
(2, 0)
ninguno
2 1 4 0 3 5 6
0 1 4 2 3 5 6
0 1 4 2 3 5 6
(4,2),(4,3)
ninguno
0 1 2 3 4 5 6
0 1 2 3 4 5 6
salto 3/2 = 1
4
5
1
1
Dividir la lista original en n/2 grupos de dos, considerando un incremento o salto entre los
elementos de n/2.
2. Clarificar cada grupo por separado, comparando las parejas de elementos, y si no estn
ordenados, se intercambian.
179
3.
Se divide ahora la lista en la mitad de grupos (n/4), con un incremento o salto entre los
elementos tambin mitad (n/4), y nuevamente se clasifica cada grupo por separado.
4. As sucesivamente, se sigue dividiendo la lista en la mitad de grupos que en el recorrido
anterior con un incremento o salto decreciente en la mitad que el salto anterior, y luego
clasificando cada grupo por separado.
5. El algoritmo termina cuando se consigue que el tamao del salto es 1.
Por consiguiente, los recorridos por la lista est condicionados por el bucle,
intervalo v n / 2
mientras (intervalo > 0) hacer
Para dividir la lista en grupos y clasificar cada grupo se anida este cdigo,
180
181
Ejemplo 6.2
Se ordena una lista de nmeros enteros aplicando el algoritmo quicksort, como pivote se elige el
primer elemento de la lista.
1.
2.
Lista original
pivote elegido
pivote
sublista Izda 1
sublista Dcha 3
Sublista Izda1
Izda
pivote
Dcha
pivote
Sublista Dcha1
sublista Izda 7
sublista Dcha
Izda
7
4.
Sublista Izda1 2
3.
pivote
Dcha
pivote
5
Sublista derecha
7
Para recordar
El algoritmo quicksort requiere una estrategia de particin y la seleccin idnea del pivote.
Las etapas fundamentales del algoritmo dependen del pivote elegido aunque la estrategia
de particin suele ser similar.
182
menores que el pivote y en la sublista derecha todos los elementos mayores que el pivote. Supongamos que todos los elementos de la lista son distintos, aunque ser preciso tener en cuenta los casos
en que existan elementos idnticos. En el Ejemplo 6.3 se elige como pivote el elemento central de la
lista actual.
Ejemplo 6.3
Ordenar una lista de nmeros enteros aplicando el algoritmo quicksort, como pivote se elige el
elemento central de la lista.
Lista original:
Pivote (elemento central)
8
6
La etapa 2 requiere mover todos los elementos menores al pivote a la parte izquierda del array y
los elementos mayores a la parte derecha. Para ello se recorre la lista de izquierda a derecha utilizando un ndice i que se inicializa en la posicin ms baja (inferior) buscando un elemento
mayor al pivote. Tambin se recorre la lista de derecha a izquierda buscando un elemento menor.
Para hacer esto se utilizar un ndice j inicializado en la posicin ms alta (superior).
El ndice i se detiene en el elemento 8 (mayor que el pivote) y el ndice j se detiene en el
elemento 0 (menor que el pivote).
8
ni
jv
Ahora se intercambian 8 y 0 para que estos dos elementos se siten correctamente en cada
sublista; y se incrementa el ndice i, y se decrementa j para seguir los intercambios.
0
Se intercambian los elementos mientras que i y j no se crucen. En caso contrario se detiene este
bucle. En el caso anterior se intercambian 9 y 2.
0
i j
183
Los ndices tienen actualmente los valores i = 5, j = 5. Contina la exploracin hasta que
i>j, acaba con i = 6, j = 5.
0
6
9
bbbbbn
vbbbbb
j
i
En esta posicin los ndices i y j han cruzado posiciones en el array y en este caso se detiene la
bsqueda y no se realiza ningn intercambio ya que el elemento al que accede j est ya correctamente
situado. Las dos sublistas ya han sido creadas, la lista original se ha dividido en dos particiones:
sublista_izquierda
0
pivote
5
sublista_derecha
21 15 99 88 65
75 85 76 46 84 24
65
24
21 15 46
88 75 85 76
21
99 84
79
76
15
24 46
75
15
24
75
85 88 99 84
79
99
46
85 88 84 79
46
...
184
que ningn elemento de la izquierda tenga una clave (valor) mayor que el pivote y que
ningn elemento a la derecha tenga una clave ms pequea que la del pivote.
Ordenar la particin izquierda utilizando quicksort recursivamente.
Ordenar la particin derecha utilizando quicksort recursivamente.
La solucin es particin izquierda seguida por el pivote y a continuacin particin derecha.
if (primero < j)
quicksort(a, primero, j);/* mismo proceso con sublista izqda */
if (i < ultimo)
quicksort(a, i, ultimo); /* mismo proceso con sublista drcha */
}
185
25
35
pivote
40
50
55
65
75
Complejidad
Burbuja
Insercin
Seleccin
Montculo
Fusin
Shell
Quicksort
n2
n2
n2
n log2
n log2
n log2
n log2
n
n
n
n
186
En conclusin, se suele recomendar que para listas pequeas los mtodos ms eficientes son
insercin y seleccin; y para listas grandes, el quicksort. El algoritmo de Shell suele variar mucho
su eficiencia en funcin de la variacin del nmero de elementos por lo que es ms difcil que en los
otros mtodos proporcionar un consejo eficiente. Los mtodos de fusin y por montculo suelen ser
muy eficientes para listas muy grandes.
El mtodo de ordenacin por montculos, tambin llamado Heapsort, se desarrolla ms adelante, en el Captulo 12, Colas de prioridades y montculos, al ser una aplicacin de la estructura
montculo.
Sencillamente determina la posicin que le corresponde segn el valor del campo clave. El
bucle lleva un tiempo de ejecucin de complejidad O(n).
Esta ordenacin tan sencilla que se ha expuesto es un caso particular del mtodo de ordenacin
por urnas (binsort). Este mtodo utiliza urnas, cada urna contiene todos los registros con una misma
clave.
El proceso consiste en examinar cada registro r a clasificar y situarle en la urna i, coincidiendo
i con el valor del campo clave de r. En la mayora de los casos en que se utilice el algoritmo, ser
necesario guardar ms de un registro en una misma urna por tener claves repetidas. Entonces estas
urnas hay que concatenarlas en el orden de menor ndice de urna a mayor, as quedar el array en
orden creciente respecto al campo clave.
En la Figura 6.3 se muestra un vector de m urnas. Las urnas estn representadas por listas
enlazadas.
Urnas
R3
...
...
...
R3
Rm
...
Rm
R1
R1
R2
R2
R3
Rm
R1
R2
187
Figura 6.4.
R1
R1
...
R1
R2
R2
...
R2
R3
R3
...
R3
Rm
Rm
...
Rm
Los pasos que sigue el algoritmo expresado en pseudocdigo para un vector de n registros:
OrdenacionBinsort(vector, n)
inicio
CrearUrnas(Urnas);
{Distribucin de registros en sus correspondientes urnas}
desde j = 1 hasta n hacer
AadirEnUrna(Urnas[vector[j].clave], vector[j]);
fin_desde
{Concatena las listas que representan a las urnas
desde Urnai hasta Urnam}
i = 1;
{bsqueda de primera urna no vaca}
mientras EstaVacia(Urnas[i]) hacer
i = i+1
fin_mientras
desde j = i+l a m hacer
EnlazarUrna(Urnas[i], Urnas[j]);
fin_desde
{Se recorre la lista-urna resultante de la concatenacin}
j = 1;
dir = <frente Urnas[i]>;
mientras dir <> nulo hacer
vector[j] = <registro apuntado por dir>;
j = j+i;
dir = Sgte(dir)
fin_mientras
fin
188
672
999
672
572
2
834
194
4
999
365
425
345
5
216
746
236
836
6
247
467
7
389
529
9
216
1
529
425
721
2
236
836
834
431
3
247
746
345
4
467
365
6
672
572
7
389
8
194
891
9
194
1
247
236
216
2
389
365
345
3
467
431
425
4
572
529
5
672
6
746
721
7
891
836
834
8
189
190
Ejemplo 6.4
Se desea buscar el elemento 225 y ver si se encuentra en el conjunto de datos siguiente:
a[0]
13
a[1]
44
a[2]
75
a[3]
100
a[4]
120
a[5]
275
a[6]
325
a[7]
510
191
El punto central de la lista es el elemento a[3] (100). El valor que se busca es 225, mayor que
100; por consiguiente, la bsqueda contina en la mitad superior del conjunto de datos de la lista, es
decir, en la sublista,
a[4]
120
a[5]
275
a[6]
325
a[7]
510
Ahora el elemento mitad de esta sublista a[5] (275). El valor buscado, 225, es menor que
275 y, por consiguiente, la bsqueda contina en la mitad inferior del conjunto de datos de la lista
actual; es decir, en la sublista de un nico elemento:
a[4]
120
El elemento mitad de esta sublista es el propio elemento a[4] (120). Al ser 225 mayor que
120, la bsqueda debe continuar en una sublista vaca. Se concluye indicando que no se ha encontrado la clave en la lista.
2.
(divisin entera)
clave
|bbbbbb|bbbbbb|
bajo
central
alto
clave
|bbbbbb|bbbbbb|
bajo
central
alto
Si a[central] < clave, la nueva sublista de bsqueda tiene por valores extremos de
su rango bajo = central+1..alto .
Si clave < a[central] , la nueva sublista de bsqueda tiene por valores extremos de su
rango bajo..central-1 .
clave
[bbbbbbbbbb]
bajo
central 1 = alto
clave
[bbbbbbbbbb]
bajo = central + 1
alto
El algoritmo se termina bien porque se ha encontrado la clave o porque el valor de bajo excede
a alto y el algoritmo devuelve el indicador de fallo de 1 (bsqueda no encontrada).
192
Ejemplo 6.5
Sea el array de enteros A (-8, 4, 5, 9, 12, 18, 25, 40, 60), buscar la clave, clave = 40.
1.
a[0]
8
a[4]
a[5]
a[6]
a[7]
a[8]
12
18
25
40
60
bajo = 0
alto = 8
central
central =
bajo + alto
2
0+8
2
= 4
2.
25
40
60
bajo = 5
alto = 8
central =
bajo + alto
2
5+8
2
= 6
(divisin entera)
3.
bajo = 7
alto = 8
60
central =
bajo + alto
2
7+8
2
4.
= 7
(bsqueda con xito)
193
{
central = (bajo + alto)/2;
valorCentral = lista[central];
if (clave == valorCentral)
return central;
else if (clave < valorCentral)
alto = central -1;
else
bajo = central + 1;
}
return -1;
/* elemento no encontrado */
n/2
n/4
n/8 . . . 1
n/2
n/2
siendo n/2m = 1.
n/23
n/24 . . . n/2m
194
Bsqueda binaria
1
4
11
14
18
21
Bsqueda secuencial
1
10
1.000
5.000
100.000
1.000.000
A tener en cuenta
La bsqueda secuencial se aplica para localizar una clave en un vector no ordenado. Para
aplicar el algoritmo de bsqueda binaria la lista, o vector, donde se busca debe de estar
ordenado.
La complejidad de la bsqueda binaria es logartmica, O (log n), ms eficiente que la
bsqueda secuencial que tiene complejidad lineal, O (n).
195
RESUMEN
Una de las aplicaciones ms frecuentes en programacin es la ordenacin.
Existen dos tcnicas de ordenacin fundamentales en gestin de datos: ordenacin de listas y ordenacin de archivos.
Los datos se pueden ordenar en orden ascendente o en orden descendente.
Cada recorrido de los datos durante el proceso de ordenacin se conoce como pasada o iteracin.
Los algoritmos de ordenacin bsicos son:
Seleccin.
Insercin.
Burbuja.
Los algoritmos de ordenacin ms avanzados son:
Shell.
Mergesort.
Radixsort.
Binsort.
Quicksort.
EJERCICIOS
6.1.
Cul es la diferencia entre ordenacin por intercambio y ordenacin por el mtodo de la burbuja?
6.2.
Se desea eliminar todos los nmeros duplicados de una lista o vector (array). Por ejemplo, si el array
toma los valores
4
11
11
ha de cambiarse a
4
11
Escribir una funcin que elimine los elementos duplicados de un vector ordenado. Cul es la
eficiencia de esta funcin? Comparar la eficiencia con la correspondiente a la funcin del Ejercicio 6.2.
6.4.
Un vector contiene los elementos mostrados a continuacin. Los primeros dos elementos se han
ordenado utilizando un algoritmo de insercin. Cul ser el valor de los elementos del vector
despus de tres pasadas ms del algoritmo?
3
13
25
45
23
98
58
196
6.5.
21
32
56
92
21
47
32
56
92
Un array contiene los elementos indicados ms abajo. Utilizando el algoritmo de ordenacin Shell
encuentre las pasadas y los intercambios que se realizan para su ordenacin.
8
43
17
40
16
18
97
11
6.7.
Partiendo del mismo array que en el Ejercicio 6.6, encuentre las particiones e intercambios que
realiza el algoritmo de ordenacin quicksort para su ordenacin.
6.8.
Un array de registros se quiere ordenar segn el campo clave fecha de nacimiento. Dicho campo
consta de tres subcampos: da, mes y ao de 2, 2 y 4 dgitos respectivamente. Adaptar el mtodo de
ordenacin Radixsort a esta ordenacin.
6.9.
Un array contiene los elementos indicados ms abajo. Utilizando el algoritmo de bsqueda binaria,
trazar las etapas necesarias para encontrar el nmero 88.
8
13
17
26
44
56
88
97
Escribir la funcin de ordenacin correspondiente al mtodo Radixsort para poner en orden alfabtico una lista de n nombres.
6.11.
Escribir una funcin de bsqueda binaria aplicado a un array ordenado en modo descendente.
6.12.
Supongamos que se tiene una secuencia de n nmeros que deben ser clasificados:
1. Utilizar el mtodo de Shell para determinar cuntas comparaciones y cuntos intercambios se
requieren para clasificar la secuencia si:
Ya est clasificada.
Est en orden inverso.
2. Repetir el paso 1 para el mtodo de quicksort.
PROBLEMAS
6.1.
Un mtodo de ordenacin muy simple, pero no muy eficiente, de elementos x1, x2, x3, ...
xn en orden ascendente es el siguiente:
Paso 1: Localizar el elemento ms pequeo de la lista x1 a xn; intercambiarlo con x1.
Paso 2: Localizar el elemento ms pequeo de la lista x2 a xn, intercambiarlo con x2.
Paso 3: Localizar el elemento ms pequeo de la lista x3 a xn, intercambiarlo con xn.
En el ltimo paso, los dos ltimos elementos se comparan e intercambian, si es necesario, y la ordenacin se termina. Escribir un programa para ordenar una lista de elementos, siguiendo este mtodo.
197
6.2.
Dado un vector x de n elementos reales, donde n es impar, disear una funcin que
calcule y devuelva la mediana de ese vector. La mediana es el valor tal que la mitad de
los nmeros son mayores que el valor y la otra mitad son menores. Escribir un programa que compruebe la funcin.
6.3.
Se trata de resolver el siguiente problema escolar. Dadas las notas de los alumnos de
un colegio en el primer curso de bachillerato, en las diferentes asignaturas (5, por
comodidad), se trata de calcular la media de cada alumno, la media de cada asignatura,
la media total de la clase y ordenar los alumnos por orden decreciente de notas medias
individuales.
Nota: Utilizar como algoritmo de ordenacin el mtodo Shell.
6.4.
Escribir un programa de consulta de telfonos. Leer un conjunto de datos de mil nombres y nmeros de telfono de un archivo que contiene los nmeros en orden aleatorio.
Las consultas han de poder realizarse por nombre y por nmero de telfono.
6.5.
6.6.
Se dispone de dos vectores, Maestro y Esclavo, del mismo tipo y nmero de elementos.
Se deben imprimir en dos columnas adyacentes. Se ordena el vector Maestro, pero
siempre que un elemento de Maestro se mueva, el elemento correspondiente de Esclavo debe moverse tambin; es decir, cualquier cosa que se haga en Maestro[i] debe
hacerse en Esclavo[i]. Despus de realizar la ordenacin se imprimen de nuevo los
vectores. Escribir un programa que realice esta tarea.
Nota: Utilizar como algoritmo de ordenacin el mtodo quicksort.
6.7.
Cada lnea de un archivo de datos contiene informacin sobre una compaa de informtica. La lnea contiene el nombre del empleado, las ventas efectuadas por el mismo y
el nmero de aos de antigedad del empleado en la compaa. Escribir un programa
que lea la informacin del archivo de datos y a continuacin se visualiza. La informacin
debe ser ordenada por ventas de mayor a menor y visualizada de nuevo.
6.8.
Construir un mtodo que permita ordenar por fechas y de mayor a menor un vector de
n elementos que contiene datos de contratos (n 50). Cada elemento del vector debe
198
ser un objeto con los campos da, mes, ao y nmero de contrato. Pueden existir diversos contratos con la misma fecha, pero no nmeros de contrato repetidos.
Nota: El mtodo a utilizar para ordenar ser el de radixsort.
6.10.
6.11.
Codicacin Human
1 Historia
En ciencias de la computacin y teora de la informacin, la codicacin Human es un algoritmo usado para compresin de datos. El trmino se reere al uso de una
tabla de cdigos de longitud variable para codicar un
determinado smbolo (como puede ser un carcter en un
archivo), donde la tabla ha sido rellenada de una manera
especca basndose en la probabilidad estimada de aparicin de cada posible valor de dicho smbolo. Fue desarrollado por David A. Human mientras era estudiante
de doctorado en el MIT, y publicado en A Method for
the Construction of Minimum-Redundancy Codes.
Para un grupo de smbolos con una distribucin de probabilidad uniforme y un nmero de miembros que es po- Dados Un conjunto de smbolos y sus pesos (normaltencia de dos, la codicacin Human es equivalente a
mente proporcionales a probabilidades).
una codicacin en bloque binaria, por ejemplo, la codicacin ASCII. La codicacin Human es un mtodo Encontrar Un cdigo binario prejo (un conjunto de
para crear cdigos prejo tan extendido que el trmino
elementos del cdigo) con longitud de palabra escodicacin Human es ampliamente usado como siperada mnima (de forma equivalente, un rbol con
nnimo de cdigo prejo, incluso cuando dicho cdigo
longitud del camino mnima).
no se ha producido con el algoritmo de Human.
Aunque la codicacin de Human es ptima para una
codicacin smbolo a smbolo dada una distribucin de
probabilidad, su optimalidad a veces puede verse accidentalmente exagerada. Por ejemplo, la codicacin aritmtica y la codicacin LZW normalmente ofrecen mayor capacidad de compresin. Estos dos mtodos pueden
agrupar un nmero arbitrario de smbolos para una codicacin ms eciente, y en general se adaptan a las estadsticas de entrada reales. Este ltimo es til cuando las
probabilidades no se conocen de forma precisa o varan
signicativamente dentro del ujo de datos.
TCNICA BSICA
El cdigo C (A, W ) = {c1 , c2 , , cn } , que es el con- Ntese que, en general, un cdigo Human no necesita
junto de elementos del cdigo (binario), donde ci es la ser nico, pero si lo es siempre es uno de los cdigos que
palabra del cdigo para ai , 1 i n .
minimiza L(C) .
Objetivo
3 Tcnica bsica
n
Sea L (C) =
i=1 wi longitud (ci ) la longitud del
camino ponderado del cdigo C . Condicin: L (C) La tcnica utilizada es el propio algoritmo de Human.
L (T ) para cualquier cdigo T (A, W ) .
Consiste en la creacin de un rbol binario en el que se
etiquetan los nodos hoja con los caracteres, junto a sus
frecuencias, y de forma consecutiva se van uniendo cada
2.2.1 Ejemplo
pareja de nodos que menos frecuencia sumen, pasando
a crear un nuevo nodo intermedio etiquetado con dicha
Para cualquier cdigo biunvoco, aqul cdigo decodisuma. Se procede a realizar esta accin hasta que no quecable de forma nica, la suma de las probabilidades de
dan nodos hoja por unir a ningn nodo superior , y se ha
todos los smbolos es siempre menor o igual que uno. En
formado el rbol binario.
este ejemplo, es exactamente igual a uno; por lo que decimos que es un cdigo completo. Si no es el caso siempre Posteriormente se etiquetan las aristas que unen cada uno
se puede derivar un cdigo equivalente aadiendo smbo- de los nodos con ceros y unos (hijo derecho e izquierdo,
los extra (con probabilidades nulas asociadas), para hacer respectivamente, por ejemplo). El cdigo resultante para
cada carcter es la lectura, siguiendo la rama, desde la
el cdigo completo a la vez que se mantiene biunvoco.
raz hacia cada carcter (o viceversa) de cada una de las
Tal como deni Shannon (1948), la cantidad de inforetiquetas de las aristas.
macin h (en bits) de cada smbolo a con probabilidad
no nula es
1
.
wi
1
dos
de la lista inicial son nodos hoja del rbol. Al ir consH(A) =
wi h(ai ) =
wi log2
=
wi log
2 wi .
wi
truyendo el rbol, los nodos internos tendrn un peso y
wi >0
wi >0
wi >0
dos nodos hijos, y opcionalmente un enlace al nodo pa(Nota: un smbolo con probabilidad cero tiene una contri- dre que puede servir para recorrer el rbol en ambas dibucin nula a la entropa. Cuando w = 0, w log2 (1/w) = recciones. Por convencin el bit '0' se asocia a la rama
0 es una indeterminacin; aplicando la regla de izquierda y el bit '1' a la derecha. Una vez nalizado el
L'Hpital :
rbol contendr n nodos hijo y n 1 nodos internos.
lim+
w0
log2 w1
1
w
= lim+
w0
w 1ln 2
w12
= lim+
w0
w
=0
ln 2
El proceso de construccin del rbol comienza formando un nodo intermedio que agrupa a los dos nodos hoja
que tienen menor peso (frecuencia de aparicin). El nuevo nodo intermedio tendr como nodos hijos a stos dos
nodos hoja y su campo peso ser igual a la suma de los
pesos de los nodos hijos. Los dos nodos hijos se eliminan de la lista de nodos, sustituyndolos por el nuevo nodo
intermedio. El proceso se repite hasta que slo quede un
nodo en la lista. ste ltimo nodo se convierte en el nodo
raz del rbol de Human.
Como consecuencia del teorema de codicacin de fuente de Shannon, la entropa es una medida de la longitud de
palabra ms pequea del cdigo que es tericamente posible para un alfabeto dado con unos pesos asociados. En
este ejemplo, la longitud media de la palabra es 2,25 bits El algoritmo de construccin del rbol puede resumirse
por smbolo, ligeramente mayor que la entropa calcula- as:
da de 2,205 bits por smbolo. As que no slo este cdigo
1. Crear un nodo hoja para cada smbolo, asociando un
es ptimo en el sentido de que ningn otro cdigo posipeso segn su frecuencia de aparicin e insertarlo en
ble funciona mejor, sino que adems est muy cercano al
la lista ordenada ascendentemente.
lmite terico establecido por Shannon.
3
2. Mientras haya ms de un nodo en la lista:
de ineciencia ilimitado. Estas situaciones a menudo responden bien a una forma de paquete llamada codicacin
(a) Eliminar los dos nodos con menor probabili- run-length.
dad de la lista
La codicacin aritmtica produce una ligera ganancia
(b) Crear un nuevo nodo interno que enlace a los
sobre la codicacin Human, pero en la prctica esta
nodos anteriores, asignndole como peso la suganancia raramente ha sido lo bastante grande como pama de los pesos de los nodos hijos.
ra utilizar la codicacin aritmtica que posee una com(c) Insertar el nuevo nodo en la lista, (en el lugar plejidad computacional ms elevada y adems requiere el
que le corresponda segn el peso).
pago de royalties. (A julio de 2006, IBM posee patentes
de muchos mtodos de codicacin aritmtica en varias
3. El nodo que quede es el nodo raz del rbol.
jurisdicciones).
Aqu hay un ejemplo de construccin del rbol a partir
del texto en francs j'aime aller sur le bord de l'eau les
jeudis ou les jours impairs":
5 Variacin
Existen muchas variaciones del cdigo de Human, algunos que utilizan Human como algoritmo, y otros que
encuentra el cdigo prejo ptimo. Tenga en cuenta que
en este ltimo caso el mtodo no es necesariamente similar al de Humans y no tiene por qu terminar en tiempo
polinmico.
Propiedades principales
5.2 Cdigo Human adaptable
5.4
6 APLICACIONES
Cdigo de Human de tamao limita- rboles binarios alfabticos ptimos son usados a menudo
como boles binarios de bsqueda.
do
El Cdigo de Human de tamao de limitado es una variante donde el objetivo es lograr que el camino de coste mnimo con la restriccin de que la longitud de cada palabra sea menor que una constante. El algoritmo de
package-merge lo soluciona con un algoritmo voraz, muy
similar al usado por el algoritmo de Human. Su complejidad es del orden de O (nL), siendo L el tamao de la
palabra ms larga. No se conoce algoritmo para resolver
este problema en tiempo lineal, a diferencia de los problemas convencionales de Human.
5.5
5.6
6 Aplicaciones
rboles binarios alfabticos ptimos La codicacin aritmtica puede considerarse como una
generalizacin de la codicacin de Human, de hecho,
(codicacin Hu-Tucker)
en la prctica la codicacin Aritmtica viene precedida por la codicacin de human, pues es ms fcil encontrar una aritmtica para una entrada binaria que para
una no binaria. Por otra parte aunque la codicacin de
compresin ofrece mejor rendimiento que la codicacin
de Human, la codicacin de Human se encuentra todava en uso generalizado debido a su simplicidad, alta
velocidad, y falta de problemas de patentes.
La codicacin de Human se utiliza a menudo en algn otro mtodo de compresin. Como la deacin y
cdec multimedia como JPEG y MP3 que tienen una
cuanticacin digital basada en la codicacin de Human.
Ejemplo
Una sonda espacial ha sido lanzada al espacio para contar cierto tipo de perturbaciones estelares. Ha de contar
cuntas se producen en cada minuto, y tiene cada da una
ventana de tiempo bastante reducida para enviar los datos
a Tierra; por tanto, interesa reducir al mximo el tiempo
de transmisin, y para ello se recurre a codicar las muestras mediante un cdigo de Human.
En la siguiente tabla se muestran los valores a transmitir, junto con sus frecuencias relativas, su cdigo en una
codicacin binaria de 3 bits, y su cdigo en un posible
cdigo Human para estos valores.
Puede observarse que, en la codicacin binaria, todos
los posibles valores reciben cdigos del mismo nmero
de bits, mientras que en la codicacin Human, cada
valor tiene un nmero diferente de bits: los cdigos ms
frecuentes poseen dos bits, mientras que los menos frecuentes poseen cuatro bits.
8 Bibliografa
D.A. Human, A method for the construction of
minimum-redundancy codes, Proceedings of the
I.R.E., sept 1952, pp 1098-1102
9 Vase tambin
Algoritmo de Human
Cdigo cannico de Human
Codicacin aritmtica
10 Enlaces externos
Generador de rboles de Human
Human en PHP
11
11.1
Codicacin Human Fuente: https://es.wikipedia.org/wiki/Codificaci%C3%B3n_Huffman?oldid=89260607 Colaboradores: Sms, Elwikipedista, Daniel G., Jacobo Tarrio, Mandramas, Niqueco, Rembiapo pohyiete (bot), Francosrodriguez, Platonides, Caiserbot, Yrbot,
BOT-Superzerocool, Adrruiz, KnightRider, Rconejo, CEM-bot, Laura Fiorucci, Martin Rizzo, JAnDbot, TXiKiBoT, Biasoli, XemDenots,
Muro Bot, Feministo, SieBot, Arlekean, Farisori, Aipni-Lovrij, SilvonenBot, Redor, Gizbot, Dga-ada08, Marcelobusico, MelancholieBot, Kyle the bot, Kuakua77, Rimeju, Luckas-bot, Nallimbot, Dario chans, ArthurBot, Xqbot, Torrente, Alph Bot, EmausBot, Ooz dot
ie, Rezabot, MerlIwBot, KLBot2, Allanbot, Addbot, Maester Aemon, JacobRodrigues, Michael J. White, Crystallizedcarbon, BenjaBot y
Annimos: 35
11.2
Imgenes
11.3
Cdigo Hamming
En informtica, el cdigo de Hamming es un cdigo detector y corrector de errores que lleva el nombre de su
inventor, Richard Hamming. En los datos codicados en
Hamming se pueden detectar errores en un bit y corregirlos, sin embargo no se distingue entre errores de dos bits
y de un bit (para lo que se usa Hamming extendido). Esto
representa una mejora respecto a los cdigos con bit de
paridad, que pueden detectar errores en slo un bit, pero
no pueden corregirlo.
Cdigos pre-Hamming
1.1
Paridad
Por otra parte, el cdigo de la repeticin es extremadamente inecaz, pues reduce la velocidad de transmisin
por tres en nuestro ejemplo original y su ecacia cae drsticamente al aumentar el nmero de veces que cada bit se
repite para detectar y corregir ms errores. El uso del cdigo de bloques no lineales para deteccin de errores no
es muy implementado por lo tanto emplearemos el cdigo
de errores lineales para la correccin de errores.
Cdigos Hamming
EJEMPLO
1. Todos los bits cuya posicin es potencia de dos se utiSi se aaden junto al mensaje ms bits detectores- lizan como bits de paridad (posiciones 1, 2, 4, 8, 16, 32,
correctores de error y si esos bits se pueden ordenar de 64, etc.).
modo que diferentes bits de error producen diferentes re- 2. Los bits del resto de posiciones son utilizados como bits
sultados, entonces los bits errneos podran ser identica- de datos (posiciones 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15,
dos. En un conjunto de siete bits, hay slo siete posibles 17, etc.).
errores de bit, por lo que con tres bits de control de error
se podra especicar, adems de que ocurri un error, en 3. Cada bit de paridad se obtiene calculando la paridad de
alguno de los bits de datos. La posicin del bit de paridad
qu bit fue.
determina la secuencia de los bits que alternativamente
Hamming estudi los esquemas de codicacin existen- comprueba y salta, a partir de ste, tal y como se explica
tes, incluido el de dos entre cinco, y generaliz sus con- a continuacin. Posicin 1: salta 0, comprueba 1, salta 1,
clusiones. Para empezar, desarroll una nomenclatura pa- comprueba 1, etc. Posicin 2: salta 1, comprueba 2, salta
ra describir el sistema, incluyendo el nmero de los bits 2, comprueba 2, etc. Posicin 4: salta 3, comprueba 4, salde datos y el de los bits detectores-correctores de error ta 4, comprueba 4, etc. Posicin 8: salta 7, comprueba 8,
en un bloque. Por ejemplo, la paridad incluye un solo bit salta 8, comprueba 8, etc. Posicin 16: salta 15, compruepara cualquier palabra de datos, as que las palabras del ba 16, salta 16, comprueba 16, etc. Regla general para la
Cdigo ASCII que son de siete bits, Hamming las descri- posicin n es: salta n-1 bits, comprueba n bits, salta n bits,
ba como un cdigo (8.7), esto es, un total de 8 bits de los comprueba n bits... Y as sucesivamente. En otras palacuales 7 son datos. con base a la anterior repeticin, sera bras, el bit de paridad de la posicin comprueba los bits
un cdigo (3.1), siguiendo la misma lgica. La relacin en las posiciones que tengan al bit k en su representacin
de la informacin es el segundo nmero dividido por el binaria. Dicho a la inversa, el bit 4, chequea los bits 4, 5, 6,
primero, por nuestro ejemplo de la repeticin, 1/3.
7, al ser estos los de su representacin binaria: 4=100(2),
Hamming tambin estudi los problemas que surgan al 5=101(2), 6=110(2) y 7=111(2). Por el contrario, el miscambiar dos o ms bits a la vez y describi esto como mo bit de paridad no comprueba el bit 8, debido a que en
distancia (ahora llamada distancia de Hamming en su su representacin binaria el bit nmero 3 (=4) es igual a 0
honor). La paridad tiene una distancia de 2, dado que (8=1000B). As, por ejemplo, para los primeros trminos
cualquier error en dos bits no ser detectado. La repeti- se tiene: En la Posicin 1 (2^0 = 1), comprobaramos los
cin (3.1)tiene una distancia de 3, pues son necesarios el bits: 1, 3, 5, 7, 9, 11, 13... En la Posicin 2 (2^1 = 2), los
cambio simultneo de tres bits para obtener otra palabra bits: 2, 3, 6, 7, 10, 11, 14, 15... En la Posicin 4 (2^2 =
de cdigo. La repeticin (4.1) (cada bit se repite cuatro 4), los bits: 4, 5, 6, 7, 12, 13, 14, 15, 20, 21, 22, 23... En
veces) tiene una distancia de 4, as que el cambio de dos la Posicin 8 (2^3 = 8) tendramos: 8, 9, 10, 11, 12, 13,
14, 15, 24-31... Siguiendo el algoritmo hasta completar
bits en el mismo grupo quedar sin denir.
la nueva cadena.
Hamming estaba interesado en solucionar simultneamente dos problemas: aumentar la distancia tanto como
sea posible, a la vez que se aumentan al mximo los bits
de informacin. Durante los aos 40 desarroll varios es- 3 Ejemplo
quemas de codicacin que mejoraban notablemente los
cdigos existentes. La clave de todos sus sistemas era in- Consideremos la palabra de datos de 7 bits 0110101.
tercalar entre los bits de datos los de paridad.
Para ver cmo se generan y utilizan los cdigos Hamming
2.0.1
Hamming (7,4)
Hoy, el cdigo de Hamming se reere al (7.4) que Ham- En primer lugar los bits de datos se insertan en las posiming introdujo en 1950. El cdigo de Hamming agre- ciones apropiadas y los bits de paridad calculados en cada
ga tres bits adicionales de comprobacin por cada cuatro caso usando la paridad par.
P1 = D1 D2 D4 D5 D7 P2 = D1 D3 D4
D6 D7 P3 = D2 D3 D4 P4 = D5 D6 D7
La nueva palabra de datos (con los bits de paridad) es
ahora 10001100101. Consideremos ahora que el bit de
la derecha, por error, cambia de 1 a 0. La nueva palabra
de datos ser ahora 10001100100.
Sin errores
Con errores
Cambiando el bit dcimo primero 10001100100 se obtiene de nuevo 10001100101. Eliminando los bits de patrn
de la paridad no se tienen en cuenta los bits de paridad. Si
el error se produjera en uno de ellos, en la comprobacin
slo se detectara un error, justo el correspondiente al bit
de paridad causante del mismo.
Hamming Extendido
5.1
Texto
Cdigo Hamming Fuente: https://es.wikipedia.org/wiki/C%C3%B3digo_Hamming?oldid=90133712 Colaboradores: CrudPuppy, Xenoforme, Robotico, FAR, Digigalos, Deleatur, Airunp, Rembiapo pohyiete (bot), Genba, Pedvi, Charlitos, Chobot, Caiserbot, Gerkijel, Yrbot,
BOT-Superzerocool, Jamuki, YurikBot, KnightRider, Haku, Nstor Amigo Cairo, BOTpolicia, CEM-bot, Toge, Kcho, Antur, Thijs!bot,
Martin Rizzo, Endermuabdib, JAnDbot, Lamparilla, TXiKiBoT, VolkovBot, Matdrodes, Muro Bot, SieBot, Dj daleman, Acanocad, Drinibot, Farisori, Epiovesan, Alejandrocaro35, Botito777, Alexbot, AVBOT, Pasmargo, Luckas-bot, Nallimbot, ArthurBot, Jkbw, Ala doble,
Capitalazul, EmausBot, Ebrambot, Rubpe19, Bazookao, Danicejota, AvicBot, MetroBot, AleAnonMallo, Addbot, E-walldoPC y Annimos: 101
5.2
Imgenes
5.3
Distancia de Hamming
2 Historia y Aplicaciones
Por ejemplo:
La distancia Hamming entre 1011101 y 1001001 es
2.
d(a, b) = d(b, a)
d(a, b) = 0 si y slo si a = b
La distancia de Hamming es utilizada para denir algunas nociones esenciales en teora de cdigos, tales como
cdigos detectores de errores y cdigos correctores de
errores. En particular, se dice que un cdigo C detecta k
-errores si cualesquiera dos palabras c1 , c2 C que tienen una distancia de Hamming menor que k coinciden.
Dicho de otro modo, un cdigo detecta k -errores si y solo si la distancia de Hamming mnima entre cualesquiera
dos palabras en l es a lo menos k + 1 .
3 Vase tambin
Cdigo Hamming
Distancia de Levenshtein
De esta manera, un cdigo que tiene distancia de Hamming mnima d entre sus palabras puede detectar a lo ms
d 1 errores y puede corregir (d 1)/2 errores. Este ltimo nmero es tambin conocido como el radio de
empaquetado o la capacidad de correccin del cdigo.
1
4.1
Texto
Distancia de Hamming Fuente: https://es.wikipedia.org/wiki/Distancia_de_Hamming?oldid=91919842 Colaboradores: Pacoqueen, Sabbut, Moriel, Sauron, Rsg, Benjavalero, Diegoignaciosanzo, Rembiapo pohyiete (bot), RobotQuistnix, Chobot, Yrbot, Baito, BOTijo, YurikBot, GermanX, Eskimbot, CEM-bot, Pinar~eswiki, Thijs!bot, JAnDbot, SieBot, PaintBot, BOTarate, Javierito92, DragonBot, Alejandrocaro35, Alexbot, Luckas-bot, MystBot, Ptbotgourou, Xqbot, Ripchip Bot, EmausBot, ChuispastonBot, Albertojuanse, WikitanvirBot,
Categulario, Legobot, AleAnonMallo, Nicocarosio y Annimos: 16
4.2
Imgenes
4.3
10/12/2008
Organizaciones Direccionadas
Direccionamiento Directo
Direccionamiento Disperso
Dispersin Virtual
Dispersiones Extensible y Dinmica
Comparativa
2008 LaBDa Universidad Carlos III Madrid
FF - 1
FF - 2
10/12/2008
FF - 3
Espacio de Almacenamiento
Incrementar densidad, minimizar almacenamiento auxiliar,
compresin de campos, buscar tamaos de cubo adecuados, etc.
El espacio de almacenamiento influye en el Tiempo de Respuesta!
Tiempo de proceso:
Evitar reorganizaciones en tiempo de proceso, ensamblajes ...
FF - 4
10/12/2008
FF - 5
FF - 6
10/12/2008
Actualizacin:
insercin: se aaden registros al final del fichero
borrado:
modificacin:
registros fijos: se altera el contenido
registros variables: se borra el antiguo y se reinserta modificado
FF - 7
FF - 8
10/12/2008
Borrado Lgico:
en organizacin serial (en general):
- para borrar se introduce una marca de borrado lgico (1 acceso escritura),
y al insertar se recorre el fichero buscando un hueco de tamao adecuado.
Si no hubiera un hueco suficientemente grande, se inserta al final.
Lista de Huecos: (tamao+posicin) si no est muy lejos, se utiliza
FF - 9
Procesos:
procesos selectivos: puede aprovechar el que vayan ordenados
localizar un registro: bsqueda dicotmica
localizar varios registros: dicotmica + acceso serial
claves alternativas: bsqueda serial (leer todo el fichero)
procesos a la totalidad: gran eficiencia en procesos ordenados
2008 LaBDa Universidad Carlos III Madrid
FF - 10
10/12/2008
un registro
varios regs.
sin orden
ordenados
FF - 11
FF - 12
10/12/2008
FF - 13
FF - 14
10/12/2008
FF - 15
FF - 16
10/12/2008
FF - 17
CD
Elemento: clave
mbito: lgico
T1
DB
T2
dir. cubo
fsico-lgico
dir. bloque
fsico
FF - 18
10/12/2008
FF - 19
FF - 20
10
10/12/2008
FF - 21
FF - 22
11
10/12/2008
cmulo
FF - 23
colisin
FF - 24
12
10/12/2008
FF - 25
rea de desbordamiento
FF - 26
13
10/12/2008
FF - 27
FF - 28
14
10/12/2008
Divisin-Resto o Resduo:
consiste en dividir la clave entre un nmero natural y tomar el resto
- muy til para adaptar cualquier resultado de cualquier otra funcin de
transformacin al espacio de direccionamiento utilizado: CD MOD N
- Observar que el truncamiento es un caso concreto de la funcin resduo
Plegado:
consiste en dividir la clave en varios grupos numricos y combinarlos
Ejemplo: mitad y suma; 115279 115 | 279 115 + 279 = 394
FF - 29
- Observar que pueden aparecer smbolos nuevos que habra que transformar
Ejemplo: 527 MOD 11 = 10; ... 4 100 + 310 + 101 = 440
Mtodo de Lin
FF - 30
15
10/12/2008
Direccionamiento abierto
Encadenamiento
Otros (organizacin independiente)
m
1
2
3
a
b
FF - 31
FF - 32
16
10/12/2008
Sondeo Cuadrtico:
El sondeo sigue una progresin D=(D+k2) MOD N,, tomando valores D+1, D+4, ... D+n2
Doble Transformacin:
En este caso, en lugar de sumar, se aplica cualquier funcin de transformacin.
Queda D= f (D) MOD N ,, observar que el rehashing es un caso particular de este
2008 LaBDa Universidad Carlos III Madrid
FF - 33
FF - 34
17
10/12/2008
FF - 35
FF - 36
18
10/12/2008
Encadenamiento de Registros:
Es menos eficiente para el proceso get all por la CD,
pero reduce notablemente el tamao del rea de desbordamiento.
Dependiendo de los procesos frecuentes, se escoger uno u otro.
2008 LaBDa Universidad Carlos III Madrid
FF - 37
FF - 38
19
10/12/2008
FF - 39
FF - 40
20
10/12/2008
otro byte
0
1
2
3
4
5
6
7
8
9
10
11
12
13 14
15
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0
1
0
1
0
1
CD=0010
cubo 0
cubo 1
cubo 2
CD=0100
cubo 3
cubo 4
...
CD=0111
cubo 5
cubo 6
...
cubo 7
FF - 41
CD=0010
CD=0100 CD=0111
cubo 1
cubo 2
cubo 3
...
FF - 42
21
10/12/2008
FF - 43
(0 bits, 20 celdas)
00
1 2
(los registros se reparten: los que acaban en 0 al cubo 1, y los que acaben en 1 al cubo 2)
CD=101110
CD=101100
CD=010000
00
0
01
1
10
0
11
1
32
CD=011001
CD=110001
cubo 2
(2 bits, 22 posiciones)
CD=001011
CD=001111
CD=011111
CD=101111
cubo 3
cubo 1
2008 LaBDa Universidad Carlos III Madrid
FF - 44
22
10/12/2008
101110
101100
010000
cubo 1
001
01
10
1 010
0
011
11
1
X
2
100
00 101
01 110
10
111
11
32
011101
001101
011001
010101
cubo
2
101101
110001
PERO...
NO SE REPARTEN!!
cubo 3
DESBORDA!
Pasos:
Anular el puntero de la direccin virtual sin elementos (asignar a NIL)
Repetir el proceso provocado por el desbordamiento (copio, desdoblo, ...)
FF - 45
SOLUCIN:
FF - 46
23
10/12/2008
00
000
01 010
10
001
11
011
100
00
101
01 110
10
42
111
11
51
101100
010000
110000
110 111
51
101110
001110
011010
cubo 1
cubo 5
61
3
FF - 47
bits direccin
cubo 2
cubo 4
05
24
00
01
10
11
3
FF - 48
24
10/12/2008
FF - 49
FF - 50
25
10/12/2008
1
1
1 0
1 3
0
0
En qu cubo est el 1 0 0 1 1 0 1 0 1 0 0 1 ?
Y dnde debo almacenar un elemento
cuya direccin es 1 0 0 0 1 1 0 1 1 1 0 1 ?
5
8
1
10
9
7
FF - 52
26
10/12/2008
Ventajas
Inconvenientes
FF - 53
Ventajas
Inconvenientes
El ordenamiento fsico
FF - 54
27
10/12/2008
Proceso Predominante
Consulta a la Totalidad
Interesa
Consecutiva
No consecutiva
FF - 55
Ventajas
Inconvenientes
Mala ocupacin (baja densidad)
FF - 56
28
10/12/2008
Ventajas
Inconvenientes
Desdoblamientos y Plegados
Mejora acceso por cl. alternativas Cl. alternativas precisan org. auxiliar
Minimiza impacto mala dispersin
(disp.dinmica)
FF - 57
29
21/8/2016
Leccin38Formasderecorrerunrbolbinario
EstructuradeDatos
Leccin38Formasderecorrerunrbolbinario
Losrbolesbinarios,sonestructurasdedatosnolineales,sonconsideradoscomoestructuras
jerrquicasycomotalsuformaderecorrerlosdifieresustancialmenteencomparacinconlas
listasenlazadasquesonestructurasdedatosdetipolineal.Eneseordendeideas,elrecorrido
deunrbolbinariosellevaacaboentressentidos:Preorden,InordenyPostorden.A
continuacinsedetallacadacaso.
RecorridoenPreorden
Recorrerunrbolenpreordenconsisteenprimerlugar,examinareldatodelnodoraz,
posteriormenteserecorrerelsubrbolizquierdoenpreordenyfinalmenteserecorreelsubrbol
derechoenpreorden.Estosignificaqueparacadasubrbolsedebeconservarelrecorridoen
preorden,primerolaraz,luegolaparteizquierdayposteriormentelapartederecha.
Enlafigura70,sevisualizaunrbolbinario,perfectamenteequilibrado,enelquesusnodosson
detipocarcter.Deacuerdoconladefinicindelrecorridoenpreordenelresultadosera:
Figura70Recorridodelrbolbinarioenpreorden
Otroejemploderecorridoenpreorden,dondesusnodossondetiponumricoparaelsiguiente
rbolbinariodelafigura71.
Figura71Resultadodelrecorridoenpreordendelrbol
http://datateca.unad.edu.co/contenidos/301305/Contenido_en_linea/Modulo_3013052012_HTML/leccin_38__formas_de_recorrer_un_rbol_binario.html
1/4
21/8/2016
Leccin38Formasderecorrerunrbolbinario
Unaformadeimplementarlosrecorridosdeunrbolbinarioesatravsdefuncionesespecficas
paradichatarea.
voidpreorden(tarbol*a)
{
if(a!=NULL){
visitar(a)
preorden(a>izq)
preorden(a>der)
}
}
RecorridoenInorden
RecorrerunrbolenInordenconsisteenprimerlugarenrecorrerelsubrbolizquierdoen
Inorden,luegoseexaminaeldatodelnodoraz,yfinalmenteserecorreelsubrbolderechoen
Inorden.EstosignificaqueparacadasubrbolsedebeconservarelrecorridoenInorden,es
decir,primerosevisitalaparteizquierda,luegolarazyposteriormentelapartederecha.
Heaquunaaplicacinunejemplo:
Manosalaobra...
Setieneelrbolbinariodelafigura72,condatosdetiponumrico.
Elrecorridoiniciaconelsubrbolizquierdo,elprimernodoavisitaresel3luegosevisitael5y
posteriormenteel7,conestosegarantizaqueelrecorridodelsubrbolizquierdosehizoen
Inorden.
Finalizadoelrecorridodelsubrbolizquierdosevisitaelnododelaraz,queparaestecasoes
elnumero10.
SoloquedarecorrerelsubrbolderechoenInorden,esdecirsevisitael11luegoel12yse
finalizaconlavisitadelnodo15
ElresultadocompletodelrecorridoenInordenparaelrboldelafigura72es:3571011
1215Talcomosemuestraenlafigura.
Figura72RepresentacingrficadelrecorridoenInorden
SepuedeimplementarelrecorridoenInordendeunrbolbinarioesatravsdeunafuncin
especficasparadichatarea.
voidinorden(tarbol*a)
http://datateca.unad.edu.co/contenidos/301305/Contenido_en_linea/Modulo_3013052012_HTML/leccin_38__formas_de_recorrer_un_rbol_binario.html
2/4
21/8/2016
Leccin38Formasderecorrerunrbolbinario
voidinorden(tarbol*a)
{
if(a!=NULL){
inorden(a>izq)
visitar(a)
inorden(a>der)
}
}
Porltimosoloquedadescribirlaterceraformaderecorrerunrbolbinario.
RecorridoenPostorden
RecorrerunrbolenPostordenconsisteenprimerlugarenrecorrerelsubrbolizquierdoen
Postorden,luegoserecorreelsubrbolderechoenPostordenyfinalmentesevisitaelnodoraz.
EstosignificaqueparacadasubrbolsedebeconservarelrecorridoenPostorden,esdecir,
primerosevisitalaparteizquierda,luegolapartederechayporltimolaraz.
Heaqulaaplicacinconunejemplobasadoenelrboldelafigura72:
Manosalaobra...
Elrecorridoiniciaconelsubrbolizquierdo,elprimernodoavisitaresel3luegosevisitael7y
posteriormenteel5queeslaraz,conestosegarantizaqueelrecorridodelsubrbolizquierdo
sehizoenPostorden.
FinalizadoelrecorridodelsubrbolizquierdoseinicialavisitaalsubrbolderechoenPostorden,
esdecir,sevisitael11luegoel15ysefinalizaconlavisitadelnodo12queseralarazdeeste
subrbol.
Soloquedarecorrerlarazdelrbolqueparaestecasoeselnmero10.
ElresultadocompletodelrecorridoenPostordenparaelrboldelafigura72es:
37511151210Talcomosemuestraenlasiguientefigura73.
Figura73RecorridoenPostordendelrbolbinario.
SepuedeimplementarelrecorridoenPostordendeunrbolbinarioesatravsdeunafuncin
especficasparadichatarea.
voidpostorden(arbol*a)
{
if(a!=NULL){
postorden(a>izq)
postorden(a>der)
visitar(a)
}
}
Comoaplicacinalostresrecorridosdeunrbolbinariosepresentaelsiguienterbolbinariode
lafigura74,condatosdetipocarcterconelpropsitodeidentificarlosrecorridosesPreorden,
Inorden,Postorden.
Figura74rbolbinariocomoaplicacinalostresrecorridos
http://datateca.unad.edu.co/contenidos/301305/Contenido_en_linea/Modulo_3013052012_HTML/leccin_38__formas_de_recorrer_un_rbol_binario.html
3/4
21/8/2016
Leccin38Formasderecorrerunrbolbinario
Elresultadoquearrojaalrealizarlostresrecorridoseselsiguiente:
Preorden:PQSTRUWXVYZ
Inorden:SQTPWUXRYVZ
Postorden:STQPWXUYZVRP
Anterior|Siguiente
PorlaCalidadEducativaylaEquidadSocial
http://datateca.unad.edu.co/contenidos/301305/Contenido_en_linea/Modulo_3013052012_HTML/leccin_38__formas_de_recorrer_un_rbol_binario.html
4/4
21/8/2016
Indexamiento
6.Indexamiento
6.1Definicindendice(index)
Tomemoscomoanalogaelndicedeloslibros.
"Esunatablaquecontieneunalistadeelementos(llaves)ynmerosdereferencia
dondedichoselementosseencuentran(camposdereferencia)".
Qunospermiteunndice??
a)Imponerunordenenunarchivosintenerquereordenarlo
ArchivoIndiceenmemoria(indexfile)
KeyPosicin
Bell
k
Archivo
PosicinRegistro
1
Itaca|56|Chicago
Harris
Kellog|77|NewYork
Itaca
Harris|99|California
Kellog
Bell|32|Denver
b)Proveermltiplescaminosdeaccesoaunarchivo
ArchivoIndiceenmemoria(indexfile)
KeyPosicin
California
Chicago
Kellog|77|NewYork
Denver
Harris|99|California
NewYork
Archivo
PosicinRegistro
1
Itaca|56|Chicago
Bell|32|Denver
Indicesparabsquedas,noserequiereacceso
secuencialalosdatos
(Nonindexedsequentialaccess)
6.2Simpleindex
http://ict.udlap.mx/people/carlos/is215/ir06.html
1/10
21/8/2016
Indexamiento
Recordemosqueelobjetivoinicialparausarndiceserapoderhacerbsquedas
binariasenlosarchivosdemaneraqueencontrramosmsrpidamentelosregistros
deseados
Dichasbsquedasserealizanenbaseala"llaveprimaria"o"primarykey"que
identificademaneranicaanuestroregisto.Dichallavepuedeestarcompuestapor
varioscampos,comosemuestraenelejemplosiguiente.
ArchivoIndiceen
memoria(indexfile)
Key
Posicin
(Label+ID)
ANG3795
152
COL31809
338
COL38358
196
DG139201
382
DG18807
241
FF245
427
LON2312
17
MER75016
285
RCA2626
62
WAR23699
117
Archivo
Posicin
Registro(Label,ID,Title,Composer)
17
LON|2312|RomeondJuliet|Prokofiev
62
RCA|2626|QuartetinCSharpMinor|Beethoven
117 WAR|23699|Touchstone|Corea
152 ANG|3795|SymphonyNo.9|Beethoven
196 COL|38358|Nebraska|Springsteen
241 DG|18807|SymphonyNo.9|Beethoven
285 MER|75016|Coqd'OrSuite|RimskyKorsakov
338 COL|31809|SymphonyNo.9|Dvorak
382 DG|139201|VilinConcerto|Beethoven
427 FF|245|GoodNews|SweetHoneyintheRock
6.3Operacionesparaelmantenimientodeun
archivoindexado.
Asumiendoquetodoelndicecabeenmemoria
Crearlosarchivos
Algunavezdeberncrearseambosarchivos,elindexfileyeldatafile
Alprincipioestarnvacos
Cargarelndiceenmemoria
Leerlosregistrosdelarchivodedatos,crearelndiceenmemoriayordenarlo
bajoelcriteriodelallaveprimaria
Puedeexistirpreviamenteunarchivondice,enestecasohabraquecargarloen
memoriaysoloactualizarloconlosnuevosdatos
Reescribirelarchivondice(indexfile)dememoria
Bajarelndiceadiscoparausarloposteriormente
http://ict.udlap.mx/people/carlos/is215/ir06.html
2/10
21/8/2016
Indexamiento
Nota:debemosasegurarnosdequeestaoperacintengaalgunasmedidas
contradesastres
Comoseestdestruyendoelarchivondiceunasolucinseraponeruna
bandera,demodoquesielprocesonosecompleta,laprximavezsesabe
quequedopendienteesatareayhayqueejecutarladenuevo.
AgregarRegistros
Alinsertarunregistronuevorecordaragregarloenamboslados,elarchivode
datos(noimportaelorden)yenelndiceenmemoria(manteniendoordenadoel
ndice)
Nota:aquestamosasumiendoqueelndicepuedemanejarse"todo"en
memoria,posteriormentetrataremoselcasoenqueno.
EliminarRegistros
CompactacinyReutilizacindeEspacio
Aquipodramoshacerunamezcladeambos,losregistrosdedatosalestaren
discopodramosreutilizarlos(colocndolesunamarcayagregndolosalapilade
disponibles,seconocencomo"pinnedrecords"),peroelndicecomoesten
memoriapodemoscompactarlosinmayordificultad(usandomemoriadinmica)
ActualizarRegistros
Existen2posibilidades
Laactualizacincambiaelvalordela"llave":enestecasodebemosreordenarel
ndiceyquizs(debidoalcambiodetamao)moverelregistroenelarchivode
datos.Lamejoropcinseraeliminareinsertardenuevo.
LaactualizacinNOafectaelvalordela"llave":enestecasoslohabraquever
siesnecesarioreacomodarelarchivodedatosporelcambiodetamao,aqula
solucindeeliminareinsertaresopcionalperoenocasionesconveniente.
6.4Indicesenrelacinconsutamao
6.4.1IndicesDensoseIndicesEsparcidos
Cuandohablamosdendicespodemoshacerunadivisindeacuerdoalnmerode
elementosqueposeeenrelacinconelarchivodedatos
Demaneraquetenermos2categoras:
Indicesdensos:aquellosqueposeenunnmerodeelementosigualalderegistrosen
elarchivodedatos
Indicesesparcidos:aquellosquesonmsreducidosquesurespectivoarchivodedatos
Ventajas:
Indicedenso:poderencontrarcualquierregistrorpidamenteobiendeterminarsu
inexistencia,ademsdepoderaccesaralainfomacinenO(1).
Indiceesparcido:sutamaohacequepuedasermantenidoenmemoriaramsin
ningnproblema
Desventajas:
Indicedenso:sugrantamaoaunqueenrealidadnoestansignificanteydeahique
seanlosmsutilizados
http://ict.udlap.mx/people/carlos/is215/ir06.html
3/10
21/8/2016
Indexamiento
Indiceesparcido:porlogeneral,forzosamentetienequeaccesaralarchivooriginal
paradeterminarlaexistenciadealgunregistro,obienhaceralgunosaccesos
secuencialespararecuperarlo.
ArchivoIndicedenso
KeyPosicin
10
1
20
30
40
50
Archivo
PosicinRegistro
1
10|Itaca|Chicago
2
20|Kellog|NewYork
30|Harris|California
4 40|Williams|Portland
k
50|Bell|Denver
ArchivoIndiceesparcido
KeyPosicin
10
1
30
50
70
90
Archivo
PosicinRegistro
1
10|Itaca|Chicago
2
20|Kellog|NewYork
30|Harris|California
4 40|Williams|Portland
k
50|Bell|32|Denver
6.4.2Indicesquesondemasiadograndesparaprocesarseen
memoria
Loquesehamencionadohastaelmomento,ydesafortunadamentemuchasdelas
ventajasquepresentaesqueestamosasumiendoqueelndicetieneunciertotamao
quepuedeseralmacenadoyprocesadoenmemoriaRAM.Encasodequesucedalo
contrarioloquesedebehaceresprocesardirectamenteelndiceendisco
(almacenamientosecundario)locualpresentaciertasdesventajas:
BsquedaBinariaendiscorequieremuchos"seeks",locualhacequeel
procedimientoseamslento
Elreacomodamientodelosndices(poralgunadelasoperacionesde
mantenimiento)requiereelrecorreruordenarciertosregistros,estoesmillones
devecesmslentoquehacerloenmemoriaprimaria.
http://ict.udlap.mx/people/carlos/is215/ir06.html
4/10
21/8/2016
Indexamiento
Soluciones:
UnaorganizacinbasadaenHash,silavelocidadesprioridad
Unaestructuraderbol,ndicesmultinivel,ejBTree,paramejorarelaccesoy
elreacomodamiento.
Importante:
Elhechodequeexistanestasdesventajasnoquieredecirquenoseuseestemtodo,
enrealidadpresentaventajas:
Elposibleusarunndicesimple(cuyalongitudgeneralmenteesfija)para
encontrarregistrosdelongitudvariable
Ancuandosepuedentenermuchoselementosenelndice,steesms
pequeoqueprocesarelarchivodedatos.
Reutilizarelespacioconlos"pinnedrecords"
6.5MltiplesLlaves
6.5.1IndexadoparaaccesoporMltiplesllaves
Enelejemplo6.2indexamoslosregistrosporsuLabelysuID,peroenlaprctica
nicamentenosinteresarabsquedasporestasllaves??
No,eslgicopensarenbsquedasporotroscampos,porejemplotodoslosregistros
cuyoautorsea"Beethoven"obientodaslascancionescuyottulosea"SymphonyNo.
9",demodoquepudieramosobteneralgunareferencia(primarykey)haciatodoslos
registrosquecumplanconnuestrocriteriodebsqueda.
Demaneraqueloprimeroquesenosvienealamenteescrearotros"ndices"basados
enestoscamposquesondeinters,aestoscamposselesconocecomo"llaves
secundarias"o"secondarykeys".
Unadiferenciadeestosndicesdellavessecundariasesquedebemosobtenerprimero
lallaveprimariaparaentoncespoderrecuperarlaposicin(ubicacin)dedicho
registro,aestoseleconocecomo"entrysequenced".
Pensemosenunregistrodeunalicenciademanejo,llegamosahacernuestroexamen
ynospidennuestronombre,nosbuscanyobtienenelnmerodelicenciaygraciasa
stesepuedenrecuperartodoslosdemsdatosyaplicarelexamencorrespondiente.
SecondaryIndex(composer)Primary
Key
BEETHOVEN ANG3795
BEETHOVEN
DG139201
BEETHOVEN
DG18807
BEETHOVEN
RCA2626
COREA
WAR23699
http://ict.udlap.mx/people/carlos/is215/ir06.html
SecondaryIndex(title)Primary
key
CODD'ORSUITE
MER75016
GOODNEWS
FF245
NEBRASKA
COL38358
QUARTETINSHARP
5/10
21/8/2016
Indexamiento
RCA2626
DVORAK
COL31809
PROKOFIEV
LON2312
ROMEOANDJULIET
LON2312
RIMSKY
KORSAKOV
MER75016
SYMPHONYNO.9
ANG3795
SYMPHONYNO.9
COL31809
SYMPHONYNO.9
DG18807
TOUSHSTONE
WAR23699
VIOLINCONCERTO
DG139201
SPRINGSTEEN COL38358
SWEET
HONEYINT
FF245
Esclaronotarqueasimplevistaresultaramejortenerdirectamentelaposicindel
registroenlugardelprimarykey,peroanalizandolasoperacionesrelacionadascon
dichosarchivosdescubriremoselmotivo.
AgregacindeRegistros
Cuandoseinsertaunregistronuevoelprocesoesmuysimilaraldeagregarel
ndiceprimario,sedebehacerunreordenamientodelosregistros,sistoscaben
enmemoriaestoncesnohaymuchoproblemayseharrpidamente.
Esimportartenotarquelasllavessecundariassealmacenanenforma"cannica",
esdecir:
Enmaysculasparafacilitarlasbsquedasycomparaciones
Conlongitudfijayquizsdeuntamaomuchomenorqueladelcampo,de
maneraquealgunosdatosse"truncan"
Otracaractersticaimportanteesqueaquelndicesecundariopuedecontener
duplicados(adiferenciadelprimarykeydondecadallaveidentificademanera
nicaelregistro).Estosduplicadossecolocanjuntosamaneradegrupoyse
ordendeacuerdoalprimarykey.
EliminacindeRegistros
Aqutienesentidoelnousarlaposicinrealdelregistroenelndicesecundarioy
ensulugarusarlallaveprimaria.
Situvieramosentodoslosndiceslasposicionesentoncesaleliminartendramos
queactualizartodosesosarchivos(ndicessecundarios)locualconsumira
demasiadotiempo,perodeotraformatendramosreferenciasaregistrosqueya
noexistenobienyasonreutilizadosycontienenotrainformacin.
Teniendolareferenciaalprimarykeylonicoquedebemoshacereseliminarel
registrodelarchivodedatosyeliminarlodelndiceprimario.Aqupodemosver
quelaventajaesquenoseafectantantosarchivosycuandonecesitamoshacer
unabsquedasolo"validamos"sielregistrosigueexistiendoono,locualesms
rpido.
Esconvenienteenmuchoscasosrealizarunacompactacinperidicadetodoslos
archivosparaaprovecharelespacio"basura"quesegeneraenlosarchivos
ndice.
ActualizacindeRegistros
Nuevamenteelhechodenoutilizarlaposicindelregistroencadaunodelos
ndicesnosevitaeltenerqueactualizarmuchosarchivoscuandoenrealidadsolo
tenemosqueactualizarelndiceprimario.
Peroexisten3posibilidadesdecambios:
http://ict.udlap.mx/people/carlos/is215/ir06.html
6/10
21/8/2016
Indexamiento
Actualizaralgunallavesecundaria:entoncesdebemosreordenar
nicamenteelndicesecundario.
Actualizarlallaveprimaria:debemosactualizarelndiceprimarioycambiar
lasreferenciasquetenamosdesdelosndicessecundarios(tenercuidado
queparaestoltimosepuederequerirreordenar,debidoalosregistros
duplicadosquecambiarandeorden)
Actualizarotroscampos:nicamenteactualizarelarchivodedatos,esto
puedeconvertirseenunaaccindeeliminareinsertar.
6.5.2Recuperacinusandocombinacionesdellavessecundarias
Porlogeneralloquesenecesitaes"restringir"o"delimitar"lasbsquedas,demanera
queutilizamosvarioscriteriosparadefinirloqueestamosbuscando.
Estonoesnadanuevo,lohemosusadoenbuscadorestradicionales"udlaand
biblioteca",soloqueaquestamosdefiniendoqubuscarenqullavesecundaria:
"universidad=udlaanddepartamento=biblioteca".
Paraelejemploqueestamospresentandoseraalgocomo:
Encuentratodoslosdatosdelosregistroscon:
composer='BEETHOVEN'andtitle='SYMPHONYNO.9'.
Buscandoenelndicesecundariopor"composer"obtenemos:
ANG3795
DG139201
DG18807
RCA2626
Ydelndicesecundariopor"title":
ANG3795
COL31809
DG18807
demaneraque:
Composer
ANG3795
DG139201
DG18807
RCA2626
Title
ANG3795
COL31809
DG18807
Match
ANG3795
DG18807
BuscandoelMatchenelndiceprimario:
http://ict.udlap.mx/people/carlos/is215/ir06.html
7/10
21/8/2016
Indexamiento
ANG3795nosdalaposicin:152
ANG|3795|SymphonyNo.9|Beethoven
DG18807nosdalaposicin:241
DG|18807|SymphonyNo.9|Beethoven
6.6ArchivosInvertidos(ListasInvertidas)
Losndicessecundariosquehemosmanejadohastaelmomentopresentanalgunas
dificultades:
Tenemosquereorganizarelarchivondicecadavezqueunnuevoregistroes
agregado.
Siexistenllavessecundariasduplicadas,elcampodedichallaveserepitemuchas
vecesydesperdiciamosespacio(unosdelosmotivosporelcualnoesposible
almacenarloenmemoria).
Algunasolucinquehasurgido
Colocarunarreglodendicesdentrodelmismoregistro
BEETHOVEN
ANG3795DG139201DG18807RCA2626
COREA
WAR23699
DVORAK
COL31809
PROKOFIEV
LON2312
RIMSKYKORSAKOV
MER75016
SPRINGSTEEN
COL38558
SWEETHONEYINT
FF245
Lasventajasdeesteesquema,oloqueseesperadel:
Norequierereordenarelarchivocuandohaynuevoselementosoaleliminarlos
Permitirmuchasreferencias(llavesprimarias)asociadasacadallavesecundaria
(nonicamente4)
Eliminaeldesperdiciodeespaciodebidoafragmentaciones.
Elplanteamientoanteriorsuenamuybien,pero....comoseimplementara??
Elproblema:
NopodemostenerunregistroinfinitoquenospermitaalmacenarNnmerode
referencias.
Nuevamentelasestructurasdedatosvanasolucionaresteproblema.
Utilizaremosalgoqueseconocecomo"listasinvertidas"o"archivosinvertidos",las
cualessonlistasligadasquenospermitenagregaroeliminarreferencias.
Eltrminode"invertida"nicamenteserefierealprocedimientoquetenemosque
http://ict.udlap.mx/people/carlos/is215/ir06.html
8/10
21/8/2016
Indexamiento
seguirporqueprimerobuscamosenelndicesecundarioyposteriormentelaprimaria.
>
ANG3795
DG139201
DG18807
RCA2626
BEETHOVEN>
DVORAK>
>
WAR23699
PROKOFIEV>
>
COREA>
COL31809
>
LON2312
XXX99999
Yaimplementadosera:
SecondaryIndexfile
BEETHOVEN
3
COREA
DVORAK
PROKOFIEV
10
RIMSKYKORSAKOV 6
SPRINGSTEEN
SWEETHONEIN
TH
LabelIDListfile
0 LON2312
1
1
RCA2626
WAR23699
ANG3795
COL38358
DG18807
MER75016
COL31809
DG139201
FF245
10 ANG36193
Losarchivosinvertidostienenalgunasventajas:
Elnicoreacomodamientonecesarioenelndicesecundarioescuando
agregamosnuevasllavessecundarias
Enelcasodereacomodarelndicesecundariolatareaesmenorymuchoms
rpidadebidoaquetienemenosregistros
Debidoaqueahoratenemosmenoselementosqueordenar,elhechodequeel
ndiceseguardeendiscoynoenmemorianotienetrascendencia.
Lalistaligada(enelejemploLabelIDListfile)nuncarequiereordenarse,es
"entrysequenced"
http://ict.udlap.mx/people/carlos/is215/ir06.html
9/10
21/8/2016
Indexamiento
Elespacioendichalistaligadasepuedereutilizarfcilmentepuestoquelos
registrossondelongitudfija.
http://ict.udlap.mx/people/carlos/is215/ir06.html
10/10
21/8/2016
ict.udlap.mx/people/carlos/is215/ir04.html
4.Operacionesfundamentalesde
ProcesamientodeArchivos
4.1TiposdeArchivosporsulocalizacin
PhysicalFile:Coleccindebytesalmacenadosenundiscoocinta
LogicalFile:Un"canal"(comounalneatelefnica)queencapsulalosdetalles
acercadelalocalizacinyformatofsicodeunarchivo
Cuandounarchivodeseautilizarunarchivoparticularej."data",elsistemaoperativo
debebuscarelarchivofsico"data"yhacerelsupuestoenlacehaciaelasignndoleun
archivolgico.Estearchivolgicotieneunnombrelgico.
4.2TiposdeArchivosporsucontenido(Binariosy
deTexto)
Unarchivosedicequeesdetipotextositodosucontenidoestalmacenadoenforma
decadenasdecaracteres.
ej:"cadenadetexto12345"
Unarchivobinarioporsuparteguardalarepresentacinenbytesdeltipodedatosque
seestmanejando
ej:"cadenadetextocf"
4.3AbriendoyCerrandoArchivos
AbriendoArchivos
Unavezquesehaentabladoelenlaceconelarchivoesnecesariodeclararloque
intentamoshacerconel:
Abrirunarchivoexistente
Crearunarchivonuevo
Estohacequeelarchivoestelistoparausarseporelprograma
Estamosposicionadosalprincipiodelarchivo,listosparaleeroescribir
fd=open(filename,flags[,pmode])
fd=filedescriptor
filename=physicalfilename
http://ict.udlap.mx/people/carlos/is215/ir04.html
1/8
21/8/2016
ict.udlap.mx/people/carlos/is215/ir04.html
flags=O_APPEND,O_CREAT,O_EXCL,O_RDOINLY,O_RDWR,O_TRUNC,
O_WRONLY
pmode=rwe(Owner)rwe(Group)rwe(Others)
Cerrandoarchivos
Ponecomodisponibleelnombrelgicoempleadoparaestearchivo
Seaseguradequetodoslosdatosmandadosalarchivosehayanguardado,
incluyendoaquellosqueanestabanenlosbufferdememoria
Elsistemaoperativoseencargaderealizarestaoperacin,amenosqueel
programatengaunasalidaanormal.
fclose(fd)
4.4Modosdeaccesoaunarchivo
Secuencial
Existeunapuntadorqueindicalaposicinactualaleeroescribir
Seabreelarchivoysevaleyendo/escribiendosecuencialmente,deinicioafin
AleatoriooDirecto
Existeunapuntadorqueindicalaposicinactualaleeroescribir
Esteapuntadoresmvil,sepuededesplazaracualquierposicindelarchivo
(adelanteoatrs)
Seabreelarchivoysepuedeleer/escribirencualquierposicin
4.5Operacionescomunesalempleararchivos
Lectura
Dedndevamosaleer(archivodeentrada)
Dndevamosaguardarloqueleemos(variablesoatributos)
Cuntovamosvamosaleer(bytecount)
Escritura
Dndevamosaescribir(archivodesalida)
Quvamosaguardar(variablesoatributos)
Cuntosbytesvamosaescribir
Seeking
Unprogramanonecesariamentetienequeleersecuencialmentepuede"brincar"
alocalizacionesespecficasdelarchivo(archivosdeaccesoaleatorio)
Aestaoperacinseleconocecomo"seeking"
Alnmerodeposicionesquesemueveelapuntadorseleconocecomo"offset"
http://ict.udlap.mx/people/carlos/is215/ir04.html
2/8
21/8/2016
ict.udlap.mx/people/carlos/is215/ir04.html
4.6Streams
Stream(streamofwater)
Esunasecuenciaordenadadebytesdeunalongitudsindeterminacin.
Existen2tiposdestreams
Inputstreams:muevenbytesdedatoshaciaalgnprogramadesdealgunafuente
(generalmenteexterna)
Outputstreams:muevenbytesdedatosdesdealgnprogramahaciaundestino
externo.
Nota:loanteriornoesunareglapuedehaberstreamsquetrabajencondatos
haciaydesdeprogramas.
Estosstreamsestnrelacionadosconlosdispositivosdeentradaysalidaquese
mencionanacontinuacinytambiensepuedenredireccionardesdelosmismos
programas
EjemplodesdeJava:System.setErr(PrintStreamerr),System.setIn(InputStreamin)
DispositivosdeI/O
Stdin,Stdout,Stderr
(0)Stdin:dispositivoestndardeentrada(teclado)
(1)Stdout:dispositivoestndardesalida(consola)
(2)Stderr:dispositivoestndardeerror(denuevolaconsola)
Redireccionamiento:
1>filename
#Redirectstdouttofile"filename".
1>>filename
#Redirectandappendstdouttofile"filename".
2>filename
#Redirectstderrtofile"filename".
2>>filename
#Redirectandappendstderrtofile"filename".
&>filename
#Redirectbothstdoutandstderrtofile"filename".
2>&1
#Redirectsstderrtostdout.
#Errormessagesgetsenttosameplaceasstandardoutput.
0<FILENAME
<FILENAME
#Acceptinputfromafile.
http://ict.udlap.mx/people/carlos/is215/ir04.html
3/8
21/8/2016
ict.udlap.mx/people/carlos/is215/ir04.html
4.7I/OApisenloslenguajesdeprogramacin
4.7.1Java
EnJavalasclasesdeI/Osedividenen2gruposdependiendosimanejanbytesochars
(elanlogoseranlosarchivosbinariosydetextoenotroslenguajes)
CharacterStreams
ByteStreams
http://ict.udlap.mx/people/carlos/is215/ir04.html
4/8
21/8/2016
ict.udlap.mx/people/carlos/is215/ir04.html
Mtodosdelassuperclases:
Entrada
Reader
intread()
intread(charcbuf[])
intread(charcbuf[],intoffset,intlength)
InputStream
intread()
intread(bytecbuf[])
intread(bytecbuf[],intoffset,intlength)
Salida
Writer
intwrite(intc)
intwrite(charcbuf[])
intwrite(charcbuf[],intoffset,intlength)
OutputStream
intwrite(intc)
intwrite(bytecbuf[])
intwrite(bytecbuf[],intoffset,intlength)
I/OStreams
TypeofI/O
Streams
CharArrayReader
CharArrayWriter
ByteArrayInputStream
ByteArrayOutputStream
Memory
StringReader
StringWriter
StringBufferInputStream
Description
Usethesestreamstoreadfromandwritetomemory.You
createthesestreamsonanexistingarrayandthenuse
thereadandwritemethodstoreadfromorwritetothe
array.
UseStringReadertoreadcharactersfromaStringin
memory.UseStringWritertowritetoaString.
StringWritercollectsthecharacterswrittentoitina
StringBuffer,whichcanthenbeconvertedtoaString.
StringBufferInputStreamissimilartoStringReader,except
thatitreadsbytesfromaStringBuffer.
PipedReader
Pipe
PipedWriter
PipedInputStream
PipedOutputStream
FileReader
File
FileWriter
Implementtheinputandoutputcomponentsofapipe.
Pipesareusedtochanneltheoutputfromonethreadinto
theinputofanother.
Collectivelycalledfilestreams,thesestreamsareusedto
readfromorwritetoafileonthenativefilesystem.The
section
FileInputStream
FileOutputStream
http://ict.udlap.mx/people/carlos/is215/ir04.html
5/8
21/8/2016
ict.udlap.mx/people/carlos/is215/ir04.html
Concatenation N/A
SequenceInputStream
Object
Serialization
Concatenatesmultipleinputstreamsintooneinput
stream.Thesection
N/A
ObjectInputStream
Usedtoserializeobjects.
....implementsjava.io.Serializable
ObjectOutputStream
Readorwriteprimitivedatatypesinamachine
independentformat..
DataInputStream
readFully(byte[]b)
readFloat()
readDouble()
readInt()
Data
Conversion
N/A
DataInputStream
DataOutputStream
DataOutputStream
writeChars(Strings)
writeFloat(floatv)
writeDouble(doublev)
writeInt(intv)
Counting
LineNumberReader
LineNumberInputStream
Peeking
Ahead
PushbackReader
PushbackInputStream
Printing
PrintWriter
PrintStream
BufferedReader
Buffering
BufferedWriter
BufferedInputStream
BufferedOutputStream
Keepstrackoflinenumberswhilereading.
Theseinputstreamseachhaveapushbackbuffer.When
readingdatafromastream,itissometimesusefultopeek
atthenextfewbytesorcharactersinthestreamto
decidewhattodonext.
Containconvenientprintingmethods.Thesearethe
easieststreamstowriteto,soyouwilloftenseeother
writablestreamswrappedinoneofthese.
Bufferdatawhilereadingorwriting,therebyreducingthe
numberofaccessesrequiredontheoriginaldatasource.
Bufferedstreamsaretypicallymoreefficientthansimilar
nonbufferedstreamsandareoftenusedwithother
streams.
FilterReader
Filtering
FilterWriter
http://ict.udlap.mx/people/carlos/is215/ir04.html
Theseabstractclassesdefinetheinterfaceforfilter
streams,whichfilterdataasit'sbeingreadorwritten.
6/8
21/8/2016
ict.udlap.mx/people/carlos/is215/ir04.html
FilterInputStream
FilterOutputStream
Converting
InputStreamReader
betweenBytes
and
OutputStreamWriter
Characters
Areaderandwriterpairthatformsthebridgebetween
bytestreamsandcharacterstreams.
AnInputStreamReaderreadsbytesfromanInputStreamand
convertsthemtocharacters,usingthedefaultcharacter
encodingoracharacterencodingspecifiedbyname.
AnOutputStreamWriterconvertscharacterstobytes,using
thedefaultcharacterencodingoracharacterencoding
specifiedbynameandthenwritesthosebytestoan
OutputStream.
Youcangetthenameofthedefaultcharacterencoding
bycallingSystem.getProperty("file.encoding").
EsimportanterevisarelAPIdeJava,ascomoeltutorialdeI/O
http://java.sun.com/j2se/1.4.1/docs/api/
http://java.sun.com/docs/books/tutorial/essential/io/index.html
4.7.2C#
Class
Stream
FileStream
MemoryStream
BufferedStream
TextReader
StreamReader
StringReader
http://ict.udlap.mx/people/carlos/is215/ir04.html
Description
TheabstractbaseclassStreamsupportsreadingand
writingbytes.
InadditiontobasicStreambehavior,thisclass
supportsrandomaccesstofilesthroughitsSeek
methodandsupportsbothsynchronousand
asynchronousoperation.
Anonbufferedstreamwhoseencapsulateddatais
directlyaccessibleinmemory.Thisstreamhasno
backingstoreandmightbeusefulasatemporary
buffer.
AStreamthataddsbufferingtoanotherStream,such
asaNetworkStream.(FileStreamalreadyhas
bufferinginternally,andaMemoryStreamdoesn't
needbuffering.)ABufferedStreamobjectcanbe
composedaroundsometypesofstreamstoimprove
readandwriteperformance.
TheabstractbaseclassforStreamReaderand
StringReaderobjects.Whiletheimplementationsof
theabstractStreamclassaredesignedforbyteinput
andoutput,theimplementationsofTextReaderare
designedforUnicodecharacteroutput.
ReadscharactersfromaStream,usingEncodingto
convertcharacterstoandfrombytes.
ReadscharactersfromaString.StringReaderallows
youtotreataStringwiththesameAPIthus,your
7/8
21/8/2016
ict.udlap.mx/people/carlos/is215/ir04.html
TextWriter
StreamWriter
StringWriter
BinaryReader
BinaryWriter
outputcanbeeitheraStreaminanyencodingora
String.
TheabstractbaseclassforStreamWriterand
StringWriterobjects.Whiletheimplementationsof
theabstractStreamclassaredesignedforbyteinput
andoutput,theimplementationsofTextWriterare
designedforUnicodecharacterinput.
WritescharacterstoaStream,usingEncodingto
convertcharacterstobytes.
WritescharacterstoaString.StringWriterallowsyou
totreataStringwiththesameAPIthus,youroutput
canbeeitheraStreaminanyencodingoraString.
Readsbinarydatafromastream.
Writesbinarydatatoastream.
C#API
ClassBrowser
4.7.3C/C++
ParaelcasodeC/C++serecomiendaleerlossiguientesdocumentos:
CaptulodeAccesoaArchivosenC
CaptulodeAccesoaArchivosenC++
Estoscaptuloscontomadosdellibro:C++thecompleteReference,HerbertSchildt,
EditorialOsborne
Otrabuenareferencia:C++asualcance,unenfoqueorientadoaobjetos,LuisJoyanes
Aguilar
Apisonline:
CPPReference(C/C++)
CPlusPlusResources
4.7.4Ejemplos
ArchivoZIP
http://ict.udlap.mx/people/carlos/is215/ir04.html
8/8
1 Funcionamiento de un SIG
Un sistema de informacin geogrca (tambin conocido con los acrnimos SIG en espaol o GIS en ingls)
es un conjunto de herramientas que integra y relaciona diversos componentes (usuarios, hardware, software,
procesos) que permiten la organizacin, almacenamiento, manipulacin, anlisis y modelizacin de grandes cantidades de datos procedentes del mundo real que estn
vinculados a una referencia espacial, facilitando la incorporacin de aspectos sociales-culturales, econmicos y
ambientales que conducen a la toma de decisiones de una
manera ms ecaz.
HISTORIA DE SU DESARROLLO
Por ser tan verstiles, el campo de aplicacin de los sistemas de informacin geogrca es muy amplio, pudiendo
utilizarse en la mayora de las actividades con un componente espacial. La profunda revolucin que han provocado las nuevas tecnologas ha incidido de manera decisiva
en su evolucin.
Historia de su desarrollo
3
dcada de los 90 llegando a ser la base de datos sobre recursos del territorio ms grande de Canad. Fue desarrollado como un sistema basado en una computadora central y su fortaleza radicaba en que permita realizar anlisis complejos de conjuntos de datos que abarcaban todo
el continente. El software, decano de los sistemas de informacin geogrca, nunca estuvo disponible de manera
comercial.
En 1964, Howard T. Fisher form en la Universidad de
Harvard el Laboratorio de Computacin Grca y Anlisis Espacial en la Harvard Graduate School of Design
(LCGSA 1965-1991), donde se desarrollaron una serie
de importantes conceptos tericos en el manejo de datos
espaciales, y en la dcada de 1970 haba difundido cdigo
de software y sistemas germinales, tales como SYMAP,
GRID y ODYSSEY - los cuales sirvieron como fuentes
de inspiracin conceptual para su posterior desarrollos
comerciales - a universidades, centros de investigacin y
empresas de todo el mundo.[8]
En la dcada de los 80, M&S Computing (ms tarde Intergraph), Environmental Systems Research Institute (ESRI) y CARIS (Computer Aided Resource Informa- 3
tion System) emergeran como proveedores comerciales
de software SIG. Incorporaron con xito muchas de las
caractersticas de CGIS, combinando el enfoque de primera generacin de sistemas de informacin geogrca 3.1
relativo a la separacin de la informacin espacial y los
atributos de los elementos geogrcos representados con
un enfoque de segunda generacin que organiza y estructura estos atributos en bases de datos.
En la dcada de los aos 70 y principios de los 80 se inici en paralelo el desarrollo de dos sistemas de dominio
pblico. El proyecto Map Overlay and Statistical System
(MOSS) se inici en 1977 en Fort Collins (Colorado, EE.
UU.) bajo los auspicios de la Western Energy and Land
Use Team (WELUT) y el Servicio de Pesca y Vida Silvestre de Estados Unidos (US Fish and Wildlife Service). En
1982 el Cuerpo de Ingenieros del Laboratorio de Investigacin de Ingeniera de la Construccin del Ejrcito de los
Estados Unidos (USA-CERL) desarrolla GRASS como
herramienta para la supervisin y gestin medioambiental
de los territorios bajo administracin del Departamento La teledeteccin es una de las principales fuentes de datos para
los SIG. En la imagen artstica una representacin de la constede Defensa.
lacin de satlites RapidEye.
3.2
Los datos SIG representan los objetos del mundo real (carreteras, el uso del suelo, altitudes). Los objetos del mundo real se pueden dividir en dos abstracciones: objetos
discretos (una casa) y continuos (cantidad de lluvia cada, una elevacin). Existen dos formas de almacenar los
datos en un SIG: raster y vectorial.
Representacin de curvas de nivel sobre una supercie tridimensional generada por una red irregular de triangulos TIN.
3.3
5
ferrocarriles, rastros, lneas topogrcas o curvas de nivel. De igual forma que en las entidades puntuales, en pequeas escalas pueden ser
utilizados para representar polgonos. En los
elementos lineales puede medirse la distancia.
Polgonos
Los polgonos bidimensionales se utilizan para
representar elementos geogrcos que cubren
un rea particular de la supercie de la tierra.
Estas entidades pueden representar lagos, lmites de parques naturales, edicios, provincias,
o los usos del suelo, por ejemplo. Los polgonos
transmiten la mayor cantidad de informacin
en archivos con datos vectoriales y en ellos se
pueden medir el permetro y el rea.
Los datos no espaciales tambin pueden ser almacenados junto con los datos espaciales, aquellos representaPara modelar digitalmente las entidades del mundo real dos por las coordenadas de la geometra de un vector o
se utilizan tres elementos geomtricos: el punto, la lnea por la posicin de una celda raster. En los datos vectoriales, los datos adicionales contiene atributos de la entidad
y el polgono.[9]
geogrca. Por ejemplo, un polgono de un inventario forestal tambin puede tener un valor que funcione como
Puntos
identicador e informacin sobre especies de rboles. En
los datos raster el valor de la celda puede almacenar la
Los puntos se utilizan para las entidades geoinformacin de atributo, pero tambin puede ser utilizagrcas que mejor pueden ser expresadas por
do como un identicador referido a los registros de una
un nico punto de referencia. En otras palatabla.
bras: la simple ubicacin. Por ejemplo, las localizaciones de los pozos, picos de elevaciones o
3.5 La captura de los datos
puntos de inters. Los puntos transmiten la menor cantidad de informacin de estos tipos de
La captura de datos, y la introduccin de informacin en
archivo y no son posibles las mediciones. Tamel sistema consume la mayor parte del tiempo de los probin se pueden utilizar para representar zonas a
fesionales de los SIG. Hay una amplia variedad de mtouna escala pequea. Por ejemplo, las ciudades
dos utilizados para introducir datos en un SIG almacenaen un mapa del mundo estarn representadas
dos en un formato digital.
por puntos en lugar de polgonos.
Lneas o polilneas
Las lneas unidimensionales o polilneas[10] son
usadas para rasgos lineales como ros, caminos,
Dangles
Switchbacks
Knots
Con un par de fotografas areas tomadas en dos puntos
desplazados, como las de la imagen, se consigue realizar la
estereoscopa. Mediante este paralaje se crea una ilusin de profundidad que permite al observador reconocer informacin visual tridimensional como las elevaciones y pendientes del rea
fotograada.
Loops
Overshoots
Undershoots
Los sensores remotos tambin juegan un papel importante en la recoleccin de datos. Son sensores, como cmaras, escneres o LIDAR acoplados a plataformas mviles
como aviones o satlites.
Actualmente, la mayora de datos digitales provienen de
la interpretacin de fotografas areas. Para ello se utiSlivers
lizan estaciones de trabajo que digitalizan directamente
elementos geogrcos a travs de pares estereoscpicos
de fotografas digitales. Estos sistemas permiten capturar
datos en dos y tres dimensiones, con elevaciones medidas
directamente de un par estereoscpico de acuerdo a los
Errores topolgicos y de digitalizacin en los sistemas de inforprincipios de la fotogrametra.
La teleobservacin por satlite proporciona otra fuente
importante de datos espaciales. En este caso los satlites
utilizan diferentes sensores para medir la reectancia de
las partes del espectro electromagntico, o las ondas de
radio que se envan a partir de un sensor activo como el
radar. La teledeteccin recopila datos raster que pueden
ser procesados usando diferentes bandas para determinar
las clases y objetos de inters, tales como las diferentes
cubiertas de la tierra.
3.8
normalmente requerirn de una edicin o procesado posterior para eliminar los errores citados. Se deber de hacer una correccin topolgica antes de que puedan ser
utilizados en algunos anlisis avanzados y, as por ejemplo, en una red de carreteras las lneas debern estar conectadas con nodos en las intersecciones.
En el caso de mapas escaneados, quizs sea necesario eliminar la trama resultante generada por el proceso de digitalizacin del mapa original. As, por ejemplo, una mancha de suciedad podra unir dos lneas que no deberan
estar conectadas.
3.6
7
System 1989 - ETRS89 funciona bien en Europa pero
no en Amrica del Norte).
La proyeccin es un componente fundamental a la hora de crear un mapa. Una proyeccin matemtica es la
manera de transferir informacin desde un modelo de la
Tierra, el cual representa una supercie curva en tres dimensiones, a otro de dos dimensiones como es el papel
o la pantalla de un ordenador. Para ello se utilizan diferentes proyecciones cartogrcas segn el tipo de mapa
que se desea crear, ya que existen determinadas proyecciones que se adaptan mejor a unos usos concretos que
a otros. Por ejemplo, una proyeccin que representa con
exactitud la forma de los continentes distorsiona, por el
contrario, sus tamaos relativos.
Dado que gran parte de la informacin en un SIG proviene de cartografa ya existente, un sistema de informacin geogrca utiliza la potencia de procesamiento de
la computadora para transformar la informacin digital,
obtenida de fuentes con diferentes proyecciones y/o diferentes sistemas de coordenadas, a una proyeccin y sistema de coordenadas comn. En el caso de las imgenes
(ortofotos, imgenes de satlite, etc.) este proceso se deLa vectorizacin no asistida de imgenes raster mediante nomina recticacin.
algoritmos avanzados es una tcnica que se viene desarrollado desde nales de los aos 60 del siglo XX. Para ello se
recurre a la mejora del contraste, imgenes en falso color 3.8 Anlisis espacial mediante SIG
as como el diseo de ltros mediante la implementacin
de transformadas de Fourier en dos dimensiones.
Los SIG pueden llevar a cabo una reestructuracin de
los datos para transformarlos en diferentes formatos. Por
ejemplo, es posible convertir una imagen de satlite a un
mapa de elementos vectoriales mediante la generacin de
lneas en torno a celdas con una misma clasicacin determinando la relacin espacial de estas, tales como proximidad o inclusin.
3.7
Antes de analizar los datos en el SIG la cartografa debe estar toda ella en una misma proyeccin y sistemas
de coordenadas. Para ello muchas veces es necesario
reproyectar las capas de informacin antes de integrarlas
en el sistema de informacin geogrca.
La Tierra puede estar representada cartogrcamente por
varios modelos matemticos, cada uno de los cuales pueden proporcionar un conjunto diferente de coordenadas
(por ejemplo, latitud, longitud, altitud) para cualquier
punto dado de su supercie. El modelo ms simple es asumir que la Tierra es una esfera perfecta. A medida que
se han ido acumulando ms mediciones del planeta los
modelos del geoide se han vuelto ms sosticados y ms
precisos. De hecho, algunos de estos se aplican a diferentes regiones de la Tierra para proporcionar una mayor
precisin (por ejemplo, el European Terrestrial Reference
8
3.8.1
3.9 Redes
Un SIG destinado al clculo de rutas ptimas para servicios de emergencias es capaz de determinar el camino
Desde la elaboracin del mapa del Metro de Londres estos se
ms corto entre dos puntos teniendo en cuenta tanto
han convertido en el paradigma de los mapas topolgicos para
ilustrar una red. En la imagen el plano de metro de la red de direcciones y sentidos de circulacin como direcciones
prohibidas, etc. evitando reas impracticables. Un SIG
Madrid.
para la gerencia de una red de abastecimiento de aguas
sera capaz de determinar, por ejemplo, a cuantos abonados afectara el corte del servicio en un determinado
Un SIG puede reconocer y analizar las relaciones espaciapunto de la red.
les que existen en la informacin geogrca almacenada.
Estas relaciones topolgicas permiten realizar modeliza- Un sistema de informacin geogrca puede simular uciones y anlisis espaciales complejos. As, por ejemplo, jos a lo largo de una red lineal. Valores como la pendiente,
el SIG puede discernir la parcela o parcelas catastrales el lmite de velocidad, niveles de servicio, etc. pueden ser
que son atravesadas por una lnea de alta tensin, o bien incorporados al modelo con el n de obtener una mayor
saber qu agrupacin de lneas forman una determinada precisin. El uso de SIG para el modelado de redes suele
ser comnmente empleado en la planicacin del transcarretera.
porte, hidrolgica o la gestin de infraestructura lineales.
En suma podemos decir que en el mbito de los sistemas de informacin geogrca se entiende como topologa a las relaciones espaciales entre los diferentes ele- 3.10 Superposicin de mapas
mentos grcos (topologa de nodo/punto, topologa de
red/arco/lnea, topologa de polgono) y su posicin en el La combinacin de varios conjuntos de datos espaciales
mapa (proximidad, inclusin, conectividad y vecindad). (puntos, lneas o polgonos) puede crear otro nuevo conEstas relaciones, que para el ser humano pueden ser ob- junto de datos vectoriales. Visualmente sera similar al
vias a simple vista, el software las debe establecer me- apilamiento de varios mapas de una misma regin. Estas
diante un lenguaje y unas reglas de geometra matemti- superposiciones son similares a las superposiciones maca.
temticas del diagrama de Venn. Una unin de capas suPara llevar a cabo anlisis en los que es necesario que
exista consistencia topolgica de los elementos de la base
de datos suele ser necesario realizar previamente una validacin y correccin topolgica de la informacin grca.
Para ello existen herramientas en los SIG que facilitan la
recticacin de errores comunes de manera automtica o
semiautomtica.
3.13
Geocodicacin
1:10.000
Tanto la cartografa digital como los sistemas de informacin geogrca codican relaciones espaciales en representaciones formales estructuradas. Los SIG son usados
en la creacin de cartografa digital como herramientas
que permiten realizar un proceso automatizado o semiautomatizado de elaboracin de mapas denominado cartografa automatizada.
En la prctica esto sera un subconjunto de los SIG que
equivaldra a la fase de composicin nal del mapa, dado
que en la mayora de los casos no todos los software de
sistemas de informacin geogrca poseen esta funcionalidad.
Cuando se miden los fenmenos, los mtodos de observacin dictan la exactitud de cualquier anlisis posterior.
Debido a la naturaleza de los datos (por ejemplo, los patrones de trco en un entorno urbano, las pautas meteorolgicas en el ocano, etc.), grado de precisin constante
o dinmico se pierde siempre en la medicin. Esta prdida de precisin se determina a partir de la escala y la
distribucin de los datos recogidos. Los SIG disponen de
herramientas que ayudan a realizar estos anlisis, destacando la generacin de modelos de interpolacin espacial.
3.13 Geocodicacin
El producto cartogrco nal resultante puede estar tanto en formato digital como impreso. El uso conjunto que
en determinados SIG se da de potentes tcnicas de anlisis espacial junto con una representacin cartogrca
profesional de los datos, hace que se puedan crear mapas de alta calidad en un corto perodo. La principal dicultad en cartografa automatizada es el utilizar un nico
conjunto de datos para producir varios productos segn
diferentes tipos de escalas, una tcnica conocida como
generalizacin.
3.12 Geoestadstica
10
SOFTWARE SIG
Software SIG
Editando una capa vectorial de polgonos con el sistema de informacin geogrca de cdigo libre gvSIG.
La informacin geogrca puede ser consultada, transferida, transformada, superpuesta, procesada y mostradas utilizando numerosas aplicaciones de software. Dentro de la industria empresas comerciales como
ESRI, Intergraph, MapInfo, Bentley Systems, Autodesk
o Smallworld ofrecen un completo conjunto de aplicaciones. Los gobiernos suelen optar por modicaciones Hoy por hoy dentro del software SIG se distingue a me-
4.1
11
Servidores cartogrcos. Se utilizan para distribuir mapas a travs de Internet (vase tambin los
estndares de normas Open Geospatial Consortium
WFS y WMS).
Servidores SIG. Proporcionan bsicamente la misma funcionalidad que los SIG de escritorio pero permiten acceder a estas utilidades de geoprocesamiento a travs de una red informtica.
Clientes web SIG. Permiten la visualizacin de datos y acceder a funcionalidades de anlisis y consulta
de servidores SIG a travs de Internet o intranet. Generalmente se distingue entre cliente ligero y pesado. Los clientes ligeros (por ejemplo, un navegador
web para visualizar mapas de Google) slo proporcionan una funcionalidad de visualizacin y consulta, mientras que los clientes pesados (por ejemplo,
Google Earth o un SIG de escritorio) a menudo proporcionan herramientas adicionales para la edicin
de datos, anlisis y visualizacin.
Bibliotecas y extensiones espaciales. Proporcionan caractersticas adicionales que no forman parte fundamental del programa ya que pueden no
ser requeridas por un usuario medio de este tipo de software. Estas nuevas funcionalidades pueden ser herramientas para el anlisis espacial (por
ejemplo, SEXTANTE), herramientas para la lectura de formatos de datos especcos (por ejemplo,
GDAL/OGR), herramientas para la correcta visualizacin cartogrca de los datos geogrcos (por
ejemplo, PROJ4), herramientas para funciones geomtricas fundamentales (JTS), o para la implementacin de las especicaciones del Open Geospatial
Consortium (por ejemplo, GeoTools).
12
pueden funcionar sin emulacin,[11] as como su tipo de interoperabilidad de los datos espaciales, ha impulsado la
licencia.
tecnologa web mapping, con el surgimiento de numerosas aplicaciones que permiten la publicacin de informacin geogrca en la web. De hecho este tipo de servicios web mapping basado en servidores de mapas que se
5 El futuro de los SIG
acceden a travs del propio navegador han comenzado a
adoptar las caractersticas ms comunes en los SIG traMuchas disciplinas y especializaciones se han beneciadicionales, lo que ha propiciado que la lnea que separa
do de la tecnologa subyacente en los SIG. El activo merambos tipos de software se difumine cada vez ms.
cado de los sistemas de informacin geogrca se ha traducido en una reduccin de costes y mejoras continuas
en los componentes de hardware y software de los sistemas. Esto ha provocado que el uso de esta tecnologa ha- 5.2 La tercera dimensin
ya sido asimilada por universidades, gobiernos, empresas
e instituciones que lo han aplicado a sectores como los Los sistemas existentes en la actualidad en el mercado esbienes races, la salud pblica, la criminologa, la defensa tn bsicamente sustentados en la gestin y anlisis en dos
nacional, el desarrollo sostenible, los recursos naturales, dimensiones de los datos, con las limitaciones que esto sula arqueologa, la ordenacin del territorio, el urbanismo, pone. Existen sistemas hbridos a medio camino entre el
2D y el 3D que poseen capacidades, fundamentalmente
el transporte, la sociologa o la logstica entre otros.
de visualizacin, denominadas de dos dimensiones y meEn la actualidad los SIG estn teniendo una fuerte im- dia (2.5D) o falso 3D.
plantacin en los llamados Servicios Basados en la Localizacin (LBS) debido al abaratamiento y masicacin No obstante hoy en da cada vez ms se requieren aplide la tecnologa GPS integrada en dispositivos mviles caciones avanzadas con funcionalidades capaces de gesde consumo (telfonos mviles, PDAs, ordenadores por- tionar conjuntos de datos complejos tal y como se perttiles). Los LBS permiten a los dispositivos mviles con ciben en el mundo real por el usuario, es decir, en tres
GPS mostrar su ubicacin respecto a puntos de inters - dimensiones. Este entorno proporciona un conocimiento
jos (restaurantes, gasolineras, cajeros, hidrantes, etc. ms mucho mejor de los fenmenos y patrones geoespaciales,
cercanos), mviles (amigos, hijos, autobuses, coches de ya sea a pequea o gran escala, por ejemplo en la planila minera, la gestin de redes
polica) o para transmitir su posicin a un servidor central cacin urbana, la geologa,
[13]
de
abastecimiento,
etc.
para su visualizacin u otro tipo de tratamiento.
Otra de las lineas a destacar dentro de la rama de espe- Las dicultades con que se enfrenta un SIG completacializacin de anlisis de datos espaciales es el auge de mente 3D son grandes y van desde las gestin de geolas modelizaciones cartogrcas. Gracias a ellas podemos metras 3D y su topologa hasta su visualizacin de una
modelizar y evaluar tanto aspectos o escenarios actuales manera sencilla, pasando por el anlisis y geoprocesado
como los futuribles en base a variables que les concrete- de la informacin.
mos. Es una gran herramienta de prediccin y evaluacin
y nos permiten evaluar casuisticas que reejen el comportamiento por ejemplo de las zonas con mayor vulnerabilidad frente a determinados riesgos; la distribucin potencial de especies o la dispersin de contaminantes por la
atmsfera.[12]
5.1
13
de imgenes geoespaciales.[18]
Las ontologas son un componente clave de este enfoque
semntico, ya que facilitan una legibilidad por parte de
las mquinas de conceptos y relaciones en un dominio
dado. Esto a su vez permite al SIG centrarse en el signicado de los datos en lugar de su sintaxis o estructura. Por
ejemplo, podemos razonar que un tipo de cobertura del
suelo clasicada como bosques de frondosas caducifolias
son un conjunto de datos detallados de una capa sobre
cubiertas vegetales de tipo forestal con una clasicacin
menos minuciosa, lo que podra ayudar a un SIG a fusionar automticamente ambos conjuntos de datos en una
capa ms general de clasicacin de la cubierta vegetal
terrestre.
Pero el desarrollo futuro de los SIG con la inclusin de
la semntica en la gestin no solo permitira la generalizacin o coacin de datos geoespaciales con cierta similitud, sino que, por ejemplo, facilitara la generacin
automatizada o semiasistida de una tarea tradicionalmente considerada como tediosa y poco graticante como
es la creacin de metadatos para las diferentes capas de
informacin geogrca.[19]
Ontologas muy profundas y exhaustivas han sido desarrolladas en reas relacionadas con el uso de los SIG, como por ejemplo la Ontologa de Hidrologa desarrollada
por el Ordnance Survey en el Reino Unido, la ontologa
geopoltica de la FAO,[20] las ontologas OWL hydrOntology y Ontologa GML y las ontologas SWEET llevadas
a cabo por el Laboratorio de Propulsin a Chorro de la
NASA.
5.4
6 Vase tambin
Ciencias de la Tierra
Geomtica
Geotecnologa
Neogeografa
Servicio basado en localizacin
7 Notas y referencias
[1] Lascaux Cave. Ministerio de Cultura francs. Archivado desde el original el 29 de noviembre de 2015. Consultado el 13 de febrero de 2008.
[2] Curtis, Gregory. The Cave Painters: Probing the Mysteries
of the Worlds First Artists. NY, USA: Knopf. ISBN 14000-4348-4.
[3] Dr David Whitehouse. Ice Age star map discovered.
BBC. Consultado el 9 de junio de 2007.
5.5
14
8 BIBLIOGRAFA
Bibliografa
Berry, J.K. (1993) Beyond Mapping: Concepts, Algorithms and Issues in GIS. Fort Collins, CO: GIS
World Books.
Bolstad, P. (2005) GIS Fundamentals: A rst text
on Geographic Information Systems, Second Edition.
White Bear Lake, MN: Eider Press, 543 pp.
Bosque Sendra, J. (1992) Sistemas de Informacin
Geogrca. Rialp. Madrid.
Burrough, P.A. and McDonnell, R.A. (1998) Principles of geographical information systems. Oxford
University Press, Oxford, 327 pp.
Busai, G.D.; Baxendale, C.A. (2011) Anlisis Socioespacial con Sistemas de Informacin Geogrca.
Tomo 1: Perspectiva Cientca / temticas de base
raster. Buenos Aires, Lugar Editorial, 302 pp.
Buzai, G.D.; Baxendale, C.A. (2012) Anlisis Socioespacial con Sistemas de Informacin Geogrca.
Tomo 2: Ordenamiento territorial / temticas de base
vectorial. Buenos Aires, Lugar Editorial, 315 pp.
Calvo, M. (1992) Sistemas de Informacin
Geogrca Digitales: Sistemas geomticos. IVAPEUSKOIKER, Oati, 616 pp.
Calvo, M. (2012) Geo-conceptualizacin y modelado del espacio geogrco. EAE. Saarbrcken,
492 pp.
Chang, K. (2007) Introduction to Geographic Information System, 4th Edition. McGraw Hill.
Coulman, Ross (2001 - present) Numerous GIS
White Papers
de Smith M J, Goodchild M F, Longley P A (2007)
Geospatial analysis: A comprehensive guide to principles, techniques and software tools, 2nd edition,
Troubador, UK available free online at:
Elangovan, K (2006)"GIS: Fundamentals, Applications and Implementations, New India Publishing
Agency, New Delhi"208 pp.
Harvey, Francis(2008) A Primer of GIS, Fundamental geographic and cartographic concepts. The Guilford Press, 31 pp.
Heywood, I., Cornelius, S., and Carver, S. (2006) An
Introduction to Geographical Information Systems.
Prentice Hall. 3rd edition.
Longley, P.A., Goodchild, M.F., Maguire, D.J. and
Rhind, D.W. (2005) Geographic Information Systems and Science. Chichester: Wiley. 2nd edition.
Maguire, D.J., Goodchild M.F., Rhind D.W. (1997)
Geographic Information Systems: principles, and
applications Longman Scientic and Technical,
Harlow.
Matellanes, R., (2014) Gua de orientacin formativa y laboran en los Sistemas de Informacin Geogrca En qu especializarse y por qu?" Asociacin Geoinnova, 24 pp.
Moreno Jimnez, A. (coord.); Gmez Garca, N.,
Vidal Domnguez, M. J., Rodrguez Esteban, J. A.,
Martnez Surez, P., Prieto Flores, M. E., Cervera
15
Cruaes, B. y Fernndez Garca, F. (2008): Sistemas y anlisis de la informacin geogrca: manual
de auto-aprendizaje con ArcGIS, Madrid, Ra-Ma, 2.
ed., 940 pp.
Ott, T. and Swiaczny, F. (2001) Time-integrative
GIS. Management and analysis of spatio-temporal
data, Berlin / Heidelberg / New York: Springer.
Olaya, V., (2012) Sistemas de Informacin Geogrca. Vctor Olaya. 877 pp. (Creative Common Atribucin BY 3.0).
Thurston, J., Poiker, T.K. and J. Patrick Moore.
(2003) Integrated Geospatial Technologies: A Guide to GPS, GIS, and Data Logging. Hoboken, New
Jersey: Wiley.
Tomlin, C.Dana (1991) Geographic Information
Systems and Cartographic Modelling. Prentice Hall.
New Jersey.
Tomlinson, R.F., (2005) Thinking About GIS: Geographic Information System Planning for Managers.
ESRI Press. 328 pp.
Wise, S. (2002) GIS Basics. London: Taylor & Francis.
Worboys, Michael, and Matt Duckham. (2004) GIS:
a computing perspective. Boca Ratn: CRC Press.
Wheatley, David and Gillings, Mark (2002) Spatial Technology and Archaeology. The Archaeological Application of GIS. London, New York, Taylor
& Francis.
Enlaces externos
Estudio sobre Sistemas de Localizacin e Informacin Geogrca publicado por el Observatorio Regional de la Sociedad de la Informacin de Castilla
y Len (ORSI)
Comparativa sobre caractersticas y funcionalidades
de los SIG de cdigo libre.
16
10
10.1
10.2
Imgenes
Archivo:Accuracy_and_generalization.svg
Fuente:
https://upload.wikimedia.org/wikipedia/commons/9/90/Accuracy_and_
generalization.svg Licencia: Public domain Colaboradores: Trabajo propio Artista original: Tony Rotondas
Archivo:Capaware_rc1.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/8/85/Capaware_rc1.jpg Licencia: CC BY-SA 3.0
Colaboradores: Trabajo propio Artista original: Isabbagh
Archivo:Commons-logo.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/4/4a/Commons-logo.svg Licencia: Public domain Colaboradores: This version created by Pumbaa, using a proper partial circle and SVG geometry features. (Former versions used
to be slightly warped.) Artista original: SVG version was created by User:Grunt and cleaned up by 3247, based on the earlier PNG version,
created by Reidab.
Archivo:Dem.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/4/45/Dem.jpg Licencia: GPL Colaboradores: ? Artista original: ?
Archivo:Digitales_Gelndemodell.png
Fuente:
https://upload.wikimedia.org/wikipedia/commons/9/97/Digitales_Gel%C3%
A4ndemodell.png Licencia: CC BY-SA 3.0 de Colaboradores: Transferido desde de.wikipedia a Commons.
Artista original: The original uploader was Robert Kropf de Wikipedia en alemn
Archivo:Digitizing_errors.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/1/13/Digitizing_errors.svg Licencia: Public
domain Colaboradores: Trabajo propio Artista original: Tony Rotondas
Archivo:DimensionesdelosdatosSIG.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/f/f2/DimensionesdelosdatosSIG.
jpg Licencia: GFDL Colaboradores: Modicada de [1] (GNUFDL) Artista original: Modicado por Corso de [2] (GNUFDL)
Archivo:GisLayers.png Fuente: https://upload.wikimedia.org/wikipedia/commons/a/a8/GisLayers.png Licencia: CC BY 3.0 Colaboradores: Transferido desde en.wikipedia a Commons. Artista original: Jaknouse de Wikipedia en ingls
Archivo:GvSIG_-_GIS.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/3/33/GvSIG_-_GIS.jpg Licencia: CC BY 2.5 Colaboradores: Trabajo propio Artista original: Emilio Gmez Fernndez
Archivo:Housenumber-karlsruhe-de-OSM.png
Fuente:
https://upload.wikimedia.org/wikipedia/commons/7/7e/
Housenumber-karlsruhe-de-OSM.png Licencia: CC BY-SA 2.0 Colaboradores: http://wiki.openstreetmap.org/index.php/Image:
Housenumber-karlsruhe-de.png Artista original: Bahnpirat
Archivo:Madrid_Metro_+113.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/f/f5/Madrid_Metro_%2B113.svg Licencia: GFDL Colaboradores: Otros mapas hechos por Benedicto16. Artista original: Javitomad
Archivo:Maruyama-Senmaida_Stereogram.jpg
Fuente:
https://upload.wikimedia.org/wikipedia/commons/b/b2/
Maruyama-Senmaida_Stereogram.jpg Licencia: Attribution Colaboradores: CKK-76-6 c17b 16 & 17 in 1976,AerialPhotographmlitJP Artista original: Tawashi2006
Archivo:OpenStreetMap_routing_service.png Fuente: https://upload.wikimedia.org/wikipedia/commons/e/e7/OpenStreetMap_
routing_service.png Licencia: Public domain Colaboradores: Trabajo propio Artista original: Tony Rotondas
Archivo:QGIS_2.0.1_Dufour_-_Screenshot_showing_relief.png Fuente: https://upload.wikimedia.org/wikipedia/commons/2/2f/
QGIS_2.0.1_Dufour_-_Screenshot_showing_relief.png Licencia: CC BY-SA 3.0 Colaboradores: Trabajo propio Artista original:
Tobias1984
Archivo:RapidEye_Satellites_Artist_Impression.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/c/c8/RapidEye_
Satellites_Artist_Impression.jpg Licencia: CC BY-SA 3.0 Colaboradores: Trabajo propio Artista original: Rmatt
Archivo:Raster_vector_gis.png Fuente: https://upload.wikimedia.org/wikipedia/commons/8/8b/Raster_vector_gis.png Licencia: Public
domain Colaboradores: Trabajo propio Artista original: Teni
Archivo:SAGA_screenshot.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/a/ab/SAGA_screenshot.jpg Licencia: GPL
Colaboradores: sourceforge Artista original: ?
10.3
17
Archivo:Sig.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/e/ef/Sig.jpg Licencia: CC-BY-SA-3.0 Colaboradores: Transferido desde es.wikipedia a Commons. Artista original: Corso
Archivo:Snow-cholera-map.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/c/c7/Snow-cholera-map.jpg Licencia: Public domain Colaboradores: ? Artista original: ?
Archivo:Voronoi_centerlines_skeleton.gif Fuente: https://upload.wikimedia.org/wikipedia/commons/9/92/Voronoi_centerlines_
skeleton.gif Licencia: CC BY-SA 3.0 Colaboradores: Trabajo propio Artista original: Emilio Gomez Fernandez
10.3
2 Funcionamiento
En la direccin contraria, la base de datos responde, comunicndose con el proveedor de datos, ste con ADO,
y al nal, la informacin llega al programa.
Evolucin
ADO substituy tanto a DAO (Data Access Object), como a RDO (Remote Data Object), que eran los sistemas
previos que se usaban para acceder a las bases de datos y
bases de datos remotas, respectivamente. Tiene la mayor
parte de la funcionalidad de ambos modelos y sin embargo es ms sencillo de usar y de entender y por lo tanto
ms fcil y menos engorroso de programar.
La base de datos responde Programa <--- ADO <--- Proveedor de datos <--- Base de datos +--------+-----------+ |
Nombre | Apellido | +--------+-----------+ | Jos | Pereira |
| Juan | Prez | | Mara | Hernndez | +--------+-----------+
Una vez que el programa tiene la informacin proveniente
de la base de datos, puede hacer con ella lo que considere,
como por ejemplo, puede desplegarla en una pgina Web.
La ltima versin de ADO, creada por Microsoft, se llama ADO.NET, y se usa en los entornos de programacin Los usuarios solicitados son los siguientes:
de la plataforma .NET, de Microsoft, para manejar bases de datos tanto en Windows como en la Web mediante
ASP.NET, que es la nueva versin del ASP para la plata- 3 Componentes de ADO
forma.NET.
datos por cada tipo de base de datos. As, las bases de datos de tipo Access, SQL Server, Oracle, MySQL, tienen,
cada una, un proveedor de datos especco.
La conexin ADO puede usar dos tipos de proveedores
de datos, OLE DB y ODBC, siendo OLE DB el tipo de
proveedor nativo.
Error (Indica las caractersticas de los errores que La gura de abajo muestra, a la izquierda, un esquema de
pudieran suceder al ejecutar mtodos de los objetos los diferentes componentes que existen entre un programa y la base de datos, y, a la derecha, muestra el camino
de ADO)
que recorre la informacin, usando por un lado OLE DB,
Property (Contiene informacin perteneciente a un y por el otro ODBC. Ntese que al usar ODBC, la ruta es
ms larga porque tiene que pasarse por ms componenobjeto determinado)
tes. Esto hace la comunicacin un poco ms lenta.
Con OLE DB Con ODBC +---------------+ +-------------4 Objetos Connection, Recordset y -+ +---------------+ | Programa | | Programa | | Programa
| +---------------+ | | | | | | | ADO | | ADO | | ADO | +-Command
-------------+ | | | | | | | OLE DB | | OLEDB | | OLEDB
(OLE DB especial para | +--------+ | | | | | comunicacin
Los 3 principales componentes de ADO son Connection, con cualquier ODBC) | | ODBC | | | | | ODBC | +------+-Recordset y Command (la conexin, el recordset, y la or- ------+ | | | | | | | Base de datos | | Base de datos | | Base de
datos | +---------------+ +---------------+ +---------------+
den).
+------------+ +----| Connection |----+ | +------------+ | | | +- Todo esto es transparente al usuario de ADO, quien, en
----+-----+ +-----+-----+ | Recordset |----------| Command lneas generales, no tiene por que enterarse ni conocer
estos mecanismos.
| +-----------+ +-----------+
ADO tiene un alto grado de abstraccin, lo que signica
que, al mantener una interface sencilla, oculta los detalles
4.1 La Conexin
complejos del manejo de la base de datos.
La conexin es como una autopista que permite el ujo
de datos entre el programa y la base de datos. Por ella
pueden viajar las rdenes que desde el programa se usan
para hacer solicitudes de informacin a la base de datos
o para realizar una operacin dentro de ella como borrar
registros, aadir registros, modicar tablas, etc. Tambin,
por esta autopista, pueden ir y venir los datos, desde y
hacia la base de datos, entre otras cosas.
El Recordset
El Recordset es, como su nombre lo indica, un conjunto de records. En general, sus datos tienen su origen en
4.1.1 El proveedor de datos
una base de datos, aunque tambin pueden generarse inEl proveedor de datos es un componente que se relaciona dependientemente de sta.
directamente con la base de datos. Hay un proveedor de Un recordset puede contener cero o ms records (regis-
3
tros). Cada recordset tiene una coleccin de campos, que
es comn a todos los records. Podemos verlo como una
matriz o tabla, en donde las las son los records, y las
columnas son los campos.
Recordset con algunos datos de la tabla de empleados:
+------------+---------+----------+ | IdEmpleado | Nombre
| Apellido | +------------+---------+----------+ | 1 | Luis |
Prez | <-- Record 1 +------------+---------+----------+ | 5
| Jos | Abreu | <-- Record 2 +------------+---------+---------+ | 3 | Pedro | Len | <-- Record 3 +------------+--------+----------+ | 7 | Mara | Marcano | <-- Record 4 +-----------+---------+----------+ | | | | | +------- Campo Apellido
| | | +------------------ Campo Nombre | +---------------------------- Campo IdEmpleado
En este momento, el objeto MiConexion solo est declarado, pero todava no existe porque no ha sido instanciado.
En el evento Form_Load, instanciamos el objeto MiConexion, y establecemos la conexin con la base de datos
para poder comunicarnos con ella.
rios, etc.
Dim rs As ADODB.Recordset
5.3
5
la base de datos ' --------------------------------------------- MDAC (Microsoft Data Access Compo------------ Set MiConexin = New ADODB.Connection
nents)
With MiConexin ' Cursor en Cliente para poder usar
OLE DB (Object Linking and Embedun DataGrid .CursorLocation = adUseClient ' Abro la
ding for Databases)
conexin con la base de datos usando un DSN .Open
ODBC (Open Database Connectivity)
DSN=Neptuno End With ' --------------------------------------------------------- ' Especico qu informacin quie ADO.NET
ro de la base de datos ' --------------------------------------------------------- Dim SQL As String SQL = SELECT Id DAO (Data Access Objects)
Producto, NombreProducto & vbCrLf & _ From Pro RDS (Remote Data Services)
ductos & vbCrLf & _ WHERE NombreProducto LI Microsoft Jet Database Engine
KE '%Queso%'" ' --------------------------------------------------------- ' Cargo el recordset con la informacin proveniente de la base de datos ' -------------------------------- Plataformas de desarrollo y lenguajes de programa-------------------------- Dim rs As ADODB.Recordset Set cin
rs = MiConexin.Execute(SQL) ' --------------------------------------------------------- ' Muestro la informacin en el
.NET
DataGrid ' ---------------------------------------------------- Mono
----- Set DataGrid1.DataSource = rs End Sub
Embarcadero Delphi
5.6
Visual Basic
Lenguaje de programacin
7 Enlaces externos
Pgina de inicio de ADO 2.8
Vase tambin
Bases de datos
Base de datos
Base de datos relacional
RDBMS (Relational Data Base Management System)
Lenguaje de consultas para bases de datos relacionales
SQL (Structured Query Language)
Componentes para manejo de bases de datos
8.1
Texto
8.2
Imgenes
Archivo:DataGrid_mostrando_unos_registros.png
Fuente:
https://upload.wikimedia.org/wikipedia/commons/6/6c/DataGrid_
mostrando_unos_registros.png Licencia: Public domain Colaboradores: ? Artista original: ?
8.3
21/8/2016
ExplicacindepermisosdeficherosycarpetasenUbuntu
Qusonlospermisos?
Lospermisosoatributosdeunacarpetaounficherosonunosnmerosoletrasqueindicansielarchivoola
carpetapuedenserusadosportodoelmundoosloporalgunos.
Fichero=Archivo
Laexplicacinesvlidaparatodotipodecarpetasoficheros(png,txt,jpg,avi,rmvb,wav,mp3).
Paraverlospermisosdeunfichero,abrimosunaterminal,Aplicaciones>Accesorios>Terminal,vamosala
carpetadondeestelfichero(conelcomandocdylaruta)yescribimos:
lsl
Osiqueremosdirectamenteverelficheroocarpeta:
lsl|grepPrueba
DondedicePrueba,ponedlacarpetaofichero(lista.txt)
Yalprincipiodecadafila,enlaprimeracolumna,veremosalgoas:
rwxrwxrwxelguininicialindicaqueesunarchivo.
drwxladinicialindicaqueesundirectorioocarpeta(directory).
Cadacarpetaoficherotiene3gruposdepermisoscon3permisoscadauno.
*Elprimergrupoindicalospermisosdelusuariodueodelfichero.
*Elsegundogrupoindicalospermisosdelgrupodeusuariosdelfichero.
*Eltercergrupoindicalospermisosparaelrestodeusuarios.
Los3tiposdepermisosquehayson:
*Lectura(r):Serepresentaconlaletrar,quevienedelinglsRead.Indicasipuedesabrirelficheroyversu
contenido.
*Escritura(w):Serepresentaconlaletraw,quevienedelinglsWrite.Indicasipuedesmodificarel
contenidoodelfichero.
*Ejecucin(x):Serepresentaconlaletrax,quevienedelinglseXecution.Indicasipodemosejecutarel
archivo(script,instalador).
Elresumenalahoradelaverdadesquenosotrosvemosquelosficherostienenlospermisosdeltipo:
rwxrwxrwx>777(seleesiete,siete,siete)
rwrxrx>655(seleeseis,cinco,cinco)
r>400(seleecuatro,cero,cero)
Elequivalentenmericovienedelbinario.
el7equivaleenbinarioa111yel0a000.
111>RWX>7
110>RW>6
101>RX>5
100>R>4
011>WX>3
010>W>2
001>X>1
000>>0
Elbinariovaporpotenciasdedos,entonces111enbinario=2+2+2=4+2+1=7.101=2+0+2=5
Otraformadeverloesqueel1equivaleaqueseponealgoyelceroaquenoseponenada,entonces
sabiendoqueelordendelospermisosesrwx,podemosdeducirqueun7,queequivalea111querrdecir
queescribimosrwxyun5,queequivalea101,quieredecirquepongamospermisosdondehayun1
siguiendoelorden,esdecirrx.
Ahorasiaplicamosestounavezporcadagrupo(usuario,grupo,otros)nossalenlospermisosdelaforma
rwxrwxrwx.
http://www.tutorialesubuntu.com/2009/11/11/explicaciondepermisosdeficherosycarpetasenubuntu/
1/1
22/8/2016
CmohackearunacuentadeWindowsusandoelcomandoNetUser
CmohackearunacuentadeWindowsusandoel
comandoNetUser
2mtodos:
Conaccesodeadministrador
Sinaccesodeadministrador
Siadministrasunacomputadoraynecesitasaccederalacuentadeotrousuario,puedescambiarsucontraseausandoel
comando"netuser".Situcomputadoraestbloqueadaonotienesaccesodeadministrador,puedesaccederalcomandonet
userusandoeldiscodeinstalacindeWindowsycambiarlacontraseadecualquierusuario.
Mtodo1de2:Conaccesodeadministrador
IniciasesinenWindowsusandounacuentaconaccesodeadministrador.Sipuedesiniciarsesinen
Windowsconunacuentadeadministrador,entoncespuedescambiarfcilmentelacontraseadecualquier
otracuenta.
SinopuedesingresarentucuentadeWindowsonotienesaccesoaunacuentadeadministrador,leela
prximaseccin.
Abreelintrpretedecomandoscomoadministrador.Tienesquehacerloinclusoaunquehayasiniciado
sesinenunacuentaconaccesodeadministrador.
Windows7yversionesanteriores:abreelmenInicio,hazclicderechoen"Smbolodelsistema"y
selecciona"EjecutarcomoAdministrador".Confirmaquequieresabrir"Smbolodelsistema".
Windows8yversionesposteriores:hazclicderechoenelbotndeWindowsyselecciona"Smbolodel
sistema(Administrador)".Cuandoaparezcaelcarteldel"Controldecuentasdeusuario",confirmaque
quieresabrirlo.
Ingresalanuevacontrasea.Tendrsqueingresarlacontraseadosvecesparaconfirmarla.Lanueva
contraseatendrefectodeinmediato.
Iniciasesincontunuevacontrasea.Puedesusarlacontraseaqueacabasdecrearparainiciarsesin
enlacuentadeeseusuario.Cierratusesinactualeiniciasesinconlanuevacontrasea.
computadora.Lascuentasestarnlistadasencolumnassegnelniveldepermisoquetengan.
contraseaparaelusuarioquehayasingresado.
Mtodo2de2:Sinaccesodeadministrador
BuscaocreaundiscodeinstalacindeWindows.Sinotienesaccesoaningunacuentadeadministrador
delacomputadora,puedessolucionarloconundiscodeinstalacindeWindows.Parausarestemtodo,el
discodebeserdelamismaversindeWindowsalacualvasaintentaracceder.Nohacefaltaquesea
exactamenteelmismodiscoquevenaconlacomputadora.[1]
SitienesunacopiaISOdeldiscodeinstalacindeWindows,puedesgrabarlaenunDVDenblancoo
ponerlaenunUSBdearranque.ParamayorinformacinsobrecmocrearunamemoriaUSBdearranque
conlosarchivosdeinstalacindeWindows,lee"CmoinstalarWindows7usandounamemoriaUSB".
http://es.wikihow.com/hackearunacuentadeWindowsusandoelcomandoNetUser
1/3
22/8/2016
CmohackearunacuentadeWindowsusandoelcomandoNetUser
InsertaeldiscoolamemoriaUSBenlacomputadoraalacualquierasacceder.Tienesqueusareldisco
deinstalacinparaaccederaloscontrolesdeadministradorycambiarlacontraseadelosusuarios.
ReinicialacomputadorayabreelmendearranqueoelBIOS.Debeshacerloantesdequeaparezcael
logodeWindows.ElprocesovaralevementesegnlaversindeWindowsquetengainstaladala
computadora:
Windows7yversionesanteriores:presionalateclaindicadaparaaccederalBIOS,SETUPoBOOT
mientraslacomputadoraestarrancando.Lateclavarasegnelfabricante,perotemostrarnculesenla
pantalladellogodearranque.Normalmenteesalgunadelassiguientes: F2 , F10 , F11 o Supr .Unavez
quehayasabiertoelmendearranqueoelBIOS,seleccionalaopcin"BOOT"(arranque).
Windows8yversionesposteriores:abreelmenInicioolapantallaInicioyhazclicderechoenelbotn
"Inicio/Apagado".Mantnpresionadalatecla Mays yhazclicen"Reiniciar".Eligelaopcin"Resolucinde
problemas"yluego"Opcionesavanzadas".Seleccionalaopcin"ConfiguracindefirmwareUEFI"enel
men.Abreelmen"Arranque".
SeleccionatudiscodeinstalacinomemoriaUSBcomodispositivoprimariodearranque.Elproceso
exactopuedevariar,peroengeneralsimplementetienesquereasignarlaprioridaddearranquedemodoque
lacomputadoraarranquedesdeeldiscoomemoriaUSBynodesdeeldiscoduro.
ReiniciayabreelasistentedeinstalacindeWindows.Presionaunateclaparaabrirelprogramade
instalacindeWindowsyesperaaquesecarguenlosarchivos.Estopuedetardaraproximadamenteun
minuto.
Seleccionatuidiomaytusopcionesdeentrada.Generalmentetienesquedejarestasopcionesensus
valorespredeterminados.
Hazclicenelbotn"Repararequipo"enlaesquinainferiorizquierda.Estebotnapareceenlamisma
pantallaqueelbotn"Instalarahora".
SeleccionalainstalacindeWindowsalacualquierasacceder.Generalmentehayunasolaopcinenla
lista.
Enelmen"Opcionesderecuperacindelsistema"selecciona"Smbolodelsistema".Seabrirel
intrpretedecomandosenunanuevaventana.
10
Ingresaloscomandosnecesariosparaaccedera"Smbolodelsistema"desdeelmendeiniciode
sesin.Lossiguientescomandostepermitirnaccedera"Smbolodelsistema"desdelapantalladeinicio
desesindeWindows.Deestaformapodrscambiarlacontraseadecualquiercuenta.Parahacerlo,escribelos
siguientescomandosunoalavezyenorden:
cd\ Enter
cd windows \sy s tem 3 2 Enter
ren utilma n.e x eu t ilm a n. e x e . b a k Enter
cop ycmd.e xe u til m an. e xe Enter
11
Quitaeldiscodeinstalacinyreinicialacomputadora.Ahoraquehashecholoscambiosnecesarios,
puedesreiniciarlacomputadoraycomenzaracambiarlascontraseas.QuitaeldiscoolamemoriaUSB
antesdereiniciar,demodoquelacomputadoraarranquenormalmente.
12
elAdministradordeaccesibilidad,perocomohicistecambiosenlosarchivosdelsistema,seabriruna
ventanade"Smbolodelsistema".
Sinoaparecenada,presionarpidamentelasteclas Alt + Tab .Esposiblequelaventanaestoculta
detrsdelapantalladeiniciodesesin.
13
http://es.wikihow.com/hackearunacuentadeWindowsusandoelcomandoNetUser
2/3
22/8/2016
CmohackearunacuentadeWindowsusandoelcomandoNetUser
13
14
15
Creaunanuevacontrasea.Escribeunanuevacontraseacuandotelopidanyescrbelaunasegunda
vezparaconfirmarlo.Tambinseraunabuenaideaeliminarcompletamentelacontraseapresionando
administradoresselistanenlacolumnaizquierda,lascuentascomunesenelmedioylascuentasde
invitadoenlacolumnaderecha.
elnombredelacuentaalacualquierasacceder.
Enter encadalnea.Estosermenossospechosoquecrearunacontraseacompletamentenuevaqueelusuario
noreconocercuandointenteentrar.
16
Iniciasesinenlacuentadelusuariocontunuevacontrasea.Elcambiodecontraseaseaplicar
inmediatamente,asquepuedesregresaralapantalladeiniciodesesindeWindowsyusartunueva
contraseaparaaccederalacuenta.
Referencias
1.https://www.technibble.com/bypasswindowslogonsutilman/
http://es.wikihow.com/hackearunacuentadeWindowsusandoelcomandoNetUser
3/3
Registro de Windows
El registro de Windows es una base de datos jerrquica que almacena los ajustes de conguracin y opciones
en los sistemas operativos Microsoft Windows. Contiene la conguracin de los componentes de bajo nivel del
sistema operativo, as como de las aplicaciones que hay
funcionando en la plataforma: hacen uso del registro el
ncleo (kernel, en ingls), los controladores de dispositivos, los servicios, el SAM, la interfaz de usuario y las
aplicaciones de terceros. El registro tambin proporciona un medio de acceso a los contadores para generar un
perl del rendimiento del sistema.
partan el mismo equipo, y tambin permite que los programas funcionen para usuarios con menos privilegios.
Adems se han simplicado las copias de seguridad y la
restauracin, ya que es posible acceder al registro a travs
de una conexin de red para realizar labores de soporte
y mantenimiento remotas, o incluso desde scripts usando
el conjunto estndar de API, siempre y cuando el servicio de registro remoto est funcionando y las reglas del
cortafuegos lo permitan.
El registro dispone de caractersticas que mejoran la integridad del sistema, ya que est diseado como una base
de datos y cuenta con funciones parecidas a las de las
bases de datos, como actualizaciones atomizadas. Si dos
procesos intentan actualizar a la vez el mismo valor del registro, un cambio del proceso siempre preceder al otro y
la coherencia general de los datos se mantendr. Cuando
se hacen cambios en los archivos INI, como en la condicin de carrera, se pueden producir datos incoherentes que no coincidan con ninguna de las actualizaciones
que se pretendan. Tanto Windows Vista como los sistemas operativos posteriores, proporcionan actualizaciones
transaccionales del registro por medio del Administrador de transacciones de ncleo[necesita atribucin], extendiendo las garantas que proporciona la atomicidad a
mltiples cambios en las claves y valores, con la semntica commit-abort tradicional. (Ntese, sin embargo, que
el NTFS proporciona el mismo soporte al sistema de archivos, por lo que, en teora, se podran obtener las mismas garantas con los archivos de conguracin tradicionales.)
Fundamentos
Antes de la existencia del registro, los archivos.INI almacenaban los ajustes de cada programa en un archivo
de texto, a menudo en una ubicacin compartida que no
permita ajustes especcos para cada usuario en entornos de mltiples usuarios. Por el contrario, el registro de
Windows almacena todos los ajustes de las aplicaciones
en un solo repositorio lgico (con un nmero pequeo de
archivos) y de forma estandarizada. Segn Microsoft, este sistema ofrece varias ventajas sobre los archivos INI.
Como el anlisis de archivos se realiza de forma mucho
ms eciente con el formato binario, se puede leer o escribir en l ms rpidamente que en un archivo INI. As
mismo, los datos fuertemente tipados se pueden almacenar en el registro, lo que no ocurra con la informacin
de texto almacenada en los archivos INI.[3] Esto es una
ventaja cuando se editan las claves manualmente usando
regedit, el editor integrado para el registro de Windows.
Dado que los ajustes del registro especcos para un usuario se cargan desde una ruta concreta para ese usuario,
en lugar de hacerlo desde una ubicacin de solo lectura
del sistema, el registro permite que varios usuarios com-
2 Estructura
2.1 Claves y valores
El registro contiene dos elementos bsicos: claves y valores.
Las claves del registro son similares a carpetas: adems
de los valores, cada clave puede contener subclaves, que a
su vez pueden contener ms subclaves, y as sucesivamente. Las claves estn referenciadas con una sintaxis parecida a los nombres de las rutas de Windows, y usan barras
diagonales inversas para indicar los distintos niveles jerrquicos. Cada subclave tiene obligatoriamente un nombre: una cadena que no puede contener barras diagonales
inversas y en la que no se distingue entre maysculas y
minsculas.
1
ESTRUCTURA
La terminologa puede inducir a error, ya que cada clave de registro es similar a un vector asociativo, en el que
la terminologa estndar denomina clave a la parte del
nombre de cada valor de registro. Los trminos son un
vestigio del registro de 16 bits de Windows 3, en el cual
las claves de registro no podan contener pares de nomEjemplo: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
bres/datos, sino que contenan nicamente un valor sin
se reere a la subclave Windows de la subclave Mi- nombre (que tena que ser una cadena). En este sentido,
crosoft de la subclave Software de la clave raz todo el registro era como un nico vector asociativo en
HKEY_LOCAL_MACHINE.
el que las claves de registro (tanto en el sentido de regisHay siete claves raz predenidas, las cuales tradicional- tro como en el del diccionario) formaban una jerarqua,
mente se nombran segn su identicador constante de- y los valores del registro eran todos cadenas. Cuando se
nido en la API de Win32, **por sus abreviaturas corres- cre el registro de 32 bits, tambin se cre la capacidad
adicional de crear mltiples valores con nombre por clapondientes (dependiendo de las aplicaciones):
ve y, de algn modo, se distorsion el signicado de los
nombres.[4] Para mantener la compatibilidad con el com HKEY_LOCAL_MACHINE o bien HKLM
portamiento anterior, todas las claves de registro pueden
HKEY_CURRENT_CONFIG o bien HKCC (ni- tener un valor por defecto, cuyo nombre es la cadena
camente en Windows 9x/Me y en las versiones ba- vaca.
sadas en NT de Windows)
HKEY_CLASSES_ROOT o bien HKCR
HKEY_CURRENT_USER o bien HKCU
HKEY_USERS o bien HKU
2.2 Subrboles
HKEY_PERFORMANCE_DATA (nicamente en
las versiones de Windows basadas en NT, pero invi- El registro comprende varias secciones lgicas o
sible para el editor del registro)
subrboles[5] (la palabra inglesa para subrbol, hive,
[6]
HKEY_DYN_DATA (nicamente en Windows es un chiste interno). Los subrboles normalmente se
9x/Me, y visible en el editor de registro de Win- nombran segn las deniciones de sus API de Windows,
las cuales empiezan siempre por HKEY. Con frecuendows)
cia se abrevian en un nombre de tres o cuatro letras que
empieza con HK (p. ej., HKCU y ). Tcnicamente, se
Al igual que otros archivos y servicios de Windows, todas trata de indicadores predenidos (con valores constantes
las claves de registro pueden restringirse mediante listas predenidos) para claves especcas que se mantienen en
de control de acceso (ACL), dependiendo de los privile- la memoria o se almacenan en archivos de subrbol algios del usuario, los tokens de seguridad obtenidos por las macenados en el sistema de archivos local y cargados por
aplicaciones, o las directivas de seguridad aplicadas por el ncleo del sistema en el tiempo de arranque, y a conel sistema (estas restricciones pueden ser denidas por el tinuacin se comparten (con varios derechos de acceso)
mismo sistema y conguradas por los administradores lo- entre todos los procesos que se estn ejecutando en el siscales del sistema o por administradores de dominio). Los tema local, o cargados y asignados en todos los procesos
diferentes usuarios, programas, servicios y sistemas re- iniciados en una sesin de usuario cuando el usuario acmotos podrn ver nicamente una parte de la jerarqua o cede al sistema. Los nodos HKEY_LOCAL_MACHINE
de las distintas jerarquas de las mismas claves raz.
(datos de conguracin local especcos del equiLos valores del registro son pares de nombres y datos al- po) y HKEY_CURRENT_USER (datos de conguramacenados dentro de las claves. Los valores del registro cin especcos del usuario) tienen una estructura sise referencian separados de las claves de registro. Cada milar entre s; las aplicaciones del usuario normalvalor de registro almacenado en una clave de registro po- mente buscan su conguracin buscndolos primero
see un nombre nico, sin distinguie entre maysculas y en HKEY_CURRENT_USER\Software\Vendors naminsculas. Las funciones API de Windows que consul- me\Applications name\Version\Setting name, y si no se
tan y manipulan los valores del registro toman nombres de encuentra la conguracin, miran en la misma ubicacin,
valor independientes de la ruta de la clave o el indicador en la clave HKEY_LOCAL_MACHINE [necesita cita].
que identica la clave principal. Los valores del registro Sin embargo, se puede aplicar lo opuesto en congurapueden contener barras diagonales inversas en el nombre, ciones de directivas aplicadas por el administrador, en las
2.2
Subrboles
que el HKLM puede estar por encima del HKCU. El programa del logotipo de Windows tiene requisitos especcos sobre dnde se pueden almacenar los distintos tipos
de datos de usuario para que se siga el principio del privilegio mnimo, de forma que no se necesite acceso a nivel
de administrador para usar una aplicacin.[7]
2.2.1
HKEY_LOCAL_MACHINE (HKLM)
3
que se congur la cuenta.
La clave HKLM\SECURITY generalmente aparece vaca para la mayora de los usuarios (excepto cuando un usuario con privilegios de administrador les concede acceso) y est vinculada a la base
de datos de seguridad del dominio en el que ha iniciado sesin el usuario (si el usuario ha iniciado sesin en el dominio del sistema local, esta clave estar
vinculada al subrbol de registro almacenado en el
equipo local y gestionado por administradores locales del sistema o por la cuenta Sistema integrada y
los instaladores de Windows). El ncleo acceder a
ella para leer y aplicar la directiva de seguridad que
sea de aplicacin al usuario actual y a todas las aplicaciones y operaciones ejecutadas por este usuario.
Tambin contiene una subclave SAM, vinculada
dinmicamente a la base de datos SAM del dominio en el cual el usuario actual ha iniciado sesin.
Normalmente, la clave HKLM\SYSTEM nicamente es editable por usuarios con privilegios de
administrador en el sistema local. Contiene informacin sobre el programa de instalacin del sistema
de Windows, datos para el generador seguro de nmeros aleatorios (RNG), la lista de los dispositivos
montados actualmente que contienen un sistema de
archivos, varios HKLM\SYSTEM\Control Sets
numerados que contienen conguraciones alternativas de los servicios y controladores del hardware
del sistema que est en funcionamiento en el sistema
local (incluyendo el que est en uso y una copia de
seguridad), una subclave HKLM\SYSTEM\Select
que contiene el estado de este conjunto de controles,
y un HKLM\SYSTEM\CurrentControlSet el cual,
durante el tiempo de arranque, se vincula dinmicamente al conjunto de controles usado en esos momentos en el sistema local. Cada conjunto de controles congurado contiene:
Una subclave Enum que enumera todos los dispositivos Plug-and-Play conocidos y los asocia a los
controladores de sistema instalados (y almacena las
conguraciones especcas de cada dispositivo de
dichos controladores).
Una subclave Services en la que se enumeran
todos los controladores de sistema instalados
(sin conguracin especca para dispositivos
y con una enumeracin de los dispositivos para los cuales se ha creado una instancia de los
mismos) y todos los programas que funcionan
como servicios (cmo y cundo se pueden iniciar automticamente).
Una subclave Control, la cual organiza los
diversos controladores de hardware y programas que estn funcionando como servicios, y
la conguracin del resto del sistema.
ESTRUCTURA
Una subclave Hardware Proles, que enumera los diversos perles que se han optimizado (cada uno de ellos con la conguracin de
sistema o software usada para modicar el
perl predeterminado en servicios y controladores del sistema o en las aplicaciones), as como la clave Hardware Proles\Current, que
se vincula dinmicamente a uno de esos perles.
La clave HKLM\SOFTWARE\Wow6432Node
se usa con aplicaciones de 32 bits en los SO Windows de 64 bits y, aunque es independiente, es equivalente a HKLM\SOFTWARE. En aplicaciones
de 32 bits, WoW64 presenta de forma transparente la ruta de la clave como HKLM\SOFTWARE[9]
(similar a la forma en que las aplicaciones de 32
bits ven %SystemRoot%\Syswow64 como %SystemRoot%\System32)
2.2.2
HKEY_CLASSES_ROOT (HKCR)
2.2.6 HKEY_DYN_DATA
Esta clave se usa slo en Windows 95, Windows 98 y
Windows Me.[12] Contiene informacin sobre dispositivos de hardware, incluyendo estadsticas de rendimiento
de Plug and Play y de red. La informacin contenida en
este subrbol tampoco se almacena en el disco duro. La
informacin sobre Plug and Play se recoge y congura en
el inicio, y se almacena en la memoria[13]
3.1
Edicin manual
Edicin
3.1
Edicin manual
5
mientras que REGEDT32.EXE slo admita la bsqueda por nombre de la clave en un nico subrbol
cada vez.
Las versiones anteriores de REGEDIT.EXE no eran
compatibles con los permisos de edicin. Por ello,
en las versiones anteriores slo REGEDT32.EXE
poda acceder a toda la funcionalidad de un registro
NT. REGEDIT.EXE en Windows XP y versiones
superiores es compatible con los permisos de edicin.
REGEDIT.EXE slo admita valores de cadena
(REG_SZ), binarios (REG_BINARY) y DWORD
(REG_DWORD). REGEDT32.EXE admita
estos valores, adems de la cadena expandible (REG_EXPAND_SZ) y la cadena mltiple
(REG_MULTI_SZ). Al intentar editar tipos de
clave no compatibles con REGEDIT.EXE en
Windows 2000 o Windows NT 4.0 se produca su
conversin irreversible en un tipo compatible.[18]
Windows XP fue el primer sistema que integr los dos
programas en uno solo, adoptando la interfaz del antiguo REGEDIT.EXE y aadiendo la funcionalidad de
REGEDT32.EXE. Las diferencias enumeradas anteriormente no son aplicables a Windows XP ni a los sistemas
posteriores; REGEDIT.EXE es el editor mejorado y REGEDT32.EXE est en desuso. En Windows XP y superiores, el Editor de registro tambin admite varias instancias cuando se especica el modicador -m. El Editor de
registro permite que los usuarios ejecuten las siguientes
funciones:
Crear, manipular, renombrar y borrar claves, valores
y datos de valores del registro.
Importar y exportar archivos.REG, exportar datos
en formato de subrbol binario
Cargar, manipular y descargar archivos del registro
con formato de subrbol (nicamente en sistemas
basados en Windows NT)
Congurar permisos basados en ACL (nicamente
en sistemas basados en Windows NT)
Marcar como favoritas claves del registro seleccionadas por el usuario.
Encontrar determinadas cadenas en nombres de clave, nombres de valor y datos de valor.
Editar remotamente el registro desde otro equipo
que est en red.
3.2
EDICIN
Archivos.REG
Windows
Registry
Editor
Version
5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft]
Value
A"="<String
value
data>"
Value
3.3 Edicin de la lnea de comandos
B"=hex:<Binary data (as comma-delimited list of
hexadecimal values)> Value C"=dword:<DWORD Se puede manipular el registro de varias formas desde la
value integer> Value D"=hex(7):<Multi-string value lnea de comandos. Las utilidades Reg.exe y RegIni.exe
data (as comma-delimited list of hexadecimal values)> estn incluidas en Windows XP y en las versiones
Value E"=hex(2):<Expandable string value data (as posteriores de Windows. Otras ubicaciones posibles
comma-delimited list of hexadecimal values)> Value en versiones antiguas de Windows pueden ser los CD
F"=hex(b):<QWORD value (as comma-delimited list of del kit de recursos o el CD de instalacin original
8 hexadecimal values, in little endian byte order)> Va- de Windows. Adems, se puede importar un archivo
lue G"=hex(4):<DWORD value (as comma-delimited .REG desde la lnea de comandos mediante el siguiente
list of 4 hexadecimal values, in little endian byte comando: RegEdit.exe /s le La /s signica que el
order)> Value H"=hex(5):<DWORD value (as comma- archivo se fusionar silenciosamente con el registro.
delimited list of 4 hexadecimal values, in big endian byte Si se omite el parmetro /s se le pedir al usuario que
order)> Value I"=hex(8):<REG_RESOURCE_LIST conrme la operacin. En Windows 98, Windows 95 y
(as comma-delimited list of hexadecimal values)> Value algunas conguraciones de Windows XP, el modicador
J"=hex(a):<REG_RESOURCE_REQUIREMENTS_LIST /s tambin hace que RegEdit.exe ignore los ajustes
(as comma-delimited list of hexadecimal values)> Value del registro que permite que los administradores lo
K"=hex(0):
deshabiliten. Cuando se utiliza el modicador /s RegELos datos de archivos.REG se pueden aadir o fusionar
con el registro haciendo doble clic sobre esos archivos o
usando el modicador /s en la lnea de comandos. Los
archivos.REG tambin se pueden utilizar para eliminar
3.6
Funcionalidad avanzada
RegEdit.exe /e le HKEY_CURRENT_CONFIG[\<key>]
RegEdit.exe /e le HKEY_CURRENT_USER[\<key>]
RegEdit.exe /e le HKEY_LOCAL_MACHINE[\<key>]
RegEdit.exe /e le HKEY_USERS[\<key>] exporta
nicamente la clave o subclave especicada. La asociacin predeterminada para los archivos .REG en
muchas versiones de Microsoft Windows. Tambin
se puede utilizar Reg.exe. ste es un ejemplo para
mostrar la versin del valor del registro: Version Reg.exe
QUERY HKLM\Software\Microsoft\ResKit /v Version
Otras opciones de lnea de comandos incluyen un
VBScript o un JScript junto con un CScript, WMI
o WMIC.exe y Windows PowerShell. Los permisos del registro se pueden manipular a travs de la
lnea de comando usando RegIni.exe y la herramienta SubInACL.exe. Por ejemplo, los permisos para
la clave HKEY_LOCAL_MACHINE\SOFTWARE
se pueden mostrar usando: SubInACL.exe /keyreg
HKEY_LOCAL_MACHINE\SOFTWARE /display
3.4
Programas o scripts
7
del inerno de las DLL habitualmente se pueden reparar
con RegSvr32.exe o con el conmutador /RegServer sin tener que volver a invocar los programas de instalacin.[26]
4 Ubicaciones
El registro puede editarse mediante las API de la biblioEl registro se almacena fsicamente en varios archivos,
teca avanzada API de Windows 32 (advapi32.dll).[21]
generalmente ocultos de los API de modo de usuario utiMuchos lenguajes de programacin ofrecen clases o funlizados para manipular datos del interior del registro. Deciones integradas de biblioteca en tiempo de ejecucin
pendiendo de la versin de Windows, habr diferentes
que rodean las API de Windows subyacentes, permitienarchivos y diferentes ubicaciones para dichos archivos,
do de este modo que los programas almacenen congupero todos ellos se encuentran en el equipo local. La ubiraciones en el registro (p. ej., Microsoft.Win32.Registry
cacin de los archivos de registro del sistema en Windows
en VB.NET y C#, o TRegistry en Delphi y Free PasNT es \Windows\System32\Cong; el subrbol de regiscal). Las aplicaciones habilitadas para COM, como Vitro especco del usuario HKEY_CURRENT_USER se
sual Basic 6, pueden usar el objeto WScript.Shell. Otro
almacena en Ntuser.dat dentro del perl del usuario. Hay
mtodo es usar la herramienta del kit de recursos de Winuno para cada usuario; si un usuario tiene un perl mdows, Reg.exe, ejecutndola desde el cdigo,[22] aunque
vil, entonces dicho archivo se copiar desde y al servidor
esto se considera un estilo de programacin muy pobre.
al iniciar sesin y al cerrar sesin respectivamente. Un
Anlogamente, los lenguajes para scrips como Perl (con
segundo archivo de registro especco del usuario llamaWin32::TieRegistry), Windows Powershell y Windows
do UsrClass.dat contiene entradas de registro COM y por
Scripting Host tambin posibilitan la edicin del registro
defecto no es mvil.
desde scripts.
3.5
Autorregistro COM
6 DIRECTIVAS
Default HKEY_USERS\.DEFAULT
Userdi - No asociado a un subrbol. Utilizado nicamente cuando se actualiza a una versin superior
del sistema operativo.[30]
A lo largo de los aos, las distintas ediciones de Windows
han utilizado diversos mtodos para hacer copias de seEl siguiente archivo se almacena en la carpeta del perl guridad y restaurar el registro, algunas de las cuales estn
obsoletas hoy en da:
de cada usuario:
%UserProle%\Ntuser.dat
HKEY_USERS\<User SID>
HKEY_CURRENT_USER)
(linked
to
by
Para Windows 2000, Server 2003 y Windows XP, el siguiente archivo adicional, especco para cada usuario, se
usa para asociaciones entre archivos e informacin COM:
NTBackup puede hacer copia de seguridad del registro como parte del Estado del sistema y restaurarla. Recuperacin automtica del sistema tambin
puede restaurar el registro en Windows XP.
HKEY_USERS\<User
SID>_Classes
defecto hasta cinco copias automticas de forma re(HKEY_CURRENT_USER\Software\Classes)
gular y restaurarlas manualmente o cuando se detecten daos. La herramienta de comprobacin del
Windows 2000 guardaba una copia alternativa de los
registro hace por defecto una copia de seguridad del
subrboles del registro (.ALT) e intentaba cambiar a ella
registro en %Windir%\Sysbckup Scanreg.exe tamcuando detectaba daos.[31] Windows XP y Windows
bin puede ejecutarse desde MS-DOS.
Server 2003 no guardan un subrbol System.alt porque
El CD-ROM de Windows 95 inclua una Utilidad de
NTLDR en esas versiones de Windows puede procesar el
recuperacin de emergencia (ERU.exe) y una Hearchivo System.log para actualizar un subrbol de sisterramienta de copia de seguridad de conguracin
ma que se ha vuelto incloherente durante un apagado o
(Cfgback.exe) para hacer copia de seguridad del reun bloqueo. Adems, la carpeta %SystemRoot%\Repair
gistro y restaurarlo. Adicionalmente, Windows 95
contiene una copia de los subrboles del registro del sistehace copia de seguridad de los archivos system.da0
ma que se crearon despus de la instalacin y del primer
y user.da0 en cada arranque correcto.
inicio correcto de Windows.
4.2
Los archivos de registro estn almacenados en el directorio %WINDIR% con los nombres USER.DAT y SYSTEM.DAT aadindose a ellos CLASSES.DAT en Windows Me. Adems, cada perl de usuario (si estn activados los perles) tiene su propio archivo USER.DAT,
ubicado en el directorio del perl del usuario en %WINDIR%\Proles\<username>\.
4.3
Windows 3.11
6 Directivas
6.1 Directiva de grupo
El nico archivo de registro se llama REG.DAT y se al- Windows 2000 y las versiones posteriores de Windows
macena en el directorio %WINDIR%.
usan directivas de grupo para aplicar la conguracin del
9
registro. La directiva puede ser aplicada localmente a un funcin se pensara originalmente para aplicaciones de 16
nico equipo usando gpedit.msc, o a varios usuarios y bits.
equipos dentro de un dominio usando gpmc.msc.
6.2
Sistemas heredados
Virtualizacin de archivos.INI
Los ncleos de Windows NT admiten el redireccionamiento de las API relacionadas con archivos INI a
un archivo virtual en una ubicacin de registro como
HKEY_CURRENT_USER utilizando una funcin llamada InileMapping.[34] Esta funcionalidad fue introducida para permitir que las aplicaciones antiguas escritas para versiones de Windows de 16 bits funcionaran en
plataformas Windows NT, en las cuales la carpeta Sistema ya no est considerada como una ubicacin adecuada
para datos o conguraciones especcas de un usuario.
Las aplicaciones de 32 bits no compatibles tambin pueden ser redireccionadas de esta forma, incluso aunque la
A diferencia del modelo de base de datos binario del registro de Windows, algunos sistemas operativos usan archivos separados de texto sin formato para el proceso
daemon y la conguracin de la aplicacin, pero agrupan
estas conguraciones para facilitar su administracin.
En los sistemas operativos de tipo Unix como Linux, que siguen el estndar de jerarqua del sistema
de archivos, los archivos de conguracin de todo
el sistema (una informacin similar a la que aparecera en HKEY_LOCAL_MACHINE en Windows) se almacenan tradicionalmente en archivos
en /etc/ y sus subdirectorios, o algunas veces en
10
10
/usr/local/etc. La informacin por usuario (informacin que sera aproximadamente equivalente a la
de HKEY_CURRENT_USER) se almacena en directorios y archivos ocultos (que comienzan con un
punto) dentro del directorio de inicio del usuario.
Sin embargo, las aplicaciones compatibles con XDG
deben referirse a las variables de entorno denidas
en la especicacin del directorio base.[35]
Las aplicaciones que funcionan en el sistema operativo Mac OS X de Apple Inc. normalmente almacenan las conguraciones en archivos lista de propiedades que generalmente se almacenan en la carpeta
Biblioteca de cada usuario.
RISC OS usa directorios para los datos de conguracin, lo que permite copiar las aplicaciones en directorios de aplicaciones, a diferencia del proceso
de instalacin separado tpico de las aplicaciones de
Windows; este enfoque tambin se usa en el ROX
Desktop para Linux.[36] Esta conguracin basada
en directorios tambin permite usar diferentes versiones de la misma aplicacin, ya que la conguracin se hace sobre la marcha.[37][38] Si se desea eliminar la aplicacin, es posible borrar simplemente
la carpeta perteneciente a la aplicacin. A menudo
esta accin no eliminar los ajustes de conguracin
que se almacenan separados de la aplicacin, normalmente dentro de la estructura !Boot del equipo,
en !Boot.Choices, o puede que en cualquier lugar de
un servidor de la red. Cuando se est ejecutando el
SO RISC, se pueden copiar programas entre equipos copiando los directorios de las aplicaciones pertenecientes a dichos programas. Sin embargo, algunos programas pueden requerir su reinstalacin, por
ejemplo cuando los archivos compartidos estn ubicados fuera del directorio de una aplicacin.[39][40]
IBM AIX (una variante de Unix) usa un componente
de registro llamado Object Data Manager (ODM).
El ODM se usa para almacenar informacin de la
conguracin del sistema y de los dispositivos. Un
amplio conjunto de herramientas y utilidades proporcionan a los usuarios los medios para ampliar,
comprobar y corregir la base de datos ODM. El
ODM almacena su informacin en varios archivos;
la ubicacin predeterminada es /etc/objrepos.
El entorno de escritorio GNOME usa una interfaz
parecida a un registro denominada GConf, para almacenar los ajustes de conguracin del escritorio y
de las aplicaciones. Sin embargo, en GConf todas las
conguraciones de aplicaciones se almacenan en archivos independientes; de este modo se elimina parcialmente el punto nico de fallo.
La Iniciativa Elektra proporciona un back-end alternativo para los archivos de texto de conguracin
del sistema operativo Linux, parecido al registro.
REFERENCIAS
10 Referencias
[1] Windows 2000 Registry: Latest Features and APIs Provide the Power to Customize and Extend Your Apps.
Consultado el 19 de julio de 2007.
[2] The System Registry.
[3] Windows 95 Architecture Components. Microsoft.
http://www.microsoft.com/technet/archive/win95/
rk31_arc.mspx?mfr=true. Retrieved 2008-04-29. The
following table shows other diculties or limitations
caused by using INI les that are overcome by using the
Registry.
[4] Raymond Chen, Why do registry keys have a default value?"
[5] Registry hives. Consultado el 19 de julio de 2007.
[6] Chen, Raymond (8 de agosto de 2011). Why is a registry
le called a hive"?. The Old New Thing. Consultado el
29 de julio de 2011.
[7] Designed for Windows XP Application Specication.
Microsoft. 20 de agosto de 2002. Archivado desde el original el 28 de noviembre de 2015. Consultado el 8 de abril
de 2009.
[8] HKEY_LOCAL_MACHINE. Microsoft. 2009. Consultado el 8 de abril de 2009.
[9] http://msdn.microsoft.com/en-us/library/aa384253(v=
vs.85).aspx
[10] Description of the Microsoft Windows registry. Consultado el 25 de septiembre de 2008.
[11] Description of the Microsoft Windows registry. Consultado el 25 de septiembre de 2008.
[12] Description of the HKEY_DYN_DATA Registry Key in
Windows 95, Windows 98, and Windows 98 SE
[13] A Closer Look at HKEY_DYN_DATA
[14] registry-repair-tools.net. Consultado el Registry Repair
Tools Reviews.
[15] Incorrect Icons Displayed for .ico Files. 15 de noviembre de 2006. Consultado el 31 March, 2012.
[16] Using Registry Editor in Real Mode
[17] Using Registry Editor in Real Mode
11
[18] Microsofts Windows 2000 Security Hardening Guide version 1.3, published May 15, 2003
[19] Oine Registry Editor user manual/doc
[20] How to add, modify, or delete registry subkeys and values
by using a registration entries (.reg) le
[21] Reading and Writing Registry Values with Visual Basic.
Consultado el 19 de julio de 2007.
[22] REG command in Windows XP. Consultado el 19 de
julio de 2007.
[23] DllInstall Function. Microsoft. 7 de marzo de 2012.
Consultado el 22 de marzo de 2012.
[24] Regsvr32. Microsoft. Consultado el 22 de marzo de
2012.
[25] How to: Register Automation Servers. Microsoft. Consultado el 22 de marzo de 2012.
[26] How to re-register PowerPoint 2000, PowerPoint 2003,
PowerPoint 2007 and PowerPoint 2010. Microsoft.
enero de 2012. Consultado el 22 de marzo de 2012.
[27] RegNotifyChangeKeyValue function. Microsoft.
[28] Registering for Notications. Microsoft.
[29] How to Manage Remote Access to the Registry. Microsoft.
[30] Overview of the Windows NT Registry. Consultado el
2 de diciembre de 2011.
[31] Inside the Registry. Consultado el 28 de diciembre de
2007.
[32] How To Backup, Edit, and Restore the Registry in Windows NT 4.0
[33] Technical Reference to the Registry: Related Resources. Microsoft. Consultado el 9 de septiembre de 2011.
[34] Chapter 26 - Initialization Files and the Registry.
Microsoft. Consultado el 3 de marzo de 2008.
[35] XDG Base Directory Specication.
[36] Application directories. Archivado desde el original el
28 de noviembre de 2015. Consultado el 17 de mayo de
2012.
[37] RISC OS tour. Consultado el 19 de julio de 2007.
[38] The RISC OS Products Directory. 2 de noviembre de
2006. Consultado el 1 April, 2012.
[39] RISC OS tour. Consultado el 19 de julio de 2007.
[40] The RISC OS Products Directory. 2 de noviembre de
2006. Consultado el 1 April, 2012.
[41] 3.2. Using the Registry and Regedit (Wine User Guide)
11
Enlaces externos
12
12
12.1
12.2
Imgenes
12.3
Funcionalidad 1
ndice
Parte Bases de datos orientadas a objetos:
1.- Introduccin
10
10
11
13
5.- POSTGRES
14
6.- SQL 99
14
Funcionalidad 1
1.- Introduccin
Las bases de datos orientadas a objetos (BDOO) son aquellas cuyo modelo de datos est
orientado a objetos y almacenan y recuperan objetos en los que se almacena estado y
comportamiento. Su origen se debe a que en los modelos clsicos de datos existen problemas para
representar cierta informacin, puesto que aunque permiten representar gran cantidad de datos, las
operaciones que se pueden realizar con ellos son bastante simples.
Las clases utilizadas en un determinado lenguaje de programacin orientado a objetos son
las mismas clases que sern utilizadas en una BDOO; de tal manera, que no es necesaria una
transformacin del modelo de objetos para ser utilizado por un SGBDOO. De forma contraria, el
modelo relacional requiere abstraerse lo suficiente como para adaptar los objetos del mundo real a
tablas.
Las bases de datos orientadas a objetos surgen para evitar los problemas que surgen al
tratar de representar cierta informacin, aprovechar las ventajas del paradigma orientado a objetos
en el campo de las bases de datos y para evitar transformaciones entre modelos de datos (usar el
mismo modelo de objetos).
Funcionalidad 1
El paso del modelo de objetos al modelo relacional genera dificultades que en el caso de
las BDOO no surgen ya que el modelo es el mismo.
Por lo tanto, las bases de datos orientadas a objetos surgen bsicamente para tratar de paliar
las deficiencias de los modelos anteriores y para proporcionar eficiencia y sencillez a las
aplicaciones.
Las debilidades y limitaciones de los SGBDR son:
Pobre representacin de las entidades del mundo real.
Sobrecarga y poca riqueza semnticas.
Soporte inadecuado para las restricciones de integridad y empresariales
Estructura de datos homognea
Operaciones limitadas
Dificultades para gestionar las consultas recursivas
Desadaptacin de impedancias
Problemas asociados a la concurrencia, cambios en los esquemas y el inadecuado acceso
navegacional.
No ofrecen soporte para tipos definidos por el usuario (slo dominios)
Mientras que las necesidades de las aplicaciones actuales con respecto a las bases de datos son:
Soporte para objetos complejos y datos multimedia
Identificadores nicos
Soporte a referencias e interrelaciones
Manipulacin navegacional y de conjunto de registros
Jerarquas de objetos o tipos y herencia
Integracin de los datos con sus procedimientos asociados
Modelos extensibles mediante tipos de datos definidos por el usuario
Gestin de versiones
Facilidades de evolucin
Transacciones de larga duracin
Interconexin e interoperabilidad
Funcionalidad 1
Funcionalidad 1
tenga que implementar una cantidad considerable de mtodos cuyo nico propsito sea el
de leer y escribir los atributos de un objeto. Generalmente, los SGBDOO permiten al
usuario especificar qu atributos y mtodos son visibles en la interfaz del objeto y pueden
invocarse desde afuera.
Otros conceptos utilizados de la misma manera que en la POO son:
o
Clases
Objetos complejos
Funcionalidad 1
Caractersticas opcionales:
1) Herencia mltiple
2) Comprobacin de tipos e inferencia de tipos
3) Sistema de base de datos distribuido
4) Soporte de versiones
un objeto puede almacenar todas las relaciones que tenga con otros objetos
Funcionalidad 1
mejor que los SGBDOO en las aplicaciones tradicionales de bases de datos como el
procesamiento de transacciones en lnea (OLTP).
Los inconvenientes de un SGBDOO son:
Carencia de un modelo de datos universal. No hay ningn modelo de datos que est
universalmente aceptado para los SGBDOO y la mayora de los modelos carecen una base
terica.
Carencia de experiencia. Todava no se dispone del nivel de experiencia del que se
dispone para los sistemas tradicionales.
Carencia de estndares. Existe una carencia de estndares general para los SGBDOO.
Competencia. Con respecto a los SGBDR y los SGBDOR. Estos productos tienen una
experiencia de uso considerable. SQL es un estndar aprobado y ODBC es un estndar de
facto. Adems, el modelo relacional tiene una slida base terica y los productos
relacionales disponen de muchas herramientas de soporte que sirven tanto para
desarrolladores como para usuarios finales.
La optimizacin de consultas compromete la encapsulacion. La optimizacin de
consultas requiere una compresin de la implementacin de los objetos, para poder acceder
a la base de datos de manera eficiente. Sin embargo, esto compromete el concepto de
encapsulacin.
El modelo de objetos an no tiene una teora matemtica coherente que le sirva de base.
Funcionalidad 1
El modelo de objetos ODMG permite que tanto los diseos como las implementaciones,
sean portables entre los sistemas que lo soportan.
ODL es un lenguaje para definir la especificacin de los tipos de objetos para sistemas
compatibles con ODMG. ODL es el equivalente de DDL (Data Definition Languaje o lenguaje de
definicin de datos) de los SGBD tradicionales. Define los atributos y las relaciones entre tipos y
especifica la signatura de las operaciones. Su principal objetivo es el de facilitar la portabilidad de
los esquemas entre sistemas compatibles al mismo tiempo que proporciona interoperabilidad entre
distintos SGBD. La sintaxis de ODL extiende el lenguaje de definicin de interfaces (IDL) de la
arquitectura CORBA (Common Object Request Broker Architecture).
OQL es un lenguaje declarativo del tipo de SQL que permite realizar consultas sobre bases
de datos orientadas a objetos, incluyendo primitivas de alto nivel para conjuntos de objetos y
estructuras. Est basado en SQL-92, proporcionando un superconjunto de la sentencia SELECT.
OQL no posee primitivas para modificar el estado de los objetos, ya que stas se deben realizar a
travs de los mtodos que dichos objetos poseen. La sintaxis bsica de OQL es una estructura
SELECT...FROM...WHERE..., como en SQL.