A data segment is a portion of virtual address space of a program, which contains the global variables and static variables that are initialized by the programmer. This size of this segment is determined by the values placed there by the programmer before the program was compiled or assembled, and does not change at run-time.

The data segment is read-write, since the values of the variables can be altered at run-time. This is in contrast to the Rodata (constant, read-only data) section, as well as the code segment (also known as the text segment) which is read-only on many architectures.

The PC architecture supports a few basic read-write memory regions in a program namely: Stack, Data and Code. The heap is another region of address space available to a program, from which memory can be dynamically allocated or freed by the operating system in response to system calls such as malloc and free.

Contents

Program memory [link]

The computer program memory is organized into the following:

Data [link]

The data area contains global and static variables used by the program that are explicitly initialized with a value. This segment can be further classified into a read-only area and read-write area. For instance, the string defined by char s[] = "hello world" in C and a C statement like int debug=1 outside the "main" would be stored in initialized read-write area. And a C statement like const char* string = "hello world" makes the string literal "hello world" to be stored in initialized read-only area and the character pointer variable string in initialized read-write area. Ex: both static int i = 10 and global int i = 10 will be stored in the data segment.

BSS [link]

The BSS segment, also known as uninitialized data, starts at the end of the data segment and contains all global variables and static variables that are initialized to zero or do not have explicit initialization in source code. For instance a variable declared static int i; would be contained in the BSS segment.

Heap [link]

The heap area begins at the end of the BSS segment and grows to larger addresses from there. The heap area is managed by malloc, realloc, and free, which may use the brk and sbrk system calls to adjust its size (note that the use of brk/sbrk and a single "heap area" is not required to fulfill the contract of malloc/realloc/free; they may also be implemented using mmap to reserve potentially non-contiguous regions of virtual memory into the process' virtual address space). The heap area is shared by all shared libraries and dynamically loaded modules in a process.

Stack [link]

The stack area traditionally adjoined the heap area and grew the opposite direction; when the stack pointer met the heap pointer, free memory was exhausted. (With modern large address spaces and virtual memory techniques they may be placed almost anywhere, but they still typically grow in opposite directions.)

The stack area contains the program stack, a LIFO structure, typically located in the higher parts of memory. On the standard PC x86 computer architecture it grows toward address zero; on some other architectures it grows the opposite direction. A "stack pointer" register tracks the top of the stack; it is adjusted each time a value is "pushed" onto the stack. The set of values pushed for one function call is termed a "stack frame"; A stack frame consists at minimum of a return address.

References [link]

See also [link]

External links [link]


https://wn.com/Data_segment

Data (word)

The word data has generated considerable controversy on if it is a singular, uncountable noun, or should be treated as the plural of the now-rarely-used datum.

Usage in English

In one sense, data is the plural form of datum. Datum actually can also be a count noun with the plural datums (see usage in datum article) that can be used with cardinal numbers (e.g. "80 datums"); data (originally a Latin plural) is not used like a normal count noun with cardinal numbers and can be plural with such plural determiners as these and many or as a singular abstract mass noun with a verb in the singular form. Even when a very small quantity of data is referenced (one number, for example) the phrase piece of data is often used, as opposed to datum. The debate over appropriate usage continues, but "data" as a singular form is far more common.

In English, the word datum is still used in the general sense of "an item given". In cartography, geography, nuclear magnetic resonance and technical drawing it is often used to refer to a single specific reference datum from which distances to all other data are measured. Any measurement or result is a datum, though data point is now far more common.

Data (moth)

Data is a genus of moths of the Noctuidae family.

Species

  • Data aroa (Bethune-Baker, 1906)
  • Data callopistrioides (Moore, 1881)
  • Data clava (Leech, 1900)
  • Data dissimilis Warren, 1911
  • Data eriopoides Prout, 1928
  • Data manta (Swinhoe, 1902)
  • Data obliterata Warren, 1911
  • Data ochroneura (Turner, 1943)
  • Data pratti (Bethune-Baker, 1906)
  • Data rectisecta Warren, 1912
  • Data rhabdochlaena Wileman & West, 1929
  • Data thalpophiloides Walker, 1862
  • Data variegata (Swinhoe, 1895)
  • References

  • Natural History Museum Lepidoptera genus database
  • Data at funet
  • List of craters on Mars: A-G

    This is a list of craters on Mars. There are hundreds of thousands of impact craters on Mars, but only some of them have names. This list here only contains named Martian craters starting with the letter A G (see also lists for H N and O Z).

    Large Martian craters (greater than 60 km in diameter) are named after famous scientists and science fiction authors; smaller ones (less than 60 km in diameter) get their names from towns on Earth. Craters cannot be named for living people, and small crater names are not intended to be commemorative - that is, a small crater isn't actually named after a specific town on Earth, but rather its name comes at random from a pool of terrestrial place names, with some exceptions made for craters near landing sites. Latitude and longitude are given as planetographic coordinates with west longitude.

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • HN
  • OZ
  • A

    B

    C

    D

    E

    F

    G

    See also

  • List of catenae on Mars
  • List of craters on Mars
  • List of mountains on Mars
  • References

    External links

    Rail 2000

    Rail 2000 (German: Bahn 2000; French: Rail 2000, Italian: Ferrovia 2000) is a large-scale project of the Swiss Federal Railways (SFR) established in 1987 to improve the quality of the Swiss rail network. It includes measures to accelerate a number of existing connections and the modernisation of rolling stock. The federal government decision to support the project in 1986 was approved by a referendum in 1987. In 2004 the first phase was completed consisting of around 130 projects with a budget of around CHF 5.9 billion.

    History

    Background

    After years of heavy investment in roads in the postwar years, the share of rail in the total passenger market in Switzerland had been significantly reduced by the end of the 1960s. At this time SFR decided that changes were necessary to increase rail patronage. More trains were operated in order to increase frequencies; this led to a 75% increase in passengers between 1971 to 1983 on the Bern–Zürich route. In the 1970s the Swiss government and SFR decided to make further improvements in rail services. In 1972, the SFR introduced a regular interval timetable (German: Taktfahrplan). Under this timetable trains arrive and leave each station at the same minute past every hour. Services at Zurich station were reorganised so that trains arrived on each line before the hour or half-hour and left after the hour or half-hour, making it easier to change to trains on other lines. This required the provision of additional platforms to allow every train to be in station simultaneously. The Rail 2000 project was intended to enhance the regular interval timetable.

    Podcasts:

    PLAYLIST TIME:

    Bein' A Dad

    by: Loudon Wainwright Iii

    Bein' a dad isn't so bad
    Except that you gotta feed 'em
    You gotta shoe 'em and clothe 'em
    And try not to loathe 'em
    Bug 'em and hug 'em and heed 'em
    Bein' a dad can sure make you mad
    Man it even can drive you crazy
    It's as hard as it looks
    You gotta read them dumb books
    And you end up despising Walt Disney
    Bein' a dad starts to get radical
    When they turn into teenagers
    You gotta tighten the screws
    Enforce the curfews
    Confiscate weapons and pagers
    But a daughter and son
    Can be sort of fun
    Just as long as they don't defy you
    They'll treat you like a king
    They'll believe anything
    They're easy to frighten and lie to
    Bein' a dad (bein' a dad)
    Bein' a dad (bein' a dad)
    Bein' a dad can make you feel glad
    When you get paperweights and aftershave lotions
    Yeah it feels pretty great when they graduate
    That's when you're choked with emotions
    But bein' a dad takes more than a tad of
    Good luck and divine intervention
    You need air-tight alibis
    Fool proof disguises
    Desperation's the father of invention
    So sometimes you take off
    For a few rounds of golf
    And you stay away for half of their lifetimes
    The result of it all is
    You're captured and hauled up
    Before a tribunal for dad crimes
    Bein' a dad (bein' a dad)
    Bein' a dad (bein' a dad)
    Bein' a dad can make you feel sad
    Like you're the insignificant other
    Yeah right from the start
    They break your heart
    In the end every kid wants his mother




    ×