COMPUTER HARDWARE AND SOFTWARE
(Part 2 Final)
Computer Software
When we want to give the some instructions to the computer that will be in the form of SW. Software is very important for the Hardware because computer understand the Machine Language which is in the form of different type of software. We give the instructions to the computer which are to be written in a language that is readily understood by computer uP.
MAJOR TYPES OF SW
System SW:
System SW is programs that are used to Control the overall operation of the computer.System software is responsible for controlling, integrating, and managing the individual hardware components of a computer system.System software performs tasks like transferring data from memory to disk. Particular kinds of system software are used to loading programs, operating systems, linkers, compilers, device drivers, assemblers and utilities.
Operating System:
Operation System Interacts directly with HW. they performs its work invisibly to control the internal functions of a computer, for example maintaining files on the disk drive, managing the screen, controlling which tasks the uP performs and in what order. It interacts directly with the computer HW. Other SW normally does not directly interact with the HW, for example UNIX Solaris DOS, CP/M VMS Firmware, Windows Mac OS Linux etc.
Utilities:
Utilities are used to develop or maintain other programs. A utility is a special and nonessential part of the operating system. Utilities are a small program that provides an addition to the capabilities provided by the operating system. These are the computer programs that perform a particular function related to computer system management and maintenance few examples are as below:
- Disk backup SW
- Anti-virus SW
- Disk optimization SW
- Data compression SW
Device Drivers:
Device driver are often called a driver, driver is a computer program that is intended to allow another program to interact with a hardware device. Think of a driver as a manual that gives the operating system instructions on how to use a particular piece of hardware. A device driver essentially converts the more general input/output instructions of the operating system to messages that the device type can understand.
Application SW:
Applications SW are programs that interact directly with the user for the performance of a certain type of work Scientific/engineering/graphics SW, Mathematica; AutoCad; Corel Draw Business SW, The billing system for the mobile phone company
Productivity SW:
Productivity SW is useful for the user work. In this we have Word processors, Spreadsheets, Entertainment SW, Games, Educational SW and Electronic encyclopedias etc.
Machine Language:
Machine Language is directly understandable by a computer's CPU. Machine Language code is composed only on two binary digits 0 and 1.
Every CPU has its own machine language. If CPU A understands the full language of CPU B its means that A is compatible with B. CPU B may not be compatible with CPU A, as A may know a few codes that B does not.
Human programmers write programs in a language that is easy to understand for them. They use language translators to convert that program into machine language. It converts the human understandable code in uPs understandable code, i.e. a language that is easy to understand for the uPs
Language Translators:
Language translators are the Programs that take code written in a HLL (high Level Language) and translate it into a low-level language that is easily understood by the uP.
Compiler translates:
The compiler translates a program which is written in a HLL in one go. The translated code is then used by the uP whenever the program needs to be run.
Interpreter translates:
The HLL program translates one statement at time. It reads a single statement, translates it into machine language and passes that machine language code to the uP after that they read second statement and translates, and so on …
Software Development:
A software development process is a process used to develop computer software. The SW development process involves many steps like coding, which is typing and it is around 15% of the efforts. The instructions in a high-level language are only a small part of that process. Other steps are;
- Concept ad Feasibility
- User Requirements
- Developer Specs
- Planning
- Design
- Implementation