Software Concepts

This page contains the CBSE class 11 Computer Science with Python chapter 2, Software Concepts . You can find the questions/answers/solutions for the chapter 2 of Unit 1 of CBSE class 11 Computer Science with Python in this page.
Software Concepts
Answer the following questions
a)
‘Hardware is of no use without software and software cannot be used without hardware.’ Explain.
b)
How can the software be classified? Name at least one software in each of the categories.
c)
What is an operating system? Write names of any two popular operating systems.
d)
What is the role of a Page Map Table in Virtual Memory Management?
e)
Explain the major functions of an operating system.
f)
What is the purpose of a language processor?
g)
Differentiate between:
(i)
With this analysis at our disposal, let’s now proceed with the journalizing of this transaction.An interpreter nd a compiler.
(ii)
Priority Scheduling and Round Robin Scheduling
(iii)
Buffering and SPOOLING
(iv)
Time Sharing and Real Time Operating System
h)
Explain any two utilities.
i)
What is word processing? Discuss the purpose of word processing software.
j)
What is the difference between an Open source Software and a Freeware. Write 2 examples of each.
k)
How are Freeware and Free Software different?
a) ‘Hardware is of no use without software and software cannot be used without hardware.’ Explain.
The saying Hardware is of no use without software and software cannot be used without hardware is indeed true because every computer systems have both hardware and software existing together and each depend on the other. Hardware refers to the tangible part of the computer that is used to interact with the computer. Software refers to set of programs which are used to perform various tasks on the computer and there by controlling the operations of the computer. The hardware needs software to perform its operations. Software requires hardware on which it can reside and run. Hence, only with the two co-operating can the actual working of the computer take place.

b) How can the software be classified? Name at least one software in each of the categories.
At a broad level, the software can be classified as follows.
1)
System software: This is the software that is directly related to coordinating computer operations and perform tasks associated with controlling and utilizing computer hardware. Examples include Windows, Machintosh, Linux, Android, iOS, C++ compiler, Java interpreter etc.
2)
Utility software: It is the software that provides certain tasks that help in proper maintenance of the computer. Examples include Norton Antivirus, WinZip compressor, Windows Explorer etc.
3)
Application software: It is the software bought by the user to perform specific applications or tasks. Examples include Office 365 suite (which includes Microsoft Word, Microsoft Excel etc), Oracle, MS SQL Server etc.
The following diagram gives more detailed classification of the software.
Software
System
Softwre
Utility
Software
Application
Software
Operating
System
Language
Translators
General
Purpose
Customized
Software
Compiler
Assembler
Interpreter

c) What is an operating system? Write names of any two popular operating systems.
An operating system is a crucial part for the operation of the computer. It is the first program that is loaded into the memory as soon as the computer is switched on. It is a set of instructions and programs that monitor and regulate the working of a computer. It is also responsible to provide various services which the application software, programmers and users use. Few of the various responsibilities of the operating system are as follows:
a.
Managing the hardware
b.
Managing the software
c.
Input processing
d.
Output Processing
e.
Information flow into and out of the processor
f.
Prioritization of various tasks to be handled etc
Operating system also acts as an interface which the user can interact with to communicate with the computer hardware.
Few of the most popular Operating systems are Windows, Macintosh, Linux, Unix, Solaris etc

d) What is the role of a Page Map Table in Virtual Memory Management?
Using the virtual memory technique, it is possible to run programs that require memory more than the main memory of the computer. While using this technique, the program is partially loaded onto the memory and starts executing. To achieve this, the operating system divides the main memory into multiple fixed-length continuous blocks called pages. A part of the large program is then loaded onto the main memory. This is known as active set. The remaining part of the program is then stored in the secondary storage device in the form of blocks or sectors or tracks. Page Map Table (PMT) helps the operating system to keep track of which page of main memory is storing which block of secondary memory. It uses the virtual addresses (which is not the real physical address) to map either the main memory or the secondary memory.

e) Explain the major functions of an operating system.
Few of the major functions of the operating system are as follows:
1. Processor Management: In this, it manages the CPU through scheduling in which it allots the CPU time to different processes. Scheduling can be either
a.
priority scheduling in which the tasks are run based on the priority
b.
or round robin/time sharing in which each task is run for a fixed amount of time.
2. Divice Management: In this, the operating system communicates with the hardware and the attached devices and maintains a balance between them and the CPU. This can be done either through
a.
Buffering or overlapped processing in which the input/output data is temporarily stored in input/output buffers and then sent to/from the program.
b.
Or Spooling (Simultaneous Peripheral Operation On Line) where-in the processing of different tasks on the same input/output device is managed through temporarility storing the data on the hard disk of the device and processing tasks one by one.
3. Memory Management: The program that need to be executed is loaded into memory and then once the program completes the execution, the memory is cleared. This can be achieved through partitioning in which the memory is divided into multiple partitions of fixed or varying lengths into which the programs are loaded and executed. Or it could be achieved through virtual memory in which the main memory is divided into equal sizes called pages and even programs which require more memory than main memory can be loaded partially into memory and executed by maintaining Page Map Tables.
4. File Management: The Operating system manages file/folders/directories by maintaining File Allocation Table (FAT) which is used for storing general information about files. The file manager helps in creating, editing, copying and allocating the memory to the files and updating the FAT tables. It also handles the read/write/edit permissions of the files.

f) What is the purpose of a language processor?
Machine code is the only language that the computers can understand. This machine language is primitive and comprises of only zeros(0) and ones(1). However, it is very complex and tedious task for humans to write the programs in the machine language. So, we write programs in assembly language or high level languages (which are human readable) like BASIC, C++, Python, Java etc. These programs are commonly known as source program or source code. However, as these programs can not be directly executed by the computers, they are translated to the machine code before running them. The special translators used for this purpose are known as language processors.

g) Differentiate between:
(i)
An interpreter and a compiler.
(ii)
Priority Scheduling and Round Robin Scheduling
(iii)
Buffering and SPOOLING
(iv)
Time Sharing and Real Time Operating System
The following is the differentiation between an interpreter and a compiler.
Basis
Interpreter
Compiler
1. Mode of Translation
It translates the source program into machine code processing one statement at a time.
It translates the whole source program into machine code all at once. The program thus translated is known as Object Code. The source program can be translated to object code only if there are no errors.
2. Execution Methodlogy
The translated line is immediately executed.
The program is executed only after the entire translation.
3. Error Handling
If an error is encountered in a line it immediately terminates the translation.
All errors are shown after compilation. The program need to be recompiled after resolving all the errors.
4. Execution After Errors
Execution of the next line starts after resolving the reported error.
The program will start executing only after all the errors are resolved.
5. Examples
Examples are PHP, Python and Ruby interpreters.
Examples are C and C++ compilers
The following is the differentiation between priority scheduling and round robin scheduling.
Basis
Priority Scheduling
Round Robin Scheduling
1. Scheduling
The tasks are scheduled according to priority and gets the CPU time accordingly.
Each task is scheduled a fixed amount of time to execute.
2. Prioritization
Higher priority tasks need to be completed first before the CPU time is allocated to the low priority tasks.
Every task is guaranted to be started in a given amount of time but the completion is not as per the priority.
3. Yielding
Execution of the task continues until the task is completed or the operating system interrupts this task due to other priorities.
If the task is not completed within the given time then it is placed at the end of the queue. It gets time to execute during the next cycle of execution.
4. Wait Time
It’s main limitation is that some small tasks may have huge wait time if the high priority tasks are executing.
Each task is given a reasonable amount of time to shared resources.
The following is the differentiation between buffering and SPOOLING.
Basis
Buffering
SPOOLING
1. Purpose
This is a technique where in the input and output data is stored temporarily in the input buffer and output buffer respectively.
This is basically the technique used to process various tasks on the same I/O device.
2. Execution
The program that needs the input, sends the request to the Operating System and continues to execute. The operating system then signals the device controller. Once the input buffer is full, the operating system signals the program to read the data. It deals in similar fashion with the output data through output buffers.
The operating system queues the user requests on the hard disk and processes them one by one.
3. Nature
This is called overlapped processing because while the operating system is handling one buffer, the program is using another buffer simultaneously. This kind of buffering is volatile in nature.
The processing is sequential (happens one after the other in queue) and is comparatively less volatile in nature.
The following is the differentiation between Time Sharing and Real Time Operating Systems.
Basis
Time Sharing Operating System
Real Time Operating System
1. Nature
It permits the execution of multiple tasks or programs concurrently.
It permits multitasking for real time applications..
2. Working Mechanism
The tasks are allotted specific amount of processor time in a round robin fashion. However, the end user perceives that all the processes are running simultaneously.
The tasks have to be completed within a given deadline.
3. Execution Time
There is rapid round robin switching between users and the users feel that their task is being performed dedicatedly.
The tasks need to be completed with minimum deadline overrun.
4. Implementation
Uses virtual memory techniques.
Depends both on the logical results of the computation and the time required to provide the results.
5. Examples
Examples are various versions of Windows starting with Windows 95.
Examples are real time applications like robotics.

h) Explain any two utilities.
A utility is a software that is responsible for completing tasks for better maintenance of the computer. Some of the utilities are as follows –
1) Backup Utility: The backup utility is used to copy complete or partial data to a disk or CD. The advantage of this utility is that the backup is available in case the hard disk or any other system failure occurs. The files can be restored from the backup that is already taken.
2) Compression Utility: This utility compresses large files to save memory. Compression utility is very helpful as more resources can be stored in a given memory (as memory occupied by the compressed resource is much less than the memory occupied by the original resource). When it is required that the files need to be transferred over the network, the compressed files can be transferred fast due to their reduced sizes.

i) What is word processing? Discuss the purpose of word processing software.
Word processing is a technique which allows us to create, edit and format word documents. It has many features to format the text like changing the font size, color, style etc. It also allows usage of graphics in the document. Following are the purpose of a word processing software –
1)
Writing simple documents
2)
Designing special graphics and other multi-media (sound files, videos etc)
3)
Insertion of various images and shapes
4)
Creation of posters
5)
Allowing Mail Merge etc.
6)
Allow us to include macros.
The most popular among the word processing softwares available in the market are Microsoft Word, Open Office’s Writer etc.

j) What is the difference between an Open source Software and a Freeware. Write 2 examples of each.
The following are the differences between an Open Source Software and a Freeware.
Basis
Open Source Software
Freeware
1. Availability
The user is free to use/run the software for any purpose or in any manner.
The author will be the sole owner of the software. The user is free to use/run the software only for a specific purpose. In otherwords, the users can not use it for any pupose other than the specified purpose.
2. Access to Source Code
The customer can freely access the source code.
The source code is not available.
3. Modifying the Source Code
The user can use it directly, make changes to it, or even re-distribute the original/modified software subject to the license requirement.
It can only be used but can not be modified as the soruce code is not freely available.
4. Examples
Examples are Python and Tux Paint
Examples are Microsoft Internet explorer and Microsoft Paint programs that comes bundled with Microsoft Windows Operating System.

k) How are Freeware and Free Software different?
Freeware and Free Software are different in the following ways:
Basis
Freeware
Free Software
1. Usage
The author will be the sole owner of the software. The user is free to use/run the software only for a specific purpose. In otherwords, the users can not use it for any pupose other than the specified purpose.
The user is free to use/run the software for any purpose or in any manner.
2. Access to Source Code
The source code is not available.
The customer can freely access the source code.
3. Modification Rights
It can only be used but can not be modified as the soruce code is not freely available.
The user can use it directly, make changes to it, or even re-distribute the original/modified software subject to the license requirement.