Friday, February 25, 2011

How Operating Systems Work

The operating system defines our computing experience. It's the first software we see when we turn on the computer, and the last software we see when the computer is turned off. It's the software that enables all the programs we use. The operating system organizes and controls the hardware on our desks and in our hands, yet most users can't say with any certainty precisely what it is that the operating system does. (http://www.howstuffworks.com/operating-system.htm)
Processor Management
The heart of managing the processor comes down to two related issues:
  • Ensuring that each process and application receives enough of the processor's time to function properly
  • Using as many processor cycles for real work as is possible
The basic unit of software that the operating system deals with in scheduling the work done by the processor is either a process or a thread, depending on the operating system.
It's tempting to think of a process as an application, but that gives an incomplete picture of how processes relate to the operating system and hardware. The application you see (word processor or spreadsheet or game) is, indeed, a process, but that application may cause several other processes to begin, for tasks like communications with other devices or other computers. There are also numerous processes that run without giving you direct evidence that they ever exist. A process, then, is software that performs some action and can be controlled -- by a user, by other applications or by the operating system.
It is processes, rather than applications, that the operating system controls and schedules for execution by the CPU. In a single-tasking system, the schedule is straightforward. The operating system allows the application to begin running, suspending the execution only long enough to deal with interrupts and user input. Interrupts are special signals sent by hardware or software to the CPU. It's as if some part of the computer suddenly raised its hand to ask for the CPU's attention in a lively meeting. Sometimes the operating system will schedule the priority of processes so that interrupts are masked -- that is, the operating system will ignore the interrupts from some sources so that a particular job can be finished as quickly as possible. There are some interrupts (such as those from error conditions or problems with memory) that are so important that they can't be ignored. These non-maskable interrupts (NMIs) must be dealt with immediately, regardless of the other tasks at hand.
While interrupts add some complication to the execution of processes in a single-tasking system, the job of the operating system becomes much more complicated in a multi-tasking system. Now, the operating system must arrange the execution of applications so that you believe that there are several things happening at once. This is complicated because the CPU can only do one thing at a time. In order to give the appearance of lots of things happening at the same time, the operating system has to switch between different processes thousands of times a second. Here's how it happens.

Internet search Engine

The good news about the Internet and its most visible component, the World Wide Web, is that there are hundreds of millions of pages available, waiting to present information on an amazing variety of topics. The bad news about the Internet is that there are hundreds of millions of pages available, most of them titled according to the whim of their author, almost all of them sitting on servers with cryptic names. When you need to know about a particular subject, how do you know which pages to read? If you're like most people, you visit an Internet search engine.
Internet search engines are special sites on the Web that are designed to help people find information stored on other sites. There are differences in the ways various search engines work, but they all perform three basic tasks:
  • They search the Internet -- or select pieces of the Internet -- based on important words.
  • They keep an index of the words they find, and where they find them.
  • They allow users to look for words or combinations of words found in that index.
Early search engines held an index of a few hundred thousand pages and documents, and received maybe one or two thousand inquiries each day. Today, a top search engine will index hundreds of millions of pages, and respond to tens of millions of queries per day. In this article, we'll tell you how these major tasks are performed, and how Internet search engines put the pieces together in order to let you find the information you need on the Web.
Looking at the Web

Searches Per Day:
Top 5 Engines
  • Google - 250 million
  • Overture - 167 million
  • Inktomi - 80 million
  • LookSmart - 45 million
  • FindWhat - 33 million
*Source: SearchEngineWatch.com, Feb. 2003

When most people talk about Internet search engines, they really mean World Wide Web search engines. Before the Web became the most visible part of the Internet, there were already search engines in place to help people find information on the Net. Programs with names like "gopher" and "Archie" kept indexes of files stored on servers connected to the Internet, and dramatically reduced the amount of time required to find programs and documents. In the late 1980s, getting serious value from the Internet meant knowing how to use gopher, Archie, Veronica and the rest.
Today, most Internet users limit their searches to the Web, so we'll limit this article to search engines that focus on the contents of Web pages.
An Itsy-Bitsy Beginning
Before a search engine can tell you where a file or document is, it must be found. To find information on the hundreds of millions of Web pages that exist, a search engine employs special software robots, called spiders, to build lists of the words found on Web sites. When a spider is building its lists, the process is called Web crawling. (There are some disadvantages to calling part of the Internet the World Wide Web -- a large set of arachnid-centric names for tools is one of them.) In order to build and maintain a useful list of words, a search engine's spiders have to look at a lot of pages.

What is Memory


These days, no matter how much memory your computer has, it never seems to be quite enough. Not long ago, it was unheard of for a PC (Personal Computer), to have more than 1 or 2 MB (Megabytes) of memory. Today, most systems require 128MB to run basic applications. And up to 512MB or more is needed for optimal performance when using graphical and multimedia programs.

As an indication of how much things have changed over the past two decades, consider this: in 1981, referring to computer memory, Bill Gates said, "640K (roughly 1/2 of a megabyte) ought to be enough for anybody."

For some, the memory equation is simple: more is good; less is bad. However, for those who want to know more, this reference guide contains answers to the most common questions, plus much, much more.

THE ROLE OF MEMORY IN THE COMPUTER

People in the computer industry commonly use the term "memory" to refer to RAM (Random Access Memory). A computer uses Ram to hold temporary instructions and data needed to complete tasks. This enables the computer's CPU (Central Processing Unit), to access instructions and data stored in memory very quickly.

A good example of this is when the CPU loads an application program - such as a word processing or page layout program - into memory, thereby allowing the application program to work as quickly and efficiently as possible. In practical terms, having the program loaded into memory means that you can get work done more quickly with less time spent waiting for the computer to perform tasks.

Microprecessor History

A microprocessor -- also known as a CPU or central processing unit -- is a complete computation engine that is fabricated on a single chip. The first microprocessor was the Intel 4004, introduced in 1971. The 4004 was not very powerful -- all it could do was add and subtract, and it could only do that 4 bits at a time. But it was amazing that everything was on one chip. Prior to the 4004, engineers built computers either from collections of chips or from discrete components (transistors wired one at a time). The 4004 powered one of the first portable electronic calculators.
The first microprocessor to make it into a home computer was the Intel 8080, a complete 8-bit computer on one chip, introduced in 1974. The first microprocessor to make a real splash in the market was the Intel 8088, introduced in 1979 and incorporated into the IBM PC (which first appeared around 1982). If you are familiar with the PC market and its history, you know that the PC market moved from the 8088 to the 80286 to the 80386 to the 80486 to the Pentium to the Pentium II to the Pentium III to the Pentium 4. All of these microprocessors are made by Intel and all of them are improvements on the basic design of the 8088. The Pentium 4 can execute any piece of code that ran on the original 8088, but it does it about 5,000 times faster!

SCSI

Most home and small-office PCs use an IDE hard drive and have a PCI bus for adding components to the computer. But a lot of computers, particularly high-end workstations and older Apple Macintoshes, use the Small Computer System Interface (SCSI) bus to connect components, which may include:
SCSI devices usually connect to a controller card like this one.
Basically, SCSI (pronounced "scuzzy") is a fast communications bus that allows you to connect multiple devices to your computer. In this edition of HowStuffWorks, you'll learn about the structure of SCSI and the various specifications and types, as well as SCSI IDs and termination.
SCSI Basics
SCSI is based on an older, proprietary bus interface called Shugart Associates System Interface (SASI). SASI was originally developed in 1981 by Shugart Associates in conjunction with NCR Corporation. In 1986, a modified version of SASI that provided a beefier, open system was ratified by the American National Standards Institute (ANSI) as SCSI.

Wednesday, January 12, 2011

ROM

  1. This is read-only memory, memory that can only be read, but cannot be written to. ROM is used in situations where the data must be held permanently. This is due to the fact that it is non-volatile memory. This means the data is "hard-wired" into the ROM chip. You can store the chip forever and the data will always be there. Besides, the data is very secure. The BIOS is stored on ROM because the user cannot disrupt the information.
  2. There are different types of ROM, too:
  3. Programmable ROM(PROM). This is basically a blank ROM chip that can be written to, but only once. It is much like a CD-R drive that burns the data into the CD. Some companies use special machinery to write PROMs for special purposes.
  4. Erasable Programmable ROM (EPROM). This is just like PROM, except that you can erase the ROM by shining a special ultra-violet light into a sensor atop the ROM chip for a certain amount of time. Doing this wipes the data out, allowing it to be rewritten.
  5. Electrically Erasable Programmable ROM (EEPROM). Also called flash BIOS. This ROM can be rewritten through the use of a special software program. Flash BIOS operates this way, allowing users to upgrade their BIOS.

RAM

Random Access Memory (RAM) is what most of us think of when we hear the word memory associated with computers. It is volatile memory, meaning all data is lost when power is turned off. The RAM is used for temporary storage of program data, allowing performance to be optimum.
Like ROM, there are different types of RAM:
Static RAM (SRAM). This RAM will maintain it's data as long as power is provided to the memory chips. It does not need to be re-written periodically. In fact, the only time the data on the memory is refreshed or changed is when an actual write command is executed. SRAM is very fast, but is much more expensive than DRAM. SRAM is often used as cache memory due to its speed.
There are a few types of SRAM:
·         Async SRAM. An older type of SRAM used in many PC's for L2 cache. It is asynchronous, meaning that it works independently of the system clock. This means that the CPU found itself waiting for info from the L2 cache.
·         Sync SRAM. This type of SRAM is synchronous, meaning it is synchronized with the system clock. While this speeds it up, it makes it rather expensive at the same time.
Pipeline Burst SRAM. Commonly used. SRAM requests are pipelined, meaning larger packets of data re sent to the memory at once, and acted on very quickly. This breed of SRAM can operate at bus speeds higher than 66MHz, so is often used