Path: news.cs.au.dk!not-for-mail From: Erik Corry Newsgroups: comp.lang.beta Subject: Re: NEWBIE Question Date: 24 May 2000 09:28:23 -0000 Organization: University of Aarhus, Department of Computer Science (DAIMI) Lines: 43 Approved: mailtonews@cs.au.dk Distribution: world Message-ID: <20000524092823.17261.qmail@noatun.mjolner.dk> Reply-To: Erik Corry NNTP-Posting-Host: daimi.cs.au.dk X-Trace: xinwen.cs.au.dk 959160522 16433724 255.255.255.255 (24 May 2000 09:28:42 GMT) X-Complaints-To: news@cs.au.dk NNTP-Posting-Date: 24 May 2000 09:28:42 GMT Xref: news.cs.au.dk comp.lang.beta:12352 Hi Atle, > Hello! I am more than a newbie, I don't know Beta at all. I am planning > to implement a > > Task switcher for i386, that can support two-CPUs or more > Device drivers for some interrupt driven PC devices > > and some other stuff, but this is what I want to do now. My question is: > > At this low level, is Beta as easy as C to work with? No. What you want to do is write an operating system. For this sort of stuff a mixture of C and assembler is probably best. C++ is an option, if you don't use many of its extra features. More powerful languages like C++ or BETA have a runtime system, written usually in C or assembler, which handles things like memory allocation, garbage collection, run-time type information and interfacing with the operating system and operating system libraries/DLLs. These run-time systems are rather large and dependent on the OS, so they would have to be ported to run on the 'bare metal'. Since you don't have the source code for the BETA runtime system, you can't port it to run on any operating systems (or lack of operating system) it doesn't already run on. So you really need a language with almost no runtime system (C) or one where the runtime system is available to you, so you can modify it. That probably means one of the languages supported by gcc (C, C++, Objective C, Fortran(!), Ada, Java). The more powerful the language, the more of your time you would have to spend getting the runtime system to work. I never heard of an operating system being implemented in a language that supported garbage collection. It's an incredibly useful feature for user-space programs, but I think it would get in the way in an operating system. That's just my personal opinion. -- Erik Corry corry@mjolner.dk