O
N
E
H
O
U
R
W
OneHourWiz
I
Z
Becoming a Techie
By,
Mary Pyefinch
Published by Aspatore Books, Inc. For information on bulk orders, sponsorship opportunities, licensing, author speaking engagements or any other questions please email
[email protected]. For corrections, comments or any other inquiries please email
[email protected]. First Printing, 2002 10 9 8 7 6 5 4 3 2 1 Copyright © 2001 by Aspatore Books, Inc. All rights reserved. Printed in the United States of America. No part of this publication may be reproduced or distributed in any form or by any means, or stored in a database or retrieval system, except as permitted under Sections 107 or 108 of the United States Copyright Act, without prior written permission of the publisher. ISBN: 1-58762-104-5 Cover design by James Weinberg, Kara Yates Edited by Ben Lewis, Nan Sue Choi Material in this book is for educational purposes only. This book is sold with the understanding that neither the author nor the publisher is engaged in rendering legal, accounting, investment, medical, or any other professional service. This book is printed on acid free paper. Dedication: I would like to dedicate this book to the victims of the terrorist attacks on the World Trade Center and the Pentagon. My condolences to their families. I would also like to thank the men and women of the fire and rescue departments and all the volunteers, you are our heroes. God Bless you all.
OneHourWiz™
The Legendary, World-Famous Method to Mastering Anything in an Hour How do I become a OneHourWiz? OneHourWiz is a proven, unique method of learning that focuses on the fundamental principles of a topic, along with advice from industry experts, to master the most important aspects of anything in an hour. Although not always known by the name OneHourWiz, the principles behind this important method of learning have been practiced for decades by leading executives of the world’s largest companies, top government officials, federal intelligence agencies, and some of the world’s most renowned professors, teachers and visionaries. Most people do not realize that when trying to learn a new subject or topic, they spend 80% of their time not focusing on the right principles. If they were to receive instruction from the right teachers, focused on the right principles, they could learn anything in a fraction of the time. However, getting all of these industry leaders, teachers and visionaries together would be virtually impossible. Therefore, our OneHourWiz authors collect the most important pieces of information from these individuals, pour through volumes of research, talk with industry leaders and present the material in a condensed and easy to understand format. So, how is it possible to master anything in an hour? Each OneHourWiz uses a proprietary method that focuses on several core areas including: The 10 Most Important Principles, The History/Background Information, Focal Points/Technique, Interv iews With Industry Visionaries, Quick Tips, Case Studies & Worksheets, Resources for Further Research, and a Key Words Glossary so you can “talk the talk.” OneHourWiz guides have become overnight classics that remain with our readers for years and years as timeless guides they can always refer back to. So sit back, relax, and enjoy the following pages on your way to becoming a OneHourWiz!
About Aspatore Books www.Aspatore.com Aspatore Books has become one of the leading book publishing houses in record setting time by combining the best aspects of traditional book publishing with the new abilities enabled by the Internet and technology. Aspatore Books publishes the Inside the Minds, Bigwig Briefs, OneHourWiz and Aspatore Business Review imprints in addition to other best selling non-fiction and fiction books. Aspatore Books is focused on infusing creativity, innovation and interaction into the book publishing industry and providing a heightened experience for readers worldwide. Aspatore Books focuses on publishing traditional print books, while our two portfolio companies, Big Brand Books and Publishville.com focus on developing areas within the book publishing world. Aspatore Books is committed to providing our readers, authors, bookstores, distributors and customers with the highest quality books, book related services, and publishing execution available anywhere in the world.
Become a Part of
OneHourWiz
The Legendary, World Famous Method to Mastering Anything in an Hour •
Publish a Quick Tip on an Upcoming Topic (50-5,000 words) • •
Submit an Idea to Write an Entire OneHourWiz Post Comments on the Topics Mentioned •
•
Read Expanded Excerpts
Free Excerpts From Upcoming Guides •
Links for More Information on a Topic
www.OneHourWiz.com
ASPATORE
Technology Review The Quarterly Journal Featuring Exclusive Business Intelligence, Research & Analysis From Industry Insiders
“THE MUST READ FOR TECHNOLOGY ENTHUSIASTS & PROFESSIONALS” Sample Contributors/Readers:
Neil Weber (Vignette, CTO), Ron Moritz (Symantec, CTO), Daniel Jaye (Engage, CTO), Warwick Ford (VeriSign, CTO), Michael Wolfe (Kana Communications, VP of Engineering), Richard Shroth (Perot Systems, CTO), Rick Bergquist (PeopleSoft, CTO), Scott Dietzen (BEA Systems, CTO) & More….
The Most Subscribed to Journal By Technology Executives From the World’s 100 Largest Companies Only $1,090 a Year for 4 Comprehensive Issues Aspatore Technology Review is the only way for technology professionals to keep their edge and stay on top of the most pressing technology issues. Each Aspatore Technology Review features technology intelligence, research and analysis from C-Level (CEO, CMO, CFO, Partner) executives, chief technology officers, technology company CEOs, leading programmers and analysts. Each quarterly issue focuses on the most pressing technology issues, trends, and emerging opportunities in the marketplace that affect every industry in some way or another. Every quarter, Aspatore Technology Review focuses on topics that every technology professional needs to be aware of such as: Emerging Technologies,
Programming Languages, Wireless, Online Privacy & Encryption, Staying Ahead of Changing Markets, Viruses, Emerging Software, Market Leader Case Studies, New Legal Developments, Code, The Internet, Linux.
Aspatore Technology Review is the one journal every technology professional should read, and is the best way to maintain your edge and keep current with your technology reading in the most time efficient manner possible.
Fill Out the Order Form on the Other Side or Visit Us Online! www.Aspatore.com
ASPATORE Technology Review Tear Out This Page and Mail or Fax To: Aspatore Books, PO Box 883, Bedford, MA 01730 Or Fax To (617) 249-1970
Name:
Email:
Shipping Address:
City: State: Zip:
Billing Address:
City: State: Zip:
Phone:
Lock in at the Current Rates Today -Rates Increase Every Year
Please Check the Desired Length Subscription:
1 Year ($1,090) _____ 2 Years (Save 10%-$1,962) _____
5 Years (Save 20%-$4,360) _____ 10 Years (Save 30%-$7,630) _____
Lifetime Subscription ($24,980) _____
(If mailing in a check you can skip this section but please read fine print below and sign below)
Credit Card Type (Visa & Mastercard & Amex):
Credit Card Number:
Expiration Date:
Signature:
Would you like us to automatically bill your credit card at the end of your
subscription so there is no discontinuity in service? (You can still cancel your
subscription at any point before the renewal date.) Please circle: Yes No
*(Please note the billing address much match the address on file with your credit card company exactly)
Terms & Conditions We shall send a confirmation receipt to your email address. If ordering from Massachusetts, please add 5% sales tax on the order (not including shipping and handling). If ordering from outside of the US, an additional $51.95 per year will be charged for shipping and handling costs. All issues are paperback and will be shipped as soon as they become available. Sorry, no returns or refunds at any point unless automatic billing is selected, at which point you may cancel at any time before your subscription is renewed (no funds shall be returned however for the period currently subscribed to). Issues that are not already published will be shipped upon publication date. Publication dates are subject to delay-please allow 1-2 weeks for delivery of first issue. If a new issue is not coming out for another month, the issue from the previous quarter will be sent for the first issue. For the most up to date information on publication dates and availability please visit www.Aspatore.com.
Order These Other Great OneHourWiz™ Guides Today! OneHourWiz: Making Your First Million By Jon Pirone, ISBN: 1587621037 OneHourWiz: Making Your First Million presents ways for every individual to make their first million. Three main focal areas are covered including investing, starting your own business, and taking equity as a form of compensation. The guide is a very practical and entertaining look at ways for anyone to make their first million. The guide also includes interviews with some of the most successful business people of our time who explain how they “made their first million.” OneHourWiz: Becoming a Techie By Mary Pyefinch, ISBN: 1587621045 OneHourWiz: Becoming a Techie is a whirlwind tour of computer technology presented in an easy to understand language and format that both technology novices and experts will find useful and entertaining. Readers will learn about computers, networks, programming, the Internet, telecommunications and wireless. After reading this guide, any individual will have the knowledge and guidance to “talk the talk” of the techies. The guide also includes interviews with leading CTOs from companies such as Motley Fool, Symantec, Verisign, Flooz.com and others who help break down the language of the techies! OneHourWiz: Personal PR & Making a Name For Yourself By Colleen Inches, ISBN: 1587621061 Have you ever wished you could sell yourself the way advertisers promote products? Wouldn't you love to say, “Hey world, here I am. I'm the best product in the market!” Its no coincidence the most successful people in business do it everyday, and so can you. Colleen Burns Inches shows you how to use selfpromotion in any career or aspect of your life. Inches, a former television news producer in New York City, gives you step by step instructions on getting attention, recognition and even media coverage for your ideas and events.
OneHourWiz: Internet Freelancing (Easy to Implement Ways to Making a Little or a Lot of Extra Money on the Internet) By Rachel Vine, ISBN: 1587620030 OneHourWiz: Internet Freelancing contains the most up to date information on how to use the Internet to make a little, or a lot, of extra money on the Internet. The guide covers every opportunity available on the Internet including getting Paid-to-Surf the web, test new Internet products and services, freelance writing, part time consulting opport unities, affiliate programs, or simply getting paid on a monthly basis by having an extra task bar on your browser. Whether you are looking to make an extra $25 a month or an extra $2,500 a month, this guide will pay for itself many times over within the first month alone. OneHourWiz: Internet and Technology Careers (After the Shakedown) By April Griffin, ISBN: 1587620049 Want to take advantage of the perks Internet and technology companies have to offer? This guide will help make sure you know what to look for, ask the right questions, and get the right things put into writing so you have your upside (such as options and bonuses) and downside (guaranteed employment clauses) covered. You've heard the hype. Now learn how to use all the buzzwords with authority. Discover the workplace trends - where the hot jobs can be found, the training you need, and the salary to expect. Read interviews with recruiters from international job placement firm Kforce.com as well as computerjobs.com. Regardless of whether you are already in the Internet and technology industry or are looking to break through, this is the guide for you! OneHourWiz: Stock Options By Vivian Wagner, ISBN: 1587621053 Stock options are being granted to record numbers of employees, but many people receiving stock options don't really understand what they are. This guide gives you the information you need to make informed decisions about stock options, including how to value them and your company, the difference between Incentive Stock Options (ISOs) and Nonqualified Stock Options (NQSOs), the tax consequences of exercising your options, as well as information for those who want to get into options trading on their own-in an easy to understand language and format. This OneHourWiz guide also includes interviews with noted experts in the field, lawyers from some of the top law firms in the world, CFOs from companies such as Hoovers, LifeMinders, Register.com, a sample stock option plan from Intel, and worksheets to help you keep track of your stock options.
OneHourWiz: Landing Your First Job By Andrew Goldsmith, ISBN: 1587620253 Are you a college senior terrified to graduate? Or a freshman with a lot of foresight? This is the guide you need to make sure your first step into the real world takes you in the right direction (and to start thinking ahead to that second step!). You'll get advice from the director of Career Services at one of the hottest Ivy League schools in the country and advice from such experts as the head of recruiting from Price Waterhouse Coopers. You'll read the stories of people who just a few years ago were standing exactly where you are, and are now establishing themselves at dotcoms, consulting firms, finance jobs, and even in the publishing, entertainment and theater scenes! OneHourWiz: Public Speaking By Sporty King, ISBN: 1587621096 OneHourWiz: Public Speaking can help anyone master the art of public speaking. Whether giving a presentation to a few individuals, presenting to thousands of people, or just wanting to speak more confidently to others, this guide will give you all of the keys to success as a public speaker in an easy to understand format and language. This proprietary process used to become a public speaker employed by Sporty King, a renowned public speaker, is sure to get you speaking confidently in no time.
New Titles Available Every Month! Visit Your Local Bookseller Today! Visit www.OneHourWiz.com for a Complete List of Titles
OneHourWiz™
Becoming a Techie
Core Area 1: The 10 Most Important Principles
15
Core Area 2: The Focal Points
18
Core Area 3: The Internet
74
Core Area 4: History
87
Core Area 5: Pop Quiz
96
Core Area 6: Tricks of the Trade
100
Core Area 7: Glossary
106
CORE AREA
1
ONE HOUR WIZ THE 1 0 MOST IMPORTANT PRINCIPLES
Core Area 11
The 10 Most Important Principles These principles are a blueprint for learning. I have followed them since I was in high school and they were instrumental in helping me gain the skills I needed to use computer technology. 1. Begin your Learning Journey with an Open Mind Throw out all the fears or biases you may have about computer technology. Repeat after me, “Computers help us and make our lives easier.” Unless you have cyber phobia (fear of computers) you can be a techie. Failure to program your VCR does not mean you are technically challenged. Ask yourself, “Why do I want to learn about computers? Where do I want to end up on this journey?” 2. Be Hungry for Information – Read Everything You Can Find on Your Topic There are many magazines available on computing both online and in print. There are also newsletters and books. Remember we live in the Information Age. Some of my favorite magazines are PC Novice, PC Magazine, PC World, Smart Computing in Plain English, Home Computing and Family PC. There are also specialty magazines for the MAC, laptops, computer games, wireless, mobile and PDAs (Personal Data Assistants). Many local newspapers have a daily column devoted to computers and technology. 3. Birds of a Feather – Join a User Group or Club There are many clubs and user groups you can join where you can enjoy the camaraderie of people like yourself who want to learn about
15
CORE AREA
1
ONE HOUR WIZ THE 1 0 MOST IMPORTANT PRINCIPLES
technology. Pick-up a free computer newspaper in your neighborhood and find a club or user group to join. Go online and search the user groups on the Internet. Most major ISPs such as AOL, CompuServe, Prodigy or MSN have forums and chat sessions where you can participate in discussions on technology. 4.
Find a Mentor Mentoring is a great way to learn about computers. Most experienced techies love to talk about computers and technology and would welcome a new audience. A mentor could be someone that you work with who is actively involved in the sector of technology that interests you. It could be a teacher, a friend or a family member. A mentor is someone who will take the time to share his or her knowledge with you.
5.
Get Your Hands on a Computer and Just Do It! For some, the best way to learn something is by doing it. So go play with the computer. Get to know it. Get to the point where you feel comfortable using the keyboard and the mouse. Learn how to turn the computer on, locate files and programs, print documents, etc. You can borrow, rent or buy a computer. Most libraries have computers that you can use. You can rent a computer by the day, week or month. If you have one at work get on it and just explore. If you want more structured hands-on study you can follow the advice of Principle 6.
6.
Take a Class If you learn better by having someone show you how to do something, then by all means take a class. This is the best bet if you do not have access to a computer. Most community and adult education centers, vocational schools and colleges have classes for beginners. Check your center’s bulletin boards or school catalogs for classes.
7.
Narrow Your Focus and Concentrate on What Interests You By this time, you have read about a wide range of topics on computer technology. Now it’s time to focus on what interests you. Do you like
16
CORE AREA
1
ONE HOUR WIZ THE 1 0 MOST IMPORTANT PRINCIPLES
fixing computers? Then concentrate on hardware and software troubleshooting. Or does networking enthrall you? Whatever your passion go out and learn more about it and delve more deeply into your favorite sector of computer technology. 8.
Attend Computer Shows and Conferences Computer shows are fun. For a nominal admission fee, you can attend free seminars and lectures on various topics. You can also find hardware and software at great prices. Check your newspapers for shows in your area. You need to choose your conferences wisely because conferences can be expensive. Check to see if there are any classes or workshops offered for beginners. Who are the keynote speakers? How many of the sessions involve topics that are of interest to you? Conferences generally run anywhere from two to five days. The prices range from $695 to over $2000 plus the cost of travel and accommodations. If properly researched conferences can be very valuable in your quest for knowledge.
9.
Technology is Always Changing – You Need to be Adaptable! Technology is developing at a rapid pace. You need to be able to learn quickly. You also need to be able to go with the flow and adapt. Sometimes software companies release new versions as early as six months from the launch of the current version.
10. Become a Mentor The best way to enforce everything that you learn is by teaching someone else what you know. When you mentor someone you are challenged to become an expert for that person. This last principle brings you full circle in the learning cycle.
17
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
Core Area 22
The Focal Points
There are five main focal points that I will cover in this chapter and they are: 1. 2. 3. 4. 5.
Computer components Programming and Languages Telecommunications and Networks The Internet The Wireless Revolution
Computer Components A computer is a system that turns unprocessed data into usable information. Initially, the computer was created to perform mathematical equations. However, we have devised many more uses for this system. The computer requires four main components: input, processing, output, and storage. Many of these components are standardized enough that many manufacturers compete to provide the parts of the PC-compatible machines. PC-compatible machines follow the industry standards originally set by the IBM PC. Today, the Apple Macintosh computer is the only mainstream computer that does not follow the PC standard. The equipment associated with the computer system is called hardware. The set of instructions called software or programs tells the hardware what to do. The program is a set of step-by-step instructions that directs the computer to do the tasks you want it to do. A computer is a machine that can be programmed to accept data (input), process it into useful information (output) and store it away (secondary storage device) for safekeeping.
18
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
To function properly, a computer system requires four components: input, processing, output and storage. Let’s take a look at the hardware responsible for each of these components. • Input devices accept data in a form that the computer can use; they then send the data to the processing unit. • The processor, better known as the central processing unit (CPU), has the electronic circuitry that manipulates input data into the information wanted. The CPU executes the computer instructions. • Output devices show people the processed data in a form they can use easily. • Storage is usually associated with memory. Memory is connected to the CPU and is used to temporarily hold the data and instructions (programs) that the CPU needs. This memory is called primary storage. Secondary storage uses secondary storage devices that can store additional data and programs. We will now take a look at the hardware needed for these four components. Input
Input is the data that you put into the computer for processing. The input devices are listed below. • Typing on a keyboard. Computer keyboards operate in the same way as electric typewriter keyboards. The keyboard arrangement used throughout the U.S. and much of the world is called QWERTY (named after the first six letters on the upper row). The computer responds to what you enter and it shows what you type by displaying it on the screen. • Pointing with a mouse. A mouse is a device that is moved by the hand over a flat surface. The mouse measures the distance and direction it is moved across the desktop and delivers that information to the computer. The ball on the underside of the mouse rotates causing the corresponding pointer on the computer screen to move in the same direction.
19
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
Writing with a pen-based computer system on a tablet or on a flat pad. You can use print or script, depending on how the system is preset to read your writing. • Speaking through a microphone to a voice input system. With some voice input systems, also called speech recognition systems, it is necessary for the computer to be trained to understand a specific voice. • Scanning with a number of input devices. The wand reader and barcode reader uses laser beams to read special letters, numbers, or symbols such as the zebrastriped bar codes on many products. A handheld, flatbed, or overhead scanner can be used to capture photos, art, and text for transfer into digital form for use by your computer. An input device can be part of a terminal that is connected to a large computer. A terminal includes an input device, an output device (a screen, monitor), and a connection to the main computer. •
The CPU
In a computer, the CPU or central processing unit is a hubbub of activity. Our brain is the CPU for our machine – the human body. The central p rocessing unit consists of large integrated circuits that interpret and execute program instructions and communicates with the input, output and storage devices. CPUs are generally rated by clock speed and the speed at which data is processed through the chip. These speeds are measured in millions of instructions completed per second, or megahertz (MHz). Data is the raw material that the CPU processes. Process data becomes information. So how does the CPU execute program instructions? Before an instruction can be executed, program instructions and data must be placed into memory from an input device or secondary storage device. The CPU then performs four steps for each instruction. The instructions are: 1. The control unit gets the instructions from memory database.
20
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
2. Control unit decodes the instruction (decides what it means) and directs that the necessary data be moved from memory to the arithmetic logic unit. These two steps are called I-time or instruction time. 3. The arithmetic/logic unit executes the arit hmetic or logical instruction that the ALU is given and performs the actual operations on the data. 4. The result of this operation is stored in memory or register. Steps 3 and 4 are called E-time or execution time. The combination of I-time and E-time is called the machine cycle. Each CPU has an internal clock that produces pulses at a fixed rate to synchronize all computer operations. Each type of CPU is designed to understand a specific group of instructions called the instruction set. For example, an instruction set for a PC cannot be understood by an instruction set for a Macintosh. In fact, each type of CPU has a unique way of following instructions to make comparisons, and move input and output. There is one more thing that needs to be explained and that is how does the control unit find the instructions and the data in the memory? The location in memory for each instruction and each piece of data is identified by an address. It is similar to a mailbox except that a memory location can only hold a fixed amount of data; an address can hold only one number or one word. In addition, the choice of location is totally arbitrary, any location that is empty can be used. Programmers who use programming languages do not have to worry about the actual address numbers because each data address is referred to by a name. The name is called a symbolic address. Now most people think that computers are very complicated and some people actually fear them (cyber phobia). I will let you in on a little secret, computers only know two things: on and off. Get out of here you say? No I am not kidding. This on/off, yes/no, two-state system is called a binary system. With these two states that can be represented by electricity turned on or off, the computer can construct sophisticated ways of representing data. The decimal system has a base of 10, the binary system has a base of 2. This means it only contains 2 digits, 0 and 1 that correspond to the two states of on and off. Combinations of 0s and 1s represent larger numbers. The following table represents the binary equivalent of the numbers 0-10.
21
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
Decimal 0 1 2 3 4 5 6 7 8 9 10
Binary 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010
Each 0 or 1 in the binary system is called a bit (for binary digit). The bit is the basic unit for storing data in computer memory, 0 means off, 1 means on. Since single bits cannot store all the numbers, letters or characters, the bits are put together in a group called a byte. There are usually 8 bits in a byte. Each byte repres ents one character of data, a letter, digit or special character. Computer capacity is measured in the number of bytes it can hold. The number of bytes is expressed in kilobytes. Kilo represents 2 to the tenth power (210) or 1024. Kilobyte is abbreviated KB or sometimes K. Memory capacity may also be expressed in terms of megabytes (1024 x 1024). One megabyte (MB) means one million bytes. One gigabyte means one billion bytes. A computer word is defined as the number of bits that make up a common unit of data that is defined by the system. The length of a word varies by computer. Some word lengths are 16 bits used for traditional minicomputers and some personal computers. Thirty-two bits are for full size mainframe computers, as well as some minicomputers, personal computers and 64 bits for supercomputers. Computer memory is closely associated with the CPU but is separate from it. Memory consists of electronic circuits, just like the CPU. Memory electronically stores letters, numbers and special characters such as dollar signs and decimal points. Memory can also store pictures and sounds in digitized form. Both CPU and memory are on silicon chips that can be smaller than a thumbnail. There are two basic kinds of chips: one goes with the CPU and the
22
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
other to memory. A miniaturized CPU can be etched on a chip. A CPU on a chip is called a microprocessor. Memory
Most digital computers have two levels of memory -the main memory and one or more auxiliary storage units. In addition to the main memory, other units of the computer (the control unit, the arithmetic-logic [ALU] and input/output units) also store electronic signals. Semiconductors control the flow of electric current through the transistors in memory units. Semiconductor memories utilizing very-largescale integration (VLSI) circuitry are extensively used in all digital computers because of their low cost and compactness. Composed of one or more silicon chips only about a quarter of an inch in size, they contain several million microelectronic circuits, each of which stores a binary digit. Semiconductor memories provide great storage capacity but are volatile (they lose their contents if the power supply is cut off). A special type of transistor circuit for temporary storage is called a flip-flop. A single flip-flop consists of four or a few more transistors. Once a flip-flop stores a binary digit 0 and 1, it keeps that digit until it is rewritten to 1 or 0, respectively. A set of flip-flops that temporarily stores a program instruction is called a register. Flip -flops and registers are not only used in the memory unit, but also in the control unit. You know there are chips in just about everything today. There are chips in your telephone, microwave, wristwatch, cameras, bicycle odometers, cars and even smoke detectors. RAM and ROM There are two basic types of memory chip in every computer: random-access memory (RAM) and read-only memory (ROM). The difference between the two is that data on ROM cannot be easily replaced with new data. ROM has programs and data that are recorded into the memory at the factory. The ROM can be read and used but no one can change it. ROM is considered a non-volatile type of memory that does not lose their content when the power supplies is cut off. ROMs are generally used for programs designed for repeated use without modification, like the operating system of a personal microcomputer; the ROM is used for storing the micro program used in the control unit of the microcomputer. On the other hand, EPROM (erasable
23
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
programmable ROM), EAROM (electrically alterable ROM), and flash memory are types of nonvolatile memories that are regrettable, though the rewriting is far more time-consuming than reading. ROM is important to personal computers because it contains many of the basic instructions a computer needs to operate in the Basic Input/Output System (BIOS, pronounced ‘Bye-ose’). Without looking at the BIOS instructions stored on ROM, a computer wouldn’t even know how to read important files. The BIOS is always stored in ROM and usually is all that is stored there. The BIOS controls a computer’s start-up processes and basic components such as the keyboard, display, and disk drives. The BIOS is a layer between the hardware and software. It translates between the two because hardware speaks a machine language and software speaks a programming language. The main memory unit of a digital computer usually has a main (or primary) memory, cache and secondary or auxiliary memory. The main memory holds data and instructions for immediate use by the computer’s ALU. It receives this information from an input device or an auxiliary storage unit. The memory designed for our use is RAM, the temporary storage unit of computers. They hold instructions and data for whatever programs we happen to be using. RAM chips are read-write chips. The RAM holds your information while you are working on it. When the computer loses power you lose the information unless you save it to a hard disk or some type of secondary storage. It forgets because it is volatile (nonpermanent). However, the volatility can be a good thing because you can clear your memory by turning off the computer and then turning it back on. Ram is often divided into two types: static (SRAM) and dynamic RAM (DRAM). SRAM memory chips are generally faster than DRAM chips. In a SRAM chip, each memory cell consists of a single flip-flop (for storing the binary digits 1 and 0) and a few more transistors (for reading or writing operation). Hence, static RAM does not need to be refreshed continually in order to retain its data. SRAM costs more than DRAM and therefore is usually found only in level 1(L1) and level 2 (L2) caches. The cache is an SRAM-based memory of small capacity that has faster access time than the main memory and that temporarily stores data and part of a program for quicker processing by the ALU.
24
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
The caches serve as holding areas between the main memory and the CPU and make up for DRAM deficiencies by holding the most frequently accessed data, expanding processing time. On newer systems, the L1 cache is a memory chip contained with the CPU. An L1 cache is called internal memory. It is also known as the primary cache because it’s the first place the CPU looks for data. The L2 cache is called external memory and is usually located on a separate chip between the CPU and DRAM. It is the second place the CPU looks for data. The L2 cache is larger than the L1 cache. A typical PC has between 256KB and 1MB of SRAM. In a DRAM chip, each memory cell consists of a capacitor (rather than a flip-flop) and a single transistor. When a capacitor is electrically charged, it is said to store the binary digit 1, and when discharged, it represents 0; these changes are controlled by the transistor. Because it has fewer components, DRAM requires a smaller area on a chip than does SRAM, and hence DRAM chip can have a greater memory capacity, thought its access time is slower. Today many PCs come equipped with 64 or 128 megabytes (MB) of DRAM. DRAM technology has evolved since the first PCs were sold. There are over half a dozen types of DRAM each promising to run faster and more efficiently than its predecessors. The following is a list of a few of the types of DRAM available: DRAM TYPES • Extended data out DRAM (EDO Dram): This is also called EDO RAM, operates approximately 10 percent faster than FPM DRAM. It is difference from DRAM because it extends the output allowing the CPU to begin the process of retrieving data as soon as the first bit has been sent on its way. 40MHz • Synchronous DRAM (SDRAM): SDRAM represents a leap in DRAM technology. This species of DRAM synchronizes itself to the CPU’s clock. By following the same rhythm as the CPU clock, SDRAM can operate faster and more efficiently. 125MHz • Rambus DRAM (RDRAM): This DRAM takes its name from the company that developed it. RDRAM uses a proprietary technology that widens the data channels coming into and out of
25
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
memory. These wider channels are capable of carrying more data than previous DRAM types could carry. 600MHz The system’s main memory and caches aren’t the only places you will find RAM in your system. Video cards and printers often come equipped with their own built-in memory supply. Peripheral RAM temporarily holds data that travels between a peripheral and the rest of the system. Video RAM (VRAM) is the most famous of the peripheral RAMs. It is located on the video card but can be built into the motherboard on some systems. VRAM differs from regular RAM in that two devices can access it simultaneously. This allows VRAM to receive data from the CPU or the graphics accelerator (the video card’s built-in processor) at the same time it transmits data to the monitor. Printer memory is often referred to as a printer buffer. The printer buffer momentarily holds incoming data until the printer is ready to print it. How Memory Works All forms of computer memory store data as electronic signals or pulses. Each signal represents a bit of data. In ROM, the memory chip has built-in, permanent signals. In RAM and in the newer versions of ROM, the signals are established by an electronic charge. ROM can retain data after the electronic charge ends, but RAM cannot. When RAM loses power, the signals that represent the data are lost resulting in lost data. The first time memory comes into play in the system is when you press the power button to turn on the computer. PCs are hardwired to look in the BIOS ROM immediately upon system startup. The BIOS activates the various computer components, including the keyboard and the disk drives and initializes the operating system. At that point, the operating system takes over. It controls how much DRAM is allocated to each application and to the operating system. Integral parts of the operating system are transferred from the hard drive to DRAM for easy access. Data from any applications contained in the Startup group is also transferred to DRAM during this time. When you open an application, the CPU copies the data from the hard drive to DRAM where it resides while the application is open. The data is not dumped into DRAM but is situated in a specific location as determined by the operating system. The system bus (the network of wires that carries data between the processor and the memory) shuttles data between DRAM, the L1 & L2 caches, in addition to the CPU.
26
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
At the same time, the CPU continuously transmits display data to the video card. If the video card contains a graphics accelerator, the accelerator gathers and processes the data. A small portion of the video memory is allocated to assist the accelerator to complete the task. The rest of the video memory is used as a frame buffer, where the display data is organized into individual images before appearing on-screen. The printer performs a similar process in order to print out the data. When you use the application to save the data, the data stored in RAM is copied to the selected storage device. When you close the application, the data should be cleaned out of both DRAM and SRAM. If this doesn’t happen, the system may lock up requiring you to reboot the system. Output
Output is usable information. The most common forms are words, numbers and graphics. The most common output devices are screens and printers. Others include plotters, speakers and overhead projectors. Screens or monitors can vary in their forms of display. Some may produce lines of written or numeric display only; others may display everything – text, symbols, art, photographs and even video in full color. Printers are machines that produce printed reports at the instruction of a computer program. Some printers form images on paper like typewriters; they strike a character against a ribbon. While other printers use lasers, photography or ink spray. Secondary Storage Secondary storage provides additional storage separate from the central processing unit and memory. Secondary storage has several advantages. Memory holds data and programs only temporarily so secondary storage is needed. The two most common secondary storage mediums are magnetic tape and magnetic disk. A magnetic tape that comes in a reel or cartridge, is similar to the tape played on your tape recorder. Magnetic tape reels are mounted on tape drives when the data on them needs to be read by the computer system or when new data is to be written on the tape. Magnetic tape is usually used for backup purposes. A magnetic disk is a flat, oxide-coated disk on which data is recorded as magnetic spots. A disk can be a diskette or a hard disk. A diskette may be a 5
27
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
1⁄4 inch diskette or a 3 1⁄2 inch diskette. Both versions are called floppy disks because the magnetic disk material inside is thin and pliable. Hard disks usually offer more storage capacity than diskettes and offer faster access to the data they hold. Larger computer systems’ hard disks are often contained in disk packs. Other storage mediums include digital audiotape (DAT), CD-ROM and ZIP disks. All the hardware components that attach to the computer are called peripherals. In personal computers, the CPU and disk drive are all contained in the same housing; the keyboard and monitor are separate. In larger computer systems, the input, processing, output and storage functions may be in separate rooms, separate buildings or even separate countries. Later in this book, you read about the evolution of the computer. The computer started out as a very large machine occupying a whole room. Then with the creation of the transistor, computers started to get smaller and smaller. However, we didn’t throw out the big computers in lieu of the PC or laptop of today. So how do we classify the modern computers? The size of the computer that a person or business may need depends upon what they need the computer to do. •
•
Mainframes and Supercomputers are large computers that are generally called mainframes. Mainframes are capable of processing data at very high speeds–millions of instructions per second (MIPS) and have access to billions of characters of data. The principal use for the mainframe is to process vast amounts of data quickly, so some of the obvious customers are banks, insurance companies, governments and manufacturers. The mightiest computer is the supercomputer. These computers process billions of instructions per second. The Federal government uses this type of computer for the large amount of data manipulation it needs. Other industries for supercomputers are oil exploration and weapons research. Mini-computers are the next step down from mainframe computers. Mini-computers are slower and have less
28
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
•
storage capacity than mainframes, and they are less expensive. Mini-computers were intended to be small and serve some special purpose. However, they too have become more powerful. Powerful enough to garner the name super-mini. These computers are used by retail businesses, colleges, state and city agencies. Personal Computers are also known as the microcomputer, or home computer. There are also called super-micros or workstations; you’ll find these in many businesses.
Since most of us are familiar with the personal PC, we will conclude this section by reviewing the basic components of the PC. •
• • • •
The motherboard (system board) is the most important part of the system. It is the foundation of the computer and supplies all the electrical connections for the various components, including the CPU and SIMM Cards inside the computer. The central processing unit (CPU) is the brain of the computer. ROM is read-only memory and contains the commands your computer needs to activate itself. RAM is random-access memory and it determines how many projects can fit on your desktop at one time. RAM chips, the phy sical components that contain the memory are grouped into rows called SIMMs (or single inline memory modules). These modules are small bars, containing eight or nine memory chips. When you want to add more memory, just add more SIMMs. DIMMs are dual inline memory modules used by Pentium type machines. SIMMs different from DIMMs in terms of how their pins are wired. The pins on
29
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
• • •
• • • • •
either side of a SIMM card are electrically joined while the leads on either side of a DIMM are electrically independent, allowing for faster data access. The pins on a module allow information to pass between RAM chips and the CPU. A sound card is an expansion card that lets a computer produce sound. An expansion card is a circuit board that slides into an expansion slot. Use it to add peripherals like a sound card or modem, to your PC. An expansion slot is an opening on the motherboard into which a board or card can be inserted, expanding the capability of the computer. The power supply is the vehicle through which electricity is regulated and sent to the various components of a computer. A CD-ROM drive reads information from CDROMs, the high-capacity medium used for most multimedia software. The mouse is the handheld pointing device that you roll around the desk to move an on-screen pointer. The diskette drive reads and writes information on diskettes. A hard drive acts as a computer’s file cabinet. A hard drive, though more expensive than a diskette, allows the most rapid access to your data.
Our next section will discuss the software or programs that provide the computer with the instructions to do what we want the computer to do. Programming Languages A program is a set of step -by-step instructions that tell a computer to do the tasks you want to do and produce the results you want. These instructions must be in a language your computer understands. The spoken
30
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
language is deceptive, there are too many nuances, cultural jargon, and idioms to be understood by a machine. After all, the computer is a machine that is a non-thinking, non-feeling entity. The computer cannot understand analogies or metaphors but only interpret the on and off states of electricity represented in 1s and 0s. We humans cannot understand the language of 1s and 0s and are at odds with the computer from the beginning. What this situation needs is an interpreter. Thus, the programming language was created to act as the interpreter between humans and machines. Programming languages use words that people can understand and provides very specific syntax that can be understood by the computer with little room for confusion. Yet before we review the various computer languages available, let’s discuss the hidden programming language – the operating system. Operating Systems An operating system is a p rogram that controls and manages a computer’s resources, and executes its programs. An operating system has three main functions: 1. To manage the hardware efficiently, 2. To support applications, and 3. To establish a user interface. The control programs, one part of the operating system, minimize operator intervention in managing the hardware so that the computer operations flow smoothly and without interruption. The most important program in the system is the supervisor program, most of which remains in memory. They do not stay in the memory all the time. Instead, to free up space in memory, the supervisor program releases other operating system programs and hardware when they are not in use, recalling them when they are needed. The operating systems improve efficiency and acts as a traffic cop who enforces cooperation among users and helps them to make the best use of the computer’s resources (memory, the CPU, printers, etc., etc.). It also processes special routines and service utility programs that carry out common tasks related to the hardware, peripherals, and data. How the OS Shares Resources • Multiprogramming is when two or more programs are being executed concurrently on a computer and are sharing
31
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
the computer’s resources. The programs take turns running. One program will run for a while and then the other program runs. Concurrent means that one program uses one resource while another program uses another resource. Multiprogramming is event-driven. This means that programs share resources based on events that take place in the programs. The operating system implements multiprogramming through a system of interrupts. An interrupt is a condition that causes normal program processing to be suspended temporarily. Since the CPU speeds are faster than the input/output speeds, applications are constantly being interrupted as the operating system allocates computer resources among different programs virtually unnoticed. In larger computer systems, programs that run in event driven multiprogramming environment are usually batch programs. A batch program is a computer task that requires no input or other type of interaction with the user. Often, batch programs involve sorting or printing items in large databases. Batch programs sometimes run as background processes at predefined times. Examples of batch programs are payroll, stock reporting, marketing analysis and financial planning. •
Time-Sharing is the concurrent use of one machine by several people. It is a special type of multiprogramming and is time-driven rather than event-driven. The common approach is to give each user a slice of time during which the computer works on a single user’s task. The computer does not wait for the event to finish, at the end of the time slice, the computer goes on to the next user’s requests.
Examples of time-sharing applications are point -of-sale systems; credit checking; airline reservation systems and hospital information systems.
32
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
Managing Shared Resources • Resource Allocation is the process of assigning resources to certain programs for their use. This works by placing a program that is waiting to run on disk, with other waiting programs. A scheduling program, part of the OS, selects the next job according to memory requirements, priority and devices-needed. The OS is checking on whether the needed resources are available. Most operating systems are able to prevent a deadlock, a condition where two programs come into conflict, and neither one willing to give up the resource it is holding until it gets the resource the other is holding. Sounds a bit like Divorce court, doesn’t it? •
Memory Management is the process of allocating memory to programs and of keeping the programs in memory separate from each other. Most computer systems manage memory by using a technique called virtual storage (virtual memory). Virtual storage means that part of the program is stored on disk and is brought into memory for execution only as needed.
Sometimes in a multiprogramming environment it is possible for the computer, while executing one program, to destroy or modify another program by transferring it to the wrong memory locations. To avoid this problem, the OS confines each program to certain defined limits in memory. If a program is inadvertently transferred to some memory area outside those limits, the OS terminates the execution of that program. This process of keeping your program from straying into others’ programs and their programs from yours is called memory protection. Now suppose you have a few programs active, but you only have one printer. If all the programs took turns printing out their output a line or two at a time, interspersed with the output of other programs, the resulting printed report would be worthless. To avoid this, a process called spooling is used. Spooling is when each program writes onto a disk each file that is to be printed. When the entire program is on the disk, spooling is complete and the disk files are intact.
33
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
Most of these tasks are done by the operating system, without any intervention by an application progr ammer. However other activities make special requests to the OS, known to programmers as system calls. When this happens, the OS may provide separate service programs (utilities) to do “housekeeping” or, service programs that may be integrated into application programs. Service programs are prewritten standard programs that perform many repetitive file-handling tasks such as file conversions and sort/merge operations. A batch file, or command file, is one that automatically loads and runs the same set of programs each time the computer starts up. Next we will take a look at the various types of operating systems. UNIX
UNIX is an operating system that runs on equipment of any size made by nearly all manufacturers. UNIX was developed at Bell Laboratories, based on the computer language C, but the code was licensed to University of California at Berkeley, where further development took place. It was also modified and had new features added by the various manufacturers. What we have then is not a single operating system but many different variations of the same general operating system. Many believe that UNIX is the standard among large system users. A standard is when a majority of the users in the computer world accept an application, in this case an operating system. UNIX uses a command-line interface (similar in principle to DOS) with more than 600 commands, making for a fairly steep learning curve. A command-line interface or CLI directs the operating system by typing commands. For example, in UNIX, depending on the user environment, a shell prompt could be $ or % or #. A shell is like a coating around the operating system. It is used to make life easier for the average user. The shell environment may come as part of the operating system or it may be a product you add later. UNIX can run personal computers, but it costs several times as much as a full copy of Win98. LINUX
Linux (pronounced LIN-nucks) is a version of the UNIX OS, and it’s built on open source technology. This means that the programming language is
34
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
made public so that any programmer who wants to can make changes and improvements that can be shared with other users. Because its kernel (core program) is in the public domain, you can get Linux free of charge by downloading a version from the Internet. One of Linux’s advantages is its ability to run on a large variety of computers. It’s similar to UNIX in this respect. Windows requires Intel architecture in the microprocessor. Linux, however, can run on IBMcompatible PCs, Macintosh computers, Palm Pilots, along with other microprocessor architectures. Another Linux advantage is its ability to evolve quickly. Because hundreds of thousands of programmers could be working on Linux at any one time, changes can evolve more quickly than with other OSes without the same resources. Industry experts predict Linux will be the first OS able to support a 64-bit microprocessor. MS -DOS
We have already discussed that some software packages hide the operating system interface, but others want you to use your own copy of the operating system, probably the one that came with the machine. This is called booting the system – loading the operating system into memory. A small program (in ROM – read only memory) “boot -straps” the basic components of the operating system in from a diskette or hard disk. The Disk Operating System (MS -DOS) created in the early ’80s by Microsoft co-founders Bill Gates and Paul Allen was developed specifically for use with personal computers. It uses a command-line interface, in which the operating system waits for text commands from users. Effective DOS use requires an extensive knowledge of its commands. DOS is used today by experienced programmers or users who began computing before graphical user interfaces (GUI) became popular. When you use MS -DOS, you will observe either an A> or C> prompt when you boot MS-DOS. A prompt is the > symbol, that signals the system is prompting you to do something. It is waiting for a command. The general form of a command is c: Command Parameters Example:
c:\> DIR /p
35
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
(This command shows the directory’s contents and the /p is the page mode, listing one page at a time of directory’s content. In this example we are requesting the directory contents for the c drive. If you had another drive you would t ype c:\> DIR d: /p (this lists all directories in the drive.) The DIR command is an internal DOS command that executes immediately because the internal DOS programs are loaded into the computer when it is booted. Another important internal DOS command is COPY that lets you make copies of the files. Applications take a lot of memory to run. Therefore, only internal DOS programs that are necessary to support the applications programs are loaded into memory when the computer is booted. The other DOS programs that reside in files on the DOS disk, are accessed by using commands referred to as the external DOS commands. An important external DOS command is FORMAT that prepares a disk so that it is capable of storing files. Windows
In response to the favorable acceptance of the Apple Macintosh operating system, Microsoft was challenged to develop a similar Graphic User Interface (GUI) environment for the personal computer, enter Windows 3.1. You see the MAC is an icon-based operating system whereas DOS was a command line operating system. An icon is a symbol that you can use as a shortcut to choosing commands through menus. So Windows 3.1 introduced the icon-based operating system to PC users.
Windows 3.1 Windows 3.1 is not really an operating system but an operating environment. DOS was still the operating system and Win 3.1 provided the GUI called Program Manager and allowed multiple applications to open in different windows. Windows enabled the PC to be easier to use than just DOS alone thus meeting the demands to provide the GUI interface like the MAC. Since it was easier to program than DOS, many applications were designed for Win 3.1. Of course the new operating system needs more space and a faster processor. The system requirements for Windows 3.1 are:
36
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
• • • • • •
386 processor or better MSDOS version 3.3 or later 4MB memory 14MB disk space VGA Compatible networking card
Windows 95 This operating system was a giant step in simplifying the OS for Window users. Windows 95 offers a number of advantages over previous versions of Windows and MSDOS. These are: • • • • • • • • • • • • •
Easier to use and learn than Windows 3.1 or MSDOS More reliable by protecting the operating system from errant programs Supports all major networking protocols including Novell IPX and TCP/IP Network clients are faster and more reliable. Simplified User Interface Automate installation for all users and custom installations Remote administration features built-in Support multiple users on a single PC with customized settings for each individual Pre-emptive multi-tasking and multi-threading Plug and play support for hardware devices, making it easier to add new hardware Dial-up networking (remote access services) Supports existing MS-DOS and Windows drivers and programs Again, the new operating system needs more space on the hard drive and more memory. The system requirements for Windows 95 are: • • •
386DX or higher 4MB memory or higher [8MB recommended] 35-40MB disk space
37
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
• •
3.5" floppy drive or CDROM VGA or higher resolution graphics card
Windows 95 is a 32-bit operating system and it can move twice the volume of data around in a given amount of time. The more memory you have the more efficiently your system works. Another feature that Windows 95 has is the support for long file names. No longer are you hindered by eight-character file names. In addition, you have more icons so you can use them to navigate or launch an activity. Windows 95 tracks what you have been working on and keeps things easy to find from the Start menu. It definitely was a great advancement over DOS and Windows 3.1. Windows 98 This operating system is a refinement of Windows 95. The new features are: •
• • • • • •
•
FAT32 enhanced file system – (FAT32 Drive Converter is an improved version of the File Allocation Table (FAT) that allows hard drives over two gigabytes to be formatted as a single drive.) Performance enhancements Fast start-up and shutdown Intelligent update Wizards System file checker New hardware support, Universal Serial Bus (The Universal Serial Bus (USB) makes your computer easier to use with advanced plug-and-play capabilities. Using a new, universally standard connector, you can add devices to your computer easily without having to restart.) Integrated browser/shell
Windows 98 requires more memory, additional disk space and a faster processor. The system requirements for Windows 98 are: •
486DX/66MHz or higher
38
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
• • • •
16MB memory or higher 195MB disk space CD-ROM VGA or higher resolution graphics card
Windows NT Desktop This operating system is designed for serious power users and desktop workstations, where users demand high reliability, pre-emptive multitasking of programs. It can be used as a server in a workgroup, where the number of clients it supports is 10 or less. If you use your computer mainly to play multimedia games or have a home PC like Compaq Presario, you should stay with Windows 95 or 98. Features include: • • • • • • •
Complete crash protection for 16 and 32 bit applications Built-in data protection Supports common networks and protocols Remote access service [client and/or server] Support for applications designed for MS-DOS®, Windows 95, and other operating systems Preemptive multi-tasking Supports a wide range hardware devices
The system requirements for Desktop’s x86 or Pentium based systems are: • 16 MB RAM, 16MB Recommended • Windows NT Workstation with a 486/25 or higher processor • 110 MB available hard-disk space • VGA, Super VGA, or video graphics adapter (compatible with Windows NT Workstation 3.51) • CD-ROM drive Windows NT Server This operating system is designed for robust scalable networks based on domains. It has been especially optimized to give good performance as an
39
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
application server, and has additional tools to ease network administration problems. Features include: • • • • • • •
Exceptional file and print services Support for thousands of client/server applications Built-in Security and advanced fault tolerance Instantly accessible and up -to-date information Hardware auto-detect and CD-ROM -based Express Setup Easy-to-use graphical environment Directory service that aids in the management and control of network resources
Windows NT shares many of the characteristics of UNIX. It is a multi-tasking, multi-user operating system that incorporates the security features that networking environments require. It is definitely geared towards the business owner who needs to network their computers. Home computer users and small business owners can use the networking capabilities of Windows 95/98. It is less complicated and less expensive to use. Windows 2000 This is the replacement for Windows NT 4 workstation, designed for power users, remote users and high performance workstations. It has all the features of Windows NT 4 combined with the graphical desktop interface of Windows 98. The system requirements for Windows 2000 Professional are: • 133MHz Pentium compatible processor • 64MB RAM • 2GB Hard disk with 650MB available free space We will discuss the server components of Windows NT and Windows 2000 when we cover networking. OS 2
IBM’s OS/2 Warp Connect is in the operating system. Users who use the OS/2 are like those who use the Macintosh – they love it and they say they
40
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
will never change. OS/2 was really the first user-friendly 32-bit multitasking operating system that was designed and released for PCs. IBM and Microsoft did the initial development jointly. Presentation Manager, the GUI for OS/2, is icon-based and very intuitive. OS/2 offers many of the same benefits that Windows 95 offers, and IBM added a few new features: • • • •
Speech recognition. You can speak to the computer to navigate menus and enter text without typing. Java interpreter. Java is the programming language designed for the Internet, and there are many tiny programs, called applets, written in it. You don’t need to open your web browser to run the applets. Simplified navigation like Windows 95’s Start button, OS/2 Warp 4’s Warp Center lets you get to things quickly. Internet-easy. OS/2 4.0 lets you use the simple drag-and-drop features of working on files stored on your own computer even if you are working across a network connection or on the Internet connection.
Macintosh OS From its inception, the MAC OS appeared invisible to the user (unlike DOS which required the user to type many commands instead of clicking on an icon). The current version, OS X, leaves Windows 98 and Windows ME in the dust. It is more internet-driven than previous versions. Also, Apple has added a beautiful user interface called Aqua. It is very intuitive and powerful. Apple has combined the power and stability of UNIX with the Apple simplicity. Aqua is colorful, has creative icons and the operating system is transparent to the user. Darwin is the name of the UNIX-based operating system. Darwin has protected memory, pre-emptive multi-tasking, advanced memory management, plug and play device support all of which produces a faster, more reliable Macintosh. Programming Languages Before we discuss the programming languages in use today, let’s take a look at the first set of programming languages.
41
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
Most programmers will agree that computer languages are considered lower or higher based on how closely they compare to the language of the computer (0s and 1s) or to the English language. Currently there are five levels of computer languages: 1. 2.
3.
4.
5.
Machine language represents data as 1s and 0s – binary digits corresponding to the on and off electrical states in the computer. Assembly language uses mnemonic codes, abbreviations that are easy to remember, to replace the numbers: A for Add, C for Compare, MP for multiply and so on. Since this isn’t the machine language, a translator is needed to convert the mnemonic code back to machine language. This translator is the assembler program. High-level language was developed in the 1960s. Programs could now direct more complex tasks. The programs were written in an English-like manner. These 3rd generation languages (3GL) started the great increase in data processing and the number of mainframes increased from hundreds to tens of thousands. Since these languages were more like English, a translator is needed to translate the symbolic statements into a computer-executable machine language. Examples of 3GLs are COBOL, BASIC, C, and FORTRAN. Very high-level language or 4 th generation languages (4GL) are essentially shorthand programming languages. An operation that requires hundreds of lines of code in COBOL usually only requires five to ten lines in a 4GL. Natural language resembles the “natural” spoken English language. Natural languages can also be referred to as knowledge-based lan guage because natural languages are used to interact with a base of knowledge on some subject. The use of natural language to access a knowledge base is the foundation of artificial intelligence. The most common application for natural languages is interacting with databases.
42
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
This next section will provide a sampling of the most popular languages used in programming. FORTRAN FORTRAN, was the first high-level language and was developed by IBM and introduced in 1954. FORTRAN is derived from these two words, FORmula TRANslator and is a scientifically oriented language. FORTRAN’s main use was the execution of complex formulas. The language consists of statements one after the other. A sample FORTRAN program: C C
1
2 10
40 * 60 *
FORTRAN PROGRAM AVERAGING INTEGERS ENTERED THROUGH THE KEYBOARD WRITE (6.10)
SUM = 0
COUNTER = 0
WRITE (6.60)
READ (5.40) NUMBER
If (NUMBER .EQ. 999) GOTO 2 SUM = SUM + NUMBER COUNTER = COUNTER + 1 WRITE (6.70) READ (5.40) NUMBER GO TO 1 AVERAGE = SUM / COUNTER WRITE (6.80) AVERAGE FORMAT (1X, ‘THIS PROGRAM WILL FIND THE AVERAGE OF’, ‘INTEGERS YOU ENTER ‘,/1X, ‘THROUGH THE ‘, ‘KEYBOARD. TYPE 999 TO INDICATE END OF DATA.’, /) FORMAT (13) FORMAT (1X, ‘PLEASE ENTER A NUMBER ‘)
43
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
70 80
FORMAT (1X, ‘PLEASE ENTER THE NEXT NUMBER ‘) FORMAT (1X, ‘T HE AVERAGE OF THE NUMBER IS ‘, F6.2) STOP END
The results of the program: THIS PROGRAM WILL FIND THE AVERAGE OF INTEGERS YOU ENTER THROUGH THE KEYBOARD. TYPE 999 TO INDICATE END OF DATA. PLEASE ENTER A NUMBER PLEASE ENTER THE NEXT NUMBER PLEASE ENTER THE NEXT NUMBER PLEASE ENTER THE NEXT NUMBER THE AVERAGE OF THE NUMBER IS
6 4 11 999 7.00
This program is interactive, prompting the user to supply data. The first two lines of the program – (see the C) are comments. The WRITE statements send output to the screen in the format called for by the second numeral in the parentheses. The READ statements accept data from the user and place it in location NUMBER, where it can be added to the accumulated total, SUM. The IF stat ement checks for 999 and when 999 is received, diverts the program logic to statement 2, where the average is computed and then displayed. The sample output shows the interaction between program and user (the user enters numbers (on right). COBOL At the time FORTRAN was developed for the scientific community there was not a corresponding high -level language for the business world. Therefore, the U.S. Department of Defense called together representatives from government and various industries to form CODASYL – Conference of Data System Languages. In 1959 CODASYL introduced COBOL for COmmon Business-Oriented Language.
44
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
The principle feature of COBOL is that it is English-like. The variable names are set up so that even if you know nothing about programming, y ou could still understand what the program does. A COBOL program is divided into four parts called divisions. The identification division identifies the program by name and some comments as well. The environment division describes the computer on which the program will be compiled and executed. The data division contains details about the data processed by the program, such as types of characters (numeric or alphanumeric), number of characters and placement of decimal points. The procedure division contains the statements that give the computer specific instructions to carry out the logic of the program. A sample COBOL program: IDENTIFICATION DIVISION PROGRAM – ID. AVERAGE,
*COBOL PROGRAM
*AVERAGING INTEGERS ENTERED THROUGH THE
KEYBOARD. ENVIRONMENT DIVI SION CONFIGURATION SECTION SOURCE – COMPUTER OBJECT – COMPUTER
H-P 3000. H-P 3000.
DATA DIVISION FILE SECTION. WORKING-STORAGE SECTION. 01 AVERAGE PIC---9.99.
01 COUNTER PIC 9(02) VALUE ZERO
01 NUMBER-ITEM PIC S9(03)
01 SUM-ITEM PIC S9(06) VALUE ZERO
01 BLANK-LINE PIC X(80) VALUES PACES
PROCEDURE DIVISION
45
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
100-CONTROL – ROUTINE
PERFORM 200 – DISPLAY-INSTRUCTIONS.
PERFORM 300 – INITIALIZATION-ROUTINE.
PERFORM 400 – ENTER-AND-ADD UNTIL NUMBER -ITEM =
999.
PERFORM 500 – CALCULATE-AVERAGE.
PERFORM 600 –DISPLAY-RESULTS.
STOP RUN
200-DISPLAY-INSTRUCTIONS.
DISPLAY
“THIS PROGRAM WILL FIND THE AVERAGE OF INTEGERS YOUR ENTER.” DISPLAY “THROUGH THE KEYBOARD. TYPE 999 TO INDICATE END OF DATA” 300-INITIALIZATION-ROUTINE. DISPLAY “PLEASE ENTER A NUMBER.” ACCEPT NUMBER-ITEM. 400-ENTER-AND-ADD ADD NUMBER ITEM TO SUM -ITEM.
ADD 1 TO COUNTER.
DISPLAY “PLEASE ENTER THE NEXT
NUMBER,”
ACCEPT NUMBER-ITEM.
500-CALCULATE-AVERAGE. DIVIDE SUM-ITEM BY COUNTER GIVING AVERAGE. 600-DISPLAY-RESULTS. DISPLAY “THE AVERAGE OF THE NUMBER IS “AVERAGE.”
46
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
The results of the program: THIS PROGRAM WILL FIND THE AVERAGE OF INTEGERS YOU ENTER THROUGH THE KEYBOARD. TYPE 999 TO INDICATE END OF DATA. PLEASE ENTER A NUMBER 6 PLEASE ENTER THE NEXT NUMBER 4 PLEASE ENTER THE NEXT NUMBER 11 PLEASE ENTER THE NEXT NUMBER 999 THE AVERAGE OF THE NUMBER IS 7.00 Please note that this program is the same as the program written in FORTRAN. The look of the COBOL program is different. Note the four divisions. Pay special attention to the logic in the procedure division, it uses a series of PERFORM statements, which divert action to other places in the program. After a prescribed action has been performed, the computer returns to the procedure division, and to the statement after the one that was just completed. DISPLAY writes to the screen and ACCEPT takes user input. BASIC BASIC – Beginners’ All-purpose Symbolic Instruction Code is a common language that is easy to learn. Introduced in 1965 by John Kemeny and Thomas Jurtz, it was originally intended for use by students in an academic environment. A sample BASIC program: 10 20 30 40
REM BASIC PROGRAM REM AVERAGING INTEGERS ENTERED THROUGH THE KEYBOARD PRINT “THIS PROGRAM WILL FIND THE AVERAGE OF INTEGERS YOUR ENTER” PRINT “THROUGH THE KEYBOARD. TYPE 999 TO
47
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
50 60 70 80 90 100 110 120 130 140 150 160 170 180
INDICATE END OF DATA.” PRINT SUM=0 COUNTER=0 PRINT “PLEASE ENTER A NUMBER” INPUT NUMBER IF NUMBER=999 THEN 160 SUM=SUM+NUMBER COUNTER=COUNTER+1 PRINT “PLEASE ENTER THE NEXT NUMBER” INPUT NUMBER GOTO 100 AVERAGE=SUM/COUNTER PRINT “THE AVERAGE OF THE NUMBERS IS”;AVERAGE END The results of the program: THIS PROGRAM WILL FIND THE AVERAGE OF INTEGERS YOU ENTER THROUGH THE KEYBOARD. TYPE 999 TO INDICATE END OF DATA. PLEASE ENTER A NUMBER ?6 PLEASE ENTER NEXT NUMBER ?4 PLEASE ENTER NEXT NUMBER ?11 PLEASE ENTER NEXT NUMBER ?999 THE AVERAGE OF THE NUMBER IS 7 The REM is for remarks. The computer will not recognize anything written on the line when it begins with REM. This is similar to the ‘C’ used by FORTRAN for comments.
48
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
C In 1972, Bell Laboratories’ Brian Kernighan and Dennis Ritchie developed C. C is referred to as a high low-level language because it supports the programming constructs of a high-level language and compiles and runs as fast as the low-level Assembler language. C also contains some of the best features from other languages, including PL/I and Pascal. C can also be run on more than one type of computer. However, C is not very easy to learn. Bell Laboratories also created the operating system Unix. Up until 1972, it was a real pain to update and maintain an operating system using the assembler language. Thus C was created to provide an easier and less painful way to maintain Unix. Never did Kernighan and Ritchie imagine that they were creating what would become one of the most popular languages of the 20th century. You see, C is the progenitor of C++, Java, C# and many other languages of today. C++ C++ is the newest and improved version of C. Designed by Swedish programmer, Bjarne Stroustrup, in the early 1980s, C++ contains objectoriented programming capabilities. You see the languages we have discussed so far are all structured programming languages. Structured programming requires that a problem be broken into steps and then the steps are translated into code. Object-oriented programming is based on a more active, visual programming environment, in which background messages continually convey instructions. Structured languages treat data and tasks separately for each object. Object-oriented languages view data and tasks together for each object. Objects are software entities that contain their own programming code. Since the objects are independent they are easier to revise. Object-oriented programming (OOP) aids programmers write programs more quickly and with fewer errors. A sample of C++ Code //C++ PROGRAM // AVERAGING INTEGERS THROUGH THE KEYBOARD
49
CORE AREA
2
ONE HOUR WIZ THE FOCAL POINTS
#include main () {
Float average; int number, counter = 0; int sum = 0; cout