Title: How Software sw
1How Software (s/w) Hardware (h/w) Work together
- David Turton
- Conestoga College
- Institute of Technology and Advanced Learning
- http//www.conestogac.on.ca/dturton
- Doon 1D17 X3610
2Hardware Review
- Hardware has to interact with the CPU to function
- Data is transferred along busses on motherboard
- Programs and data must be loaded to memory to be
processed - BIOS contains startup (POST, CMOS config) and
system (device interface) programs - Common busses/expansion slots
- Memory bus
- ISA slots
- PCI bus
- AGP bus
- USB bus
- Firewire/IEEE 1394
3Objectives
- Explain how hardware talks to CPU
- IRQ's, I/O addresses, etc
- POST boot process
- Outline the (Windows) O/S's in use today
- Windows, UNIX, Linux, Mac
- Various flavours of Windows
- Identify what the O/S does for you
- Hardware/memory
- Files, applications, user interface
- Outline how the O/S interacts with hardware
- Drivers
- Real vs protected mode
4How Hardware CPU Talk
5System Resources
- IRQ - Interrupt Request
- a line/trace on the bus that a device uses to get
the CPUs attention - I/O Address
- number assigned to a device that s/w uses to get
its attention - Memory Address
- number assigned to physical memory on RAM or ROM
- eg video RAM
- DMA Channel
- numbered channel a device can use to address
memory without disturbing the CPU
6Powering up a PCs consciousnessthe Boot Process
- BIOS tests essential h/w
- power-on self-test (POST)
- setup info configures h/w and s/w
- from CMOS, jumpers and DIP switches
- devices assigned system resources
- fixed-config first, then Plug-and-Play
- O/S loaded, configured and executed
- h/w devices matched w/ BIOS programs or drivers
- application s/w loaded (TSR or executed)
7Cold vs Warm and in-between
- Soft or Warm boot
- via
- CtrlAltDel
- software restart
- easier on PC
- sometimes is disabled
- May not clear virus in memory
- Hard or Cold boot
- turning power on
- power surge stress
- Reset button
- Earlier in boot process than Ctl-Alt-Del
- doesnt cause surge
- lose cached changes
8POSTCPU must execute the startup BIOS program
- Loads memory FFFF0H, always assigned to BIOS
- checks CMOS, battery, CPU
- if cold boot, checks first 16KB of RAM
- hardware is checked and assigned resources
- video controller errors conveyed by beeps, rest
through monitor (doesnt check for actual
monitor) - begins search for OS
9Legacy devices hard-coded resource requirements
After resources assigned to legacy devices, PnP
devices get assigned from remaining resources
10Devices use IRQ's to get CPU's attention
11IRQ - Interrupt Request Number
- Voltage on IRQ line indicates h/w device wants
CPU attention - interrupt controller chip chooses lowest-numbered
IRQ first - note second controller links IRQ9 to IRQ2 for
8-15 - so 8-15 take precedence over 3-7
12CPU uses I/O address to get device's attention-
also called port addresses or ports
13Example of what lines in a bus are used for
Expansion slot for the 8-bit ISA bus
Extension for the 16-bit ISA bus
14(No Transcript)
15- Handling a Hardware Interrupt
- Device fires interrupt request
- Voltage on assigned IRQ line
- CPU gets interrupt number
- CPU uses interrupt table
- Address of code to handle interrupt
- (aka driver)
- Loads driver
- Processes data from device
16- Handling a Software Interrupt
- s/w sends interrupt code to CPU
- CPU looks at interrupt table
- Address of code to handle interrupt
- (aka driver)
- Loads driver
- Contacts device
- I/O address on address bus
- Data on data bus
17Boot processCMOS Information tells BIOS where
to look for the OS
18Varieties of Operating Systems (O/S)
19Common Operating Systems (Microsoft)
- DOS
- For early PC's
- Simple, had limitations
- Overlay GUI
- Windows 3.x
- Windows 9x
- 95, 98, 98SE, ME
- Graphical O/S, DOS core
- No longer supported
- Windows NT
- Total rewrite, away from DOS limitations
- More file access control
- Larger address space
- Basis for servers
- Windows 2000, XP, 2003
- Derived from NT
- Advanced file/memory management, less failures
- Improved central directory
- Massive storage/memory capabilities
20Common Operating Systems (non-Microsoft)
- Unix
- First network-centric O/S, from 1970
- Written in C, can be compiled to any platform
- Major servers on internet
- High capacity
- Very efficient
- Very reliable
- Linux
- Scaled-down Unix for PC's
- Open-source free downloads
- Reliable, efficient
- Good server capabilities
- OS/2
- IBM's entry into server market (1994)
- Similar to NT
- Died on market
- Mac OS
- First graphical O/S
- Graphical, design and games oriented
- Not business-oriented
- Didn't get economies of scale
21Major O/S Functions
- Manage hardware
- Interpreting software needs and hardware
responses - Plug-and-play auto-identification
- Manage BIOS device drivers
- Manage memory
- Virtual memory management
- Application isolation
- Manage files
- Creating, storing, retrieving, deleting,
moving/copying - Navigating directories, following links through
FAT - Hard drives, floppies, CD/DVD's, memory cards,
etc. - User interface
- Allows user to manage desktop, hardware,
applications, data - Provides graphical interface support
- Manage applications
- Install/uninstall
- Run applications, manage hardware interface
22User Interfaces
- Command-Driven
- Enter commands at a prompt
- DOS, UNIX, Linux
- Minimal overhead load
- Windows run command or cmd
- Note command is DOS cmd is Windows command
prompt
- Menu-driven
- List of options displayed
- Drop-down menus show commands available
- In context of window contents
23User Interfaces cont'd
- Icon-driven
- GUI (graphical user interface)
- Select actions by clicking on icon (picture)
- Applications files become objects
- Drag-and-drop objects from one location to
another
24Shell Kernel
applications
User interfaces
- Shell
- Interface for users
- Command, menu and icon
- API's GUI support for applications
- Kernel
- Core of operating system
- Manages hardware, memory
- Enables multitasking
- Configuration data
- h/w s/w information
- user preferences
- s/w settings, etc.
- for O/S at boot, user, and applications
Configuration data Registry, .ini/inf files
shell
Kernel or Core
hardware
25Terminology
- Threads
- Processes that are running on a computer
- Multitasking
- Ability to run multiple threads "at the same
time" - On-demand multitasking
- O/S interrupts app on timeslice, h/w request
- Runs another thread
- Apps don't see interruption
- 16-bit, 32-bit, 64-bit
- Size of a "word"
- Bigger word
- More data processed at a time
- Handles more memory
- File structures
- FAT16, FAT32, NTFS, etc.
- How data is organised on drives
- Determines management capabilities, drive size,
efficiency, etc.
26O/S'sDOS (disk operating system)
- First O/S used by IBM PC's
- Simple, reliable troubleshooting tool
- Useful when complex O/S fails
- Windows 3.x was GUI shell to DOS
- Windows 9x has some DOS programs
- Pros
- Small footprint, no GUI overhead,
- Legacy, specialised/unattended environment
- Cons
- Memory management limited/awkward
- Cryptic user interface
- No multitasking
- No inherent networking support
- No apps being written for it.
27O/S'sWindows 9X (95, 98, 98SE, ME)
- GUI interface support
- Object-oriented concept
- Plug-and-play
- h/w discovery config
- 32-bit core
- 16-bit support
- Memory paging, multitasking
- Fundamental DOS core
- Pros
- User-friendly, intuitive GUI
- Backward-compatible to DOS, Windows 3.x
- Old/new h/w s/w support
- Multitasking
- Cons
- Backward-compatible with DOS
- Limitations failures
- No longer supported
2898SE ME
- 98SE
- SE second edition
- Patches on 98
- Improved networking
- ICS internet connection sharing
- ME
- Actually 98TE
- More NT technology
- Multimedia support
- Video/digital cameras, scanners, etc.
- Video compression
- System restore-points
- Students didn't find it reliable or
backward-compatible enough
29O/S'sWindows NT/2000/XP/2003
- IBM Microsoft collaborated on development
- "New Technology"
- Abandon architectural limitations of DOS
- 32-bit architecture
- HAL hardware abstraction layer
- Control access to protect hardware/memory
- Multi-platform support (abandoned with 2000)
- New memory management, file structures, etc
- Legacy support controlled environment, 16-bit
emulation - Only if don't try to access hardware directly
- Isolated threads, less likely to hang
- Designed as a server architecture, with
networking/multitasking in core - Competition to Novell's NetWare
- IBM/Microsoft split 1993
- IBM introduced OS/2
- Microsoft introduced NT
30O/S'sWindows NT
- 1994 2000 v4 last
- Multiprocessing (multiple CPU's)
- Designed for network support
- But could run desktop apps (marketing)
- Central directory
- Limited, but useful
- File/folder security access control
- Pros
- Target client/server
- New file system NTFS
- Pro version networking authentication over LAN
- File security
- Cons
- Higher h/w requirements
- s/w incompatibilities
- No PnP
- Replaced not supported
31O/S'sWindows 2000/2003
- Improved Active Directory
- PnP
- Improved reliability
- System file protection
- Improved security in file system
- Logon encryption
- Notebook support
- Power management
- Offline files
- Secure communications
- Pros
- Advanced security
- Centralised control via Active Directory
- Multiple versions
- Depends on use
- Cons
- Higher h/w requirements
- Not scalable separate versions
- 2000 replaced by 2003, but still supported
32Windows 2003 versions
- XP Pro (replaces 2000 Pro)
- Desktop version
- max 10 client connections
- 2 CPUs
- Web Edition
- Focused on web, .NET, ASP
- lacks other common services
- 2 CPUs, 2GB memory, 32-bit processors
- Standard Edition
- Small/med companies
- 2 CPUs, 4GB memory, 32-bit processors
- Enterprise Edition
- Server clustering
- Data replication
- Load balancing
- Bypass downed server
- 8 CPUs, 32/64GB memory, 32/64-bit processors
- Datacenter Edition
- 8-32 CPUs, 64/128GB memory, 32/64-bit processors
Note XP Home edition no IIS, cannot join a
Windows 2000/2003 domain.
33O/S'sWindows XP
- Replaces NT Pro, 2000 Pro desktop versions
- Pre-release 2003 version
- Replacing all previous desktop versions
- Editions
- Home
- Pro
- Remote access, join 2000 domain, IIS, roaming
profiles - Media Centre
- Pro multimedia formats
- Tablet
- Pro touch-screen, writing interpretation, etc.
- 64-bit
- AMD Opteron or Intel Itanium technical
workstations
34O/S'sUNIX
- Written in 1968-1970
- C-based
- Device independent everything is a file
- Available for any platform with a C compiler
- Multitasking, multiuser, networking
- Basis of original design
- Powerful, reliable Internet servers
- Excellent database server
- Pros
- Strong multi-processing
- Large memory management
- Great for networking
- Less memory/processing requirements
- Doesn't crash
- Remote management
- telnet, SSH, FTP
- Cons
- Requires powerful machines
- Fewer business applications
- Command-prompt oriented
- Less app development web publishing apps
35O/S'sLinux
- Unix alternative for smaller platforms
- Server
- Desktop
- Open source
- Downloadable for free
- Depends on s/w community for enhancements
- Customisable
- Distributions
- Variations sold by s/w companies
- Differ in support facilities
- Tools
- Vendor support
- Pros
- Rarely crashes
- Basic versions free
- Distros available with support
- Customisable
- Less computing power required
- Excellent network facilities
- DHCP, DNS, web, e-mail
- Cons
- Can be clumsy to install
- Documentation spotty
- Optimising takes time
- Experts thin on ground
- Expensive
- Fewer business applications
- Less "familiar"
- Fewer integrated development packages
36O/S'sOS/2
- IBM Microsoft collaboration
- Features similar to Windows NT
- Esp. server support
- Still used by ticketing systems, banks,
railroads, US gov't, etc. - Didn't catch on with public
- Pros
- More efficient than Windows, esp. for DOS apps
- Large memory management
- Icon interface
- Good for networking
- OS/2-designed s/w runs better that Windows equiv.
- Cons
- Few apps written for it
- Unpopular/unfamiliar
- Market not growing
- Rumours of terminal illness
- Still supported
- But IBM would like out
37O/S'sMac OS
- Only for Mac computers
- Designed around graphical environment
- Easy to use
- Windows icons
- Popular for education
- Great graphics support
- Good for gaming
- Good for graphics design
- Multitasking, PnP
- Proprietary
- O/S locked in, API's h/w specs concealed
- Few secondary vendors
- No economies of scale
- Pros
- Excellent interface
- GUI, PnP since inception
- Large memory management
- Many graphics, web multimedia applications
- Less prone to crashing
- Lower maintenance costs
- Cons
- Not viewed as a high-powered business computer
- Being supplanted in graphics realm by
higher-powered Windows machines - s/w apps not always available.
- Less market share
- Mac X is UNIX
38What O/S does for you How it interacts with
hardware
39BIOSBasic Input/Output System
- Startup BIOS is a program to
- Start the computer
- Search for load O/S
- Configure CMOS
- System BIOS programs to manage simple devices
- Floppy disk drives
- Keyboard
- Hard drives (occasionally)
- Support for
- Advanced Configuration and Power Interface (APCI)
- previously Advanced Power Management (APM)
- Plug and Play (PnP)
40PnPautomatic discovery and assignment of
resources to hardware devices most motherboards
since 1994
- BIOS and O/S must both support PnP
- BIOS begins config process
- Device discovery
- Assign next-available resource
- O/S uses BIOS data to complete config
- Win 9x
- Supports PnP
- Win NT
- Doesn't support PnP
- Still manually assign IRQ, memory I/O
addresses, DMA channels - Win 2000/XP/2003
- More advanced PnP
- Doesn't use BIOS's data
- Ms suggests disabling BIOS PnP
41O/S facilities
- Manage user interface
- Manage files and folders
- Manage applications
- Manage hardware
42O/S Managing Files and Folders
- Physical disk organisation
- Circular tracks divided into 512-byte sectors
- Sectors grouped into clusters
- Smallest addressable unit on drive
- Size depends on format
- Partitions
- MBR master boot record 1 per physical drive
- Carries partition information, pointer to boot
drive - Max 4 partitions
- 1-4 primary partitions (1 logical drive each)
- Max 1 extended partition (several logical drives)
- Root directory
- Created in format process
- Each logical drive has its own root directory
- Contains files and subdirectories
- Subdirectories can themselves contain files and
other subdirectories
43O/S Managing Applications
- O/S loads runs programs
- O/S provides (controls)
- Access to hardware
- Management of data in memory
- Make virtual memory appear "real"
- Management of secondary storage
- Hard drive, zip, CD
- Application makes resource requests to O/S
44Loading applications
- Shortcut icon
- Visual stand-in for command line
- Can modify execution environment
- Start menu
- Most installed executables listed in menu
structure - Run command
- Type commands and execution parameters
- Windows Explorer
- Locate command on drive, double-click to execute
- Note data files
- File extension identifies the application to be
executed for this file (Microsoft)
45Real (16-bit) Protected (32-bit) Modes
- Real mode
- Applications have full access to hardware
- Simulated in NT/2000
- Using a protected-mode shell
- Which is why many 16-bit apps don't work
- 16-bit drivers loaded via config.sys,
autoexec.bat, system.ini - Protected mode
- O/S controls application's access to hardware
- More than 1 program can run
- Applications protected from each other
- CPU starts in real mode
- O/S shifts it into protected mode
- Pre-emptive Multitasking
- O/S allots CPU time to applications
- Gives CPU to another application when
- App exceeds allotted timeslot
- App makes a call to hardware or memory
46Virtual real mode 9x
- Windows 9x later don't really permit direct
access to hardware - It simulates a 16-bit environment
- Runs all 16-bit apps in the one space
- 32-bit manager ensures apps don't "leak" out
47Virtual real mode NT
- Windows NT/2000 don't permit direct access to
hardware - NTVDM NT virtual DOS Machine
- Runs as a shell
- Provides a protected environment for 16-bit apps
48O/S Managing Hardware
- O/S doesn't interact directly w/ hardware
- Uses device drivers or system BIOS
- Device drivers
- Small programs on hard drive
- Written to understand specific hardware
- Written to interface with O/S API (hooks)
- Usually O/S-specific
- System BIOS
- Contains drivers for devices/interfaces on
motherboard - Common keyboard floppy drive
- Usually O/S-independent
- XP uses its own drivers, thank you.
49Device Drivers
- Designed to interface with specific hardware
- Some come with O/S
- standardised/approved/common drivers
- Some provided by hardware manufacturer
- Specific to an O/S
- Provided with hardware device
- Available over Internet
- See instructions
- Frequently, install hardware and then driver
- Occasionally, install driver and then hardware
- Note Win 2000/XP
- Check hardware compatibility list
- www.microsoft.com/whdc/hcl/search.mspx
- Check compatibility on box or manufacturer's site
- Later drive may be available than shipped with
Windows
50Windows 9x 16-bit drivers
- Older equipment, no 32-bit drivers
- Cannot load to NT/2000/XP/2003
- Can use 16-bit real-mode driver in Win 9x
- Loaded by entries in
- Config.sys
- Autoexec.bat
- System.ini
- Old term terminate-and-stay-resident (TSR)
- Driver loaded at boot, stays in memory in case
needed
51System BIOS
- Programs for interfacing w/ simple devices
- Keyboards, floppy drives, serial ports, etc.
- Can be used to access hard drive
- May cause problems when going past 20GB drive
- Better to use device driver (faster)
- Check CMOS setup
- Or control panel?system?device manager
- To see which you're using
- eg no config settings for Zip DVD drives
52Device Manager
- Used to manage h/w devices and their drivers
- Windows 2000/XP
- My Computer?properties?hardware tab
- Windows 9x
- My Computer?properties?device manager tab
- Open each category to see device(s)
- Select Properties on device to see/update driver
- Different views
- Can see system resource assignments
53(No Transcript)
54System Information
- Device Manager info plus more
- BIOS version
- Where O/S is installed
- Driver other software info
- Run msinfo32.exe
- DOS/Win 9x
- Also had MSD.exe
55msinfo32.exe