- •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
4.3 Batch Script Files
In 4.2.2 Lab: Macros, we discussed the macro facility that exists in many applications for ensuring that a user can define a shortcut for a set of actions that are used frequently. The same facility is often required when interacting with the operating system's user interface (often called the "command interpreter" or "shell"). For example, you may want to set up a daily routine that copies all word processing files to a removable disk and deletes all the files in the "Temp" folder on the hard drive. In addition, perhaps you want these actions to be performed in the middle of the night when there is nobody around to initiate them.
If you are using an operating system with a GUI interface such as Windows, there is no facility to record the sequence of actions you perform using a mouse to be repeated later. The solution is to create a text file (called a "batch file" under DOS and Windows, and a "script" under UNIX) that uses the operating system's command line interface to achieve these actions.
|
Reading Sequence:
|
|
Assessments:
|
4.3.1 Advanced Command-Line Functions
DOS Command Syntax
Review of File System Commands
Wildcard Characters
Redirection and Piping
You have already been exposed to the DOS command line in 4.2.1 Lab: DOS Commands. It is probably more proper to call it the "Microsoft command line," as it is not limited to DOS. Virtually the same command-line interface is used in all versions of the Windows operating system.
With today's GUI environment, most computer users rarely need to use the command line. Initial installation of Windows, and recovery from problems that prevent the Windows GUI from executing, are two situations where a user would need to rely on the command line, but neither is a common occurrence. However, one common task where the command line is the preferred solution is the creation of scripts called "batch files". Batch files are text files containing DOS commands used to run programs and manipulate files.
In the remainder of this page, we will discuss some advanced features of the command line. Then, in the following two pages, we will see how batch files are constructed.
Dos Command Syntax
DOS commands have a specific syntax, which you have already had a glimpse of earlier in the course. Each line begins with a command name or program name. (Many DOS commands are actually programs.) After the command name may come one or more switches. A switch is written as a slash followed by a letter. For example, dir /w tells the directory command to use a "wide" list format. Switches can also take parameters, which are separated from the switch by a colon. dir /o:s tells the dir command to order the files by size, while dir /o:-g tells it to put directories at the end of the listing instead of at the beginning.
Commands can also take arguments, such as filenames or paths. Other types of arguments are possible; the exact form is determined by the syntax of the command. The command dir /w c:\ has the path c:\ as its argument; it prints a wide listing of the files in c:\.
The /? switch tells a command to display its Help entry, which includes the command's syntax, any switches it accepts, and what the command does. If you know the name of the command you want to use but do not remember the syntax or what switches are available, you can use the /? switch to get help. Typing del /? on the Windows Me command line causes the following to display:
C:\> del/? Deletes one or more files. DEL [drive:][path]filename [/P] ERASE [drive:][path]filename [/P] [drive:][path]filename Specifies the file(s) to delete. Specify multiple files by using wildcards. /P Prompts for confirmation before deleting each file.
The above example illustrates some of the special conventions used by the DOS Help facility for precisely describing the syntax of a command:
Words appearing in uppercase—such as "DEL" and "ERASE"—should be typed in literally, as they are shown in the Help entry.
Words appearing in lowercase denote variable information to be supplied by the user. For example, "drive:" indicates that a disk drive letter (such as A: orC:) should be supplied, "path" indicates that a path should be supplied (such as \Windows\bin), and "filename" indicates that a file name should be supplied (such as program.exe).
Anything enclosed within square brackets ( "[" and "]" ) is optional. If the user does not specify a value for an optional item, the command processor uses a reasonable default value. For example, if the drive letter or the pathname is not supplied, the command processor assumes that the file is located in the current working directory, as indicated in the prompt. The dir command uses *.* as the default filename, meaning it will list all files in the working directory. But, for the del command, while a drive and path are optional, the file name must be supplied by the user.
An ellipsis ( ... ) indicates that the immediately preceding item can be repeated any number of times. This does not appear in the del example, but if it is stated filename ..., any number of files could be deleted at the same time. (In some versions of Windows, the del command does accept multiple file name arguments.)
With the exception of using multiple switches on a command line, all components must be typed in the exact order in which they appear in the Help entry's syntax description. Switches can appear in any order including in between other arguments.
The command processor prompts the user for keyboard input when it is waiting for a new command. The prompt often appears as a drive letter, a path, and a right angle bracket ( > ). For example, the prompt might be "C:\Windows>". The drive and path are referred to as the "working directory." If you specify a file path that does not start with the root folder indicator ( \ ), the command processor assumes that the path begins in the current working directory. It is best to provide a complete path when specifying a file, in order to avoid unintended consequences. What you type can be in uppercase or lowercase, as the command-line processor is not case sensitive.
