Filtrar

Auxiliar 13: Señales 21

Iván Henríquez Aguirre 10 Jul 202310/07/23 a las 10:58 hrs.2023-07-10 10:58:10
Auxiliares

El viernes pasado tuvimos la última clase auxiliar, acerca de Señales y el uso de sigsetjmp y siglongjmp para atraparlas, en un comportamiento muy similar a los try y except.

Como siempre tienen el enunciado y la pauta en material docente (recuerden que para compilar programas que usen math.h deben añadir la flag -lm). Además, pueden revisar el video del semestre pasado.

¡Saludos!
  •  

Auxiliar 12: Repaso para el Examen 36

Vicente I. González 7 Jul 202307/07/23 a las 13:40 hrs.2023-07-07 13:40:07
Auxiliares

Buenas,

El viernes pasado hicimos repaso para el examen que se viene, vimos preguntas de strings, estructuras recursivas, assembler riscv y paralelización con fork. Creo que es una auxiliar clave y que les servirá mucho para lo que se viene, así que échenle un ojo cuando puedan.

As always, la pauta y el enunciado están disponibles en material docente, y para aquellos que no pudieron asistir, tienen disponible el video de semestres anteriores.

Preparación del examen 82

Luis Mateu B. 4 Jul 202304/07/23 a las 11:02 hrs.2023-07-04 11:02:04
Información

El examen es el miércoles 12 de julio de 18:00 a 21:00.  Entra toda la materia hasta la cátedra sobre señales.  Se hará en la misma modalidad del control, es decir presencial con apuntes personales.

Para preparar el examen les pido lo siguiente:

- Resolver este examen.  Descarguen también los tests de prueba.
- Resolver las preguntas 1a, 1c y 2i del examen del semestre pasado.  La 1c se resuelve con un restador (o negador), multiplexor y comparador.  No se compliquen tratando de colocar un reloj.
- Resolver las preguntas del control que no contestaron bien, o si no dieron el control.

Recomiendo primero resolver los problemas Uds. mismos y luego intercambien soluciones con otro compañero o compañera.  Revisen la otra solución y discutan cuál es la mejor.  Prefieran la simplicidad  si esto no viola un requisito o restricción del enunciado.

Ultimas cátedras: jueves 29 de junio y martes 4 de julio 49

Luis Mateu B. 26 Jun 202326/06/23 a las 20:45 hrs.2023-06-26 20:45:26
Cátedras asíncronas

Ambas cátedras están grabadas.  Abriré una sesión de zoom para que puedan hacer consultas mañana martes y el jueves, en el horario de la cátedra.

Jueves 29


Esta clase estaba planificada para mañana pero debido al anuncio del decano queda para el día jueves.

Temario: variables de ambiente, información del proceso y del usuario, setjmp/longjmp

VideoPdfarchivos adjuntos

Martes 4


Temario: señales, configurar un cronómetro regresivo, abortar un cálculo si se excede un tiempo determinado

VideoPdfarchivos adjuntos

Auxiliar 11: Fork y Pipes 30

Iván Henríquez Aguirre 24 Jun 202324/06/23 a las 20:54 hrs.2023-06-24 20:54:24
Auxiliares

Hola chiques,

El último viernes tuvimos la clase de paralelización con procesos pesados, o forks, y su comunicación a través de pipes.

Como siempre, acá tienen el enunciado, la pauta y el video. OJO con el video porque hay un par de imprecisiones que les puede costar puntos en el examen, pueden leer estas correcciones también en la descripción del video en Youtube (la pauta ya está corregida)

- Hay que hacer read antes de waitpid, no al revés. Porque si el pipe se llena mientras el hijo está escribiendo, él esperará a que el padre lea de él para hacer espacio y seguir escribiendo. Pero al hacer waitpid antes, el padre esperará a que el hijo termine antes de leer, generando un "deadlock", quedando ambos procesos pausados eternamente.
- Hay que cerrar fds[i][0] después de leer, si no, el padre no permite que se libere el file descriptor, creando una "gotera". Si eventualmente se agotaran los file descriptors, no se podrían abrir más pipes o leer archivos. En el hijo no es necesario, ya que al morir el proceso se cierra automáticamente su lado, pero si el padre llegase a crear pipes en un loop, podría pasar que se agoten los file descriptors si nunca los va cerrando.

¡Saludos!

Auxiliar 10: Directorios Unix 26

Vicente I. González 15 Jun 202315/06/23 a las 21:40 hrs.2023-06-15 21:40:15
Auxiliares

Buenas,

El viernes pasado (08/06) vimos todo lo relacionado con directorios Unix, lo cual les sirve para realizar la tarea 7. Son 2 problemas, entre esos y el list-dir incluido en el enunciado, debería ser bastante directo el diseño de la solución para la tarea.

As always, para los que no vinieron está el video de los semestres anteriores, y la pauta (con un resumen de regalo) y el enunciado están disponibles en material docente.

Cátedras del martes 13 y jueves 15 de junio 29

Luis Mateu B. 12 Jun 202312/06/23 a las 19:02 hrs.2023-06-12 19:02:12
Cátedras asíncronas

Las cátedras están grabadas.  Abriré una sesión de zoom durante el horario de la cátedra para que hagan consultas relacionadas con el curso.

Martes


Temario: Creación de procesos con fork, pipes

Video (de la clase de un semestre anterior)
Pdf del martes: unix-fork.pdf
Archivos adjuntos

La clase del martes está casi completa, pero no pude terminarla porque se calló mi router y perdí la conexión a Internet en el minuto 59. La continuación de la clase está en el video de la clase del jueves.

Jueves


Temario: Cambiar archivo ejecutable con exec, el shell de comandos

Video
Pdf: unix-exec.pdf
Archivos adjuntos

Logisim: Cuidado con alterar los pines en la plantilla 25

Luis Mateu B. 12 Jun 202312/06/23 a las 12:57 hrs.2023-06-12 12:57:12
Información

Si no les funciona el circuito de test, seleccionen el módulo div/mod y vayan a Proyecto->Edit circuit appearance (la plantilla).  Cuando creé la plantilla ubiqué correctamente los pines (círculos y cuadrados), pero a veces, al editar el circuito, se mueven los pines como en este ejemplo:

a3af9b47ae9bbb040e3be00c6a54d4cf.png

El pin para rdy se movió.  Desplácenlo con el mouse sobre la leyenda rdy para resolver el problema.

(Inicialmente había publicado esto en el foro, pero como no aparecía la figura con el ejemplo, tuve que moverlo a novedades.)

Auxiliar 9: Caché y Arquitecturas 23

Vicente I. González 9 Jun 202309/06/23 a las 00:45 hrs.2023-06-09 00:45:09
Auxiliares

Buenas,

Para sorpresa de nadie, de nuevo se me olvidó publicar la pauta.

El viernes pasado (02/06) tuve mi gran y anticipada vuelta a hacer auxiliares, en este caso cubrimos la materia de caché y arquitecturas. Cosas a tener en cuenta: el auxiliar sirve para hacer la parte B y C de la tarea 6. Para aquellos que no pudieron asistir, tienen el video de semestres anteriores.

La pauta y el enunciado están disponible en material docente.

Cátedras del martes 6 y jueves 8 de junio 78

Luis Mateu B. 5 Jun 202305/06/23 a las 16:13 hrs.2023-06-05 16:13:05
Cátedras asíncronas

Considerando la baja asistencia a cátedra en estas últimas semanas, la última unidad del curso será asíncrona.  Vean los videos de las clases de semestres previos por favor.  Abriré una sesión de consultas por zoom para que hagan todo tipo de consultas: tareas, materia, materia atrasada, etc.

Martes 6


Temario: el sistema operativo unix, historia, manual, núcleo, sistema de archivos, lectura/escritura.

Videopdf de un semestre previo.

Jueves 8


Temario: Permisos en Unix, links duros, links simbólicos, atributos de archivos, recorrido de directorios.

Videopdf de un semestre previo
Archivos adjuntos