- •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
5.1.1 Mime Types
It is possible to attach images and other types of documents to an email message. This raises a problem: how is the mail client (that is, an application that reads email) supposed to know what to do with these documents? The solution is to give each attachment a label explaining what kind of document it is. The labels are calledMIME types. Incidentally, MIME is the acronym for Multipurpose Internet Mail Extension.
MIME type designations have two components: a type and a subtype, which are separated by a slash (/). Some examples include text/plain, text/html, image/gif,image/jpeg, and application/msword. Users can control how their mail clients handle attachments of a given type through a configuration file called a MIME types file. For example, they may specify that GIF and JPEG images should be displayed using a particular viewer program, or that files associated with the application/msword type should be opened immediately using Microsoft Word. The MIME types file permits wildcard specifications, such as image/*, which matches any type of image file, or even */*, which a mail client can use to provide a default behavior for any file type. A common choice of default behavior for unfamiliar types is "save to disk." This allows the user to deal with the attachment manually at a later time.
MIME types are not just for email anymore. Web browsers use them as well. Web sites that contain sound or video clips, for example, may require the mail client to launch a player program in order to present those files to the user. The MIME types file tells the Web browser what kind of player to use. You can display and edit MIME types' settings using your Web browser by editing your preferences.
Microsoft Windows operating system also now uses this information. If you double-click a file icon, the file extension is looked up in the MIME types file to determine which application should be used to open the file. If you are using Windows Explorer to view your disk files, on the View menu, click Folder Options and then click the File Types tab. This window shows a list of all file extensions registered under Windows and displays the appropriate MIME type associated with each extension.
MIME extensions also specify the character encoding in email messages. Languages such as French or Spanish require accent characters that are not part of the regular character set, which is known as ASCII (American Standard Code for Information Interchange). Email messages in nonwestern languages, such as Japanese, require a different character set altogether. The MIME extensions provide a way to specify which encoding a message is using. It is then up to the mail client to translate that encoding into something that can be meaningfully displayed to the user.
5.1.2 Internet Languages
HTML
XML
JavaScript
Java
There are many Internet languages that are used to exchange data on the World Wide Web. In this section, we will focus our discussion on the ones that are commonly used today.
HTML
HTML stands for Hyper Text Markup Language. An HTML file is a text file containing a set of predefined tags that are used to specify how data should be displayed in a browser or another application program. For example, inserting the built-in tag "<i>" and "</i>" around a phrase would italicized the phrase displayed. Because HTML is composed of text, you can create an HTML file using a text editor. To enable the Web browser to interpret how you want the page to be displayed, you must save the file with an "htm" or "html" file extension. Note that "<" and ">" are indicates the beginning and end of a tag, respectively.
You can use the following steps to create a web page:
1. Open a text editor application such as Notepad.exe.
2. Copy the following text and paste it into the text editor program:
<html> <head> <title>Page title</title> </head> <body> This is an example of a Web page. <b>A tag is used to make this text appear bold.</b> </body> </html>
3. Save the file on Desktop as "sample.html".
4. Open a Web browser application.
5. Drag "sample.html" from Desktop to the Web browser. You should be able to see the web page.
HTML tags, which are used for marking up documents, are predefined. Therefore, the author of HTML documents can only use tags that are defined in the HTML standard to customize the look and feel of a web page. There are numerous resources on the Internet that you can use to learn how to create web pages with HTML. One way you can locate HTML resource pages is using an Internet search engine such as Google, and type in "HTML tutorial" in the search box.
XML
Another text document markup language is XML (eXtensible Markup Language). While HTML tags are primarily concerned with how text should bedisplayed, XML tags can be used to describe what a piece of text means. Another major difference between HTML and XML is that there are no predefined tags in XML. Users have the freedom to define their own tags.
For example, an XML programmer could create a tag called <phone> to indicate that the enclosed text is a telephone number. See the following example XML code:
<phone>4125551212</phone>
The programmer can also include other tags such as <address>, <name>, <occupation>, etc. To describe how tags are used to organize the data, a DTD (document type definition) is utilized. For example, in a DTD, the developer can specify that CUSTOMER tags can contain NAME tags, but NAME tags cannot contain CUSTOMER tags. A DTD ensures that all the documentation is formatted in the same way. Applications can use the DTD to read and display the content of the document. One advantage of using the DTD is that changing the document format would involve just modifying the DTD.
Since XML just organizes data by assigning them descriptive tags, Extensible Stylesheet Language (XSL) is used to specify how an XML document would be interpreted and displayed by the browser.
The phone example above can be rendered by the browser as specified by the XSL as follows:
Phone: (412) 555-1212
You can view an XML phonebook with the phone entry shown above. Some browsers will use the XSL specified in the XML file to transform the data. You can view the source to the XML and the XSL.
XML allows the author to define his own tags and his own document structure. By using tags to encapsulate data, XML can represent complex data structures, such as records from a database. The formatting information associated with the tags is used to generate XSL sheets from an XML document, which can be viewed with a normal Web browser. Because XML is composed of text, it is software and hardware independent, meaning any computer system would be able to interpret an XML document. Due to XML's flexibility and interoperability, it is becoming the standard for exchanging data over the Internet.
You can learn more about XML from the World Wide Web Consortium (W3C) website.
