System software is any computer software that provides the infrastructure over which programmes can operate. It manages and controls computer hardware so that application software can perform. Operating systems, such as Microsoft Windows, Mac OS X or Linux, are prominent examples of system software. System software is software that basically makes the computer work. Besides operation systems, other examples are anti-virus software, communication software and printer drivers. Without the system software the computer doesn't work.
The purpose of systems software is to insulate the applications programmer as much as possible from the details of the particular computer complex being used, especially memory and other hardware features, and such accessory devices as communications, printers, readers, displays, keyboards, etc.
Types of system software
Operating System
An operating system is the infrastructure software component of a computer system; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer. Almost all computers, including handheld computers, desktop computers, supercomputers, and even video game consoles, use an operating system of some type or other. One of the purposes of an operating system is to handle the details of the operation of the hardware. This relieves application programmes from having to manage these details and makes it easier to write applications.
Operating systems offer a number of services to application programs and users. Users may also interact with the operating system with some kind of software user interface like typing commands by using command line interface or using a graphical user interface.
Command line Interfaces
CLIs are often used by programmers and system administrators, in engineering and scientific environments, and by technically advanced personal computer users. CLIs are also popular among people with visual disability, since the commands and feedbacks can be displayed using Refreshable Braille displays.
Some applications provide both a CLI and a GUI. The engineering/scientific numerical computation package MATLAB provides no GUI for some calculations, but the CLI can handle any calculation.
Graphical user interfaces
Graphical user interface (GUI - pronounced GOO-ee) is a program interface that takes advantage of the computer's graphics capabilities to make the program easier to use. Well-designed graphical user interfaces can free the user from learning complex command languages. On the other hand, many users find that they work more effectively with a command-driven interface, especially if they already know the command language.
The first graphical user interface was designed by Xerox Corporation's Palo Alto Research Center in the 1970s, but it was not until the 1980s and the emergence of the Apple Macintosh that graphical user interfaces became popular. One reason for their slow acceptance was the fact that they require considerable CPU power and a high-quality monitor, which until recently were prohibitively expensive.
In addition to their visual components, graphical user interfaces also make it easier to move data from one application to another. A true GUI includes standard formats for representing text and graphics. Because the formats are well-defined, different programmes that run under a common GUI can share data. This makes it possible, for example, to copy a graph created by a spreadsheet program into a document created by a word processor. Many DOS programmes include some features of GUIs, such as menus, but are not graphics based. Such interfaces are sometimes called graphical character-based user interfaces to distinguish them from true GUIs.
The operating system acts as an interface between an application and the hardware. The user interacts with the hardware from "the other side". The operating system is a set of services which simplifies development of applications. Executing a programme involves the creation of a process by the operating system. The kernel (the kernel is the central component of most computer operating systems) creates a process by assigning memory and other resources, establishing a priority for the process (in multi-tasking systems), loading programme code into memory, and executing the program. The program then interacts with the user and other devices performing its intended function.
Device drivers
In computing, a device driver or software driver is a computer programme allowing higher-level computer programmes to interact with a hardware device. A driver typically communicates with the device through the computer bus or communications subsystem to which the hardware is connected. When a calling programme invokes a routine in the driver the driver issues commands to the device. Once the device sends data back to the driver, the driver may invoke routines in the original calling programme. Drivers are hardware-dependent and operating-system-specific. A device driver simplifies programming by acting as an abstraction layer between a hardware device and the applications or operating systems that use it.
Utility software
Utility software is a type of computer software. It is specifically designed to help manage and tune the computer hardware, operating system or application software, and perform a single task or a small range of tasks.
Examples: Disk defragmenters, System profilers, System Utilities and Virus scanners.
Virus scanners
Virus scanner (Antivirus software) is computer software used to identify and remove computer viruses, as well as many other types of harmful computer software, collectively referred to as malicious software or in short as malware.
There are several methods that antivirus software can use to identify malware. Depending on the software, more than one method may be used.
Signature based detection is the most common method that antivirus software utilizes to identify malware. To identify viruses and other malware, antivirus software compares the contents of a file to a dictionary of virus signatures. Because viruses can embed themselves in existing files, the entire file is searched, not just as a whole, but also in pieces.
Malicious activity detection is another way to identify malware. In this approach, antivirus software monitors the system for suspicious programme behaviour. If suspicious behaviour is detected, the suspect programme may be further investigated, using signature based detection or another method listed in this section. This type of detection can be used to identify unknown viruses.
Heuristic-based detection is used by more advanced antivirus software. Like malicious activity detection, heuristics can be used to identify unknown viruses. This can be accomplished in one of the two ways; file analysis and file emulation. File analysis is the process of searching a suspect file for virus-like instructions. For example, if a programme has instructions to format the C drive, antivirus software might further investigate the file. One demerit to this approach is that the computer may run slow if every file is analysed. File emulation is another heuristic approach. File emulation involves executing a programme in a virtual environment and logging what actions the programme performs. Depending on the actions logged, the antivirus software can determine if the programme is malicious or not and then carry out the appropriate actions.
No comments:
Post a Comment