Re: Seeking White Papers on PC Architecture (Hardware and Software)

From: Jonathan G Campbell (jg.campbell_at_ntlworld.com)
Date: 09/13/04


Date: 13 Sep 2004 08:52:29 -0700

Steven O. <null@null.com> wrote in message news:<4of6k0l7cqcstoflpgap27k0s4v452rn7u@4ax.com>...
> I need to get some semi-technical background on PC architecture,
> hopefully without having to read an entire book. I'd do a search on
> Google, but we all know that searches lead to about 10,000 hits, so
> I'm hoping someone can steer me to the kind of document I am looking
> for.
>
> Basically, I am seeking one or possibly two white paper type
> documents. Length might be anywhere from about 10 to 30 pages. I
> need to understand both:
>
> (1) The basic electronic architecture of the standard personal
> computer, that is, how the CPU, BIOS, RAM, buses, disk drives,
> external ports (serial, parallel, USB, etc.), and support chips
> (keyboard, video, etc.) interact. Some discussion of interrupts and
> ports would be helpful, though perhaps that goes under item (2), which
> follows....
>

IMHO, for these particular requirements, forget the web; and, unless
you really know your way around PCs, and need to to specific repairs
and upgrades, I include in that Mueller's Upgrading and Repairing ...

Guessing ... that you know the basics of CPUs, buses, RAM,
interfacing, interrupts, try A. Tanenbaum, Structured Computer
Organisation.

If not try Petzold, Code, Microsoft Press, or I can point you at some
notes of mine in PDF, or A+ Certification style, but nice, Mike
Meyer's A+ Guide to PC Hardware.

The only way you'll know what book suits you is to browse your local
bookshop.
 
However, I'd question how much detail you need. For example, on
interrupts. Knowing the principle of how a keyboard controller signals
that it has some data that needs picking up, and what the CPU does to
pick up the data and how it makes the data available to the process
(program) that will use it, may well be enough?

> (2) The fundamentals of operating system architecture. This could be
> covered by a white paper that addresses only MS Windows, or only
> Linux, or a paper that covers both (and perhaps compares their design
> and internal structure). I'd like to know about the layers within the
> operating system, the boot process, how multitasking is handled, and
> any other generally relevant issues.

Much more difficult. Assuming basic knowledge on your part, possibly
Tanenbaum's Modern Operating Systems, 2nd ed. but could be hard work.
Most of the other college books on operating systems are just
examination fodder.

Again, I can point you at notes that I use, but more so than the
hardware part, the OS part depends on a lot of performance on my part
in the classroom. Again, there are only a few basic issues:

- booting starts by an address getting forced into the program
counter; that address is the address of the start of a small program
in ROM; that program reads some agreed part of an agreed disk device,
and the chain of events repeats until the OS has been read into memory
and starts executing;

- the idea of a process and how it gets created; start off with a
simple single-tasking model; read program into memory; jump to start;
execute until end; then jump back to OS;

- how to multi-task; (assume multiple programs and OS already in
memory) start a process as above; timing interrupt causes jump back to
OS; OS causes jump to another program/process, ...

- what to do if you need more physical memory ('RAM') that you have;
virtual memory; how to use a combination of disk and available
physical memory to fake it;

I was looking at two books last week that may be worth a try: Dietel,
Dietel and ??, Operating Systems (contains case studies of Windows XP
and Linux); and O'Gorman, Operating Systems (mention of Linux in
title).

>
> My own background is a B.A. in physics and math, plus, in recent
> years, about a dozen courses on computer programming at the freshman
> and sophomore level.

That makes me suspect that what I've written is of little use to you.

Best regards,

Jon C.

For email address see: http://homepage.ntlworld.com/jg.campbell/



Relevant Pages

  • [PATCH 19-rc1] Fix typos in /Documentation : T
    ... If the request is not yet sent to userspace AND the signal is not ... +NAPI works by shutting down event interrupts when there's work and ... The core layer invokes devices to send packets in a round robin format. ... Correct a reference to free'ed memory during controller ...
    (Linux-Kernel)
  • Re: High lock spin time for zone->lru_lock under extreme conditions
    ... We noticed high interrupt hold off times while running some memory intensive ... that spin_lock_irq disables interrupts while spinning made matters very bad. ... By buffering the lru pages on a per cpu basis the flush of that buffer ... Streeamline all this by replacing the per cpu buffer with a per zone ...
    (Linux-Kernel)
  • Re: Multitasking on 8-bit Apple
    ... The second requirement is, of course, a source of interrupts to do ... Super Serial Card ... to be loaded in both the lower and upper 64k of memory. ... the 6502 registers into the stack, and switch to the other 64k of memory. ...
    (comp.sys.apple2.programmer)
  • Re: question about nonaligned memory access
    ... be hidden from your view at teh language level. ... and memory chips would alleviate that somewhat, of course, but would ... cache supporting all of the processors. ... program-visible interrupts when data ...
    (comp.arch)
  • High lock spin time for zone->lru_lock under extreme conditions
    ... We noticed high interrupt hold off times while running some memory intensive ... that spin_lock_irq disables interrupts while spinning made matters very bad. ... We instrumented the spin_lock_irq code and found that the spin time on the ... We did not use any lock debugging options and used plain old rdtsc to ...
    (Linux-Kernel)

Loading