Examen 3 de Sistemas Operativos 2.
Grupo 513. Cibernética 2004
Objetivo. Aplicar la arquitectura del núcleo (kernel) del sistema operativo Linux para contestar
las siguientes preguntas
Número de personas: 2 a 4 personas. Prohibido equipos de 1 persona. Equipos de mas de 4 personas son 2 puntos menos por cada persona agregada.
Entrega: Lunes 29 de noviembre 2004, 09 a.m. NO SE ACEPTAN RETRASOS
Se debe subir la respuesta al exámen a un sitio de Web en Internet y enviar por correo
electrónico a gusdelact@yahoo.com.mx la dirección de la liga WWW donde se ubica el exámen
Formato de la entrega:
Documento Word
Páginas HTML
NO INCLUIR IMAGENES EN INGLES
Cuidar ortografía
Instrucciones: TODOS los integrantes del equipo deben leer el siguiente documento
http://www.tldp.org/LDP/tlk/tlk.html
o tomarlo de
http://www.tldp.org/LDP/tlk.html.tar.gz
Los capitulos a leer son:
1. Hardware Basics
2. Software Basics
3. Memory management
4. Process
5. Interprocess Communication Mechanisms
6. PCI
7. Interrupts and Interrupt Handling
8. Device Drivers
9. The file systems
Y se deben contestar las siguientes preguntas, todas se contestan al leer con CUIDADO el documento
1a. Mencionar los principales componentes de hardware en la arquitectura de una PC.
1b. Explicar en que consiste que la CPU esté gobernado por un reloj externo.
1c. Describir los registros principales de la CPU.
1d. ¿Qué es el cache de memoria?
1e. ¿Qué es la coherencia de cache?
1f. ¿Qué es un bus en la arquitectura de computadora ?
1g. ¿Qué es un controlador IDE y SCSI ?
1h. ¿Qué es el espacio de direcciones de hardware ?
1j. ¿Qué hace el reloj de tiempo real?
2a. Explicar la filosofía del lenguaje ensamblador y la de lenguaje C y cómo se incorporan en el
desarrollo de los sistemas operativos.
2b. Explicar que es un enlazador o linker.
2c. Según el autor del documento ¿ qué es un sistema operativo ?
2d. Mencionar cuál es la función del sistema operativo para administración de memoria.
2e. Mencionar cuál es la función del sistema operativo para administración de procesos.
2f. Explicar el concepto de manejadores de dispositivos.
2g. Explicar el concepto de un sistema de archivos.
2h. Explicar los tipos de estructuras de datos usadas en el kernel.
2j. Para que sirve /proc/filesystems.
3a. Explicar las funciones del subsistema de memoria
3b. Explicar el modelo abstracto de la memoria virtual
3c. Explicar la paginación bajo demanda.
3d. ¿Qué es el intercambio de páginas?
3e. ¿Para qué sirve la memoria virtual compartida?
3f. Explicar la diferencia entre modos de direccionamiento físico y virtuales
3g. Explicar los tipos de cache que existen para el manejo de memoria virtual.
3h. Explicar el modelo de las tablas de páginas en Linux
3j. ¿Cómo se realiza la asignació o desasignación de páginas?
4a. Describir el modelo de los procesos en Linux.
4b. ¿Cómo se relacionan los identificadores de seguridad con los procesos ?
4c. Explicar como se realiza la planificación en Linux. ¿Qué contiene la estructura task_struct ?
4d. Explicar las consideraciones que se hacen cuando Linux se ejecuta en múltiples CPUs.
4e. Explicar la relación entre procesos y archivos.
4f. ¿Cómo se organiza la memoria virtual para ser usada con los procesos ? ¿Qué funciones tiene la estructura
vm_area_struct ?
4g. Indicar las consideraciones que tiene Linux para la creación de procesos.
4h.¿ Cómo se usan los cronómetros o relojes del sistema con los procesos ?
4j. Cómo se ejecuta un programa en Linux. Qué es el formato ELF.
5a. Listar todos los IPCs de Linux
5b. Explicar el modelo de signals.
5c. Qué son los pipes o tuberías. Cómo se implantan en el núcleo.
5d. Explicar que son los mecanismos IPC de System V.
5e. Explicar que es un message queue y las estructuras de datos en el núcleo.
5f. Explicar que es un semáforo y las estructuras de datos en el núcleo.
5g. Explicar que es la memoria compartida y las estructuras de datos en el núcleo.
5h. Explicar el problema de deadlocks o bloques mutuos con el modelo de semáforos.
5j. En Linux, qué es un named Pipe o FIFO.
6a. Explicar el concepto de PCI.
6b. Cuál es el modelo de espacio de direcciones PCI.
6c. Cómo se describe la configuración de los dispositivos PCI en el núcleo.
6d. Cuál es la diferencia entre E/S PCI y direcciones de memoria PCI.
6e. Explicar el concepto de puente PCI-ISA
6f. Explicar el concepto de puente PCI-PCI
6g. Cuál es el proceso de inicialización de Linux para PCI.
6h. Describir las estructuras de datos del núcleo para manejo de PCI.
6j. Explicar el concepto del manejador de dispositivos PCI.
7a. Explicar el manejo de interrupciones
7b. Explicar que son los controladores programables de interrupciones.
7c. Describir el proceso de inicialización para la estructura de datos de manejo de interrupciones.
7d. Describir el manejo de las interrupciones en el núcleo.
7e. ¿Qué hace la estructura de datos irq_section.
7f. ¿Cuál es la diferencia entre PCI e ISA?
7g. ¿Qué es un IRQ?
7h. ¿Cómo se evita que la CPU tome mucho tiempo en el modo de interrupciones ?
7j. ¿Cuál es la diferencia que se hace entre un sistema basado en BIOS y otra arquitectura?
8a. Cuáles son los 3 tipos de dispositivos de hardware que soporta Linux.
8b. Explicar los atributos comunes de los distintos manejadores de dispositivos de Linuxl.
8c. Cuál es la diferencia entre escrutinio e interrupciones.
8d. Explicar el concepto de DMA.
8e. ¿Qué consideraciones se deben hacer para el manejo de memoria con los manejadores de dispositivos ?
8f. ¿Cómo funcionan los manejadores de dispositivos de caracteres?
8g. ¿Cómo funcionan los manejadores de dispositivos de bloques?
8h. ¿Cómo se manejan los manejadores de dispositivos de discos?
8j. Describir el manejo de discos SCSI e IDE.
9a. Mencionar los distintos tipos de sistemas de archivos que soporta Linux.
9b. Explicar qué es el sistema de archivos EXT2.
9c. Describir la estructura de un nodo-i EXT2. Explicar que es el super bloque EXT2.
9d. Describir la estructura de directorios EXT2.
9e. ¿Cómo se busca un archivo en el sistema de directorios ?
9f. Explicar el concepto de un Virtual File System (VFS)
9g. Describir la estructura de un nodo-i VFS. Explicar que es el super bloque VFS.
9h. Describir el proceso de montar un sistema de archivos
9j. Explicar la estructura del "buffer cache"
10. Dibujar en un diagrama las estructuras de datos de Linux para el manejo de procesos, memoria,IPCs,interrupciones, manejadores de dispositivos y sistema de archivos.
Explicar brevemente cada estructura dibujada.
               (
geocities.com/gusdelact)