ABDULLAH BICT Code 5403

Download as pdf or txt
Download as pdf or txt
You are on page 1of 42

Name: ABDULLAH

Student ID: 000510147


Course Code:5403

Alama Iqbal Open University


Exercise No2

Q.1: a) List down key functions performed by


system software?
Ans:
An operating system has three main functions:
(1) manage the computer's resources, such as the central processing
unit, memory, disk drives, and printers,
(2) establish a user interface, and
(3) execute and provide services for applications software

introduction to System Software Functions:


System software functions are the functions and tasks performed
by the operating system. Particularly, when you consider a system, it
has two types of functions: system software functions also referred to
as the operating system functions. The other type is the application
software functions. Application software functions are functions which
are performed as per the instructions and commands were written by
the developer while developing an application, while the system
software functions are internally defined and performed by the
operating system that you are using on your device.
Different Types of System Software Functions
Given below are the different types of system software
functions:
In any given operating system, the functions and operations that
are performed by it can be broadly classified into three types of
functions which are as listed below:

1)Allocation of Resources
2)Monitoring Activities
3)Disks and Files Management
Over all the functions which are included in system software functions
are as listed below:
Hardware is assigned to the respective programs as per the
needs.
Schedule the programs on the processor for executing them in a
linear and systematic manner.
The memory is allocated to each and every individual program
according to the requirement of the program.
Input and output devices which are needed by programs are assigned
at a time.
User interaction is done there by understanding the expectations
and requirements of the user and responding to them back with an
appropriate message or task.
Management of all the files of the program and data are stored on the
secondary storage devices.
The file directories present in memory are maintained, and the
provision of access to the data of the files is provided.
Maintain the coordination between the software and the user by
allocating, assigning and providing the assemblers, compilers, memory,
interpreters and other things.
Maintaining the security and access privileges to various resources of
the system.
Functions of Application Software in Points
1. Computers are very useful due to their use and utilization of
applications software. Applications software allows us to create
documents, play games, watch movies and surf the internet.
2. Data analysis is one of the important functions of application
software.
3. Data Management (Data Science & Analytics).
4. Data Visualization.
5. Security (End-to-end security solutions) and communications.

Uses of Application Software


1. Using and handling data | information.
2. Used and utilized in entertainment.
3. The data received is accurate and can be further processed.
4. Application software is used in data handling and processing.
5. They are used in graphics and animations.
6. Application software is also used in programming.
7. Spread Sheets and Word Processors are used for better performance
and productivity.
8. Data and information can be stored in the database, which is an
application software.
9. Web Browsers are used for research and online surfing.
10. Messaging and chatting can be done using application software.
b) What is utility program? Why are they used?
Ans:
Utility software is a type of software that is designed to help
users manage, maintain, and optimize their computer systems. Utility
software includes a wide range of tools and applications that perform
specific tasks to improve the performance, security, and functionality of
a computer system.
Other words Utility-program definition means, Utility programs
also assists with the management of computer functions, resources and
files. You can ensure complete password protection and keep your
systems virus free using different utility programs.

Functions of utility programs:


• System Utilities
Some of the system utility programs are memory manager, antivirus and
firewall, registry checker and cleaner, package installer and explorer.
Also, with the help of such system utility program in computer, users can
execute functions that are crucial for smooth running of an operating
system.
• File Management Utilities
File management utilities include tools such as data archivers,
software backup tools, file compression tools and managers. With the help
of these, users can manage their data in the form of files and folders.
These utilities help users to sort out, store and categorise files according
to the requirement.
• Storage Device Management Utilities
utility programs provide solutions for enhancing
Storage device management
disk capacity, such as disk clean-up, partition management, formatting,
disk space allocation, defragmentation, etc. With the help of this system
utility software, users can compartmentalize systems and external drives
for efficient management of programs and files that are stored within.
• Miscellaneous Utilities
Apart from these three utility program categories,
there are various other programs that help in managing business
operations. Some of these programs include data generators, HTML
checkers and hex editors, to name a few.
Advantages of Utility Software
Let’s check out the different advantages of utility software that can be
beneficial for its users.
• Efficiently manage your data and files with proper storage
• Remove unnecessary files to ensure that you always have storage
space for new applications and programs
• Enhance your system’s security by protecting it from malicious
virus threats and attacks
• Easily and quickly locate and access your files and folders in the
system with the interface customization feature of utility
software
• Find your lost files and folders with file recovery software and
recover any data loss
• Enhance your system’s performance by creating space and
efficiently managing system storage
Common Tasks Performed by Utility Programs
• Disk Defragmentation
• Disk Clean-up
• File Management
• Compression
• Disk Management
• Antivirus and Firewall
• As discussed earlier, utility applications help in executing some of
the most basic yet important functions in the operating system.
Some of these basic yet crucial programs are:
• Disk Defragmentation
Defragmentation is a process which helps reduce the
amount of fragmentation in file systems. Utility programs function by
organizing the disk content and storing the pieces of each file together.
It also helps create large amount of free space using compaction to
impede the return of fragmentation. This happens when any operating
system is unable to allocate space for storage as single unit.
• Disk Clean-up
• With the help of utility program in computer,
users can remove the unnecessary files that are taking up the
space in their system. The program assists users to choose the
drives, folders or files that need to be scanned and cleaned-up.
By removing unused files, the system will be able to increase the
storage space and optimise the overall speed of the system.
• File Management
With the help of file management program, users can
perform various functions related to the files saved in the system, such
as searching, renaming, opening, renaming deleting and grouping. These
functions can be executed with the help of file management program
such as Windows Explorer. In addition, Widows also help in keeping a
track of the root and the path of a file.
• Compression
One of the biggest concerns of any computer system is its
storage space. With time, the limited storage space in the hard disk starts
getting smaller. Therefore, with the help of compression program such
as WinZip and WinRAR, important yet unused files can be compressed,
stored and easily extracted when required.
• Disk Management
Disk Management is one of the most vital programs that an
operating system like Windows provides. With the help of the system
utility software and program, users can seamlessly manage various
drives such as hard drives, optical drives, flash drives, etc. It helps users
in partitioning drives, allocating spaces, format drives, and much more.
• Antivirus and Firewall
Antivirus and firewall programs such as Windows Defender
help users protect their computers by getting infected with viruses,
adware and malware. Firewalls prevent harmful programs and files from
entering the system via internet or any external hardware. On the other
hand, antivirus helps in removing malicious programs and files that have
infected the system.
Q.2 a) Write shot notes on the following topics:
• Windows Operating Systems
• Multimedia
Ans:
1) Windows operating system
• Windows is an operating system designed by Microsoft. The
operating system is what allows you to use a computer. Windows
comes preloaded on most new personal computers (PCs), which
helps to make it the most popular operating system in the world.

• Windows makes it possible to complete all types of everyday


tasks on your computer. For example, you can use Windows to
browse the Internet, check your email, edit digital photos, listen
to music, play games, and do much more.

Windows is also used in many offices because it gives you access


to productivity tools such as calendars, word processors, and
spreadsheets.

Microsoft released the first version of Windows in the mid-1980s. There


have been many versions of Windows since then, but the most recent
ones include Windows 10 (released in 2015), Windows 8 (2012), Windows
7 (2009), Windows Vista (2007), and Windows XP (2001).

Advantages and Disadvantages of Windows Operating System

There are various advantages and disadvantages of a Windows operating


system. Some of the advantages and disadvantages of the Windows
operating system are as follows:

Advantages:
1. The Windows platform is ideal for game and software developers.
Because Windows has a big user base and developers prefer to
create utilities, games, and applications for the Windows OS.
2. Most hardware companies make their drivers for Windows OS
because it is used by 95% of users.
3. Windows 10 is designed to work with both smartphones and
desktop systems. Windows 10's user interface is designed in such a
way that it works well with any sort of Windows device.
4. All Microsoft Windows versions have something in common that
enables users to easily switch from one version to another.
Windows 7 users will have little trouble upgrading to Windows 10
because most features of Windows 10 are the same as those of
Windows 7.
5. Most hardware may be detected automatically by the plug and play
feature. You do not require manually installing the hardware, but
it is ready to use once connected, such as a webcam, keyboard,
mouse, mobile device, etc.

Disadvantages:
1. Most of the Windows apps, such as games, graphics software,
download managers, and other popular software, are paid. You
must either purchase them or pay a monthly subscription to utilize
these programs.
2. Windows OS support is not good for most users. Few significant
companies can depend on the Windows team for assistance.
Common users must look for forums to fix their problems.
3. Your system should slow down and hangs up when you execute
various programs at once. If your computer's performance
becomes slow, you'll need to reboot it. The only way to fix this
problem is to restart your computer.
4. There are a lot of hacker attacks on windows. Hackers can easily
breach the security of Windows. As a result, Windows users rely on
anti-virus software and must pay corporations monthly fees to
secure their data. Also, Windows users have to update the
operating system to maintain up-to-date with security patches.
5. If you're installing Windows operating system, you'll need a system
with high RAM, a lot of hard drive space, and a strong graphics card.
If you wish to install graphics applications like Photoshop, you'll
need at least 16 GB of RAM.

b) Multimedia:
Multimedia is an interactive media and provides multiple ways to
represent information to the user in a powerful manner. It provides
an interaction between users and digital information. It is a
medium of communication. Some of the sectors where
multimedias is used extensively are education, training, reference
material, business presentations, advertising and documentaries.
Definition of Multimedia:
By definition Multimedia is a representation of information in an
attractive and interactive manner with the use of a combination of
text, audio, video, graphics and animation. In other words we can
say that Multimedia is a computerized method of presenting
information combining textual data, audio, visuals (video),
graphics and animations. For examples: E-Mail, Yahoo Messenger,
Video Conferencing, and Multimedia Message Service (MMS).
Multimedia as name suggests is the combination of Multi and
Media that is many types of media (hardware/software) used for
communication of information.

Components of Multimedia:
Following are the common components of multimedia:
Text- All multimedia productions contain some amount of text.
The text can have various types of fonts and sizes to suit the
profession presentation of the multimedia software.
Graphics- Graphics make the multimedia application attractive. In
many cases people do not like reading large amount of textual
matter on the screen. Therefore, graphics are used more often
than text to explain a concept, present background information
etc. There are two types o
Bitmap images- Bitmap images are real images that can be
captured from devices such as digital cameras or scanners.
Generally bitmap images are not editable. Bitmap images require
a large amount of memory.
Vector Graphics- Vector graphics are drawn on the computer and
only require a small amount of memory. These graphics are
editable.
Audio- A multimedia application may require the use of speech,
music and sound effects. These are called audio or sound element
of multimedia. Speech is also a perfect way for teaching. Audio are
of analog and digital types. Analog audio or sound refers to the
original sound signal. Computer stores the sound in digital form.
Therefore, the sound used in multimedia application is digital
audio.
Video- The term video refers to the moving picture, accompanied
by sound such as a picture in television. Video element of
multimedia application gives a lot of information in small duration
of time. Digital video is useful in multimedia application for
showing real life objects. Video have highest performance
demand on the computer memory and on the bandwidth if placed
on the internet. Digital video files can be stored like any other files
in the computer and the quality of the video can still be
maintained. The digital video files can be transferred within a
computer network. The digital video clips can be edited easily.
Animation- Animation is a process of making a static image look
like it is moving. An animation is just a continuous series of still
images that are displayed in a sequence. The animation can be
used effectively for attracting attention. Animation also makes a
presentation light and attractive. Animation is very popular in
multimedia application.
The multimedia network should support the following facilities:
• Voice Mail
• Electronic Mail
• Multimedia based FAX
• Office Needs
• Employee Training
• Sales and Other types of Group Presentation
• Records Management

Q.3:
(a) Explain different types of network topologies
with their characteristics?
Ans:
A network topology is the physical and logical arrangement of
nodes and connections in a network. Nodes usually include
devices such as switches, routers and software with switch and
router features. Network topologies are often represented as a
graph.

Network topologies describe the arrangement of networks and


the relative location of traffic flows. Administrators can use
network topology diagrams to determine the best placements for
each node and the optimal path for traffic flow. With a well-
defined and planned-out network topology, an organization can
more easily locate faults and fix issues, improving its data
transfer efficiency.

Network geometry can be defined as the physical topology and


the logical topology. Network topology diagrams are shown with
devices depicted as network nodes and the connections between
them as lines. The type of network topology differs depending on
how the network needs to be arranged.

Why is network topology important?


Network topology plays a major role in how a network functions.
Namely, the topology has a direct effect on network functionality.
Choosing the right topology can help increase performance, as a
properly chosen and maintained network topology increases
energy efficiency and data transfer rates.

A well-defined network topology makes it easier for network


admins to locate faults, troubleshoot issues and to allocate
network resources. Diagrams are an important reference point in
helping to diagnose network issues, as they can represent
physical and logical layouts.

types of network topologies:


Network topologies are categorized as either a physical network
topology or logical network topology. The physical topology of a
network is the physical layout of nodes and connections.
Connections include the lines in diagrams that connect nodes,
such as Ethernet or Digital Subscriber Line wires, fiber optics and
microwaves. Logical network topologies define how a network is
set up, including which nodes connect and how, as well as the
pattern of data transfers.

This image shows different layouts of network topologies.


There are several types of topologies. For example, physical
topologies include the following:

• Bus network. In the bus network topology, every node is


connected in series along a single cable. This
arrangement is found today primarily in cable broadband
distribution networks.
• Star network. In the star network topology, a central
device connects to all other nodes through a central hub.

Switched local area networks based on Ethernet


switches and most wired home and office networks have
a physical star topology.
• Ring network. In the ring network topology, the nodes
are connected in a closed-loop configuration. Some rings
pass data in one direction only, while others are capable
of transmission in both directions. These bidirectional ring
networks are more resilient than bus networks since
traffic can reach a node by moving in either direction.
Metro networks based on Synchronous Optical Network
technology are the primary example of ring networks.
• Mesh network. The mesh network topology links nodes
with connections so that multiple paths between at least
some points of the network are available. A network is
considered to be fully meshed if all nodes are directly
connected to all other nodes and partially meshed if only
some nodes have multiple connections to others.
Meshing multiple paths increases resiliency but also
increases cost. However, more space is needed for
dedicated links.
• Tree network. The tree network topology consists of one
root node, and all other nodes are connected in a
hierarchy. The topology itself is connected in a star
configuration. Many larger Ethernet switch networks,
including data center networks, are configured as trees.
• Hybrid network. The hybrid network topology is any
combination of two or more topologies. Hybrid
topologies typically provide exceptional flexibility, as
they can accommodate a number of setups. For example,
different departments in the same organization may opt
for personalized network topologies that are more
adaptable to their network needs.

A logical topology for a network refers to the relationship


between nodes and logical connections -- defining how data
should transfer.
A logical connection differs from a physical path when
information can take an invisible hop at intermediate points. In
optical networks, optical add-drop multiplexers create logical
optical paths because the ADM hop is not visible to the endpoint
nodes. Networks based on virtual circuits or tunnels have a
physical topology based on the real connection medium -- fiber,
for example -- and a logical topology based on the circuits and
tunnels.

Sometimes, the logical topology refers to the topology as the


user sees it. Internet Protocol (IP) and Ethernet networks are two
common examples. They are fully meshed at the connection
level since any user can connect with any other user. This is true
unless some means of blocking unwanted connections, like
a firewall, is introduced. Full connectivity is a property of the
network protocols used -- IP and Ethernet -- not of the network
topology itself.

As an example, logical bus and logical ring topologies can be


used to define data transmission flows. A logical bus topology
features nodes that broadcast data to the entire network. Other
nodes on the network check to see if the data is meant for them.
Logical ring topology only allows one node to transfer data at a
time.

b) Explain the difference between Switching and


Routing?
• Ans:
• Routing tables typically involve destination networks, less
frequently do they involve individual host IPs.
• "Switch tables" as you call them are a lookup list, showing
which hardware address (port) to send particular traffic
• Routing and switching are the basic functions of network
communication. Routing and Switching are different
functions of network communications. The main differences
between Routing and Switching are as below.
• The function of Switching is to switch data packets between
devices on the same network (or same LAN - Local Area
Network). The function of Routing is to Route packets
between different networks (between different LANs - Local
Area Networks).
• Switches operate at Layer 2 of the OSI Model (Datalink
Layer). A switch knows where to send a data packet by using
Layer 2 addresses (MAC address - hardware address of a
network adapter). A switch maintains a table of MAC
addresses (MAC Address table or CAM Table) and what
physical switch port they are connected to. The Switching
function can be explained more simply that, Switching is the
function of moving data packets (Ethernet Frames) within the
same LAN (Local Area Network).

Routers operate at Layer 3 of the OSI Model (Network layer). A


Router knows where to send a packet by using Network part of
the destination IP address. A Router maintains a table called
Routing Table and uses the routing table to determine the route
to the destination network.
Difference Between Router and Switch
Both of these are connecting devices that help in networking.
We use a router for settling on the shortest path through which
any given packet can easily achieve its intended destination.
There is a difference between router and switch. A router’s main
objective is to establish a connection between various networks
in a simultaneous manner. Also, it works on the network layer. A
switch’s main objective is to establish a simultaneous connection
among various devices. It basically functions on the data link
layer. In this article, we will discuss the difference between
router and switch in further detail. Read ahead to know more.

Router:
A router is a device for computer networking that serves two of
the main functions: (1) the creation and maintenance of a local
area network (2) the management of data that enters and leaves
a network along with the data that moves inside of the network.

In other words, a router assists its users in handling various


networks, and it also routes the network traffic present between
them. In the case of a home network, a router establishes a
connection to the private LAN and establishes another one to the
Internet. Also, various routers have various built-in switches.
These switches allow a user to connect various wired devices.

Switch:
A network switch is basically a computer networking device that
helps in connecting multiple devices on one computer network.
One can also use it for routing the information into an electronic
form of data (that transmits over various networks). We can also
call switches bridging devices because the process of
establishing a link between network segments is known as
bridging.

Difference Between Router and Switch


Keep learning and stay tuned to BYJU’S to get the latest updates
on GATE Exam along with GATE Eligibility Criteria, GATE
2024, GATE Admit Card, GATE Application Form, GATE
Syllabus, GATE Cutoff, GATE Previous Year Question Paper, and
more.

c) Describe the basic concepts of OSI reference model?


Ans:
OSI:
OSI stands for Open System Interconnection is a reference
model that describes how information from
a software application in one computer moves through a
physical medium to the software application in another
computer.

OSI consists of seven layers, and each layer performs a particular


network function. OSI model was developed by the International
Organization for Standardization (ISO) in 1984, and it is now
considered as an architectural model for the inter-computer
communications.

OSI model divides the whole task into seven smaller and
manageable tasks. Each layer is assigned a particular task.
Each layer is self-contained, so that task assigned to each layer can
be performed independently.

OSI Model:
OSI stands for Open System Interconnection is a reference model
that describes how information from a software application in
one computer moves through a physical medium to the software
application in another computer.

OSI consists of seven layers, and each layer performs a particular


network function.

OSI model was developed by the International Organization for


Standardization (ISO) in 1984, and it is now considered as an
architectural model for the inter-computer communications.

OSI model divides the whole task into seven smaller and
manageable tasks. Each layer is assigned a particular task.

Each layer is self-contained, so that task assigned to each layer can


be performed independently.

7 Layers of OSI Model:

There are the seven OSI layers. Each layer has different functions. A
list of seven layers are given below:

1. Physical Layer
2. Data-Link Layer
3. Network Layer
4. Transport Layer
5. Session Layer
6. Presentation Layer
7. Application Layer

Physical layer

o The main functionality of the physical layer is to transmit the


individual bits from one node to another node.
o It is the lowest layer of the OSI model.
o It establishes, maintains and deactivates the physical
connection.
o It specifies the mechanical, electrical and procedural network
interface specifications.

Functions of a Physical layer:

Line Configuration: It defines the way how two or more devices


can be connected physically.

Data Transmission: It defines the transmission mode whether it is


simplex, half-duplex or full-duplex mode between the two devices
on the network.

Topology: It defines the way how network devices are arranged.

Signals: It determines the type of the signal used for transmitting


the information.

2) Data-Link Layer:
o This layer is responsible for the error-free transfer of data
frames.
o It defines the format of the data on the network.
It provides a reliable and efficient communication between two or
more devices.

It is mainly responsible for the unique identification of each device


that resides on a local network.

It contains two sub-layers:

Logical Link Control Layer

It is responsible for transferring the packets to the Network layer of


the receiver that is receiving.

It identifies the address of the network layer protocol from the


header.

It also provides flow control.

3) Network Layer:
It is a layer 3 that manages device addressing, tracks the location
of devices on the network.

It determines the best path to move data from source to the


destination based on the network conditions, the priority of service,
and other factors.

The Data link layer is responsible for routing and forwarding the
packets.

Routers are the layer 3 devices, they are specified in this layer and
used to provide the routing services within an internetwork.
The protocols used to route the network traffic are known as
Network layer protocols. Examples of protocols are IP and Ipv6.

4) Transport Layer:

The Transport layer is a Layer 4 ensures that messages are


transmitted in the order in which they are sent and there is no
duplication of data.

The main responsibility of the transport layer is to transfer the data


completely.

It receives the data from the upper layer and converts them into
smaller units known as segments.

This layer can be termed as an end-to-end layer as it provides a


point-to-point connection between source and destination to
deliver the data reliably.

The two protocols used in this layer are:

Transmission Control Protocol

It is a standard protocol that allows the systems to communicate


over the internet.

It establishes and maintains a connection between hosts.

When data is sent over the TCP connection, then the TCP protocol
divides the data into smaller units known as segments. Each
segment travels over the internet using multiple routes, and they
arrive in different orders at the destination. The transmission
control protocol reorders the packets in the correct order at the
receiving end.

User Datagram Protocol

User Datagram Protocol is a transport layer protocol.

It is an unreliable transport protocol as in this case receiver does


not send any acknowledgment when the packet is received, the
sender does not wait for any acknowledgment. Therefore, this
makes a protocol unreliable.

5) Session Layer
it is a layer 3 in the OSI model.

The Session layer is used to establish, maintain and synchronizes


the interaction between communicating devices.

Functions of Session layer:

Dialog control: Session layer acts as a dialog controller that creates


a dialog between two processes or we can say that it allows the
communication between two processes which can be either half-
duplex or full-duplex.

Synchronization: Session layer adds some checkpoints when


transmitting the data in a sequence. If some error occurs in the
middle of the transmission of data, then the transmission will take
place again from the checkpoint. This process is known as
Synchronization and recovery.
6) Presentation Layer
A Presentation layer is mainly concerned with the syntax and
semantics of the information exchanged between the two systems.

It acts as a data translator for a network.

This layer is a part of the operating system that converts the data
from one presentation format to another format.

The Presentation layer is also known as the syntax layer.

Functions of Presentation layer:

Translation: The processes in two systems exchange the


information in the form of character strings, numbers and so on.
Different computers use different encoding methods, the
presentation layer handles the interoperability between the
different encoding methods. It converts the data from sender-
dependent format into a common format and changes the
common format into receiver-dependent format at the receiving
end.

Encryption: Encryption is needed to maintain privacy. Encryption is


a process of converting the sender-transmitted information into
another form and sends the resulting message over the network.

Compression: Data compression is a process of compressing the


data, i.e., it reduces the number of bits to be transmitted. Data
compression is very important in multimedia such as text, audio,
video.
A Presentation layer is mainly concerned with the syntax and
semantics of the information exchanged between the two systems.

It acts as a data translator for a network.

This layer is a part of the operating system that converts the data
from one presentation format to another format.

The Presentation layer is also known as the syntax layer.

Functions of Presentation layer:

Translation: The processes in two systems exchange the


information in the form of character strings, numbers and so on.
Different computers use different encoding methods, the
presentation layer handles the interoperability between the
different encoding methods. It converts the data from sender-
dependent format into a common format and changes the
common format into receiver-dependent format at the receiving
end.

Encryption: Encryption is needed to maintain privacy. Encryption


is a process of converting the sender-transmitted information into
another form and sends the resulting message over the network.

Compression: Data compression is a process of compressing the


data, i.e., it reduces the number of bits to be transmitted. Data
compression is very important in multimedia such as text, audio,
video.

7) Application Layer
An application layer serves as a window for users and application
processes to access network service.

It handles issues such as network transparency, resource


allocation, etc.

An application layer is not an application, but it performs the


application layer functions.

This layer provides the network services to the end-users.

Functions of Application layer:

File transfer, access, and management (FTAM): An application layer


allows a user to access the files in a remote computer, to retrieve
the files from a computer and to manage the files in a remote
computer.

Mail services: An application layer provides the facility for email


forwarding and storage.

Directory services: An application provides the distributed database


sources and is used to provide that global information about
various objects.

Q.4 Explain the different components of multimedia in detail


with the help of illustrations?

Ans:
At its core, multimedia combines various elements, such as text,
audio, images, videos, and interactive features, seamlessly integrated to
create a rich and immersive experience. The components of multimedia
work in harmony to deliver a multi-sensory and engaging content
delivery system.
Components of Multimedia:
Multimedia has five major components like text, images, sound, video
and animation. They are explained in detail below:

1. Text
Text is the basic components of multimedia and most common ways of
communicating information to other person. Even though multimedia
includes images, video, audio and graphics, Text is the basic components
used in multimedia.

Static Text:
Static text, the text or the words will remain static as a heading or in a
line, or in a paragraph. The words are given along with the images to
explain about the images. In static text the words will either give
information or support an image or an video.

Hypertext:
A hypertext is a system which consists of nodes, the text and the links
between the nodes, which defines the paths the user need to follow for
the text access in non-sequential ways. The author of the working system
created this structure. The user is permitted to define their own paths in
more sophisticated hypertext systems. The user is provided with the
flexibility and choice to navigate in hypertext. In a multimedia product
Text is used to convey the information and must be placed at appropriate
position in order to obtain the well -formatted sentences and
paragraphs. The readability of the text depends on the spacing and
punctuation. The message communication is more appropriate with
improved Fonts and styles.
2. Image
Images acts as an vital component in multimedia. These images are
generated by the computer in two ways, as bitmap or raster images and
as vector images.

Raster or Bitmap Images:


The common and comprehensive form of storing images in a computer
is raster or bitmap image. Bitmap is a simple matrix of the tiny dots called
pixel that forms a raster or bitmap image. Each pixel consists of two or
more colours. Based on how much data, in bits is used to determine the
number of colours, the colour depth is determined. one bit is two
colours, four bits means sixteen colours, eight bits indicates 256 colours,
and so on.

Vector Images:
Drawing elements or objects such as lines, rectangles, circles and so on
to create images are based on Vector images. The advantage of vector
image is relatively small amount of data is required to represent the
image and thereby only less memory is needed to store. Compression
techniques are used to reduce the file size of images that is useful for
storing large number of images and speeding transmission for
networked application. various Compression formats used for this
purpose are GIF, TIFF and JPEG.

3. Animation:
Animation is the process displaying still images so quickly so that they
give the impression of continuous movement. In animation the screen
object is a vector image in animation. Using numerical transformations
the movement of that image along its paths is calculated for their
defining coordinates. The least frame rate of at least 16 frames per
second gives the impression of smoothness and for natural looking it
should be at least 25 frames per second. Animations may be in two or
three dimensional. The two dimensional animation, bring an image alive,
that occur on the flat X and Y axis of the screen. while in three
dimensional animation it occurs along the three axis X, Y and Z.
Animation tools are very powerful and effective. The two basic types of
animations are Path animation and Frame animation.

Path Animation
Path animation involves moving an object on a screen that has a constant
background e.g. a cartoon character may move across the screen
regardless of any change in the background or the character.
4. Sound
Sound is a meaningful speech in any language and is the most serious
element in multimedia, providing the pleasure of music, special effects
and so on. Decibels is the measurement of volume, the pressure level of
sound.

Musical Instrument Digital Identifier (MIDI)


Musical Instrument Digital Identifier (MIDI) is a standard communication
tool developed for computers and electronic instruments. This tool is
flexible and easy for composing the projects in multimedia. Tools for
synthesizing the sound and software for sequencing are necessary for
MIDI.
Digital Audio
Sampled sound is a Digitized sound. A sample of sound is taken and
stored every nth fraction of a second as digital information in bits and
bytes. The quality of this recording depends on the sampling rate.
sampling rate is defined as how often the samples are taken and how
many numbers are used to represent the value of each sample (bit
depth, resolution and sample size). The finer the quality of the captured
sound and the resolution is achieved while played back, when more
often the sample is taken and the more data is stored about that sample.

5. Video
Video is defined as the display of recorded event, scene etc. The
powerful way to convey information in multimedia applications are
embedding of video. The video can be categorized in two types as Analog
video and Digital video.

Analog Video
In Analog video, the video data’s are stored in any non-computer media
like video tape, laserdisc, film etc. It is divided further in two types as
Composite and Component Analogue Video. Composite Analog Video
has all the video components like brightness, color, and synchronization
combined into one signal. Due to the combining of the video
components, the quality of the composite video resulted in color
blending, low clarity and high generational loss. This recording format
was used for customer analog video recording tape formats such as
Betamax and VHS.

Q.5: What are the important parameters that influence the


selection of a programming language? Define it in detail with
the help of different examples?

Ans:
Here are the seven critical factors we consider when determining the
optimal programming language for each project:

Type of application. Web applications, mobile applications, embedded


firmware, etc. ...

Complexity of the application. ...

Company culture. ...

Time to market. ...

Maintainability. ...

Scalability and performance. ...

Security.

The following are the different factors which affect the choice of
programming languages:

1. Purpose
It specifies the objective of the programming language. It specifies the
objective for which a program is being developed. If application want
too developed is commercial applications, then some business oriented
programming language such as COBOL is preferred. Similarly, if some
scientific application is to be developed then it is best to use some
scientific oriented language and we know that the best language which
can use for scientific purpose is FORTRAN. The programs related
to Artificial Intelligence (A.I) field can be developed efficiently in the
LISP or prolog programming languages. Some objects oriented language
should be preferred for developing web based applications. A middle
level language such as C should be chosen for developing system
programs.
2. Programmer Experience
Ifone and more than one programming language is present for
developing the same program or same application, then a programmer
should choose a language as per his comfort level. Generally, the
programmer should go to the language in which he has more
experience. For this, the programmer can also compromise with the
power of programming language.

3. Ease of Development and Maintenance


Any programmer always develop program using the language in which
he feels comfort. Generally, the object oriented languages are
preferred over the procedural oriented language because the code
developed in these languages can be reused and maintained with great
ease.
4. Suitability
Suitability of a programming language can be check on the base of
these two points:

1. The programming language will work on all platforms (different


web browsers) that are required?
2. Programming language has the appropriate features (will allow
multiple users to use at same time) that are required?

5. Performance and Efficiency


These are two important factors which need to be considered before
choosing any programming language for software development. The
language in which the programs can be developed and executed rapidly
should always preferred. In addition, the languages, which require less
amount of memory for the storage of programs, should be chosen.

6. Availability of IDE
The language with an IDE (Integrated Development Environment) of
well supported development, debugging and compilation tools should
be preferred. A powerful IDE helps in increasing the productivity of a
programmer.

7. Error Checking and Diagnosis


These are two factors involve finding the errors and their cause in a
program. A programmer must choose a programming language, which
contains efficient error handling features. For example, Java provides
an efficient error handling mechanism of try / catch block. The try /
catch block. The try / catch block in Java programs can be used to
handle the unexpected errors that may occur during the execution of a
program. Error checking and diagnosis is very important for developing
quality and error free programs. A programming language with efficient
and robust error detection and correction mechanism eases the task of
code development and testing.

Choosing a Programming Language

• Does the language have proper ecosystem support? Is it going


to work for the long haul? Is vendor support available for the
language?
• What is the environment for the project (web, mobile, etc)?
• Do we need to consider some infrastructure such as new
hardware? What kind of deployment do we need?
• What’s the preference of the client?
• Any specific requirements for libraries, features, and tools for
the programming language?
• Is the developer available to code in this language or do we
need to hire new developers? Are they experienced and
comfortable in working with this language, or do they need to
learn the language quickly?
• What are some important constraints of this project? Time,
budget, resources?
• What’s the performance consideration and is the languages
suitable to accommodate this performance?
• What’s the security consideration and do we need to use any
third-party tool?
A lot of questions given above clear out the confusion of choosing a
programming language for your project.
Now in programming suppose you have a task that is very heavy on
number crunching. In this case, you need a language that supports
some libraries to perform complex maths operations for you and can
handle the numbers easily. Another example you can consider is
processing a lot of text. In this case, you need a language whose
features set allows you to easily slice, dice, and search textual data.
To choose the right programming language for your project, you need
to consider different factors such as performance, type of application,
security, etc which we have discussed in the section of questions we
need to ask. Now let’s discuss these factors in detail to use appropriate
language for a project but remember that there is always some trade-
off.
Here are the best programming languages which you can choose in
order to complete your projects:
• Java
• C++
• HTML
• Python
• JavaScript
• C#
• TypeScript
• SQL
• Ruby
• Swift
• CSS

Types of Application

You should have a clear purpose or goal in your mind before choosing a
programming language for a project. The choice of language heavily
depends on the type of application. What kind of application you are
going to build? Is it a web application or mobile application or its
embedded firmware etc? This is the first and one of the biggest factors
you should consider before you choose any programming language for
a project.
Also, you need to consider the complexity or size of the application.
Small projects such as web application forms, portfolio presentations,
simple marketing websites, or simple personal blogs can be built with
some CMS systems like WordPress (requires PHP knowledge) or
Umbraco (requires C# knowledge). Java or C# can be used for medium
size projects such as e-commerce sites, internal enterprise applications,
and IoT solutions.
For example, Object-oriented languages are the best suitable for web
applications. For Android applications, Java or Kotlin is good, for system
programming middle-level languages such as C can be used.
• Front End Development: JavaScript, HTML, and CSS
• Backend Development: Python, C#, or JavaScript
• 2D Game Development: JavaScript or C#
• 3D Game Development: C# or C++
• Data Science/Machine Learning/Analytics: Python, R, Clojure,
Julia
• Math & Scientific Computing: Matlab, FORTRAN, ALGOL, APL,
Julia, R, C++
• Big Data: Java, Python, R, Scala, Clojure
• Operating Systems: C, C++
• Distributed System: C, Go, Rust

2. Targeted Platform

Another factor you need to consider is the targeted platform where you
want to run your program. Let’s say you have two languages Java and C.
If you have written a program in C and you want to run that on
Windows and Linux. In this case, you need platform compilers and two
different executables.
In the case of Java language, the bytecode will be generated, and to run
that on any machine you should have Java Virtual Machine installed. A
similar thing goes with websites. It should look and work the same
across all browsers. If you’re using CSS3 and HTML5 tags then your
website may look and behave differently across different browsers.
Explore the different programming languages with GeeksforGeeks
interactive live and self-paced language courses and enhance your
creativity.

3. Maintainability

Whatever technology and language we choose, we get the ecosystem


of libraries and vendor support. We need to pay attention to the
maintainability of the application and this is the reason we should
always look at the latest release of the language or technology stack.
Make sure that whatever we pick is current and stays current for a long
time.
While building an application you need to think about engaging with
your clients for the long term and at some point, you will have to
transition your codebase to another team. You will have to hire the
internal developers in your area depending on the technology you will
be working on and you will have to pay the maintenance cost for that.
This maintenance cost will be affected by the availability and
proficiency of the development team in your area. For example, In the
Midwest, it’s easy to hire C# and Java developers than Ruby, Python,
and PHP developers. The whole point is….you need to think about the
ease of maintenance and the long-term survival of your application
while choosing a programming language for your project.

4. Scalability and Performance

The performance of your application heavily depends on the choice of


the programming language. It matters a lot when the development
environment doesn’t offer much scope for scaling. To squeeze out so
much performance from your application you need to choose the right
programming language.
How many users your application can handle and what will happen in
the future if the number of users will increase? Is the growing number
of users going to slow down the performance of your application or Is it
going to break your application? Think about the scalability of your
application. Is your application flexible enough to accept more add-ons
without hampering the performance of your application?
A lot of studies have been conducted to measure the performance of
the application. However, the results were not concrete assessments of
the performance of programming languages. One example of this kind
of environment is handheld devices. Some popular tech stack that has
good scalability is Ruby on Rails (RoR),.NET, Java Spring, LAMP and
MEAN.

5. Security

You also need to think about the security of your application while
choosing a programming language for your project. Every application
has different kinds of security requirements. For example, healthcare-
related applications need HIPAA compliance and financial application
need PCI compliance. Your application will become more robust if you
keep your eye on the security of your application.
You also need to protect your application from cyber threats and
hacking. You need to follow the security guidelines before choosing any
programming language for your application.

6. Community Support

During the development of any application you will face many issues
and it can create a big problem if there is no enough community
support available. While building an application you may get stuck at
any moment and you may have to take the help of some resources or
some other developers. This is the reason you should pay attention to
this factor as well.
If you are choosing a language that doesn’t have many tutorials or
articles to learn then it will be tough for you to adapt the language and
work on that. Before choosing any programming language it’s good to
check out the video tutorials, articles, forums, and some community
support such as GitHub, Reddit, or StackOverflow.

7. Development Time Limit

Every organization wants to release the application as soon as possible.


Business stakeholders also want new features or the application to be
ready as soon as possible. This is the reason you should pay attention to
this factor that is…development time.
You should choose a language that can help you to build the application
as quickly as possible. If enough library support, packages, or modules
are available for a language then you won’t have to build everything
from scratch and you will save the development time for your
application.
Here you need to pay attention to the experience in your chosen
language. The more familiar you are with the language the less time
you will take for the development. In other words, if a language is easy
to learn, then you won’t take much time to learn it, produce the code
and make your application live on the server.
Final Thoughts

With a list of questions to ask, a list of programming languages


available, and considering the different factors, you can make a sensible
decision regarding the programming language that you use. It’s good to
compare the languages based on the above factors to choose the right
one for your project.

You might also like