xv6 es una reimplementación moderna de la Sexta Edición de Unix en ANSI C para sistemas multiprocesador x86 y RISC-V . Fue creada con fines educativos en el curso de Ingeniería de Sistemas Operativos del MIT en 2006. [ 1 ]
Objetivo
El curso de Ingeniería de Sistemas Operativos del MIT utilizaba anteriormente el código fuente original de V6 . xv6 se creó como un reemplazo moderno, ya que las máquinas PDP-11 no están ampliamente disponibles y el sistema operativo original estaba escrito en C arcaico anterior a ANSI. A diferencia de Linux o BSD , xv6 es lo suficientemente simple como para cubrirlo en un semestre, pero aún conserva los conceptos y la organización importantes de Unix . [ 1 ]
Autodocumentación
Una característica del Makefile para xv6 es la opción de producir un PDF del listado completo del código fuente en un formato legible. La impresión completa tiene solo 99 páginas, incluidas las referencias cruzadas. [ 2 ] Esto recuerda al código fuente original de V6 , que se publicó de forma similar en Lions' Commentary on UNIX 6th Edition, con Source Code .
libro XV6
El código fuente de xv6 se acompaña de un libro de comentarios que explica conceptos clave de los sistemas operativos utilizando xv6 como ejemplo. También menciona qué partes del sistema operativo se pueden mejorar y cómo. Por ejemplo, la versión 5 del libro RISC-V xv6 [ 3 ] , entre otros, introduce los siguientes temas:
- Interfaces del sistema operativo
- Organización del sistema operativo
- Tablas de páginas
- Trampas y llamadas al sistema
- Errores de página
- Interrupciones y controladores de dispositivos
- Cierre
- Programación
- Dormir y despertar
- Sistema de archivos
En comparación con otros sistemas operativos de enseñanza
xv6 se diferencia de otros sistemas operativos por ser muy pequeño para ser cubierto en un semestre (especialmente en comparación con Minix o Pintos), por el tipo de núcleo (xv6 monolítico frente a Minix microkernel frente a Nachos con espacio de usuario simulado) y por tener más técnicas modernas (por ejemplo, Xinu carece de paginación y memoria virtual ).
Uso educativo
XV6 se ha utilizado en cursos de sistemas operativos en muchas universidades, entre ellas:
- Universidad Adolfo Ibáñez
- Universidad de los Andes (Colombia)
- Universidad Ben-Gurion [ 4 ]
- Universidad de Binghamton
- Boston College
- CentraleSupélec
- Facultad de Ingeniería de Pune (COEP, ahora Universidad Tecnológica COEP)
- Universidad de Columbia [ 5 ]
- Instituto Ghulam Ishaq Khan [ 6 ]
- Universidad Técnica Federico Santa María
- Universidad George Washington [ 7 ]
- Universidad del Nilo [ 8 ]
- Georgia Tech [ 9 ]
- IIIT Allahabad
- IIT Bhubaneswar y PEC Chandigarh
- IIT Bombay [ 10 ]
- IIT Delhi
- IIT Madras
- IIT Gandhinagar
- IIIT Delhi
- IIIT Bangalore
- IIIT Hyderabad
- Universidad de Ciencia y Tecnología de Irán [ 11 ]
- Universidad Johns Hopkins [ 12 ]
- Instituto Tecnológico de Karlsruhe [ 13 ]
- Universidad de Linneo [ 14 ]
- Escuela de Ingeniería de Milwaukee
- Instituto Nacional de Tecnología Motilal Nehru de Allahabad
- Universidad Tecnológica de Nanyang [ 15 ]
- Universidad Nacional de Taiwán [ 16 ]
- Universidad Nacional de Córdoba [ 17 ]
- Universidad Nacional de Río Cuarto [ 18 ]
- Universidad de Nueva York
- Universidad del Noreste [ 19 ]
- Universidad Northwestern [ 20 ]
- Universidad Estatal de Portland [ 21 ]
- Universidad de Rutgers [ 22 ]
- Universidad RWTH Aachen [ 23 ]
- Universidad Tecnológica Eslovaca de Bratislava [ 24 ]
- Universidad Adventista del Sur [ 25 ]
- Universidad de Stony Brook [ 26 ]
- Technion – Instituto Tecnológico de Israel [ 27 ]
- Télécom SudParis [ 28 ]
- Universidad de Tsinghua [ 29 ]
- Universidad Federal de Minas Gerais [ 30 ]
- University College Dublin [ 31 ]
- Facultad de Ingeniería Eléctrica de la Universidad de Belgrado [ 32 ]
- Universidad de California, Irvine
- Universidad de California, Riverside [ 33 ]
- Universidad de Delaware [ 34 ]
- Universidad de Hyderabad
- Universidad de Illinois en Chicago [ 35 ]
- Universidad de Leeds [ 36 ]
- Universidad de Módena y Reggio Emilia [ 37 ]
- Universidad de Otago [ 38 ]
- Universidad de Palermo [ 39 ]
- Universidad de Pittsburgh [ 40 ]
- Universidad de Estrasburgo [ 41 ]
- Universidad del Sur de Florida [ 42 ]
- Universidad de Teherán [ 43 ]
- Universidad de Texas en Austin [ 44 ]
- Universidad de Utah [ 45 ] [ 46 ]
- Universidad de Virginia [ 47 ]
- Universidad de Wisconsin-Madison [ 48 ]
- Universidad de Kassel
- Universidad Occidental
- Universidad de Yale [ 49 ]
Referencias
- 1 2 "Xv6, un sistema operativo didáctico sencillo similar a Unix" . Consultado el 6 de mayo de 2025.
Xv6 es un sistema operativo didáctico desarrollado en el verano de 2006
. - ↑ "Listado de código fuente de xv6 (solo x86, no disponible para RISC-V)" (pdf) . Consultado el 10 de enero de 2018 .
- ↑ Cox, Russ; Kaashoek, Frans; Morris, Robert. xv6: Un sistema operativo didáctico sencillo, similar a Unix. Departamento de Ingeniería Eléctrica y Ciencias de la Computación del MIT.
- ↑ "Sistemas Operativos – Primavera 2012 – Principal" . Consultado el 26 de marzo de 2012 .
- ↑ "COMS W4118: Sistemas Operativos I, Otoño 2013" . Consultado el 9 de septiembre de 2013 .
- ↑ "Sistemas Operativos, Otoño 2022" . Consultado el 09/12/2022 .
- ↑ "CSCI 3411 – Sistemas Operativos, Otoño 2018" . Consultado el 27 de septiembre de 2018 .
- ↑ "ECEN427 - Sistemas Operativos, Otoño 2023" . Consultado el 27 de septiembre de 2023 .
- ↑ "Información general — CS-3210, otoño de 2017 1 documentación" . cs3210.cc.gatech.edu . Consultado el 21 de junio de 2019 .
- ↑ "Apuntes de clase sobre sistemas operativos" . www.cse.iitb.ac.in. Consultado el 28 de septiembre de 2020 .
- ↑ «justo os» . os-curso.github.io . Consultado el 14 de noviembre de 2020 .
- ↑ "600.318/418: Sistemas Operativos" . Archivado del original el 4 de noviembre de 2015. Consultado el 7 de noviembre de 2015 .
- ↑ «Basispraktikum Betriebssystementwicklung, ST 2024» . Archivado desde el original el 4 de octubre de 2024 . Consultado el 13 de noviembre de 2024 .
- ↑ "1DV201: Sistema operativo" . Consultado el 14 de marzo de 2013 .
- ↑ CPS-research-group/ntu-sc2005-xv6 , CPS@NTU, 2026-02-08 , consultado el 2026-02-27
- ^ "課程大綱" .
- ↑ "SistOp14: Sistemas Operativos" . Consultado el 6 de agosto de 2015 .
- ↑ "Sistemas Operativos" . Consultado el 6 de agosto de 2015 .
- ↑ "CS 3650: Sistemas informáticos, otoño de 2014" . Consultado el 9 de diciembre de 2014 .
- ↑ "EECS 343: Sistema Operativo, Otoño 2016–17" . Archivado del original el 24 de octubre de 2018. Consultado el 11 de noviembre de 2018 .
- ↑ "CS 333 Introducción a los sistemas operativos" . Archivado del original el 25/10/2018 . Consultado el 10/04/2018 .
- ↑ "01:198:416: Diseño de sistemas operativos" . Archivado del original el 11 de septiembre de 2012. Consultado el 5 de febrero de 2010 .
- ↑ "Sistemas Operativos Avanzados – Unidad de Enseñanza e Investigación de Sistemas Operativos" . www.os.rwth-aachen.de . Consultado el 13 de octubre de 2025 .
- ↑ «Operačné systémy» . UIM (en eslovaco) . Consultado el 28 de octubre de 2019 .
- ↑ "Escuela de Informática de la Universidad Adventista del Sur" . Archivado del original el 20 de octubre de 2018. Consultado el 10 de diciembre de 2017 .
- ↑ "CSE 306 -- Información del curso" . Archivado del original el 13 de abril de 2023. Consultado el 14 de abril de 2021 .
- ↑ "094210 Organización de computadoras y sistemas operativos, primavera de 2020" . Consultado el 14 de mayo de 2020 .
- ↑ "CSC 4508 - Sistemas Operativos" . Consultado el 26 de junio de 2024 .
- ↑ "FrontPage – Wiki de enseñanza de sistemas operativos" . Consultado el 18 de marzo de 2010 .
- ↑ «DCC605: Sistemas Operacionales» . Consultado el 16 de noviembre de 2015 .
- ↑ "COMP20180 Introducción a los sistemas operativos" . Consultado el 4 de abril de 2023 .
- ^ "Operativni sistemi 2 - Projektni zadatak" (en serbio). Archivado desde el original el 22 de septiembre de 2020 . Consultado el 20 de noviembre de 2021 .
Zadatak Studenta je da izmeni deo operativnog sistem xv6 tako da podrži raspoređivače čije je opis dat u ovom projektu.
- ↑ "CS 202: Sistema Operativo Avanzado" . Consultado el 2 de diciembre de 2017 .
- ↑ "CISC361: Sistemas Operativos" . Consultado el 31 de marzo de 2025 .
- ↑ "CS385 – Conceptos y diseño de sistemas operativos" . Archivado del original el 21/09/2021 . Consultado el 18/03/2015 .
- ↑ "Catálogo de módulos y programas" . webprod3.leeds.ac.uk . Consultado el 14 de octubre de 2020 .
- ↑ «Progettazione di Sistemi Operativi» . Archivado desde el original el 21 de septiembre de 2021 . Consultado el 9 de octubre de 2017 .
- ↑ "COSC440: Sistema operativo avanzado" . Archivado del original el 9 de febrero de 2022. Consultado el 14 de julio de 2015 .
- ↑ «Sistemi Operativi» . Consultado el 18 de octubre de 2015 .
- ↑ "CS 1550 Introducción a los sistemas operativos (COE 1550) - Otoño 2020" . people.cs.pitt.edu . Consultado el 28 de septiembre de 2020 .
- ↑ «Concepción de los sistemas de explotación» .
- ↑ "COP6611 Sistemas Operativos - Otoño 2023" .
- ↑ "Sistemas Operativos impartidos por el Dr. Mehdi Kargahi" .
- ↑ "Máster en Ciencias de la Computación | Ciencias de la Computación y de Datos en línea" . cdso.utexas.edu . Consultado el 10 de mayo de 2025 .
- ↑ "CS 6460: Sistemas Operativos" . Consultado el 20 de enero de 2014 .
- ↑ "Integrado en la academia : XV6" . Consultado el 8 de abril de 2014 .
- ↑ "CS4414: Introducción al XV6" . Consultado el 27 de febrero de 2022 .
- ↑ "CS-537: Introducción a los sistemas operativos" . Consultado el 4 de noviembre de 2011 .
- ↑ "CS422/522: Sistemas Operativos, Primavera 2010 — Descripción general" . Archivado del original el 23/07/2012 . Consultado el 05/02/2010 .
Enlaces externos
- 6.1810: Ingeniería de Sistemas Operativos
RISC-V:
- Código fuente de XV6
- Código fuente del libro xv6
- xv6: un sistema operativo didáctico sencillo, similar a Unix , libro xv6 rev5.
- Versión imprimible del código fuente de xv6 , revisión 5.
x86-32 ( sin mantenimiento ):
- Código fuente de XV6
- Código fuente del libro xv6
- xv6: un sistema operativo didáctico sencillo, similar a Unix , libro xv6 rev11.
- Versión imprimible del código fuente de xv6 , revisión 11.
x86-64 (mantenido por la Universidad de Estrasburgo):
- Código fuente xv6-64
- Código fuente del libro xv6-64 (EN)
- Código fuente del libro xv6-64 (FR)
- xv6-64: un sistema operativo didáctico sencillo, similar a Unix , libro xv6-64 EN.
- xv6-64: un sistema de explotación simple, proche d'Unix, para el aprendizaje , libro xv6-64 FR.
- Versión imprimible del código fuente xv6-64
- Sistemas operativos educativos
- Sistemas operativos de software libre
- Software del Instituto Tecnológico de Massachusetts
- Software que utiliza la licencia MIT.
- Variantes de Unix
- Sistemas operativos X86