Llamadas al Sistema en UNIX.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Llamadas al Sistema en UNIX."

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 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 detalles

7. Manejo de Archivos en C.

7. 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 detalles

SOLUCION EXAMEN junio 2006

SOLUCION 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 detalles

Sea 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): 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 detalles

Sistemas Operativos. Iván Bernal, Ph.D. 4. Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec. Copyright @2002, I.

Sistemas 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 detalles

Objetivos 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. 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 detalles

Boletín 3- Archivos. Departamento de Lenguajes y Sistemas Informáticos

Boletí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 detalles

Contenido. 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. 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 detalles

Asignación de disco en UNIX

Asignació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 detalles

Sistemas Operativos I Manual de prácticas

Sistemas 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 detalles

FILE *nombre_puntero_fichero; fopen(char_nombre_archivo,char_modo_apertura ); MODOS DE APERTURA. Abre un archivo de texto para lectura.

FILE *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 detalles

Ficheros y Directorios

Ficheros 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 detalles

Contenidos. Archivos en C++ Archivos en C++ Introducción

Contenidos. 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 detalles

Formatos para prácticas de laboratorio

Formatos 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 detalles

Shell de Unix ProgPLN

Shell 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 detalles

Prof. Dr. Paul Bustamante

Prof. 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 detalles

Esquema de un programa en C: bloques básicos

Esquema 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 detalles

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

GUIA 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 detalles

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada.

Abelardo 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 detalles

6 Sistemas de Archivos

6 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 detalles

SEGURIDAD Y PROTECCION DE FICHEROS

SEGURIDAD 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 detalles

Entrada y Salida de Archivos

Entrada 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 detalles

SOROLLA2 GUÍA PRÁCTICA SIMPLIFICADA. Relaciones de transferencias. Marzo del 2014

SOROLLA2 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 detalles

Introduccion 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 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 detalles

Anexo B. Comunicaciones entre mc y PC

Anexo 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 detalles

MANUAL DE LA APLICACIÓN HELP DESK

MANUAL 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 detalles

1. Visualización de datos con Octave

1. 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 detalles

Tema 4. Gestión de entrada/salida

Tema 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 detalles

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Apuntes 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 detalles

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

LEER 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 detalles

Manual de rol gestor de GAV para moodle 2.5

Manual 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 detalles

Funciones POSIX (I): Introducción

Funciones 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 detalles

Sistema 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. 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 detalles

Programació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. 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 detalles

Redirecciones y Tuberías

Redirecciones 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 detalles

Tema 4. Gestión del sistema de ficheros

Tema 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 );

#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 detalles

SISTEMAS OPERATIVOS AVANZADOS

SISTEMAS 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 detalles

Gestion de archivos. Problemas al almacenar datos sólo en la memoria:

Gestion 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 detalles

Arrays y Cadenas en C

Arrays 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 detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad 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 detalles

Que 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. 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 detalles

Preliminares. Tipos de variables y Expresiones

Preliminares. 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 detalles

GVisualPDA Módulo de Almacén

GVisualPDA 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 detalles

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

Autor: 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 detalles

Backup & Recovery Oracle 9i. Las copias físicas offline, conocidas como Backups en frío, se realizan cuando la Base de Datos está parada.

Backup & 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 detalles

PS.Vending Almacén Pocket PC

PS.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 detalles

MANUAL APLICACIÓN. SOFTWARE GESTIÓN DE CLÍNICAS DENTALES

MANUAL 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 detalles

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

MANUAL 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 detalles

SIIGO Pyme. Templates. Cartilla I

SIIGO 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 detalles

Ejemplos de conversión de reales a enteros

Ejemplos 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 detalles

GESTINLIB 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 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 detalles

Operación de Microsoft Word

Operació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 detalles

En esta unidad añadiremos información sobre EXT3 y trabajaremos con aspectos visibles que nos proporcionan estos sistemas de archivos.

En 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 detalles

Ingenierí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 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 detalles

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

CONCEPTOS 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 detalles

Sistemas de ficheros en Servidores de Información multimedia

Sistemas 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 detalles

Programación Estructurada

Programació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 detalles

WINDOWS 2008 5: TERMINAL SERVER

WINDOWS 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 detalles

Introducción a la Firma Electrónica en MIDAS

Introducció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 detalles

SISTEMAS OPERATIVOS: INTRODUCCIÓN Y CONCEPTOS BÁSICOS. Servicios del Sistema Operativo

SISTEMAS 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 detalles

Sistemas Operativos sesión 12: tuberías

Sistemas 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 detalles

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña

Sistemas 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 detalles

Modulo 1 El lenguaje Java

Modulo 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 detalles

TEMA 3: EL LENGUAJE C: PRESENTACIÓN

TEMA 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 detalles

Plataformas de Tiempo Real

Plataformas 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 detalles

Sistemas 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 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 detalles

Copia de Seguridad en windows

Copia 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 detalles

Capítulo 12: Indexación y asociación

Capí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 detalles

Uso de archivos en C++

Uso 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 detalles

Creación de Funciones de Conducción

Creació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 detalles

ASIGNACIÓ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 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 detalles

Examen escrito de Programación 1

Examen 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 detalles

Capítulo 9. Archivos de sintaxis

Capí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 detalles

Punteros. 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. 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 detalles

Trey-SAT Pag. 1. Manual de usuario

Trey-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 detalles

Bases de datos en Excel

Bases 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 detalles

Seguridad de los sistemas de ficheros

Seguridad 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 detalles

Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS

Aprendiendo 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 detalles

Gestión de Retales WhitePaper Noviembre de 2009

Gestió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 detalles

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL 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 detalles

GUIA DE LABORATORIO 1(Tercera Parte) Sistemas operativos

GUIA 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 detalles

Tema 2: La clase string

Tema 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!

!!!!!!!! !!!!! 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 detalles

Bibliotecas Escolares. Perfil de Lector.

Bibliotecas 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 detalles

NORMA 34.14(SEPA) 05/11/2013

NORMA 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 detalles

Unidad 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 (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 detalles

19 4.1.1.0 4 04/05/2009

19 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 detalles

Notas para la instalación de un lector de tarjetas inteligentes.

Notas 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 detalles

Microsoft Access proporciona dos métodos para crear una Base de datos.

Microsoft 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 detalles

ARCHIVOS. 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. 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 detalles

Introducción a la programación orientada a objetos

Introducció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 detalles

3.1. Guardar un libro de trabajo

3.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 detalles

Grupo: Documentación Tipo documento: Manual de Usuario V.1.0 /2011 René Darío Pacios Díaz

Grupo: 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 detalles

ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS

ESCUELA 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 detalles

GENERACIÓN DE CÓDIGO

GENERACIÓ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 detalles

TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS

TEMA 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 detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En 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 detalles

DISCOS 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. 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 detalles

Introducción a Linux. El regreso a los años 70: la consola (III)

Introducció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