V2 OS
Blizzard-ahb writes "You may want to have a look at this 'still has that new car smell' operating system.
V2 OS is written entirely in ASM for x86 processors and aims to be the fastest OS around. Just needs some developers to start coding some applications for it.
It weighs in at a massive 37KB download. There is a SDK availible for download that uses C, or you could write in ASM as well. Did I mention that it was free?"
They seem to be pushing it as if it will actually go into wide use.
It's a cool toy, but it is a toy, and it's not presented as one. All that stuff about performance is nonsense, because the overhead of even the current piggy in-use software isn't a big deal. What's the point of reducing task-switching overhead from 0.3% to 0.01%? You still gain less than 0.3%
Also, this would be a much, much cooler toy if it came with source. Why do you want a toy OS, except to tinker with its guts?
OTOH, it's good to be reminded now and then just how small code can be. I love coding in assembly and seeing just how much I can fit into a KB. Size-limited programming contests rule, especially game programming, especially with exotic platforms (nothing to stretch the old brain like learning to program an Atari 2600).
IMHO assembly is the right choice when it comes to speed, as i'm involved in game development and most of the time the extra speed is mandatory for complex algorithms and hardware tricks, but games are developed for common hardware and most of the time they don't really need to be very flexible.
:)
But in the OS side, speed is definitely not as important as a clever design. If these guys want their OS to lift off they better be very thoughtful, because it doesn't make any sense to code the fastest hack if you can't really extend its capabilities or program applications easily. I think a good example of what does a well-built, small, fast AND portable OS look like is QNX. OS, GUI, Web server, browser and some more stuff fits in a floppy, and most of it is written in C/C++.
Personally, I hate coding the same thing twice for two different platforms, I really like the idea of using my code for more than one thing, and that's what standards like ANSI C and POSIX are all about.
These guys might as well win some Assembly '00 award with amazing code like the V2, but let's be serious, assembly should be used only when needed.
That said, coding in assembly is really fun (except when you have to explain your code either to other person or to yourself after some weeks of working at something else
--------------------
- Otaku no naka no otaku, otaking da!!!
I think that programmers should take a little time and learn enough ASM as to not be completly stuck when the compiler or debugger lies to them.
Yep, that's right compilers, debuggers, bytecode interpreters, all of them can lie to you. ASM code and a debugger stepping through ASM code can still lie to you but it rare enough that in a ~12 year career I can think of only two times where ASM code lied. C/C++ compilers lie so often that it's not worth remembering.
So learn a little ASM. When someone gets stuck and you flip the debugger to disassembly and point out the problem right away, you will awe and amaze your co-workers.
A couple of C++ problems that are easy to see by stepping through the code in assembly:
1) Crushed VTables.
2) Multiple inheritence problems (what? a cast can change the value of a pointer)
3) Optimized build debugging (shudder!)
4) STL Unsafe iterator problems
5) A lot of C++ compilers have problems with temporary objects.
6) Believe it or not MS C++ has some problems with ternary operators.
Learn ASM -- saves time later.
You are not a beautiful or unique snowflake -- but you could be if you got off your ass.
first, its NOT free. you dont get ALL the source. so its closed source. you get some example code and some binaries.
second, it has NO memory protection. NONE! (if you read their forum, in development, one of the v2 guys confirmed the question). no memory protect, so your app can crash the kernel (sounds like a mac os or dos)... Having no memory protection means you have to give 100% trust to all your programs + programmers to do the correct thing. heh and we all know that means nothing in the real world.
sounds crap. ok, so its written in 100% asm. whoa. big deal. if your into hobbyist os (check my FAQ!!:), there are lots of startup OSii in 100% asm. nothing to get wet knickers over.
(i found it VERY strange to see this story on slashdot, if you read the OS dev newsgroups or follow OSii boards, little osii like this are announced *ALL* the time at an alarming rate. there really isnt anything special about this one)
but.. BUT! Creating OSii isnt everyones cup of tea and its good to see people still doing it ;)
mebbe i should make a distinction here about hobbyist os' and main stream type os. ala v2 vs linux. talk about apples and oranges.
linux has grown way past being a hobbyist os to a main stream os some time ago.
vsta + tinyos strikes me as being stuck inbetween, vsta more hobbyist than tinyos....
anyway.
if you do have an itch to scratch, you can check my faq for basic questions + answers on several os dev topics...
Write your Own Operating System [FAQ]!
no sig for you
Who on earth said anything about porting? I've long been hacking with little asm bootsector OSes and things on older computers. A 100% ASM kernel with simplistic networking is great for doing embeded work, and work with older computers that are too slow running portable kernels :-)
---
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
They've clearly just re-invented DOS for the 90's. Unfortunatly, for them, the 90's are almost over.
--
Really.This looks like an exercise in OS design and x86 assembler coding. I hope these guys had a lot of fun writing it, because that's all the utility that's going to come out of it. Do we need a mini-OS for desktop machines? Nope. Do we need one for palmtops? Yes, but palmtops don't run x86 processors, oops. Do we need one for embedded processors? Also yes, but x86 processors are quite rare there, plus there are already a couple of OSes around and even at least one (AFAIK) open-sourced.
So I'm standing here, wondering: what's the point?
Kaa
Kaa
Kaa's Law: In any sufficiently large group of people most are idiots.
I've been thinking about designing a reference implementation of an 80386 motherboard, one that actually does things right - hardware that puts the processor into 32-bit protected mode *right* *away*, minimalistic yet functional boot PROM similar to Sun bootproms on Sun3+, clean hardware design, multiple bus support - add to the list. What first got me thinking about this was Ingo Cyliax's CS335 workstation, a homebrew 68030 motherboard with an ISA bus and a Minix port. Essentially, a somewhat PC-compatible 68k machine. This is the coolest thing I've seen in a long time - an open motherboard design with schematics and all else freely available. Granted, it's limited and not particularly fast, but it still is worth looking at. There was a similar project that involved building an NS32535 machine, called the pc532. It's supported in NetBSD and (possibly) OpenBSD. I'm not naive enough to suggest that a home-grown motherboard design could ever be fabricated economically, but the fun part would be designing it and perhaps porting Unix to it while the machine is running on a circuit-level simulator. That's close enough to the real thing for me (I don't look forward to trying to debug problems on a five-layer PC board, do you? :-) Flame and moderate away, but at least give some thought as to what "open source hardware" could be. Wouldn't it be satisfying to have had in designing a well-engineered x86 workstation (Sun 386i comes to mind, amongst others), built from cheap parts but free of the insanity of Wintel architecture? Dreamer.. you're nothing but a dreamer.. :-)
A operating system named after an often errant WWII era Nazi rocket. I propose the next major OS be named Hindenberg.
The OS isn't too exciting on its own. If they invented something new then I might be more excited or more willing to give them some more credit. Woop-dee-doo, they wrote a new version of DOS. Let me be the first to thank them for their work and congratulate them on this awesome accomplishment.
Seriously though, since the 1990's began the OS has moved from a blackbox produced in the white tours down to something your motivated hacker can reasonably get started in his spare time. There are a bunch of projects on the web, most aren't significant. Some might be. As a whole we no longer rely on IBM, Apple, Microsoft, etc. to provide the OS as they see fit to provide it for us. This is good. The next step is to start innovating, creating, and advancing the science. There are enough projects out there that hopefully some of them will start to become technology test beds rather than knockoff projects and recreates. If we were to put Linux, BSD and eventually maybe Hurd on the top of the stack and call those our production kernels, then we can use V2, EROS, ReactOS, Fiasco, GNUMach, L4, and all the others as testbeds to create new ideas and try new things out. Then I could say, congratulations to these guys and mean it. Unless they have some other plans and this is just the 0.01 release, it looks to me like they are trying to get to where DOS was about 20 years ago and they are still a little bit short of that goal.
This is my signature. There are many signatures like it but this one is mine..
http://webster.cs.ucr.edu/Page_asm/ArtofAssembly/A rtofAsm.html
If you want to dabble and learn about it, check it out. It's a book written by a prof. at ucr and it's the best freaking ASM (x86) book ever existed, and it's freaking free online.
Of course intimate knowledge of the new platform's architecture (including its assembly vocabulary) is required to write an effective back-end to the compiler, but little application development is done in pure assembly. Browse through the GCC source tree some time.
--
OK. This is supposed to be news for nerds, yet, nearly every comment so far has been negative.
So what if it's 32bit, not Open Source and isn't 'Quake 3 ready'. Its small, fast and free.
How about checking it out, sending the guys an email, or, just for the hell of it, throw it on a floppy and try it in VMWare. Perhaps some of you 1337 c0d3rZ would enjoy writing some fast clean programs, instead of the library loving crap that is *nix software these days.
And, lest we forget, 30 year old legacy code is not exactly 'freshmeat'.
- BIOS setup (including remote administration)
- networked system updates
- backup and restore software
- a clueful bootmanager
- tools for doing flash-updates on PCI-cards etc. (i.e. something like
/dev/bios) - desaster recovery tools as boot-sector restorage and debugfs
- networked access control
I wonder if this could give another boost to the OpenBIOS project, as their current code base hasn't gained critical mass yet to allow for efficient and distributed OpenSource development.There's already a fast, free, all-ASM operating system out there, just looking for project members!
It's got way more background, and has a much more proven design. Better app support too. It's already got EMACS!!!
It's called ITS, the Incompatible Timesharing System, and it'll run on your frindly Digital Equipment Corporation PDP-10.
It became obsolete sometime in the early 1970s when K & R & T rewrote UNIX in C. For all its faults, honestly the new invention is much easier to maintain.
Actually, starting with x86 should make it easier to port to other architectures. It's a lot easier to port ASM code written for a register poor machine to a register rich machine than to try to do the reverse. However, the ported code won't take advantage of the more register rich architecture, which would defeat the whole point of writing an OS in assembly! So, in other words, if you're even thinking about porting this code to another architecture, you've missed the whole point! What you'd want to do is write from scratch in assembly an OS that is compatible with this one. But if it's not written from scratch for the architecture in question, taking specific advantage of what that architecture has to offer, even though that makes porting next to impossible, then it misses the mark this OS is aiming for.
--
"Convictions are more dangerous enemies of truth than lies."
Some days Slashdot reminds me of a highway, where there is an endless series of rabbits lurking just off the shoulder, quivering and licking their asses to pass the time. They're eager, but they're not very bright and they're not very brave. Nevertheless, a time often comes when one of them gathers its courage, and with a joyously crazed look in its eyes, runs across the damn highway! Splat. Why? Don't ask me, I have a brain. I don't do these things. I don't claim to understand them. All I know is that there are all manner of marginally self-aware vertebrates running around loose on this tired old planet which, for reasons best known to themselves, will occasionally gather all their feeble energy and then release it all at once in a blaze of intense public idiocy. And an alarming number of these critters turn up on Slashdot.
Now, I hope you don't mind my asking, but what kind of a fucking MORON are you?
Why waste time on Linux when we've got [A-Za-z]+BSD?
Why waste time breathing when you could be ramming a goddamn stoat up your fat, stinking ass?
Why waste time posting mindless gibberish on Slashdot when you could be masturbating to a picture of Linus fucking Torvalds?
Nobody needs your goddamn permission to write code. Those of us who write code, do so because we like to. If a project "grabs" us, and if we have the time, we do it. Frequently we're "scratching an itch" as the man said, but as often as not, we're just playing. I don't recall ever having seen or heard an actual programmer (not even a drooling imbecile like Tom Christiansen) take the attitude you have. Why not? Because they "get it". Also because if they think more time should be spent working on "useful" projects, they're quite free to spend their own time on such things. And many of them do. But if they choose not to, it's their time, not yours. Fuck off. Use Linux if you like, that's what it's there for, but don't start making any goddamn demands.
Umm... what if Linus had said this back in '91? "Oh, we have MINIX, Hurd's coming soon, and DOS isn't _horrible_. I won't bother." Oh yeah, and why should Linux have 35% market share? While free software can be an answer for everything, Linux is not. Nor will any one program ever be. Stop supporting Linux for being an underdog, and start supporting it for a real reason. There's lots.
http://www.onshare.com/filelist.jsp?dirid=19014&gu est=true If the web site is down I shared the bootdisk on OnShare.
Comment removed based on user account deletion
It may be writen in assembly.. and they may have put some effort into optimising it.. but I doubt they have put they have put the kind of effort that some other people have. There was one project a long time ago where this guy wrote a microkernel which used self modifing code (well actually just higher order functions) to beat out all the monolithic kerenls---instead of giving you a file handle it gave you a whole set of functions which were optimised for the way you opened the file. I think the guy achieved an order of magnitude speed increase. The coolest thing about this aproach was that most of it could have been done in a high level langauge that supportted higher order functions.
What this all means for this guy is: Assembler is not the answer to over all high speed.. compilers which allow you to take advantage of self modifing code in a structured way would be the really fast solution. Unfortunatly, people generally do not add higher order functions to fast imperitive langauge like C.
I should mention that there may be a programmer time cost associated to using these sorts of tricks in an imperitive langauge, but the functional langauges which allow the programmer to seamlessly take advantage of these things generally have other compiler problems, but it is possible that one day the functional programmers will langauge at how slow everybody elses code is because their compilers can do tricks like this and everybody else has to do a lot more work to get the same things.
Jeff
The Christian religion has been and still is the principal enemy of moral progress in the world. -- Bertrand Russell