Minix Vs Linux (de visionarios va la cosa)

FloppySoftware

Minix Vs Linux (de visionarios va la cosa)

Mensajepor FloppySoftware » 16 Mar 2015 23:03

Buscando cosillas Unix por la red, me he vuelto a topar con la famosa "discusión" Minix Vs Linux (Andy Vs Linus), allá por enero de 1992 (ya ha llovido algo).

Lo cierto es que el Sr. Tanenbaum será muy buen profesor de sistemas operativos, que no lo dudo, pero visionario más bien poco.

No hay más que leer el susodicho mensaje, para darse cuenta, de que sentar cátedra a veces es un pelín arriesgado.

Estas cosas dan que pensar, y le hacen a uno más humilde.

https://groups.google.com/forum/#!topic/comp.os.minix/wlhw16QWltI%5B1-25%5D

ast 29/1/92

I was in the U.S. for a couple of weeks, so I havent commented much on
LINUX (not that I would have said much had I been around), but for what
it is worth, I have a couple of comments now.
As most of you know, for me MINIX is a hobby, something that I do in the
evening when I get bored writing books and there are no major wars,
revolutions, or senate hearings being televised live on CNN. My real
job is a professor and researcher in the area of operating systems.

As a result of my occupation, I think I know a bit about where operating
are going in the next decade or so. Two aspects stand out:

1. MICROKERNEL VS MONOLITHIC SYSTEM
Most older operating systems are monolithic, that is, the whole operating
system is a single a.out file that runs in kernel mode. This binary
contains the process management, memory management, file system and the
rest. Examples of such systems are UNIX, MS-DOS, VMS, MVS, OS/360,
MULTICS, and many more.

The alternative is a microkernel-based system, in which most of the OS
runs as separate processes, mostly outside the kernel. They communicate
by message passing. The kernels job is to handle the message passing,
interrupt handling, low-level process management, and possibly the I/O.
Examples of this design are the RC4000, Amoeba, Chorus, Mach, and the
not-yet-released Windows/NT.

While I could go into a long story here about the relative merits of the
two designs, suffice it to say that among the people who actually design
operating systems, the debate is essentially over. Microkernels have won.
The only real argument for monolithic systems was performance, and there
is now enough evidence showing that microkernel systems can be just as
fast as monolithic systems (e.g., Rick Rashid has published papers comparing
Mach 3.0 to monolithic systems) that it is now all over but the shoutin`.

MINIX is a microkernel-based system. The file system and memory management
are separate processes, running outside the kernel. The I/O drivers are
also separate processes (in the kernel, but only because the brain-dead
nature of the Intel CPUs makes that difficult to do otherwise). LINUX is
a monolithic style system. This is a giant step back into the 1970s.
That is like taking an existing, working C program and rewriting it in
BASIC. To me, writing a monolithic system in 1991 is a truly poor idea.


2. PORTABILITY
Once upon a time there was the 4004 CPU. When it grew up it became an
8008. Then it underwent plastic surgery and became the 8080. It begat
the 8086, which begat the 8088, which begat the 80286, which begat the
80386, which begat the 80486, and so on unto the N-th generation. In
the meantime, RISC chips happened, and some of them are running at over
100 MIPS. Speeds of 200 MIPS and more are likely in the coming years.
These things are not going to suddenly vanish. What is going to happen
is that they will gradually take over from the 80x86 line. They will
run old MS-DOS programs by interpreting the 80386 in software. (I even
wrote my own IBM PC simulator in C, which you can get by FTP from
ftp.cs.vu.nl = 192.31.231.42 in dir minix/simulator.) I think it is a
gross error to design an OS for any specific architecture, since that is
not going to be around all that long.

MINIX was designed to be reasonably portable, and has been ported from the
Intel line to the 680x0 (Atari, Amiga, Macintosh), SPARC, and NS32016.
LINUX is tied fairly closely to the 80x86. Not the way to go.

Don`t get me wrong, I am not unhappy with LINUX. It will get all the people
who want to turn MINIX in BSD UNIX off my back. But in all honesty, I would
suggest that people who want a **MODERN** "free" OS look around for a
microkernel-based, portable OS, like maybe GNU or something like that.


Andy Tanenbaum (a...@cs.vu.nl)


P.S. Just as a random aside, Amoeba has a UNIX emulator (running in user
space), but it is far from complete. If there are any people who would
like to work on that, please let me know. To run Amoeba you need a few 386s,
one of which needs 16M, and all of which need the WD Ethernet card.

Avatar de Usuario
minter
Mensajes: 4826
Registrado: 22 Jul 2014 18:51
Agradecido : 6762 veces
Agradecimiento recibido: 2602 veces

Re: Minix Vs Linux (de visionarios va la cosa)

Mensajepor minter » 16 Mar 2015 23:39

Dentro de 25 años los ordenadores serán 2 veces más potentes, 100 veces más grandes y tan caros que sólo los 5 reyes más ricos de Europa podrán comprarse uno.
-Profesor Flink

jojo073

Re: Minix Vs Linux (de visionarios va la cosa)

Mensajepor jojo073 » 18 Mar 2015 10:47

¿que haces con esa maquina de escribir sin papel? eso no podrá nunca hacer un presupuesto. Mi tío ricardo, 1986
:)

Avatar de Usuario
ron
Mensajes: 21855
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4752 veces

Re: Minix Vs Linux (de visionarios va la cosa)

Mensajepor ron » 18 Mar 2015 20:09

Aunque he leído el post hace días, no he encontrado el momento hasta ahora para ofrecer un pequeño y humilde punto de vista.
Solo pido que se tenga en cuenta para ser publicado en RetroWiki Magazine. Con la venia.

AVISO, esto es -bRick


Puedo estar de acuerdo en unas cosas y en otras no, y os preguntaréis, ¿ porqué ? , pues a eso voy , a los matices, que en esta causa, justa para unos y muy injusta para otros, son importantisimos y han de conocerse de una forma u otra.

El fondo histórico:

No voy a entrar a decir que Ken Thomson, desarrollador de MULTICS junto a Brian Kernighan, el otro padre del UNIX y compañero de Thomson, lo llamó irónicamente UNICS. Más adelante lo que hicieron Thomson, Kernighan y Dennis Ritchie fue reescribir UNIX en C, rompiendo la tradición de sistemas operativos escritos en lenguaje ensamblador (1973). Esto aumentaba la portabilidad del sistema hacia otras máquinas.

Quedaros con este concepto, aunque os parezca abstracto, en realidad, UNIX trata a casi todo como si fuera un archivo y una vez que se aprende a manejar los archivos, se puede manejar todos los objetos del sistema.

El concepto de comercialización de Kildall:

En aquellos tiempos las máquinas y los ordenadores eran muy costosos, pero hubo un tipo llamado Gary Kildall que aprovechando que se comenzaban a comercializar los primeros micros con procesadores 8080 ( hacia 1974 - 75 ) , revolucionó todo lo conocido con un sistema operativo llamado CP/M. Frente a un ordenador de decenas de miles de dolares, las personas y las empresas podían adquirir equipos por 1000 ó 2000 dolares y Kildall fue quien puso en marcha la entrega de un sistema operativo con un ordenador comprado. Es decir, al comprar el ordenador también estabas pagando la licencia del sistema operativo. Era posible comprar el ordenador por un lado y el sistema operativo por el otro, ante todo libertad.

Adquirir un ordenador que pudiera ejecutar UNIX solo se lo podían permitir las grandes universidades y las agencias estatales, aparte de unas pocas compañías de grandes dimensiones. Iba a ser imposible que el usuario final, al igual que lo conocemos desde la llegada del CP/M se diera con el UNIX. Gracias a las ideas de Kildall esto fue posible y gracias a ese impulso el UNIX terminó en los ordenadores de muchos usuarios. A día de hoy da igual que sea Linux, o Mac OS ( que es un UNIX puro y duro ), ambos son en concepto y forma lo mismo, pero difieren en sus entrañas.

El debate de marras:

Muchos años después y ante la evidencia que UNIX era desde el punto de vista de los sistemas lo más decente, práctico y funcional se quiso por parte de la comunidad educativa llevar el UNIX en forma de clon o de concepto a todos los lugares y ordenadores. Recordad que ni MINIX ni LINUX son UNIX, son clones compatibles.

El debate entre Tanenbaum y Torvalds es para algunos un tema ya viejo y ferrullento, porque en su día posicionó a unos de una parte y a otros de la otra. Aquí es donde el componente histórico se pierde definitivamente en la búsqueda de un futuro. Lejos quedaba el legado de Kildall porque es un ejemplo que por desgracia fue obviado por ambas partes.

Linux más o menos a día de hoy es prácticamente un estándar y lo conocen hasta perry y su gato, a excepción de aquellos que no saben, no pueden o no ven más allá de la bazofia de güindous.

Para empezar el kernel de Linux está basado e inspirado en Minix. Por tanto hay que saber que es Minix.

MINIX es un clon del sistema operativo UNIX diseñado para ser altamente fiable, flexible y seguro y para ser ejecutado en ordenadores personales con procesadores como el 8086/88 y el M68000.

Tanenbaun desarrolló MINIX para formar a sus alumnos en el diseño de sistemas operativos en la Vrije Universiteit de Ámsterdam. Las principales razones o motivos que le llevaron a este desafío eran las que hacía que UNIX, propiedad de AT&T y Bell Laboratories en aquellos momentos requiriesen plataformas exclusivas y complejas de hardware muy caras para ejecutarse, algo que chocaba frontalmente con el plano educativo.

No voy a entrar mucho más en detalles técnicos porque sino el post se va a enladrillar y lo que quiero es opinar, si luego se tercia ya nos remangamos y damos rienda suelta a las emociones. Prefiero primero entrar al concepto y luego ya veremos, de cualquier manera, es simplemente opinión, con lo que habrá a quien guste y a quién no, afortunada o desgraciadamente me gano la vida con el UNIX y algo he leído sobre el tema, lo cual no significa que lleve ninguna razón en lo que digo.

Las primeras versiones de MINIX ( 1.0 ) datan de 1987, este fue diseñado como antes dije para ejecutarse sobre IBM PC / AT y compatibles, que eran los cacharros de 16/32 bit más comunes en las universidades en aquellos años, aunque salieron versiones ( y bastante sólidas ) para Atari ST y Commodore Amiga ( M68000 ) y versiones preliminares para los procesadores Sparc de Sun Microsystems.

MINIX es extremadamente pequeño, la parte que se ejecuta en modo de kernel tiene menos de 4000 líneas de código ejecutable. Las partes que se ejecutan en modo de usuario están divididas en pequeños módulos que están aislados uno de otro. Por ejemplo, cada manejador de dispositivo se ejecuta como un proceso en modo de usuario separado, entonces un error en un manejador ( la fuente más grande de errores en cualquier sistema operativo ), no puede detener el sistema operativo completo. De hecho, la mayor parte del tiempo cuando un manejador falla, este es reemplazado automáticamente sin necesidad de intervención del usuario. Estas características, la pequeña cantidad de código del kernel y otros aspectos mejoran en gran forma la fiabilidad del sistema.

Una vez explicado que es MINIX, el debate de marras se produjo en el grupo de discusión de Usenet: comp.os.minix. ( que tiempos aquellos )
Tanenbaum explicaba que los sistemas operativos de tipo micronúcleo ( como Minix ) son mejores que los de tipo monolíticos ( como Linux )

y aparece Tolvards con su Linux :

GNU/Linux es uno de los términos empleados para referirse a la combinación del núcleo o kernel libre similar a UNIX denominado Linux con el sistema GNU ( que no es más que otro clon de UNIX sin Kernel ) . Su desarrollo es uno de los ejemplos más prominentes de software libre; todo su código fuente puede ser utilizado, modificado y redistribuido libremente por cualquiera bajo los términos de la GPL.

El nombre GNU, GNUs Not UNIX (GNU no es UNIX), viene de las herramientas básicas de sistema operativo creadas por el proyecto GNU, iniciado por Richard Stallman en 1983 y mantenido por la FSF. El nombre Linux viene del núcleo Linux, inicialmente escrito por Linus Torvalds en 1991

El proyecto GNU, que se inició en 1983 por Stallman tenía como objetivo el desarrollo de un sistema operativo UNIX compatible, completo y compuesto enteramente de software libre. La historia del núcleo Linux está fuertemente vinculada a la del proyecto GNU. En 1991 Linus Torvalds comenzó a trabajar en un reemplazo no comercial para MINIX 1.2 que más adelante acabaría siendo Linux.

Cuando Torvalds liberó la primera versión de Linux en 1992, el proyecto GNU ya contaba con muchas de las herramientas fundamentales para el manejo del sistema operativo, incluyendo un intérprete de comandos( shell ), una biblioteca C y un compilador, aunque el proyecto contaba con una infraestructura para crear su propio núcleo ( o kernel ) llamado HURD, todavía no estaba lo suficientemente evolucionado y desarrollado para usarse seriamente, como sustituto, comenzaron a usar a el kernel de Tolvards ( Linux ) como sustituto para continuar desarrollando el proyecto GNU, siguiendo la tradicional filosofía de mantener cooperatividad entre desarrolladores. El día que se estime que HURD es suficiente maduro y estable, será llamado a reemplazar a Linux.

Entonces, el núcleo creado por Linus Torvalds, quien se encontraba por entonces estudiando la carrera de Ingeniería Informática en la Universidad de Helsinki, llenó el "espacio" final que había en el sistema operativo de GNU.

MicroNucleo y Monoliticos, ¿ pero qué coño era eso ?:

Y ahora diréis pero WTF es eso, micronúcleo y monolítico... me suena a chino. Pues lo explico, no hay problema. Aquí venimos a hablar de informática y esto es informática en puro estado hecha por personas que no pertenecen a ninguna empresa ni buscan monetizar su trabajo, sino que se trata de autenticas joyas que han permitido que la informática avance de una manera vertiginosa.

Por tanto, antes de continuar dejadme comentar unos temas: UNIX es propietario, está licenciado y es comercial ( de pago ) , Minix se distribuye con licencia BSD porque consideran que la licencia GPL es demasiado restrictiva y Linux es código libre y se distribuye bajo filosofías GNU / GPL, sin ánimo de lucro ( gratis ). Esta es la gran y enorme diferencia. Ya lo comprenderéis.

Y un detalle más, UNIX es un sistema operativo portable, multitarea y multiusuario, lo que en su definición constituyó un sistema operativo de propósito general, multiusuario, e interactivo, es una colección de programas que ejecutan otros programas en un ordenador. El mayor énfasis de UNIX se basa en construir código que sea corto, simple, claro, modular y extensible, que pueda ser mantenido y reutilizado con otros propósitos por otros desarrolladores que no sean los creadores originales.

La gente que inventó UNIX no intentaba enseñar a usar los ordenadores en la manera en la que los entendemos hoy. Estaban educando a profesionales para operar equipos sumamente costosos. La producción en masa y el abaratamiento de la tecnología han cambiado casi completamente la manera en que usamos ordenadores, pero algunas ideas fundamentales acerca del software permanecen iguales 40 años después.

Ya pero... ¿ y las diferencias del micronúcleo y el monolítico ?

La diferencia principal entre los sistemas operativos micronúcleo y monolíticos, es que los primeros implementan las funcionalidades del núcleo con llamadas de sistema que se ejecutan como procesos servidores en espacio de usuario. Por lo tanto, las distintas funcionalidades son separadas y son estos servidores los que las proveen cuando son solicitadas. En cambio, un núcleo monolítico implementa todas estas funcionalidades por si mismo, por lo que su complejidad se ve incrementada.

El fondo de la historia, ¿ dónde se monta el pollo ?

MINIX apareció en 1987 como un clon pequeño y fácil de entender de UNIX para ser utilizado en cursos de sistemas operativos. Linus Torvalds, entonces un estudiante en la Universidad de Helsinki, estudiaba MINIX en un curso de sistemas operativos y quedó lo suficientemente impresionado como para comprar un PC para poder ejecutarlo, y eso que antes había usado Commodore VIC20 y posteriormente un Sinclair QL ( con reminiscencias UNIX en el QDOS, que cosas ). Luego utilizó MINIX como plataforma, guía y fuente de inspiración para desarrollar un clon de MINIX, llamado Linux, el cual liberó públicamente en 1991.

Linus fue acusado de robar código de MINIX para utilizarlo en Linux. ¿ Es esto cierto ? ... pero es que no acaba ahí. Santa Cruz Operation ( SCO ) y ahora Novell que es la propietaria de la licencia de UNIX lleva años litigando y amenazando a los linuxeros, de hecho han demandado en varias ocasiones a todo lo que se les ha puesto por delante. Así que no es cierto. La respuesta es que NO. Absolutamente NO.

Recordemos que los UNIX propietarios que quedan hoy en día son: AIX de IBM, HP-UX de HP, Solaris ( antes de Sun Microsystems ) de Oracle, IRIX de SGI, Tru-64 de HP y el conocido SCO UNIXWare y SCO OpenServer de Santa Cruz Operation... de eso ya he escrito hace tiempo, ¿ os acordáis del XENIX ? , ¿ ya os imagináis quien estaba detrás, verdad ?

El resultado final fue que SCO perdió todas las demandas judiciales. La cosa quedó así más o menos:

The SCO Group expresó públicamente ser el propietario de Unix en varias ocasiones. Novell aseguró que es falso que SCO Group posea Unix. Después que Novell registrara derechos de autor sobre los componentes esenciales de Unix, SCO denunció a Novell, afirmando usurpación de propiedad. La querella fue rechazada por razones técnicas pero SCO Group introdujo una versión corregida. Sin embargo, el juez de la causa expresó dudas de que la compra de activos incluyera los derechos de autor relevantes. Finalmente, en agosto de 2007, el juzgado concluyó que Novell es propietario de Unix y UnixWare.

Y el GiliPuertas a meter baza y a enmierdar, por si fuera poco otro ladrón acusando a otros de robar... manda cojones. Aquí es donde me cabreo, echo la mirada al principio del post y veo otra víctima llamada Gary Kildall, ¿ a donde hemos llegado ?

Ken Brown, de la Institución Alexis de Tocqueville escribió un informe, financiado en gran parte por Micro$oft, en cual alegaba que Linus había robado el código de MINIX para usarlo en Linux.
La conclusión de Brown fue que las compañías no debían utilizar Linux porque la posesión legal de los derechos de propiedad intelectual no estaba clara. Joder, esto no es más que un montón de mierda y de basura.

Como el fiasco de 1981, M$ quería tener UNIX y lo que tuvo fue HUMO !!! menuda la que se montó con SCO y M$, si es que al final acabo en un caldero, digo... Caldera.

Es prácticamente improbable que un estudiante de 21 años hubiera sido capaz de escribir su propio sistema operativo sin tener disponible el código fuente completo de un sistema operativo similar para estudiarlo, usarlo y modificarlo, Linus escribió él mismo la primera versión del código de Linux. SI, Se inspiró y se basó en MINIX, pero es que tiene que quedar claro que el núcleo de MINIX es Micronúcleo y el de LINUX es monolítico, que parte de esa diferencia no ha entendido GiliPuertas que nunca supo hacer sistemas operativos y los que hizo ( mejor dicho le hicieron ) son una PUTA MIERDA y que lo tuvo que robar para decir que tenía uno.

Volviendo al debate :

Tanenbaum afirmaba que los sistemas operativos monolíticos eran un paso atrás en la computación; aumentaban la complejidad y disminuían su portabilidad, y que Linux estaba demasiado orientado a la arquitectura x86. Linux reconoció que la arquitectura micronúcleo era teóricamente superior. No obstante, argumentó que Minix tenía errores básicos para un sistema operativo y que, debido a la interfaz de aplicaciones de Linux, su sistema operativo era más portable que Minix.

La respuesta de Tanenbaum fue que, debido a su carácter educativo, su sistema contaba con las funcionalidades de los ordenadores que en ese momento podían ser adquiridos por estudiantes. Y que la poca portabilidad de Linux sería un problema en el futuro, independientemente de que Minix no fuera muy portable. La discusión no llegó más allá, ya que Linus intentó zanjarla; hemos de recordar que en ese momento, era algo que él desarrollaba en su tiempo libre, y que estaba enfocada a propósito en esta arquitectura.

¿ y como acaba la historia ?

Al final de todo, el tiempo parece haber dado la razón a Linus pero tambien a Tanenbaun, ya que x86 sigue siendo con una amplia mayoría la arquitectura más usada en ordenadores personales, el monopolio de intel sin duda. Además, en la actualidad Linux ha sido portado a muchas otras arquitecturas como MIPS, ARM, SPARC o PowerPC. Pero en su día el MINIX se portó a Motorola 68000 y a SPARC y otro días hablaremos del Berkeley Software Distribution ( BSD ) y sus flavorus, NetBSD, OpenBSD, FreeBSD que son los que en realidad se parecen más al UNIX original.

Tened en cuenta que a ojos de gente con conocimientos el debate se encendió porque había partes interesadas en liarla y otras en denostarlo. AL final fue una guerra de soflamas puras y duras.

En 2006 el debate se reabrió de nuevo y volvieron a la carga, ya que Tanenbaum publicó un artículo en Computer Magazine llamado: ¿Podemos hacer más seguros y confiables a los sistemas operativos? del que se dice que Tanenbaum no fue realmente quien lo hizo. Al parecer Tanenbaum siempre ha renunciado a la autoría del mismo, de hecho ha repetido en varias ocasiones que en ningún caso escribiría nada semejante para reabrir el debate sobre el diseño del nucleo ( kernel ), que es de lo que va esta parrafada.

¿ Tiene moraleja o moralina ? , pues una poca...

Si enfocamos el problema desde otro punto de vista, ¿ es un núcleo monolítico lo más adecuado para un Sistema Operativo ? En la actualidad, Linux se compone de más de 15 millones de líneas de código, frente a las 4000 del MINIX. El Kernel se ha vuelto una pieza de software extremadamente compleja y que además va a continuar creciendo y añadiendo nuevas características y mayor portabilidad con nuevos dispositivos y arquitectura.

Por ello deberíamos preguntarnos ¿ la viabilidad de Linux se verá comprometida en un futuro no muy lejano por su diseño monolítico ?

A día de hoy Torvalds y Tanenbaum mantienen una buena relación; Torvalds siempre ha dejado claro que no guarda ningún rencor contra Tanenbaum, y este último remarca que los desacuerdos acerca de cuestiones técnicas no deberían considerarse como disputas personales.

A mi opinión ambos tenían y tienen razón, el único que no le tiene es el GiliPuertas que no es más que un jeta.

Avatar de Usuario
Jinks
Mensajes: 2700
Registrado: 09 Oct 2013 16:47
Agradecido : 348 veces
Agradecimiento recibido: 478 veces
Contactar:

Re: Minix Vs Linux (de visionarios va la cosa)

Mensajepor Jinks » 18 Mar 2015 20:39

Creo que el señor Tanenbaum tenía razón en cuanto a que los SSOO modernos tienen que ser micro-kernel e independientes de una plataforma hardware.
Y cuando escribió eso, Linux no cumplía ninguna de las dos cosas.
Un tiempo después sí que cumplió la segunda.

Vamos, que es como si Mister X dice "Mientras los coches eléctricos sean más caros que los de gasolina nunca se venderán al gran público".
Si algún día se igualan en precio y tienen éxito, no es que el señor Mister X se confundiera, es que falla la premisa.

Avatar de Usuario
ron
Mensajes: 21855
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4752 veces

Re: Minix Vs Linux (de visionarios va la cosa)

Mensajepor ron » 18 Mar 2015 20:48

FloppySoftware escribió:
Lo cierto es que el Sr. Tanenbaum será muy buen profesor de sistemas operativos, que no lo dudo, pero visionario más bien poco.

No hay más que leer el susodicho mensaje, para darse cuenta, de que sentar cátedra a veces es un pelín arriesgado.

Estas cosas dan que pensar, y le hacen a uno más humilde.



FloppySoftware, que conste que me ha gustado mucho que iniciaras este post y quisiera manifestar que el mio no va en contra de lo que piensas, es tan solo una opinión y un punto de vista. Creo que ambos están en lo correcto y quizá este debate fue más que necesario ya que con el se consiguieron mejorar muchas cosas, aunque hay otras que aún están por abordar.

No creo que Tanenbaum quisiera ir de visionario o leerle la cartilla a un joven creativo e insolente Tolvards, hay que tener en cuenta que el finlandés saco su Linux del MINIX, y que sin este no habría lo que hay a día de hoy, que es un tema para discutir en otro post.

Ya sabes que soy UNIXero y Linuxero, ir en contra del sentido común no parece ser lo más sensato. He probado MINIX en ST y en Amiga y realmente si que me quedé impresionado de como iba, como un cohete.

Por si acaso tienes ganas o te apetece, aunque sea en un emulador de ST, siempre lo podrás catar en primera persona.

http://www.subsole.org/minix_on_the_atari_st

minix-booting.png
minix-booting.png (30.95 KiB) Visto 5308 veces


http://www.beastielabs.net/minix/
http://www.z80.eu/stsoft.html

y para Amiga, http://home.arcor.de/kickstart/TKA/Tuto ... minix.html

ya sabes que tengo cuerda para rato... -drinks

BlackHole
Mensajes: 1669
Registrado: 03 Ago 2011 23:07
Ubicación: Aluche, Madrid
Agradecido : 29 veces
Agradecimiento recibido: 523 veces

Re: Minix Vs Linux (de visionarios va la cosa)

Mensajepor BlackHole » 18 Mar 2015 21:20

No conozco MINIX y no tengo una base sólida para opinar cómo se comporta un sistema operativo basado en micronúcleo, salvo que el AmigaOS es uno de ellos y no iba mal del todo a pesar de los semáforos entre las librerías y el núcleo, pero... ¿no es ahora Linux radicalmente diferente a sus orígenes? Las agresivas declaraciones de Tanenbaum en Enero de 1992 (recordemos que la primera versión pública 0.01 de Linux es de Septiembre de 1991) probablemente vienen porque Linus Torvalds anunció su sistema en el grupo de noticias comp.os.minix y francamente, no debe sentar bien que vengan a tu propia casa a hacer algo que hoy catalogaríamos como spam flagrante.

Quizás esta discusión sobre el aspecto monolítico de Linux, queda diluida desde el mismo momento en el que Linux evoluciona a una versión (¿fue en la 1.3 o en la 2.0?) desde la que puedes cargar y descargar módulos del núcleo en tiempo de ejecución. Un paso muy inteligente, pero que se efectuó mucho más tarde, en 1995. Eso no evita que un fallo en uno de los módulos, al ejecutarse con privilegios de anillo 0, pueda bloquear completamente el equipo. Pero en sistemas operativos híbridos como Windows NT y Mac Os X, esa posibilidad también existe... y si no, que nos digan cuántas veces unos malos drivers de la gráfica terminan con un pantallazo azul.

Pero como Wikipedia también apunta: "Se tiende a confundir erróneamente a los núcleos híbridos con los núcleos monolíticos que pueden dinámicamente cargar módulos después del arranque. El concepto de núcleo híbrido se refiere a que el núcleo en cuestión usa mecanismos o conceptos de arquitectura tanto del diseño monolítico como del micronúcleo, específicamente el paso de mensajes y la migración de código «no esencial» hacia el espacio de usuario (manteniendo a su vez cierto código «no esencial» en el propio núcleo por razones de rendimiento)."

[img=left]http://upload.wikimedia.org/wikipedia/commons/d/d0/OS-structure2.svg[/img]

FloppySoftware

Re: Minix Vs Linux (de visionarios va la cosa)

Mensajepor FloppySoftware » 18 Mar 2015 21:38

Interesante debate.

Vamos a poner en el contexto todo esto.

Mensaje del Sr. Torwalds, anunciando Linux, cuando todavía no tenía ni nombre:

comp.os.minix
Linus Benedict Torvalds 5/10/91

Do you pine for the nice days of minix-1.1, when men were men and wrote
their own device drivers? Are you without a nice project and just dying
to cut your teeth on a OS you can try to modify for your needs? Are you
finding it frustrating when everything works on minix? No more all-
nighters to get a nifty program working? Then this post might be just
for you :-)
As I mentioned a month(?) ago, Im working on a free version of a
minix-lookalike for AT-386 computers. It has finally reached the stage
where its even usable (though may not be depending on what you want),
and I am willing to put out the sources for wider distribution. It is
just version 0.02 (+1 (very small) patch already), but Ive successfully
run bash/gcc/gnu-make/gnu-sed/compress etc under it.

Sources for this pet project of mine can be found at nic.funet.fi
(128.214.6.100) in the directory /pub/OS/Linux. The directory also
contains some README-file and a couple of binaries to work under linux
(bash, update and gcc, what more can you ask for :-). Full kernel
source is provided, as no minix code has been used. Library sources are
only partially free, so that cannot be distributed currently. The
system is able to compile "as-is" and has been known to work. Heh.
Sources to the binaries (bash and gcc) can be found at the same place in
/pub/gnu.

ALERT! WARNING! NOTE! These sources still need minix-386 to be compiled
(and gcc-1.40, possibly 1.37.1, havent tested), and you need minix to
set it up if you want to run it, so it is not yet a standalone system
for those of you without minix. Im working on it. You also need to be
something of a hacker to set it up (?), so for those hoping for an
alternative to minix-386, please ignore me. It is currently meant for
hackers interested in operating systems and 386s with access to minix.

The system needs an AT-compatible harddisk (IDE is fine) and EGA/VGA. If
you are still interested, please ftp the README/RELNOTES, and/or mail me
for additional info.

I can (well, almost) hear you asking yourselves "why?". Hurd will be
out in a year (or two, or next month, who knows), and Ive already got
minix. This is a program for hackers by a hacker. Ive enjouyed doing
it, and somebody might enjoy looking at it and even modifying it for
their own needs. It is still small enough to understand, use and
modify, and Im looking forward to any comments you might have.

Im also interested in hearing from anybody who has written any of the
utilities/library functions for minix. If your efforts are freely
distributable (under copyright or even public domain), Id like to hear
from you, so I can add them to the system. Im using Earl Chews estdio
right now (thanks for a nice and working system Earl), and similar works
will be very wellcome. Your (C)s will of course be left intact. Drop me
a line if you are willing to let me use your code.

Linus

PS. to PHIL NELSON! Im unable to get through to you, and keep getting
"forward error - strawberry unknown domain" or something.


Otro mensajito, donde se ve claramente, que Linus es otro visionario:

Linus Benedict Torvalds 26/8/91

Hello everybody out there using minix -
Im doing a (free) operating system (just a hobby, wont be big and
professional like gnu) for 386(486) AT clones. This has been brewing
since april, and is starting to get ready. Id like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things).

Ive currently ported bash(1.08) and gcc(1.40), and things seem to work.
This implies that Ill get something practical within a few months, and
Id like to know what features most people would want. Any suggestions
are welcome, but I wont promise Ill implement them :-)

Linus (torv...@kruuna.helsinki.fi)

PS. Yes - its free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as thats all I have :-(.


Y, ¿por qué digo lo de visionario?

Porque el mismo dice que "(just a hobby, wont be big and
professional like gnu)"...

Y mira en lo que se ha convertido Linux...

Linux, con la inestimable colaboración de todo el trabajo de GNU, porque sin tal unión, la cosa jamás habría llegado a ser lo que es.

De hecho, otra controversia que hubo y sigue habiendo, es por qué a Linux como SO se le llama Linux a secas.

El Sr. Stallman dice, y con razón, que al invento se le ha de llamar GNU/Linux, porque sin GNU, Linux no es más que un kernel, así como GNU no es un SO sin un núcleo.

Pero no desviemos el tema.

A mí me gusta desde hace años UNIX (de ahí mi último engendro: SamaruX), por varias cosas.

Una, el que esté programado en lenguaje C, porque es un lenguaje que me encanta desde que lo descubrí (con CP/M).

Dos, el que "todo" se vea como un archivo (aunque hay detractores que dicen que eso ya no sirve).

Tres, que hay mucho código fuente disponible para estudiar.

De UNIX, no me gusta que sea propietario, y que dada la problemática de sus inicios, nunca llegó a dar el salto e instalarse en los ordenadores de los usuarios domésticos.

Porque quien ha llegado a instalarse en los PC ha sido Linux, no UNIX: Linux Is Not UniX, do you remember that?

Es más, creo -y casi seguro que me equivoco, lo admito de antemano- que no estaríamos hablando de Unix en presente, si no fuera por Linux (que no es Unix, recordemos).

Francamente, creo que Unix es un sistema operativo magnífico, que perdió la batalla del pequeño ordenador por culpa de sus gestores, aunque otros "like" hayan tomado el relevo.

Por cierto, todos los caminos llevan a Roma y aparecen CP/M y Kildall de nuevo.

El tal Gary Kildall tuvo la idea (y la llevó a la práctica) de escribir un SO para el Intel 8080 en un lenguaje de alto nivel (PL/M), allá por 1974: CP/M.

Ambos, PL/M y CP/M, creados por él.

Años más tarde, él mismo defendía por escrito (a ver si lo encuentro y lo pongo) que la transportabilidad de un SO no venía por el SO en sí, si no por el lenguaje en el que estuviera escrito. Y ponía como ejemplo al lenguaje C y Unix. Y Digital Research (su empresa), iba a ponerlo en práctica con CP/M-68K y CP/M-Z8K, ambos escritos en lenguaje C.

Pero Guillermo Puentes inventó el Basic. -shock

Sigamos, que me pierdo (Ron, parezco un clon tuyo).

¿Microkernel o monolítico?

Pues depende, digo yo.

Al SO cuyo kernel es "micro", se le supone mayor estabilidad, tal y como comentas, Ron, porque si un proceso del SO se vuelve tarumba, no afecta al resto de procesos y aquí no ha pasao na.

Pues depende, digo yo (y ya empiezo a repetirme).

Si lo que se escogorcia es el file system, que Dios (Guillermo) nos pille confesaos.

En cuanto a un SO con kernel "mono", si se escogorcia, se ha escogorciao todo, todito, todo.

Así que, a priori, parece más estable el microkernel, que el monolítico.

Aunque también dependerá de cómo esté programado el conjunto, digo yo (y ya van tres veces que lo digo).

Porque te haces un SO donde casi todo lo ejecutas en Java, y pa qué vamos a seguir hablando.

Sólo son opiniones de un humilde programador, que conste.

Y vuelvo al principio, a la idea original que me hizo copiar y pegar el post del profesor Tanenbaum: la humildad.

Todos podemos equivocarnos.

La historia va más de personas, que de SOs.

El Sr. Tanenbaum se equivocó, el Sr. Torwalds se equivocó, el Sr. Kildall se equivocó.

Yes, hasta D. Gary se equivocó, como el mismo reconocío: creía que los ordenadores estaban para ayudar a las personas, para ayudar en la educación, para abrir mentes... y no para ganar dinero. Y él mismo dijo: abrí los ojos y ví lo que sucedía, cuando escribí Dr. Logo.

El único que no se equivocó fue el pontonero: quería fama, dinero y poder, y vaya si lo consiguió.

Pero volvamos a Unix, Linux, Minix, etc.

Creo que a Linux le falta algo más para llegar a los PC caseros en masa: simplicidad de uso, fuera complicaciones.

Unix (Linux) es un SO hecho por programadores, para programadores.

¿Para cuándo una versión "lite", enfocada a los usuarios molientes y corrientes?

Pero, claro, es que estamos hablando de un SO multiusuario y multitarea, enfocado a la investigación y desarrollo, creado por programadores, para programadores, y todo el mundo sabe que los programadores no saben lo que quieren los usuarios...

Avatar de Usuario
ron
Mensajes: 21855
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4752 veces

Re: Minix Vs Linux (de visionarios va la cosa)

Mensajepor ron » 18 Mar 2015 23:09

Ostras, BlackHole entrando técnicamente a saco matraco ! -507

Pues va a ser que si, pero como antes decía, hay que tener todos los puntos de vista asociados.

backholekernel01.png
backholekernel01.png (31.59 KiB) Visto 5289 veces


A groso modo la imagen describe los 3 tipos de kernel más conocidos en cuanto a su arquitectura.

Si vamos a OS con MicroKernel encontramos que:

Mach - Del cual salió la versión Mach Kernel que permitía ejecutar UNIX sobre Macintosh System 6 y 7. A su vez se convirtió en el kernel usado por NeXTStep. Que a su vez se convirtió en Darwin y se convirtió en un raro sabor de BSD y terminó llamandose MacOS X. (Originalmente para M68K)

Copland. Versión de Macintosh System que fue barrida del mapa por NeXTStep, Rhapsody, lo mismo que el Mach ... OS X.

QNX, conocida variante nIX empotrable. (MultiProcesador)

AmigaOS, como dice BlackHole ( hay para charlar un rato, luego me explayo ) (Originalmente para M68K)

Minix, del que hablamos en cuestión. (MultiProcesador)

TRU64. Versión UNIX para Alpha AXP de DEC ( Si, es MicroKernel y no es monolítico )

DOS
DR-DOS
MS-DOS
Microsoft Windows 9x series (95, 98, 98SE, Me)
FreeDOS
OpenVMS

Hay que determinar finalmente lo que penaliza en los kernels monolíticos, dudo que sea una cuestión de rendimiento. Pero es también un tema a debatir. Habría que saber cuales y en que circunstancias se dan estos casos. A mi no me sirve que todo sea discutido sobre un X86. Quizá teniendo amplitud de miras para cada plataforma exista una solución convincente y plausible para cada uno, pero mientras para gustos haya colores...

En cambio como sistemas operativos monolíticos, veréis que gran diferencia... ¿ donde radica el éxito ?.
BSD ( Los BSD son todo terreno y funcionan en casi todo bicho viviente )
FreeBSD
NetBSD
OpenBSD
MirOS BSD
SunOS ( M68K y Sparc )

UNIX System V
AIX ( PowerPC )
HP-UX ( PA-RISC e Itanium2 )
Solaris ( UltraSparc y X86 y X86_64 )
OpenSolaris / illumos

Unix-like kernels
Linux

De lo que yo más o menos puedo comentar, saco varias conclusiones ( técnicamente hablando )

Los sistemas operativos para ordenador llevan rondando algo más de medio siglo por lo que no hay mucho que añadir a la definición. En pocas palabras un sistema operativo es el software que se encuentra entre el hardware del ordenador y las aplicaciones de usuario.

Da igual que sea un sistema operativo de disco, que uno en ROM, ¿ porqué Jack Tramiel iba a llamar KERNAL a la ROM de sus Commodore de 8 bit ?

En términos generales, un sistema operativo consta de dos partes: un modo privilegiado llamado espacio del núcleo y modo no privilegiado llamado espacio de usuario. La separación es una necesidad más que una opción ya que otro modo de protección del proceso no se puede lograr. Dependiendo de qué procesos se ejecutan en qué espacio, podemos clasificar los sistemas operativos en tres arquitecturas principales: kernel monolítico, sistemas operativos kernel modular Microkernel e híbrido.

Kernel monolítico

Podéis pensar en un sistema operativo de núcleo monolítico como en un solo gran proceso de archivo binario estático ( y ahora también dinámico ) que se ejecuta íntegramente en un solo espacio de direcciones. Los servicios del sistema operativo básicos, tales como la gestión de procesos, gestión de memoria, manejo de interrupciones, la comunicación I/O, sistema de ficheros, controladores de dispositivos, redes, etc... todos corren en el espacio del núcleo. Los servicios enteros se cargan en el arranque ( o se pueden cargar y descargar sobre la marcha ) y residen en la memoria y el trabajo se realiza mediante llamadas al sistema. UNIX y Linux son un ejemplo de un sistema operativo basado en kernel monolítico.

Así que en términos generales un OS con kernel monolítico puede ser más rápido debido tanto en cuanto su fuente sea más pequeña y por tanto el tamaño del código compilado. Menos código significa también menos errores y problemas de seguridad.

Pero también hay desventajas, un OS monolítico al ser una única gran pila de código tiene desventajas. Por ejemplo, hacer cambios no es fácil y las pruebas llevan mucho más tiempo, lo que es un handicap para los desarrolladores. Es difícil de mantener, parchear o ampliar. La corrección de errores o el añadir nuevas características requiere la compilación de todo el código fuente, que es un proceso largo que consume tiempo y recursos.

Microkernel

La idea detrás de un OS basado en microkernel es la de reducir el núcleo a sólo la comunicación de procesos básicos y control de I/O y dejar que otros servicios del sistema se ejecutan en el espacio de usuario como cualquier otro proceso normal. Estos servicios se llaman servidores y deben mantenerse separados y se ejecutan en diferentes espacios de direcciones. Contrariamente a un OS monolítico donde se invocan directamente los servicios, la comunicación en un microkernel se realiza mediante el paso de mensajes (comunicación entre procesos IPC). Mac OS y WinNT son dos de los ejemplos más claros de la arquitectura microkernel.

Aquí algunas ventajas de la arquitectura de los sistemas operativos basados en microkernel:

La separación de servicios tiene la ventaja de que si un servicio ( llamado un servidor ) falla, no influye en los demás que podrán seguir funcionando sin problema por lo que la fiabilidad es la característica primaria. Por ejemplo, si se bloquea un controlador de dispositivo no hace que todo el sistema se bloquee. Sólo necesitaran ser refrescados en lugar de tener que hacerlo sobre toda la matriz del sistema . Esto significa más persistencia, ya que un servidor puede ser sustituido con otro. También significa que el mantenimiento es más fácil y sencillo.

Los diferentes servicios se construyen en módulos especiales que pueden ser activados o desactivados cuando sea necesario. Los parches pueden ser probados por separado y luego se intercambian para hacerse cargo de una instancia de producción.

El paso de mensajes permite la comunicación independiente y permite la extensibilidad.
El hecho de que no hay necesidad de reiniciar el kernel implica pruebas rápidas y el desarrollo.
Fácil integración y más rápido con los módulos de terceras partes

En cambio las desventajas de un sistema operativo basado en microkernel podrían ser:

El footprint de la memoria es grande
La pérdida potencial de rendimiento ( más interfaces de software debido al paso de mensajes )
Los bugs del paso de mensajes no son fáciles de arreglar
La gestión de procesos es compleja

Núcleo híbrido

El enfoque híbrido se deriva de la mejor de las arquitecturas micro y kernel monolítico. En lugar de cargar todo el asunto en la memoria, los módulos de núcleo se cargan dinámicamente en la memoria bajo demanda. Una desventaja es que un módulo puede desestabilizar un núcleo en ejecución.

El concepto de microkernel se inventó como una reacción al diseño tradicional de kernel "monolítico", por lo que toda la funcionalidad del sistema se pone en un solo programa en ejecución estática en un modo especial " sistema " del procesador. La razón era que traería modularidad en la arquitectura del sistema, lo que implicaría un sistema más limpio, más fácil de depurar o de modificar dinámicamente, adaptable a las necesidades del usuario, y más rendimiento. Aunque esto último creo que es lo que más va centrar cualquier posible debate.

Por poner un ejemplo concreto en BeOS: El kernel de BeOS (micokernel) hacía un uso intensivo del los multithreads (multihilos), mucho más que otros sistemas operativos. Lamentablemente BeOS fue una más de las víctimas de Microsoft.



Respecto al AmigaOS, ya que BlackHole lo cita...:

El sistema operativo de los primeros Amiga reside en parte de la ROM, desde la cual se puede iniciar el sistema y luego cargar los programas desde un floppy. Aún así es posible cargar un disco en el que se terminande cargar todas las funciones del sistema operativo y una interfaz de escritorio que en los sistemas Amiga se llama Workbench.

Es y a la vez no es MicroKernel, ya se que es dificil de explicar. En cuanto a concepto podemos decir que si auque la cuestión del espacio/tiempo del AmigaOS en términos de eficiencia es por supuesto crítica y es quizá la única razón por las que los microkernels no se han hecho más populares. El AmigaOS evita el paso de mensajes usando solo punteros llamados swaps ( bloques de memoria que no se copian en el sistema ). Por tanto, no dispone de protección de memoria y para el paso ultrarrápido de mensajes se usan punteros. No obstante existen herramientas de desarrollador diseñadas para detectar accesos a memoria no autorizados.

El HW original Amiga basarse en Motorola 68000 y al no tener MMU pierde la protección de memoria, por lo tanto estrictamente hablando del AmigaOS no se puede considerar ni como un kernel ni como un microkernel. Si se le puede achacar o reconocer arquitectura microkernel pero dista bastante de serlo en cuanto a la teoría se refiere. Yo no me fiaría en demasía de lo que diga la wikipedia.

El AmigaOS a diferencia de otros sistemas operativos de M68K como el System de Macintosh, no requiere que partes del SO estén en zonas fijas de memoria. Esto le permite por ejemplo liberar la parte baja de la memoria para usar emuladores como el Shapeshifter.

MorphOS por ejemplo está construido sobre el microkernel Quark y permite correr aplicaciones antiguas para los sistemas Amiga a través de un emulador. Además corre nativamente las aplicaciones más nuevas de AmigaOS a través de una implementación de la api de de este sistema operativo.

Así que volviendo al debate entre Tanenbaum y Tolvards...

Linus Torvalds el cabeza principal de Linux es un ferreo defensor de los núcleos monolíticos, mientras Andrew Tanenbaum el creador de Minix es un partidario del microkernel. Tanenbaum dice que el microkernel es en principio un mejor diseño, especialmente cuando la fiabilidad es de máxima importancia. Según Tanenbaum, es más importante la fiabilidad que tener un mejor rendimiento porque los microkernels permiten el diseño de sistemas operativos menos sensibles a fallos y con la capacidad de autoregenerase y autocurarse en caso de un fallo.

Yo lo tengo claro, no hay arquitectura de kernel y de sistema operativo que sea mejor que la otra en el sentido general. Creo que la comparación de un sistema operativo monolítico es como comparar dos tipos diferentes de transporte, por ejemplo, un coche y un autobús, donde cada uno cumple con necesidades diferentes.

MIra lo que dice Linus ( el tío ) de los microkernels, no hay desperdicio: http://yarchive.net/comp/microkernels.html


A todo esto, ¿ habéis visto la colección de núcleos que hay ? ... para dar y tomar:

Monolithic Kernel
Microkernel
Hybrid Kernel
Exokernel
Nano/Picokernel
Cache Kernel
Virtualizing Kernel
Megalithic Kernel

Avatar de Usuario
zx81
Mensajes: 516
Registrado: 23 Feb 2013 21:31
Agradecido : 138 veces
Agradecimiento recibido: 282 veces

Re: Minix Vs Linux (de visionarios va la cosa)

Mensajepor zx81 » 20 Mar 2015 13:52

Yo también llevo varios días esperando el hueco para meter cuchara en este asunto, que me parece de lo más interesante. Mucho se ha dicho ya, pero me gustaría hacer un par de puntualizaciones. Hasta donde yo recuerdo, Minix 1.x NO estaba publicado como BSD, GPL, LGPL ni ninguna otra licencia libre. De hecho, yo conseguí el Minix 1.1 en 5 disquetes de 5 1/4 (los únicos que todavía conservo como oro en paño) y, al entrar al sistema, decía que las explicaciones de cómo funcionaba el sistema estaban en el clásico libro de Sistemas Operativos del autor. Creo que fue leer aquello y salir corriendo a comprarlo para leerlo ávidamente. Varias veces.

Podría ir al trastero y coger el libro, porque aún lo conservo. Pero si la memoria no me falla, decía que para conseguir algo más que el listado impreso en el libro (que no estaba completo) había que ponerse en contacto con la universidad y pagar una módica cantidad. Sinceramente, no recuerdo cuanto era, pero no era libre.

Linus empezó compilando en Minix para poder empezar a desarrollar Linux. De hecho, el sistema de archivos inicial era el de MInix. Pero en aquella época, Minix no tenía compiladas las utilidades de GNU: ni binutils, ni gcc, ni nada de nada. Usaba el compilador de Amsterdam y había muchas cosas que no soportaba (TCP/IP, memoria compartida, semáforos, colas, ni tenía X-Window), así que portar programas de verdad no era fácil.

Para colmo, nunca ha sido fácil aportar nada a Minix. El sistema siempre ha sido controlado con mano de hierro por Tanenbaum y sus (escasos) colaboradores. Hará unos 3 años quise probar la última versión de Minix3 en un PC relativamente antiguo y me encontré con que la tarjeta de red que llevaba en placa base (una de la familia Intel e100) no estaba listada entre los dispositivos PCI que manejaba el driver. Me costó Diox y ayuda mandar un parche y que lo incluyeran. De hecho, en los últimos años la cantinela de Tanenbaum ha sido solo una excusa para que Google le financiara avances vía el programa Google Summer of Code y para que la UE le diera canelita fina a base de bien. Extracto de la página web de Minix 3, de una noticia del 1 de noviembre de 2008:

Andy Tanenbaum has received an Advanced Grant of 2.5 million euro from the European Research Council to work on a project entitled "Research on Really Reliable and Secure Systems Software." The grant means that work on further developing MINIX 3 will continue to have funding for at least five more years starting today. That is VERY good news. This means our programmers can continue working on MINIX3 and several Ph.D. students and postdocs can be funded to push the research forward. Nevertheless, contributions from users such as drivers, ports, updating and translating the Wiki, etc.are very, very welcome. Wed like to build a bigger community.

Al final, hay que ser pragmáticos. Si montáis una versión reciente de Minix3 en una máquina virtual tipo VirtualBox descubriréis que es sorprendentemente fácil petarlo. Recuperarse de ciertos errores no es trivial, esté hecho en procesos separados o monolítico. Los problemas pueden venir de muchos lugares diferentes y algunos son imposibles de recuperar, como un hardware que en cierto momento se queda pirulo y la única manera de sacarlo de ese estado es un reset. Conservar la coherencia de un sistema de archivos después de un pete, tampoco es trivial. Y al final, el movimiento se demuestra andando, y Minix 3 es mucho menos resistente a fallos que Linux a día de hoy. Si el desarrollo fuera más abierto, quizá hubiera avanzado más en menos tiempo. Pero lamento tener que decir que hace muchos años que solo es cortijo de Tanenbaum y dos o tres de sus más estrechos colaboradores. El resto, proviene de estudiantes de doctorado o similar con contratos de no más de un año. Diría que casi ninguno de ellos sigue en el desarrollo de Minix 3, ni siquiera a título personal y eso es francamente extraño.

Como suele suceder, una cosa es predicar y otra dar trigo... ;)
Cuando utilizo una palabra, esa palabra significa, exactamente, lo que yo quiero que signifique. Ni más, ni menos.
Humpty Dumpty

Empieza a jugar sin tener que compilar: Emulador JSpeccy
ZX Spectrum bare-metal para Raspberry PI ZXBaremulator

FloppySoftware

Re: Minix Vs Linux (de visionarios va la cosa)

Mensajepor FloppySoftware » 20 Mar 2015 17:12

Cierto, zx81, Minix no era libre (ni gratis) cuando apareció.

Había que comprar el libro, eso para empezar y luego la licencia era restrictiva.

Por eso Linus se puso manos a la obra con su propio kernel.

Por eso y porque HURD de GNU estaba en pañales (más o menos como ahora, por lo visto).

Avatar de Usuario
ron
Mensajes: 21855
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4752 veces

Re: Minix Vs Linux (de visionarios va la cosa)

Mensajepor ron » 20 Mar 2015 21:38

Hoooombre, el gran José Luis a.k.a ZX81, este post sin tus comentarios no sería jamás lo mismo, de hecho ya me extrañaba que ni la cucharilla.

Pero vamos a ponernos en contexto, creo que la ocasión lo merece.

En 1987 era impensable tener algo que no fuera un PC, un Atari ST un Macintosh o un Amiga. Para poder ejecutar UNIX todavía faltaban unos años por llegar... de hecho a posteriori si que se pudo, pero aflojando pasta o siendo un pirata patapalo. Lo de la pasta es harina de otro costal porque era un pastizal lo que costaba una licencia de Unix, un riñón, un ojo y un cojón de pato ( viudo ).

Correr UNIX en los 80 Por tan solo cinco de los grandes un usuario doméstico podía correr UNIX en su casa, venga me explico y luego cucharón.

En 1983 SCO le compra los derechos a Microsoft de Xenix ( que no valían ni pa eso ) para los procesadores Intel X86, siendo el primer paquete de sistema UNIX comercial para PCs.Xenix es un derivado de una rama del árbol de la familia Unix, vamos a dejarlo ahí. En 1987, SCO porta Xenix al procesador Intel 80386. Ese mismo año Microsoft transfiere la propiedad a SCO, bajo el acuerdo de que un 25% de propiedad de SCO es propiedad de Microsoft.
En 1989 SCO comienza a producir el SCO Unix, el cual deriva de un brazo desde el árbol de la famila Unix, System V Release 3.2. La versión inicial de SCO Unix, Release 3.2.0 no incluye sopote para redes TCP/IP o gráficos X Window System.

preciossco1984.png
preciossco1984.png (30.72 KiB) Visto 4829 veces


En 1984 estos eran los precios de SCO. Normalitos eh ?

En 1986 IBM lanzo su versión de AIX 1.01 que funcionaba sobre el IBM RT/PC (AIX/RT) , un PS/2 y estaba basada en un System V Release 3.

En 1988 con el 68020 ( + mmu ) de su Macintosh II y con el 030 ( + mmu ) de su Macintosh IIx, Apple sacó su primera versión de A/UX, para más datos esta versión ya estaba diseñada de serie con kernel monolítico y por supuesto con licencia propietaria. Concretamente de febrero del 88, basada en el Unix System V.2.2 de AT&Ts y con características adicionales de BSD Unix. Es decir, aparte de la clavada que significaba comprarse un Macintosh II y dependiendo de la "media" en la que se compraba significaba que en CD-ROM era la opción más barata, solo 795 dolares, y las versiones en floppy y tape ( cinta ) a solo 995, no se si decirlo, pero la versión en HD de 80 MB a partir de 2395 $ dolaritos de nada. NO olvidéis sumar lo que costaba un Mac II que era bastante más que eso, ( made in USA ). Ah, si lo querías comprar con un Macintosh II solo te costaba 8597 $, solo eh ???

Al poco tiempo, en el mismo 1988 Apple lanzo la versión 2.0 de A/UX, el precio para los empleados era de 1.000 pavos americanos. También basado en AT&T UNIX System V (various releases) and BSD4.2/4.3

El MachTen ( basado en el UNIX de Carmegie Mellon ) MachTen Personal Unix (v2.1): Unix for every Mac ($495)
MachTen Professional Unix (v2.1): A low-cost, workstation-class Unix for Mac ($695), MachTen Technical Documentation ($300)
MachTen X Package ($350), pero este iba montado sobre el System del Mac y no era exactamente lo mismo..

En 1991 y con los nuevos Macintosh IIcx, Macintosh IIci y otros modelos ya con 68030, MMU, copro y tal pascual, se sacó de la manga la versión de A/UX 3.0, por tan solo 709 dolares, barato barato.

En 1991, Commodore junto a una versión del Amiga 3000 lanzo el bundle AMIX, formado por un 3000 y el paquete UNIX para Amiga llamado AMIX. Basado ya en UNIX System 5 Release 4/AmigaOS 2.04. El famoso "bundle de marras" solo costaba 4998 $ de vellón, redondeando... cinco de los grandes.

Bueno, después de la chapa que os he soltado ya sabeis que para correr Unix en casa, aparte de un costoso aparato habia que soltar entre 6000 y 2000 dolares por el paquete de Unix, saber instalarlo, saber manejarlo y mantener la licencia al día.

Ahora es cuando entro a lo que iba. Poder usar en 1986-1987 un sistema operativo similar a Unix, clónico, copia, llamadlo como más os guste, con la única intención de aprender y saber de que iba la cosa sin la aparción de MINIX era imposible. Una cosa lleva a la otra y gracias al impulso inicial de Tanenbaun y a la audacia de Tolvards hoy en día gozamos de algo fantástico que todos podemos usar.

Pero vamos al lado realista. A ver, que yo he probado el MINIX 1.0 y el 3.0 también, pero que conste, solo como curiosidad, solo como prueba de concepto. A mi no se me ocurriría tener un MINIX como sistema de escritorio o de producción. Está muy bien como concepto, como sistema para echar un ojo, para aprender cosillas, pero en ningún caso para tenerlo como sistema operativo de uso común. De hecho no conozco a nadie que lo tenga ni que lo use a no ser que sea para esos menesteres.

En cambio ahora mismo os escribo desde un GNU/Linux Debian 7.8, sistema que uso a diario y que es fiable a tope. Con MINIX lo que hago con GNU/Linux sería impensable. La licencia de GNU/Linux es clara al respecto:

Código: Seleccionar todo

uname (GNU coreutils) 8.13
Copyright (C) 2011 Free Software Foundation, Inc.
Licencia GPLv3+: GPL de GNU versión 3 o posterior
<http://gnu.org/licenses/gpl.html>.
Esto es software libre: usted es libre de cambiarlo y redistribuirlo.
No hay NINGUNA GARANTÍA, hasta donde permite la ley.

Escrito por David MacKenzie.


Así que día de hoy, que sea funcional 100% tenemos el GNU/Linux y los flavours BSD, OpenBSD, NetBSD y FreeBSD. El MINIX a día de hoy es anecdótico del todo y como digo, aparte de curiosidad....

Deja muy claro quien y como se llevó el gato al agua. Que las ideas de uno y de otro ayudasen a que lo que tenemos ahora sea como es, pues estupendo y ojalá hubiera habido más Tanenbaums y más Tolvards

FloppySoftware

Re: Minix Vs Linux (de visionarios va la cosa)

Mensajepor FloppySoftware » 20 Mar 2015 22:14

No nos olvidemos de Richard Stallman, creador e impulsor del proyecto GNU y la FSF, allá por 1983 si no recuerdo mal, cuyo objetivo era crear un Unix libre, que vino a complementar el kernel Linux, proporcionando las utilidades del sistema, cp, ls, cat, etc. y el compilador gcc.

Avatar de Usuario
ron
Mensajes: 21855
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4752 veces

Re: Minix Vs Linux (de visionarios va la cosa)

Mensajepor ron » 20 Mar 2015 22:47

Que conste que yo estoy muy de acuerdo con la filosofía de Stallman que a sus 62 tacos sigue dando guerra, y por supuesto de la FSF ( Free Software Foundation ).

Evidentemente como creo que ya habéis dicho antes decir Linux a palo seca queda como que muy cortito y bien, pero en realidad es GNU/Linux. El Kernel de Linus Tolvards lo que ha venido haciendo todos estos años es sustituir al HURD.

https://www.gnu.org/gnu/linux-and-gnu.es.html
http://es.wikipedia.org/wiki/Controvers ... _GNU/Linux

Básicamente yo uso Debian por que de las distribuciones que hay es una de las que siguen representando todo lo que significa GNU. A colación de todo esto hay un hilo que trata el tema bastante de cerca: viewtopic.php?f=22&t=200031373

Hace tiempo que se viene diciendo.Sucede que Linux no es el único kernel disponible en nuestro mundo, pues los usuarios de Debian pueden usar el kernel de FreeBSD (kFreeBSD), y próximamente podrán usar el kernel en el que la Free Software Foundation siempre ha estado trabajando: Hurd.

En realidad el desarrollo de Hurd nunca se detuvo, como se puede apreciar en el video producido con codeswarm que toma todas las contribuciones realizadas al repositorio de Hurd desde 1991 hasta el 2010 y las convierte en una animación 3D, donde cada punto representa un cambio a un archivo que se alinea alrededor del nombre del programador que lo realizó.

http://www.youtube.com/watch?v=1YFUY6g5dJ8

GNU Hurd es un conjunto de programas servidores que simulan un núcleo Unix que establece la base del sistema operativo GNU. El Proyecto GNU lo ha estado desarrollando desde 1990 como software libre, distribuyéndolo bajo la licencia GPL.

Hurd intenta superar los núcleos tipo Unix en cuanto a funcionalidad, seguridad y estabilidad, aun manteniéndose compatible con ellos. Esto se logra gracias a que Hurd implementa la especificación POSIX (entre otras), pero eliminando las restricciones arbitrarias a los usuarios.

A diferencia de la mayoría de núcleos tipo Unix, Hurd se erige encima de un micronúcleo ( actualmente sólo está soportado Mach ) responsable de facilitarle los servicios de un núcleo más básicos: acceso al hardware,memoria RAM y a otros dispositivos...

Hay otros sistemas tipo Unix que se ejecutan encima del micronúcleo Mach, como OSF/1, NEXTSTEP, Mac OS X, Lites y MkLinux. Todos ellos están implementados como un único servidor. Por lo tanto, sustituyen el núcleo monolítico de los sistemas Unix tradicionales con dos elementos, el micronúcleo y el servidor Unix

Ya veis, al final HURD es microkernel. Si es que estos posts sirven de algo, es para que nadie tenga la razón en nada. Todo es útil y bueno. Lo malo es que hay distrubuciones de Linux que ya no son GNU o poco o nada cumplen de su filosofía.- Por ejemplo el RedHat cada día es menos Linux y es mas RedHat y otros siguen la misma pauta... ahí lo dejo.

Avatar de Usuario
ron
Mensajes: 21855
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4752 veces

Re: Minix Vs Linux (de visionarios va la cosa)

Mensajepor ron » 20 Mar 2015 22:58

¿ Queréis probar MINIX en máquina virtual ?

http://virtualboxes.org/images/minix/
Así de fácil. Ahí tenéis desde MINIX 3.1.2 hasta MINIX 3.2.1

Venga, otra: MINIX 2 : http://minix1.woodhull.com/pub/demos-2.0/VMWarePlayer/

y algo más retro: http://virtuallyfun.superglobalmegacorp.com/?cat=156

garillete
Mensajes: 2327
Registrado: 30 Oct 2010 20:58
Agradecido : 478 veces
Agradecimiento recibido: 966 veces

Re: Minix Vs Linux (de visionarios va la cosa)

Mensajepor garillete » 14 Oct 2018 18:39

Pequeño aporte:

Minix en Mac clasico

Imagen Minix 1.5


Volver a “Sistemas Operativos”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 7 invitados