Page 59 - DLIS108_INFORMATION_AND_COMMUNICATION_TECHNOLOGY_APPLICATIONS
P. 59
VED1
e\L-lovely-eng\comm6-1.pmd IInd 16-9-11 IIIrd 27-12-11 IVth 4-1-12
Information and Communication Technology Applications
Media development software addresses the needs of individuals who generate print and electronic
Notes media for others to consume, most often in a commercial or educational setting. This includes graphic-
art software, desktop publishing software, multimedia development software, HTML editors, digital-
animation editors, digital audio and video composition, and many others.
Product engineering software is used in developing hardware and software products. This includes
computer-aided design (CAD), computer-aided engineering (CAE), computer language editing and
compiling tools, integrated development environments, and application programmer interfaces.
Applications can also be classified by computing platform such as a particular operating system,
delivery network such as in cloud computing and Web 2.0 applications, or delivery devices such as
mobile apps for mobile devices.
The operating system itself can be considered application software when performing simple
calculating, measuring, rendering, and word processing tasks not used to control hardware via
command-line interface or graphical user interface. This does not include application software
bundled within operating systems such as a software calculator or text editor.
6.4 Software and Library
In computer science, a library is a collection of resources used to develop software. These may
include pre-written code and subroutines, classes, values or type specifications.
Libraries contain code and data that provide services to independent programs. This encourages
the sharing and changing of code and data in a modular fashion, and eases the distribution of the
code and data. Some executables are both standalone programs and libraries, but most libraries are
not executable. Executables and libraries make references known as links to each other through the
process known as linking, which is typically done by a linker.
Most compiled languages have a standard library although programmers can also create their own
custom libraries. Most modern software systems of 2009 provide libraries that implement the majority
of system services. Such libraries have commoditized the services which a modern application
requires. As such, most code used by modern applications is provided in these system libraries.
The GPL linking exception allows programs which do not license themselves under GPL to link to
libraries licensed under the exception without thereby becoming subject to GPL requirements.
Libraries often contain a jump table of all the methods within it, known as entry points. Calls into
the library use this table, looking up the location of the code in memory, then calling it. This introduces
overhead in calling into the library, but the delay is so small as to be negligible.
Linking
Libraries are important in the program linking or binding process, which resolves references known
as links or symbols to library modules. The linking process is usually automatically done by a
linker or binder program that searches a set of libraries and other modules in a given order. Usually
it is not considered an error if a link target can be found multiple times in a given set of libraries.
Linking may be done when an executable file is created, or whenever the program is used at run
time.
The references being resolved may be addresses for jumps and other routine calls. They may be in
the main program, or in one module depending upon another. They are resolved into fixed or
relocatable addresses (from a common base) by allocating runtime memory for the memory segments
of each module referenced.
54 LOVELY PROFESSIONAL UNIVERSITY