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.
Thread beginning with comment 236826
To read all comments associated with this story, please click here.
Reinventing the wheel again ?
by funny_irony on Thu 3rd May 2007 04:57 UTC
funny_irony
Member since:
2007-03-07

I hope this not another case of reinventing the wheel.

Unless this OS have some new concept in creating a new OS that others educational OS like Minix cannot emulate. There is no point in creating this OS.

Reply Score: -3

codergeek42 Member since:
2006-01-07

"Unless this OS have some new concept in creating a new OS that others educational OS like Minix cannot emulate. There is no point in creating this OS."

Sure, you can read other peoples' code and learn from it - but I, and probably a large majority of other CS students - learn by tinkering and tweaking. Writing one's own code is the perfection of this.

For example (C++-specific, since that's what I was taught), when we first learn about linked lists, do we immediately start using the STL std::list class? No: we write our own dinky class for it. Do we start with std::stack or std::queue when learning about stack and queue operations, respectively? No! We write our own dinky classes for them that do the basic insert/remove/etc. functions needed. Do we use std::map when learning about key-value pair management? NO! We Write Our Own(tm). Is it becoming clearer to you now? ;)

Reply Parent Score: 5

Doc Pain Member since:
2006-10-08

"Sure, you can read other peoples' code and learn from it - but I, and probably a large majority of other CS students - learn by tinkering and tweaking."

Remember, kids, trial & error is not a programming concept. :-)

"Writing one's own code is the perfection of this."

Learning by doing seems to be the way most developers achieved their knowledge and abilities.

"For example (C++-specific, since that's what I was taught), when we first learn about linked lists, do we immediately start using the STL std::list class? No: we write our own dinky class for it. Do we start with std::stack or std::queue when learning about stack and queue operations, respectively? No! We write our own dinky classes for them that do the basic insert/remove/etc. functions needed. Do we use std::map when learning about key-value pair management? NO! We Write Our Own(tm). Is it becoming clearer to you now? ;) "

Same here. :-) This "archaic slime" is what makes programmers know what they're doing. Using std:queue is easy, but knowing how it works will help you in some situation that might be not that easy. Therefore, atomic types (int, char, void *, even FILE *) are important to know about. They don't need to be used everywhere (especially when functional libraries exist). It even teaches structure (the one you can see when you're looking at source code) - if the teacher is smart enough.

If you know one programming language, you know them all. :-)

Reply Parent Score: 3

Isolationist Member since:
2006-05-28

Why should it matter to you if somebody is reinventing the wheel again - simply ignore it. It is very useful to others as an educational tool and exciting to work on.

Reply Parent Score: 1