Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Technology

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?"
This discussion has been archived. No new comments can be posted.

V2 OS

Comments Filter:
  • There was nothing particularly funny in the consept of of your statement, however, the way you said it just made me laugh. (You should have said (The moderators are so on crack, it hurts. , removing the 'high' part. oh well.)

    and it's score 3 now...
  • by TheDullBlade ( 28998 ) on Tuesday December 07, 1999 @07:22PM (#1861698)
    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).
  • Well, they can have a lot of fun porting that to other architectures. x86 is horrible in comparison with the register rich alphas. Aside from that, benefits
    ...
    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. :-) Now it's possibly the most ridiculously commonly ported OS (what with all the embedded ports). An interesting page on Linux ports, with a couple quotes from the Early Days at the top of the page: Linux's Ports [wanadoo.es]

    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.

  • dude-- that's what EMULATORS are for!
    -_-

    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.
  • it's not portable, because it's pointless, because it's not Linux. Yet you seem to like Star Wars crap made out of legos...

    But see, lego[s] are portable, are mostly-pointless except for creativity, and share the force with linux ... makes sense to me ;-)

    "it's you, inside yourself"

  • Any idea where I can find info on PPC assembler? I seem to not be able to find reference to instructions or compilers...
  • Well, assembly is *NOT* hard to code with. Only the horrendous x86 architecture makes it seem so (Looking at all the exceptions and modes of the x86 makes my head spin). Basically, the x86 has a register set which is probably similar to a pocket calculator. [Honestly, certain instructions faster in say, AX rather than BX/CX/DX? Trying to optimize this is quite difficult. The 386 is popular because it generalized a few addressing modes across more registers (very helpful)]. Of course, MMX is a real mess (using the floating point register/stack for MMX manipulation, and having to reinitialize the registers if you want to do FP instructions (Intel tutorials)).

    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.
  • The site is Slashdotted heavily, but I downloaded the OS itself from the mirror some nice person posted above.

    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.
  • Uh exactly what babble is this you're spewing?
    "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?
  • I am a rabbit, patiently lathering my anus with my soft sof tongue. I feel a need for Natalie Portman and Drew Barrymore. I do not have a craving Dave Barry, however. At least not his body. His books, well maybe. In any case, Here i go running across the road.

    (waits for the splat)
  • Exactly. It's yet another OS, and it's not open source. (I'm taking your word for this, their site appears to be /.ed and I can't check to look for source.)

    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 // booted in only four seconds, off of a floppy no less, and the OS was under 8k!) then why would people switch to it and code apps for it when they'd have to reinvent the wheel just to eventually be where we already are.

    And then, even if they had a reason, why would they pick a closed source OS?
  • 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?

    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]!

  • But the keyboard is so small! I never got used to typing with both just two keys.

    --
  • by Rolman ( 120909 ) on Tuesday December 07, 1999 @07:31PM (#1861722)
    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 [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 :)

    --------------------
  • There was RSX-11, RT-11, DOS, IAS, RSTS, MUMPS and UNIX. It was probably IAS, a timesharing system if my memory is correct.
  • >>even though Linux appears to be out selling the Mac, quiet an achievement for something that can be had for free...

    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.)
  • I had the honor of learning assembly from him (I'm a student at UCR). The guy knows everything there is to know about almost everything. You may also want to check out RATC, a pretty neat set of macros for C.

    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.
  • ...throw it on a floppy and try it in VMWare

    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.
  • Continuing to be off-topic, a few links perhaps of interest:
    • Schematics [ibm.com] for the new IBM PowerPC Open Platform Reference Design
    • The comp.sys.m68k FAQ [jmas.co.jp]: info about one of the first and most hacked on (and loved) Unix microprocessors. Cheap and well-documented.
    • A picture [derivation.com] of Ingo Cyliax [derivation.com]'s 68030 workstation, the CS335 [derivation.com].
    Sorry about the lousy formatting in the first post, btw.

  • C code -> Preprocessed C code -> assembly code -> machine code -> linked code

    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 .asm file you make turns into a seperate object. by linking code, you can write diffrent functions in diffrent files, and re-use them for other projects. With C, you can use header files, and other things, but linking is still used. There is no diffrence between 'linked code' and 'machine code'

    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
  • If you want, you can put comments in the output of a C compiler. just do somthing like this:
    main(){ "Hello, this is a comment!!" cout "This program file has a comment!!"; }
  • If you want, you can put comments in the output of a C compiler. just do somthing like this:
    main(){
    "Hello, this is a comment!!"
    cout << "This program file has
    a comment!!"; }
  • On the Cyrix 150 the assembly language version of mpg123 was about 5% faster than the pure gcc 2.8.1 version. Now on the celeron 550 with egcs 2.95.2 forget it. It makes me wonder what else the guy could have written if he didn't spend all that time debugging assembly language.
  • They use a zilog(sp?) z80. It was a pretty popular chip back in the day, Gameboy, NES atari... I think the apple two used one as well (but I'm not quite sure).

    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 : )
  • by Dasein ( 6110 ) <tedc@nospam.codebig.com> on Tuesday December 07, 1999 @07:43PM (#1861776) Homepage Journal
    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.
  • The orgional quake, the accellerated versions came later.
    • If they had fun doing it, that certainly has merit.
    • It's possible that the upcoming Transmeta Crusoe product may allow deployment of IA-32 on palmtops.

      That's reaching a bit, of course...

    • If they find some interesting OS structures / abstractions, this may be useful to future implementations even if "V2" turns out to be pretty useless in and of itself.
  • If you have MacOS, try http://www.lightsoft.co.uk/Fantasm/fan t.html [lightsoft.co.uk]. They've got a good assembler, and it comes with great tutorial documentation (it'll teach you 68K assembly too, if you want).

    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.
  • by YakumoFuji ( 117808 ) on Tuesday December 07, 1999 @06:48PM (#1861796) Homepage
    hmm I read about this on os-news (http://www.osnews.com/ [osnews.com]) (funny how news stories migrate around).. and checked out the server well before it got /.'ed, so managed to read most of the info on it.

    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]!

  • Frankly I'm always impressed that the Z80 is still in use.

    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.
  • I thought that my testicles made me a real man. Damn. And all these years i'd been thinking i was male.

    *sigh* Great. NOW what am i gonna do with all this body hair?
    -Andy Martin
  • Small, fast code is not a marketing craze. It's refusing wasting your users' hardware investment. I paid a lot of money for my machine, and I don't dig having to buy bigger drives, more RAM, and a faster CPU just because some schmuck, be they in Redmond or in someone's garage, can't code worth a damn.

    God, I hope small apps come back into fashion.

  • 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].

    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).

    --

  • I realize it's rarely practical for anything

    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.
  • Lots of people are using PC hardware for real-time embedded systems. I've seen many migrations from VME 680X0 systems to rack-mount x86 PCs. The VME hardware is nice but it is horribly expensive and the compilers and OSs aren't cheap.
  • For anyone trying to waste their time by using this, it won't run.

    Python has it's loops defined by indentation. If you loose the indentation for any reason, then the program is destroyed.

  • Well, they can have a lot of fun porting that to other architectures. x86 is horrible in comparison with the register rich alphas. Aside from that, benefits from ASM are only reaped by using it to optimize those portions of code that the executable spens 90% of its time in. It really sounds like these guys wrote themselves a rather large and difficult to maintain and debug OS.
  • It appears you didn't read the article (or the FAQ it linked to), or even the complete (but incorrect) summary. V2 is not "free". You can download some source code (its license was not covered in the FAQ or from the main page; it's probably accessable), but the essential parts of the operating system are closed. It's definitely not "Open Source".

    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.

    --
  • Some of us more primitive types remember a time when the semicolon was used to separate the assembler mnemonics from the comments which described what the hell was going on. Further, some of us even remember things like defining assembler "subroutines" by writing in the comment fields where the subroutine 'officially' started and ended, and what parameters were expected.

    Of course there are those who would argue that assembler is "self-documenting", just as C code is "self-documenting." Bull.
  • by phi1o ( 89700 )
    isn't that the point of good COMPILERS these days?

    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?
  • second, it has NO memory protection.

    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?

  • Well if anyones interested on OS design and Assembly hacking. I've started a L4 Micro-Kernel implimentation for the ARM, specifically the StrongARM SA-1100. While we plan on doing the rest of the OS in C. There is a chance for some hacking of assembly code and making use of the interesting
    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)
  • by copito ( 1846 )
    Is it an obscure errno, or a facist salute, you decide.
    --
  • You think anyone can spare that sort of SIZE?! It's 37 freaking KILOBYTES!! Thats nearly 6% of my allotted 640k (or am I messing up kilobits with kilobytes?)!!


    i dont display scores, and my threshhold is -1. post accordingly.
  • by Inoshiro ( 71693 ) on Tuesday December 07, 1999 @05:29PM (#1861901) Homepage
    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 :-)
    ---
  • Wow, I can't even believe this post, and most of the other posts like this.

    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.
  • I've done my share of ASM disassembles, thank you. It's not as easy as all that. I mean, the instructions are there in front of you, and if it's on OS you can be fairly sure they aren't going to try to obfuscate, like a company writing copy protection might.

    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.
  • by sterwill ( 972 ) on Tuesday December 07, 1999 @05:29PM (#1861908) Homepage
    They've clearly just re-invented DOS for the 90's. Unfortunatly, for them, the 90's are almost over.

    --
  • by Kaa ( 21510 ) on Tuesday December 07, 1999 @05:29PM (#1861921) Homepage
    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
  • Well, how are you going to compile a C program on a new chip if there are no C compilers written for it?

    Probably the same way you'd write an assembler for it, in C/C++/Java/whatever on another computer...
  • 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. ;-)

  • First off, start yourself on a real architecture (one designed and implemented cleanly and completely) like an Alpha [alpha-processor.com]. Then, buy a good book on Alpha assembly hacking [amazon.com]. Linux and the GNU assembler will work fine. It's quite a bit of fun, and learning about a nice, powerful architecture is a joy in itself.

    --
  • Basically, there's more to the world than
    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, /.'d already
    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

  • One thing to bear in mind is that old slower processors can actually cost more than the new faster ones under certain conditions. I learned this when Powermacs were starting to take over and I thought a ultra-cheap onepiece Mac would be neat. Turned out 68040s actually cost more at the time than PPC chips, because the latter was where the volume was. Maybe you might think about embedded PPC or MIPS or something? Is there genuinely a market for, and producers of, 386 chips now?
  • _Handles_ are special to MacOS?

    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++ :)

  • Ok so I goofed :)
    It's still a neat toy :)
  • 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.


    > 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.
  • Yep, me to! :)
    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! :) with it, but that was about all!
    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 ! :) and every memory location's function described. Cool as fuck.
    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! :) ...
  • Yes, you can do all those things in ASM and the guy writing the OS I was talking about did because there were no acceptable high level languages. The point is that in ASM you must do them all by hand. High level langauges will eventually surpass ASM because the compilers will do most of the tricks for you and provide a more meaningful way to think about writing the program. The problems of optimising will eventually become so complex that you will need machine aid to do it efficently. If you have a hard numerical / symbol menipulation problem to solve it is better to have a computer solve it then a human, period.

    Jeff
  • I have the original source code to Atari's "Combat" it is written of course in assembler and is fairly well documented.
    I still don't understand a word ...err command of it because Atari assembler is different than x86 assember but it is still kinda cool to have. :)

  • I have to agree with the poster before you. These guys arn't claimnig that they wrote an OS to try and take over the world, displace QNX, or crush microsoft. All they did was write a little OS. Obviously, if they cared about portablity, or whatever else, they wouldn't have done it.

    . 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.
  • I wonder what Steve Gibson (author of Spinrite) [grc.com] thinks of this, since he still devlops mostly (if not entirely) in assembler--even for Windows development.
  • by Macphisto ( 62181 ) on Tuesday December 07, 1999 @08:58PM (#1861982) Journal
    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 [derivation.com], 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 [netbsd.org]. 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.. :-)
  • by kramer ( 19951 ) on Tuesday December 07, 1999 @05:36PM (#1861984) Homepage
    A operating system named after an often errant WWII era Nazi rocket. I propose the next major OS be named Hindenberg.
  • It may be RT, but for x86? Who wants to run an OS like that (granted, such OS's are important and necessary) on that kind of chip?
    ~luge
  • Are you referring to the Synthesis operating system designed by Henry Masselin for a dual-processor 68xxx machine? I read his thesis as part of my graduates studies - VERY cool ideas - so many of them, in fact, I could hardly believe they all came out of the same person. I have a copy of his thesis somewhere on one of my bookshelves...

    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.
  • Erm...

    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
  • by Mr T ( 21709 ) on Wednesday December 08, 1999 @08:34AM (#1862015) Homepage
    This has been done hundreds if not thousands of times. I don't think anyone is bashing these guys so much as taking issue with the claims and the attention that this is getting. Anyone who has ever developed a decent sized application on DOS essentially wrote their own OS. A friend and I even did a similar project in about 1989, we operated under the philosophy that a) assembly was fast, b) the proper way to design an OS is to "start at the boot sector" (that's what you do when you're 16) Sure enough, we got it to boot and run, you could even run little assembly programs for it. It did everything DOS did except run DOS applications, what fun it was. Ours was pretty fast too, I take exception to their claims that they made the fastest OS ever. They need to get in line because not just did I write a pretty damn fast OS, but I wrote the world's fastest "hello world" to run on it! They haven't done anything that is terribly significant. There are tons of these projects, lot's of people have done it before, they just put together a fancy web page and are trying to get some hype. Hell, man, you should see the UNIX kernels I wrote in college. Y'All Nix was my favorite. (Y'all is the plural of "You" in case you were wondering) Man, I got an A on the project and had a mountain of fun, lemme put together a webpage and let you all download it... I'll also put up NachOS in case you guys want to get really giggy with it, these are new OSes baby and they are protected memory, multitasking, the whole nine yards. Y'All Nix even comes with my own shell.. It's just like bash only really really really light weight so it runs *fast* beause it's not so bloated. While I'm at it, I wrote a few compilers in college too...

    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.

  • If I were you I'd look at ARM chips. They're still quite cheap, and use less power.
  • by giggab00 ( 93602 ) on Tuesday December 07, 1999 @05:44PM (#1862022)
    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.
  • 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.
    Come on, this is opinion, not fact.

    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.

    And, why do we need another OS?
    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
  • gotta link to tinyos? google gives nada
  • by sterwill ( 972 ) on Tuesday December 07, 1999 @05:46PM (#1862035) Homepage
    Actually, these days, it's rare to write the only compiler for a new platform in assembly. It's very time-consuming. Most compilers (for new platforms) are developed as back-ends for existing compilers; cross-compilers are used to create the native compiler excutable for that new platform. Of course other binary utilities are needed to make the round trip. GCC is, to my knowledge, the most ported compiler in use today, and Cygnus [cygnus.com] has done plenty of this sort of work.

    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.

    --

  • by pipeb0mb ( 60758 ) <pipeb0mb@pipe[ ]b.net ['bom' in gap]> on Tuesday December 07, 1999 @05:48PM (#1862041) Homepage
    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'.
  • by Lally Singh ( 3427 ) on Tuesday December 07, 1999 @05:50PM (#1862049) Journal
    Most of the small & still useful RTOSs for x86
    also happen to have developer licenses in the
    10s of thousands of $$.

    --
    Insanity Takes Its Toll. Please Have Exact Change

  • by Ignatius ( 6850 ) on Wednesday December 08, 1999 @03:34AM (#1862053)
    I'm astonished that many people here dismiss V2 OS as useless toy without thinking of the most obvious use for a small x86 OS: having a full featured OS which entirely fits into the BIOS flash-ROM. Some applications, that come to mind:
    • 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 [linux.de] project, as their current code base hasn't gained critical mass yet to allow for efficient and distributed OpenSource development.
  • by aheitner ( 3273 ) on Tuesday December 07, 1999 @05:50PM (#1862054)
    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.
  • by osu-neko ( 2604 ) on Tuesday December 07, 1999 @05:51PM (#1862055)
    Well, they can have a lot of fun porting that to other architectures. x86 is horrible in comparison with the register rich alphas. Aside from that, benefits from ASM are only reaped by using it to optimize those portions of code that the executable spens 90% of its time in. It really sounds like these guys wrote themselves a rather large and difficult to maintain and debug OS.

    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: Qua [wired.com]
  • Well, it's been a while since I've done any asm programming, but my guess is that there probably isn't too much difference in terms of performance, but a lot of difference in terms of size.

    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.


  • I can see where it would be useful if all you want to do is squeeze every last drop of speed out of your system, convenience, portability, maintainability be damned...

    --
    grappler
  • Does anyone know how V2 compares to ExoPC? It would seem to me that there's as much potential for speed gain in a good design as there is in language choice, and ExoPC is known for being very fast indeed. (As well as being 32-bit, Open Source and Quake 3-ready... :)
  • Read The Microsoft File by Wendy Goldman Rohm, and then try to argue that OS/2's death had nothing to do with Microsoft and was wholly self-inflicted by IBM.
  • Reminds me of a story from an old teacher of mine. He was sitting around, bored, in a university computer lab. They'd got a 6800 (IIRC) sitting in front of them, and had noticed it's instruction map was incomplete, so decided to manually load in the holes and see what happened...

    One instruction quickly got nicknamed HCF - Halt and Catch Fire :)

    Greg
  • by Anonymous Coward on Tuesday December 07, 1999 @06:12PM (#1862079)

    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.

  • Sorry, it is a server eat server world out there. You are either speeding down the freeway or getting wiped off it. Week servers will die off like the week antelope that are the first ones picked off by the predators. Getting Slashdotted is an honor, a badge of courage. It's not something that can be whoosed out of.
  • So I'm standing here, wondering: what's the point?

    Because its there!
    Because its an interesting technical challenge.
    Becuase... why not?

  • ...not the game.

    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...
  • I think /. should develop some scripting mechanism which sends an e-mail out to the admins of systems which are not well known to be high capacity. The admin then has the priviledge to deny that listing if it is going to bring the server down.

    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.

  • by Anonymous Coward on Tuesday December 07, 1999 @06:06PM (#1862111)
    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.
  • A true Klingon sysadmin can stand up to ANY slashdot article! You have insulted my family honor by saying that my server will fail before slashdot! Prepare to die!

    Yeah, yeah (-1 offtopic/troll)
  • I love it... these guys write this incredibly tight code, and all you guys can do is slam it because it's not portable, because it's pointless, because it's not Linux. Yet you seem to like Star Wars crap made out of legos...
  • OK, the process your C code goes through to get to machine code looks something like this:

    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.
  • by spludge ( 99050 ) on Tuesday December 07, 1999 @06:07PM (#1862128)
    http://www.onshare.com/filelist.jsp?dirid=19014&gu est=true If the web site is down I shared the bootdisk on OnShare.
  • 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.

    Uh, for fun?
  • by delmoi ( 26744 )
    I don't know about vc6, but vc5 defaults to 4,096 bytes. For a standard console prog, I need to write quite a bit before it gets over 4k. Strangly, however I've never seen it get less then 4k.

    When you make a windows program, you're going to have to put in *a lot* of code to manage windows/etc
  • by account_deleted ( 4530225 ) on Tuesday December 07, 1999 @06:30PM (#1862168)
    Comment removed based on user account deletion
  • by Weezul ( 52464 ) on Tuesday December 07, 1999 @07:16PM (#1862169)
    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
  • If Java was the language of 1997, Visual Basic the language of 1998, then assembly language was the language of 1999. Everyone's writing in assembly these days probably because we've seen the age of large monolithic applications come and go. Today's marketing craze is small size.
  • by Anonymous Coward
    Why are you bashing this?
    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 .h files...
    Linux is great, but i'll always appreciate a true, lean OS.

I tell them to turn to the study of mathematics, for it is only there that they might escape the lusts of the flesh. -- Thomas Mann, "The Magic Mountain"

Working...