Wednesday, November 24, 2010

Applications

What is an Application?

Applications are programs that are installed. On computers to give users the ability to do specific tasks. For example, Microsoft Word® is a program that gives the user the ability to write documents. Some program packages come in a set with multiple programs included to provide multiple capabilities such as the Microsoft Office® suite of programs. This suite of programs also includes Microsoft Outlook® which is used to send and receive e-mail. It also includes other programs with more capabilities.

How Application Programs Work

Application programs are written in a text based computer language as mentioned in the section about hardware and software. Once written, they are compiled into a binary language the computer understands. The application programs use function calls (as described in the section about operating systems) to interface to the various computer peripherals such as your keyboard, mouse, screen, printers, and other devices. Most of these function calls are provided by the operating system so the application programs are usually compiled for a specific operating system such as Microsoft Windows 2000®, Microsoft Windows XP®, or Microsoft Windows 98®.

Application Problems

An application program is a computer program. It is written by human programmers who make mistakes. Therefore there can be errors in the code even though there may be some testing before the product is released. Application programs vary widely in the quality of the code. Errors in code are referred to as "bugs". Bugs can cause unpredictable results including system crashes, inability to perform expected functions, or providing an exploit for an attacker who wants to gain control of your system.

Application Acquisition and Installation

You get applications several ways. The most common way is to purchase it in a store and you will brind a CD home and install it on your computer system. The ways you may get applications include:
  • Purchase of a program from a store.
  • Download a purchased program on the internet.
  • Download a shareware program on the internet.
  • Download a free program on the internet.
Whether purchasing a program or downloading one for free on the internet, you should be aware of the quality of the product you are placing on your computer system. Ask yourself the following:
  • Do I know who made this product and are they a trustworthy source?
  • If the product is free, do I know why it is free?
  • Is there some hidden purpose for the product?
  • What is the reputation of the maker of the product?
  • What problems do users of the product have?
Before downloading a product or purchasing a product you should always spend at least a few minutes researching it. You should at least do a quick search on the Gigablast search engine using the product name and the name of the product producer. You should perform a Gigablast internet search and possibly Google groups search to find out where discussions about the product have taken place. There are also many product evaluation sites that can be used to obtain reviewers and users ratings of the product before you buy or install it. Downloading and install the wrong products can not only seriously impede the performance of your computer system; it can also cause your privacy to be invaded.

Bad Applications

There are many types of applications that can cause problems on your computer system.
  • Applications with serious bugs.
  • Applications that come with unwanted programs. Some applications come with additional software that you may not really want but is installed by default. Normally this is only annoying and may slightly slow your system down when it boots because some of these items will load every time you start your computer.
  • Adware - Most adware comes with programs that may be purchased or downloaded for free on the internet. Adware will cause advertising popup to appear and your computer. Besides being annoying, they will slow your ability to access the internet. Many times these programs will download other ad programs. These programs are very difficult to remove from your system because they are usually hidden on your system very well. Many times it requires an expert to remove these programs but later I will give you some tips on how you can either remove them or render them ineffective, but to be able to do this you must have reasonable knowledge about your system. There are some programs written to remove adware programs which I will discuss later.
  • Spyware - This usually comes with some free programs and it will monitor your internet activity and send information to some corporation. This type of program is not normally seriously harmful but most people do not want to have their activities monitored. There are also programs to remove spyware but it is best to not install it in the first place.
If you do your research before installing applications you will avoid most problem applications. It is best to ask your IT support personnel about an application before you install it. In fact many corporate IT policies are set so users cannot install programs on their systems. This is because installation of the wrong programs on corporate systems can jeopardize computer security for the entire organization.

Application Files

Applications have a variety of files they use for three basic purposes.
  • Executable files
  • Configuration files
  • Data files used by the user such as Microsoft Word® document files.

Operating System Functions

What is an Operating System?

The operating system is the core software component of your computer. It performs many functions and is, in very basic terms, an interface between your computer and the outside world. In the section about hardware, a computer is described as consisting of several component parts including your monitor, keyboard, mouse, and other parts. The operating system provides an interface to these parts using what is referred to as "drivers". This is why sometimes when you install a new printer or other piece of hardware, your system will ask you to install more software called a driver.

What does a driver do?

A driver is a specially written program which understands the operation of the device it interfaces to, such as a printer, video card, sound card or CD ROM drive. It translates commands from the operating system or user into commands understood by the component computer part it interfaces with. It also translates responses from the component computer part back to responses that can be understood by the operating system, application program, or user. The below diagram gives a graphical depiction of the interfaces between the operating system and the computer component.
Other Operating System Functions

The operating system provides for several other functions including:
  • System tools (programs) used to monitor computer performance, debug problems, or maintain parts of the system.
  • A set of libraries or functions which programs may use to perform specific tasks especially relating to interfacing with computer system components.
The operating system makes these interfacing functions along with its other functions operate smoothly and these functions are mostly transparent to the user.

Operating System Concerns

As mentioned previously, an operating system is a computer program. Operating systems are written by human programmers who make mistakes. Therefore there can be errors in the code even though there may be some testing before the product is released. Some companies have better software quality control and testing than others so you may notice varying levels of quality from operating system to operating system. Errors in operating systems cause three main types of problems:
  • System crashes and instabilities: These can happen due to a software bug typically in the operating system, although computer programs being run on the operating system can make the system more unstable or may even crash the system by themselves. This varies depending on the type of operating system. A system crash is the act of a system freezing and becoming unresponsive which would cause the user to need to reboot.
  • Security flaws: Some software errors leave a door open for the system to be broken into by unauthorized intruders. As these flaws are discovered, unauthorized intruders may try to use these to gain illegal access to your system. Patching these flaws often will help keep your computer system secure. How this is done will be explained later.
  • Sometimes errors in the operating system will cause the computer not to work correctly with some peripheral devices such as printers.
 Operating System Types

There are many types of operating systems. The most common is the Microsoft suite of operating systems. They include from most recent to the oldest:
  • Windows XP Professional Edition: A version used by many businesses on workstations. It has the ability to become a member of a corporate domain.
  • Windows XP Home Edition: A lower cost version of Windows XP which is for home use only and should not be used at a business.
  • Windows 2000: A better version of the Windows NT operating system which works well both at home and as a workstation at a business. It includes technologies which allow hardware to be automatically detected and other enhancements over Windows NT.
  • Windows ME: An upgraded version from windows 98 but it has been historically plagued with programming errors which may be frustrating for home users.
  • Windows 98: This was produced in two main versions. The first Windows 98 version was plagued with programming errors but the Windows 98 Second Edition which came out later was much better with many errors resolved.
  • Windows NT: A version of Windows made specifically for businesses offering better control over workstation capabilities to help network administrators.
  • Windows 95: The first version of Windows after the older Windows 3.x versions offering a better interface and better library functions for programs.
There are other worthwhile types of operating systems not made by Microsoft. The greatest problem with these operating systems lies in the fact that not as many application programs are written for them. However if you can get the type of application programs you are looking for, one of the systems listed below may be a good choice.
  • Unix: A system that has been around for many years and it is very stable. It is primary used to be a server rather than a workstation and should not be used by anyone who does not understand the system. It can be difficult to learn. Unix must normally run and a computer made by the same company that produces the software.
  • Linux: Linux is similar to Unix in operation but it is free. It also should not be used by anyone who does not understand the system and can be difficult to learn.
  • Apple MacIntosh: Most recent versions are based on Unix but it has a good graphical interface so it is both stable (does not crash often or have as many software problems as other systems may have) and easy to learn. One drawback to this system is that it can only be run on Apple produced hardware.

Thursday, November 11, 2010

What is the Internet

The word internet is used to describe a network of networks which incorporate a very large and complicated set of equipment. To understand the internet, there are three areas of discussion which are very helpful. These include the various services provided across the internet, the functions that enable the internet to work, and the various organizations that are part of the internet.

Internet Services

The main services used on the internet include:
  • Web browsing - Supported by the HTTP protocol, this functions allows users to view web pages using a web browser.
  • E-mail - Allows people to send and receive electronic messages.
Other lesser used services include telnet (allows remote login to computers), FTP (Allows quick file transmission to remote computers), and gopher (An early form of text based form of reading internet documents which is rarely used today).

Internet Functions

The internet provides for the following two functions which support communications. Without the communications support mentioned below, the internet could not function. These two functions are provided by internet service providers listed below under the "Internet Organizations" header.
  • Physical lines that data is sent across.
  • Routing of data - There are special machines on the internet called routers, that determine where data needs to go to get from the sender of the data to the receiver of the data.
Internet Organizations
  • ISPs (Internet Service Providers) - They provide the connection to the internet for users and also provide routers that direct internet traffic.
  • Corporations or Web hosting providers with mail servers and web servers - They provide the information posted on the internet and virtual data connections to other mail servers.
There are also other organizations that regulate the internet, providing communication standards and designing new communication standards for improvements. These communication standards are also known as protocols.

Summary

So the internet is a collection of organizations that provide equipment that support the internet functions and services. The internet connects many corporate and organizational private networks together thus enabling all these organizations to easily communicate.

Accessing the Internet

People use an internet browser to access web pages that are available across the internet. Internet browsers include Microsoft Internet Explorer, Netscape Navigator, Mozilla, and others.

Web pages are created in a marked up form of text file called HTML (Hyper-Text Markup Language). The markup within the text indicates document structure showing where paragraphs begin and end, what items are in a list, headers, tables and other document structure.

When people are browsing of surfing the internet, they usually go from place to place by clicking on links. These links are locations for specific pages and indicate the three things:
  1. Protocol being used such as http or ftp
  2. The domain that the web page is found on. This will point to a specific organization's or company's web server.
  3. The location of the page on the server including the directory path and file name.
An example link is "http://www.comptechdoc.org/basics/bastutorial/osintro.html". In this case http is the protocol being used, the comptechdoc.org domain indicates where the organization's web server is, and the "/basics/bastutorial/osintro.html" part of the string indicates the folders the file is in and the name of the file.

These links are sometimes called hyperlinks or URLs (Uniform Resource Locators)

What is a Network

The word network can be used to describe a very large and complicated set of equipment. In its most accurate and simplest definition a network refers to the cables and electronic components that amplify the signals going through the cables. The amplifying equipment is necessary to ensure accurate communication and make the signal stronger if it needs to go long distances.

Broader Definition

When many people talk about a network, they are talking about a network using a very broad concept. For instance if someone cannot get to their email, they may say "the network is down". Likewise they may say this if they cannot surf the internet or get to their files. They may not stop to think that in each specific instance there is a single piece of equipment that may provide the capability which they are trying to use.

Most people who work on a corporate or organizational network think about the network in component parts. The three main parts are:
  • The cabling and amplifiers mentioned in the first paragraph.
  • The workstations which most members of the organization use to access resources.
  • Higher powered computers called servers - These are the machines that provide what network administrators call services. Services include the functions that most people try to use such as email, reading and writing files, printing, and getting to the internet. Whenever a user is trying to do something on the network, there is a service or machine providing the capability to do so. 
  • This even includes times when someone is trying to get to network resources from their home.
Services
  • Email service
  • File service - Allows users to use and share file space on a computer with a lot of file space.
  • Print service - Allows printing to printers connected on the network.
  • Web surfing - Allowing someone to open web pages and see web sites on the internet.
  • Filtering out undesired sites on the internet.
  • Allowing someone to access the network from the outside (from home).
  • Updating virus definitions on workstations.
  • Allowing someone to log onto the network.
  • Even giving a workstation an address on the network is a service. If your computer does not have an address, it cannot access the internet or any other resource on the network.
A Typical Network

A typical corporate or organizational network is shown below:

Of course there are variations on this network layout and some details have been left out for the sake of simplicity but this drawing should give you some idea about what goes on behind the scene on the network at your organization. Some servers and server functions have not been shown here.

The firewall is the device that protects all computers in the network from many attacks. It allows some types of network traffic into the network from the outside, but usually only for mail or web services. Usually the internet traffic that that is allowed to come into the network is routed to the part of the network labeled "DMZ" on the right side of the diagram. DMZ stands for demilitarized zone and is also called a semi-private network. In this DMZ is a web server which is used to allow people surfing on the internet to see web pages posted by the organization. A mail server is also shown in the DMZ but this could be replaced by a mail relay server while the mail server is placed inside the private network. The mail relay server would forward mail traffic from the outside to the mail server. This would increase the security of the network since a direct connection from the internet to the mail server would not be allowed.

The private network is of course the most secure part of the network. There are several servers on this network including:
  • A login server (called a domain controller) which controls everyone’s permissions and access to the network resources such as files. Without this server, they cannot login to the network.
  • An address server (called a DHCP server) which provides addresses to computers on the network so they can communicate as discussed earlier.
  • A file server which provides common files and a private folder for users.
  • A remote access server which allows users to connect to the network by telephone from the outside.
Also the workstations are part of this network.

Conclusion

Knowing the above information, if someone cannot get their mail, they may think the network is down. This is not likely to be the case. The mail server may be down but the network is not likely to be down. The same goes for when someone can't surf the web. There may be a problem with the firewall or the line connecting to the internet, but it is unlikely that the whole network is down. When problems are noticed it is best for the user to describe what they were trying to do and what happened.

Software and Hardware

Hardware

The term hardware describes the physical parts of your computer which you can physically touch or see such as your monitor, case, disk drives, microprocessor and other physical parts.

Software

The term software describes the programs that run on your system. This includes your computer operating system and other computer programs which run. Software is written in a computer language (such as Basic, C, Java, or others) by programmers. The computer language is in a text format and can be read by a person although if you do not understand the structure and rules of the language you may not understand it very well. Once a program is written, an operation is performed on it which is called compiling. Compiling is the process of changing the textual written language into a binary language which can be understood by the computer.

Writing these text files and converting them to computer readable files is the way operating systems and most application programs are created.

BIOS (Basic Input/Output System)

BIOS is a low level program used by your system to interface to computer devices such as your video card, keyboard, mouse, hard drive, and other devices. What BIOS programs provide in the computer are very simple function calls or small subprograms which can be used by higher level programs to perform simple operations on computer devices. For example a BIOS program would provide the ability to write a character to memory on a video card.

BIOS is normally written in a low level computer language and is permanently or semi-permanently written into the computer system. This type of computer program is commonly referred to as firmware since it was historically written permanently into computer systems. Although BIOS is a program, because of its permanent state, it was not quite considered to be software so the term firmware is used to describe it.

Historically BIOS programs were written into a type of memory called ROM (read only memory). This type of memory would not lose its data when the computer lost power thus ensuring these BIOS programs would always be available. There were different variants of ROM memory some of which could be written multiple times but this memory could not normally be changed or re-programmed once the computer system was sold to the customer. Once ROM memory was written to, it could not be written to again and could only be read when in the possession of the customer. In more recent years a more flexible form of memory was developed called flash ROM which allows ROM memory to be written to after the computer system is in possession of the customer.