stringtranslate.com

IBMBIO.COM

IBMBIO.COM(en la parte superior de la lista de archivos COM ) en IBM PC DOS 1.0.

IBMBIO.COM es un archivo de sistema en muchos sistemas operativos DOS . Contiene el código de inicialización del sistema y todos los controladores de dispositivos integrados. También carga el núcleo DOS ( IBMDOS.COM ) y componentes de sistema precargables opcionales (como para compresión de disco o seguridad), [1] [2] muestra menús de arranque, procesa archivos de configuración (como CONFIG.SYS ) y lanza el shell (como COMMAND.COM ).

El archivo es parte del PC DOS de IBM (todas las versiones) así como de DR DOS 5.0 y superiores (con la excepción de DR-DOS 7.06 ). [2] [3] Tiene el mismo propósito que el archivo IO.SYS en MS-DOS , o DRBIOS.SYS en DR DOS 3.31 a 3.41 . [2] [3] (Para propósitos de compatibilidad con algunas aplicaciones DOS, el nombre de archivo IBMBIO.COM también fue utilizado brevemente por la versión IBM de OS/2 1.0 , donde se parecía al archivo OS2BIO.COM utilizado por Microsoft ).

El archivo se encuentra en el directorio raíz de la partición/unidad formateada FAT de arranque (normalmente C:\) y normalmente tiene configurados los atributos de archivo system , hidden y (desde DOS 2.0 también) read-only . [4] [5] [6] [2] [3] Bajo DR-DOS el archivo puede estar opcionalmente protegido con contraseña también. [3] [nb 1] Bajo PC DOS, el atributo system se configura para marcar el archivo como no movible, una restricción técnicamente no necesaria bajo DR-DOS. [7] [5] [6] [8] [3] Como IBMBIO.COM es una imagen binaria que contiene código ejecutable en lugar de un verdadero programa de estilo COM , el atributo hidden se configura para evitar que el archivo se invoque accidentalmente en el símbolo del sistema, lo que provocaría un bloqueo. [5] Esto ya no es necesario para DR-DOS 7.02 y versiones superiores, porque en estos sistemas el archivo es un binario grueso que también contiene un pequeño trozo de código de estilo COM que solo muestra información de la versión y sale correctamente cuando no lo carga un sector de arranque . [2] [5] [9]

En la secuencia de arranque de la PC , el primer sector del volumen de arranque contiene un cargador de arranque llamado registro de arranque de volumen (VBR) y se carga en la memoria y se ejecuta.

Si se trata de un VBR de PC DOS anterior a la versión 3.3, cargaría ambos archivos del sistema en la memoria por sí solo. [4] [10] Como el VBR de PC DOS no puede montar el sistema de archivos FAT, los archivos del sistema deben almacenarse en las primeras entradas de directorio del disco y ubicarse en posiciones físicas fijas en el disco almacenados en sectores consecutivos, condiciones de las cuales debe encargarse la utilidad SYS . [4] [10]

Si el sector de arranque cargado es un VBR de PC DOS 3.3 (o más reciente), los requisitos se relajan un poco. Los archivos del sistema todavía tienen que estar almacenados en las primeras dos entradas del directorio raíz del disco, pero el VBR utilizará sólo la primera entrada para cargar los primeros tres sectores de IBMBIO.COM en la memoria y transferirle el control. [10] [nb 2] Esta parte de IBMBIO.COM contiene entonces un cargador de arranque algo más grande que:

  1. Carga el resto de su contenido en la memoria. Antes de PC DOS 5.0, los archivos del sistema todavía debían almacenarse en posiciones físicas fijas en el disco y en sectores consecutivos. Con PC DOS 5.0 (y versiones posteriores), este requisito se redujo a los tres primeros sectores de IBMBIO.COM únicamente. [10] [nb 2]
  2. Carga el núcleo DOS. El núcleo se almacena en IBMDOS.COM .
  3. Inicializa cada controlador de dispositivo predeterminado por turno ( consola , disco, puerto serie , etc.). En este punto, los dispositivos predeterminados están disponibles.
  4. Llama a la rutina de inicialización del núcleo DOS.

En DR DOS 5.0 y versiones superiores, se omite el primer paso, ya que un VBR DR-DOS es capaz de montar el sistema de archivos FAT, localizar el archivo IBMBIO.COM (o DRBIOS.SYS) en cualquier lugar del directorio raíz y cargarlo en la memoria por sí mismo. [7] [2] [5] [11] [8] [3] [nb 3] [nb 4] El nombre de archivo del archivo IBMBIO.COM que debe cargar el sector de arranque se almacena en el sector de arranque en lugar de necesariamente en la primera entrada del directorio raíz, de la misma manera, el nombre de archivo del archivo IBMDOS.COM que debe cargar IBMBIO.COM se almacena en IBMBIO.COM mismo en lugar de necesariamente en la segunda entrada del directorio en el disco. [12] [2] [5] [3] Además, de manera similar al cargador IBMBIO.COM en el VBR, el cargador IBMDOS.COM en IBMBIO.COM también es capaz de montar rudimentariamente el sistema de archivos, por lo tanto, no es necesario que los archivos del sistema se almacenen en las primeras dos entradas del directorio, residan en posiciones físicas fijas o se almacenen en sectores consecutivos. En consecuencia, tampoco es necesario establecer el atributo del sistema . [7] [5] [6] [8] [3] En cambio, los archivos del sistema se pueden copiar simplemente al disco (sin SYS), siempre que ya resida en el disco un sector de arranque DR-DOS. [5] [6] [2] [8] [3]

Microsoft a veces llama a este componente el sistema de E/S, [4] [13] [14] pero generalmente se lo conoce como BIOS DOS (la parte relacionada con DOS del Sistema básico de entrada/salida ). El término BIOS fue acuñado originalmente por Gary Kildall en 1975 para CP/M , [15] [16] [17] [18] [19] [20] pero también se usa para describir un componente o capa similar en otros sistemas operativos de Digital Research, IBM, Microsoft y muchos otros.

En un sentido más genérico, algunos proveedores se refieren a esta parte como el BIOS RAM de sistemas operativos como DOS o CP/M para contrastarlo con el BIOS ROM incorporado de una máquina. [21]

Véase también

Notas

  1. ^ Además de establecer el atributo de solo lectura , los archivos del sistema pueden protegerse opcionalmente con contraseña bajo DR-DOS utilizando el comando PASSWORD o la /R[:password]opción disponible en algunas versiones del comando SYS . [a] El cargador de arranque simplemente ignoraría una contraseña de archivo establecida mientras carga el archivo, pero una vez que se haya iniciado el sistema, no se podría acceder a los archivos del sistema sin conocer la contraseña, lo que proporciona un nivel adicional de protección contra intentos accidentales de eliminar o modificar los archivos del sistema. (Esta característica de contraseña de archivo es independiente de las contraseñas de volumen o de arranque que también proporciona DR-DOS en ciertas configuraciones).
  2. ^ ab El manual de PC DOS 5.0 indica incorrectamente que los archivos del sistema ya no necesitan estar contiguos. Sin embargo, para que el proceso de arranque funcione, los archivos del sistema aún deben ocupar las primeras dos entradas del directorio y los primeros tres sectores de IBMBIO.COM aún deben almacenarse de manera contigua. [b] SYS continúa ocupándose de estos requisitos.
  3. ^ Hay una excepción a la regla de que los VBR de DR-DOS cargarán el archivo IBMBIO.COM completo en la memoria: si el archivo IBMBIO.COM es mayor de 29 KB, intentar cargar el archivo completo en la memoria haría que el cargador de arranque sobrescribiera la pila y reubicara la Tabla de parámetros de disco (DPT/FDPB). Por lo tanto, un VBR de DR-DOS 7.07 solo cargaría los primeros 29 KB del archivo en la memoria, confiando en otro cargador integrado en la primera parte de IBMBIO.COM para verificar esta condición y cargar el resto del archivo en la memoria por sí mismo si es necesario. Esto no causa problemas de compatibilidad, ya que debido a la compresión interna [c] [d] el tamaño de IBMBIO.COM nunca excedió este límite en versiones anteriores sin este cargador. Combinado con una estructura de entrada dual, esto también permite que el sistema sea cargado por un VBR de PC DOS , que cargaría solo los primeros tres sectores del archivo en la memoria.
  4. ^ La funcionalidad extendida del registro de arranque del volumen DR-DOS para montar sistemas de archivos FAT12 y FAT16 a través de CHS , buscar el archivo de arranque IBMBIO.COM y cargarlo en la memoria como un todo, incluso si no está almacenado en una ubicación fija y en sectores consecutivos, [e] [f] [g] [h] [i] [j] aún podría incluirse utilizando técnicas de optimización de código convencionales en lenguaje ensamblador hasta 7.05 , incluso mientras se mantienen los requisitos mínimos de un sistema de memoria de 32 KB con solo un procesador 8088/8086 y se continúa admitiendo tamaños de sector más grandes y la función de arranque múltiple. [f] Para la adición adicional de unidades de arranque alternativas, LBA , FAT32 y la facilidad opcional de arrancar también PC DOS / MS-DOS además de DR-DOS, los sectores 7.07 tuvieron que recurrir a código automodificable , programación a nivel de código de operación en lenguaje de máquina , utilización controlada de efectos secundarios (documentados) , superposición de datos/código de múltiples niveles y técnicas de plegado algorítmico para aún así comprimir todo en los 423 bytes disponibles para el código en un solo sector físico de 512 bytes, ya que era un requisito para la compatibilidad con versiones anteriores y cruzadas con otros sistemas operativos en escenarios de arranque múltiple y carga en cadena .SYS /DR:ext

Referencias

  1. ^ Schulman, Andrew; Brown, Ralf D .; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [noviembre de 1993]. DOS no documentado: guía del programador para funciones y estructuras de datos reservadas de MS-DOS, ampliada para incluir MS-DOS 6, Novell DOS y Windows 3.1 (2.ª edición). Reading, Massachusetts: Addison Wesley . ISBN 0-201-63287-X.(xviii+856+vi páginas, disquete de 3,5") Erratas: [1][2]
  2. ^ abcdefgh Paul, Matthias R. (1997-10-02) [1997-09-29]. "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM - README.TXT y BOOT.TXT - Una breve descripción de cómo se inicia OpenDOS". Archivado desde el original el 2003-10-04 . Consultado el 2009-03-29 .[3]
  3. ^ abcdefghi Paul, Matthias R. (14 de agosto de 2017) [7 de agosto de 2017]. "La saga continua de Windows 3.1 en modo mejorado en OmniBook 300". MoHPC - el museo de calculadoras HP . Archivado desde el original el 6 de octubre de 2017. Consultado el 6 de octubre de 2017. […] el DR-DOS FDISK no solo particiona un disco, sino que también puede formatear los volúmenes recién creados e inicializar sus sectores de arranque de una sola vez, por lo que no hay riesgo de estropear accidentalmente el volumen equivocado y no hay necesidad de FORMAT /S o SYS . Después, puede simplemente copiar los archivos DR-DOS restantes, incluidos los archivos del sistema. Es importante saber que, a diferencia de MS-DOS/PC DOS, DR-DOS tiene sectores de arranque "inteligentes" que realmente "montarán" el sistema de archivos para buscar y cargar los archivos del sistema en el directorio raíz en lugar de esperar que se coloquen en una ubicación determinada. Físicamente, los archivos del sistema pueden ubicarse en cualquier lugar y también pueden fragmentarse. […]
  4. ^ abcd Zbikowski, Mark ; Allen, Paul ; Ballmer, Steve ; Borman, Reuben; Borman, Rob; Butler, John; Carroll, Chuck; Chamberlain, Mark; Chell, David; Colee, Mike; Courtney, Mike; Dryfoos, Mike; Duncan, Rachel; Eckhardt, Kurt; Evans, Eric; Farmer, Rick; Gates, Bill ; Geary, Michael; Griffin, Bob; Hogarth, Doug; Johnson, James W.; Kermaani, Kaamel; King, Adrian; Koch, Reed; Landowski, James; Larson, Chris; Lennon, Thomas; Lipkie, Dan; McDonald, Marc ; McKinney, Bruce; Martin, Pascal; Mathers, Estelle; Matthews, Bob; Melin, David; Mergentime, Charles; Nevin, Randy; Newell, Dan; Newell, Tani; Norris, David; O'Leary, Mike; O'Rear, Bob ; Olsson, Mike; Osterman, Larry; Ostling, Ridge; Pai, Sunil; Paterson, Tim ; Pérez, Gary; Peters, Chris; Petzold, Charles ; Pollock, John; Reynolds, Aaron ; Rubin, Darryl; Ryan, Ralph; Schulmeisters, Karl; Shah, Rajen; Shaw, Barry; Short, Anthony; Slivka, Ben; Smirl, Jon; Stillmaker, Betty; Stoddard, John; Tillman, Dennis; Whitten, Greg; Yount, Natalie; Zeck, Steve (1988). "Asesores técnicos". La enciclopedia MS-DOS: versiones 1.0 a 3.2 . Por Duncan, Ray; Bostwick, Steve; Burgoyne, Keith; Byers, Robert A.; Hogan, Thom; Kyle, Jim; Letwin, Gordon ; Petzold, Charles ; Rabinowitz, Chip; Tomlin, Jim; Wilton, Richard; Wolverton, Van; Wong, William; Woodcock, JoAnne (edición completamente reelaborada). Redmond, Washington, EE. UU.: Microsoft Press . ISBN 1-55615-049-0. LCCN  87-21452. OCLC  16581341.(xix+1570 páginas; 26 cm) (NB: Esta edición fue publicada en 1988 después de una extensa reelaboración de la primera edición retirada de 1986 por un equipo diferente de autores. [4])
  5. ^ abcdefgh Paul, Matías R. (30 de julio de 1997) [1 de mayo de 1994]. NWDOS-TIP: consejos y trucos para Novell DOS 7, con un clic para deshacer detalles, errores y soluciones. MPDOSTIP (en alemán) (3 ed.). Archivado desde el original el 5 de noviembre de 2016 . Consultado el 11 de enero de 2012 .(NB. NWDOSTIP.TXTes un trabajo exhaustivo sobre Novell DOS 7 y OpenDOS 7.01 , que incluye la descripción de muchas características y componentes internos no documentados. Es parte de la MPDOSTIP.ZIPcolección aún más grande del autor mantenida hasta 2001 y distribuida en muchos sitios en ese momento. El enlace proporcionado apunta a una versión anterior del archivo convertida a HTML). [5]
  6. ^ abcd Paul, Matthias R. (9 de abril de 2001). NWDOS-TIP: consejos y trucos para Novell DOS 7, con un clic para deshacer detalles, errores y soluciones . MPDOSTIP (en alemán) (3 ed.).
  7. ^ abc Rosch, Winn L. (12 de febrero de 1991). "DR DOS 5.0 - ¿El mejor sistema operativo?". PC Magazine . Vol. 10, no. 3. págs. 241–246, 257, 264, 266. Archivado desde el original el 25 de julio de 2019. Consultado el 26 de julio de 2019. […] SYS se ha mejorado en DR DOS 5.0 , por lo que no tiene que preocuparse por dejar el primer clúster libre en un disco que desea convertir en arrancable. Los archivos del sistema DR DOS se pueden ubicar en cualquier lugar del disco, por lo que cualquier disco con suficiente espacio libre se puede configurar para arrancar su sistema. […](NB. La fuente atribuye esto a la utilidad SYS mientras que, de hecho, se trata de una característica del cargador de arranque avanzado en el sector de arranque. SYS simplemente coloca este sector en el disco).
  8. ^ abc Paul, Matthias R. (2002-02-20). "No se puede copiar". opendos@delorie . Archivado desde el original el 2017-10-06 . Consultado el 2017-10-06 . […] El sector de arranque de DR-DOS carga todo el archivo IBMBIO.COM en la memoria antes de ejecutarlo. No le importa en absoluto el archivo IBMDOS.COM , que es cargado por IBMBIO.COM. […] El sector de arranque de DR-DOS […] encontrará los […] archivos del núcleo siempre que estén almacenados lógicamente en el directorio raíz. Su ubicación física en el disco, y si están fragmentados o no, no le importa al sector de arranque de DR-DOS. Por lo tanto, puede simplemente copiar los archivos del núcleo al disco (incluso con un simple COPY ), y tan pronto como el sector de arranque sea un sector de DR-DOS, los encontrará y los cargará. Por supuesto, es difícil poner todo esto en sólo 512 bytes, el tamaño de un solo sector, pero esto es una mejora importante en cuanto a comodidad si tiene que configurar un sistema DR-DOS, y también es la clave para que funcione la utilidad DR-DOS multi-OS LOADER . Los archivos del núcleo MS-DOS deben residir en ubicaciones específicas, pero los archivos DR-DOS pueden estar en cualquier lugar, por lo que no tiene que intercambiarlos físicamente cada vez que inicia el otro sistema operativo. Además, permite actualizar un sistema DR-DOS simplemente copiando los archivos del núcleo sobre los antiguos, sin necesidad de SYS , sin procedimientos de configuración difíciles como los requeridos para MS-DOS/PC DOS. Incluso puede tener múltiples archivos del núcleo DR-DOS con diferentes nombres de archivo almacenados en la misma unidad, y LOADER cambiará entre ellos de acuerdo con los nombres de archivo que aparecen en el archivo BOOT.LST . […]
  9. ^ DR-DOS 7.03 WHATSNEW.TXT - Cambios de DR-DOS 7.02 a DR-DOS 7.03. Caldera, Inc. 1998-12-24. Archivado desde el original el 2019-04-08 . Consultado el 2019-04-08 . […] Se agregó un código auxiliar que muestra la información de compilación si COUNTRY.SYS se consideró erróneamente como un controlador de dispositivo (DEVICE=COUNTRY.SYS). También muestra la misma información si se inicia como un programa .COM. […] Se agregó un segundo método de compresión para reducir aún más el tamaño de IBMBIO.COM. […]
  10. ^ abcd Chappell, Geoff (enero de 1994). "Capítulo 2: La huella del sistema". En Schulman, Andrew; Pedersen, Amorette (eds.). DOS Internals . The Andrew Schulman Programming Series (1.ª impresión, 1.ª ed.). Addison Wesley Publishing Company . ISBN 978-0-201-60835-9.(xxvi+738+iv páginas, disquete de 3,5" [6][7]) Erratas: [8][9][10]
  11. ^ Paul, Matthias R. (17 de enero de 2001). «FAT32 en DR-DOS». opendos@delorie . Archivado desde el original el 6 de octubre de 2017 . Consultado el 6 de octubre de 2017 . […] El sector de arranque de DR-DOS […] busca el archivo IBMBIO.COM (DRBIOS.SYS) y luego carga el archivo *completo* en la memoria antes de pasarle el control. […]
  12. ^ Poarch, Mad (abril de 1993). "Arranque de varios sistemas operativos con la utilidad DR Multiuser DOS LOADER". Developer Support Bullets . 5 (4). Novell . Archivado desde el original el 22 de marzo de 2012 . Consultado el 28 de junio de 2013 .
  13. ^ Paterson, Tim (3 de octubre de 1994). "Los orígenes de DOS: el creador de DOS ofrece su visión de la relación entre CP/M y MS-DOS" (PDF) . Microprocessor Report . 8 (13). Recursos de MicroDesign (MDR). ISSN  0899-9341. Archivado desde el original (PDF) el 31 de mayo de 2012.
  14. ^ Paterson, Tim (30 de septiembre de 2007). "Diseño de DOS". DosMan Drivel . Archivado desde el original el 20 de enero de 2013. Consultado el 4 de julio de 2011 .
  15. ^ Kildall, Gary Arlen (junio de 1975). CP/M 1.1 o 1.2 BIOS y BDOS para Lawrence Livermore Laboratories . Un extracto del encabezado del archivo BDOS.PLM en el código fuente PL/M de CP/M 1.1 o CP/M 1.2 para Lawrence Livermore Laboratories (LLL)
    […]/* CP / MBASICI / SISTEMA OS (BIOS) DERECHOS DE AUTOR (C) GARY A. KILDALL JUNIO DE 1975 */[…]/* SISTEMA OPERATIVO DE DISCO BÁSICO (BDOS) DERECHOS DE AUTOR (C) GARY A. KILDALL JUNIO DE 1975 */[…]
  16. ^ Kildall, Gary Arlen (enero de 1980). "La historia de CP/M, la evolución de una industria: el punto de vista de una persona". Revista del Dr. Dobb de calistenia informática y ortodoncia . 5 (1): 6–7. Archivado desde el original el 24 de noviembre de 2016. Consultado el 3 de junio de 2013. [ …] La primera licencia comercial de CP/M tuvo lugar en 1975 con contratos entre Digital Systems y Omron of America para su uso en su terminal inteligente, y con Lawrence Livermore Laboratories , donde CP/M se utilizó para supervisar programas en la red Octopus . Se prestó poca atención a CP/M durante aproximadamente un año. En mi tiempo libre, trabajé para mejorar las instalaciones generales […] En ese momento, CP/M se había adaptado para cuatro controladores diferentes. […] En 1976, Glenn Ewing me planteó un problema: Imsai , Incorporated, empresa para la que Glenn trabajaba como consultor, había distribuido una gran cantidad de subsistemas de disco con la promesa de que luego vendría un sistema operativo. Yo estaba un poco reacio a adaptar CP/M a otro controlador, y así surgió la idea de un sistema básico de E/S (BIOS) independiente. En principio, las partes dependientes del hardware de CP/M se concentraban en el BIOS, lo que permitía a Glenn, o a cualquier otra persona, adaptar CP/M al equipo de Imsai. Posteriormente, Imsai obtuvo la licencia para distribuir la versión 1.3 de CP/M , que finalmente evolucionó hasta convertirse en un sistema operativo llamado IMDOS . […]
  17. ^ Shustek, Len (2 de agosto de 2016). "En sus propias palabras: Gary Kildall". Personas notables . Museo de Historia de la Computación . Archivado desde el original el 24 de marzo de 2020. Consultado el 24 de febrero de 2020 .
  18. ^ Kildall, Gary Arlen (2016-08-02) [1993]. Kildall, Scott ; Kildall, Kristin (eds.). Computer Connections: People, Places, and Events in the Evolution of the Personal Computer Industry (Manuscrito, parte 1). Familia Kildall. Archivado (PDF) desde el original el 2016-11-17 . Consultado el 2016-11-17 .
  19. ^ Killian, A. Joseph "Joe" (2001). "CP/M de Gary Kildall: algunos antecedentes del CP/M - 1976-1977". Thomas "Todd" Fischer , IMSAI . Archivado desde el original el 24 de marzo de 2020. Consultado el 3 de junio de 2013. […] Cuando no pudimos producir un sistema operativo a tiempo, Glenn comenzó a hablar con Gary sobre CPM […] Pasaron varios meses de insistirle a Gary para que lo trasladara al 8080. El éxito final llegó cuando Glenn lo convenció de que simplemente separara la E/S del resto, y le prometió reescribir el módulo de E/S para el IMSAI 8080 (lo que hizo). Por lo tanto, CPM en el IMSAI fue un esfuerzo conjunto entre Glenn y Gary. […]
  20. ^ Fraley, Bob; Spicer, Dag (26 de enero de 2007). "Historia oral de Joseph Killian, entrevistado por: Bob Fraley, editado por: Dag Spicer, grabado: 26 de enero de 2007" (PDF) . Mountain View, California: Computer History Museum . Número de referencia del CHM: X3879.2007. Archivado desde el original (PDF) el 14 de julio de 2014. Consultado el 3 de junio de 2013 . Killian : "[…] Glenn […] estaba hablando con Gary y empezó a presionarlo. Le dijo: "Oye, Gary, ¿por qué no podemos ejecutar esto en este IMSAI ?". "Las E/S son todas diferentes, no se ejecutan". Pero Glenn persiste y finalmente llega a un acuerdo con Gary. Le dice: "Está bien, Gary, si divides las E/S, yo escribiré la BIOS , el sistema básico de E/S", y Glenn le puso un nombre. "Lo dividiremos por separado. "Escribiré esa parte, siempre y cuando puedas hacer una división en el programa allí". Y consiguió que Gary hiciera eso y Glenn juntó esas dos piezas y estaba ejecutando el CP/M de Gary en un IMSAI. Glenn nos lo hizo saber, y no pasó mucho tiempo antes de que Bill estuviera allí haciendo arreglos con Gary Kildall para obtener la licencia de CP/M . […] Ahora que el BIOS está separado, cualquiera podría escribir un BIOS para su máquina, si estaba basada en 8080, y ejecutarlo, así que comenzó a venderlo por separado bajo la empresa Digital Research que formó y le fue bastante bien".
  21. ^ Apricot Portable - Manual de referencia técnica. Vol. Sección 3: Software. ACT (International) Limited . 1984. Consultado el 13 de enero de 2020 .(228 páginas)