CBSE Notes for Class 7 Computer in Action – Computer Fundamentals
A computer system can be considered to be made up of two main components—the hardware and the software. All the physical devices such as the monitor, the mouse, the keyboard and the CPU that we can touch and feel comprise the hardware components. The hardware components alone cannot do anything. These components have to be given instructions to perform any task. Software is a set of programs and related data that are used to give instructions to the hardware.
Software or programs are written using computer languages. Let us learn more about computer languages and the various types of software.
CLASSIFICATION OF COMPUTER LANGUAGES
There are two broad categories of computer languages.
- Low-level languages
- High-level languages
Low-level Languages
These programming languages are designed for a particular computer architecture and are therefore, often described as machine-oriented languages.
Low-level languages can be divided into two categories.
- Machine language
- Assembly language
Machine language
Machine language is the language in which instructions are given in the form of strings of Os and Is.
Machine language programs are understood by the computer without any translations and hence, are executed very fast as compared to programs written in other languages. Machine language programs are machine dependent, that is, the program written for one computer may not work on another. A complete knowledge of computer architecture is required to write a program in machine language. It is very difficult for programmers to write programs in this language.
Assembly language
Assembly language is the language in which instructions are given in the form of abbreviated words called mnemonics. For example, the mnemonic LD is used for loading a program, MOV is used for moving data and ADD is used for adding data.
Since instead of Os and Is, mnemonics are used in assembly language, it is easier to write a program in assembly language compared to machine language. However, just like machine language, a complete knowledge of the architecture of the processor and the computer is required for writing programs in assembly language. An assembly language program is also machine dependent. Programs written in assembly language are not directly executable and require a translator known as assembler. We will learn about assemblers later in this chapter.
High-level Languages
High-level language is the language in which programs are written using English like words and mathematical symbols. It is very easy for programmers to learn and use high-level languages.
Advantages of high-level languages
The advantages of high-level languages are as follows.
- Understandability: Programs written in these languages are easier to read and understand than those in low-level languages.
- Debugging: It is very easy to find and remove errors in programs written using high-level languages.
- Portability: High-level language programs are machine independent. Programmers do not require details of underlying hardware to write programs. Programs written for one computer can be executed on any other computer with minor changes or no changes at all.
Examples of high-level languages are Basic, Fortran, Pascal, C, C++ and Java.
Some of the high-level programming languages used these days include Python, Visual Basic, Delphi, Perl, PHP, LISP, Prolog, ECMAScript and Ruby.
Software can be created with the help of these languages very easily. Translators used for converting high-level language programs into corresponding machine language are known as compilers or interpreters. You will learn about compilers and interpreters later in this chapter.
BINARY NUMBER SYSTEM
We know that the computer can only understand the binary or machine language, which consists of Os and Is. The reason for this is that computer is an electronic machine and thus knows about only two states—ON (represented by 1) and OFF (represented by 0) as illustrated in Figure 1.1.
The binary language is based on the binary number system.
In mathematics, we make use of ten unique digits (0, 1,2,3, 4, 5, 6, 7, 8, 9) to form numbers. The number system based on these ten digits is known as the base 10 or decimal number system. The digits in a number have a place value such as ones, tens, hundreds and thousands. The place value is specified in powers of 10 for the decimal number system.
Thus, the numbers 189 and 2395 can also be expressed as:
In the binary number system, we make use of two digits (0, 1) to form numbers. This number system is also known as base 2 number system. The digits 0 and 1 are known as binary digits or bits.
This number system is different from the decimal number system that we use in everyday mathematics.
In the binary number system, units of information are expressed as multiples of bits.
For example,
1 Nibble = 4 Bits
1 Kilobyte or 1 KB = 1024 Bytes
1 Gigabyte or 1 GB = 1024 MB
1 Petabyte or 1 PB = 1024 TB
1 Zettabyte or 1 ZB = 1024 EB
1 Byte = 8 Bits
1 Megabyte or 1 MB = 1024 KB
1 Terabyte or 1 TB = 1024 GB
1 Exabyte or 1 EB = 1024 PB
1 Yottabyte or 1 YB = 1024 ZB
Converting Decimal Numbers to Binary Numbers
To convert a decimal number to a binary number, we have to divide the decimal number by 2 repeatedly and write the remainder on the right-hand side. This process should be continued till you reach a zero quotient. The remainders have to be read from bottom to top to form the binary number.
Let us consider a few examples.
Example 1: Converting decimal number 175 into its binary equivalent.
Thus, the decimal number 175 is equal to 10101111 in binary form.
The above statement can be expressed as (175)10 = (10101111)2. The base of the number is written as subscript.
Example 2: Converting decimal number 38 into its binary equivalent.
Thus (38)10 = (100110)2
Converting Binary Numbers to the Equivalent Decimal Form
To convert a binary number to its decimal form, a positional value is given to every digit in the binary number. The positional value is in terms of powers of 2. The digits are multiplied with their positional values and the products are added to get the decimal number.
Example 1: Converting binary number (10011) into its decimal equivalent.
Each bit in the binary number is given a positional value in terms of increasing powers of 2 starting with the extreme right or the right-most bit.
Example 2: Converting binary number (111101) into its equivalent decimal number.
CLASSIFICATION OF COMPUTER SOFTWARE
Software is a collection of programs that provide instructions to computer to perform specific tasks. Computer software can be classified into the following categories.
System Software
System software is required to control the operations of a computer system. It helps to manage and run the computer hardware in an efficient manner. It controls all operations like reading data from input devices, transmitting processed information to output devices, checking system components and converting data/instructions to a form that a computer can understand.
The system software can further be classified into three categories.
- Operating system
- Language processor
- Utility software
Operating System
An operating system serves as an interface between the user and the hardware. The purpose of the operating system is to provide an environment in which a user can execute programs. It also ensures that the computer hardware is used in an efficient manner. A computer system has many resources such as CPU time, memory space, file storage space, I/O devices, system memory, cache memory, hard disk space and so on. These resources enable a computer system to function efficiently and are responsible for its overall performance. The operating system acts as a resource manager by allocating these resources to specific programs and applications as and when required.
Some popular operating systems used on desktops and laptops are Microsoft Windows, Linux and Mac OS.
Android and iOS are examples of popular operating system used on mobile phones.
Language processor
As discussed earlier, a computer understands the language of Os and Is,
called the binary or machine language. Writing programs in machine language is very difficult. This led to the development of assembly and then high-level languages. A program written in an assembly or a high-level language has to be converted or translated into its equivalent machine language form for the computer to understand and execute it. The software program that does this task of translation is called a language processor.
Language processors are divided into three types.
- Assembler: An assembler converts a program written in an assembly language into its equivalent machine language.
- Compiler: A compiler converts a program or a source code written in a high-level language into the machine language before execution. It runs through the entire high-level language program in one go and reports all the errors it finds in the source code along with the line numbers. After all the errors are removed, the compiler gives the machine-level equivalent code called the object program or the object code. The saved object program can be executed a number of times without translating it again.
- Interpreter: An interpreter is a language processor that works by reading and executing the source code of a high-level language program line by line. If there is an error in any line, it reports it at the same time and program execution cannot resume until the error is rectified. The object code produced by the interpreter cannot be saved. So, every time the program is run, it needs to be interpreted again to obtain the object code.
QBASIC is an example of a high-level language and we have made use of the QBASIC interpreter to execute programs.
Utility software
Utility software are programs designed to perform maintenance work on a computer system to help in its smooth functioning. Examples of this software are Disk Cleanup utility, Antivirus software (such as Norton, AVG, Quick Heal) and Data Compression software (WinZip, WinRAR) and so on.
Application Software
Application software is a set of programs designed to help the user to perform specific tasks. Numerous application software programs have been developed over the years to serve different purposes. We can choose an application software depending upon our requirements.
Application software can be divided into two categories.
General purpose application software
General purpose application software is developed keeping in mind the needs and requirements of general people. Some examples of such software are:
- Word processing Software: This software is used for creating documents such as letters, stories and reports. All the types of word processing software provide options for creating, editing, formatting and printing text and graphics in a document. Examples of word processing software are Word, WordPerfect and Writer (OpenOffice.org).
- Spreadsheet Software: This software accepts data values in row and column format and let us create, manipulate, calculate and analyse data in the desired manner. Examples of spreadsheet software are Excel, Lotus 1-2-3 and Calc (OpenOffice.org).
- Database Management System (DBMS): It is a software program that let us store large amounts of data in an organised manner. A DBMS can store details about customers, employees, products, students and so on. It also provides tools for searching data and generating reports based on conditions. Examples of DBMS software are Oracle, Access, Visual FoxPro and Base (OpenOffice.org).
- Desktop Publishing Software (DTP): This type of software is used for designing books, journals, brochures, newspapers and so on. Examples of desktop publishing software are QuarkXPress and Adobe InDesign.
- Graphics, Multimedia and Presentation Software: Graphics software is used to work with images. The software that manipulates images, text, sound, animation and video is called multimedia software. Presentation software is used to display information in a dynamic manner such as a slideshow. Examples of this category of software are Adobe Photoshop (Graphics software), Adobe Director (Multimedia software), and PowerPoint and OpenOffice.org Impress (Presentation software).
Specific purpose application software
Specific purpose application software is developed keeping in mind the requirements of an organisation or an individual. Software programs that are designed especially to achieve specific tasks are known as customised software. Examples of this type of software are Accounting Management software, Reservation system, Human Resource Management system, Attendance system, Payroll system, School Inventory and Control system and Billing system.
OPEN SOURCE INITIATIVE
The Open-Source Initiative (OSI) is an organisation dedicated to promote open-source software.
Open-source software is distributed under a licensing arrangement. It allows the source code to be accessible to the users and organisations so that they may study and change it to achieve new levels of quality, growth and innovation.Open-source software may or may not be available free of cost.
On the other hand, proprietary software is a computer software on which there are restrictions on use, modification, copying or redistribution. These restrictions can be imposed by preventing access to the source code or by legal means such as through copyright and patents.
These days, a growing number of people and organisations have started using open-source software. The basic idea behind open-source software is to promote improvement in the quality of the software. When an underlying source code is available, people can improve and adapt it according to their needs and also help in fixing the errors. Developers believe that this collaborative work produces better software than the case in which only a very few programmers have the right to modify the source code.
Some examples of popular open-source software are:
- Ubuntu (Operating System)
- Android (Operating System for smartphones and tablet computers)
- OpenOffice [Office Suite that includes a word processor (Writer), a spreadsheet (Calc), a presentation application (Impress), a drawing application (Draw), a formula editor (Math) and a database management application (Base)]
- Mozilla Firefox (Web browser)
- Audacity (Sound editor)
- GIMP (Image editing software)
- VLC (Media player)