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.

  • 相关阅读:
    重新整理 .net core 实践篇————配置系统之盟约[五]
    重新整理 .net core 实践篇————依赖注入应用之援军[四]
    重新整理 .net core 实践篇————依赖注入应用之生命法则[三]
    重新整理 .net core 实践篇————依赖注入应用[二]
    重新整理 .net core 实践篇————配置应用[一]
    spring cloud 学习笔记 客户端(本地)均衡负载(三)
    Leetcode之插入区间
    Leetcode之两棵二叉搜索树中的所有元素
    Leetcode之二叉树的层序遍历
    LeetCode之验证二叉搜索树
  • 原文地址:https://www.cnblogs.com/rsapaper/p/6219588.html
Copyright © 2011-2022 走看看