Re: [SLUG] Presentations

From: Frank Robers _ SOTL (sotl155360@earthlink.net)
Date: Thu Feb 13 2003 - 13:24:24 EST


Hi Ian

I added a few comments to clarify (or muddle up) my initial thoughts.

Frank

On Thursday 13 February 2003 11:49, Ian C. Blenke wrote:
> On Thursday 13 February 2003 10:47, Frank Robers _ SOTL wrote:
> > > Ok, help us here if you can. What kind of system basics?
> >
> > Before one can adequately understand the complex systems one has to have
> > a firm grasp of what happens in a minimum basic system.
>
> Absolutely.
>
> > Such a system would have to incorporate such items as memory management,
> > a text screen, a keyboards, and a storage devices such as a floppy.
> > Additional devices can be mentally extrapolated from these basic devices.
>
> Introduction to Computers 101?
>
> - What is a CPU?
> - What is RAM?
> - What are input and output devices?
> - What is mass storage?
> - How does a mouse/keyboard work?
> - What is a TTY?
> - What is a bus?
> - What is a network?
>
I think we can safely assume most people who are interested in Linux are above
the above.

> At some level, I'm almost willing to point people to HowThingsWork.com and
> start from there:
>
> http://electronics.howstuffworks.com/pc1.htm
>

> A "TTY", ala teletype terminal. Do we reference back to punched cards as
> well?
No but not a GUI either.

> Starting with the basic tenants of Unix design principles is a good idea,
> however.
>
> > The the idea is to learn the basics of the smallest - meaning least
> > packages possible - possible Linux system that will theoretically run a
> > PC size computer.
>
> 1. A kernel
> 2. A user-space application such as a shell.
>
> You don't "need" anything more than this. Sure, you want /sbin/init if you
> want anything more than painfully simple single-user mode, but the
> components from that point forward depend on what "features" you need.
> Things like getty are there to manage TTY devices. Others, like /bin/login
> are there to authenticate users before giving them a shell. You only need
> libraries if you wish to share code between binaries to save space and
> overhead. Describing the purpose of each piece of software and the
> reasoning behind them would go a long way toward proper education.

If that is as basic as you can get then it would be appropriate to start with
that explain it and then gradually add linux components.

> > If one uses theoretical operating system for discussion then there is no
> > need to have a real world running system which would require time and
> > effort to configure and construct and which would bring nothing to the
> > presentation.
>
> But using a theoretical operating system is something you do in college to
> describe the basics to CS and EE majors who *must* know these things
> abstractly to understand how the hardware functions.

I believe that you are trying to get too basic here.

> I prefer to show practical applications of device drivers being used to
> communicate with hardware so that folks can *follow* and *reproduce* things
> on their own.

Now we are beginning to communicate.

> A whiteboard discussion or well thought out slide show presentation is a
> good idea as well, however. Relying on nothing *but* VNC recorded sessions
> really doesn't help draw the abstract ideas and inter relationships for
> many concepts.
>
> > The objective is simply a blackboard presentation of data flows and
> > program requirements.
>
> How can we capture this and play it back or display it online?

If you can put it on a blackboard a picture can be made which can be presented
on a web site. I have a digital camera and I am certain there are other but I
believe a better course would be 81/2x11 sheets of paper and a scanner since
that tends to give better results.

> I'm
> interested in any/all OpenSource tools that might do this well. Something
> generated into HTML would be fine, with short flash video clip pop-up links
> to catch demonstrations of commands that are mentioned in the tutorial.
>
> > Considerable thought should be given as to how such a small basic Linux
> > system PC system would interact with system Bois with absolutely NO
> > consideration given to writing code.
>
> Are you talking about a walk through from BIOS->LILO/GRUB->KERNEL? I can do
> this now with VMWare in a VNC session without much effort.

I don't know that part is up to the presenter.
All I am doing is presenting ideas for a start and a beginning of a
presentation that I personally would find very useful.

> Bootstrapping is the HAIRIEST stage.

That was the easiest thing for me to learn on our old process computer.
It only took 50 or 60 lines of binary code.
It is what came after that that I found difficult - that involved thousand
lines of binary.

> There are inane bits of arcane legacy
> compatibilities that make describing technical bits in detail *extremely*
> difficult to most newbies. In fact, a surprising few CS/EE types actually
> understand many of the specifics of how this works - particularly on
> bastardized PC hardware.

Keep It Simple.

> Imagine a lecture series on BIOS versions alone: Award, AMI, Phoenix,
> MrBios, proprietary BIOSes, hell - what about that nice old XT "basic ROM".
> Remember that? Try walking through chipset initialization and memory
> checking (ECC, parity, non-parity, etc), chipset register tweaking using
> Advanced BIOS options, and other inane bits of detail that can make a
> user's PC die in a POST beeping frenzy. Next explain legacy ISA IRQ
> assignments, commonly used IO addresses, and conventional real-mode memory
> ROM mapping. Then imagine describing CHS addressing, LBA addressing, LBA32
> extensions, INT13 hooking, and BIOS drive identification. Then there's the
> pain involved in describing stage1/stage2 bootstrapping that isn't
> something I looking forward to either.
>
> PCs are a horrible mess of legacy that can leave anyone but a PC tech in a
> world of confusion.
>
> > Such simple system should require simple block devices showing registers
> > and such as a maximum.
>
> Standard BIOS settings? Is there such a thing? ;)

YES! At least there was once upon a time.
In fact once up on a time there was no bios.
But I believe that a higher level of thought might be appropriate here.

As far as BIOS is concerned that was a new term I had to learn when I returned
to playing with computers after a 20 year absence. Drove me nuts until I
figured out that a modern chip computer is really not one computer but a
large number of "simple computers" simply transferring data from one input
buss to another.

Sorry don't mean to be rude but most modern day computer engineers have a very
limited of what an old "simple computer" was since these concept have been
shrunk so far down on chips whose complexity has expanded to such a level
that the very essence of a '50s or 60s era computer has long since been
obsoleted.

No, I don't expect to start with Unix running on computers which have bit card
made from discrete transistors components and core memory or a course in
modern day chip design but it would be beneficial to start on a much simpler
plain for us non computer experts.

What I feel is a presentation on basic modern day Linux in a simple framework
from which more advanced presentations may bill on.

Thanks
Frank



This archive was generated by hypermail 2.1.3 : Fri Aug 01 2014 - 15:19:00 EDT