zoukankan      html  css  js  c++  java
  • Segmentation

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION

    There is another way in which addressable memory can be subdivided, known as
    segmentation. Whereas paging is invisible to the programmer and serves the purpose
    of providing the programmer with a larger address space, segmentation is usually
    visible to the programmer and is provided as a convenience for organizing programs
    and data and as a means for associating privilege and protection attributes with
    instructions and data.
    Segmentation allows the programmer to view memory as consisting of mul-
    tiple address spaces or segments. Segments are of variable, indeed dynamic, size.
    Typically, the programmer or the OS will assign programs and data to different seg-
    ments. There may be a number of program segments for various types of programs as
    well as a number of data segments. Each segment may be assigned access and usage
    rights. Memory references consist of a (segment number, offset) form of address.

    This organization has a number of advantages to the programmer over a non-
    segmented address space:

    1. It simplifies the handling of growing data structures. If the programmer does
    not know ahead of time how large a particular data structure will become, it
    is not necessary to guess. The data structure can be assigned its own segment,
    and the OS will expand or shrink the segment as needed.
    2. It allows programs to be altered and recompiled independently without
    requiring that an entire set of programs be relinked and reloaded. Again, this
    is accomplished using multiple segments.
    3. It lends itself to sharing among processes. A programmer can place a utility
    program or a useful table of data in a segment that can be addressed by other
    processes.
    4. It lends itself to protection. Because a segment can be constructed to contain a
    well-defined set of programs or data, the programmer or a system administra-
    tor can assign access privileges in a convenient fashion.

    These advantages are not available with paging, which is invisible to the pro-
    grammer. On the other hand, we have seen that paging provides for an efficient
    form of memory management. To combine the advantages of both, some systems
    are equipped with the hardware and OS software to provide both.

  • 相关阅读:
    对线程的理解
    C#-设计模式-策略模式
    C#-设计模式-观察者模式
    C#-设计模式-模板方法
    C#-设计模式-适配器模式
    C#-设计模式-代理模式
    C#-设计模式-装饰模式
    C#-设计模式-简单工厂
    C#-设计模式-单例模式
    DotNet Core2.1 编写自己的中间件和后台服务
  • 原文地址:https://www.cnblogs.com/rsapaper/p/6219588.html
Copyright © 2011-2022 走看看