
- •Ssd2: Introduction to Computer Systems contents
- •Prerequisites
- •Course Textbook
- •Hardware/Software Requirements
- •The purpose of ssd2 is for students to
- •Students successfully completing ssd2 will be able to
- •1.1 Overview of Computer Systems
- •1.1.1 Components of a Computer System
- •Hardware System
- •Software System—Operating System Software and Application Software
- •Network System
- •1.2 Evolution of Computer Systems
- •1.2.1 Brief History
- •1200S—Manual Calculating Devices
- •1600S—Mechanical Calculators
- •1800S—Punched Cards
- •1940S—Vacuum Tubes
- •1950S—Transistors
- •1960S—Integrated Circuits
- •1970S to Present—Microprocessor
- •Pace of Advancement
- •1.2.2 Applications of Computer Systems
- •In Education Multimedia-Facilitated Learning
- •Simulation-Based Education
- •Intelligent Machine-Based Training
- •Interactive Learning
- •In Business Supply Chain Management
- •Project Management
- •Customer Relationship Management
- •Sales and Marketing Using Electronic Commerce
- •Manufacturing Research
- •In Entertainment Movies
- •Video Games
- •1.3 Data Representation in a Computer System
- •1.3.1 Bits and Bytes
- •Data Representation Using Binary Digits
- •Increasing Need for Bytes
- •1.3.2 Number Systems
- •Decimal
- •Hexadecimal
- •Learning Exercise
- •2.1 Processor and Memory
- •2.1.1 Processor Basics
- •Processor
- •Instruction Execution with the cpu
- •Performance: Factors and Measures
- •Types of Processors
- •2.1.2 Types of Memory
- •Cmos Memory
- •Summary
- •2.1.3 Lab: Benchmarking (Optional)
- •2.2 Peripherals
- •2.2.1 Connecting Peripherals
- •Expansion Slots and Cards
- •Usb and FireWire
- •Comparing Different Ports
- •2.2.2 Buses
- •2.2.3 Input/Output Devices
- •Input Devices
- •Cameras
- •Digital Camcorders
- •Scanners
- •Output Devices: Monitors and Projectors
- •Crt Monitors
- •Lcd Monitors
- •Projectors
- •Output Devices: Printers
- •Ink Printers
- •Dye-Sublimation Printers
- •Laser Printers
- •Comparing Printers
- •2.3 Storage Devices
- •2.3.1 Disk Controller Interfaces
- •Ide Interface
- •Eide Master/Slave
- •2.3.2 Mass Storage
- •How Mass Storage Devices Differ from ram
- •Disk Drive Reliability
- •Optical Media: cDs versus dvDs
- •Magnetic Media
- •Optical versus Magnetic
- •Solid State
- •Comparing Storages
- •2.4 Putting Together the Hardware Components
- •2.4.1 How Components Work Together
- •2.4.2 Lab: Researching a Computer System
- •2.4.3 Lab: Online Configuration
- •2.5 Improving Computer Performance
- •2.5.1 Moore's Law
- •2.5.2 Bottlenecks
- •Bottlenecks—Slowing a Process
- •Typical Bottlenecks
- •Eliminating Bottlenecks
- •2.5.3 Throughput and Latency
- •Unit 3. Operating System Software
- •3.1 Structure
- •3.1.1 Layers of Software
- •Layers and Process Management
- •Encapsulation and Abstraction
- •Layers of Software
- •3.1.2 The bios: Life at the Bottom
- •The Role of the bios
- •Changing bios Settings
- •3.1.3 Process Control
- •3.1.4 Lab: The Task Manager
- •3.2 Device Management and Configuration
- •3.2.1 Interrupt Handling
- •Interrupts
- •Interrupt Priority and Nested Interrupts
- •Traps and Faults
- •3.2.2 Hardware Attributes
- •Installing Drivers
- •Changing a Driver's Configuration
- •3.2.3 Configuration
- •3.2.4 Lab: Device Management
- •3.3 Resource Sharing
- •3.3.1 Virtual Memory
- •Managing Memory
- •Relocation
- •Virtual Memory
- •3.3.2 File and Printer Sharing
- •Printers
- •3.4 File Systems
- •3.4.1 File Organization
- •Folders
- •Shortcuts
- •File Names and Types
- •3.4.2 File Allocation Table and nt File System
- •Clusters and File Allocation Tables
- •Nt File System
- •Unit 4. Application Software
- •4.1 Software Basics
- •4.2 Using Software Systems
- •4.2.1 Lab: dos Commands
- •4.2.2 Lab: Macros
- •4.2.3 Lab: Embedding Application Objects
- •4.3 Batch Script Files
- •4.3.1 Advanced Command-Line Functions
- •Dos Command Syntax
- •Review of File System Commands
- •Wildcard Characters
- •Redirection and Piping
- •4.3.2 Batch File Commands
- •Batch Files
- •Commands
- •4.3.3 Lab: Creating a Batch File
- •Example of a Batch File
- •Example of a Batch File with Arguments
- •4.4 Databases
- •4.4.1 Lab: Searching the Library of Congress
- •4.5 Software Engineering
- •4.5.1 Issues in Large-Scale Software Development
- •The Software Development Process
- •Define or Redefine the Problem
- •Plan a Solution to the Problem
- •Code the Solution
- •Evaluate and Test Everything
- •4.5.2 Open Source Model
- •Free Software
- •4.5.3 Tools for Software Creation and Management
- •Editors
- •Compilers
- •Debuggers
- •Integrated Development Environments (idEs)
- •Unit 5. Network Systems
- •5.1 Internet Basics
- •5.1.1 Mime Types
- •5.1.2 Internet Languages
- •JavaScript
- •5.2 Local and Wide Area Networks
- •5.3 Communication Strategies
- •5.3.1 Client-Server Framework
- •5.3.2 Peer-to-Peer Connectivity
- •5.4 Data Transfer Technologies
- •5.5 Internet Architecture
- •5.5.1 Routers and tcp/ip
- •Internet Protocol
- •Routers
- •Transmission Control Protocol
- •5.5.2 Domain Name Service
- •Domain Name Service
- •5.5.3 Connectivity
- •Conventional Analog Phone Lines
- •Isdn: Integrated Services Digital Network
- •Cable Modem
- •XDsl: Digital Subscriber Line
- •Dedicated High Speed Lines
- •5.5.4 Internet Service Providers
- •Unit 6. Computer Security
- •6.1 Security Threats
- •6.1.1 Intruders: Who, Why, and How?
- •6.1.2 Identity Theft and Privacy Violation
- •Password Cracking
- •Packet sniffing
- •Social Engineering/Fraud
- •Spoofing
- •Port Scanning
- •6.1.3 Malicious Software
- •Trojan Horse
- •Prevention
- •Detection
- •Counter Measures
- •6.1.4 Denial of Service
- •Network Connectivity
- •Network Bandwidth
- •Other Resource Consumption Attacks
- •Distributed Denial of Service Attack
- •Prevention
- •6.2 Security Technologies
- •6.2.1 Encryption
- •Substitution Cipher
- •Transmitting the Key
- •Private Key Encryption Scheme
- •Public Key Encryption Scheme
- •Hybrid Encryption Schemes
- •6.2.2 Applications of Encryption
- •Hard Drives
- •Dvd Movies
- •Cellular Phones
- •6.2.3 Authentication
- •Strong Passwords
- •Smart Cards
- •Biometrics
- •Digital Signatures
- •Digital Certificates and Certificate Authorities
- •Ssl Protocol
- •6.3 Prevention, Detection, and Recovery
- •6.3.1 Firewall
- •Application Gateway
- •Packet Filter
- •Application Gateway versus Packet Filter
- •Intruder Attacks Prevented by Firewall
- •Setting up a Firewall
- •6.3.2 Intrusion Detection Tools
- •Intrusion Detection Systems
- •Network Monitoring Tools
- •Anti-Virus Software
- •6.3.3 Data Recovery
- •6.3.4 Summary of Security Tips
3.1.2 The bios: Life at the Bottom
The Role of the BIOS
Changing BIOS Settings
The Role of the bios
Most of this course is concerned with the higher levels of the software hierarchy: file systems, operating systems, and applications. But, in this section, we will look at the lowest level of software on the machine—the BIOS, or Basic Input/Output System. The BIOS performs three major functions: it initializes the hardware when the computer is first turned on, it loads the operating system, and it provides basic support for devices such as the keyboard, mouse, and serial ports. The BIOS is always present, but, it is only visible when you first power on the computer, before the operating system takes control.
When a computer is first turned on, there is no operating system present in memory. RAM is empty. (Remember that RAM is volatile memory; it loses the data stored in it when the power is turned off.) The BIOS must reside in a different kind of memory in order to perform its function. It resides in a ROM (Read-Only Memory) chip on the motherboard. ROM is permanent memory; it retains the data stored in it when the power is turned off. During the power-on sequence, the processor automatically starts executing instructions from the ROM. Since ROM is slower than RAM, the BIOS on most systems immediately copies itself from ROM into RAM. Then it tells the processor to fetch all further instructions from the RAM version.
Another special type of memory used by the BIOS is CMOS memory. CMOS (Complementary Metal Oxide Semiconductor) is a chip technology that uses very little power. A small amount of CMOS memory, often as little as 64 bytes, is included on the motherboard to store BIOS parameter settings that control the operation of the hardware. Another parameter controls the timing of main memory operations. If you purchase faster DRAM chips for your main memory, you can change the BIOS settings to tell the memory bus controller to take advantage of the higher DRAM speed. The CMOS memory is volatile, but, its contents are preserved by a tiny battery on the motherboard when the computer is turned off. Because the battery is recharged by the motherboard, it can last for years; however, if it were disconnected or drained of energy, the BIOS would revert to default parameter settings. Therefore, it is important that CMOS has low power consumption. The major drawback of CMOS technology is that it is slower than regular DRAM, but, that does not matter if the memory is only used for BIOS parameter settings, since the contents are only needed during startup.
When power is applied to the system and the BIOS begins to execute, the BIOS initiates the POST (Power-On Self Test) sequence. First, it enables the video card (you will see the screen flash) and displays some basic information like the type of video card installed, the name of the BIOS manufacturer, and the BIOS version number. It then determines the amount of DRAM installed in the system, and it may perform a memory test. Whether or not it does, the test is controlled by yet another BIOS parameter setting. (On systems with a lot of memory, disabling the memory test will allow the computer to boot up more quickly.) The memory configuration and test results are displayed on the monitor. Then, after determining what expansion cards and adapters are present, the BIOS initializes those cards and adapters. At the conclusion of the POST sequence, the BIOS displays system configuration information, such as the type of processor installed, cache memory information, the types of each of the disk drives it found, the addresses of any serial and parallel ports, and a list of other expansion cards it detected.
Once the POST sequence is completed, the next job of the BIOS is to load in a program that will in turn load the operating system. In order to do this, the BIOS has to know just enough about disk drives to be able to read in one chunk of data, called the Master Boot Record, or MBR. By convention, this is the first sector of the first track of the disk. The MBR program then loads in the operating system and starts it running.
On a system with multiple disk drives, which one should be used to load the operating system? The BIOS follows a search order to find an operating system to load. It begins by looking in drive A, which is normally a floppy drive. If there is no disk in that drive, or if the disk does not contain a master boot record, then it looks in the drive B (second floppy drive), if one exists. If unsuccessful there, it moves to the drive C, which is normally the main hard disk drive, and looks for a master boot record there. And so on.
Checking the floppy drive first turns out to be very useful, because unlike the hard drive, the floppy is a removable medium. So, if you do not want to load the version of the operating system that is stored on the hard drive, all you have to do is insert a boot disk in drive A and the computer will boot from there. A boot disk is a floppy that contains a bootable copy of some operating system. If the version of the operating system on the hard drive ever becomes corrupted, perhaps due to a system crash, the only way to get the computer running again is to use a boot disk. Then you can get to work repairing the damaged data on the hard drive.
A computer that can be booted from a floppy drive is not fully secure. Your private files are normally protected by the operating system's refusal to allow other users access to them. But, if someone slips a boot disk into drive A, they can boot their own version of the operating system that ignores file protections and permits access to everything on the hard drive. The only guaranteed defense against this type of attack is to encrypt the disk. Another risk associated with bootable floppy drives is MBR viruses. These viruses live in the master boot record of a floppy disk. If someone leaves an infected floppy in drive A, the next time the system boots, the virus can infect the hard drive. Most computers today cannot be booted easily from the floppy drive because operating system files have become so large that they are distributed on CDs. However, the BIOS still checks the floppy drive for an operating system. Perhaps you have left a floppy disk in the A drive when you tried to start your computer and have seen the message, "Nonsystem disk or disk error Replace and strike any key when ready". This message is a result of the BIOS checking the floppy drive for an operating system.
Some BIOSs will allow you to change the search order used for booting. This is useful if you want the system to boot by default from a CD-ROM drive, or from a server on the local network, rather than from the hard drive. You can also disable booting from the floppy drive if security is a concern.