Llamadas al Sistema en UNIX.
|
|
- María del Carmen Lorena Contreras Fuentes
- hace 9 años
- Vistas:
Transcripción
1 Gestión de ficheros: creat, open, read, write, close. Un fichero en UNIX: Es una secuencia de Byte sin formato, se accede a ellos de forma directa. La interpretación del contenido depende de las variables que use para lectura y escritura (enteros, caracteres,..). Existe un puntero que indica la posición del siguiente byte a leer o escribir, se actualiza tras cada operación. Tiene asociados unos permisos: rwxrwxrwx (usuario, grupo, otros) que se representan como un número en octal Ejemplo: rwxrw-r-- será: 0764 Sistemas Operativos (IS11) Tema 1 57 Un proceso o programa tiene asignada una tabla de descriptores de ficheros. La tabla tiene un tamaño de 20 elementos. El descriptor de fichero es un número entero (0-19) que tiene asociado un fichero. El proceso accede a un fichero a través de un descriptor de ficheros. Un proceso sólo puede usar a la vez 20 ficheros. Inicialmente están asignadas las posiciones: 0: entrada estándar, 1: salida estándar, 2: salida de error estándar Sistemas Operativos (IS11) Tema 1 58
2 Creación de nuevos ficheros: creat. Sintaxis: #include <fcntl.h> int creat (nombre, mode_t permisos); const char *nombre; mode_t permisos; Si existe el fichero : No modifica los permisos. Si tiene permiso de escritura borra el contenido. Sino tiene permisos de escritura da un error. Sino existe: Lo crea y añade permisos de escritura. Devuelve un entero: Sino hay error: entre 0 y 19 (el descriptor del fichero). Devolverá el más bajo que este libre (no asociado). Si hay error: un número negativo. Ejemplos: fd=creat( prueba,0666); fd=creat( /usr/prácticas/hola/prueba.c,0600); Sistemas Operativos (IS11) Tema 1 59 Escritura de datos en un fichero: write. Sintaxis: #include <unistd.h> size_t write(desc_fich,dato,n_bytes); int desc_fich; const void *dato; size_t n_bytes; El número de caracteres que ha podido escribir (n_escritos). Un valor negativo si ha ocurrido un error en la llamada. Ejemplos: int n_escritos, fprueba; fprueba =creat( fprueba,0666); n_escritos= write(fprueba, Esto es el dato del fichero\0,28); \0 es un carácter que delimita el final de una cadena Sistemas Operativos (IS11) Tema 1 60
3 Ejemplo 1: crear fichero y escribir en el del 0 al 9 a) #include <stdio.h> #include <fcntl.h> #include <unistd.h> int main() { int i, fd; fd=creat( prueba,0600); for (i=0;i<10;i++) write(fd,&i,sizeof(i)); b) #include <stdio.h> #include <fcntl.h> #include <unistd.h> int main() { int i, fd, vector[10]; fd=creat( prueba,0600); for (i=0;i<10;i++) vector[i]=i ; write(fd,vector,sizeof(vector));!!!faltaría cerrar el fichero!!! Sistemas Operativos (IS11) Tema 1 61 Cerrar un fichero: close. Cuando no se va a acceder a los datos de un fichero se cierra. La utilidad es dejar libre un descriptor de ficheros. Sintaxis: #include <unistd.h> int close(descriptor_fichero); int descriptor_fichero; 0 si se ha cerrado el fichero ó -1 en caso contrario. Ejemplo 2: #include <stdio.h> #include <fcntl.h> #include <unistd.h> int main() { int fd, i, vector[10]; fd=creat( prueba,0600); for (i=0;i<10;i++) vector[i]=i; write(fd,vector,sizeof(vector)); close(fd); Sistemas Operativos (IS11) Tema 1 62
4 Acceso a ficheros existentes: open. Sintaxis: #include <fcntl.h> int open(nombre, modo, permisos); const char *nombre; int modo, permisos; -1 si se produce un error El número de descriptor asociado al fichero abierto (el más bajo libre en la tabla de descriptores). Modos: O_RDONLY (0) El fichero se abre para lectura. El puntero en byte 0. O_WRONLY (1) El fichero se abre para escritura. Puntero en byte 0. O_RDWR (2) El fichero se abre en modo lectura/escritura O_CREAT Sino existe el fichero se crea. O_TRUNC Si existe se borra la información que contiene. O_EXCL Con O_CREAT la llamada falla si el fichero existe. O_APPEND El puntero del fichero apunta al final del mismo. Para activar varios modos a la vez se usa un OR. Ejemplos: fd=open( fichero,1 O_CREAT,0666); fd=open( fichero,o_wronly O_CREAT O_TRUNC,0644); Sistemas Operativos (IS11) Tema 1 63 Lectura de datos de fichero: read. Sintaxis: #include <unistd.h> size_t read(fd, dato, bytes); int fd; const void *dato; size_t bytes; Hay que abrir previamente el fichero. El puntero del fichero quedará indicando el siguiente byte a leer. Tras una operación se avanza el puntero. El número de carácter leído (puede ser menor que bytes si se ha alcanzado el final del fichero). -1 si ha ocurrido un error en la llamada. Sistemas Operativos (IS11) Tema 1 64
5 Ejemplo 3: escribir en prueba de 0 a 9 y después leer el contenido de prueba e imprimir en pantalla. #include <stdio.h> #include <unistd.h> #include <fcntl.h> int main() { int fd, i, vector[10], dato, leidos; fd= creat( prueba,0600); for (i=0;i<10;i++) vector[i]; write(fd,vector,sizeof(vector)); close(fd); fd= open( prueba,o_rdonly); while ((leidos= read(fd,&dato,sizeof(int)))>0) { printf( Leido el número %d\n,dato); close(fd); Sistemas Operativos (IS11) Tema 1 65 Gestión de procesos: fork, wait, exit, execlp, execvp, pipe y dup. Hay una versión jerárquica de procesos: Un proceso (hijo) aparece porque otro proceso lo genera (padre) mediante una llamada al sistema. Clases de llamadas: Para generar y controlar procesos: fork, wait, exec. Para reiniciar el código del proceso: execlp, execvp. Para comunicación entre procesos: pipe, dup. Crear un nuevo proceso: fork. Sintaxis: pid=fork(); int pid; Si un proceso la ejecuta, se crea otro proceso que es réplica de si mismo en memoria: El código (programa) de los dos procesos es el mismo. Sistemas Operativos (IS11) Tema 1 66
6 Cada proceso continua la ejecución por separado (en el punto de la llamada). Todas las variables serán idénticas. Los descriptores de ficheros son iguales. Cómo se distingue entre el padre y el hijo? fork() devuelve un entero: Valdrá cero en el hijo. Valdrá el identificador del proceso hijo en el padre. Ejemplo 4: #include <stdio.h> main() { printf( Inicio de test\n ); if (fork() = = 0) printf( Yo soy el hijo \n ); else printf( Yo soy el padre \n ); Sistemas Operativos (IS11) Tema 1 67 Ejemplo 5: #include <stdio.h> int main() { int i, j; if (fork()!=0) else { for (i=0;i<100;i++) { for (j=0;j<100000;j++); printf( Proceso padre. Indice i=%d\n,i); { for (i=0;i<100;i++) { for (j=0;j<100000;j++); printf( Proceso hijo. Indice i=%d\n,i); Sistemas Operativos (IS11) Tema 1 68
7 Ejemplo 6: Dos procesos leen simultáneamente de un fichero #include <stdio.h>... int main() { int i, j fd; int dato; fd= open( fprueba,o_rdonly); if (fork()!=0) { while (read(fd,&dato,sizeof(int))>0) { for (j=0;j<100000;j++); /*espera*/ printf( Proceso padre. Dato =%d\n,dato); else { while (read(fd,&dato,sizeof(int))>0) { for (j=0;j<100000;j++); /*espera*/ printf( Proceso hijo. Dato =%d\n,dato); close(fd); Sistemas Operativos (IS11) Tema 1 69 Reiniciar el código del proceso: variantes de exec. Permite cambiar el código del programa que se ejecuta: Cargará en memoria el código de un programa que estará en un fichero ejecutable. Lo carga sobre el código que existía en el proceso, sustituyéndolo. Una vez cargado comienza a ejecutarse. Qué ocurre con las instrucciones que hay después de exec en el programa original? Hay 6 llamadas exec. Veremos dos: execlp y execvp. Sintaxis: #include <unistd.h> int execlp(fichero,arg0,arg1,arg2,, argn, (char *)0); const char *fichero; const char *arg0; const char *arg1; const char *arg2;. const char *argn; Sistemas Operativos (IS11) Tema 1 70
8 Sintaxis: #include <unistd.h> int execvp(fichero, argv); const char *fichero; const char *argv[]; Ejemplo: execlp( ls, ls, -l,null); execvp( ls, ls -l ); Espera a que termine el proceso hijo: wait. En ocasiones es necesario que el proceso padre espere a la finalización de un proceso hijo. Sintaxis: #include <sys/wait.h> pid_t wait(estado); int *estado; El valor del pid del proceso hijo que acaba. El proceso padre se desbloqueará cuando el hijo termine: normal (exit(0)) o anormalmente. Sistemas Operativos (IS11) Tema 1 71 Ejemplo 7: #include <stdio.h> int main() { int j, fd; int dato, estado; /* Diferencia ejemplo 6 */ fd= open( fprueba,o_rdonly); if (fork()!=0) { while (read(fd,&dato,sizeof(int))>0) { for (j=0;j<100000;j++); printf( Proceso padre. Dato =%d\n,dato); wait(&estado); /* Diferencia ejemplo 6 */ else { while (read(fd,&dato,sizeof(int))>0) { for (j=0;j<100000;j++); printf( Proceso hijo. Dato =%d\n,dato); close(fd); Sistemas Operativos (IS11) Tema 1 72
9 Terminación de un proceso: exit. Sintaxis: #include <stdlib.h> void exit(estado); int estado; Indica al S.O. la terminación del proceso. No es necesaria, si aconsejable: Cierra los descriptores de ficheros abiertos (Ver ejemplo 1). Si el proceso padre ejecutó una llamada wait se activa. Comunicación entre procesos: pipe (tubería): UNIX proporciona un mecanismo básico de comunicación entre procesos: tuberías. Es un tipo especial de fichero. Tiene asociados dos descriptores de ficheros. Por uno los procesos pueden escribir en la tubería. Por el otro pueden leer de la tubería. Sistemas Operativos (IS11) Tema 1 73 Sintaxis: int pipe(descriptor); int descritor[2]; descriptor[1]: descriptor para escribir datos en la tubería. descriptor[0]: descriptor para leer datos de la tubería (en orden llegada) Cuando se cierra descriptor[1] se introduce un EOF. Ejemplo 8: Escribir y leer en una tubería #include <stdio.h> #include <unistd.h> int main() { int dato, fd[2]; pipe (fd); for (dato=0;dato<10;dato++) write(fd[1],&dato,sizeof(int)); close(fd[1]); prinf( Datos escritos en la tubería\n ); printf( Se leen los datos\n ); while (read(fd[0],&dato,sizeof(int))>0) printf( %d\n,dato); close(fd[0]); Sistemas Operativos (IS11) Tema 1 74
10 Ejemplo 9: Escribir y leer en tubería #include <stdio.h> #include <unistd.h> int main() { int dato, fd[2]; pipe (fd); for (dato=0;dato<10;dato++) write(fd[1],&dato,sizeof(int)); prinf( Datos escritos en la tubería\n ); printf( Se leen los datos\n ); while (read(fd[0],&dato,sizeof(int))>0) printf( %d\n,dato); close(fd[1]); close(fd[0]);!! Mal, no acaba!! hay que cerrar fd[1] para que read no se bloquee Sistemas Operativos (IS11) Tema 1 75 Ejemplo10: #include <stdio.h> /*COMUNICACIÓN PADRE HIJO*/ int main(argc,argv[]) int argc; char *argv[]; {int tubería[2], dato, suma, estado; pipe(tuberia); if (fork()!=0) { /* proceso padre, escribe de 1 a dato */ close(tuberia[0]); dato=atoi(argv[1]); /*transforma argv[1] en entero*/ for (i=1;i<=dato;i++) write(tuberia[1],&i,sizeof(int)); close(tuberia[1]); /* Que pasa si la quito? */ wait(&estado); /* Que pasa si la quito? */ printf( El padre finaliza despues que el hijo\n ); else { /* proceso hijo, suma de 1 a dato*/ close(tuberia[1]); suma = 0; while (read(tuberia[0],&dato,sizeof(int))>0) suma=suma+dato; close(tuberia[0]); /* Que pasa si la quito? */ prinf( Suma calculada en el proceso hijo%d\n,suma); Sistemas Operativos (IS11) Tema 1 76
11 Duplicación de descriptores de fichero: dup. Sintaxis: #include <unistd.h> int dup(desc_fich); int desc_fich; Duplica el descriptor de fichero que se le pasa como parámetro. Devuelve el número del nuevo descriptor duplicado (tendremos dos descriptores apuntando al mismo sitio): Utilizaría el descriptor de fichero de número más bajo para la copia. Sistemas Operativos (IS11) Tema 1 77 Ejemplo 11: #include <stdio.h> int main() {int fichero, duplicado, i dato, salir; fichero= creat( fprueba,0644); for (i=0;i<10;i++) write(fichero,&i,sizeof(int)); close(fichero); printf( Ya se ha creado el fichero\n ); fichero=open( fprueba,o_rdonly); printf( Abierto el fichero sobre descriptor: %d\n,fichero); duplicado= dup(fichero); printf( Duplicado sobre descriptor: %d\n,duplicado); salir= FALSE; while (!salir) {salir= (read(fichero,&dato,sizeof(int))==0); if (!salir) {printf( dato leido mediante fichero = %d\n,dato); salir= (read(duplicado,&dato,sizeof(dato))==0); if (!salir) printf( dato leido mediante duplicado = %d\n,dato); else printf( Final de fichero encontrado en duplicado\n ); else printf( Final de fichero encontrado en fichero\n ); close(fichero); close(duplicado); Sistemas Operativos (IS11) Tema 1 78
12 Gestión de ficheros y directorios: remove, rename, lseek, stat, mkdir, rmdir y chdir. Borrar un fichero: remove. Sintaxis: #include <stdio.h> int remove (Filename); const char *Filename; Borra el fichero llamado Filename El fichero no se borrará si está abierto cuando se utiliza la llamada remove. Si el fichero tiene varios links (enlaces duros) la cuenta de estos desciende en uno. cero en caso de que se haya podido borrar el fichero. un valor no nulo en caso contrario. Sistemas Operativos (IS11) Tema 1 79 Cambio el nombre de un directorio o fichero: rename. Sintaxis: #include <stdio.h> int rename (FromPath, ToPath); const char * FromPath, ToPath; FromPath identifica el fichero o directorio cuyo nombre se cambia. ToPath identifica el nuevo path. FromPath, ToPath deben ser ambos del mismo tipo (fich, o direc). Si ToPath es fichero o directorio vacío se reemplaza por FromPath. Si es directorio no vacío no cambia el nombre y da error. -1 en caso de error. 0 en caso contrario. Errores: Si no se tienen permisos de ejecución en los directorios de los caminos (paths), permisos de escritura en los directorios o ficheros oportunos, etc. Si algún parámetro está siendo usado al mismo tiempo por el sistema. Si ToPath especifica un directorio no vacío, FromPath es directorio y ToPath no ó FromPath es fichero y ToPath no. Sistemas Operativos (IS11) Tema 1 80
13 Mover puntero de lectura o escritura de un fichero abierto : lseek. Sintaxis: #include <unistd.h> off_t lseek ( FileDescriptor, Offset, Whence) int FileDescriptor, Whence; off_t Offset; Posiciona el puntero de un fichero abierto cuyo descriptor sea FileDescriptor. FileDescriptor especifica el descriptor de un fichero abierto con la llamada open. Offset especifica el valor en bytes que se desplazará el puntero. Un valor negativo mueve en dirección inversa. El valor de offset está limitado por OFF_MAX. Whence especifica cómo interpretar Offset para mover el puntero del fichero especificado por FileDescriptor. Será uno de los siguientes valores que están definidos en el fichero /usr/include/unistd.h: Sistemas Operativos (IS11) Tema 1 81 SEEK_SET (ó 0) Mueve el puntero a la posición indicada por Offset. SEEK_CUR (ó 1) El Offset se usa como desplazamiento relativo desde la posición actual del puntero. La posición final del puntero será (actual + Offset). SEEK_END (ó 2) El Offset se usa como desplazamiento relativo desde el final del fichero. La posición final del puntero será (final de fichero + Offset). Devuelve la localización final del puntero en bytes medida desde el inicio del fichero. Devuelve -1 en caso de error.. Errores: Si FileDescriptor no corresponde a un fichero abierto. Si FileDescriptor corresponde a una tubería abierta. Si el offset sobrepasa el límite permitido definido en OFF_MAX. En el fichero /usr/include/unistd.h están definidos los macros, tipos y subrutinas. Sistemas Operativos (IS11) Tema 1 82
14 Obtiene información referente a un fichero : stat. Sintaxis: #include <sys/stat.h> int stat ( Path, Buffer ) const char *Path; struct stat *Buffer; Obtiene información referente a un fichero del cual damos su path. Path especifica el nombre del fichero. Buffer es un puntero a la estructura stat en el que se devuelve la información. No son necesarios permisos de lectura, escritura o ejecución para el fichero. En la ruta del Path todos los directorios deben tener permisos de ejecución. Detallamos aquí sólo los campos de la estructura stat más importantes. Sistemas Operativos (IS11) Tema 1 83 Detallamos aquí sólo los campos de la estructura stat más importantes. struct stat { dev_t st_dev; /* Dispositivo de ubicación del i_nodo */ ino_t st_ino; /* Número de i_nodo */ mode_t st_mode; /*Bits que indican tipo de fichero y permisos, en octal*/ nlink_t st_nlink; /* Número de enlaces al fichero */ uid_t st_uid; /* UID del propietario */ gid_t st_gid; /* GID del propietario */ off_t st_size; /* Tamaño del archivo en caracteres o bytes */ time_t st_atime; /* Tiempo de último acceso */ time_t st_mtime; /* Tiempo de última modificación */ time_t st_ctime; /* Tiempo de último cambio en el i_nodo */ Sistemas Operativos (IS11) Tema 1 84
15 -1 en caso de error. 0 en caso contrario. Errores: Permiso denegado en alguno de los directorios del path. Un componente del path no es un directorio. No existe el fichero. La estructura stat está definida en el fichero /usr/include/sys/stat.h. Los valores de algunos campos de stat están definidos en anubis en el fichero /usr/include/sys/mode.h y para linux ver: man 2 stat Los tipos de datos están definidos en el fichero /usr/include/sys/types.h. Sistemas Operativos (IS11) Tema 1 85 El campo st_mode viene representado por un número en octal de 6 dígitos Digíto1) número octal que representa los permisos de otros sobre el fichero. Digíto2) número octal que representa los permisos de grupo sobre el fichero. Digíto3) número octal que representa permisos de usuario sobre el fichero. Para averiguar los permisos se pueden utilizar las siguientes máscaras de bits (los valores están puestos en octal), que se encuentran definidas en los diferentes ficheros que se incluyen al usar la llamada stat. #define S_IRWXU /* read,write,execute perm: owner */ #define S_IRUSR /* read permission: owner */ #define S_IWUSR /* write permission: owner */ #define S_IXUSR /* execute/search permission: owner */ #define S_IRWXG /* read,write,execute perm: group */ #define S_IRGRP /* read permission: group */ #define S_IWGRP /* write permission: group */ #define S_IXGRP /* execute/search permission: group */ #define S_IRWXO /* read,write,execute perm: other */ #define S_IROTH /* read permission: other */ #define S_IWOTH /* write permission: other */ #define S_IXOTH /* execute/search permission: other */ Sistemas Operativos (IS11) Tema 1 86
16 Digíto 4) No lo usaremos. Digíto5 y 6) Contiene el tipo de fichero. Para averiguarlo se utilizan las siguientes máscaras de bits (los valores están puestos en octal), que se encuentran definidas en los diferentes ficheros que se incluyen al usar la llamada stat. #define S_IFMT /* type of file */ #define S_IFREG /* regular */ #define S_IFDIR /* directory */ #define S_IFBLK /* block special */ #define S_IFCHR /* character special */ #define S_IFIFO /* fifo */ Para conocer un campo concreto de la estructura stat se puede utilizar máscaras junto con la operación & (se trata de un AND bit a bit) o usar macros. Ver man 2 stat. Al utilizar & es conveniente usar paréntesis para distinguir con claridad la prioridad de las operaciones que se utilicen. Sistemas Operativos (IS11) Tema 1 87 Ejemplo: Si queremos ver si un nombre que pasamos como primer argumento al programa es un fichero regular, tendríamos que poner al menos las siguientes líneas de programa { struct stat campo;... /*Sacar el contenido de la estructura*/ stat(argv[1], &campo); /*Usar una máscara para ver si es fichero*/ if ( ( ( )&(campo.st_mode) ) = = ( ) ) printf( %s es un fichero regular \n, argv[1] ); else printf( %s no es un fichero regular \n, argv[1] ); Sistemas Operativos (IS11) Tema 1 88
17 Ejemplo: La línea if del ejemplo anterior puede realizarse utilizando el nombre dado para la máscara en el fichero /usr/include/sys/stat.h (o consultar man 2 stat). Quedará entonces: if ( ( (S_IFREG)&(campo.st_mode) ) = = (S_IFREG) ) printf( %s es un fichero regular \n, argv[1] ); else printf( %s no es un fichero regular \n, argv[1] ); Sistemas Operativos (IS11) Tema 1 89 Ejemplo: Finalmente, podemos utilizar una macro denominada S_ISREG(m) definida en el fichero /usr/include/sys/stat.h (mode.h en anubis). Así dichas líneas quedarían: : if ( S_ISREG ( campo.st_mode ) ) printf( %s es un fichero regular \n, argv[1] ); else printf( %s no es un fichero regular \n, argv[1] ); Las macros definidas son: S_ISFIFO(m) tipo de fichero fifo S_ISDIR(m) tipo de fichero directorio S_ISCHR(m) tipo de fichero de caracteres especiales S_ISBLK(m) tipo de fichero de bloques especiales S_ISREG(m) tipo de fichero regular Sistemas Operativos (IS11) Tema 1 90
18 Crea un directorio: mkdir. Sintaxis: #include <stdio.h> int mkdir (Path, Mode); const char * Path; mode_t Mode; Crea un nuevo directorio con los bits de permisos indicados en Mode. Path especifica el nombre del nuevo directorio. Mode especifica la máscara de lectura, escritura y ejecución para usuario, grupo y otros con la que se creará el nuevo directorio (en octal). -1 en caso de error. 0 en caso contrario. Errores: No se tienen los permisos adecuados para crear el directorio. El nombre dado existe como fichero. La longitud del Path es demasiado larga. Algún componente del Path no es un directorio o no existe. Sistemas Operativos (IS11) Tema 1 91 Borra un directorio: rmdir. Sintaxis: #include <stdio.h> int rmdir (Path); const char * Path; Borra el directorio especificado en Path. Para ello hay que tener permiso de escritura en el directorio padre de Path. Path especifica un nombre de directorio. -1 en caso de error. 0 en caso contrario. Errores: No se tiene permiso de escritura en el directorio padre de Path. El directorio no está vacío. La longitud de Path excede la permitida. No existe el directorio. Uno componente de Path no es directorio. El directorio se refiere a un punto en el que hay montado un dispositivo. Sistemas Operativos (IS11) Tema 1 92
19 Cambiar el directorio de trabajo: chdir. Sintaxis: #include <stdio.h> int chdir (Path); const char * Path; Cambia el directorio de trabajo actual por el directorio indicado en Path Path especifica el nombre del directorio donde se desea cambiar -1 en caso de error. 0 en caso contrario. Errores: El acceso al nuevo directorio no está permitido (no se tienen permisos adecuados) Path no es un directorio. Sistemas Operativos (IS11) Tema 1 93 Ejercicio 12.-En una base de datos (fichero llamado base) tenemos el formato que se describe a continuación. Los registros (de 2 campos) son de longitud fija, 64 bytes. El primer campo tiene formato de número entero (4 bytes) y almacena un entero que da la longitud del nombre acumulado en el segundo campo. El segundo campo contiene el nombre asociado (caracteres) seguido por caracteres basura hasta un total de 60 bytes. El formato sería el siguiente: 8 Mercedes 6 Carlos 7 Julieta Realizar un programa en C que usando llamadas al sistema lea, de manera adecuada, el fichero base que represente la base de datos anterior e imprima en pantalla en diferentes líneas los nombres que contiene. Sistemas Operativos (IS11) Tema 1 94
20 #include <stdio.h> #include <unistd.h> #include <fcntl.h> main() { int fd, n, i, mueve, n_read, pos; dato, leidos; char dato[60]; fd= open( base, 0); /*abrir base para leer*/ n= lseek(fd, 0, 0); /*posicionar en primer dato*/ for (i=1;i<4;i++) /* recorrer cada registros { n_read=read(fd,&pos,sizeof(int)); /*leer primer entero*/ n_read=read(fd, dato, pos); /*leer nombre de tamaño pos*/ dato[pos]= \0 ; /*fin de nombre leido*/ printf( %s\n, dato); /*imprimir nombre*/ mueve=64*i; /*puntero al siguiente registro*/ n=lseek(fd, mueve,0); close(fd); /*cerrar fichero*/ Sistemas Operativos (IS11) Tema 1 95 Ejercicio 13.-Realizar un programa en C que usando la llamada al sistema stat, nos imprima en pantalla si el nombre que se pasa como argumento es un fichero o es un directorio. En caso de ser fichero debe también imprimir la siguiente información: -tamaño del mismo -permisos que tenga habilitados -tiempo de la ultima modificación (usar ctime) Ejemplo de ejecución: pepe es fichero de tamaño 512 bytes permiso de lectura para propietario permiso de escritura para propietario permiso de ejecución para el grupo se modificó en Tue Nov 9 18:26: Sistemas Operativos (IS11) Tema 1 96
21 #include <stdio.h> #include <unistd.h> #include <time.h> main(argc, argv) int argc; char * argv[]; { struct stat campo; stat(argv[1], &campo); if (S_ISDIR(campo.st_mode)) printf( %s es un directorio\n, argv[1]); else if (S_ISREG(campo.st_mode)) { printf( %s es un fichero\n, argv[1]); printf( de tamaño %d \n, campo.st_size); /*PERMISOS PROPIETARIO*/ if (((S_IRUSR)&(campo.st_mode))= =(S_IRUSR)) /* */ printf( De lectura para el propietario\n ); if (((S_IWUSR)&(campo.st_mode))= =(S_IWUSR)) /* */ printf( De escritura para el propietario\n ); if (((S_IXUSR)&(campo.st_mode))= =(S_IXUSR)) /* */ printf( De ejecución para el propietario\n ); Sistemas Operativos (IS11) Tema 1 97 /*PERMISOS GRUPO*/ if (((S_IRGRP)&(campo.st_mode))= =(S_IRGRP)) /* */ printf( De lectura para el grupo\n ); if (((S_IWGRP)&(campo.st_mode))= =(S_IWGRP)) /* */ printf( De escritura para el grupo \n ); if (((S_IXGRP)&(campo.st_mode))= =(S_IXGRP)) /* */ printf( De ejecución para el grupo \n ); /*PERMISOS OTROS*/ if (((S_IROTH)&(campo.st_mode))= =(S_IROTH)) /* */ printf( De lectura para otros\n ); if (((S_IWOTH)&(campo.st_mode))= =(S_IWOTH)) /* */ printf( De escritura para otros \n ); if (((S_IXOTH)&(campo.st_mode))= =(S_IXOTH)) /* */ printf( De ejecución para otros \n ); printf( Se modifico en: %s \n, ctime(&campo.st_mtime)); Sistemas Operativos (IS11) Tema 1 98
Sistemas Operativos Práctica 3
Sistemas Operativos Práctica 3 Ing. Andrés Bustamante afbustamanteg@unal.edu.co Ingeniería de Sistemas Facultad de Ingeniería Universidad de la Amazonia 2009 1. Objetivo El objetivo de la práctica es que
Más detalles7. Manejo de Archivos en C.
7. Manejo de Archivos en C. Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan normalmente en un dispositivo de
Más detallesSOLUCION EXAMEN junio 2006
SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los
Más detallesSea el siguiente programa de nombre "c0p1" para copiar archivos (por simplicidad se ha eliminado todo control de errores): Se pide:
Sea el siguiente programa de nombre "c0p1" para copiar archivos (por simplicidad se ha eliminado todo control de errores): 1 /* c0p1 origen destino 2 * Copia "origen" sobre "destino" byte a byte, 3 * haciendo
Más detallesSistemas Operativos. Iván Bernal, Ph.D. 4. Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec. Copyright @2002, I.
Sistemas Operativos Clase # 9 Tipos de llamadas al Sistema Viernes, 3 de Mayo de 2002 Agenda Sorpresa! no hay prueba. Tipos de llamadas al sistema. Iván Bernal, Ph.D. Escuela Politécnica Nacional email:
Más detallesObjetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la
Más detallesBoletín 3- Archivos. Departamento de Lenguajes y Sistemas Informáticos
Boletín 3- Archivos Departamento de Lenguajes y Sistemas Informáticos Indice 1. Introducción al acceso a Archivos 1. Acceso a archivos en alto nivel 2. Acceso a archivos en bajo nivel 2. El acceso a los
Más detallesContenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.
Contenido Sistema de archivos Operaciones sobre archivos Métodos de acceso a archivos Directorio Sistema de archivos por capas Espacio libre Sistema de archivos Proporciona el mecanismo para el almacenamiento
Más detallesAsignación de disco en UNIX
SISTEMA DE FICHEROS Asignación de disco en UNIX Asignación de disco indexada (i-nodes) Bloques libres enlazados. Bloques de datos (y índices) Boot area Superblock Lista de i-nodes Introducció als Sistemes
Más detallesSistemas Operativos I Manual de prácticas
Sistemas Operativos I Manual de prácticas Grupo de Sistemas Operativos (DSIC/DISCA) Práctica 3: Procesos POSIX ANTES DE EMPEZAR...... 2 PRÁCTICA 3: PROCESOS POSIX... 2 CREACIÓN DE PROCESOS MEDIANTE FORK...
Más detallesFILE *nombre_puntero_fichero; fopen(char_nombre_archivo,char_modo_apertura ); MODOS DE APERTURA. Abre un archivo de texto para lectura.
FICHEROS El sistema de archivos de C está diseñado para secuencias que son independientes del dispositivo. Existen dos tipos se secuencias: de texto que es una ristra de caracteres organizados en líneas
Más detallesFicheros y Directorios
Ficheros y Directorios Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Archivos Archivos UNIX Abstracción de datos que representa un espacio de almacenamiento,
Más detallesContenidos. Archivos en C++ Archivos en C++ Introducción
Contenidos 1. Introducción. 2. Manipulación de ficheros. 3. Organización de archivos. 4. Tipo de almacenamiento. 5. Biblioteca de flujos. 6. Operaciones asociadas a archivos: Abrir fichero, Cerrar fichero,
Más detallesFormatos para prácticas de laboratorio
Fecha de efectividad: CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA LSC 2003-1 5221 Lenguaje de Programación Estructurada PRÁCTICA No. 8 LABORATORIO DE NOMBRE DE LA PRÁCTICA Licenciado
Más detallesShell de Unix ProgPLN
Shell de Unix ProgPLN Víctor Peinado v.peinado@filol.ucm.es 9 de octubre de 2014 Never use the graphical tool; always learn the old Unix tool. You ll be far more effective over time and your data will
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 10 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante INDICE 1.1 EJERCICIO 1: MI PRIMER FICHERO EN BINARIO... 1 1.2 EJERCICIO 2: LEYENDO MI PRIMER FICHERO
Más detallesEsquema de un programa en C: bloques básicos
Esquema de un programa en C: bloques básicos // Incluimos los ficheros de cabecera que necesitemos. // Esto es un comentario #include #include // Si queremos definir alguna constante,
Más detallesGUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS
ARCHIVOS ANEXOS Son los documentos, hojas de cálculo o cualquier archivo que se anexa a las carpetas, subcarpetas, hallazgos u otros formularios de papeles de trabajo. Estos archivos constituyen la evidencia
Más detallesAbelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada.
Arquitectura de sistemas Abelardo Pardo University of Sydney School of Electrical and Information Engineering NSW, 2006, Australia Autor principal del curso de 2009 a 2012 Iria Estévez Ayres Damaris Fuentes
Más detalles6 Sistemas de Archivos
6 Sistemas de Archivos Conceptos generales Archivos Directorios Semánticas de consistencia 1 Persistencia de datos Los sistemas de archivos implementan el almacenamiento persistente - los datos creados
Más detallesSEGURIDAD Y PROTECCION DE FICHEROS
SEGURIDAD Y PROTECCION DE FICHEROS INTEGRIDAD DEL SISTEMA DE ARCHIVOS ATAQUES AL SISTEMA PRINCIPIOS DE DISEÑO DE SISTEMAS SEGUROS IDENTIFICACIÓN DE USUARIOS MECANISMOS DE PROTECCIÓN Y CONTROL INTEGRIDAD
Más detallesEntrada y Salida de Archivos
Entrada y Salida de Archivos E/S Básica de Archivo El servicio básico es sin buffering, a diferencias de la E/S estándar (stdio.h), dado que las primeras generan llamadas al sistema (read y write). Son
Más detallesSOROLLA2 GUÍA PRÁCTICA SIMPLIFICADA. Relaciones de transferencias. Marzo del 2014
DE PRESUPUESTOS SOROLLA2 GUÍA PRÁCTICA SIMPLIFICADA Relaciones de transferencias Marzo del 2014 1. DE PRESUPUESTOS Aunque la operativa es prácticamente idéntica, vamos a distinguir dos tipos entre las
Más detallesIntroduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por
Más detallesAnexo B. Comunicaciones entre mc y PC
Anexo B Comunicaciones entre mc y PC En este apartado se hará hincapié en los comandos para el manejo del módulo de comunicaciones desde el PC. Conociendo estos comando se podrá realizar una aplicación
Más detallesMANUAL DE LA APLICACIÓN HELP DESK
CASAMOTOR MANUAL DE LA APLICACIÓN HELP DESK Desarrollado por: NOVIEMBRE, 2012 BOGOTÁ D.C. - COLOMBIA INTRODUCCIÓN Este documento es el manual de la aplicación de Help Desk de Casamotor, producto desarrollado
Más detalles1. Visualización de datos con Octave
1. Visualización de datos con Octave Versión final 1.0-19 agosto 2002 Octave es un poderoso software de cálculo numérico. En este documento explicamos un subconjunto realmente pequeño de sus comandos,
Más detallesTema 4. Gestión de entrada/salida
Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada
Más detallesApuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:
Apuntes de ACCESS Campos de Búsqueda: Los campos de búsqueda permiten seleccionar el valor de un campo de una lista desplegable en lugar de tener que escribirlos. El usuario sólo tiene que elegir un valor
Más detallesLEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)
APRENDERAPROGRAMAR.COM LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde
Más detallesManual de rol gestor de GAV para moodle 2.5
Manual de rol gestor de GAV para moodle 2.5 Consultas LDAP-GAUR... 2 Buscar en LDAP datos de un usuario... 2 Docentes... 3 Buscar en GAUR datos de un docente... 3 Buscar en GAUR la docencia de un docente
Más detallesFunciones POSIX (I): Introducción
Funciones POSIX I Funciones POSIX I Llamadas al Llamadas al Sistema Sistema Gestión Básica Gestión Básica de Procesos de Procesos Procesos Procesos fork fork Señales Señales getpid getpid Memoria Memoria
Más detallesSistema de Ficheros. Sistemas Operativos - ITIG. Álvaro Polo Valdenebro. Abril 2009. apoloval@gsyc.es. GSyC - 2009 Introducción 1
Sistema de Ficheros Sistemas Operativos - ITIG Álvaro Polo Valdenebro apoloval@gsyc.es Abril 2009 GSyC - 2009 Introducción 1 c 2009 GSyC Algunos derechos reservados. Este trabajo se distribuye bajo la
Más detallesProgramación de Sistemas. Programación de Sistemas con Ansi C sobre UNIX. Gestión de errores. Gestión de errores. Ficheros regulares
Programación de Sistemas con Ansi C sobre UNIX Pedro Merino Gómez Jesus Martínez Cruz Dpto. Lenguajes y Ciencias de la Computación Universidad de Málaga Programación de Sistemas Llamadas al sistema Gestión
Más detallesRedirecciones y Tuberías
Redirecciones y Tuberías Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Redirecciones Redirección de la entrada y la salida estándar Unix/Linux definen
Más detallesTema 4. Gestión del sistema de ficheros
Tema 4. Gestión del sistema de ficheros Índice Definición de fichero Atributos de un fichero Estructura interna de los ficheros Métodos de acceso Operaciones básicas sobre ficheros El sistema de directorios
Más detalles#include <fstream.h> ifstream descriptor ( nombre.extensión ); ofstream descriptor ( nombre.extensión );
ARCHIVOS EN C++ = FLUJOS DE ENTRADA/SALIDA. Ejemplo: cin y cout Tipos de ficheros: DE TEXTO y BINARIOS Biblioteca de gestión de ficheros (a incluir en los programas) #include Apertura de ficheros
Más detallesSISTEMAS OPERATIVOS AVANZADOS
SISTEMAS OPERATIVOS AVANZADOS TEMA 3 CLAVE: MIS 204 PROFESOR: M.C. ALEJA DRO GUTIÉRREZ DÍAZ 3. PROCESOS CONCURRENTES 3.1 Conceptos de programación concurrente 3.2 El problema de la sección crítica 3.3
Más detallesGestion de archivos. Problemas al almacenar datos sólo en la memoria:
Gestion de archivos Problemas al almacenar datos sólo en la memoria: 1. El tamaño está limitado por el tamaño de la memoria qué pasa con aplicaciones que necesiten acceder a gran cantidad de información?
Más detallesArrays y Cadenas en C
Arrays y Cadenas en C Los arrays son variables estructuradas, donde cada elemento se almacena de forma consecutiva en memoria. Las cadenas de caracteres son declaradas en C como arrays de caracteres y
Más detallesUnidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)
Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.
Más detallesQue es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos.
Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos. Qué es PHP? PHP (Hypertext Preprocessor). Es un lenguaje de programación: De código
Más detallesPreliminares. Tipos de variables y Expresiones
Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un
Más detallesGVisualPDA Módulo de Almacén
GVisualPDA Módulo de Almacén GVisualPDA es una aplicación para Windows Mobile 5/6 que amplía más aún las posibilidades de integración del software de gestión GVisualRec permitiendo estar conectados en
Más detallesAutor: Microsoft Licencia: Cita Fuente: Ayuda de Windows
Qué es Recuperación? Recuperación del Panel de control proporciona varias opciones que pueden ayudarle a recuperar el equipo de un error grave. Nota Antes de usar Recuperación, puede probar primero uno
Más detallesBackup & Recovery Oracle 9i. Las copias físicas offline, conocidas como Backups en frío, se realizan cuando la Base de Datos está parada.
Copias de Seguridad Físicas OFFLINE Las copias físicas offline, conocidas como Backups en frío, se realizan cuando la Base de Datos está parada. Como ya se ha comentado anteriormente, una copia en frío
Más detallesPS.Vending Almacén Pocket PC
Versión 1.0 Enero 2013 Autor: Pedro Naranjo Rodríguez www.psvending.es Contenido Qué es PS.Vending Almacén Pocket PC?... 3 Funciona PS.Vending Almacén Pocket PC independiente de PS.Vending?... 3 Requisitos...
Más detallesMANUAL APLICACIÓN. SOFTWARE GESTIÓN DE CLÍNICAS DENTALES
1. ÍNDICE MANUAL APLICACIÓN. SOFTWARE GESTIÓN DE CLÍNICAS DENTALES 1. INTRODUCCIÓN...4 2 INSTALACIÓN DE LA APLICACIÓN...4 3 PANTALLA DE ACCESO...5 4 SELECCIÓN DE CLÍNICA...6 5 PANTALLA PRINCIPAL...7 6.
Más detallesMANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO
MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO Fecha última revisión: Junio 2011 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 3 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 3 HERRAMIENTA
Más detallesSIIGO Pyme. Templates. Cartilla I
SIIGO Pyme Templates Cartilla I Tabla de Contenido 1. Presentación 2. Qué es un Template? 3. Qué Aspectos se Deben Tener en Cuenta Antes de Diseñar o Modificar un Template? 4. Cuáles son las Formas que
Más detallesEjemplos de conversión de reales a enteros
Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print
Más detallesGESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS
GESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS 1.- PLANTILLA DE PUBLICACIONES En este maestro crearemos la publicación base sobre la cual el programa generará
Más detallesOperación de Microsoft Word
Generalidades y conceptos Combinar correspondencia Word, a través de la herramienta combinar correspondencia, permite combinar un documento el que puede ser una carta con el texto que se pretende hacer
Más detallesEn esta unidad añadiremos información sobre EXT3 y trabajaremos con aspectos visibles que nos proporcionan estos sistemas de archivos.
ESTRUCTURA DEL SISTEMA DE ARCHIVOS 1. Introducción. En la unidad anterior se esbozó mediante la explicación de los formatos del disco duro, distintos tipos de sistemas de archivos: FAT16, FAT32, NTFS y
Más detallesIngeniería Informática. Curso 3º. Sistemas Operativos Examen Final. TEORIA. 4 de Septiembre de 2009
Ingeniería Informática. Curso 3º. Sistemas Operativos Examen Final. TEORIA. 4 de Septiembre de 2009 1. [PROCESOS] a) Considerar el siguiente código: void main() { int j=10; pid_t pid; for (int i=0; i
Más detallesCONCEPTOS BASICOS. Febrero 2003 Página - 1/10
CONCEPTOS BASICOS Febrero 2003 Página - 1/10 EL ESCRITORIO DE WINDOWS Se conoce como escritorio la zona habitual de trabajo con windows, cuando iniciamos windows entramos directamente dentro del escritorio,
Más detallesSistemas de ficheros en Servidores de Información multimedia
Sistemas de ficheros en Servidores de Información multimedia 2º Ingeniero Técnico de Telecomunicación Imagen y Sonido Departamento de Ingeniería Telemática Universidad Carlos III de Madrid 2 Indice Concepto
Más detallesProgramación Estructurada
Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 11 Nombre: Manejo de archivos Contextualización En los lenguajes de programación estructurada como C, que carecían de una conexión a base
Más detallesWINDOWS 2008 5: TERMINAL SERVER
WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.
Más detallesIntroducción a la Firma Electrónica en MIDAS
Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento
Más detallesSISTEMAS OPERATIVOS: INTRODUCCIÓN Y CONCEPTOS BÁSICOS. Servicios del Sistema Operativo
SISTEMAS OPERATIVOS: INTRODUCCIÓN Y CONCEPTOS BÁSICOS Servicios del Sistema Operativo ADVERTENCIA 2 Este material es un simple guión de la clase: no son los apuntes de la asignatura. El conocimiento exclusivo
Más detallesSistemas Operativos sesión 12: tuberías
Sistemas Operativos sesión : tuberías Grado en Ingeniería Informática Universidad Carlos III de Madrid Agenda Linux Comunicación con tuberías Ejercicios Agenda Linux Comunicación con tuberías Ejercicios
Más detallesSistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña
Sistemas Operativos Pedro Cabalar Depto. de Computación Universidade da Coruña TEMA III. PROCESOS. P. Cabalar Sistemas( Operativos Depto. de Computación Universidade Tema da Coruña III. Procesos ) 1 /
Más detallesModulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
Más detallesTEMA 3: EL LENGUAJE C: PRESENTACIÓN
TEMA 3: EL LENGUAJE C: PRESENTACIÓN Historia del lenguaje C Características del lenguaje C Estructura de un programa en C El editor de textos: elementos Funciones: de usuario y de librería Librerías de
Más detallesPlataformas de Tiempo Real
Master en Computación Plataformas de Tiempo Real POSIX Avanzado y Extensiones Tema 2. Gestión de Interrupciones en MaRTE OS Tema 3. Monitorización y control del tiempo de ejecución Tema 4. Planificación
Más detallesSistemas de archivos distribuidos. Alvaro Ospina Sanjuan alvaro.ospina@correo.upb.edu.co
Sistemas de archivos distribuidos Alvaro Ospina Sanjuan alvaro.ospina@correo.upb.edu.co >Abstracción del sistema operativo para representar y organizar los recursos de almacenamiento >Se debe hacer la
Más detallesCopia de Seguridad en windows
Copia de Seguridad en windows Que hace cada tipo de copia de Seguridad: Normal: Copia los archivos seleccionados y los marca como copiados. Copia: Copia todos los archivos seleccionados, pero no los marca
Más detallesCapítulo 12: Indexación y asociación
Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación
Más detallesUso de archivos en C++
CICLO 02-2013 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION GUIA DE LABORATORIO Nº 11 Nombre de la práctica: Uso de archivos en C++ Lugar de ejecución: Laboratorio de Informática
Más detallesCreación de Funciones de Conducción
Creación de Funciones de Conducción Requerimientos Para el desarrollo de esta actividad se requiere que: Contemos con un robot BoeBot armado con placa Arduino. Repetición En estos momentos habremos notado
Más detallesASIGNACIÓN (PREROUTING) De las llamadas entrantes en función del número llamante y del número llamado
ASIGNACIÓN (PREROUTING) De las llamadas entrantes en función del número llamante y del número llamado En las llamadas entrantes, en función del número de teléfono del cliente que llama (número llamante
Más detallesExamen escrito de Programación 1
Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 2 de septiembre de 2015 Se debe disponer sobre la mesa en lugar visible un documento
Más detallesCapítulo 9. Archivos de sintaxis
Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta
Más detallesPunteros. Definición Un puntero es un dato que contiene una dirección de memoria.
Punteros Definición Un puntero es un dato que contiene una dirección de memoria. NOTA: Existe una dirección especial que se representa por medio de la constante NULL (definida en ) y se emplea
Más detallesTrey-SAT Pag. 1. Manual de usuario
Trey-SAT Pag. 1 Manual de usuario Trey-SAT Pag. 2 Modulo SAT : Servicio de asistencia técnica TREY-SAT es un potente módulo para el servicio de asistencia técnica, completamente integrado a la Gestión
Más detallesBases de datos en Excel
Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Bases de datos en Excel Hojas de cálculo Tema 5 Bases de datos en Excel Hasta ahora hemos usado Excel básicamente para realizar cálculos
Más detallesSeguridad de los sistemas de ficheros
Seguridad de los sistemas de ficheros Ampliación de Sistemas Operativos Trabajo realizado por: Jose Yeray Suárez Perdomo 1 Introducción (I) La seguridad en el sistema de ficheros es la más conocida por
Más detallesAprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS
Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS Por Andrés Raúl Bruno Saravia Entrega Nº 5. Cómo declaramos una variable en Lenguaje C? En C siempre se deben declarar las variables.
Más detallesGestión de Retales WhitePaper Noviembre de 2009
Gestión de Retales WhitePaper Noviembre de 2009 Contenidos 1. Introducción 3 2. Almacén de retales 4 3. Propiedades de los materiales 6 4. Alta de retales 8 5. Utilización de retales en un lote de producción
Más detallesMANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD
MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...
Más detallesGUIA DE LABORATORIO 1(Tercera Parte) Sistemas operativos
GUIA DE LABORATORIO 1(Tercera Parte) Sistemas operativos Este material se compone de 2 partes: Primera Parte(el primer Documento) A) Configuración del entorno. B) Comandos de Ubuntu 12.04 Segunda Parte(el
Más detallesTema 2: La clase string
: string Programación 2 Curso 2013-2014 Índice 1 Cadenas de caracteres en C 2 Entrada / salida 3 entre vectores de caracteres y string 4 5 Cadenas de caracteres en C En C, las cadenas de caracteres tienen
Más detalles!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!
INFORMÁTICA Práctica4. ProgramaciónbásicaenC. GradoenIngenieríaenElectrónicayAutomáticaIndustrial Curso2015H2016 v2.1(18.09.2015) A continuación figuran una serie de ejercicios propuestos, agrupados por
Más detallesBibliotecas Escolares. Perfil de Lector.
Bibliotecas Escolares. Perfil de Lector. 2012 Como usuario Lector de AbiesWeb, podrás acceder al catálogo de fondos, solicitar reservas, ver tus préstamos activos, ver el historial de tus lecturas, escribir
Más detallesNORMA 34.14(SEPA) 05/11/2013
NORMA 34.14(SEPA) 05/11/2013 1. Descripción La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que se efectúe el pago de transferencias a los beneficiarios
Más detallesUnidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte)
Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte) Unidad de trabajo 2: INFORMÁTICA BÁSICA... 1 1. Representación interna de datos.... 1 1.2. Sistemas de numeración.... 2 1.3. Aritmética binaria...
Más detalles19 4.1.1.0 4 04/05/2009
Soluciones Informáticas Descripción: Como utilizar la Agenda de Visitas Objetivos: Al finalizar este tutorial el usuario será capaz de utilizar la Agenda de Visitas con sus diferentes opciones: asignar
Más detallesNotas para la instalación de un lector de tarjetas inteligentes.
Notas para la instalación de un lector de tarjetas inteligentes. Índice 0. Obtención de todo lo necesario para la instalación. 3 1. Comprobación del estado del servicio Tarjeta inteligente. 4 2. Instalación
Más detallesMicrosoft Access proporciona dos métodos para crear una Base de datos.
Operaciones básicas con Base de datos Crear una Base de datos Microsoft Access proporciona dos métodos para crear una Base de datos. Se puede crear una base de datos en blanco y agregarle más tarde las
Más detallesARCHIVOS. 1. Introducción. 2. Definición de archivo. 3. Archivos de acceso secuencial. 4. Gestión de un archivo secuencial de estructuras
ARCHIVOS 1. Introducción 2. Definición de archivo 3. Archivos de acceso secuencial 3.1. fopen 3.2. fclose 3.3. fcloseall 3.4. putc 3.5. getc 3.6. fscanf 3.7. fprintf 4. Gestión de un archivo secuencial
Más detallesIntroducción a la programación orientada a objetos
Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación
Más detalles3.1. Guardar un libro de trabajo
Vamos a ver las operaciones referentes a archivos como abrir, nuevo, guardar, guardar como y cerrar para poder manejarlas sin problemas a la hora de trabajar con libros de trabajo de Excel. Básicamente
Más detallesGrupo: Documentación Tipo documento: Manual de Usuario V.1.0 /2011 René Darío Pacios Díaz
Proyecto - Rene Downloader v1.0 - Pág.1/7 Proyecto - Rene Downloader v1.0 - Pág.2/7 INDICE INDICE... 2 1. Introducción... 3 2. Instrucciones de manejo... 3 2.1. Controles básicos... 3 2.2. Estableciendo
Más detallesESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS
UNA SESIÓN EN SPSS INTRODUCCIÓN. SPSS (Statistical Product and Service Solutions) es un paquete estadístico orientado, en principio, al ámbito de aplicación de las Ciencias sociales, es uno de las herramientas
Más detallesGENERACIÓN DE CÓDIGO
GENERACIÓN DE CÓDIGO INTRODUCCION La generación de código es la fase más compleja de un compilador, puesto que no sólo depende de las características del lenguaje fuente sino también de contar con información
Más detallesTEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS
TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS 1) EL PEQUEÑO EDITOR El Bloc de notas de Windows XP es un básico editor de texto con el que podemos escribir anotaciones, de hasta 1024 caracteres por línea y
Más detallesEn cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Más detallesDISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.
DISCOS RAID Raid: redundant array of independent disks, quiere decir conjunto redundante de discos independientes. Es un sistema de almacenamiento de datos que utiliza varias unidades físicas para guardar
Más detallesIntroducción a Linux. El regreso a los años 70: la consola (III)
Qué es y cómo acceder a una consola? Algunos comandos para moverse Sintaxis general de parámetros en BASH Encadenamiento de comandos Otros comandos GNU Editores de textos Permisos y usuarios Permisos y
Más detalles