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
   54   55   56   57   58   59   60   61   62   63   64