what is PCI?
peripheral component interconnect
allowed devices to communicate with the CPU/memory through a common interface
what is PCIe?
PCI express
modern; uses a serial port to point the connection
how does PCI/PCIe work?
types of devices that use PCI examples
internal/external hard drives
network interface cards
wireless cards
What are the two requirements for using the USB interface in Linux?
What is GPIO?
general purpose input/output
helps support communication to external devices.
each input/output line can be controlled individually
what are device files? what are the two types?
the kernel creates device files to interface with hardware devices. it allows the data transfer to and from the device.
the two types of device files are character device files, and block device files.
What is a character device file?
transfer data one character at a time.
used for serial devices
what is a block device file?
transfer data in large blocks
used for high speed devices such as hard drives and network cards.
how can you tell if it’s a block/character file?
denoted by first letter in the permissions list.
what is a device mapper?
maps physical block devices to virtual block devices.
what is a virtual block device?
allows the system to intercept data written to or read from a physical device and perform some operation
what is the LVM
logical volume manager
uses mapped devices for creating logical drives
what is LUKS
linux unified key setup
uses mapped devices for encrypting data on hard drives when those features are installed on the linux system
where are virtual devices created?
in /dev/mapper
what is in the /proc directory? what’s its purpose?
has info about the system hardware settings and status
what is IRQ?
interrupt requests
allows hardware devices to indicate when they have data to send to the pu
what command to see current IRQs?
cat /proc/interrupts
How are IRQs assigned?
some are reserved for specific devices (such as 0 for system timer, and 1 for system keyboard). others are assigned at boot time in the order they’re detected
What are I/O ports?
locations in memory where the cpu can send data to and receive data from the device.
where to view the current I/O ports?
cat /proc/ioports
what is setpci?
to mannually override settings if two devices are assigned to the same i/o port
what is a DMA channel?
direct memory access
sends data from a hardware device directly to memory without waiting for the cpu. the cpu can read those memory locations whenever its ready
Command to view the channels in use?
cat /proc/dma