Choosing an IT Career Path
Most people on English4IT.com are either studying for their first job in IT, or else trying to improve their current IT career. If this is the case with you, well then this unit should really help. Sometimes the hardest part of meeting a goal is to properly define what you are trying to accomplish in the first place. In this article we we will discuss the top IT job positions available around the world right now. So read the rest of the article, reflect on which career most suits your personality... and then go for it!
There are several things to keep in mind when determining what field of IT to go into. Keep an eye on job web sites such as DICE.com or Monster.com to see which jobs are most in-demand. Keep in mind that for many jobs described below, there are several levels of positions available. For instance there are "junior", "senior", and "lead" software developer positions available. You probably can't start out you career as a lead developer. You have to know your own limits.
Like it or not, people in IT departments are seen to be a little odd by most "normal" people inside an organization. Truth be told, however, some IT jobs do get more respect than others. For instance, IT support positions, testers, and even junior software developers, despite being so critical to the smooth running of an organization, are often the lowest rung of the respect ladder. In contrast, some IT positions are often held in higher esteem. CTO's, CIO's and enterprise architects in particular get a lot of respect. Why? Because their decisions affect so many people and can have far-reaching effects both inside and outside of the IT department. However every role in an IT department is important. A company can quickly crumble into chaos without good support engineers and software testers.
Be honest with yourself. If you don't have previous experience, good contacts, or a good degree from a well-known university, you will be more successful in getting a lower-level job. Also, find out what the job you are applying for typically pays in your area. If you are young, living in a financially depressed area, or really need a job, keep your salary expectations a bit lower the average. This will make your chances much higher than normal to get hired. Once you have "job experience" then you will be in a good position to ask for more money. Sometimes the best way to get more money is to quit your job and work for another similar company. This may sound cruel or thankless, but that is how business works in the real world.
Everyone who works hard deserves a raise every year. How do you show your IT manager that you are a good performer? Easy. Show up on time, be dependable, be active in the meetings, and always do a little bit more than is asked of you. Also equally important is to be well-liked by members of your team. Read on for more details...
Learn something new every day
IT is an area where people are judged largely by how much they know. If money and a high job position are important to you, you can quickly raise your level by telling your manager that you want harder tasks and more responsibility. IT Managers normally love it when employees ask for more responsibility. When you meet with your manager, set goals for yourself and meet or exceed those goals. Here are some things you can do to increase your worth to your company:
learn a new programming language
take a certification such a Microsoft, Linux Professional Institute, or Cisco
study to be a ScrumMaster or another type of project manager.
Meeting set goals can have beneficial results when it's time to renegotiate salaries, survive a round of layoffs, or get a promotion.
Appearance and attitude is very important!
Don't come to work looking bad or smelling bad. Shower every day before work. Wash and comb your hair. Don't wear the same clothes all the time. Take an active interest in things outside IT: such as sports, politics, music, and film. This will make socializing at company events easier for you. If you are disliked in the company then you will not get promotions or important projects.
Be courteous, helpful, and respectful to others
In my own career, I have been in some good IT department and some bad ones. In a good IT department, the engineers are known for sharing knowledge and helping each other. In bad IT departments, the engineers are secretive and hide knowledge. How can everyone get better if some people are selfish with what they know? Information wants to be free. You must set it free. Despite the fact that I have been to several universities, graduate school, and have collected many IT certifications, I have still learned much more about IT from my fellow engineers than from all my higher education combined. So my advice is to be kind and respect your fellow IT staff. They are your family for eight hours every day, forty hours every week!
When you start a new job, realize how some people are nice to you and some people ignore you. Which kind of person do you want to be? When you get a new junior team member, try to help them and include them in decisions. Make sure they have someone to eat lunch with. If you party after work with your co-workers, invite new employees with you. Being nice to new people can have many rewards, both emotionally and financially.
Back in the 90's we used to have a saying, "Think globally, act locally." What this means is that just by being nice and pleasant yourself, you can make the whole world a more nice and pleasant place as well.
Have your own mind and your own opinions
State your opinions in meetings and give good reasons and facts to back up your opinions. But don't be stubborn or insistent if things don't go your way. And whatever you do, please don't be passive-aggressive! Passive-aggressive behavior is when you think something bad about a person or an idea, and then you talk badly behind someone's back (when that person is not around). This is very destructive behavior to both yourself and your IT department.
Okay, now we are ready now to investigate some popular IT job positions. I will rate the following jobs based on the following criteria: respect, qualities, salary, dress, and fun factor. I will also include some notes. These are subjective opinions. Some are even intentionally funny. If you disagree with me, please feel free to flame me.
CTO (Chief Technical Officer), CIO (Chief Information Officer)
Respect: Very High
Qualities: Business savvy, technical mindset, good people skills
Average Salary: $150,000
Dress: Business suit and very clean
Fun Factor: Not a very fun job because of all the responsibility.
Notes: There are not many of these jobs available in a company, so your chances are low. Sorry.
Qualities: Good technical and design skills, likes to draw boxes
Dress: clean and presentable with collared shirt and pants
Notes: responsible for all solutions that work; not responsible for ones that don't work
Qualities: Detail oriented, critical, hopefully good with people (but not always!)
Dress: Business Casual
Fun Factor: normally very serious people
Notes: They always seem to be working
Qualities: Excellent writing skills, good technical mind
Dress: Business Casual
Fun Factor: unknown
Qualities: Excellent drawing and illustration skills, good color matching and artistic qualities
Fun Factor: Generally fun people and sometimes a bit moody
Notes: Not as 'square' as the rest of the IT department. All good designers seem to have tatoos, piercings,etc.
Qualities: Creative, persistent, insatiable thirst for knowledge
Dress: Casual Dress is normally the rule (t-shirt and jeans)
Fun Factor: If you don't have fun being a developer then you have the wrong job; other people might not understand your sense of humor though ;)
Notes: Companies have a lot of developers compared to other positions listed. So your chance of becoming a developer is pretty good if you have the skills and more importantly the desire.
Qualities: Cooperation, leadership, and organization skills
Dress: Business Casual (collared shirt and nice jeans or pants)
Fun factor: This tends to be a high stress position with long hours. I can't see anything fun about it!
Database Developer / Database Administrator
Qualities: Detail-oriented, high business knowledge
Dress: Business Casual
Fun Factor: Sorry, I just don't see how this job can be any fun. We are talking about people who spend their entire days programming databases.
IT Security Manager
Qualities: Military outlook on life, defensive, pro-active
Dress: Smart, clean dress is very important
Fun Factor: Are you kidding me? This guy is basically a cop!
Qualities: Drink a lot of Red Bull and eat a lot of McDonald's
Dress: If they were allowed to, they would dress as World of Warcraft characters!
Fun Factor: Sysadmins have God-complexes and can be patronizing; but they can be fun, especially after they have a few beers. They are often eager to show others that they are just "normal people". But this is not usually true.
Notes: Never anger a sysadmin! Why? They have access to everything in the company.
Qualities: similar to developers, expect they can't program
Dress: They dress the same as developers
Fun Factor: They are normally seen hanging out with developers, trying to talk about programming.
Notes: All jokes aside... testers play a vital role in software development that cannot be understated.
IT Support Engineer
Respect: Low (except when someone needs help fixing their computer, then it's really high)
Qualities: Must be good at dealing with technically incompetent people
Fun Factor: they are often an endless source of funny stories about technically incompetent end-users
Notes: Do not kill the end-users!
This is the end of the reading!Начало формы
Introduction to Computer Software
Software Part 1: Introduction
For as long as there has been computer hardware, there has also been computer software. But what is software? Software is just instructions written by a programmer which tells the computer what to do. Programmers are also known as 'software developers', or just plain 'developers'.
Nothing much is simple about software. Software programs can have millions of lines of code. If one line doesn't work, the whole program could break! Even the process of starting software goes by many different names in English. Perhaps the most correct technical term is 'execute', as in "the man executed the computer program." Be careful, because the term 'execute' also means (in another context) to put someone to death! Some other common verbs used to start a software program you will hear are 'run', 'launch, and even 'boot' (when the software in question is an operating system).
Software normally has both features and bugs. Hopefully more of the former than the latter! When software has a bug there are a few things that can happen. The program can crash andterminate with a confusing message. This is not good. End users do not like confusing error messages such as:
Site error: the file /home7/businfc6/public_html/blog/wordpress/wp-content/plugins/seo-blog/core.php requires the ionCube PHP Loader ioncube_loader_lin_5.2.so to be installed by the site administrator.
Sometimes when software stops responding you are forced to manually abort the program yourself by pressing some strange combination of keys such as ctrl-alt-delete.
Because of poor usability, documentation, and strange error messages, programming still seems very mysterious to most people. That's too bad, because it can be quite fun and rewarding to write software. To succeed, you just have to take everything in small steps, think very hard, and never give up.
I think everyone studying Information Technology should learn at least one programming language and write at least one program. Why? Programming forces you to think like a computer. This can be very rewarding when dealing with a wide range of IT-related issues from tech support to setting up PPC (pay-per-click) advertising campaigns for a client's web site. Also, as an IT professional, you will be dealing with programmers on a daily basis. Having some understanding of the work they do will help you get along with them better.
Software programs are normally written and compiled for certain hardware platforms. It is very important that the software iscompatible with all the components of the computer. For instance, you cannot run software written for a Windows computer on a Macintosh computer or a Linux computer. Actually, you can, but you need to have special emulation software or a virtual machine installed. Even with this special software installed, it is still normally best to run a program on the kind of computer for which it was intended.
There are two basic kinds of software you need to learn about as an IT professional. The first is closed source or proprietarysoftware, which you are not free to modify and improve. An example of this kind of software is Microsoft Windows or Adobe Photoshop. This software model is so popular that some people believe it's the only model there is. But there's a whole other world of software out there.
The other kind of software is called open source software, which is normally free to use and modify (with some restrictions of course). Examples of this type of software include most popular programming languages, operating systems such as Linux, and thousands of applications such as Mozilla Firefox and Open Office.
But what is the real difference between open source and closed source software? Is open source source software just about saving a money? Let's investigate. Let's say for instance you find a bug in the latest version of Mozilla Firefox. The bug is causing a major project to fail and you need to fix it right away. This is not very likely to happen, I realize, but it's just an example. You might take the following steps:
Step 1. Download and unzip (or uncompress) the source code from Mozilla.
Step 2. Use an Integrated Development Environment ( IDE ) and a debugger to find and fix the bug in the source code. Please note that you will need to know a little C++ to debug applications such as this.
Step 3. Test the fix and then use a compiler to turn the source code into a binary file. This can take a long time for big programs. Once the source code is compiled then the program should work!
Step 4. You are almost done. Now send the bug fix back to the Mozilla Firefox team. They may even use your bug fix in the next release!
Now imagine you find a bug in a proprietary code base such as Microsoft Word. What can you do? Not much, just file a bug report and hope someone fixes it at some point.
This is a rather radical example, but I think it illustrates to a large degree why programmers generally prefer open source software to closed source alternatives. Good programmers love code and they want access to it. Hiding the code from a programmer is like hiding the car engine from an auto mechanic. We don't like it!
Now you have learned a little about software. You will learn more about software applications and programming in later units.
Have you ever written any software? If so, what were the challenges you faced? If not, why not?
What software programs do you use on a daily basis? Are they buggy? Do they crash? Why do you think they crash?
Pretend you were the world's best programmer and could write computer code as fast as you could think and dream. What kind of software would you write?
This is the end of the reading!
Learning About Operating Systems
Software Part 2: The OS
An operating system is a generic term for the multitaskingsoftware layer that lets you perform a wide array of 'lower level tasks' with your computer. By low-level tasks we mean:
the ability to log on with a username and password
log off the system and switch users
format storage devices and set default levels of filecompression
install and upgrade device drivers for new hardware
install and launch applications such as word processors, games, etc
set file permissions and hidden files
terminate misbehaving applications
A computer would be fairly useless without an OS, so today almost all computers come with an OS pre-installed. Before 1960, every computer model would normally have it's own OS custom programmed for the specific architecture of the machine's components. Now it is common for an OS to run on many different hardware configurations.
At the heart of an OS is the kernel, which is the lowest level, or core, of the operating system. The kernel is responsible for all the most basic tasks of an OS such as controlling the file systems and device drivers. The only lower-level software than the kernel would be the BIOS, which isn't really a part of the operating system. We discuss the BIOS in more detail in another unit.
The most popular OS today is Microsoft Windows, which has about 85% of the market share for PCs and about 30% of the market share for servers. But there are different types of Windows OSs as well. Some common ones still in use are Windows 98, Windows 2000, Windows XP, Windows Vista, and Windows Server. Each Windows OS is optimized for different users, hardware configurations, and tasks. For instance Windows 98 would still run on a brand new PC you might buy today, but it's unlikely Vista would run on PC hardware originally designed to run Windows 98.
There are many more operating systems out there besides the various versions of Windows, and each one is optimized to perform some tasks better than others. Free BSD, Solaris, Linuxand Mac OS X are some good examples of non-Windows operating systems.
Geeks often install and run more than one OS an a single computer. This is possible with dual-booting or by using a virtual machine. Why? The reasons for this are varied and may include preferring one OS for programming, and another OS for music production, gaming, or accounting work.
An OS must have at least one kind of user interface. Today there are two major kinds of user interfaces in use, the command line interface (CLI) and the graphical user interface (GUI). Right now you are most likely using a GUI interface, but your system probably also contains a command line interface as well.
Typically speaking, GUIs are intended for general use and CLIs are intended for use by computer engineers and system administrators. Although some engineers only use GUIs and some diehard geeks still use a CLI even to type an email or a letter.
Examples of popular operating systems with GUI interfaces include Windows and Mac OS X. Unix systems have two popular GUIs as well, known as KDE and Gnome, which run on top of X-Windows. All three of the above mentioned operating systems also have built-in CLI interfaces as well for power users and software engineers. The CLI in Windows is known as MS-DOS. The CLI in Max OS X is known as the Terminal. There are many CLIs for Unix and Linux operating systems, but the most popular one is called Bash.
In recent years, more and more features are being included in the basic GUI OS install, including notepads, sound recorders, and even web browsers and games. This is another example of the concept of 'convergence' which we like to mention.
A great example of an up and coming OS is Ubuntu. Ubuntu is a Linux operating system which is totally free, and ships with nearly every application you will ever need already installed. Even a professional quality office suite is included by default. What's more, thousands of free, ready-to-use applications can be downloaded and installed with a few clicks of the mouse. This is a revolutionary feature in an OS and can save lots of time, not to mention hundreds or even thousands of dollars on a single PC. Not surprisingly, Ubuntu's OS market share is growing very quickly around the world.
As an IT professional, you will probably have to learn and master several, if not all, the popular operating systems. If you think this sort of thing is fun and interesting, then you have definitely chosen the right career ;)
We have learned a little about operating systems in this introduction and you are ready to do more research on your own. The operating system is the lowest software layer that a typical user will deal with every day. That is what makes it special and worth studying in detail.
Which operating system do you use? Why?
Why do you think experts like system administrators and developers still use CLI interfaces over GUI interfaces?
Which operating system do you think will be the most popular in 10 years? Why?
The Software Development Cycle
Software Part 3: Applications
Without software applications, it would be very hard to actually perform any meaningful task on a computer unless one was a very talented, fast, and patient programmer. Applications are meant to make users more productive and get work done faster. Their goal should be flexibility, efficiency, and user-friendliness.
Today there are thousands of applications for almost every purpose, from writing letters to playing games. Producing software is no longer the lonely profession it once was, with a few random geeks hacking away in the middle of the night. Software is a big business and the development cycle goes through certain stages and versions before it is released.
Applications are released in different versions, including alpha versions, beta versions, release candidates, trial versions, full versions, and upgrade versions. Even an application's instructions are often included in the form of another application called a help file.
Alpha versions of software are normally not released to the public and have known bugs. They are often seen internally as a 'proof of concept'. Avoid alphas unless you are desperate or else being paid as a 'tester'.
Beta versions, sometimes just called 'betas' for short, are a little better. It is common practice nowadays for companies to release public beta versions of software in order to get free, real-world testing and feedback. Betas are very popular and can be downloaded all over the Internet, normally for free. In general you should be wary of beta versions, especially if program stability is important to you. There are exceptions to this rule as well. For instance, Google has a history of excellent beta versions which are more stable than most company's releases.
After the beta stage of software development comes the release candidates (abbreviated RC). There can be one or more of these candidates, and they are normally called RC 1, RC 2, RC 3, etc. The release candidate is very close to what will actually go out as a feature complete 'release'.
The final stage is a 'release'. The release is the real program that you buy in a shop or download. Because if the complexity in writing PC software, it is likely that bugs will still find their way into the final release. For this reason, software companies will offerpatches to fix any major problems that end users complain loudly about.
Applications are distributed in many ways today. In the past most software has been bought in stores in versions called retail boxes. More and more, software is being distributed over the Internet, as open source, shareware, freeware, or traditional proprietary and upgrade versions.
What applications do you use every day? Which ones do you like and which ones do you not like? Why?
If you have the financial resources to develop any application you wanted to, what would you develop? Explain how your application would improve the lives of its users.
Do some research and write a short summary of the differences between a 'beta version', an 'alpha version', and a 'release candidate' of an application.
This is the end of the reading!
Recognizing Different Types of Computers
In this unit you will learn about different types of computers and what makes them unique.
Computers were not always things you could carry around with you, or even have in your bedroom. Sixty years ago, computers ( such as ENIAC ) were as big as entire apartments. They were difficult to use and not very powerful by today's standards. They also cost a lot of money to build and operate. So computers were only used by large organizations such as governments, international corporations, and universities.
Throughout the 1950s and 1960s, computers captured the public's imagination in literature, films, and TV. More and more companies wanted computers, even if they didn't always have a good reason to own one. As a result, computers gradually became smaller, cheaper, and more practical to own. This was thanks in part to companies like IBM, which mass-produced computers for the first time and promoted them to medium and large businesses to do things like payroll, accounting, and other number-crunching tasks.
In the 1970s and 1980s a new type of computer started to gain in popularity. It was called the PC or personal computer. For the first time in history, computers were now for everyone. The PC started a revolution which affects nearly everything we do today. The ways we work, play, communicate, and access information have all been radically reshaped due to the invention and evolution of the PC.
PCs are everywhere you look today. At home, at the office, and everywhere in between. Many people still mistakenly believe the term PC is synonymous with a desktop computer runningWindows. This is not really true. Really, any computer you use by yourself for general purposes could be called a PC. You probably already own at least one of these types of PCs:
- desktop computer
- PDA or personal digital assistant
Besides PCs, there are other types of computers you probably see at work or school. These include:
- file servers
- print servers
- web servers
But not all types of computers are so obvious as the ones above. There are still other kinds of computers that fit inside of other devices and control them. These computers are known asembedded systems.
Embedded systems can be found in traffic lights, TV sets, refrigerators, coffee machines and many more devices. Embedded systems are typically controlled by inexpensive, specialized processors which can only handle very specific tasks.
Types of computers go in and out of fashion as times changes. Older kinds of computers which were very popular in the 20th century ( 1900's ) are now referred to as legacy systems. These include:
- IBM clones
New types of computers are always coming out and replacing or augmenting existing computer types. Examples of new types of computers emerging would be netbooks, tablet PCs, and even wearable computers.
As you complete this unit, you will learn to differentiate between different computer types. Keep in mind that the lines between computer types are constantly being blurred. This phenomenon is known as convergence.
What is meant by the term 'convergence'? Can you give a few examples?
Why do you think companies moved away from mainframes and minicomputers and more towards laptops, desktop computers, and workstations?
Write a short essay discussing the following sentence. "Today's supercomputer is tomorrow's legacy system."
This is the end of the reading!
Computer Hardware Components
Due to convergence, the traditional categories we divide computing into are blurring. But for practical reasons, IT professionals can still divide hardware into two main classes: HYPERLINK "http://www.english4it.com/dictionary/184" \o "any device internal to the computer, such as a primary hard disk drive or motherboard." \t "_top" components and peripherals.
Components are primarily core internal devices of a computer which help define what type a computer is, what it is capable of doing, and how well it is capable of doing it. Nothing affects the overall quality of a computer more than its components.
Normally the more expense a component is, the better it performs. This is a general guideline however and not a steadfast rule. Sometimes you can spend a lot more money on a component with only slightly better performance than one costing half as much. Other times a very expensive component might be based on a completely new technology that is not ready for mass production. In these cases, one is often better off buying a more mainstream part.
Being an early adopter is not always the most practical move when speccing components for a new system. Often you can find very powerful hardware at the medium price ranges. There is normally a relatively large sweet-spot in the market.
How can you know if a component is good or bad? You want to be an IT professional, right? IT professionals need good computers without performance bottlenecks. So do some research. Read articles about components on a website. Where do you find them? Just Google it!
One of my favorite places for objective customer reviews of components is Tom's Hardware Guide. Another place for objective information is on well-known websites such as Amazon.com or NewEgg.com. On sites like these, customers will often write both positive and negative reviews shortly after receiving their products. This can help you decide what to buy!
Imagine you want to build your own computer. It's not that difficult or expensive really. I personally think its kind of fun, How would you start? If you are experienced, you would start by choosing the components first! Components must be compatible with each other in order to function correctly. For example not all processors are compatible with all motherboards. Research is necessary to solve your dependencies.
If you can't afford the exact parts you want to get all at the same time, you can use old parts or buy cheaper parts at first if you have to. Why? Because certain components can be upgraded to attain increased performance. For example, a video card ( orgraphics card ) can be upgraded to improve the graphics for a CAD/CAM application or 3D gaming experience.
At the heart of the computer lies several key components sitting on the motherboard including the microprocessor, the chipset,RAM and a ROM firmware instruction set called the BIOS. These core components are connected by several buses made to carry information around the system and eventually out to display devices and other peripherals.
The CPU is another name for the 'brain' of the computer and normally includes the microprocessor and RAM. This is what does all the calculations. One or more coprocessors may or may not be needed depending on what the computer is used for. In the 20th century, coprocessors were often used for mathematics such as floating point operations. Today however coprocessors are mostly used for 3D graphics ( HYPERLINK "http://www.english4it.com/dictionary/562" \o "a specialized coprocessor sitting on the motherboard or graphic card of a computer which handles the graphical calculations such as 3D modeling and games " \t "_top" GPUs ), sound generation, and physics applications.
As you probably learned in an earlier chapter, RAM is the memory which allows your computer to hold the operating system and all running programs while your computer is in use. On the contrary, ROM is a kind of permanent memory which is still in tact even when the computer is off. The BIOS is a good example of an application using ROM. The BIOS controls very low-level access to the hardware.
Busses and ports are general terms for connectivity components with connect the different parts of the PC together. These include the serial port, parallel port, PCI and PCIe busses, and theUniversal Serial Bus ( USB ) controller. These devices allow communication between different parts of the system. Alsonetwork interface cards are now standard on most motherboards, although USB and PCI versions of the devices are also available.
Your optical drives and hard disk drives are also components in your computer. To allow data interchange between your CPU and drives, SATA, ATA, and SCSI controllers are still widely used.
The core multimedia components include the sound card andgraphics card. They make computing more fun and useful for creative professionals such as designers, gamers, and musicians. Multimedia is definitely a place where high-quality components really matter.
Feeding all these components with a steady supply of energy is another component called the power supply. This is an often overlooked piece of hardware but obviously very important! A low quality power supply can cause havoc in a computer system. On the other hand a bigger than necessary power supply can increase system heat, waste power, and make a lot of noise. Choose wisely!
At the most exterior of the computer we see the computer case. This is meant to look good, protect the components, and provide an easy interface to plug in peripherals. If you are buying or building your own computer, make sure it has a good case.
Apple is well-known for high quality PC and laptop cases, although most major companies have fair to medium quality PC cases. Beware of computers with cheap looking plastic cases. If a computer manufacturer uses a cheap case, it's very likely they are also using other cheap components inside as well. Cheap components equal a slow computer which will break after moderate use. If you intend to use a computer for several hours every day, it makes sense to buy the very best one which fits your needs and budget.
I hope this reading inspires you to learn more about the components in your computer. Just remember that putting computers back together is harder than taking them apart!
What components are in your computer right now? Make a list of them. Look them up on the Internet. Are they high quality or low quality? If you do not have permission to view your components please ask your system administrator to do it for you.
If you could upgrade any single component on your system with a new one, which ones would you replace and why?
Imagine your boss is asking you to spec out new workstations for some game testers. Your budget is $2,500 per workstation not including the monitor. What components would you spec?
This is the end of the reading!
Computer Storage vs. Computer Memory
Storage and Memory
In this unit you will learn the differences between computer memory and computer storage. Memory and storage are important concepts to master in Information Technology. The two terms are sometimes used interchangeably, so it is important to understand some key differences.
Computer memory needs to be quick. It is constantly feeding theCPU with data to process. Since nobody likes to wait for a computer, high-quality computers will have fast processors and lots of quick memory.
Computers do not normally process all the information they have at once. They also need to save some data for long term use. This is where storage comes in. Think of all the video files, mp3s , photos, documents, etc on your PC. These files are not always being processed by the CPU, they are mostly just hanging around waiting to be used at some point. Storage does need to be as quick as memory, but there does need to a lot more of it. This is a key difference between memory and storage.
Because memory needs to be much faster than storage, it is rather more expensive than storage per KB. A typical desktop computer today ( in 2009 ) typically has between 512 MB and 8 GB of memory running at speeds of anywhere from 300 MHZ to 1.2 GHZ. Don't worry if you don't know what those measurements mean at this point. We will get to them in a later unit.
Memory is almost always based on semiconductor technology. Examples of common computer memory include RAM, ROM, and video memory. Memory is typically volatile in nature, meaning that it needs power in order to retain its state. There are exceptions however, such as EPROMs, which can retain their state even when the power is off.
Computer storage is typically cheaper, slower, and more plentiful than computer memory. Storage comes in many different types including magnetic storage, optical storage, and more recentlysemiconductor storage. Storage is typically non-volatile in nature, meaning that it retains its state even when the power is off. A typical computer today comes with anywhere between 50 GB and 1 TB of computer storage.
The most popular example today of magnetic storage is the hard disk drive. These devices use rotating, magnetically-charged platters to store data. Hard disk drives are popular because they can store a lot of data very reliably with relatively quick access times. Other examples of magnetic storage devices include thetape drive and diskette. Tape drives and diskettes are both good examples of legacy devices. It's unlikely they will even be made much past 2010.
As I said before, and I will say again, trends in computer storage are always changing. Now it looks as if traditional magnetic hard disk drives might eventually be replaced by SSDs or solid state drives. SSDs have many key advantages over magnetic storage including 1) no moving parts and 2) less power consumption. This makes them very good for laptops where battery life and overall durability can be big issues. If the technology continues to improve, we may even see them in desktop computers as well.
Optical storage is another technology strategy used in computer storage, and is particularly useful for sharing audio, video, and larger programs. Optical storage works by a laser burning or reading data off a plastic disc coated with various types of light sensitive material in it. Due to reliability and space limitations, optical storage is seldom used as a primary means of data storage. You will learn more about optical storage in later units. In case you don't understand what optical storage is, look no further than your CD-ROM, or DVD-ROM drive. Here are some optical storage solutions in action!
Okay now you know the difference between memory and storage. That wasn't so hard, was it?
What are the major differences between memory and storage? How much memory does your computer have? How much storage does your computer have?
Do you think semi-conductor storage will ever completely replace magnetic storage? When and why?
What is meant above when the author says that volatile memory needs power in order to "retain it's state?"
This is the end of the reading!