Universidad Tecnológica Nacional Facultad Regional Buenos Aires Ingeniería en Sistemas de Información Introducción a BerkeleyDB Sistemas Operativos.

Slides:



Advertisements
Presentaciones similares
Introducción a C++ Sistemas Operativos
Advertisements

Universidad Tecnológica Nacional Facultad Regional Buenos Aires Ingeniería en Sistemas de Información Introducción a C Sistemas Operativos.
Universidad Tecnológica Nacional Facultad Regional Buenos Aires Ingeniería en Sistemas de Información Introducción a C Sistemas Operativos.
Tema #10. FICHEROS.
Lenguaje C++.
Memoria Compartida Llave de acceso Segmento Compartido 1234 estructura
SQL Sigla del nombre “Structured Query Language”.
Universidad Tecnológica Nacional Facultad Regional Buenos Aires Ingeniería en Sistemas de Información Funciones Útiles fork() Sistemas Operativos.
FICHEROS.
TEMA 2 Técnicas básicas de construcción de aplicaciones distribuidas
Unidad 5 Listas Enlazadas Bibliografía: Algoritmos y Estructuras de datos de Aguilar y Martinez. Unidad 9 Autor: Ing Rolando Simon Titiosky.
Repaso para la construcción del intérprete 2012
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
Fundamentos de la Programación Estructurada
Programación I Teoría III
Programación I Teoría IV
Programación, Algoritmos y Estructuras de Datos
Estructuras de datos. Programación, Algoritmos y Estructuras de Datos.
Funciones. Programación, Algoritmos y Estructuras de Datos.
Tipos de Datos Básicos y Estructurados
Una variable en un programa es algo con un nombre, cuyo valor puede variar. La manera en que el compilador y enlazador maneja esto es asignando un bloque.
INFORMATICA I Funciones CLASE 13.
Programación en C (Segunda Parte) DATSI, FI, UPM José M. Peña
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Comunicación entre procesos en Linux
Aplicaciones Multihilo
Comunicación y sincronización entre procesos
Estructuras de Datos Punteros y algo más.
SISTEMAS DE INFORMACION
MINIX FILE SYSTEM Cátedra: Diseño e Implementación de Sistemas Operativos UTN-FRSF Tomado de: Sistemas Operativos Diseño e Implementación - A.S.Tanenbaum.
String o Cadenas Prof. Gonzalo Pastor. Cadenas o String ► En C, una cadena o texto se define como un vector de caracteres de longitud determinada que.
Diseño de algoritmos “Estructuras”
Estructuras dinámicas de datos, TAD Lista, parte 2
Programa “Coordenadas” Ing. Arturo Díaz Vargas Departamento de Sistemas División de Ciencias Básicas e Ingeniería UNIVERSIDAD AUTONOMA METROPOLITANA.
Diseño de algoritmos “Punteros”
Asignatura: Lenguaje de Programación de Sistemas PPT No.05 Programa vespertino de Ingeniería (E) en Sistemas Computacionales Profesor: José Estay Araya.
SQL Lenguaje de consulta estructurado
Signal, kill, sigaction y máscara de señales
Motores de almacenamiento en MySQL por Mario López y Juan A. Sánchez.
ÁRBOLES BINARIOS DE BÚSQUEDA
Archivos Binarios Lenguaje C Prof. Gonzalo Pastor.
1 Amelia Guillén Rodríguez Michael Kokaly Kokaly Linux : Pipe.
Informática Ingeniería en Electrónica y Automática Industrial
Archivos.
Introducción a la Programación. Lenguaje de Máquina.
Estructuras.
Lenguaje C Ing. Sonia Alexandra Pinzón Nuñez
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
Unidad VI Registros (estructuras, uniones y enumeraciones)
El lenguaje de programación C - Identificadores y variables – Isidro González Caballero ( Introducción.
Manejo de archivos de datos en C
PROGRAMACION DE ARCHIVOS (MEMORIA SECUNDARIA). Registros y archivos Si bien es cierto que se pueden manejar gran cantidad de datos del mismo y diferente.
PROGRAMACIÓN ORIENTADA A OBJETOS USANDO C++
Archivos Programación I MC Beatriz Beltrán Martínez.
Bibliotecas Nacen a partir de la necesidad de la compilación por módulos. Lo cual consiste en separar el programa principal de aquellas funciones que se.
LENGUAJE “C” Programación. Condicionales Los condicionales permiten al programa escoger entre varios posibles resultados dependiendo de la evaluación.
PUNTEROS Y REFERENCIAS
Diseño de Algoritmos. Curso J.L. Leiva O. TEMA3TEMA3 TEMA3TEMA3 Estructuras Dinámicas Contenido del Tema Profesor: José Luis Leiva Olivencia. Despacho:
1 Algunas ideas básicas en C++ Agustín J. González ELO-329.
PROGRAMACIÓN MULTIMEDIA
SQL Sigla del nombre “Structured Query Language”.
Capitulo 4 Arreglos o Arrays Unidimensionales Bidimensionales Strings
LENGUAJE “C” Programación.
Estructuras con punteros: Nodos y Listas. Un programa C.
PUNTEROS EN EL LENGUAJE C
(Lenguaje de consulta estructurado)
Archivos. Introducción Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos.
Introducción al Lenguaje C (II) Cadenas de caracteres, archivos de cabecera, lectura y escritura Fundamentos de Programación Departamento de Lenguajes.
PUNTEROS EN EL LENGUAJE C
Transcripción de la presentación:

Universidad Tecnológica Nacional Facultad Regional Buenos Aires Ingeniería en Sistemas de Información Introducción a BerkeleyDB Sistemas Operativos

nativoLos datos en formato nativo del lenguaje de programación. cliente-servidorNo tiene modo cliente-servidor. Caché configurable Bloqueos detallados Copias de seguridad y replicación en caliente. ACIDTransacciones ACID. Compatible con dbm, ndbm y hsearch. Snapshots Introducción

# apt-get install libdb4.2-dev # gcc bdb.c –o bdb –ldb Puesta en marcha

#include DB *dbp; u_int32_t flags; int ret; db_create if (!ret = db_create(&dbp, NULL, 0) { DB_CREATE flags = DB_CREATE; dbp->open if (!ret = dbp->open(dbp, NULL, "my_db.db", NULL, DB_BTREE, flags, 0)) { dbp if (dbp != NULL) dbp dbp->close(dbp, 0); } Creación de Base

1) Dos punteros de tipo DBT. a)Dato b)Clave 2) Asigno el valor al par put 3) Invoco el método put para almacenar en la base Construcción de la base

long dni = ; char *nombre = Pablo Sandoval"; DBT key, data DBT key, data; memset(&key, 0, sizeof(DBT)); memset(&data, 0, sizeof(DBT)); key.data = &dni; key.size = sizeof(long); data.data = nombre; data.size = strlen(nombre) + 1; dbp->put ret = dbp->put(dbp, NULL, &key, &data, DB_NOOVERWRITE); if (ret == DB_KEYEXIST) { dbp->err(dbp, ret, La clave %d ya existe!\n", dni); } Grabado de datos

long dni = ; char nombre[50]; DBT key, data DBT key, data; memset(&key, 0, sizeof(DBT)); memset(&data, 0, sizeof(DBT)); key.data = &dni; key.size = sizeof(long); data.data = nombre; data.ulen = 50; data.flags = DB_DBT_USERMEM; dbp->get dbp->get(dbp, NULL, &key, &data, 0); printf("Clave: %d - Valor: %s\n", dni, nombre); Lectura de datos

long dni = ; DBT key DBT key; memset(&key, 0, sizeof(DBT)); key.data = &dni; key.size = sizeof(long); dbp->del dbp->del(dbp, NULL, &key, 0); Borrado de datos

dbp->sync(); db_dump y db_load Corrupción

typedef struct t_persona { long dni; char nombre[50]; char apellido[50]; } persona p;... strcpy(p.nombre, Pablo); strcpy(p.apellido, Sandoval); p.dni = ; p.dni key.data = &(p.dni); key.size = sizeof(long); data.data = &p; data.size = sizeof(persona); dbp->put ret = dbp->put(dbp, NULL, &key, &data, DB_NOOVERWRITE); Manejo con estructuras