Re: Kernel Development & Objective-C

From: Rogelio M. Serrano Jr.
Date: Sat Dec 08 2007 - 03:54:31 EST


Ben Crowhurst wrote:
> LoÃc Grenià wrote:
>> 2007/11/29, Ben Crowhurst <Ben.Crowhurst@xxxxxxxxxxxxxxxxxx>:
>>
>>> Has Objective-C ever been considered for kernel development?
>>>
>>> regards,
>>> BPC
>>>
>>
I have tried it in a toy kernel. Oskit style. The code reuse is very
high specially with string ops and driver interfaces. Its also very easy
to do unit testing with. My main problem was the quality of the compiler
optimization. Its just not good enough. I think if the compiler can do
the right kind of optimizations correctly then a low overhead OO
language like objective-c can be used in a kernel.

On the other hand its the automated testing part that really matters for
me. Imagine adding features to linux week after week without ever
getting a serious panic or two. And then getting a big performance boost
whenever the compiler does more and more optimizations correctly.

>> No, it has not. Any language that looks remotely like an OO language
>> has not ever been considered for (Linux) kernel development and for
>> most, if not all, other operating systems kernels.
>>
>> Various problems occur in an object oriented language. One of them
>> is garbage collection: it provokes asynchronous delays and, during
>> an interrupt or a system call for a real time task, the kernel cannot
>> wait.
> Objective C 1.0 does not force nor have garbage collection.
>
True.

>> Another is memory overhead: all the magic that OO languages
>> provide take space in memory and Linux kernel is used in embedded
>> systems with very tight memory requirements.
>>
> But are embedded systems not rapidly moving on. Turning to stare at
> the ADSL X6 modem with MB's of ram.

Its all about optimizations.

--
Democracy is about two wolves and a sheep deciding what to eat for dinner.

begin:vcard
fn:Rogelio M. Serrano Jr
n:M. Serrano Jr;Rogelio
org:SMSG Communications Philippines;Technical Department
adr:;;;;;;Republic of the Philippines
email;internet:rogelio@xxxxxxxxxxxxx
title:Programmer
tel;work:+6327534145
tel;home:+6329527026
tel;cell:+639209202267
x-mozilla-html:FALSE
version:2.1
end:vcard

Attachment: signature.asc
Description: OpenPGP digital signature