17
Module 02 System Architecture

Module 02 - System Architecture

Embed Size (px)

DESCRIPTION

linux

Citation preview

Module 02

System Architecture

Objectives

Objective 1: Determine and Configure Hardware Settings

BIOS

USB Topology

USB Controllers

USB Devices

USB Drivers

USB Hotplug

Reporting Your Hardware

Device Management Definitions

Objective 1: Determine and Configure Hardware Settings

Setting up a PC for Linux (or any other operating system)

requires some familiarity with the devices installed in the

system and their configuration

It includes: modems, network adapters, hard drives, USB

controllers, and sound cards…

BIOS

The firmware located in a PC,

commonly called the BIOS, is

responsible for bringing all of the

system hardware to a state at

which it is ready to boot an

operating system

Includes: testing of memory, other

devices, and locating an operating

system from among several storage

devices…

In addition, the BIOS provides a low-

level system configuration interface.

Exp: allowing the user to choose

such things as boot devices and

resource assignments.

BIOS

Depending on the BIOS vendor, these will include settings

for disks, on-board ports (such as serial and parallel ports),

and the clock, as well as many others.

Date and time: set in BIOS or in OS

Disks and boot devices as CD-DVD, Floopy, Network

Boot (NIC)

Using the /proc filesystem

When adding new hardware to an

existing Linux system, you may

wish to verify which resources the

existing devices are using. The

/proc filesystem, the kernel’s

status repository, contains this

information.

/proc/interrupts

interrupts or IRQs are signals

generated by peripherals for

the cpu to know.

when the cpu receives an

interrupt signal, it temporarily

suspends all its activities and

attends to the interrupt

Using the /proc filesystem

/proc/dma

Direct Memory Access

For faster peripheral devices, generating interrupts to

talk to cpu and then gain access to RAM could slow

things down.

DMA solves this problem by granting the peripheral

direct access to memory areas; basically bypassing the

cpu.

Using the /proc filesystem

/proc/ioports:

When cpu needs to

communicate to

peripheral devices, it

does so by writing to IO

ports or simply ports.

Each device has its

own separate port that

is not shared with other

devices.

USB Topology

Universal Serial Bus (USB) is a type of interface used to

connect various types of peripherals, ranging from

keyboards and mice to hard drives, scanners, digital

cameras, and printers.

The lsusb command can be used to see how devices are

physically attached to a Linux system.

USB Controllers

There are three types of USB host controllers:

Open Host Controller Interface (OHCI)

Universal Host Controller Interface (UHCI)

Enhanced Host Controller Interface (EHCI)

OHCI and UHCI controllers are both USB 1.1 controllers,

which are capable of a maximum of 12 Mbps.

EHCI controllers are USB 2.0 controllers, which are

capable of a theoretical maximum of 480 Mbps

USB 3.0 Speed: 4800Mbps

A USB 2.0 device attached to a USB 1.1 hub will only be

able to run at USB 1.1 speeds.

USB Device

There are several classes of USB devices:

Human Interface Device (HID)

Input devices (mice, keyboards, etc.)

Communications device

Modems

Mass storage device

Disk devices, flash readers, etc.

Audio

Sound devices

IrDA

Infrared devices

Printer

Printers and USB-to-parallel cables

USB Drivers

USB support was added to the Linux kernel in the 2.3.x

development kernel series

The Linux kernel USB drivers fall into three categories:

Host controller drivers: usb-ohci.o , usb-uhci.o , usb-

ehci.o

Class drivers: usb-storage.o , printer.o, and audio.o…

Other device drivers

USB Hotplug

Hotplug lets you plug in new USB devices and use them

immediately.

Starting with kernel 2.4 (in January 2001), hotplugging

became a standard feature of Linux.

Reporting Your Hardware

Some useful tools to report

information about the

hardware installed include

lsmod, lsdev, and lspci.

lsmod: showing what

kernel modules are

currently loaded.

The output of lsmod is a

series of columns

identifying the module

name, its size, its use

number, and its status.

Reporting Your Hardware

Some useful tools to report

information about the

hardware installed include

lsmod, lsdev, and lspci.

lsdev: displays

information about your

system’s hardware, such

as interrupt addresses

and I/O ports.

Reporting Your Hardware

Some useful tools to report information about the hardware

installed include lsmod, lsdev, and lspci.

lspci: displays information about your system’s PCI buses

and your installed PCI devices

Device Management Definitions

Hotplugging: the ability of a computer system to add or

remove hardware without powering the system down.

Coldplugging:

In most computer systems, CPUs and memory are

coldpluggable

But it is common for high-end servers and mainframes

to feature hotplug capability of these components.