Inicio | Información | Comunidad | Desarrollo | myReactOS | Contáctanos
|
Desarrollo de ReactOS > FAQ de desarrolladoresFAQ de desarrolladoresFAQ (Preguntas Frecuentamente Preguntadas) de desarrolladores sobre ReactOS.Para ver otras dudas comunes,lee el FAQ de Usuario.
General¿Como evitareís el texto "Microsoft" en ReactOS?Creemos que eso entra dentro del uso justo.No es necesario excepto en el registro. ¿Funcionarán los controladores diseñados para trabajar en Windows en ReactOS?Sabemos que algunos controladores funcionan,pero en este punto no hay una respuesta definita ya que algunos detalles del kernel aún no han sido implementados. ¿Qué necesito para compilar ReactOS desde las fuentes?Visita nuestro página de compilaciónpara obtener información de como compilar ReactOS desde las fuentes. ¿Por qué no ayudaís al projecto Wine?Actualmente trabajamos codo con codo con el proyecto Wine.Wine probablemente tenga mucho más en común con ReactOS que con Linux.El proyect Wine tiene como objetivo el implementar todas las APIs de Windows sobre WineServer. Solo existen un par de DLLs de WINE que no pueden ser usadas en ReactOS.Y son: NTDLL, USER32, KERNEL32, GDI32, and ADVAPI. El resto de las DLLs de WINE pueden ser compartidas con ReactOS.De hecho tenemos varios desarrolladores en ambos proyectos que trabajan con tareas de compatibilidades cruzadas entre los dos proyectos.Nuestra visión es que Linux + Wine nunca podrán ser un completo reemplazo de Microsoft(R) Windows(R). ReactOS tiene el potencial para un mayor grado de compatibilidad -especialmente para drivers de Microsoft(R) Windows(R)- que WINE no puede tratar. ¿Qué IDE debería usar para desarrollar ReactOS?Mira usar IDE para más información sobre editores de códigos soportados ¿Que hay sobre el presunto problema llamado SEH?El "Structured exception handling" (SEH) es usado en la programación de ReactOS ya que es usado en la programación de OS/2 o de Microsoft(R) Windows(R) NT. SEH es un juego entre el SO y el Compilador (Palabras clave: __try, __except, __finally). ReactOS es por si mismo consciente del SEH.Sin embargo hasta ahora el compilador GNU usado no es capaz de generar código SEH.Asi pues nadie es capaz de compilar controladores o programas que use SHE con el compilador GNU. Graphics Subsystem¿Por qué el subsistema gráfico no está en Ring 3 sino en Ring 0?La respuesta corta es que Microsoft lo está haciendo así, y como buscamos la compatibilidad con los controladores,tenemos que hacerlo de la misma manera. ¿Por que Microsoft puso la GUI en el Ring 0?Porque esto mejora mucho la velocidad. Al contrario que un servidor GUI, que corre su propio proceso,no hay necesarios cambios de contexto cuando se realizan operaciones GUI.Esto hace la arquitectura mucho menos limpia por supuesto, y cuando la GUI falla,todo el sistema se cuelga.La misma discusión existió en Redmond, cuando la GUI fue introducido en el kernel en Microsoft(R) Windows(R) NT 4.0. LLegaron a la conclusión que la GUI había madurado,asi que nada iría mal salvo que un controlador defectuoso estuviera presente, y que las consecuencias eran similares a lo que ocurre cuando algo va mal en modo usuario. D¿Tiene ReactOS los mismos problemas de seguridad que Microsoft(R) Windows(R)?Microsoft(R) Windows(R) NT y sus sucesores no son realmente sistemas inseguros per se.Creemos que Microsoft ha hecho el sistema inseguro como resultado de fatales decisiones.Por ejemplo, Windows XP da a cada usuario derechos de administrador por defecto.Algunos servicios estan pobremente implementados y la facilidad de manejo generalmente ha tomado prioridad sobre la seguridad.Nosotros,sin embargo, recolocaremos estas prioridades en ReactOS.Lo que es problemático es que Microsoft no ha presionado a los creadores de software para permitir que sus productos corran con derechos de usuarios normales. ¿Que GUI puedo usar?
Para responder esto, uno debe entender como la GUI funciona en ReactOS/Microsoft(R) Windows(R):
Sistema de FicherosReactOS usa controladores de sistemas de ficheros tal como hace Microsoft(R) Windows(R) NT. Por esta razón implementa interfaz IFS(Installable File System)Por lo tanto ReactOS sera capaz de cargar y usar los controladores IFS. En los comienzos, era incapaz de cargar los drivers IFS originales de Microsoft(R) Windows(R) NT.Pero dentro de algun tiempo,ReactOS será incluso capaz de cargar los controladores NTFS originales. ¿Podemos implementar la version FreeDOS del sistema de ficheros FAT32?ReactOS tiene soporte para FAT32 desde hace tiempo.No es necesario implementar ningún otro. ¿ReactOS soporta VFAT y nombres largos?ReactOS nativamente soporta nombres de ficheros largos y tambien unicodes.Depende del controlador de sistema de archivo como se lleva con ellos.El controlador FAT que viene con ReactOS soporta VFAT(= nombres largos en FAT) ¿Por qué no implementaís Ext2/3 en vez de enfocaros en NTFS?Porque NTFS es una gran característica que será utilizada todavía durante mucho tiempo.Ext2/3 es por supuesto común para nosotros,sin embargo hay proyectos cuya meta es implementar Ext2/3 para NT. Utilizaremos estos controladores cuando sean suficientemente buenos. ¿Donde puedo encontrar Ext2/3-IFS para NT?Puedes encontrarlos aqui:http://uranus.it.swin.edu.au/~jn/linux/ext2ifs.htm http://sys.xiloo.com/projects/projects.htm#ext2fsd http://ashedel.chat.ru/ext2fsnt/. ¿Puedo ayudar a programar controladores IFS?Si, hay mucho trabajo alrededor de los controladores IFS.Sin embargo es muy difícil de programar. Programar controladores es dificil, pero programar IFS es el rey de la disciplina.Si realmente eres un hacker de kernel ven a nuestra lista de correo y date a conocer. ¿Podemos usar Ext2/3 en vez de dar vueltas con NTFS?Si,es tu decisión que sistema de ficheros deseas usar.Por ahora, sin embargo ni el Ext2/3-IFS ni nuestro NTFS-IFS está prepardo para leer y escribir.Así pues hay muchísimo trabajo que hacer y de momento la única opción es el FAT-IFS. ¿Por qué no hacemos uso de los proyectos de the Linux-NTFS?Estas fuentes son útiles, pero como con todas las implementaciones NTFS(salvo la de Microsoft) carece de soporte de escritura. Y aún hay grandes areas de NTFS que están indocumentadas o son desconocidas. Estamos trabajando junto a ellos-o de momento-usando sus códigos. Por el momento no hay prioridad para NTFS,asi que las contribuciones en este área están todavía latentes. ¿Cómo de crítico es necesario el soporte de NTFS para que ReactOS sea exitoso?El proyecto ReactOS verá el soporte NTFS como una prioridad, pero por ahora, no hay una razón crítica para tenerlo. NTFS es fundamentalmente un sistema de ficheros de disco duro, asi pues la única razon por la que absolutamente la necesitarías es si deseas acceder a una partición física formateada en NTFS de un disco duro instalado mientras usas ReactOS.Otros sistemas de ficheros serán capaces de proveer las características avanzadas de NTFS(publicación,ACLs,compresión,hard links,etc.)por lo que una estrictra compatibilidad con NTFS no es un requisito. Todo el software viene en formato CD o DVD(ISO-9660 or UDFS), o posiblemente en disquetes(FAT). Medios externos(tarjetas de memorias, pen drives, etc.) suelen tener formato FAT Las fuentes JFS (también para OS/2) son gratuitas para descargar.¿Por qué no hacer JFS el sistema de fichers estándard en ReactOS?Si, al menos un IFS está previsto.Desde que JFS es un sistema de ficheros último modelo con publicación,grandes ficheros y tamaños de partición,ACLs y atributos extendidos y hard links, podría casar bien con ReactOS.Estamos trabajando en ello, pero cualquier ayuda será bienvenida. ¿Que tal llevaís la sensibilidad con las mayúsculas(p.e. ext2) ?La Sensibilidad de las Mayúsculas no es un problema del sistema de ficheros por si mismo.Es un aspecto del controlador correspondiente.El Manager de Objetos que otorga el espacio para el nombre soporta nativamente sensibilidad a mayúsculas.Asi pues a los controladores IFS se les entrega una bandera especial que deben manejar correctamente. Un controlador de un sistema de ficheros portado debe ser capaz de manejar ambos casos(sensibilidad e insensibilidad a mayúsculas). ¿Puede un sistema de ficheros de 64 bits correr en una máquina de 32 bits?Si.La parte de 64-bits es simplemente el direccionamiento en el disco.Nada tiene que ver con el ejecutable que contiene el controlador.El ejecutable tienen tantos bits como tiene el sistema operativo. ¿Qué sistema de ficheros soporta ReactOS,ahora?FAT(12/16/32) mas VFAT, ISO-9660 - CD-ROM, NPFS(=Named Pipe File System (internal FS)), MSFS(=Mailslot File System (internal FS)) ¿Qué sistemas de ficheros soportará ReactOS?Nuestro objetivo es que soporte tantos sistemas de fichero como sea posible. Los controladores IFS pueden ser desarrollados para al menos los sistemas de fichero de disco que están disponibles para Linux. Sin embargo, es muy complicado programar un controlador para sistemas de ficheros que sea obediente y trabajador.Esto por tanto tomará cierto tiempo.Al menos habrá:FAT(12/16/32) mas VFAT, ISO-9660 - CD-ROM, un FS mayor como ext3, NTFS or JFS, NPFS y MSFS Tengo una idea.¿Por que no tiramos esas raras letras de los discos?Esa es una vieja idea.Microsoft probablemente tuvo esa idea, pero no la han implementado aún.En el equipo de ReactOS existen también pensamientos sobre esta cuestión.Pero hasta ahora no hemos llegado a ninguna conclusión al respecto.Hay ideas como tener un sistema de ficheros montado sobre la memoria o descubrir el espacio del nombre del controlador de objetos para aplicaciones win32 o letras de discos, pero cada acercamiento tiene sus desventajas.Nota:El ReactOS/Microsoft(R) Windows(R) NT Kernel no trabaja con letras de discos.Son reliquias del DOS(o debería decir CP/M) en Win32. ¿Qué es un Redirector?Es una forma especial de un controlador IFS. No implementa un sistema de ficheros sobre el disco, sino que confia en la pila de trabajo del kernel y provee la mayoria de las veces un sistema remoto de ficheros.(p.e SMB shares). ¿Que es un reconocedor de sistemas de ficheros?Un verdadero controlador de sistemas de ficheros es realmente pesado.Cargarlo solo para ver que no hay particion donde montarlo es una pérdida de tiempo.Por esta razón Dave Cutler inventó el denominado reconocedor de controlador.Son ni mas ni menos una parte intergral de la arquitectura del controlador.El controlador se carga y busca particiones para sistemas de archivos que su compañero IFS sea capaz de leer.Cuando la encuentra, carga a su compañero IFS para montarlo.
Debugging¿Como persigo una excepción no manejada en modo usuario?El trace será parecido a esto: (KERNEL32:process/create.c:328) Process terminated abnormally due to unhandled exception (KERNEL32:process/create.c:329) Address: 761a13e0 (KERNEL32:process/create.c:334) Frames: (KERNEL32:process/create.c:338) 761a2be9 Mira en reactos/baseaddress.cfg, encuentra la dirección inferior mas cercana que encaje con la dirección que estás intentando perseguir.Abre el fichero .map para ver la correspondiente DLL y busca el offset. |