Minix from Scratch Project Established
decuser writes "The MFS - Minix from Scratch project was established in the wake of the Brown-Tannenbaum controversy. MFS aims to be to the Minix community what LFS is to the Linux community, a recipe for building an alternative OS from 'scratch.'" See the project's website at mfs.sunsite.dk or minixfromscratch.org.
http://saveie6.com/
Wasn't Minix already built as much "from scratch" as Linux was?
Minix is great for teaching about OS's - I cut my teeth on it running on an Atari ST, but a proper distro? There's something missing here... oh yes, the point..
I see Microsoft's attacks on the credibility of Linux are bearing fruit.
Now they have created yet another free OS to compete against!
The problem was that it cost money :P I always wanted to mess around the code on a simple, yet an operating system you could DO something with.
Don't say "Linux!". Have you SEEN how many lines of code that is? I just a lowly hobbyist.
...so that SCO could sue you / your users and de Tocqueville Foundation call you source code thieves.
Or... wait, you are already using existing Minix? Just adding and linking some software with it?
That's it. AdTF, where are you?
This could lead to the second coming of Linus !!! Let us rejoice and sacrafice junior VB coders to the Gods of Code.
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
Minix is great for teacher and student, but it shouldn't be the first choice for general purpose operating systems. At one time it didn't even have networking (but maybe that has changed).
How about a "DOS from scratch" project? That ought to drive Microsoft NUTS!
Is why do you need a 3G+ processor, 60G HD and at least a gig of ram to install and run minux?
a dwo-digit
Is that something you get from typing in stolen code?
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
Let's break it down...
The MFS - Minix from Scratch project was established in the wake of the Brown-Tannenbaum controversy. MFS aims to be to the Minix community what LFS is to the Linux community, a recipe for building an alternative OS from 'scratch.'
MSF: nope. NO clue. Macworld San Francisco? Microsoft foundation?
Minix: something to do with MINI-coopers? Maybe a followup to the MINI/iPod story?
Brown-Tannenbaum controversy: eh? Sorta like the Bill-Monica controversy? I have no clue.
LSF: what? Lakers Soundly Fucked?
As you can see, this story sparked my imagination. I hope it was as entertaining for you as it was for me.
He left us his shoe!
Boobies never hurt anyone. - Sherry Glaser.
And no peeking at the answers in the back of the book!
There's just one thing missing from the site - the actual Minix from scratch instructions.
Lacking the instructions, this still looks cool and something I'll try in my spare time. Based on the relative differences, this looks a lot more doable timewise than Linux fron Scratch, just based on the relative difference in sizes between the two.
The tempest in a teacup is over whether an OS could be written from scratch by a single person. Making a shared project out of it fails to prove that a single person can do it. Worse yet, Ken Brown's sense of logic will lead him to cry that it's proof that a single person cannot do it.
It's probably a fun project, but it isn't really going to prove anything new that reasonable people don't already know. And it will fail to convince unreasonable people of anything.
I guess though it is also worth noting that while Minix was only designed for teaching OS concepts it has been used for RealWork. The same happened to Pascal. Nobody was ever supposed to write any RealCode in Pascal - it was also intended only as a teaching tool.
Engineering is the art of compromise.
They better find a new acronym...MFS was the old acronym for the Macintosh File System from the old 128K/512K Mac series. It was a flat file system that sucked balls and thankfully died with System 8 but made life annoying, especially when writing old floppy duplication and cataloguing programs. The Str63 type for filenames is still living around in HFS structures, even though HFS only supported 31 characters since the days of the old Mac Plus.
ed
Ken Brown was full of shit and was quickly debunked by most of those he interviewed and the guy he hired to compare the code. The only controversy exists in his delusional mind and in the minds of other nutjobs. Even MS has distanced themselves from this FUD project, as Ken Brown is so clearly a fool.
It's not offtopic, dumbass. It's orthogonal.
It's interesting to see Tannenbaum's influence on Senn:
"I have to be upfront with you, I am a fair newbie at Minix. I have been using Linux since the 0.9 kernel (downloaded via ftp on VMS in 90s) and have a fairly decent background in Unix - solaris, sco, bsd, etc. I got interested in Minix back around the same time too, but I had success with Linux and stayed with it. I got reminded of Minix the other day when Andrew Tanenbaum posted his response to the 'Brown' book - pure enlightenment - http://www.cs.vu.nl/~ast/brown/."[emphasis added]
Here is some more background infoon the genesis of the project.
No, no, no! He obviously means for us to wear only one shoe.
It's not offtopic, dumbass. It's orthogonal.
Hasn't HURD been trying this for 15 years?
Back in 1992 or 1993, a unix admin suggested that I check out a PC unix called "minix." Back then, "googling" consisted of connecting a ftp clinet to ftp.wustl.edu and manually traversing the directory structure looking for something interesting. I don't remember if it was at ftp.wustl.edu or sunsite.unc.edu, or even on usenet, but I eventually stumbled across this PC unix called "linux." It sounded right, so I went with it.
Months later, I spoke to the admin again, and found that I was mistaken. Rather than type in thousands of lines of code for an 8086 unix kernel, I had a fully functional linux workstation with X11, ethernet and all the rest of the good stuff that we take for granted today but were PC fantasies in the Windows 3.0 days.
Question: is the current MINIX licence GPL-compatible? I've given it a scan and it seems pretty liberal. Is it possible or feasible for code to be taken from linux (or vice versa) within the remit of these licences?
Slashdot should stop promoting projects that have nothing more than a Web page.
MFS looks like it's trying to write a manual for installing Minix. That's fine, but will it really teach "operating system design concepts"? Wouldn't Tanenbaum's textbook be better for that? Linux From Scratch teaches you a lot about Linux, but it doesn't teach you how the kernel works.
Just look at all the valuable information available on the MFS Wiki. Lots of useful information suggesting hours and hours of labor by Minix users everywhere. I predict this will be the Next Big Thing. Minix installations everywhere, sweeping the nation, sweeping the world, while Linux fades into obscurity. With BSD dying and Apple beleaguered, Minix will become the next major competitor to Windows.
Ho ho ho, of course it was, little Crayz! I helped Tanenbaum by sneaking in on Christmas Eve and stealing the code from the author who wrote it from scratch, the Tooth Fairy! Now if you'll excuse me, I need to be running - one of my elves is having trouble groking how to set up a proper packet queue, and needs some of my Linux experience...
Tanenbaum said it's been released under a BSD-style license. Well, if you believe the quote Ken Brown gives....
This once place where Ken Brown is actually correct. It is under a BSD-style license.
If Linus had a good experience with Minix, why would he create Linux?
I hit the site, but can't figure out what you can do with Minix. Is it a server OS, does it have a desktop? A web browser? Call me uninformed, but I can't tell what's up.
PCB
free ipod and free gmail!
I say, let's start a "Windows from scratch" project! I even have a name for it, we'll call it "wine"!
Stage 1 install - Now there's Linux From Scratch.
If you do what you always did, you get what you always got.
Minix has been free for some time now, though you will want to buy Andrew's textbooks to go along with it.
Also, there are many other viable OS projects that are small enough to be understood.. Try VsTA for one. Or perhaps one of the projects to create an 'openTOS' ( the os that lives in all the Atari ST' computers )
---- Booth was a patriot ----
MINIX is on the comeback trail, so I guess we'll see a lot more MUGs around.
Oh, I slay me!
I was excited to know there was a Minix community, but then I started poking around my nursing home, and gosh darn, everyone's excited!
[ think ]
Linux is dying...
"A goldfish was his muse, eternally amused"
Does there always have to be a point? Can't people do something because they want to?! I'm seriously getting sick of people on slashdot turning their nose up to non-linux, non-gnome, non-kde, non-whatever projects for whatever reason they pull out of their ever-widening ass. Be it decentralization of the open source mind share, percieved uselessness, whatever. People do things like this because they want to. What's wrong with that? That's how innovation happens. I mean, why would Linus go off an code linux? There was already Minix, and several other unix-like distributions (namely BSD). Did the world REALLY need another unix knock-off? Apparently so.
Back in 2002 or 2003, a Windows admin suggested that I check out a PC operating system called "Windows." Back then, "googling" consisted of pointing a browser at http://www.google.com/ and manually traversing all the porn pages returned looking for something interesting. I don't remember if it was at http://www.google.com/ or http://www.google.de/, or even on http://labs.google.com/, but I eventually stumbled across this PC Windows clone called "Lindows." It sounded right, so I went with it.
Months later, I spoke to the admin again, and found that I was mistaken. Rather than downling thousands of MegaBytes of files for an unreliable operating system, I had a fairly functional Linux workstation which ran Windows programs, ethernet and all the rest of the good stuff that Linux users take for granted today like reliability and security but are PC fantasies for Windows XP users.
We'll have a contest to see how many _single_ developers can design, code and finish
an operating system similar to Minix(conceptually) with some standards compliance(i.e.POSIX.)
We'll select a bunch of the most critical subsystems and define those as a Base and give extra
points for the following:
- using a language that's not generally used for OS design,
- designing and coding for portability(more platforms=more points)
- smallest code base
- best documentation
- time to complete, less time=more points
- fastest(benchmarkers paradise here we come...)
- POSIX compliance, more compliant=more points
- massive extra points for running windows software ;-)
- 'clean', no borrowed code = +100 points
and i'm sure there are other categories.
So for example, person A get 100 points for base compliance, 25 points for using a language
not generally used for OS design(Visual Basic?) another 25 points for best documentation.
His total score would be 150.
Person B submits a Base+ OS:
base compliance = 100
written in Forth = 25
highly portable = 25
time to complete, 6months, 23 days, = 25 points
best documentation = 25 points total score, 200 points
Ultimately, the point is how many POSIX-subset compliant OS's written by ONE programmer/analyst
can we get and how long will it take?
Say we get about twenty-five(25) base-implementations submitted by six months, three(3)
decent base+ implementations in 9-10 months and one(1) truly great implementation in 13 months;
We can then say that Ken Brown and company really, really don't have a clue about software
development, and OSs in particular.
"...that's as white as it gets; all the bits are on..."
SCO will sue them within a year.
This could potentially be rectified by building a "File System Manager" and "Device Manager" that support the Linux device and file system models. Then, all Linux device drivers and file systems etc could be plugged into Hurd and used with little/no modification.
The benefit of an exercise like this is that it would push Hurd into "useful" space so that it would become worth putting effort into, and there would then be a microkernel OS with a rich set of code.
For all Linus' comments about "computer science masturbation", there is still a place for microkernels and they can be pretty damn efficient. Having a solid microkernel OS in OpenSource land is of significant value.
Engineering is the art of compromise.
you mean freedos? http://www.freedos.org/
...a dyslexic troll!
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
mod parent up +5 funny :)
You could only connect to those ftp sites about half the time and we thought it was great. You had to download big things (X) in many small parts over many days. E-mail addresses were routes between connected machines. When you posted on usenet, you'd give two or three routes from well known servers.
Online abuse was handled quickly and simply by one admin talking to another. Admins who didn't play nice found they couldn't get a peer any more. These days spamhouses have no problem finding someone to peer with.
No one was anonymous. There was little for an innocent person to fear.
There were dark spots. Canter and Morse were serious problems at the time, but nothing like the scum we have today.
Mod me off topic, please. If anyone cares, they'll look under the covers.
Summary: small poll for my new operating system Hello everybody out there using minixfromscratch - I'm doing a (free) operating system in VB (just a hobby, won't be big and professional like gnu) for 386 (486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minixfromscract, as my VB-based OS resembles it somewhat Any suggestions are welcome, but I won't promise I'll implement them :-)
Linus
When I left Microsoft it wasn't pre-emptive or very useful. WTF would I want to look at the code, or play with DOS for?
;-]
In my operating systems class I was learning how to implement stuff that Windows wouldn't have for another three years (yes, I implemented pre-emptive multi-tasking in '92 on x86 hardware, and it wasn't bloody well rocket science).
Hell, I was reading Tanenbaum for my Operating Systems course. I used his definitions for a bunch of system calls to implement a UNIX layer in another OS. (Uh oh, now SCO will sue me and my professor. =)
Quite frankly I think implementing Minix from scratch is a hell of a lot more interesting than anything DOS ever did. [ And I have the course notes to prove it
Now, don't get me wrong, BBS Sysop has street cred in my book, but DOS isn't exactly what I'd call a sophisticated system to want to play with that much as compared to a real multi-tasking OS, which Minix most definitely was.
Lost at C:>. Found at C.
Controversy? I cant see one, all I can see is that Brown said a lot of BS and was rebutted by Tanenbaum. My 2 cents.
Next!
I thought devices were stored in
It seems like a lot of people are missing the point here. Minix is a great way to learn about how operating systems work. A Minix From Scratch project will make it even more useful for this. This will hopefully be a great education tool for people wanting to get into how oeprating systems work. I really don't see it meaning to be a big competitor with GNU/Linux or *BSD
I wonder if Brown can be sued if he lies outright and has no way to prove his claims? The book he writes is not a fiction...
...United States Patent and Trademark Office, an internationally respected agency...
PS My favourite part of Brown's response is:
I really look forward to your posts.
We have a LFS, a MFS... but no WFS?!?
What's that supposed to mean... I want to build my own windows from scratch...
In my operating systems class I was learning how to implement stuff that Windows wouldn't have for another three years (yes, I implemented pre-emptive multi-tasking in '92 on x86 hardware, and it wasn't bloody well rocket science).
I MER_INTERRUPT, scheduler); /* idle */
Heartsurgery is easy: All you need is a blunt knife. Doing something useful like saving someones life by laying a bypass is not.
Implementing preemptive Multitasking is easy. All you need is a loudmouthed CS student. Doing something useful with it like making a formerly cooperatively multitasking OS preemptive is not. (just think of all the device drivers, filesystem, network code that need to be changed).
It is not a matter of:
#define S_WAITING 1
#define S_READY 2
#define MAXPROC 4
struct task {
int state;
unsigned char cpustate[SCPUSTATE];
}
struct task tasktable[MAXPROC];
int currentproc = 0;
disable_interrupts();
set_interrupt_vector(T
program_timer();
init_task(0, NULL);
init_task(1, task1);
init_task(2, task2);
enable_interrupts();
while(1) {
serout ("Idle hands read slashdot");
}
find_eligible_task() {
while(currentproc < maxproc && tasktable[currentproc].state != S_READY)
currentproc++;
if (currentproc == maxprc)
currentproc = 0;
}
scheduler() {
save_current_cpustate(tasktable);
find_eligible_task();
restore_cpustate[currentproc];
}
task1() {
while (1)
serout ("He mom! Check it out! I did this!\n");
}
task2() {
while(1)
serout ("You mean I can't use the UART when you are using it?\n");
}
There. Preemptive multitasking more or less. Build your own toy operating system around it. Filling in the assembly code for stuff like
dis/enable_interrupts, init_task, save/restore cpu_state etc. I will leave it to the inclined CS student to do that.
Gah. People post stories about Microsoft and include links to microsoft.com, they post stories with links back to slashdot.org ...
Here is the link for linuxfromscratch.
+++ATHZ 99:5:80
I think choosing Minix over Hurd has everything to do with Minix being a working kernel that has been ported to a number of architectures, whereas the Hurd is struggling to work on even one architecture.
Please correct me if I got my facts wrong.
We got a compiler, a set of binutils, two editors, fileutils, textutils...
very nice idea, but who is going to play with it? Most hackers are already playing with Linux... so this project looks like GNU Hurd: a very interesting kernel on the paper, but lacking the big number of developers-users that write device drivers for Linux.
BTW: what about a "Linux adapter" to use device drivers written for Linux with other kernels?
You mean there's another OS than linux? Well, then it must suck, and if any of it doesn't suck then that's because it rips off linux.
See, people. Someone other than St Linus once wrote an operating system kernel. Can you handle that?
...there's an array of Microwave dishes in london operated by (IIRC) the BBC. The software that controls them is running on DOS (don't know the version). Now, the funny thing about this is that the microwave dishes are normally pointing just a few feet above a London Underground line and if the software went completely tits up you'd have a few cooked passengers and one train in need of replacement.
;o)
Always found that story amusing for some reason
I am NaN
I suppose it will have a monolithic kernel...
... how about MULTIKERNEL? Thas raht, a kernel for every app! No more struggling with dependency heckfire, no SUH, you get your application with it's own complete OS wrapped in, through and around it, runs on everything from a new peeceee to my uncles de soto.
What? Don't like the multi, micro or macro, howcome then no one makes a MEDIUM SIZED kernel, eh? eh? eh? Your porridge is too hot to eat, too cold to eat? Then go to JUS-S-S-T RIGHT, *in the middle*.
Sheesh, people - it's for learning and teaching how OSes tick - here's the rub, Minix is a microkernel with about 5 Megs of source code, Linux is monolithic with about 127 Megs of source code, the Minix code is extensively commented and the Linux code hardly has any comments at all, you're trying to figure out what 'it' all 'means' - which do you choose? I'm here to tell you, unless you're a super stud coder with nothing but time on your hands - you pick the more thoughtful design with better comments and less code to plow through - Minix!
Doh!!!
I am not an expert in design of operating systems, but i understand quite clearly how microkernels and monolithic kernels work. I had to change couple of times some Linux drivers. It is somewhat problematic, because you may crash your machine quite easily. You have to be very careful, thus very slow in real work. Making a driver very similar to standard user program, main grief is taken away. Actually, making "user space drivers" is recomended in some books about Linux drivers, but i never figured out how they work.
So I don't understand why is there so big lack of drivers for Hurd, since it should not be a problem to write them? Why they do not write at least some sound driver, just to show they system is working one? If you write AC97 driver, for instance, you have at least 25% PCs covered (or at least 100% of my PCs covered).
No sig today.
Repeat after me - Minix is an educational tool, it's not designed to compete with either MS or Linux. MFS was created to promote the educational aspects of Minix to folks who otherwise wouldn't bother - either because of the steep learning curve or finances - many folks in the outer reaches cannot afford the $70.00+ USD price tag for the Tanenbaum book. What's wrong with wanting to do something to help and to teach?
Like this here ReactOS thing?
Stick Men
If you want to experiment with developing your own OS without the Minix framework, check out the Flux OSkit. It provides a lot of low-level stuff to build on (threads, memory management, filesystem) and interfaces gluing to Linux/FreeBSD components.
MFS - Minix from Scratch
This project is not intended to replace or compete with ANY existing operating system. It is not an installation FAQ. It is not a DISTRO.
It is an attempt to make OS design and system internals accessible to the masses in a way that Linux cannot - due in part to its sheer mass and in part to its complexity (what makes it useful as a desktop and enterprise server). Minix provides us with a platform that is well designed, modular and well documented in source code, in addition to being a compact code base from which to spring from.
The project is in its infancy. A lot of folks have been complaining, here at /., that the project is lacking in output - give us a break, we are less than a month old. We are dependant on collaboration, if you think that there isn't much done yet - do it and you'll be very appreciated - otherwise, watch and learn, we'll get there in time.
To the many folks who have expressed interest in our little project - thanks, I look forward to working with you.
Willit was a joke. For future reference, this is why you never get laid. And never will if you keep this up.
You're right of course... find_eligible_task() { while(currentproc if (currentproc == MAXPROC) restore_cpustate(currentproc); aside from that the tasktable hasn't been zeroed out in the initialization routine. I'll fix that in ToyOS Version 0.00000000000000002. I was just a little too upset at that little cur when I released ToyOS Version 0.00000000000000001. There you are. Open Source: Short release cycles and a community of developers all over the world verifying each other's code. Regards
How the heck you do that? Last time I tried the lame set of tags permitted here on pisspot, ECODE didn't preserve the spaces, just the line breaks.
Is that before or after the release of GNU/HURD...on the Alpha architecture?
Will it run [a compatible API as] Linux?
Can we imagine a BeoWULF cluster?
How much time do I have to note any more compatibility? My bucket of Pykrete just isn't melting fast enough as I stand here in Hell?
True. (Dirty)DOS of course being originally based on CPM which in turn was based on Unix!
CP/M was more likely derived from a DEC OS. RSX? RSTS? Or something else like that?
It certainly wasn't Unix.
Forced replication of work is silly since the OS with momentum will get the effort and the other OS will get nothing and will thus stagnate further. It would be great if there could be a compatability module for Hurd that would allow the Linux drivers to be used as-is.
Engineering is the art of compromise.