Red zone (computing) (original) (raw)
في مجال الحوسبة، يُقصد بالمنطقة الحمراء (red zone) حيز ثابت الحجم في ذاكرة تتجاوز عنوان موقع في أعلى الكومة (stack pointer) لم يتم" "تخصيصه«بعد». وهذه المنطقة من الذاكرة لا تخضع للتعديل من قِبل روتين المقاطعة/المَسك الاستثنائي/حامل الإشارة. مما يسمح باستخدام المساحة للبيانات المؤقتة دون الحاجة لمزيد من الدرجات القصوى لتعديل عنوان موقع في أعلى الكومة. حيث يفرض برنامج (ABI)ذو الامتداد إكس86-64 منطقة حمراء تبلغ مساحتها 128 بايت. كما تفرض سلسلة الأدوات البرمجية OpenRISC منطقة حمراء تبلغ مساحتها 128 بايت بيد أن هذا ليس موثوقًا.
Property | Value |
---|---|
dbo:abstract | في مجال الحوسبة، يُقصد بالمنطقة الحمراء (red zone) حيز ثابت الحجم في ذاكرة تتجاوز عنوان موقع في أعلى الكومة (stack pointer) لم يتم" "تخصيصه«بعد». وهذه المنطقة من الذاكرة لا تخضع للتعديل من قِبل روتين المقاطعة/المَسك الاستثنائي/حامل الإشارة. مما يسمح باستخدام المساحة للبيانات المؤقتة دون الحاجة لمزيد من الدرجات القصوى لتعديل عنوان موقع في أعلى الكومة. حيث يفرض برنامج (ABI)ذو الامتداد إكس86-64 منطقة حمراء تبلغ مساحتها 128 بايت. كما تفرض سلسلة الأدوات البرمجية OpenRISC منطقة حمراء تبلغ مساحتها 128 بايت بيد أن هذا ليس موثوقًا. (ar) En ciencias de la computación, una zona roja (red zone) es un área de memoria en la pila de llamadas que se encuentra más allá de la dirección de memoria apuntada por el puntero de pila (%rsp) y que se mantiene sin asignar. Dicha región de memoria no es modificada por interrupciones o excepciones. La existencia de la zona roja es una característica peculiar en procesadores con un conjunto de instrucciones x86-64. Las especificaciones de x86-64 admiten que un programa puede usar hasta 128 bytes por debajo (es decir, direcciones de memoria inferiores) de aquella apuntada por el puntero de pila en ese momento. Esta región de memoria adicional permite que el programa pueda almacenar datos temporales en memoria sin la necesidad de tener que modificar el puntero de pila, lo cual permite ejecutar dichas operaciones de forma más rápida y eficiente para el procesador. (es) In computing, the red zone is a fixed-size area in a function's stack frame below (for a push-down stack) the current stack pointer that is reserved and safe to use. It is most commonly used in leaf functions (functions that don't call other functions) for allocating additional stack memory, without moving the stack pointer, which saves an instruction. Whether a red zone is present depends on the calling convention. x86-64 systems that use the System V AMD64 ABI (including Linux and macOS) use a 128-byte red zone that begins directly under the current value of the stack pointer. The OpenRISC toolchain assumes a 128-byte red zone. Microsoft Windows does not have the concept of a red zone on x86. In fact, the ABI explicitly states that the memory beyond the stack pointer is volatile and may be overwritten by debuggers or interrupt handlers. However, Microsoft Windows has a red zone of 16 bytes on IA-64, 8 bytes on AArch32, and 16 bytes on AArch64. The red zone is safe from modification by interrupt/exception/signal handlers. (en) В вычислительной технике красная зона — это область фиксированного размера в стековом кадре функции ниже (для выталкивающего стека) текущего , которая зарезервирована и безопасна для использования. Чаще всего она используется в листовых функциях (функциях, которые не вызывают другие функции) для выделения дополнительной памяти стека без перемещения указателя стека, что сохраняет инструкцию. Наличие красной зоны зависит от соглашений о вызовах. Системы x86-64, использующие System V AMD64 ABI (включая Linux и macOS), используют 128-байтовую красную зону, которая начинается непосредственно под текущим значением указателя стека. OpenRISC toolchain предполагает 128-байтовую красную зону. Microsoft Windows не имеет концепции красной зоны на x86. Однако Microsoft Windows имеет красную зону в 16 байтов на IA-64, 8 байтов на и 16 байтов на . ABI прямо указывает, что память за указателем стека является энергозависимой и может быть перезаписана отладчиками или обработчиками прерываний. Красная зона защищена от модификации обработчиками прерываний, исключений и сигналов. (ru) |
dbo:wikiPageID | 31462850 (xsd:integer) |
dbo:wikiPageLength | 3215 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1033097887 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Interrupt_handler dbr:Toolchain dbr:Linux dbr:MacOS dbr:Stack_frame dbr:Stack_pointer dbr:Computing dbr:Exception_handling dbr:AArch32 dbr:AArch64 dbc:Compilers dbr:OpenRISC dbr:X86 dbr:X86-64 dbr:X86_calling_conventions dbr:IA-64 dbr:Unix_signal |
dbp:wikiPageUsesTemplate | dbt:Primary_sources dbt:Reflist dbt:Compu-prog-stub |
dct:subject | dbc:Compilers |
gold:hypernym | dbr:Area |
rdf:type | dbo:Place yago:WikicatCompilers yago:CausalAgent100007347 yago:Communicator109610660 yago:Compiler109946957 yago:LivingThing100004258 yago:Object100002684 yago:Organism100004475 yago:Person100007846 yago:PhysicalEntity100001930 yago:Writer110794014 yago:YagoLegalActor yago:YagoLegalActorGeo yago:Whole100003553 |
rdfs:comment | في مجال الحوسبة، يُقصد بالمنطقة الحمراء (red zone) حيز ثابت الحجم في ذاكرة تتجاوز عنوان موقع في أعلى الكومة (stack pointer) لم يتم" "تخصيصه«بعد». وهذه المنطقة من الذاكرة لا تخضع للتعديل من قِبل روتين المقاطعة/المَسك الاستثنائي/حامل الإشارة. مما يسمح باستخدام المساحة للبيانات المؤقتة دون الحاجة لمزيد من الدرجات القصوى لتعديل عنوان موقع في أعلى الكومة. حيث يفرض برنامج (ABI)ذو الامتداد إكس86-64 منطقة حمراء تبلغ مساحتها 128 بايت. كما تفرض سلسلة الأدوات البرمجية OpenRISC منطقة حمراء تبلغ مساحتها 128 بايت بيد أن هذا ليس موثوقًا. (ar) En ciencias de la computación, una zona roja (red zone) es un área de memoria en la pila de llamadas que se encuentra más allá de la dirección de memoria apuntada por el puntero de pila (%rsp) y que se mantiene sin asignar. Dicha región de memoria no es modificada por interrupciones o excepciones. La existencia de la zona roja es una característica peculiar en procesadores con un conjunto de instrucciones x86-64. (es) In computing, the red zone is a fixed-size area in a function's stack frame below (for a push-down stack) the current stack pointer that is reserved and safe to use. It is most commonly used in leaf functions (functions that don't call other functions) for allocating additional stack memory, without moving the stack pointer, which saves an instruction. The red zone is safe from modification by interrupt/exception/signal handlers. (en) В вычислительной технике красная зона — это область фиксированного размера в стековом кадре функции ниже (для выталкивающего стека) текущего , которая зарезервирована и безопасна для использования. Чаще всего она используется в листовых функциях (функциях, которые не вызывают другие функции) для выделения дополнительной памяти стека без перемещения указателя стека, что сохраняет инструкцию. Красная зона защищена от модификации обработчиками прерываний, исключений и сигналов. (ru) |
rdfs:label | منطقة حمراء (ar) Zona roja (computación) (es) Red zone (computing) (en) Красная зона (вычислительная техника) (ru) |
owl:sameAs | freebase:Red zone (computing) yago-res:Red zone (computing) wikidata:Red zone (computing) dbpedia-ar:Red zone (computing) dbpedia-es:Red zone (computing) dbpedia-ru:Red zone (computing) https://global.dbpedia.org/id/4tms3 |
prov:wasDerivedFrom | wikipedia-en:Red_zone_(computing)?oldid=1033097887&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Red_zone_(computing) |
is dbo:wikiPageDisambiguates of | dbr:Red_Zone |
is dbo:wikiPageRedirects of | dbr:Red_zone_(Computing) |
is dbo:wikiPageWikiLink of | dbr:Interrupt_handler dbr:Red_zone_(Computing) dbr:Red_Zone dbr:X86_calling_conventions |
is foaf:primaryTopic of | wikipedia-en:Red_zone_(computing) |