We know that computer understands instructions in machine code, i.e. in the form of 0s and 1s. It is difficult for us to write computer program directly in machine code. The programs are written mostly in high-level languages, i.e. BASIC, C++, Python etc. A program written in any high-level programming language (or written in assembly language) is called the Source Program or Source Code.
The source code cannot be executed directly by the computer. The source code must be converted into machine language to be executed. The program translated into machine code is known as Object Program or Object code.
The special translator system software that is used to translate the program written in high-level language (or Assembly language) into machine code is called language processor or translator program.
The language processors can be any of the following three types- Assembler, Compiler and Interpreter.
The Assembler is used to translate the program written in Assembly language into machine code. The input of Assembler is a source program that contains assembly language instructions. The output generated by assembler is the object code or machine code understandable by the computer.
The language processor that translates the complete source program as a whole in one go into machine code is called compiler. Some of the examples are C and C++ compilers.
The program translated into machine code is called the object program. The source code is translated to object code successfully if it is free of errors. If there are any errors in the source code, the compiler specifies the errors at the end of compilation with line numbers. The errors must be removed before the compiler can successfully recompile the source code again.
The language processor that translates a single statement of source program into machine code and executes it immediately before moving on to the next line is called an Interpreter. If there is an error in the statement the interpreter terminates its translating process at that statement and displays an error message.
Only after removal of the error, the interpreter moves on to the next line for execution.
Qus. What are various categories of software?
Ans: Software are classified into following categories –
(i) System Software
a. Operating System
b. Language Processor
(ii) Application Software
c. Customized software
d. Developer Tools
Qus. What is the difference between an interpreter and a compiler?
Interpreter: Interpreter is a type of system software that translates and executes instructions written in a computer program lini-by-line, unit by unit etc. It is slower in execution because each time when you run the program translation is required.
Compiler: Compiler is another type of system software that translates and executes instructions written in a computer program in one go. Once compiled program need not to translate again so it works faster.
Qus. What is application software? Why it is required?
Ans: Application software is the set of programs necessary to carry out operations for a specific task. Such as for word processing there are many application software like MS-Word, Wordpad etc. These software are required to perform special task using the computer like painting, recording, typing, data handling etc.
Qus. What is system software?
Ans: The software that controls internal computer operations is called system software. It manages all the resources of a system. Its example is Operating System.
Qus. Discuss the role of utility software in the context of computer performance?
Ans: Utilities are those application programs that assist the computer by performing housekeeping functions like backing up disk or scanning/cleaning viruses or arranging information etc. its example is Antivirus software.
Qus. What is the importance of an OS?
Ans: An operating system is a program which acts as an interface between a user and the hardware. It manages all the resources of the computer system. It provides and environment to the user to work with. All the application are installed after the operating system is installed. It manages memory, processing, storage, memory etc.
Qus. What is the utility of these software?
(a) disk fragmentor (b) backup software
(a) disk fragmentor: A file is fragmented when it becomes too large for your computer to store in a single location on a disk. When this happens, your computer splits the file up and stores in pieces. You can use fragmented files, but it takes your computer longer to access them.
(b) Backup software: This utility program facilitates the backing-up of disk. Back-up means duplicating the disk information so that in case of any damage or data-loss, this backed-up data may be used.
Qus. Describe the role of Operating System as a resource Manager.
Ans: A computer system has many resources (hardware and software), which may be require to complete a task. The commonly required resources are input/output devices, memory, file storage space, CPU etc. The operating system acts as a manager of the above resources and allocates them to specific programs and users, whenever necessary to perform a particular task. Therefore operating system is the resource manager i.e. it can manage the resource of a computer system internally. The resources are processor, memory, files, and I/O devices. In simple terms, an operating system is the interface between the user and the machine.
Operating System Management Tasks
1. Processor management which involves putting the tasks into order and pairing them into manageable size before they go to the CPU.
2. Memory management which coordinates data to and from RAM (random-access memory) and determines the necessity for virtual memory.
3. Device management which provides interface between connected devices.
4. Storage management which directs permanent data storage.
5. Application which allows standard communication between software and your computer.
6. User interface which allows you to communicate with your computer.
Qus. What are the advantages of parallel computing?
Ans: Parallel computing is a type of computation in which many calculations or the execution of processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. It refers to the simultaneous working of multiple processors to solve a computational problem. Its advantages are –
(i) It saves time and the cost too.
(ii) It makes easier to solve larger or complex problems.
(iii) It provides efficient use of underlying hardware.
(iv) It can utilize the resources available remotely.