Re: [BLACKBOX] Seasoned Linux.

From: [at]} <József>
Date: Tue, 11 Jan 2011 09:46:26 +0000

----boundary-LibPST-iamunique-1900160152_-_-
Content-type: text/plain

Hi,

What about MINIX 3 ?

"It is irreleveant what language these services are written
in, so long as they obey the protocol. Some of Andrew Tanenbaum's
students are interested in re-writing some of Minix3 OS services (like
device drivers or file systems, currently written in C) in Ocaml and
Cyclone. He is interested in the outcome. Haskell is a good candidate
too. It is quite instructive to compare a device driver in Haskell
with the original C driver -- it terms of length, speed, time to
write, number of bugs, etc. Andrew Tananbaum suggested that the
terminal driver may be the best start, because it is
quite stand-alone, small and its protocol is simple.

        With Minix, we can replace one kernel service of the
full-fledged, working OS with the one written in Haskell -- and
immediately see how it all works. If it doesn't, the rest of OS still
works and so we can unload the faulty service and load another
implementation. Minix3 does indeed offer an easy road to the OS kernel
for a language other than C."

http://www.haskell.org/pipermail/haskell/2006-June.txt

"This new OS is extremely small, with the part that runs in kernel
mode under 6000 lines of executable code. "

http://www.minix3.org/

Regards,
Jozsef


On 11 January 2011 04:17, Wojtek Skulski <skulski{([at]})nowhere.xy
>
> On Mon, 10 Jan 2011, Rex Couture wrote:
>
>> In spite of the very useful nature of a lot of modern software, I'm sure we all agree that the overall quality is somewhat disappointing.
>

> Very early in my project cycle I made an evaluation of "useful versus disappointing". I chose the "useful" despite knowing the "disappointing" component from my earlier encounters with Linux as a home-grown administrator. I sort of knew that getting deeper will not make my task any easier. I decided in favor of Linux, partly because an alternative is not in sight. For example, I could have adopted BlueBottle if it was running on the Blackfin processor. But it is not.
>
> I am now reading a few books on Linux kernel: one on Embedded Linux, another one on Linux Device Drivers, and yet another one on TCP/IP in Embedded Linux. More books are in the queue. I can rank these three books on a scale from "messy" to "unacceptable". None of the three reads well, even though Linux Device Drivers is the least terrible from the three. I am wondering, why these books give me headaches.
>
> I am thinking that the books reflect the basic design feature that Linux kernel has no hierarchical structure. It does have some structure, which is rather arbitrarily declared in the form of the directory tree and which files is where, and how it is named. Being mandated by humans, the rules are also freely trespassed by humans. The books make it abundantly clear that in fact there are no rules which would not have been trespassed.
>
> Lack of hierarchical structure makes the books "flat". It reads somewhat like this: "this is here, and that is there, and by the way something else is also there". I am finding it hard to memorize "this is here and that is there". The big picture is not emerging (yet) because I suspect there is no big picture in the Linux kernel. There are features. Some of them extremely useful. But hard to remember.
>
> The good news is that linux kernel is self-contained. There are no libraries in the kernel. (How many of you knew that?) The number of external references is therefore small. (Most likely there are none.) Linux kernel directory tree just sucks everything in. Whatever feature the developers have found useful, it is somewhere in the file hierarchy. It is impossible to guess, where it is possibly hiding. That's why the books are so thick.
>
> I should also say that Linux kernel contains many constructs which we in this group have hardly encountered: semaphores, spinlocks, work queues, tasklets, interrupt service routines, and perhaps a few more. We live in a safe world of the single-process multitasking. The Linux kernel is a dangerous place littered with critical sections. It is a bit unfair to compare the two systems without admitting the difference.
>
> My next task is to develop the interrupt service for my FPGA. The more I am looking into it, the more it looks like an egg to me. I am not exactly sure yet in which place I will dig the hole to get me inside the egg's shell. That's why I am reading these books.
>
> I can already appreciate that reading the fourth book "Inside Linux kernel" cannot be avoided, even though I hoped to never look inside.
>
> Wojtek
>
>
> ----
> To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy


----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-1900160152_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIEhpLFxwYXINClxwYXINCldoYXQgYWJvdXQgTUlO
SVggMyA/XHBhcg0KXHBhcg0KIkl0IGlzIGlycmVsZXZlYW50IHdoYXQgbGFuZ3VhZ2UgdGhlc2Ug
c2VydmljZXMgYXJlIHdyaXR0ZW5ccGFyDQppbiwgc28gbG9uZyBhcyB0aGV5IG9iZXkgdGhlIHBy
b3RvY29sLiBTb21lIG9mIEFuZHJldyBUYW5lbmJhdW0nc1xwYXINCnN0dWRlbnRzIGFyZSBpbnRl
cmVzdGVkIGluIHJlLXdyaXRpbmcgc29tZSBvZiBNaW5peDMgT1Mgc2VydmljZXMgKGxpa2VccGFy
DQpkZXZpY2UgZHJpdmVycyBvciBmaWxlIHN5c3RlbXMsIGN1cnJlbnRseSB3cml0dGVuIGluIEMp
IGluIE9jYW1sIGFuZFxwYXINCkN5Y2xvbmUuIEhlIGlzIGludGVyZXN0ZWQgaW4gdGhlIG91dGNv
bWUuIEhhc2tlbGwgaXMgYSBnb29kIGNhbmRpZGF0ZVxwYXINCnRvby4gSXQgaXMgcXVpdGUgaW5z
dHJ1Y3RpdmUgdG8gY29tcGFyZSBhIGRldmljZSBkcml2ZXIgaW4gSGFza2VsbFxwYXINCndpdGgg
dGhlIG9yaWdpbmFsIEMgZHJpdmVyIC0tIGl0IHRlcm1zIG9mIGxlbmd0aCwgc3BlZWQsIHRpbWUg
dG9ccGFyDQp3cml0ZSwgbnVtYmVyIG9mIGJ1Z3MsIGV0Yy4gQW5kcmV3IFRhbmFuYmF1bSBzdWdn
ZXN0ZWQgdGhhdCB0aGVccGFyDQp0ZXJtaW5hbCBkcml2ZXIgbWF5IGJlIHRoZSBiZXN0IHN0YXJ0
LCBiZWNhdXNlIGl0IGlzXHBhcg0KcXVpdGUgc3RhbmQtYWxvbmUsIHNtYWxsIGFuZCBpdHMgcHJv
dG9jb2wgaXMgc2ltcGxlLlxwYXINClxwYXINClx0YWIgV2l0aCBNaW5peCwgd2UgY2FuIHJlcGxh
Y2Ugb25lIGtlcm5lbCBzZXJ2aWNlIG9mIHRoZVxwYXINCmZ1bGwtZmxlZGdlZCwgd29ya2luZyBP
UyB3aXRoIHRoZSBvbmUgd3JpdHRlbiBpbiBIYXNrZWxsIC0tIGFuZFxwYXINCmltbWVkaWF0ZWx5
IHNlZSBob3cgaXQgYWxsIHdvcmtzLiBJZiBpdCBkb2Vzbid0LCB0aGUgcmVzdCBvZiBPUyBzdGls
bFxwYXINCndvcmtzIGFuZCBzbyB3ZSBjYW4gdW5sb2FkIHRoZSBmYXVsdHkgc2VydmljZSBhbmQg
bG9hZCBhbm90aGVyXHBhcg0KaW1wbGVtZW50YXRpb24uIE1pbml4MyBkb2VzIGluZGVlZCBvZmZl
ciBhbiBlYXN5IHJvYWQgdG8gdGhlIE9TIGtlcm5lbFxwYXINCmZvciBhIGxhbmd1YWdlIG90aGVy
IHRoYW4gQy4iXHBhcg0KXHBhcg0KaHR0cDovL3d3dy5oYXNrZWxsLm9yZy9waXBlcm1haWwvaGFz
a2VsbC8yMDA2LUp1bmUudHh0XHBhcg0KXHBhcg0KIlRoaXMgbmV3IE9TIGlzIGV4dHJlbWVseSBz
bWFsbCwgd2l0aCB0aGUgcGFydCB0aGF0IHJ1bnMgaW4ga2VybmVsXHBhcg0KbW9kZSB1bmRlciA2
MDAwIGxpbmVzIG9mIGV4ZWN1dGFibGUgY29kZS4gIlxwYXINClxwYXINCmh0dHA6Ly93d3cubWlu
aXgzLm9yZy9ccGFyDQpccGFyDQpSZWdhcmRzLFxwYXINCkpvenNlZlxwYXINClxwYXINClxwYXIN
Ck9uIDExIEphbnVhcnkgMjAxMSAwNDoxNywgV29qdGVrIFNrdWxza2kgPHNrdWxza2lAcGFzLnJv
Y2hlc3Rlci5lZHU+IHdyb3RlOlxwYXINCj5ccGFyDQo+IE9uIE1vbiwgMTAgSmFuIDIwMTEsIFJl
eCBDb3V0dXJlIHdyb3RlOlxwYXINCj5ccGFyDQo+PiBJbiBzcGl0ZSBvZiB0aGUgdmVyeSB1c2Vm
dWwgbmF0dXJlIG9mIGEgbG90IG9mIG1vZGVybiBzb2Z0d2FyZSwgSSdtIHN1cmUgd2UgYWxsIGFn
cmVlIHRoYXQgdGhlIG92ZXJhbGwgcXVhbGl0eSBpcyBzb21ld2hhdCBkaXNhcHBvaW50aW5nLlxw
YXINCj5ccGFyDQo+IFZlcnkgZWFybHkgaW4gbXkgcHJvamVjdCBjeWNsZSBJIG1hZGUgYW4gZXZh
bHVhdGlvbiBvZiAidXNlZnVsIHZlcnN1cyBkaXNhcHBvaW50aW5nIi4gSSBjaG9zZSB0aGUgInVz
ZWZ1bCIgZGVzcGl0ZSBrbm93aW5nIHRoZSAiZGlzYXBwb2ludGluZyIgY29tcG9uZW50IGZyb20g
bXkgZWFybGllciBlbmNvdW50ZXJzIHdpdGggTGludXggYXMgYSBob21lLWdyb3duIGFkbWluaXN0
cmF0b3IuIEkgc29ydCBvZiBrbmV3IHRoYXQgZ2V0dGluZyBkZWVwZXIgd2lsbCBub3QgbWFrZSBt
eSB0YXNrIGFueSBlYXNpZXIuIEkgZGVjaWRlZCBpbiBmYXZvciBvZiBMaW51eCwgcGFydGx5IGJl
Y2F1c2UgYW4gYWx0ZXJuYXRpdmUgaXMgbm90IGluIHNpZ2h0LiBGb3IgZXhhbXBsZSwgSSBjb3Vs
ZCBoYXZlIGFkb3B0ZWQgQmx1ZUJvdHRsZSBpZiBpdCB3YXMgcnVubmluZyBvbiB0aGUgQmxhY2tm
aW4gcHJvY2Vzc29yLiBCdXQgaXQgaXMgbm90LlxwYXINCj5ccGFyDQo+IEkgYW0gbm93IHJlYWRp
bmcgYSBmZXcgYm9va3Mgb24gTGludXgga2VybmVsOiBvbmUgb24gRW1iZWRkZWQgTGludXgsIGFu
b3RoZXIgb25lIG9uIExpbnV4IERldmljZSBEcml2ZXJzLCBhbmQgeWV0IGFub3RoZXIgb25lIG9u
IFRDUC9JUCBpbiBFbWJlZGRlZCBMaW51eC4gTW9yZSBib29rcyBhcmUgaW4gdGhlIHF1ZXVlLiBJ
IGNhbiByYW5rIHRoZXNlIHRocmVlIGJvb2tzIG9uIGEgc2NhbGUgZnJvbSAibWVzc3kiIHRvICJ1
bmFjY2VwdGFibGUiLiBOb25lIG9mIHRoZSB0aHJlZSByZWFkcyB3ZWxsLCBldmVuIHRob3VnaCBM
aW51eCBEZXZpY2UgRHJpdmVycyBpcyB0aGUgbGVhc3QgdGVycmlibGUgZnJvbSB0aGUgdGhyZWUu
IEkgYW0gd29uZGVyaW5nLCB3aHkgdGhlc2UgYm9va3MgZ2l2ZSBtZSBoZWFkYWNoZXMuXHBhcg0K
PlxwYXINCj4gSSBhbSB0aGlua2luZyB0aGF0IHRoZSBib29rcyByZWZsZWN0IHRoZSBiYXNpYyBk
ZXNpZ24gZmVhdHVyZSB0aGF0IExpbnV4IGtlcm5lbCBoYXMgbm8gaGllcmFyY2hpY2FsIHN0cnVj
dHVyZS4gSXQgZG9lcyBoYXZlIHNvbWUgc3RydWN0dXJlLCB3aGljaCBpcyByYXRoZXIgYXJiaXRy
YXJpbHkgZGVjbGFyZWQgaW4gdGhlIGZvcm0gb2YgdGhlIGRpcmVjdG9yeSB0cmVlIGFuZCB3aGlj
aCBmaWxlcyBpcyB3aGVyZSwgYW5kIGhvdyBpdCBpcyBuYW1lZC4gQmVpbmcgbWFuZGF0ZWQgYnkg
aHVtYW5zLCB0aGUgcnVsZXMgYXJlIGFsc28gZnJlZWx5IHRyZXNwYXNzZWQgYnkgaHVtYW5zLiBU
aGUgYm9va3MgbWFrZSBpdCBhYnVuZGFudGx5IGNsZWFyIHRoYXQgaW4gZmFjdCB0aGVyZSBhcmUg
bm8gcnVsZXMgd2hpY2ggd291bGQgbm90IGhhdmUgYmVlbiB0cmVzcGFzc2VkLlxwYXINCj5ccGFy
DQo+IExhY2sgb2YgaGllcmFyY2hpY2FsIHN0cnVjdHVyZSBtYWtlcyB0aGUgYm9va3MgImZsYXQi
LiBJdCByZWFkcyBzb21ld2hhdCBsaWtlIHRoaXM6ICJ0aGlzIGlzIGhlcmUsIGFuZCB0aGF0IGlz
IHRoZXJlLCBhbmQgYnkgdGhlIHdheSBzb21ldGhpbmcgZWxzZSBpcyBhbHNvIHRoZXJlIi4gSSBh
bSBmaW5kaW5nIGl0IGhhcmQgdG8gbWVtb3JpemUgInRoaXMgaXMgaGVyZSBhbmQgdGhhdCBpcyB0
aGVyZSIuIFRoZSBiaWcgcGljdHVyZSBpcyBub3QgZW1lcmdpbmcgKHlldCkgYmVjYXVzZSBJIHN1
c3BlY3QgdGhlcmUgaXMgbm8gYmlnIHBpY3R1cmUgaW4gdGhlIExpbnV4IGtlcm5lbC4gVGhlcmUg
YXJlIGZlYXR1cmVzLiBTb21lIG9mIHRoZW0gZXh0cmVtZWx5IHVzZWZ1bC4gQnV0IGhhcmQgdG8g
cmVtZW1iZXIuXHBhcg0KPlxwYXINCj4gVGhlIGdvb2QgbmV3cyBpcyB0aGF0IGxpbnV4IGtlcm5l
bCBpcyBzZWxmLWNvbnRhaW5lZC4gVGhlcmUgYXJlIG5vIGxpYnJhcmllcyBpbiB0aGUga2VybmVs
LiAoSG93IG1hbnkgb2YgeW91IGtuZXcgdGhhdD8pIFRoZSBudW1iZXIgb2YgZXh0ZXJuYWwgcmVm
ZXJlbmNlcyBpcyB0aGVyZWZvcmUgc21hbGwuIChNb3N0IGxpa2VseSB0aGVyZSBhcmUgbm9uZS4p
IExpbnV4IGtlcm5lbCBkaXJlY3RvcnkgdHJlZSBqdXN0IHN1Y2tzIGV2ZXJ5dGhpbmcgaW4uIFdo
YXRldmVyIGZlYXR1cmUgdGhlIGRldmVsb3BlcnMgaGF2ZSBmb3VuZCB1c2VmdWwsIGl0IGlzIHNv
bWV3aGVyZSBpbiB0aGUgZmlsZSBoaWVyYXJjaHkuIEl0IGlzIGltcG9zc2libGUgdG8gZ3Vlc3Ms
IHdoZXJlIGl0IGlzIHBvc3NpYmx5IGhpZGluZy4gVGhhdCdzIHdoeSB0aGUgYm9va3MgYXJlIHNv
IHRoaWNrLlxwYXINCj5ccGFyDQo+IEkgc2hvdWxkIGFsc28gc2F5IHRoYXQgTGludXgga2VybmVs
IGNvbnRhaW5zIG1hbnkgY29uc3RydWN0cyB3aGljaCB3ZSBpbiB0aGlzIGdyb3VwIGhhdmUgaGFy
ZGx5IGVuY291bnRlcmVkOiBzZW1hcGhvcmVzLCBzcGlubG9ja3MsIHdvcmsgcXVldWVzLCB0YXNr
bGV0cywgaW50ZXJydXB0IHNlcnZpY2Ugcm91dGluZXMsIGFuZCBwZXJoYXBzIGEgZmV3IG1vcmUu
IFdlIGxpdmUgaW4gYSBzYWZlIHdvcmxkIG9mIHRoZSBzaW5nbGUtcHJvY2VzcyBtdWx0aXRhc2tp
bmcuIFRoZSBMaW51eCBrZXJuZWwgaXMgYSBkYW5nZXJvdXMgcGxhY2UgbGl0dGVyZWQgd2l0aCBj
cml0aWNhbCBzZWN0aW9ucy4gSXQgaXMgYSBiaXQgdW5mYWlyIHRvIGNvbXBhcmUgdGhlIHR3byBz
eXN0ZW1zIHdpdGhvdXQgYWRtaXR0aW5nIHRoZSBkaWZmZXJlbmNlLlxwYXINCj5ccGFyDQo+IE15
IG5leHQgdGFzayBpcyB0byBkZXZlbG9wIHRoZSBpbnRlcnJ1cHQgc2VydmljZSBmb3IgbXkgRlBH
QS4gVGhlIG1vcmUgSSBhbSBsb29raW5nIGludG8gaXQsIHRoZSBtb3JlIGl0IGxvb2tzIGxpa2Ug
YW4gZWdnIHRvIG1lLiBJIGFtIG5vdCBleGFjdGx5IHN1cmUgeWV0IGluIHdoaWNoIHBsYWNlIEkg
d2lsbCBkaWcgdGhlIGhvbGUgdG8gZ2V0IG1lIGluc2lkZSB0aGUgZWdnJ3Mgc2hlbGwuIFRoYXQn
cyB3aHkgSSBhbSByZWFkaW5nIHRoZXNlIGJvb2tzLlxwYXINCj5ccGFyDQo+IEkgY2FuIGFscmVh
ZHkgYXBwcmVjaWF0ZSB0aGF0IHJlYWRpbmcgdGhlIGZvdXJ0aCBib29rICJJbnNpZGUgTGludXgg
a2VybmVsIiBjYW5ub3QgYmUgYXZvaWRlZCwgZXZlbiB0aG91Z2ggSSBob3BlZCB0byBuZXZlciBs
b29rIGluc2lkZS5ccGFyDQo+XHBhcg0KPiBXb2p0ZWtccGFyDQo+XHBhcg0KPlxwYXINCj4gLS0t
LVxwYXINCj4gVG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBtZXNzYWdlIHdpdGggYm9keSAiU0lHTk9G
RiBCTEFDS0JPWCIgdG8gTElTVFNFUlZATElTVFMuT0JFUk9OLkNIXHBhcg0KXHBhcg0KXHBhcg0K
LS0tLVxwYXINClRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3aXRoIGJvZHkgIlNJR05P
RkYgQkxBQ0tCT1giIHRvIExJU1RTRVJWQExJU1RTLk9CRVJPTi59fQBUSmNabko
----boundary-LibPST-iamunique-1900160152_-_---
Received on Tue Jan 11 2011 - 10:46:26 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:20 UTC