Software
1.- Software
classification with short explanations, different types of classifications.
Operating System:
From performing basic tasks to running important programs, the operating
system is the most important program to run a computer. It is the 1st program
that loads into memory when the computer is turned on. Without the operating
system, no other programs such as spreadsheet software, word processing
software, etc. can be run. So, in a sense, this system brings the computer to
life.
When given a command, the operating system issues the instructions to the
‘brain’ i.e. the CPU or microprocessor. While working on the application
software, such as Microsoft Word, your given commands are sent through the
operating system to the CPU. Some of its examples are Windows2000,
Windows95/98, DOS, UNIX, Mac OS, etc. Below are some of its functions.
- Provide security and backup.
- Booting computers.
- Controlling peripheral devices such as a
keyboard, disk drives, printers, etc.
- Provide interface between software and
hardware.
- Scheduling processes.
- Memory management.
- Keeping track of files and directories on
the disk.
- Recognize input from the keyboard.
- Send output to the display screen.
ii) Utility Software:
Utility software are set of collective programs, available to help you with
the day to day chores that are associated with personal computing and to keep
your computer system run at peak performance. These are designed to help
manage, control and maintain computer resources.
Some examples of utility software are:
- Virus scanning Software /
Antivirus: It protects computers from computer viruses.
- Scandisk: It scans disks for any potential problems on
them, such as bad disk areas or any physical error.
- Backup software: It helps in making copies of your files and
even an entire computer hard drive for backup and restoration.
- Debuggers: These are used mainly to solve programming
errors.
- Disk Defragmenter
software: It assists you in
reorganizing those disk drives which have been scattered across several
hard disk locations while files are saved, deleted and resaved again.
- File managers: They provide you a convenient method to perform
routine data management, management tasks and e-mail recovery.
iii) Language processor:
It is a special kind of computer software which translates the programs
written in one language into another language. It is compulsory for both low
and high-level language. The types of language translators are:
- Compiler
- Interpreter
- Assembler
2)
Application Software:
Application software is used to solve application type of problems.
Business software, educational software and databases are some forms of
application software. This software enables the users to accomplish certain
specific tasks and utilizes the capacities of a computer directly to a
dedicated task. It can manipulate numbers, texts and graphics. It can also
focus on a certain single task like work processing, spreadsheet or playing of
audio and video files. Its types are:
i) Package software:
Package software is for general purposes. Designed by software companies,
it is mainly to generalize the tasks. Some common package software are:
Word Processing Software:This software enables the
users in creating and editing documents. MS-Word, Notepad, Word pad and some
other text editors are some most popular examples of Word Processing Software.
Database Software:It organizes the data and
enables the users to achieve database operations. It also allows the users to
store and retrieve data from databases. MS Access, Oracle, etc. are its
examples.
Spreadsheet Software:By displaying multiple cells
that make up a grid, this software simulates paper worksheets and allows the
users to perform calculations. Its examples are Apple Numbers, Excel, Lotus
1-2-3, etc.
Multimedia Software:This software allows the users
to create and play audio and video media. Audio converters, burners, players,
video encoders and decoders are some forms of it. Real Player and Media Player
are examples of this software.
Presentation Software:This software is best used to
display information in the form of a slide show. It includes 3 functions.
- Editing, allowing insertion and formatting
of text.
- A functionality of executing the slide
shows.
- Methods to include graphics in the text.
Microsoft Power Point is its best example.
ii) Tailored software:
Tailored Software is also called small type of software. Tailored software
is for specific purposes. Written in high-level languages such as C, JAVA, C++,
COBOL (Common Business Oriented language), etc. these types of software are
developed for a specific task. Banking software, hotel reservation software,
hospital software, billing software, etc. are its examples.
Computer
Virus
Computer viruses are the programs or malware which are loaded onto your
computer by ‘mean’ people, without your knowledge. These viruses replicate
relentlessly and infect computer programs. They might even delete or corrupt
your computer data or erase your hard disk too. These virus programs are placed
into commonly used programs. So, when those programs are run, the attached
virus infects the executable program or file.
These viruses are not of same
purposes. Some have destructive intents while some are designed to play
annoying tricks. Some might present themselves as jokes while doing destructive
functions secretly. There
are 2 major kinds of viruses. They are:
- Compiled Viruses:executed by the operating system.
- Interpreted Viruses:executed by an application.
Symptoms of Virus:
- Slowing down of the speed
of the computer.
- Change in files’ extension.
- A long time in the
loading of a program.
- Showing of unusual error
message on the screen.
- System data corruption.
- Memory space reduction in
a computer.
- Inaccessibility to the
location of files.
Prevention of Virus:
- Password protection
should be employed.
- Execute familiar programs
only as to their origin. Programs sent by e-mail should always be
suspicious.
- Load software only from
original CDs or disks instead of pirated or copied ones.
- Check all shareware and
free programs downloaded from online services with a virus checking
program.
- Computer uploads and
“system configuration” changes should be always performed by the computer
owner.
- Purchase or download an
anti-virus program that runs as you boot or work on your computer. Also, update it frequently.
Types of Viruses
- Trojan Horse: Appearing as a useful and desired
function, a Trojan Horse program neither replicates nor copies itself, but
causes damages and compromises the security of a computer. This virus
program may arrive in the form of software of some sort or a joke program
that must send by someone or carried by another program.
- Worm: It is a program that copies and
facilitates self-distribution from one disk drive to another or by copying
itself using e-mail or any other transport mechanism.
- Macro Virus: These viruses infect documents such
as MS Excel or MS Word and other similar documents. These viruses use
another application’s macro programming language to distribute themselves.
- Boot sector Virus: Normally, spread by floppy disks,
this virus attaches itself to the 1st part of the hard
disk which is read by the computer upon boot up.
- Polymorphic Virus: A Polymorphic Virus is a very
sophisticated virus program as it not only replicates itself by creating
multiple files itself but also changes its digital signature each time it
replicates.
- Memory Resident Virus: This virus is initiated from a virus
within the computer and they stay in a computer’s volatile memory (RAM)
after its initiating program closes.
Computer Antivirus
An antivirus is a computer
software designed to scan, detect and remove viruses and malicious software
from computers. This software defends your computer against computer viruses
that threaten to infect your computer files and systems. In order to be an
effective defense virus, an antivirus needs to run all the times in the
background and should be kept updated frequently.
At the simplest level, an operating system does two things:
- It manages the hardware and software resources of the system. In a desktop computer, these resources include such things as the proccesor memory, disk space and more (On a cell phone, they include the keypad, the screen, the address book, the phone dialer, the battery and the network connection).
- It provides a stable, consistent way for applications to deal with the hardware without having to know all the details of the hardware.
The first task, managing the hardware and software resources, is very important, as various programs and input methods compete for the attention of the central processing unit (CPU) and demand memory, storage and input/output (I/O) bandwidth for their own purposes. In this capacity, the operating system plays the role of the good parent, making sure that each application gets the necessary resources while playing nicely with all the other applications, as well as husbanding the limited capacity of the system to the greatest good of all the users and applications.
The second task, providing a consistent application interface, is especially important if there is to be more than one of a particular type of computer using the operating system, or if the hardware making up the computer is ever open to change. A consistent application program interface (API) allows a software developer to write an application on one computer and have a high level of confidence that it will run on another computer of the same type, even if the amount of memory or the quantity of storage is different on the two machines.
Even if a particular computer is unique, an operating system can ensure that applications continue to run when hardware upgrades and updates occur. This is because the operating system -- not the application -- is charged with managing the hardware and the distribution of its resources. One of the challenges facing developers is keeping their operating systems flexible enough to run hardware from the thousands of vendors manufacturing computer equipment. Today's systems can accommodate thousands of different printers, disk drives and special peripherals in any possible combination.
Within the broad family of operating systems, there are generally four types, categorized based on the types of computers they control and the sort of applications they support. The categories are:
- Real-time operating system (RTOS) - Real-time operating systems are used to control machinery, scientific instruments and industrial systems. An RTOS typically has very little user-interface capability, and no end-user utilities, since the system will be a "sealed box" when delivered for use. A very important part of an RTOS is managing the resources of the computer so that a particular operation executes in precisely the same amount of time, every time it occurs. In a complex machine, having a part move more quickly just because system resources are available may be just as catastrophic as having it not move at all because the system is busy.
- Single-user, single task - As the name implies, this operating system is designed to manage the computer so that one user can effectively do one thing at a time. The Palm OS for Palm handheld computers is a good example of a modern single-user, single-task operating system.
- Single-user, multi-tasking - This is the type of operating system most people use on their desktop and laptop computers today. Microsoft's Windows and Apple's MacOS platforms are both examples of operating systems that will let a single user have several programs in operation at the same time. For example, it's entirely possible for a Windows user to be writing a note in a word processor while downloading a file from the Internet while printing the text of an e-mail message.
- Multi-user - A multi-user operating system allows many different users to take advantage of the computer's resources simultaneously. The operating system must make sure that the requirements of the various users are balanced, and that each of the programs they are using has sufficient and separate resources so that a problem with one user doesn't affect the entire community of users. Unix, VMS and mainframe operating systems, such as MVS, are examples of multi-user operating systems.
It's important to differentiate between multi-user operating systems and single-user operating systems that support networking. Windows 2000 and Novell Netware can each support hundreds or thousands of networked users, but the operating systems themselves aren't true multi-user operating systems. The system administrator is the only "user" for Windows 2000 or Netware. The network support and all of the remote user logins the network enables are, in the overall plan of the operating system, a program being run by the administrative user.
When you turn on the power to a computer, the first program that runs is usually a set of instructions kept in the computer's read-only memory (ROM). This code examines the system hardware to make sure everything is functioning properly. This power-on self test(POST) checks the CPU, memory, and basic input-output systems(BIOS) for errors and stores the result in a special memory location. Once the POST has successfully completed, the software loaded in ROM (sometimes called the BIOS or firmware) will begin to activate the computer's disk drives. In most modern computers, when the computer activates the hard disk drive, it finds the first piece of the operating system: the bootstrap loader.
The bootstrap loader is a small program that has a single function: It loads the operating system into memory and allows it to begin operation. In the most basic form, the bootstrap loader sets up the small driver programs that interface with and control the various hardware subsystems of the computer. It sets up the divisions of memory that hold the operating system, user information and applications. It establishes the data structures that will hold the myriad signals, flags and semaphores that are used to communicate within and between the subsystems and applications of the computer. Then it turns control of the computer over to the operating system.
The operating system's tasks, in the most general sense, fall into six categories:
- Processor management
- Memory management
- Device management
- Storage management
- Application interface
- User interface
While there are some who argue that an operating system should do more than these six tasks, and some operating-system vendors do build many more utility programs and auxiliary functions into their operating systems, these six tasks define the core of nearly all operating systems. Next, let's look at the tools the operating system uses to perform each of these functions.