Sunday, June 17, 2012


What is a firewall?

A firewall is a system designed to prevent unauthorized access to or from a private network. You can implement a firewall in either hardware or software form, or a combination of both. Firewalls prevent unauthorized Internet users from accessing private networks connected to the Internet, especially intranets. All messages entering or leaving the intranet (i.e., the local network to which you are connected) must pass through the firewall, which examines each message and blocks those that do not meet the specified security criteria.
Note: In protecting private information, a firewall is considered a first line of defense; it cannot, however, be considered the only such line. Firewalls are generally designed to protect network traffic and connections, and therefore do not attempt to authenticate individual users when determining who can access a particular computer or network.
Several types of firewall techniques exist:
  • Packet filtering: The system examines each packet entering or leaving the network and accepts or rejects it based on user-defined rules. Packet filtering is fairly effective and transparent to users, but it is difficult to configure. In addition, it is susceptible to IP spoofing.
  • Circuit-level gateway implementation: This process applies security mechanisms when a TCP or UDP connection is established. Once the connection has been made, packets can flow between the hosts without further checking.
  • Acting as a proxy server: A proxy server is a type of gateway that hides the true network address of the computer(s) connecting through it. A proxy server connects to the Internet, makes the requests for pages, connections to servers, etc., and receives the data on behalf of the computer(s) behind it. The firewall capabilities lie in the fact that a proxy can be configured to allow only certain types of traffic to pass (e.g., HTTP files, or web pages). A proxy server has the potential drawback of slowing network performance, since it has to actively analyze and manipulate traffic passing through it.
In practice, many firewalls use two or more of these techniques in concert.
In Windows 7, Vista, and XP, software firewalls are built into the operating system. Earlier versions of Windows did not have firewalls built in. Macintosh computers running Mac OS X 10.2 and later are also equipped with a built-in firewall.
Third-party firewall packages also exist, such as Zone Alarm, Norton Personal Firewall, Tiny, Black Ice Protection, and McAfee Personal Firewall. Many of these offer free versions or trials of their commercial versions.
In addition, many home and small office broadband routers have rudimentary firewall capabilities built in. These tend to be simply port/protocol filters, although models with much finer control are available.



How Computers Work: The CPU and Memory




Figure 0 shows the parts of a computer:
  • The Central Processing Unit:
    • (CPU),
    • Buses,
    • Ports and controllers,
    • ROM;
  • Main Memory (RAM);
  • Input Devices;
  • Output Devices;
  • Secondary Storage;
    • floppy disks,
    • hard disk,
    • CD-ROM
Figure 0: Inside The Computer

This part of the reading will examine the CPU, Buses, Controllers, and Main Memory. Other sections will examine input devices, output devices, and secondary memory.

The Central Processing Unit (CPU)

Figure 1: The Central Processing Unit
The computer does its primary work in a part of the machine we cannot see, a control center that converts data input to information output. This control center, called the central processing unit (CPU), is a highly complex, extensive set of electronic circuitry that executes stored program instructions. All computers, large and small, must have a central processing unit. As Figure 1 shows, the central processing unit consists of two parts: The control unit and the arithmetic/logic unit. Each part has a specific function.
Before we discuss the control unit and the arithmetic/logic unit in detail, we need to consider data storage and its relationship to the central processing unit. Computers use two types of storage: Primary storage and secondary storage. The CPU interacts closely with primary storage, or main memory, referring to it for both instructions and data. For this reason this part of the reading will discuss memory in the context of the central processing unit. Technically, however, memory is not part of the CPU.

Recall that a computer's memory holds data only temporarily, at the time the computer is executing a program. Secondary storage holds permanent or semi-permanent data on some external magnetic or optical medium. The diskettes and CD-ROM disks that you have seen with personal computers are secondary storage devices, as are hard disks. Since the physical attributes of secondary storage devices determine the way data is organized on them, we will discuss secondary storage and data organization together in another part of our on-line readings.

Now let us consider the components of the central processing unit.


  • The Control Unit
    The control unit of the CPU contains circuitry that uses electrical signals to direct the entire computer system to carry out, or execute, stored program instructions. Like an orchestra leader, the control unit does not execute program instructions; rather, it directs other parts of the system to do so. The control unit must communicate with both the arithmetic/logic unit and memory.

  • The Arithmetic/Logic Unit
    The arithmetic/logic unit (ALU) contains the electronic circuitry that executes all arithmetic and logical operations.

    The arithmetic/logic unit can perform four kinds of arithmetic operations, or mathematical calculations: addition, subtraction, multiplication, and division. As its name implies, the arithmetic/logic unit also performs logical operations. A logical operation is usually a comparison. The unit can compare numbers, letters, or special characters. The computer can then take action based on the result of the comparison. This is a very important capability. It is by comparing that a computer is able to tell, for instance, whether there are unfilled seats on airplanes, whether charge- card customers have exceeded their credit limits, and whether one candidate for Congress has more votes than another.

    Logical operations can test for three conditions:
    • Equal-to condition. In a test for this condition, the arithmetic/logic unit compares two values to determine if they are equal. For example: If the number of tickets sold equals the number of seats in the auditorium, then the concert is declared sold out. 
    • Less-than condition. To test for this condition, the computer compares values to determine if one is less than another. For example: If the number of speeding tickets on a driver's record is less than three, then insurance rates are $425; otherwise, the rates are $500. 
    • Greater-than condition. In this type of comparison, the computer determines if one value is greater than another. For example: If the hours a person worked this week are greater than 40, then multiply every extra hour by 1.5 times the usual hourly wage to compute overtime pay.

    A computer can simultaneously test for more than one condition. In fact, a logic unit can usually discern six logical relationships: equal to, less than, greater than, less than or equal to, greater than or equal to, and not equal.

    The symbols that let you define the type of comparison you want the computer to perform are called relational operators. The most common relational operators are the equal sign(=), the less-than symbol(<), and the greater-than symbol(>).

    • Registers: Temporary Storage Areas
      Registers are temporary storage areas for instructions or data. They are not a part of memory; rather they are special additional storage locations that offer the advantage of speed. Registers work under the direction of the control unit to accept, hold, and transfer instructions or data and perform arithmetic or logical comparisons at high speed. The control unit uses a data storage register the way a store owner uses a cash register-as a temporary, convenient place to store what is used in transactions.

      Computers usually assign special roles to certain registers, including these registers:
      • An accumulator, which collects the result of computations.
      • An address register, which keeps track of where a given instruction or piece of data is stored in memory. Each storage location in memory is identified by an address, just as each house on a street has an address.
      • A storage register, which temporarily holds data taken from or about to be sent to memory.
      • A general-purpose register, which is used for several functions.

    • Memory and Storage 
      Memory is also known as primary storage, primary memory, main storage, internal storage, main memory, and RAM (Random Access Memory); all these terms are used interchangeably by people in computer circles. Memory is the part of the computer that holds data and instructions for processing. Although closely associated with the central processing unit, memory is separate from it. Memory stores program instructions or data for only as long as the program they pertain to is in operation. Keeping these items in memory when the program is not running is not feasible for three reasons:
      • Most types of memory only store items while the computer is turned on; data is destroyed when the machine is turned off.
      • If more than one program is running at once (often the case on large computers and sometimes on small computers), a single program can not lay exclusive claim to memory.
      • There may not be room in memory to hold the processed data.

      How do data and instructions get from an input device into memory? The control unit sends them. Likewise, when the time is right, the control unit sends these items from memory to the arithmetic/logic unit, where an arithmetic operation or logical operation is performed. After being processed, the information is sent to memory, where it is hold until it is ready to he released to an output unit.

      The chief characteristic of memory is that it allows very fast access to instructions and data, no matter where the items are within it. We will discuss the physical components of memory-memory chips-later in this chapter.
      To see how registers, memory, and second storage all work together, let us use the analogy of making a salad. In our kitchen we have:
      • a refrigerator where we store our vegetables for the salad;
      • a counter where we place all of our veggies before putting them on the cutting board for chopping;
      • a cutting board on the counter where we chop the vegetables;
      • a recipe that details what veggies to chop;
      • the corners of the cutting board are kept free for partially chopped piles of veggies that we intend to chop more or to mix with other partially chopped veggies.
      • a bowl on the counter where we mix and store the salad;
      • space in the refrigerator to put the mixed salad after it is made.
      The process of making the salad is then: bring the veggies from the fridge to the counter top; place some veggies on the chopping board according to the recipe; chop the veggies, possibly storing some partially chopped veggies temporarily on the corners of the cutting board; place all the veggies in the bowl to either put back in the fridge or put directly on the dinner table.The refrigerator is the equivalent of secondary (disk) storage. It can store high volumes of veggies for long periods of time. The counter top is the equivalent of the computer's motherboard - everything is done on the counter (inside the computer). The cutting board is the ALU - the work gets done there. The recipe is the control unit - it tells you what to do on the cutting board (ALU). Space on the counter top is the equivalent of RAM memory - all veggies must be brought from the fridge and placed on the counter top for fast access. Note that the counter top (RAM) is faster to access than the fridge (disk), but can not hold as much, and can not hold it for long periods of time. The corners of the cutting board where we temporarily store partially chopped veggies are equivalent to the registers. The corners of the cutting board are very fast to access for chopping, but can not hold much. The salad bowl is like a temporary register, it is for storing the salad waiting to take back to the fridge (putting data back on a disk) or for taking to the dinner table (outputting the data to an output device).

      Now for a more technical example. let us look at how a payroll program uses all three types of storage. Suppose the program calculates the salary of an employee. The data representing the hours worked and the data for the rate of pay are ready in their respective registers. Other data related to the salary calculation-overtime hours, bonuses, deductions, and so forth-is waiting nearby in memory. The data for other employees is available in secondary storage. As the CPU finishes calculations about one employee, the data about the next employee is brought from secondary storage into memory and eventually into the registers.
      The following table summarizes the characteristics of the various kinds of data storage in the storage hierarchy.
      StorageSpeedCapacityRelative Cost ($)Permanent?
      RegistersFastestLowestHighestNo
      RAMVery FastLow/ModerateHighNo
      Floppy DiskVery SlowLowLowYes
      Hard DiskModerateVery HighVery LowYes
      Modern computers are designed with this hierarchy due to the characteristics listed in the table. It has been the cheapest way to get the functionality. However, as RAM becomes cheaper, faster, and even permanent, we may see disks disappear as an internal storage device. Removable disks, like Zip disks or CDs (we describe these in detail in the online reading on storage devices) will probably remain in use longer as a means to physically transfer large volumes of data into the computer. However, even this use of disks will probably be supplanted by the Internet as the major (and eventually only) way of transferring data. Floppy disks drives are already disappearing: the new IMac Macintosh from Apple does not come with one. Within the next five years most new computer designs will only include floppy drives as an extra for people with old floppy disks that they must use.For more detail on the computer's memory hierarchy, see the How Stuff Works pages on computer memory.This is optional reading.
    • How the CPU Executes Program Instructions
      Let us examine the way the central processing unit, in association with memory, executes a computer program. We will be looking at how just one instruction in the program is executed. In fact, most computers today can execute only one instruction at a time, though they execute it very quickly. Many personal computers can execute instructions in less than one-millionth of a second, whereas those speed demons known as supercomputers can execute instructions in less than one-billionth of a second.

      Figure 2: The Machine Cycle
      Before an instruction can be executed, program instructions and data must be placed into memory from an input device or a secondary storage device (the process is further complicated by the fact that, as we noted earlier, the data will probably make a temporary stop in a register). As Figure 2 shows, once the necessary data and instruction are in memory, the central processing unit performs the following four steps for each instruction:
      1. The control unit fetches (gets) the instruction from memory.
      2. The 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 first two steps together are called instruction time, or I-time.
      3. The arithmetic/logic unit executes the arithmetic or logical instruction. That is, the ALU is given control and performs the actual operation on the data.
      4. Thc arithmetic/logic unit stores the result of this operation in memory or in a register. Steps 3 and 4 together are called execution time, or E-time.

      The control unit eventually directs memory to release the result to an output device or a secondary storage device. The combination of I-time and E-time is called the machine cycle. Figure 3 shows an instruction going through the machine cycle.

      Each central processing unit has an internal clock that produces pulses at a fixed rate to synchronize all computer operations. A single machine-cycle instruction may be made up of a substantial number of sub-instructions, each of which must take at least one clock cycle. Each type of central processing unit is designed to understand a specific group of instructions called the instruction set. Just as there are many different languages that people understand, so each different type of CPU has an instruction set it understands. Therefore, one CPU-such as the one for a Compaq personal computer-cannot understand the instruction set from another CPU-say, for a Macintosh.
      Figure 3: The Machine Cycle in Action
      It is one thing to have instructions and data somewhere in memory and quite another for the control unit to be able to find them. How does it do this?

      Figure 4: Memory Addresses Like Mailboxes
      The location in memory for each instruction and each piece of data is identified by an address. That is, each location has an address number, like the mailboxes in front of an apartment house. And, like the mailboxes, the address numbers of the locations remain the same, but the contents (instructions and data) of the locations may change. That is, new instructions or new data may be placed in the locations when the old contents no longer need to be stored in memory. Unlike a mailbox, however, a memory location can hold only a fixed amount of data; an address can hold only a fixed number of bytes - often two bytes in a modern computer.

      Figure 4 shows how a program manipulates data in memory. A payroll program, for example, may give instructions to put the rate of pay in location 3 and the number of hours worked in location 6. To compute the employee's salary, then, instructions tell the computer to multiply the data in location 3 by the data in location 6 and move the result to location 8. The choice of locations is arbitrary - any locations that are not already spoken for can be used. Programmers using programming languages, however, 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. In this example, the symbolic address names are Rate, Hours, and Salary.

  • Wednesday, June 6, 2012

    Make your own kind of happiness.


    If we really want to be happy, we must first learn that happiness is a way of life, not a state of being. Really being happy comes from a person working hard everyday to be so. If you want to be happy you must believe in everything that you do. Working a job is fine because everyone wants security, but it is only when we are put in uncomfortable situations that we are more likely to step out of our comfort zone, and start searching for different ways to live our lives, and the answers we find will hold more true to who we are.

    Eventually when we start seeking and finding answers we will find what we love to do in life, and in doing what we love, we will find happiness unmatched by any happiness that we may have seen in any other part of our lives

    Tuesday, June 5, 2012

    In life you'll realize that there is a purpose for every person you meet. Some are there to test you, some will use you, some will teach you, and some will bring out the best in you. 
    One of the most valuable principles a person may ever learn in their lifetime is that every person that is in their life, is in their life for a reason. Some people are in your life to be your genuine friend, and to just help you become the best you that they may possibly help you to become. Some people are in your life to test you, to show you that things may not always be what you think they may seem.

    Some people are in your life to teach you. Sometimes we are full of gifts and talents that we have no clue that are inside of us, and some are put in our lives to help us to see these gifts out of our hearts and to develop them.

    Some people are in your life solely for themselves. But it is these people who will also teach you many lessons, one must be careful to let a fool bring him/her to their own level. Different people will teach us all different things, but in every lesson one must always remember that life is too short to hold on to anger and spite. Take the lessons you learn in your past, and use them to help the person you have become in the present day

    Saturday, June 2, 2012


    There will be times in life that we will all experience the desire to just give up on fighting through our hardships. It is these times that are best for building our character, and shaping who we may be able to become in our future. As we continue to grow in life we have to learn the important principle of learning what not to put limits on in our lives. 

    If we are willing to limit the amount of work we are willing to put in, then we are willing to limit the amount of growth that we may have reached potentially. Instead of giving up when times get hard, remember that in life there will always be hard times that will try to push us away from our dreams; push harder than life is pushing against you, and keep fresh in your mind all of the reasons that you held on for so long.

    Sunday, May 27, 2012

    Keep Your Attitude Right When Everything Seems Wrong


    Are problems and challenges weighing you down? Can you not handle the pressure and stress life sends your way? The truth is we all have to face the challenges in our lives, its just part of life and we can’t change that. But what we can change is our attitude towards our problems. Here are things we can recognize when dealing with them:

    When the problems:Recognize that:
    Embarrass you.It’s O.K. to have problems.
    Anger you.You contributed to the problem somehow.
    Confuse you.It’s rarely “a” single problem.
    Intimidate you.Every problem has met its match somewhere.
    Depress you.Every problem is pregnant with a possibility.
    Control you.Your problem is either solvable or manageable!
    Baffles you.No problem is totally impossible.
    Stop you.Every problem is temporary.
    Mislead you.Problems are frequently just distortions.
    Paralyze you.A problem is just a decision waiting to be made.
    If you are feeling overwhelmed by your problems, divide it up and deal with each one individually. Remember not to easily blame others because in some way you helped create the problem. Here is a great example:
    A husband says, “My wife is my problem!”
    To which I reply, “You chose to marry her!”
    An employee says, “My company is my problem!”
    To which I say, “Who told you to work in that company?”

    If you feel intimidated by your problem, believe and know that there is a solution somewhere that is matched for the problem. Once you can change your attitude toward your problem, you will no longer be intimidated and will start to think of your possibilities.

    First, when a person shows you who they really are, believe them the first time. This is not to say that some people can't change, and that people won't make mistakes, but sometimes you can avoid a lot of trouble if you are able to cut people off in the very first moments you meet them, and notice their character probably wont help to influence your life in a positive manner. 

    Second, we have to be willing to take a stand for ourselves. If a person continues to tell you one thing, and you notice that their actions aren't usually representative of their words, then you must take note of this, and use this as a warning sign that this person may not be who they really say that they are. 

    Don't spend all of your time living confined, without making new friends, and taking new risks, but do be careful of whom you put your trust in, not everyone has your best interests at heart.