Ingeniero Informatico
Proyectar un fichero en
memoria
Diseño de Sistemas Operativos – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
I.
Introducción ......................................................................................... 2
II. Explicación de las llamadas de mapeo en memoria ......................... 3
Mmap ymunmap........................................................................................................ 3
NOMBRE ................................................................................................................. 3
SINOPSIS................................................................................................................. 3
DESCRIPCIÓN........................................................................................................ 3
VALOR DEVUELTO .............................................................................................. 4
ERRORES ................................................................................................................ 4
Ejemplo..................................................................................................................... 5III. Diagramas de bloques ......................................................................... 8
Programa principal .................................................................................................... 8
Guión de Bash adjunto............................................................................................... 9
IV. Descripción de los ficheros y códigofuente..................................... 10
map.c.......................................................................................................................... 10
int main (int argn, char ** argv) ............................................................................. 10
mapear.c / .h.............................................................................................................. 12
#define DEBUG_FICHERO .................................................................................. 12
char *mapearFichero(char *nombreFichero, size_t *longitud, int *fd) ................. 12
int desmapearFichero(int fd, size_t longitudInicial, char *direccion).................... 13
int imprimirFichero(int f)....................................................................................... 13
ristras.c / .h ................................................................................................................ 14
char *reemplazar(char *ristra, char *buscar, char *reemplazar)............................ 14
Makefile ..................................................................................................................... 15
V. Ejemplode uso ................................................................................... 17
Uso general ................................................................................................................ 17
1. Lanzarlo con el Makefile ('make -s' para que no haya eco). .............................. 17
2. Compilar con 'make build-map' y ejecutar'./map':............................................. 17
Guión de ejemplo: numeros..................................................................................... 18
Fichero de ejemplo: fichero ..................................................................................... 19
Práctica 4: Proyectar un fichero en memoria
Diseño de Sistemas Operativos – U.L.P.G.C.
I.
David Jesús Horat Flotats
Enrique FernándezPerdomo
Introducción
El objetivo de esta práctica es proyectar un fichero en memoria usando las
llamadas al sistema relacionadas, en concreto la mmap y munmap que explicaremos en
secciones sucesivas.
Para ello crearemos un fichero de texto con un editor y un programa que realice
las siguientes funciones sobre el fichero creado:
1. Abra el fichero
2. Proyecte el fichero en memoria...
Regístrate para leer el documento completo.