From: Simon Valiquette <v.simon@ieee.org>
To: Linux Newbie <linux-newbie@vger.kernel.org>
Subject: Re: Query regarding Copy-on-write
Date: Mon, 22 Nov 2004 06:48:00 -0500 [thread overview]
Message-ID: <41A1D1F0.40109@ieee.org> (raw)
In-Reply-To: <1101106158.4527.14.camel@myLinux>
Jagadeesh Bhaskar P a écrit :
>
>>and also made a minimalist OS for a MC68000 microcontroler
>>(only basic process support without even support for a filesystem).
>
>
>
> I too want to learn something like a minimalist OS. Where to start
> digging?
>
I'm not too sure. In my case, I started mixing assembly language and
Pascal about 15 years ago while quite young. It really helps :o)
I know there is things likes Nachos, OSP or Minix (yes, that's the
one used by Linus) for learning how to write operating systems. I
personnally prefer a real OS like Hurd, but if you have a teacher or
someone to assist you, I guess they can be usefull.
To write a real OS, you need to understant how your hardware is
working and to have the documentation book to know how to program it and
manage it's interruptions. Beeing efficient in assembly language is a
must, even if you do most of your coding in C language, as it helps you
to understand your computer.
A book that might help you saving time, and that I found both very
informative and interesting is this one:
"Operating systems" from William Stallings, Prentice Hall.
It won't tell you how to code everythings, but it will explain the
algorithmes and ideas of differents Operating systems for doing similar
tasks. For example, it compares Posix threads with Linux, Windows and
Solaris threads. I found it quite complete; it even talk about RAID-6,
and my book is many years old.
Understanding as many OS as possible will certainly helps you
understanding differents concepts and improve your skills. OS likes
Inferno, QNX and Plan 9 are probably good for that.
For going back to your question, once you feel ready, you should
probably start by trying to write a small OS. At first, all you will
need to write is a sheduler, a way to start programs and a way to kill
them. Writing something similar to /sbin/init with a couple of built-in
commands (for starting, showing and stoping processes) will also
simplify things.
Eventually, you could add (or emulate) a file system. By the way,
the sheduler should be activated by interruptions, otherwise you will
just have an improved version of DOS 1.0 ;o)
Simon Valiquette
---
win-nt from the people who invented edlin
(By mwikholm@at8.abo.fi, MaDsen Wikholm)
-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs
next prev parent reply other threads:[~2004-11-22 11:48 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-20 10:39 Query regarding Copy-on-write Jagadeesh Bhaskar P
2004-11-20 13:59 ` Simon Valiquette
2004-11-20 14:22 ` Jim Nelson
2004-11-22 3:34 ` Jagadeesh Bhaskar P
2004-11-22 6:31 ` Simon Valiquette
2004-11-22 6:49 ` Jagadeesh Bhaskar P
2004-11-22 11:48 ` Simon Valiquette [this message]
2004-11-23 4:00 ` Manish Regmi
2004-11-20 14:17 ` Jim Nelson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=41A1D1F0.40109@ieee.org \
--to=v.simon@ieee.org \
--cc=linux-newbie@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox