[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[Gnu-india]My views on GNUOS(article I wrote sometime back) (fwd)



nice article.

-- mks --


---------- Forwarded message ----------
Date: Fri, 20 Oct 2000 05:14:40 -0700 (PDT)
From: Mridul Jain <gnuindian@xxxxxxxxx>
To: pankaj@xxxxxxx, M.P.Anand Babu <ab@xxxxxxxxxxxxx>
Cc: vardhan@xxxxxxxxxxx, gnu-india@xxxxxxxxxxxxx
Subject: [Gnu-india]My views on GNUOS(article I wrote sometime back)


The best way I can enumerate GNU OS is to give some
enjoyable experiences which I had with it
recently.This article is just a layman's analysis of
GNU OS, and attempts to unleash the power that any
programmer can get when ARMED with GNU ,in simple
terms.For more technical definations please visit THE
HURD WORLD
http://www.gnu-india.org

I am not one of those who blindly follow any movement
or technology.........(atleast I think so);but at the
sametime  I always give it a try as I am always
curious.....this trial was worthwhile and opened a new
gate to the dream of working in our own OS.By far the
best thing that I have experienced about HURD is that
it is simple, and therefore powerful.Simple in the
sense that any programmer can understand how exactly
HURD works from the ignition from hardware bootup
program to running all the servers and in general the
whole OS.

The GNU Hurd will be the foundation of the whole GNU
operating system.
The HURD is built on top of GNU Mach micro kernel and
uses Mach's virtual memory management and
message-passing facilities.

It is one of the few Operating Systems which are built
on the elegant microkernel OS architecture.

What is a kernel??
There are lots of formal definitions that you can find
regarding Kernel.Informally and simply put , a kernel
is the heart of any operating system.Traditionally, it
is a large program that handles memory protection and
management,coordinated access to I/O
peripherals,timesharing,enabling a variety of programs
to share a single computer efficiently and
productively.It can allow various users to share
various physical devices and all the security that
goes with it.

What is a Microkernel??
To put it in simple terms a Microkernel-based system,
is one in which most of the OS runs as separate
processes, mostly outside the kernel.  They
communicate
by message passing.  The kernel's job is to handle the
message passing,interrupt handling, low-level process
management, and possibly the I/O.Examples of
microkernel-based OS are the RC4000, Amoeba, Chorus.
This system is different from a monolithic system in
which the whole OS runs as a single process.Eg of
monolithic-based systems are Unix(some forms of
it),Linux etc.
For example , on the monolithic approach, a file
server will become a user process based on some
hardware facility like ethernet.  Programs which want
to use this facility will have to use special
libraries which offer the calls for communication with
this server.  In a microkernel system it is possible
to incorporate the server into the OS without the need
for new "system" calls.  From the users point of view
this has the advantage, that nothing changes, he
just gets better performance (in terms of more disk
space for example). 
>From the implementors point of view, the microkernel
system is fasts
adaptable to changes in hardware design.

Micro-kernels are as fast as monolithic kernels ,but
highly flexible and adaptable.This makes microkernels
based systems the ideal OS of now and the future.It is
undeniable that the OS which adapts fast and elegantly
to changes and customization can only serve as the
popular platform for the powerusers of the future.
Microkernels are also excellent for researching and
exploration as it is very easy to rip-out and replace
modules in a micro-kernel.

You have all this plus more in GNU Hurd.
In GNU HURD,Programs are required to communicate only
with a few essential parts of the micro kernel; the
rest of the system is replaceable dynamically. Users
can use whatever parts of the remainder of the system
they want, and can easily add components themselves
for other users to take advantage of. No mutual trust
need exist in advance for users to use each other's
services, nor does the system become vulnerable by
trusting the services of arbitrary users.
Apart from all this, HURD has an object-oriented
structure that allows it to evolve.Now I need not
elaborate on what OOPS has done to this world
......... It would suffice to say that OOPS has
changed the way we think ..... to say the very least.

As a programmer what powers do I get??
First I can be sure that GNU Hurd is easily portable
on all the platforms.This feature itself opens a lot
of flexibility for me as I needn't worry much about
the hardware I use.It gives both the user and the
programmer a very familiar environment as it is a
modern Unix-like kernel.This aspect automatically
makes it an ideal candidate for becoming a standard
because of the ease with which you can shift to it
without learning a whole new OS or starting from
stratch; meanwhile getting more power and flexibility
which goes with the microkernel architecture.Moreover
you get all the excellent , powerful and popular GNU
utilities and applications with which you are already
familiar, and more.
If you look at the history of GNU OS,you will find
that the globally used GNU utilities which makes
programming and usage of Linux so popular were
initially and from the beginning designed for GNU
HURD.At that point of time HURD was not fully
developed and still it's design and development was
going on.Since Linux kernel was the freely available
at that time, it was chosen as the kernel for GNU
utilities and applications.So in effect when you use
GNU Hurd the look and feel of your system remains the
same as that of your previous GNU/Linux system.

It is possible to develop and test new Hurd server
components without rebooting
the machine.Running your own hurd server components
doesn't interfere with the other users,and so no
special system priveleges are required.The mechanism
for kernel extensions is secure by design:it is
immpossible to impose your changes upon other users
unless they authorize them or you are the system
administrator.

GNU OS is absolutely free........which gives me the
FREEDOM to use,modify and redistribute it under the
terms of the GNU General Public License.Not all of us
may need to do customization at the kernel level,but
it helps to know that you have that powerful option
too.For some like me, it gives a lot of excitement to
contribute towards the development of an OS at the
kernel level.Just imagine that tomorrow you come up
with a new idea and have the ability and resoures to
implement it at the kernel level or higher.From my
limited experience I have found that it is relatively
easy to get ideas than to get them implemented in
real-life owing to the lack of good
resources,complexity of the resources and it's
environment even if you have access to it etc..as you
have to overcome the complexity first by painfully
getting familiar with that resource and wasting time
in learning about it.Only after this it is possible to
even start working on your idea.And if the idea is at
the kernel -level then faint-hearts can simply try to
forget it as an unpleasent dream.
But GNU HURD is a resource which provides the breeding
ground for implementing such ideas even for a good
common programmer as:
1.GNU HURD is simple and clear in it's architecture.
2.GNU HURD is easily understandable 
3.After installing you can directly start working over
HURD, as the GNU utilities on it are same that all of
you are familiar with. 

With GNU HURD the Kernel level programming is no
longer a privilege of a cloistered class of "BOLD"
chaps.A reasonably good programmer with interest can
easily ride HURD. (because it happens in users space
and not in kernel mode)

I haven't explored all of GNU HURD and still there's
lot to be explored!!!
But why am I bragging again and again about ease of
understanding??
It is because I know that most programmers still won't
lose that fear of kernel programming.If that is the
case,heres something to chew on......if myself a
mechanical engineer with no formal computer course and
with limited experience on linux platform can
understand the whole boot process and install and make
it running plus chalk-out plans to further customize
GNU HURD at the kernel-level etc.......I can only envy
what you guys out there can do........FREAK-OUT???


Where do you start?
There are various ways in which  you can get started
in GNU HURD.But before this I would like to mention a
small point - apart from the technical aspects why
should GNU HURD be successful especially in INDIA??In
my opinion the primary reason is that - India has a
very good potential for anything related to
knowledge.But for the scarcity of resources and
opportunity,we can make sure that the power of
computers touches each and everybody's life here in
India and comes out as the most  effective and elegant
solution to the other problems that we and others face
here.To overcome this scarcity and create opportunity
it is not just enough to work in any free software
that is available; if we are really serious about
making this change effective then it is important that
we get and give the best software and also make sure
that this is free(as in FREEDOM)too.
GNU is the best place for us Indians as we get the
best software from GNU because GNUians work for a
cause ..... best things for everyone.GNU-INDIA
believes the same and focuses especially on India.It
is not just a gateway ,but also a springboard for the
Indian contribution to GNU,as we GNUINDIANS spend our
maximum effort and energies to make sure that all of
us get and give the best and are promptly available
for any help personally or thro' mails and can handle
most of the things for you so that you can focus on
your tasks and contributions uninterrepted.
You can start in any of the following ways:

1. First and foremost is get the GNU OS
distribution(hackers only) from
GNU-India and install it. (installation is pretty
simple)
(3 cds contains every thing you need to hack, 
first and second CD with Marcus base installation
files + Debian GNU distribution, third contains
numerous tutorials for kernel hacking,
refrence manuals, research papers, Latest hacked
applications from
alpha gnu ftp directory and more) 

2. You can do Hurd Hacking, Mach Hacking, Writing
applications for
GNU OS, Porting apps to Hurd, Writing docs,
Maintaining web site, Preaching people about GNU and
Free Software or anything you feel useful and
productive.

3.Convert your ideas into software and start a project
under GPL. Your work thro' GPL is a solid contribution
to the society which is never lost.
The code will be the owner's copyright.Unleash your
creativity and show it to the world.

Students can contribute in a special way:-
When I was a student I had lots of time but didn't
know the right direction to go ahead as regards to
computer power.All students interested in technology
have their own dreams.Some want reputation ,some want
money,or contributing in a unique way to technology or
a good career,may be popularity and some even want to
change the world!!But the bottomline is that all of
them want power or want to create power.The only
limiting factors for them are lack of resources and
guidance.GNU WORLD not only strives to make software
free(as in FREEDOM) but also dedicates itself to
produce the best software and give it along with the
source-code and hacking and exploring powers.They can
implement their own ideas and have complete
FREEDOM.GNU itself is the best Guide to their
dreams!!Students earn a lot of reputation and
popularity in various ways by being part of various
projects that are going on for GNU or they can start
one for GNU.Since they can start their own projects
they can uniquely contribute too.GNU itself is
changing the world and they being a part of GNU
inherently and automatically do the same not forgoing
their own ways.GNU WORLD is a unique avenue where
person's uniqueness and identity is maintained but at
the same time they are automatically a part of a
bigger collective cause.As it is the best and still
striving for more and is our own system, the whole
software world moves towards it and so your career has
to have a bright future and the best money that you
can get is by always following or creating the
industrial standard.I am still a student and so are
you, and will remain forever as long as we have any of
these dreams.But technically speaking,the guys who are
in college can join the 
GISF (GNU-India Students Forum) for more coherent
working environment.

Lastly,but not least nuture,cherish and enjoy your
FREEDOM.

mridulj@xxxxxxx or gnuindian@xxxxxxxxx 


_______________________________________________
Gnu-india mailing list
Gnu-india@xxxxxxxxxxxxx
http://gnu-india.org/mailman/listinfo/gnu-india

---
Visit our home page at: www.chennailug.org
Send e-mail to 'ilugc-request@xxxxxxxxxxxxxxxxxx' with 'unsubscribe' 
in either the subject or the body to unsubscribe from this list.