¡Bienvenido!
Este repositorio es el espacio de entrega de proyectos para la clase impartida por Gunnar Wolf de Sistemas Operativos de la Facultad de Ingeniería de la UNAM, en el semestre 2023-1 (agosto a diciembre de 2022). El sitio Web de la materia, donde encontrarán listas, calificaciones, presentaciones, temas y demás materiales es http://gwolf.sistop.org/ y el sitio desde donde pueden consultar y descargar el libro que emplearemos como referencia para el cursado es http://sistop.org/
Los alumnos utilizarán este espacio para enviar sus prácticas, tareas, proyectos, exposiciones, etc..
La razón para utilizar un árbol Git es que se vayan familiarizando con las principales herramientas de colaboración para el desarrollo de software que encontrarán. Podrán usar Git para colaborar en cada uno de los equipos, y podrán usar el flujo definido por la plataforma GitHub para realizar las entregas una vez que terminen con cada tarea o proyecto.
Un par de tutoriales para aprender a usar Git y GitHub:
- git - la guía sencilla Una corta serie de pasos para comenzar a trabajar con Git. Muy escueto, pero fácil de entender.
- Hoja de referencia para GitHub Git presenta los comandos más importantes y habituales con los que trabajarán.
- A visual Git reference Explica en términos de grafos qué son las principales operaciones en los repositorios. Muy recomendado para tener una mejor comprensión de lo que hace Git "tras bambalinas".
Emplearemos en particular la forma de trabajo impulsada por el sitio GitHub, muy popular en comunidades de desarrollo de software. ¡Espero que muchos de ustedes ya conozcan a este sitio, y espero que todos aprendan algo más acerca de cómo aprovecharlo!
- Hello World Guía de 15 minutos para comprender el flujo de trabajo colaborativo basado en los pull requests de GitHub.
- Fork a repo Otra explicación del modelo de interacción de GitHub.
- Sometimes you just need a little help Amplia lista de preguntas y respuestas de GitHub.
Como nota al pie, siendo yo un firme entusiasta del software libre de todo a todo, me duele un poco utilizar un servicio propietario (GitHub) en vez de las alternativas plenamente libres que hay para esta infraestructura. Al mismo tiempo, me resulta importante iniciarlos en el uso de esta importante herramienta de desarrollo colaborativo, así como su interacción en tanto red social.
Como sea, los invito a leer un artículo llamado The GitHub Threat (la amenaza de GitHub) para profundizar un poco en esta cuestión, que va desde lo técnico hasta lo ideológico, desde la historia comparable de otros espacios similares hasta meras suposiciones. A fines de 2018, Microsoft compró a GitHub, u si bien el funcionamiento de GitHub se ha mantenido mayormente independiente, en julio de 2019 GitHub bloqueó el acceso a desarrolladores en Irán, Siria y Crimea, por lo cual el peligro de censura no es mera fantasía.
-
Todos los alumnos deben tener una cuenta en GitHub.
-
Siempre que el profesor anuncie una tarea en clase, creará un subdirectorio dentro del área correspondiente.
-
Todos los alumnos harán un fork del árbol y desarrollarán la tarea en su fork.
- Si la tarea es en equipos, basta con que uno de ustedes lo haga — ¡Pero no olviden documentar claramente quiénes son los integrantes del equipo!
- Pueden también crear un fork y trabajar colaborativamente en éste entre varios.
-
Para todas las entregas, usa el esquema de nombre estandarizado que presentamos en la sección 4 de la práctica 1:
[tipo_entrega]/[numero]/[ApellidoNombre]/
- Esto es, por ejemplo, si voy a entregar la primera práctica,
lo hago en el directorio
tareas/1/WolfGunnar
- Si estamos resolviendo algo en equipo, el directorio se crea con
los nombres de ambos integrantes en órden alfabético, separado
por guiones: Si el segundo proyecto lo hago con Abraham Álvarez,
el directorio de entrega será
proyectos/2/AlvarezAbraham-WolfGunnar
- Esto es, por ejemplo, si voy a entregar la primera práctica,
lo hago en el directorio
-
¡Registren el desarrollo de su proyecto! En todas las entregas no triviales, se calificará el que haya un avance visible, reflejado en varios commits.
- Ojo, importa que los mensajes en la bitácora resuman el trabajo realizado a cada paso.
-
Cuando estén contantos con el desarrollo, hagan un pull request. Eso (y únicamente eso) contará como una entrega de trabajo.
El planteamiento de tareas, ejercicios y actividades que forman parte de este repositorio, así como sus resoluciones, están amparadas por la licencia Creative Commons Attribution 4.0 International (CC BY 4.0).
Puedes consultar el texto completo de la licencia.
La originalidad y autoría de cada elemento contenido en el repositorio es responsabilidad de quien lo registró (alumno o profesor).