Linked by Eugenia Loli on Wed 2nd May 2007 22:55 UTC
General Unix GNU/Fiwix is a 32-bit x86 operating system kernel based on the Unix architecture and fully focused on being Linux compatible. It is designed exclusively for educational purposes, so the kernel code is kept as simple as possible for the benefit of students. In the latest version, the virtual memory manager code has been improved to support SVGAlib-based applications and to add the ability to mmap() physical addresses. The way to map physical addresses in the /dev/mem driver has been improved. The mmap() and readpage() methods have been added to the VFS structure. Among other improvements in the VFS layer, the code to build with gcc 4.x has been fixed.
Permalink for comment 236900
To read all comments associated with this story, please click here.
jermar
Member since:
2006-06-12

It is my impression that C is still the best language for implementing an operating system. For one, we created HelenOS in C and a bit of assembly. However, one of our developers is now working on a research project in which he implements parts of HelenOS in Objective C. His research area is componentization of the operating system. The object oriented language can be also used to implement some operating system constructs more straightforwardly (e.g. virtual methods) than it would be possible in plain C. As for performance loss, according to Martin's experimentation and measurements, it is almost negligible. With ObjC, you need to supply the kernel with a small ObjC runtime code. In case of C++, this runtime would be a bit bigger.

But again, there is nothing you couldn't achieve in C which you could in other languages. So I think using a different language can make your code more expressive and straightforward but will not bring more research into your OS.

Sadly and no offence here, I also feel that the idea of writing an operating system in a non-C language, especially in an object oriented language, has become sort of a cliche.

Reply Parent Score: 2