[svlug] What constitutes "Linux Basics"?
Mark S Bilk
mark at cosmicpenguin.com
Thu Jan 17 08:37:02 PST 2002
In-Reply-To: <m2pu49u95w.fsf at komodo.home.wards.net>;
from bill at wards.net on Wed, Jan 16, 2002 at 04:13:15PM -0800
On Wed, Jan 16, 2002 at 04:13:15PM -0800, William R Ward wrote:
>
>I may have an opportunity to give a one-hour talk on Linux Basics, and
>I've got some good ideas for what to include, but I'd like to get some
>input from folks on what they think is important.
Here's an article I wrote on
"Combining GUI With CLI (Textmode), Plus The Midnight Commander"
http://groups.google.com/groups?selm=
RfxN7.14282$WC1.1705634 at newsread2.prod.itd.earthlink.net
I recommend the mc editor (mc -e) as the default editor
for beginners. It's quite powerful (for a single-file
editor) and very easy to learn. mc as a file manager is
also very useful, like XTREE for MSDOS, making it easier
to move around the directory structure, view files, etc.
After teaching ls, cd, cp, mv, rm, cat, show them mc.
Also, it's very helpful to explain to people in definite terms
how computers actually work. This is so alien to beginners
that it has to be printed up for them, because they won't
be able to remember it. The topics have to be explained
in order. Always give one or more concrete examples for
every topic.
bit - 0 or 1
byte - 8 bits -- 0 - 255
ASCII - byte representation of characters -- A = 65, Z = 90,
0 = 48, 9 = 57
file - sequence of bytes
kilo, mega, and giga
disk - metal platter in which bits are recorded as tiny
north/south or south/north magnetic marks in concentric
rings accessed by the moving head
RAM - randomly accessible bytes.
data as file on disk and/or sequence of bytes in RAM
CPU - carries out instructions on the basis of a sequence
of numbers it takes from RAM. Give an example instruction
set for a single register architecture -- 0 = load,
1 = store, 2 = add, 3 = subtract, 4 = jump, etc., each
instruction having an instruction code followed by a
memory address.
Take them through an example program that gets two numbers
from RAM, adds them, and puts the result in RAM
Show both the program and the data in RAM, and how
the instruction pointer (program counter) steps through
the program.
keyboard and textmode screen as connected to CPU and
accessible via I/O instructions (get/put a byte to/from
CPU register)
take them through an example program that gets two single
digit numbers from the keyboard (as ASCII codes),
converts them to numbers by subtracting the ASCII code
for '0', adds them, and puts the result in RAM and on
the screen (if it's one digit, by adding the ASCII code
for '0').
CPU can move a string of bytes between RAM and disk
program as file on disk, and also existing in RAM when
the program is invoked. This is very important and
must be understood clearly, lest people think, e.g.,
that they have to reinstall programs when they hang.
word processor program - key pressed, read by CPU,
displayed on screen, then stored in doc file
operating system - program that runs all the time and
handles disk files and other I/O so application programs
don't have to; also invokes programs
shell - program that user uses to communicate with OS
to invoke programs
installing and de-installing programs vs. invoking and
killing programs
All this takes only 30 - 60 minutes to teach. You must
answer all questions, because this is alien territory.
It may take a few days of pondering the printed version
for people to understand it, but once they do, everything
else they have to learn, especially how to deal with
error conditions, will be *much* easier for them. They
will actually have meaningful, accurate concepts, rather
than doing things by rote.
(Rote can lead to horrors like professors of English
thinking that their documents are those little pictures
on their desktop, and not even knowing that they have
a hard disk, much less what they should be doing with it.
Microsoft encourages this ignorance, since it makes
users pliable and easier to victimize.)
More information about the svlug
mailing list