Data segment (original) (raw)
قطعة البيانات أو سجمنت (بالإنجليزية: Data segment) في الحوسبة السجمنت (يشار اليه بـ data. ) هو جزء من ملف يسمى object file أو مساحة من العناوين الافتراضية virtual address space (يستخدمها ويجعلها نظام التشغيل متوفرة لاي عملية Process) المعطاة لبرنامج تم تمهيده ويحتوي على static variable ويكون هذا المتغير global variable و static local variable , مساحة هذا السجمنت محدد بواسطة القيمة الموجودة في مصدر كود البرنامج program source code ولا يتغير اثناء وقت التنفيذ run time .
Property | Value |
---|---|
dbo:abstract | قطعة البيانات أو سجمنت (بالإنجليزية: Data segment) في الحوسبة السجمنت (يشار اليه بـ data. ) هو جزء من ملف يسمى object file أو مساحة من العناوين الافتراضية virtual address space (يستخدمها ويجعلها نظام التشغيل متوفرة لاي عملية Process) المعطاة لبرنامج تم تمهيده ويحتوي على static variable ويكون هذا المتغير global variable و static local variable , مساحة هذا السجمنت محدد بواسطة القيمة الموجودة في مصدر كود البرنامج program source code ولا يتغير اثناء وقت التنفيذ run time . (ar) Als Datensegment bezeichnet man den Teil von oder eines laufenden Prozesses, in dem globale und statische Variablen abgelegt sind. Diese Variablen müssen beim Start des Programms bereits im Speicher vorhanden und initialisiert sein, außerdem ist ihr Speicherplatzbedarf bereits zur Übersetzungszeit bekannt. Daher wird bereits beim Übersetzen ein Datenblock erstellt, der später als Teil des Programms beim Starten in den Speicher geladen und sofort verwendet werden kann. Manchmal werden Daten-, BSS-, Stack- und Heap-Bereiche gemeinsam als „Datensegment“ bezeichnet. In Maschinensprache bestehen dann getrennte Segmente für Daten und ausführbaren Code. Dafür halten zum Beispiel Intel-Prozessoren Register CS (CodeSegment) und DS (DataSegment) bereit. Einzelne Befehle beziehen sich dann entweder auf das Daten- oder Codesegment. So bezeichnet die Sprunganweisung JMP 0120 zum Beispiel die absolute Adresse 0120, die in dem durch das Segmentregister CS vorgegebenen Segment anzuspringen ist. Bei Befehlen zum Datenaustausch wie zum Beispiel MOV DX, [BX] dagegen bezieht sich die Adresse in BX als Zeiger auf das Datensegment. Assemblersprachen stellen eigene Anweisungen zur Definition von Segmenten für Daten, Code, Stack, und deren Reihenfolge bereit (zum Beispiel .DATA, .CODE, .STACK u. a.). In manchen Betriebssystemen (z. B. in z/OS) ist die Trennung von Code- und Datensegmenten nicht erforderlich. Die Maschinenbefehle unterscheiden diese beiden Bereichstypen nicht, sondern adressieren Daten und Codeteile mit identischen Verfahren, Registern etc. Ein Maschinenprogramm kann demzufolge Daten und Code gemischt enthalten; aus Gründen der Softwarequalität (Wartbarkeit) werden jedoch Datendeklarationen und der Befehlsteil des Programms meist strukturell getrennt implementiert. (de) In computing, a data segment (often denoted .data) is a portion of an object file or the corresponding address space of a program that contains initialized static variables, that is, global variables and static local variables. The size of this segment is determined by the size of the values in the program's source code, and does not change at run time. The data segment is read/write, since the values of variables can be altered at run time. This is in contrast to the read-only data segment (rodata segment or .rodata), which contains static constants rather than variables; it also contrasts to the code segment, also known as the text segment, which is read-only on many architectures. Uninitialized data, both variables and constants, is instead in the BSS segment. Historically, to be able to support memory address spaces larger than the native size of the internal address register would allow, early CPUs implemented a system of segmentation whereby they would store a small set of indexes to use as offsets to certain areas. The Intel 8086 family of CPUs provided four segments: the code segment, the data segment, the stack segment and the extra segment. Each segment was placed at a specific location in memory by the software being executed and all instructions that operated on the data within those segments were performed relative to the start of that segment. This allowed a 16-bit address register, which would normally be able to access 64 KB of memory space, to access 1 MB of memory space. This segmenting of the memory space into discrete blocks with specific tasks carried over into the programming languages of the day and the concept is still widely in use within modern programming languages. (en) Un segment de données est une portion d’espace d’adressage virtuel d’un programme, qui contient les variables globales et les qui sont initialisées par le programmeur. Cette portion a une taille fixe pour chaque programme, qui dépend de son contenu, dans la mesure où toutes les données sont affectées par le programmeur avant le chargement du programme. Noter que le segment de données n’est pas en lecture seule, puisque les valeurs de ces variables peuvent être altérées à l’exécution. En cela, il s’oppose à la section “Rodata” (« read-only data », données constantes et en lecture seule), tout comme au segment de code. L’architecture PC prend en charge peu de régions de mémoire avec un accès en lecture-écriture basique pour un programme : la pile, le segment de données et le segment de code. (fr) 在采用的架构中,数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态記憶體分配。 (zh) |
dbo:wikiPageExternalLink | http://blog.ooz.ie/2008/09/0x03-notes-on-assembly-memory-from.html http://www.electroons.com/8051/ebooks/expert%20C%20programming.pdf https://web.archive.org/web/20090202113414/http:/blog.ooz.ie/2008/09/0x03-notes-on-assembly-memory-from.html http://www.bravegnu.org/gnu-eprog/c-startup.html |
dbo:wikiPageID | 1613235 (xsd:integer) |
dbo:wikiPageLength | 7262 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1105687621 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Programmable_read-only_memory dbr:Ruby_(programming_language) dbr:Read-only_memory dbr:Perl dbr:Virtual_address_space dbr:Intel_8086 dbr:LIFO_(computing) dbr:.bss dbc:Executable_file_formats dbc:Memory_management dbr:Run_time_(program_lifecycle_phase) dbr:Object_file dbr:Call_stack dbr:Stack_(abstract_data_type) dbr:Computing dbr:Sbrk dbr:Process_control_block dbr:Static_variable dbr:Automatic_variable dbr:Address_space dbr:Linker_(computing) dbr:EEPROM dbr:EPROM dbr:Global_variable dbr:Here_document dbr:Static_local_variable dbr:Code_segment dbr:X86_architecture dbr:Mmap dbr:Segmentation_fault dbr:Uninitialized_variable dbr:Executable dbr:Mask_ROM dbr:Malloc dbr:BSS_segment dbr:Segmentation_(memory) dbr:File:Program_memory_layout.pdf |
dbp:wikiPageUsesTemplate | dbt:Cite_book dbt:Cite_web dbt:Main dbt:Reflist dbt:Visible_anchor |
dcterms:subject | dbc:Executable_file_formats dbc:Memory_management |
gold:hypernym | dbr:Portion |
rdf:type | dbo:AnatomicalStructure yago:WikicatTransportLayerProtocols yago:Abstraction100002137 yago:Communication100033020 yago:Direction106786629 yago:Format106636806 yago:Information106634376 yago:Message106598915 yago:Protocol106665108 yago:Rule106652242 yago:WikicatExecutableFileFormats |
rdfs:comment | قطعة البيانات أو سجمنت (بالإنجليزية: Data segment) في الحوسبة السجمنت (يشار اليه بـ data. ) هو جزء من ملف يسمى object file أو مساحة من العناوين الافتراضية virtual address space (يستخدمها ويجعلها نظام التشغيل متوفرة لاي عملية Process) المعطاة لبرنامج تم تمهيده ويحتوي على static variable ويكون هذا المتغير global variable و static local variable , مساحة هذا السجمنت محدد بواسطة القيمة الموجودة في مصدر كود البرنامج program source code ولا يتغير اثناء وقت التنفيذ run time . (ar) 在采用的架构中,数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态記憶體分配。 (zh) Als Datensegment bezeichnet man den Teil von oder eines laufenden Prozesses, in dem globale und statische Variablen abgelegt sind. Diese Variablen müssen beim Start des Programms bereits im Speicher vorhanden und initialisiert sein, außerdem ist ihr Speicherplatzbedarf bereits zur Übersetzungszeit bekannt. Daher wird bereits beim Übersetzen ein Datenblock erstellt, der später als Teil des Programms beim Starten in den Speicher geladen und sofort verwendet werden kann. Manchmal werden Daten-, BSS-, Stack- und Heap-Bereiche gemeinsam als „Datensegment“ bezeichnet. (de) In computing, a data segment (often denoted .data) is a portion of an object file or the corresponding address space of a program that contains initialized static variables, that is, global variables and static local variables. The size of this segment is determined by the size of the values in the program's source code, and does not change at run time. This segmenting of the memory space into discrete blocks with specific tasks carried over into the programming languages of the day and the concept is still widely in use within modern programming languages. (en) Un segment de données est une portion d’espace d’adressage virtuel d’un programme, qui contient les variables globales et les qui sont initialisées par le programmeur. Cette portion a une taille fixe pour chaque programme, qui dépend de son contenu, dans la mesure où toutes les données sont affectées par le programmeur avant le chargement du programme. L’architecture PC prend en charge peu de régions de mémoire avec un accès en lecture-écriture basique pour un programme : la pile, le segment de données et le segment de code. (fr) |
rdfs:label | قطعة بيانات (شبكات) (ar) Datensegment (de) Data segment (en) Segment de données (fr) 数据段 (zh) |
owl:sameAs | freebase:Data segment yago-res:Data segment wikidata:Data segment dbpedia-ar:Data segment dbpedia-de:Data segment dbpedia-fr:Data segment dbpedia-zh:Data segment https://global.dbpedia.org/id/4YuXN |
prov:wasDerivedFrom | wikipedia-en:Data_segment?oldid=1105687621&ns=0 |
foaf:homepage | http://bravegnu.org |
foaf:isPrimaryTopicOf | wikipedia-en:Data_segment |
is dbo:wikiPageDisambiguates of | dbr:Segment |
is dbo:wikiPageRedirects of | dbr:Rodata dbr:Rodata_segment dbr:Read-only_data_segment dbr:.data dbr:.rodata |
is dbo:wikiPageWikiLink of | dbr:Memory_address dbr:Relocation_(computing) dbr:Debug_(command) dbr:.bss dbr:Object_file dbr:General_protection_fault dbr:Computer_program dbr:Hardware_reset dbr:Sbrk dbr:Process_control_block dbr:Static_variable dbr:COM_file dbr:UCSD_Pascal dbr:Data_(computer_science) dbr:DOS_MZ_executable dbr:List_of_DOS_commands dbr:Memory_footprint dbr:Here_document dbr:Code_segment dbr:C_dynamic_memory_allocation dbr:Memory_segmentation dbr:Segment dbr:Segmentation_fault dbr:Imperative_programming dbr:X86_memory_segmentation dbr:Rodata dbr:Rodata_segment dbr:Read-only_data_segment dbr:.data dbr:.rodata |
is foaf:primaryTopic of | wikipedia-en:Data_segment |