How Hardware and Software Work Together Chapter 2 How Hardware and Software Work Together
You Will Learn… How hardware and software interact How system resources help hardware and software communicate How BIOS and device drivers are used to send instructions to hardware How different operating systems work The steps involved in booting your computer
Hardware and Software Interaction: An Overview Intelligence of the computer Determines what hardware is present Decides how hardware is configured and used Uses hardware to perform tasks Consists of programs that instruct computers to perform specific tasks
Hardware and Software Interaction
Operating System (OS) Software that controls a computer Manages hardware Runs applications Provides user interface Stores, retrieves, and manipulates files Communicates with hardware using system resources Does not relate directly with hardware; uses BIOS or device drivers for the interface
Categories of PC Software BIOS (basic input/output system) and device drivers Operating system (OS) Application software
Categories of BIOS (Firmware) Programs System BIOS To control I/O devices Startup BIOS To control startup of computer CMOS setup To change setup information
Device Drivers Small programs stored on hard drive that tell computer how to communicate with an I/O device Necessary for communication between OS and more complex devices
Operating System (OS) Works with system BIOS and device drivers to provide instructions to hardware to perform tasks
System Resources Tools used by hardware or software to communicate with the other: Memory addresses I/O addresses Interrupt request numbers (IRQs) Direct memory access (DMA) channels All four types depend on certain lines on a bus on the motherboard
System Resources
The 8-bit and 16-bit ISA Slots 8-bit ISA bus had a limited number of system resources available to it Number was increased with invention of 16-bit ISA bus Each line on a bus can perform several functions (multiplexing)
Interrupt Request Number (IRQ) Line on a bus that a device uses to alert the CPU that it needs servicing Interruptions to CPU are called hardware interrupts Polling is an alternative to an interrupt
Common Uses for Some IRQs
IRQs Preconfigured assignments make it easier to configure devices and avoid conflicts with other devices COM1 and COM2 (for serial devices such as modems) LPT1 and LPT2 (for parallel devices such as printers)
IRQs
Use Device Manager to See How IRQs Are Assigned
Use Device Manager to See How IRQs Are Assigned
Memory Addresses Hexadecimal numbers, often written in segment/offset form, assigned to RAM and ROM so that the CPU can access both
How Memory Addresses Are Assigned CPU has fixed number of memory addresses, determined by CPU and the bus it is using They can be assigned to any type of physical memory in the system that needs to be addressed by the CPU Once addresses have been assigned (usually during boot process), CPU sees physical memory as a single list that can be accessed using memory addresses Number of memory addresses partly depends on size of memory bus
Division of Memory
Shadowing ROM Process of copying programs from ROM to RAM for execution If ROM programs are executed directly from ROM chips, memory addresses are assigned to this ROM If programs are first copied to RAM, and then executed, the same memory addresses are assigned to this area of RAM Also called shadow RAM
I/O Addresses Numbers the CPU can use to access hardware devices, in much the same way it uses memory addresses to access physical memory Also called port addresses or ports
I/O Addresses
DMA Channels Provide shortcut method so an I/O device can send data directly to memory, bypassing the CPU A chip on the motherboard contains DMA logic and manages the process Each channel requires two lines to manage it: One for DMA controller to request clearance from CPU One used by CPU to acknowledge that DMA controller is free to send data over data lines without interference from CPU
DMA Channels
Booting up Your Computer Refers to the computer bringing itself up to an operable state without user intervention Hard boot (cold boot) Involves initially turning on power with on/off switch More stressful than soft boot because of initial power surge through equipment Soft boot (warm boot) Uses OS to reboot Faster than hard boot
Plug and Play (PnP) Standard Simplifies installation of hardware devices Rather than having to reset DIP switches and jumpers, OS and/or startup BIOS automatically configures hardware devices to reduce or eliminate conflicting requests for system resources Applies to OS, BIOS on the motherboard, and BIOS on devices
Functions Performed During the Boot Startup BIOS tests essential hardware components (power-on self test or POST) Setup information is used to configure both hardware and software Hardware components are assigned system resources they will later use for communication continued…
Functions Performed During the Boot Startup BIOS finds the OS, which is loaded, configured, and executed Hardware devices are matched up with the BIOS and device drivers that control them Some application software may be loaded and executed
Startup BIOS Controls the Beginning of the Boot Startup BIOS is in control for first three steps and beginning of the fourth, where control is turned over to the OS
Steps in the Boot Process Step 1: POST Step 2: ROM BIOS startup program searches for and loads an OS (most often from logical drive C on the hard drive) Step 3: OS configures the system and completes its own loading Step 4: User executes application software
Boot Step 1: POST
Boot Step 2: How BIOS Finds/Loads the OS
Boot Step 3: Loading the MS-DOS Core of Windows 9x
Autoexec.bat Stands for automatically executed batch program Lists OS commands that are executed automatically each time OS is loaded
Typical Commands in Autoexec.bat File Path command (eg, PATH C:\;C:\PCTOOLS;) Directs OS to look in two different directories for program files Restart command (Restart.com) Causes system to reboot continued…
Typical Commands in Autoexec.bat File Set command Appends a path to Path command without editing existing Path command line itself (eg, SET PATH=%PATH%;C:\VERT) Creates and assigns a value to an environmental variable that can later be read by an application (eg, SET MYPATH=C:\VERT)
Chapter Summary How hardware and software work together What happens when a PC is turned on OS is loaded System resources Interrupt request number (IRQ) Memory addresses I/O addresses DMA channels Booting up the computer