Page 166 - DCAP507_SYSTEM_SOFTWARE
P. 166

System Software




                    Notes          An essential paradigm is identical with procedural pattern, which is the notion that each statement
                                   is calculated up and down and every state modifies the state of the programs to appear at the
                                   preferred results. The Object Oriented Paradigm breaks down every sub-problem and locates
                                   their commonality and considers them as objects that can be encapsulated and modularized.




                                     Notes  Each of the above paradigms is articulated in each programming languages for the
                                     reason of solving dissimilar problem domain that frequently occurs in the field of computer
                                     programming.

                                   Self Assessment

                                   Fill in the blanks:
                                   8.  An essential paradigm is identical with .......................... pattern, which is the notion that
                                       each statement is calculated up and down and every state modifies the state of the programs
                                       to appear at the preferred results.
                                   9.  The  ..........................  Paradigm  breaks  down  every  sub-problem  and  locates  their
                                       commonality and considers them as objects that can be encapsulated and modularized.

                                   10.5 Storage Allocation

                                   A linker or loader's first main task is storage allocation. Once storage is assigned, the linker can
                                   carry on to following stages of symbol binding and code fixups. Most of the symbols defined in
                                   a linkable object file are defined comparative to storage regions inside the file, so the symbols
                                   cannot be resolved until the areas addresses are recognized.
                                   As is the case with many other features of linking, the basic concerns in storage allocation are
                                   straightforward, but the details to manage peculiarities of computer architecture and programming
                                   language semantics (and the interactions among the two) can get complicated. Most of the job of
                                   storage allocation can be managed in an elegant and relatively architecture-independent manner,
                                   but there are perpetually some details that need ad hoc machine specific hackery.

                                   10.5.1 Segments and Addresses

                                   Each object or executable file utilizes a model of the target address space. Generally, the target
                                   is the target computer's application address space, but there are cases where it's something else,
                                   such as a shared library. The fundamental concern in a relocating linker or loader is to make sure
                                   that all the sections in  a program are defined and have  addresses, but  that addresses don't
                                   overlie where they're not supposed to.
                                   Each of the linker's input files comprises a set of segments of numerous types. Dissimilar kinds
                                   of segments are considered in dissimilar manners Most usually all sections of a particular type
                                   like executable code, are concatenated into a single segment in the output file. At times segments
                                   are merged one on top of another, as for Fortran common blocks, and in an rising number of
                                   cases, for shared libraries and C++ particular traits, the linker itself requires to generate some
                                   segments and lay them out.



                                     Did u know?  Storage layout is a two-pass process, as the location of every segment can't be
                                     allocated until the sizes of all segments that logically precede it are recognized.





          160                               LOVELY PROFESSIONAL UNIVERSITY
   161   162   163   164   165   166   167   168   169   170   171