V2 OS 480
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?"
hahaha (Score:2)
and it's score 3 now...
the problem is: (Score:3)
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).
Re:x86 ASM (Score:1)
It really sounds like these guys wrote themselves a rather large and difficult to maintain and debug OS. That's what they said about Linux when it first came out.
PS: Hey, BTW, does anyone know of any attempts to put Linux on cell phones? (Just cause we can!) I've been looking around but haven't seen any info out there.
Re:No PowerPC port yet? (Score:1)
-_-
i wonder how difficult it would be to write an assembler that translated between machine codes. If it's at all possible, i'd say it should be a _lot_ easier to go from a heavily CISC chip like the x86 to a heavily RISC one like the PPC than the other way around. But then again i wouldn't know-- i know next to nothing about assembly, and i don't know how things like different registers affect the basic way the code is written, never mind instruction sets.
Re:wow, amazing... & legos (Score:1)
But see, lego[s] are portable, are mostly-pointless except for creativity, and share the force with linux
"it's you, inside yourself"
Re:No PowerPC port yet? (Score:1)
Any idea where I can find info on PPC assembler? I seem to not be able to find reference to instructions or compilers...
Re:x86 ASM (Score:2)
There *WERE* processors of the era that have a much nicer architecture (like the 68000), and many more registers [wow. 8 32-bit data registers, and 7+1 32 bit address registers...]. Yes, I'm biased. I love coding in assembly on a 68k processor. And I've found out how to code in assembly on a nice HC11 microcontroller [great fun! Register deprived, yes, but nothing too complicated, and very simple to code for].
Intel recognized this, which is why the later processors (Pentium II, Pentium III, etc) have more hardware-mapped registers that the hardware remaps to the x86 registers. (These registers can't be altered from software - they for out of order execution, etc).
People do program in assembly still, like Steve Gibson, and a link off of him has someone who *TRIED* to do DDE, and gave up after seeing its complexity. Still amazes me to see that SpinRite 5 is only 100k or so.
Interesting. (Score:2)
Note to the Mac users out there: yes, it does work in Virtual PC (though I needed to use a real PC to install the thing, it booted in VPC as well). I'd imagine it'll work with Bochs or MESS as well.
It's very pretty as command-lines go (though Darwin has the prettiest command-line I've ever seen, as if that matters at all). I don't see much use for it, but since I couldn't get into the site I could be missing something. It would have been nice if they had provided a PCX file on their demo disk to go with their PCX viewer, though. As it is I'm not sure how I'm supposed to put one on a V2-formatted disk so I can run the viewer.
Re:The problem with variety (Score:2)
"People in the lame NT world?" There is quite a large number of intelligent NT users, much like there is a large number of clueless Linux users. Save your self styled eliteness for someone who cares.
Secondly think for a minute, if people followed your suggestion and stuck to a single "Free OS" you'd be in front of a *BSD machine right now instead of your precious Linux. Interesting thought, ne?
Re:Hi, I'm AC. I've said nothing rational for 4 da (Score:1)
(waits for the splat)
Re:News for nerds... (Score:2)
Bear with me on this. If an application isn't open source, only that application and the users of it will suffer. If an OS isn't open source, all applications and all users suffer.
The OS is the one part that *must* be open source. If it's not, the whole house of cards might as well be built on prime Florida landfill.
And, why do we need another OS? This one seems to have one benefit, it's the easiest way to ship some piece of software that just plans on taking over the hardware as soon as it's loaded. If I was writing software to turn a PC into a network diagnostic unit or a robotics control station for an automated drill, this would be fine.
But for anything else, the network effect is the biggest problem. When Linux came out, it had TCP/IP networking and was a unix-like. You could network it with other OSes and didn't have to learn a new OS paradigm to use it. Does this 37k OS support that?
And, why do we need a new OS? Seriously. If this doesn't offer any improvements (other than size and speed, but my Apple
And then, even if they had a reason, why would they pick a closed source OS?
Re:This v2-os.. no protection. (Score:2)
True, i can see and understand this, for IO ports one should be able to say, give me access to io ports in the range of xxxx-yyyy, if they are not hooked by the os (eg: so i cant take over the PIC and reprogram it, etc).
for things like memory mapped perhiperals, i'd say device drivers required etc ;)
I still think, having no memory protection is a feature.
I think if you want an Os that engineers can plug in custom boards, a protected os may not be the way to go, BUT after testing when the boards are in practice i think a protected os would be the way to go ^_^....
The pros/cons for having memory/app/io protection etc, _imo_, outweigh those for not having protection.
Write your Own Operating System [FAQ]!
Re:ASM coding (Score:2)
--
Design is more important (Score:4)
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 [qnx.com]. 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
--------------------
Re:Wait a minit! (Score:2)
Re:The problem with variety (Score:2)
Quite an unclear and ambiguous statement.
1. Linux is an operating "the Mac" can be interpreted as either a. a family of computers that sell for anywhere from $899-$3499 or b, an operating system that sells for $99 unless it comes bundled with one of the computers from (a.).
Or I suppose that you could mean computers with the OS installed for both, which I'd LOVE to see documented by a reputable source.
You can't compare sales of an OS to sales of hardware. If you mean the MacOS you must specify that.
2. Define "out selling" do you mean a. selling more copies, or b. selling more in terms of $$$.
Since linux CDs can be had for as cheap as $1.99 if you sell 100 of them, it's not the same volume of cash as 3 copies of the MacOS.
If you want to consider "out selling" to be simply selling more CD's containing the OS(without the hardware), I wouldn't be surprised if linux was "outselling" MS Windows products.
There are other ways that your statement could be interpreted which I shall not cover because I don't want ot take the time, however if I've misinterpreted your intent or meaning, please let me know.
LK
--Disclaimer(I use Linux, Windows, and the MacOS both at work and at home.)
Randy Hyde rocks.... (Score:2)
He has been in the business for a long time and knows a lot about the history of the industry.
His classes are a mixture of computing history and actual programming. It was the only CS class I attended constantly just because it was so damn interesting.
A lot of his students don't like him because he is so demanding, but you will definately learn a lot by reading anything he has written.
I heard that he is currently teaching his assembly language class using an assembler that he wrote himself.
Also, any budding assembly programmers probably want to check out the UCR Standard Library, also available from http://webster.cs.ucr.edu/
This makes programming assembly a lot easier.
All coders need this book, it is the most comprehensive book on assembly ever written. Even if you dont want to program an x86 architecture, the theory (optimization, memory alignment, etc.) still applies.
Re:News for nerds... (Score:2)
Just did that in VMware 1.1.2. Boots, but freezes whrn the "terminal screen" comes up, and trashes the screen. The boot process is pretty fast, though, even under the virtual machine.
More info in this vein... (Score:2)
Uh, no... not even close (Score:2)
No:
C code -> macnine code
asm code -> macnine code
When you link code, you connect the parts of the code you've already writen together
When you're doing asm programing, each
Assembly is just a human readable form of machine code, There is no reason for a compiler to create assembly, beacuse humans arn't going to be reading it. When you see the asm output in a debug window, its actualy just been unassembled
Comments in machine code (Score:2)
main(){ "Hello, this is a comment!!" cout "This program file has a comment!!"; }
Comments in machine code (Score:2)
main(){
"Hello, this is a comment!!"
cout << "This program file has
a comment!!"; }
Mpg123 (Score:2)
no, they don't (Score:2)
the z80 lives on today in the embeded market, a lot of people know how to code in it (All calculator games for the ti8x's are writen in pure assmbly).
Ahh... 8bit programing : )
Why ASM Still Matters (Score:3)
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.
Re:ASM coding (Score:2)
Re:And the point of this being...? (Score:2)
That's reaching a bit, of course...
Re:No PowerPC port yet? (Score:2)
If you don't have MacOS, I'm not sure where to look. Motorola's and IBM's Websites are probably good places to start, though.
This v2-os.. no protection. (Score:5)
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]!
Re:no, they don't (Score:2)
It used to be popular all over - the Sinclair used a Z80. The Apples of course used the 6502, which was a knock-off of the significantly more expensive Motorola 6800.
There is an interesting theory about the Woz's decision to use the MOS chip. First some factual (as well as I can remember the stuff I read) background....
At about the time the Apple I was under development Steve Jobs had been working for Atari, even though he was - and honestly still is - a real nontechnical bozo. Steve started working on Breakout, that most challenging of Pong games, but had trouble. He recruited the Woz to secretly do Steve's work at Atari whilst still putting in full days at HP.
The Woz finished Breakout, but Nolan (head cheese at Atari) didn't know. Nolan did give Steve a big bonus for having an extremely tight board with very few IC's used. The bonus was ~$5000 and since Steve had had the offer of a bonus based on #of ICs not used, he had already offered to split it with the Woz.
Then Steve claimed that the bonus was off by an order of magnitude and gave the Woz ~$250. The Woz didn't know for a long time, though he probably could have landed a job at Atari if Nolan had known. Still, given how poor Atari management got around then it's best that Nolan didn't know.
At any rate, the theory is that if Steve hadn't cheated his friend, the Woz might have used a pricier but better-fated chip... like the Intel 8080. This could have had a massive impact on Apple's later work, which has always been dominated by Motorola chips. I'm not saying it would be best, but it might have made things more interesting.
Of course, Bender uses a 6502 and that's a thousand years from now, so you never know
One of these days I should ask the Woz about this. He's pretty approachable, but the idea's too awesome for me to deal with right now.
Re:Asm just owns you. (Score:2)
*sigh* Great. NOW what am i gonna do with all this body hair?
-Andy Martin
Re:Assembly language is the Java of 1999 (Score:2)
God, I hope small apps come back into fashion.
Re:x86 ASM (Score:2)
Ahh yes. My first assembly language programming was on the TMS9900 processor, and second on the 65C02. Being register deprived isn't great speed-wise but it's not so big a deal otherwise. The 6502 series processors had an impressive array of addressing modes to compensate for the lack of registers. The "zero page" addressing modes in particular were basically designed to allow you to pretend to have 128 16-bit registers using the first 256 bytes of memory. But still, the real thing is better. I thought I was in heaven when I learned 68030 assembly (my third assembly language). I thought I was in hell when I learned my fourth (you guessed it: x86).
--
Re:ASM coding (Score:2)
It's great for simple microcontroller-based devices.
Actually, you'd be surprised how easy Microchip PIC assembly is. It's alot of fun, too.
The things some people have done with them are amazing. I even saw an easy-to-build Pong project.
Re:Yes... But is it free? (Score:2)
Re:x86 ASM (Score:2)
Python has it's loops defined by indentation. If you loose the indentation for any reason, then the program is destroyed.
x86 ASM (Score:2)
Re:Yes... But is it free? (Score:2)
Personally, I can't understand why this project exists. Speed? Hardware is fast, it's always getting faster, and existing operating systems are as fast as you make them. Being the speed king matters for all of 7 months, when Intel releases a new revision of their processor that negates all your hard hacking. Well, if they're having fun writing it, I guess it has a place.
And why limit their users to a legacy 32-bit architecture, and make themselves completely non-portable at the same time? This is DOS for 1992, instead of DOS for 1980. I have a perfectly good 64-bit Alpha by my desk at work, and I intend to buy more of them in the future. Apparently these guys intent on using their Pentium II's in 2005.
--
Re:This v2-os.. no protection. (Score:2)
Of course there are those who would argue that assembler is "self-documenting", just as C code is "self-documenting." Bull.
asm (Score:2)
Nope. The point of good compilers is world domination. The point of not-so-good compilers is to serve quality coffee at an affordable price. Any questions?
Re:This v2-os.. no protection. (Score:2)
Seriously, that is a feature. There are a lot of engineers who directly access I/O ports and memory mapped I/O in their programs. Microsoft tries to make this difficult. Who wants to write a device driver just to twiddle some bits on an I/O board?
Re:And the point of this being... It's fun (Score:2)
make up of the SA-1100. The code is GPL'd. Only rather rudimentory snap-shots are avaliable. But the start of it is running on PLEB hardware (public domain hardware I designed) and the SA-1100 evaluation board (Brutus) it should be easily portable to any ARM machine though. I have a Psion 5 I'm working on getting it running on too. However if ASM's not you thing the rest of the OS on-top of the micro kernel is still some area of OS development fun in C for those interesed.
Its still a start-up so only for those interested in getting their hands dirty in embedded OS development for the ARM.
Some out-of-date info is avaliable at:
http://www.cse.unsw.edu.au/~pleb
While kernel snapshots and my thesis on the kernel are avaliable via anonymous ftp from:
ftp://ftp.cse.unsw.edu.au/pub/users/awiggins
Just mail me if your interested in any of it.
Enjoy, WeirdArms (awiggins@cse.unsw.edu.au)
SigHat (Score:2)
--
Re:slashdotted already, and no one has posted yet (Score:2)
i dont display scores, and my threshhold is -1. post accordingly.
Re:x86 ASM (Score:3)
---
Re:And the point of this being...? (Score:2)
One of the traits I've always associated with "nerds" and "geeks" is the love of something cool simply because it's cool, not because it's somethig that is immediately useful in life. Judging something by simple utility is a trait I commonly associate with management students, simply because that's how the majority of them seem to think. (of course you're thinking, wow, what a stereo-type, but I think going on trips with 30 or so management students moves me past the glib stereotyping stage to at least semi-glib, or quasi-glib).
Anyways, point is, this is *cool*, even if it's not useful. If you can't use it, boo hoo, there's tons of stuff in the world I can't use, you don't see me bitching about it on Slashdot.
Re:News for nerds... (Score:2)
But, for something as powerful as an OS, and with as much potential to screw things up if it's not used right, it's not enough to trace through and NOP out a few instructions, you have to understand everything, including figuring out what all the variables are and naming them.
An assembler takes ASM instructions and lets you use labels, if you disassemble an exe (that has been stripped), those labels are gone.
Re:x86 ASM (Score:3)
--
And the point of this being...? (Score:4)
So I'm standing here, wondering: what's the point?
Kaa
Re:Use for assembler (Score:2)
Probably the same way you'd write an assembler for it, in C/C++/Java/whatever on another computer...
YAM... (Score:2)
I've mirrored the whole downloads page here [cwru.edu].
I can only hope it stays up for more than a few minutes... I've never gotten to load-test whatever server this is I'm using in Win95. ;-)
Re:ASM coding (Score:2)
--
Re:Yes... But is it free? (Score:2)
the desktop & servers.
The embedded market is the fastest portion
of the computer industry. When you have 512K
of flash to store all your applications, and
MAYBE another 256K of RAM, you have to squeeze
everything that you can bare out of your software.
I couldn't get to the website,
I suppose, so excuse the next few comments if
this isn't a RTOS...
As for speed, alot of these systems will be
running something like DSP-type filters with
massive data processing rates. When you have
massive MBs of data to process per second, a
faster OS helps alot. I know of a GPS receiver
for which they doubled the location output
rate because their embedded CPU's compiler
added one new optimization!
--
Insanity Takes Its Toll. Please Have Exact Change
Processor cost consideration (Score:2)
You're kidding. (Score:2)
Okay, show of hands, who has heard of a 'pointer to a pointer' and why you might want to have one? Concept could be used in roll-your-own memory management like you have to do in C and C++ :)
Re:Portable OS? Not likely. (Score:2)
It's still a neat toy
Re:News for nerds... (Score:2)
> Come on, this is opinion, not fact.
Not at all.
I assume you'll agree that the OS is the base for the whole system. If the OS is crap, the systems is crap. If the OS is buggy, the system is buggy.
So, why don't you agree that if the OS is closed source, and unauditable, that the whole system gains those worst traits?
Using closed source security systems, with black-box encryption is a bad idea. You can't see the potential bugs, so you can't guard against them.
Why is an OS any less prone to this? In fact, using a security system (PGP, etc) on a closed source OS is insecure. You don't know if there's a way for processes to read the memory of other processes, or if buffer overruns or other easily audited bugs exist which could crash the system under heavy load.
This isn't an issue which is based on opinion. The more open the source, the more people who can find bugs.
Open source doesn't always mean GPL. And even in a GPLed project, the dev team doesn't always solicit code. About all we can agree upon is that open source is source that is readable by everyone.
An OS isn't the place for strange proprietary code, an OS is the place for well tested, frequently audited, stable, open, and trusted code.
And, why do we need another OS? Do I believe we've got the best we'll ever get?
No.
But, I don't believe some hand-coded closed source, non-protected memory OS is *ever* going to rival what we have. If this was a real protected mode OS, with a decent design spec addressing current concerns, and those of the future, I might give it a little credit.
But, V2 lacks so many features of what we'd consider a real OS that it doesn't even belong in the same ballpark as MS-DOS, let alone Linux, BSD, and even NT.
Re:... (Score:2)
I'd write out the program in asm mnemonics (had my own notation for addressing modes, and everything!), which I'd then debug by hand. Then I'd translate it into opcodes, and type it into DATA statements, with a BASIC loader in there somewhere.
You're right about the debugging, though!!! And not even a blue screen to tell you it'd died on it's arse!!! I got an Action Replay plug in (in the days when a plug in was a small plastic box with a strip connector at one end), that made _everything_ a lot easier...
Still, after I'd made loads of mistakes in opcode translation, I wrote a _really_ basic assembler which would write the DATA statements for me when I was about 14. I wrote an asteroids clone (with joystick support!
What reference books did you use? I had the Programmers reference guide, and a complete bible book whose name escapes me... It had _everything_ you wanted to know about the C64 in it, though - every interrupt (hook those vectors !
So I laugh when the 5kr1p7 k1ddi32 of today complain about compiler XYZ not having enough features! And it impresses the hel lout of them when you debug their pissy efforts _straight_ in assembler!!!
Aaaah, those were the days!
Re:ASM just owns you. (Score:2)
Jeff
Re:This v2-os.. no protection. (Score:2)
I still don't understand a word
Re:News for nerds... (Score:2)
. The readers of Slashdot expect more.
Exspect more from what? does every program ever writen have to comform to you exacting standards? If you don't want it, don't download it. No one is forcing you to.
Re:x86 ASM (Score:2)
How about a new 386? (don't laugh.. yet) (Score:3)
Oh great.... (Score:3)
Re:Yes... But is it free? (Score:2)
~luge
Re:Fast my ass.. (Score:2)
Last I heard, he was working in R&D somewhere & trading piggy-back rides w/his coworkers (no, I'm not kidding about the piggyback rides). I think there is a small group of researchers collaborating across the world trying to figure out all the ways they can use the ideas that he implemented.
Re:Oh great.... (Score:2)
The V2 was a rocket, no problem. The V1 was far closer to a cruise missile in princinple - basically, a pilotless plane - and was powered by a pulsejet IIRC. Could be defended against to some degree, partly as you could shoot it down more easily than with a rocket but partly because you could fly a big, fast plane alongside it and tip its wing to make it spin off to the side.
Greg
A 1999 version of DOS? (Score:3)
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.
Re:How about a new 386? (don't laugh.. yet) (Score:2)
Re:ASM coding (Score:5)
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.
Re:News for nerds... (Score:2)
If you say that you never want to work on a closed source OS again, that's your business. If you say that you don't ever want to use a closed source OS again, ditto. But to say that it's entirely impractical to develop a closed-source OS is ludicrous.
Whatever your philosophical objections may be to closed source, if the system and interfaces are properly documented then there's very little (if any) potential gain from having access to the source. Or, to put it the other way round, giving access to the source doesn't excuse a lack of documentation as it requires that a programmer read through and comprehend the relvant source modules to code, rather than simply being able to look it up an a reference manual. With the many millions of lines of code a modern OS contains, that just isn't sensible.
You seriously believe that what we have now is as good as it can ever get?
If you want to improve the art of computing, you need to start somewhere. You could sit on your work until you've got something that can beat everything else and so will clearly win out, but that's not very sensible. A better idea is to release your developments periodically to help attract interest and developers. That way, you stand a far beter chance of ending up with something good down the line.
Whether anything will eventualy come of this is entirely open to debate. But I commend them for trying and the world would be a poorer place if no-one tried this sort of thing.
Greg
Re:This v2-os.. no protection. (Score:2)
Re:Use for assembler (Score:3)
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.
--
News for nerds... (Score:4)
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'.
Re:And the point of this being...? (Score:3)
also happen to have developer licenses in the
10s of thousands of $$.
--
Insanity Takes Its Toll. Please Have Exact Change
BIOS OS? (Score:3)
Wait a minit! (Score:4)
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.
Re:x86 ASM (Score:4)
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.
--
Link to Wired article on Henry Masselin (Score:2)
Re:why asm?!?! (Score:2)
No compiler can possibly generate code that is faster than assembly, because what compilers do is take source code and emit assembly. However, what they emit is kind of like "cut and paste" coders, who duplicate a lot of work rather than factoring out the common functionality into resusable modules.
So, on the assembler's side, all the code is probably going to be better organized, and thus smaller, which tends to improve speed. On the other hand compilers aren't limited by human readability of output, so they can do weird optimizing things, like common subexpression elimination that make the assembly code unmaintainable.
So, in the end it probably makes little sense to code in assembly for speed, but a lot if you want to fit into the smallest possible footprint.
It takes an exceptionally good coder to write maintainable assembly. A given piece of assembly is going to be much longer than the equivalent source code, and thus organization is more important.
Maybe if the one and only goal is maximum speed... (Score:2)
--
grappler
What about ExoPC? (Score:2)
Re:Ramblings (Score:2)
Re:Quick show of hands... (Score:2)
One instruction quickly got nicknamed HCF - Halt and Catch Fire
Greg
Hi, I'm AC. I've said nothing rational for 4 days (Score:5)
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.
Re:*sigh* Already /.ed (Score:2)
Re:And the point of this being...? (Score:2)
Because its there!
Because its an interesting technical challenge.
Becuase... why not?
Heretic! (Score:2)
You do not grok assembly. I would post as an example the 10 line CRC16 routine I used to use for my YMODEM implementation, if I could find it...
Re:*sigh* Already /.ed (Score:2)
They do. Or at least they have in the past. I had a site of mine featured once and I got a personal email from Rob beforehand. In fact, when he initially wanted to feature it I asked him not to until it was completely ready and he happily complied.
Re:The problem with variety (Score:3)
Re:*sigh* Already /.ed (Score:2)
Yeah, yeah (-1 offtopic/troll)
wow, amazing... (Score:2)
Re:This reminds me... (Score:2)
C code -> Preprocessed C code -> assembly code -> machine code -> linked code
A description of the processes:
C code. This is obvious. Then we feed it through
the preprocessor, which deals with all those nasty #defines and #includes. In a small program, this can increase the size of the file by several orders of magnitude.
After preprocessing, we have preprocessed C code (surprise!) which we then feed to the compiler. The compiler takes all that C code, runs some optimizations on it, tilts it sideways (and lets the dirt fall out), pokes at it, and turns it into assembly code.
Assembly code is processor-specific. Naturally some programs start here (like the current topic). Assembly code deals with the raw hardware (ie., registers etc.) but is human-readable, to use the term loosely. It is still in ASCII, and contains one processor instruction per line. This is also the last step that allows comments.
Feeding the assembly code through an assembler yields binary code. This is raw machine code that the processor feeds on. If you are running it inside an operating system, typically it will be encased with some other materials to yield object code.
Finally, if you are on an operating system and want to make an executable (or library), you link your object code. This notes which shared libraries are required, as well as including the structures for an executable (exe, a.out, elf, etc.) For the most part, all code is linked except for bootstrap code.
Get the boot disk at OnShare (Score:3)
Re:Yes... But is it free? (Score:2)
Uh, for fun?
4k? (Score:2)
When you make a windows program, you're going to have to put in *a lot* of code to manage windows/etc
Comment removed (Score:3)
Fast my ass.. (Score:4)
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
Assembly language is the Java of 1999 (Score:2)
This is good! (Score:2)
It isn't going to take any market share from linux.
Besides, it's always good to have small, fast OS's... when all of you are thinking about wickedly fast programs on your P6's, I'm thinking about running wicked demos on my 486/33. I'm thinking about true assembler programming... giving the CPU direct opcodes instead of reffering to things that refer to things that refer to
Linux is great, but i'll always appreciate a true, lean OS.