Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Trust the World's Fastest VPN with Your Internet Security & Freedom - A Lifetime Subscription of PureVPN at 88% off. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. ×

Contiki Ported To x86 243

lt writes "The ultra-small Contiki OS has now been ported to the x86. This should give those of you who have an old x86 PC that is too small to run even the smallest of Linux variants, a chance to browse the web, set up a web server, and doing other essential stuff. If you're curious to see how it looks, there is a live VNC demo running."
This discussion has been archived. No new comments can be posted.

Contiki Ported To x86

Comments Filter:
  • by groove10 ( 266295 ) on Wednesday August 06, 2003 @09:51AM (#6625593) Homepage
    Kudos to Adam Dunkels for pushing the envelope of 8-bit computing. Many people will say "whats' the point of this." or "This has no application whatsoever and is a waste of time." but I disagree. Adam is making software and designing methods of programming to run internet based programs on chips and systems that where never designed for it, like the Atari Jaguar [digiserve.com] the Atari 8-bit console not to mention the C64. This work will allow others to get the motivation to push the envelope in other areas of computing as well.

    It seems Adam has what was once prevailant in the computing and electronics industry. Tinkering and programming for the sheer joy of creating something new. In this way, programming and building systems like this are very similar to creating a piece of art, contrary to public opinion and modern developments in computing. Keep up the good work Adam. You are an inspriation to hobbyists in all fields.
  • Re:Wow. (Score:3, Insightful)

    by larien ( 5608 ) on Wednesday August 06, 2003 @10:16AM (#6625796) Homepage Journal
    Depends what you want to serve up. Sure, it won't be much use for a fully featured e-commerce site, but for a small document server (e.g. for FAQs) I'm sure it'll do fine.

    Bear in mind the first web servers in the early days of the web were probably running on something of a similar CPU power to a 386.

  • What about Minix (Score:3, Insightful)

    by RevMike ( 632002 ) <revMike@@@gmail...com> on Wednesday August 06, 2003 @10:17AM (#6625806) Journal
    Kudos to the Contiki folks. I don't think this is useful, but if they enjoyed themselves doing it, all the better for them!

    This should give those of you who have an old x86 PC that is too small to run even the smallest of Linux variants, a chance to browse the web, set up a web server, and doing other essential stuff.

    If you have an old pre-386 machine around, why not run Minix? That should make a far more useful machine.

  • by Bonker ( 243350 ) on Wednesday August 06, 2003 @10:29AM (#6625893)
    Practical? How about a good solution for impoverished communities worldwide that need web access to do things like report on the ways they're being repressed, tortured, enslaved, etc?

    If a community can buy a single 386 and accompanying network setup for $100, then they can probably get a c64 quality computer for around $20, saving $80 of those dollars for things like food and bromine tablets for water purification.
  • by Enonu ( 129798 ) on Wednesday August 06, 2003 @11:21AM (#6626383)
    Those who think paying attention to resource constraints is useless are frankly a danger, and shouldn't be near a compiler. It's like haphazardly designing a car, and thinking that the airbags will save the passengers if there is an accident.

    However, there's a limit to optimizing code for efficiency's sake (both size and speed). From years of experience developing software, assembler up to Java, keeping your algorithm general allows it to be adaptable and maintainable. Nothing sucks more than spending days rewriting code because one number changes in the spec (yes, you can optimize that far).

    As for writing "bloat" code, writing huge software systems in a timely manner in today's marketplace **implies** this situation. When you don't have to perform mundane chores in your code, you are free to produce more faster, and this is what companies want, and in fact, pay you for. It's a sad situation, but it's a dog-eat-dog world, and the consumer cares less about quality these days.

    You also bring up an interesting point about when we'll hit the ceiling for computing power. I'm sure there's a real physical OPS/cm^3 limit (the only way to make it faster is to make it larger) but who knows what that is, or when we'll hit it. It'll be interesting to see how it'll affect the code produced. I'm hoping it's some type of golden age, where everbody has the same amount of standard computing hardware, and all code is made to this perfect, end-all spec.

    -- If you optimize everything, you will always be unhappy. (Knuth)
  • Not really (Score:5, Insightful)

    by Sycraft-fu ( 314770 ) on Wednesday August 06, 2003 @12:39PM (#6626985)
    It shows that you can make a simple OS with minimal space. That does not mean that one could do the same of Windows (please, it just looks immature to name call) or Linux. They have far more features, and make far less assumptions, the this OS.

    A big one would be preemptive multitasking. All modren OSes have it, Contiki does not. Why not? To quote them "The reason for not supporting pre-emptive multitasking is that it would unnecessarily increase the complexity not only of the operating system, but also of the applications that would run under it." Ahh, so it would make things more complex (and also larger and less efficient) to use PMT. Ok, fine, but CMT makes the assumption that all the apps running are going to be well behaved, will not use more than their fair share of time, there will be no critical evens that need to interrupt them, and that an app won't hang and take the system down with it. Fine, but for your standard desktop or server, that's not a valid assumption.

    Or how about features like 3d graphics? I want to be able to use a 3d accelerator. Oooo, well now here's a whole different can of worms. All the 3d accelerators speak a different language, so we need to implement a common apstraction layer, like OpenGL. Then we need to have drivers to interface with that. Here we are talking tons more complexity and size, and much larger programs to boot. This is not even to mention the many other features most OSes have that it does not.

    See you can do a lot of huge optimization on a general purpose design by making assumptions and optimizing for it. Like a memory manager. Linux, Windows, etc all have fairly complex memory managers these days. It virtualizes memory for programs and juggles the actual RAM, it changes allocation in real time and protects programs from interfering with each other or the system. However, that wastes space and CPU cycles. It would be much more efficient to assume that all programs are going to play nice and know how much RAM they need. Then when a progam starts, it tells the OS what it wants, and the OS tells it what range of memory it may use. It is then up to the program to keep within its borders. MacOS actually used to use a system much like this. Efficient? Yes, however many problems. The fact aside that a program might want more memory later, this is a huge stability and security hole. Any program can bring down the whole system by accidently writing to system memory, but mroe scary is the security implication. All you have to do is get a service, ANY service on the system to execute code for you and you are in will full permissions.

    So there are plenty of things that mainstream OSes provide that a tiny OS like contiki cannot and willnot provide. This is not to bag on their accomplishment, it is a really cool OS and does get a lot out of old hardware. However do not assume that because they can make a simple CMT OS that runs a basic webserver on old hardware they could make an OS as powerful as a full featured Linux or Windows system fit in a couple MB. Not happening.
  • by Cyburbia ( 695748 ) on Wednesday August 06, 2003 @12:40PM (#6627002) Homepage
    These antique computers are as useful today as they were when they were first manufactured. I visited plenty of bulletin boards with my Atari 400, so text-based Web browsing really isn't something that's beyond the pale for old boxen.

    Do you really need Contiki to surf with an old X86? An 8086-based PC could be used to dial into a shell account, where you could use Lynx, telnet, and so on. College computer labs of the early and mid-1990s were filled with 286 and 386-based PCs, 68XXX-based Macs, and Sun Sparcstations, equipped with Mosaic and capable of surfing at decent speeds.

  • by King_TJ ( 85913 ) on Wednesday August 06, 2003 @12:58PM (#6627143) Journal
    I completely agree! When I started realizing how many different platforms he has this OS running on, it hit me that this might finally allow cross-platform compatibility on all of these classic 8-bit systems that always wished for it, and never got it in their heyday.

    In a strange way, it's almost like completing unfinished business from the 80's!

The party adjourned to a hot tub, yes. Fully clothed, I might add. -- IBM employee, testifying in California State Supreme Court