Comunidad de Programadores
Iniciar sesión
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Recordar contraseña?
Iniciar sesión
Crear cuenta
Documentación y Recursos
Cursos y Manuales
Biblioteca de Temas
Código Fuente
Noticias/Artículos
PDFs de programación
Foros y Consultas
Foros de Consulta
Chats de prog.
Tablón de Notas
Diccionario informático
Programadores
Programadores
Ofertas de Trabajo
Programas
Programas/Utilidades
Nuestros Programas
Iconos y Cursores
Preguntas/Respuestas
Otros
Utilidades
Colaboradores
Encuestas/Estadísticas
Contactar
LWP
»
PDFs de programación
» Indice - Prácticas de Arquitectura de Computadores y Sistemas Operativos
PDF de programación - Indice - Prácticas de Arquitectura de Computadores y Sistemas Operativos
Volver
Filtrado por la cadena: mysql
<<
>>
Indice - Prácticas de Arquitectura de Computadores y Sistemas Operativos
Publicado el 29 de Marzo del 2018
681 visualizaciones desde el 29 de Marzo del 2018
481,8 KB
10 paginas
Creado hace 14a (07/09/2010)
Prácticas de
Arquitectura de Computadores
y Sistemas Operativos
Rubén Usamentiaga Fernández
Julio Molleda Meré
Joaquín Entrialgo Castaño
Juan Carlos Granda Candás
Resumen de contenidos
1. Introducción a las herramientas y al entorno de trabajo
2. Programación de la API Win32 en lenguaje C
3. Procesos e hilos
4. Planificación de procesos e hilos
5. Sincronización de procesos e hilos
6. Gestión de memoria
7. Interfaz con el usuario
8. Interfaz gráfica
9. Programación con sockets
10. Servidores multihilo
11. Ficheros mapeados en memoria
12. Operaciones sobre archivos y directorios
13. Relojes y temporizadores. Tareas de tiempo real
A. Preguntas frecuentes
B. La biblioteca LibAC
III
1
17
31
43
49
71
81
103
117
155
173
179
195
207
211
IV
Resumen de contenidos
Índice general
1. Introducción a las herramientas y al entorno de trabajo
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1.1. Objetivo .
1.2. Conocimientos necesarios .
.
1.3.
.
1
1
. . . . . . . . . . . . . . . . . . . . . . .
.
1
. . . . . . . . . . . . . . . . . . . . . . .
.
1
. . . . . . . . . . . . . . . . . . . . . . .
.
Introducción .
.
1
. . . . . . . . . . . . . . . . . . . . . . .
.
1.3.1. Sistema operativo .
2
1.3.2. Entorno de desarrollo .
. . . . . . . . . . . . . . . . . . . . . . .
3
1.3.3. Lenguaje de programación . . . . . . . . . . . . . . . . . . . . .
3
1.4. Creación de un programa simple desde la línea de comandos . . . . . .
4
1.5. Trabajando desde el entorno de desarrollo . . . . . . . . . . . . . . . . .
4
1.5.1. Creación de un nuevo proyecto . . . . . . . . . . . . . . . . . . .
6
1.5.2. Soluciones y proyectos .
. . . . . . . . . . . . . . . . . . . . . .
7
1.5.3. Añadiendo ficheros al proyecto . . . . . . . . . . . . . . . . . . .
7
1.5.4. Compilando y ejecutando . . . . . . . . . . . . . . . . . . . . . .
8
1.5.5. Depurando el programa paso a paso . . . . . . . . . . . . . . . .
1.5.6. Creando un proyecto para las prácticas . . . . . . . . . . . . . .
9
1.5.7. Cabeceras precompiladas . . . . . . . . . . . . . . . . . . . . . . 10
1.5.8. Modelo de programación UNICODE . . . . . . . . . . . . . . . 11
. . . . . . . . . . . . . . . . . . . . . . . 12
.
. . . . . . . . . . . . . . . . . . . . . . . 13
1.6.1. Objetos del Kernel
1.6.2. Ejemplo del uso de funciones de la API Win32 . . . . . . . . . . 13
. . . . . . . . . . . . . . . . . . . . . . . 15
. . . . . . . . . . . . . . . . . . . . . . . 15
1.6. La API de Windows .
.
.
.
.
.
.
.
.
.
1.7. Autoevaluación .
.
1.7.1. Ejercicios propuestos .
.
.
.
.
.
.
.
.
V
VI
Índice general
2. Programación de la API Win32 en lenguaje C
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Introducción .
2.1. Objetivo .
.
2.2. Conocimientos necesarios .
2.3.
.
2.4. Conceptos del lenguaje C .
2.4.1. Salida por pantalla .
.
2.4.2. Variables .
.
2.4.3. Constantes .
.
.
.
2.4.4. Tipos .
.
.
.
2.4.5. Punteros .
2.4.6. Cadenas .
.
.
.
.
2.5. Ejercicios .
.
2.6. Autoevaluación .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2.6.1. Ejercicios propuestos .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Introducción .
3. Procesos e hilos
3.1. Objetivo .
.
3.2. Conocimientos necesarios .
.
3.3.
.
.
3.4. Gestión de procesos .
.
.
3.5. Gestión de hilos .
3.6. Autoevaluación .
.
.
.
.
.
.
.
.
3.6.1. Ejercicios propuestos .
.
.
.
.
.
.
.
.
.
3.7.1. SynchronizationObject .
.
3.7.2. Runnable
3.7.3. Thread .
.
3.7. Encapsulación en clases
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
. . . . . . . . . . . . . . . . . . . . 17
. . . . . . . . . . . . . . . . . . . . 17
. . . . . . . . . . . . . . . . . . . . 17
. . . . . . . . . . . . . . . . . . . . 17
. . . . . . . . . . . . . . . . . . . . 17
. . . . . . . . . . . . . . . . . . . . 19
. . . . . . . . . . . . . . . . . . . . 20
. . . . . . . . . . . . . . . . . . . 21
.
. . . . . . . . . . . . . . . . . . . 22
.
.
. . . . . . . . . . . . . . . . . . . 27
. . . . . . . . . . . . . . . . . . . . 29
. . . . . . . . . . . . . . . . . . . . 30
.
. . . . . . . . . . . . . . . . . . 30
.
31
.
. . . . . . . . . . . . . . . . . . . 31
. . . . . . . . . . . . . . . . . . . . 31
. . . . . . . . . . . . . . . . . . . . 31
. . . . . . . . . . . . . . . . . . . . 32
. . . . . . . . . . . . . . . . . . . . 35
. . . . . . . . . . . . . . . . . . . . 37
.
. . . . . . . . . . . . . . . . . . 38
. . . . . . . . . . . . . . . . . . . . 38
. . . . . . . . . . . . . . . . . . . . 38
. . . . . . . . . . . . . . . . . . . . 39
.
. . . . . . . . . . . . . . . . . . . 40
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Introducción .
43
4. Planificación de procesos e hilos
.
. . . . . . . . . . . . . . . . . . . 43
4.1. Objetivo .
.
. . . . . . . . . . . . . . . . . . . . 43
4.2. Conocimientos necesarios .
. . . . . . . . . . . . . . . . . . . . 43
.
4.3.
.
4.4. Planificación de hilos .
. . . . . . . . . . . . . . . . . . . 44
.
.
4.5. Establecimiento de la clase de prioridad del proceso . . . . . . . . . . . 44
4.5.1. Establecimiento de la prioridad relativa de un hilo . . . . . . . . 45
Incremento automático de los niveles de prioridad (boosting) . . 46
4.5.2.
.
4.5.3. Ejercicio .
. . . . . . . . . . . . . . . . . . . 47
. . . . . . . . . . . . . . . . . . . . 48
4.6. Autoevaluación .
. . . . . . . . . . . . . . . . . . . . 48
.
.
4.6.1. Ejercicios propuestos .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Índice general
VII
49
5. Sincronización de procesos e hilos
5.1. Objetivo .
.
.
.
.
.
.
.
.
.
.
5.2. Conocimientos necesarios .
5.3.
Introducción .
.
.
.
.
.
.
.
.
.
.
.
5.4. Elementos de sincronización .
5.4.1.
Introducción .
5.4.2. Semáforos .
5.4.3. Mutex .
.
.
.
.
.
.
.
.
.
.
.
.
.
5.4.4. Secciones críticas .
5.5. Ejercicio .
.
.
.
.
5.6. Autoevaluación .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5.6.1. Ejercicios propuestos .
5.7. Encapsulación en clases
5.7.1. CriticalSection .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . 49
. . . . . . . . . . . . . . . . . . . . . . . 49
. . . . . . . . . . . . . . . . . . . . . . . 49
. . . . . . . . . . . . . . . . . . . . . . . 51
. . . . . . . . . . . . . . . . . . . . . . . 51
. . . . . . . . . . . . . . . . . . . . . . . 52
. . . . . . . . . . . . . . . . . . . . . . . 53
. . . . . . . . . . . . . . . . . . . . . . . 53
. . . . . . . . . . . . . . . . . . . . . . . 54
. . . . . . . . . . . . . . . . . . . . . . . 55
. . . . . . . . . . . . . . . . . . . . . . . 56
. . . . . . . . . . . . . . . . . . . . . . . 56
. . . . . . . . . . . . . . . . . . . . . . . 56
5.7.2. ScopedCriticalSection .
. . . . . . . . . . . . . . . . . . . . . . . 57
5.7.3. Semaphore .
5.7.4. Event .
.
.
.
.
.
.
.
5.7.5. SharedQueue .
5.7.6. ThreadPool
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6. Gestión de memoria
6.1. Objetivo .
.
.
.
.
.
.
.
.
.
.
6.2. Conocimientos necesarios .
6.3.
Introducción .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . 59
. . . . . . . . . . . . . . . . . . . . . . . 62
. . . . . . . . . . . . . . . . . . . . . . . 64
. . . . . . . . . . . . . . . . . . . . . . . 67
71
. . . . . . . . . . . . . . . . . . . . . . . 71
. . . . . . . . . . . . . . . . . . . . . . . 71
. . . . . . . . . . . . . . . . . . . . . . . 71
6.4. Gestión de la memoria virtual .
. . . . . . . . . . . . . . . . . . . . . . . 72
6.4.1. Ejercicio .
6.5. Heap .
.
.
.
.
.
.
6.5.1. Ejercicio .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . 73
. . . . . . . . . . . . . . . . . . . . . . . 77
. . . . . . . . . . . . . . . . . . . . . . . 78
6.6. Aplicabilidad de los métodos de gestión de memoria . . . . . . . . . . 78
6.7. Autoevaluación .
.
.
.
.
.
.
.
6.7.1. Ejercicios propuestos .
.
.
. . . . . . . . . . . . . . . . . . . . . . . 79
. . . . . . . . . . . . . . . . . . . . . . . 79
VIII
Índice general
7. Interfaz con el usuario
81
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Introducción .
. . . . . . . . . . . . . . . . . . . . 81
7.1. Objetivo .
.
. . . . . . . . . . . . . . . . . . . . 81
7.2. Conocimientos necesarios .
. . . . . . . . . . . . . . . . . . . . 81
7.3.
.
7.4. Análisis de la estructura básica del programa mínimo en Windows . . 82
7.4.1. Punto de entrada del programa . . . . . . . . . . . . . . . . . . . 82
7.5. Esqueleto de aplicación en Windows . . . . . . . . . . . . . . . . . . . . 83
7.6. Uso de controles en la creación de interfaces
. . . . . . . . . . . . . . . 88
. . . . . . . . . . . . . . . . . . . . 89
.
7.7. Cuadros de diálogo .
. . . . . . . . . . . . . . . . . . . . 91
7.8. Menús y otros recursos .
. . . . . . . . . . . . . . . . . . . . 92
.
.
. . . . . . . . . . . . . . . . . . . . 93
. . . . . . . . . . . . . . . . . . . . 93
.
. . . . . . . . . . . . . . . . . . . . 93
. . . . . . . . . . . . . . . . . . . . 94
. . . . . . . . . . . . . . . . . . . . 94
.
. . . . . . . . . . . . . . . . . . . 98
.
.
.
.
.
7.10.1. Ejercicios propuestos .
.
.
.
7.11. Encapsulación en clases
.
.
7.8.1. Ejercicio .
.
7.9. Depuración .
7.10. Autoevaluación .
7.11.1. Window .
7.11.2. Dialog .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8. Interfaz gráfica
103
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Introducción .
8.5.
Links de descarga
http://lwp-l.com/pdf9983
Comentarios de: Indice - Prácticas de Arquitectura de Computadores y Sistemas Operativos (0)
No hay comentarios
Comentar...
Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
Cerrar
Cerrar
Cerrar
Cerrar
Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.
Puedes registrarte o validarte desde
aquí
.
Es necesario revisar y aceptar las políticas de privacidad
Acepto las
políticas de privacidad
Tags:
api
c
ipv4
lenguaje c
programación
servidor
servidor web
sistema operativo
sistemas operativos
windows
Comentarios de: Indice - Prácticas de Arquitectura de Computadores y Sistemas Operativos (0)
No hay comentarios