DEENESPTFRRUARHIKOZHNL

AUTOSAR OS

ModulOs (AUTOSAR OS)
BSW-Modul-ID1
Standard-Header#include "Os.h"
SWS-SpezifikationAUTOSAR_SWS_OS.pdf
ClusterOperating System

دليل الوحدةمولَّد بالذكاء الاصطناعي

يتحكم في العمليات المحددة زمنيًا، ويحمي OS-Applications من بعضها البعض، وينسق نوى وحدة التحكم الإلكترونية (ECU).
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: claude-opus-5-5 · الجهد: high · درجة الحرارة: غير قابل للتحكم · الموجّه: 5b459e21507a المصدر
المرساة السببية: R20-11 صالح اعتبارًا من R20-11 مُركَّب حديثًا لهذا الإصدار من المواصفة.
مترجم من الدليل الألمانيمُولَّد بالذكاء الاصطناعيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يتحكم في العمليات المحددة زمنيًا، ويحمي OS-Applications من بعضها البعض، وينسق نوى وحدة التحكم الإلكترونية (ECU).

ينفذ نظام التشغيل المهام (Tasks) وروتينات خدمة المقاطعة (ISRs)، ويدير Counter وScheduleTables، ويفصل البرمجيات إلى OS-Applications محمية. يبدأ EcuM النوى باستخدام StartCore؛ وبعد ذلك يتم استدعاء StartOS على كل نواة [SWS_Os_00676]. يمكن مزامنة ScheduleTables بصورة صريحة مع وقت عالمي عبر StbM. ولا يمكن الوصول إلى الكائنات الخارجية إلا بأذونات مهيأة SWS OS ص. 62. وعند حدوث انتهاكات للحماية، يحدد ProtectionHook ما إذا كان سيتم إنهاء مهمة، أو OS-Application، أو النظام بأكمله.

يمثل نظام التشغيل نواة التنفيذ لمكدس Classic. فهو يدير Tasks وISRs والتنبيهات (Alarms) وCounter وScheduleTables، ويجمعها في OS-Applications تكون إما trusted أو non-trusted SWS OS ص. 61. يبدأ EcuM النوى باستخدام StartCore ثم نظام التشغيل OS باستخدام StartOS؛ وتستدعي كل نواة تم بدء تشغيلها StartOS بنفسها SWS EcuM ص. 82، [SWS_Os_00676]. يقوم ShutdownAllCores بإيقاف تشغيل OS على جميع النوى ولا يعود بعد ذلك [SWS_Os_00713]. تستخدم المكونات البرمجية خدمات OS عبر RTE، ويتم تقييد الخدمات التي يُسمح لوحدات BSW باستخدامها SWS BSWGeneral ص. 48.

Kontext swc Software-Komponente rte RTE swc->rte Port os: OsService os Os (Tasks, ISRs, Counter, ScheduleTables, OS-Applications) rte->os OS-Dienste ioc IOC (جزء من Os) rte->ioc IocSend / IocWrite, IocReceive / IocRead bsw BSW-Module bsw->os الخدمات المسموح بها فقط وفقًا لـ SWS BSWGeneral ecum EcuM ecum->os StartCore, StartOS, GetCoreID, ShutdownAllCores stbm StbM stbm->os GetScheduleTableStatus, SyncScheduleTable, GetCounterValue os->ioc يتضمن hw Hardware (Timer, Interrupt-Controller, Prozessor) os->hw Timer initialisieren, Interrupt-Quellen steuern hw->os استثناء عند خرق الحماية

مخطط السياق: تصل وحدات EcuM وStbM وRTE وBSW إلى Os عبر مجموعات خدمات منفصلة؛ ويعد IOC جزءًا من Os. المصادر: SWS EcuM ص. 34، SWS OS ص. 119

تشكل Counter القاعدة الزمنية؛ ويتم تصحيح قيم العتاد لتبدأ من الصفر وتتزايد بشكل رتيب SWS OS ص. 39. يبدأ التطبيق تشغيل ScheduleTables بصورة مطلقة أو نسبية بالنسبة إلى Counter، ويكون للإيقاف تأثير فوري SWS OS ص. 46. وفي حالة المزامنة الصريحة، يوفر StbM قيمة الوقت العالمي باستخدام SyncScheduleTable. ويقوم OS بعد ذلك بضبط Expiry Points حتى يصبح الانحراف ضمن الدقة المهيأة [SWS_Os_00199]، SWS OS ص. 57.

ScheduleTable start Start STOPPED SCHEDULETABLE_STOPPED start->STOPPED NEXT SCHEDULETABLE_NEXT STOPPED->NEXT NextScheduleTable() WAITING SCHEDULETABLE_WAITING STOPPED->WAITING StartScheduleTableSynchron() RUNNING SCHEDULETABLE_RUNNING STOPPED->RUNNING StartScheduleTableAbs() StartScheduleTableRel() NEXT->STOPPED StopScheduleTable() NEXT->RUNNING vorherige Tabelle endet WAITING->STOPPED StopScheduleTable() SYNC SCHEDULETABLE_RUNNING_AND_SYNCHRONOUS WAITING->SYNC SyncScheduleTable() RUNNING->STOPPED StopScheduleTable() أو انتهاء الجدول RUNNING->SYNC |Abweichung| <= Precision SYNC->STOPPED StopScheduleTable() SYNC->RUNNING SetScheduleTableAsync() أو |الانحراف| > Precision

مخطط الحالة: دورة حياة ScheduleTable من البدء عبر المزامنة وحتى التوقف. المصادر: [SWS_Os_00784]، SWS OS ص. 49

يحظر مفهوم الحماية الوصول إلى كائنات OS-Applications الأخرى، ما لم تسمح التهيئة بذلك SWS OS ص. 62. يتيح CallTrustedFunction الانتقالات الخاضعة للتحكم بين OS-Applications [SWS_Os_00097]. وتتنسق النوى المتعددة عبر أقفال الدوران (Spinlocks) المزودة بخاصية اكتشاف التعطل الدائم (Deadlock) وعبر IOC [SWS_Os_00686]، [SWS_Os_00718].

في حالة الأخطاء الجسيمة، تحدد القيمة المعادة من ProtectionHook الإجراء التالي [SWS_Os_00538]:

  • تجاهل الخطأ،
  • إنهاء المهمة (Task) أو ISR،
  • إنهاء OS-Application، مع إعادة التشغيل أو بدونها،
  • إيقاف تشغيل النظام.

تقوم OS-Application المعاد تشغيلها بتحرير نفسها مرة أخرى باستخدام AllowAccess [SWS_Os_00501].

دور نظام التشغيل والمكونات المجاورة له في وحدة التحكم الإلكترونية (ECU)

يمثل نظام التشغيل نواة التنفيذ لمكدس Classic. فهو يدير Tasks وISRs والتنبيهات (Alarms) وCounter وScheduleTables. ويجمع هذه الكائنات مع Hooks وTrusted Functions في OS-Applications قابلة للتهيئة، تكون إما trusted أو non-trusted SWS OS ص. 61. بالإضافة إلى ذلك، يقوم بتهيئة وتكوين جميع المؤقتات التي يستخدمها بنفسه والتي لا يديرها مشغل GPT SWS OS ص. 39.

تصل الوحدات المجاورة عبر واجهات محددة بوضوح:

  • يتحكم EcuM في بدء التشغيل وإيقاف التشغيل عبر StartOS وStartCore وGetCoreID وShutdownAllCores SWS EcuM ص. 34.
  • يستخدم StbM GetCounterValue وGetElapsedValue وGetScheduleTableStatus وSyncScheduleTable SWS StbM ص. 152.
  • تصل المكونات البرمجية إلى خدمات OS عبر منفذ RTE مع واجهة الخدمة OsService TR VFB ص. 89. وتوفر هذه الواجهة لـ Counter الذي تم تكوين OsSecondsPerTick له، من بين أمور أخرى، GetCounterValue وGetElapsedValue [SWS_Os_00560].

يحدد جدول لوحدات BSW خدمات OS التي يُسمح لها باستخدامها أساسًا SWS BSWGeneral ص. 48. ويتولى IOC الاتصال بين OS-Applications. وهو جزء من نظام التشغيل وتستدعيه RTE SWS OS ص. 119، [SWS_Os_00718].

Kontext swc Software-Komponente rte RTE swc->rte Port os: OsService os Os (Tasks, ISRs, Counter, ScheduleTables, OS-Applications) rte->os OS-Dienste ioc IOC (جزء من Os) rte->ioc IocSend / IocWrite, IocReceive / IocRead bsw BSW-Module bsw->os الخدمات المسموح بها فقط وفقًا لـ SWS BSWGeneral ecum EcuM ecum->os StartCore, StartOS, GetCoreID, ShutdownAllCores stbm StbM stbm->os GetScheduleTableStatus, SyncScheduleTable, GetCounterValue os->ioc يتضمن hw Hardware (Timer, Interrupt-Controller, Prozessor) os->hw Timer initialisieren, Interrupt-Quellen steuern hw->os استثناء عند خرق الحماية

مخطط السياق: يتم استخدام Os بواسطة EcuM وStbM وRTE ووحدات BSW عبر مجموعات خدمات خاصة بكل منها، ويغلف IOC والوصول إلى العتاد. المصادر: SWS EcuM ص. 34، SWS StbM ص. 152، TR VFB ص. 89، SWS OS ص. 119

بدء التشغيل، وإدارة النوى، وإيقاف التشغيل

في التشغيل متعدد النوى، يبدأ EcuM على النواة الرئيسية (Master) في حلقة تشغيل جميع النوى المهيأة باستخدام StartCore. بعد ذلك، يستدعي StartOS(ECUM_DEFAULT_APP_MODE) SWS EcuM ص. 82. وعلى كل نواة تم بدء تشغيلها، يجب استدعاء StartOS أيضًا [SWS_Os_00676]. ويتولى ذلك EcuM الخاص بالنواة التابعة المعنية بعد GetCoreID SWS EcuM ص. 83.

تنطبق القواعد التالية على StartCore SWS OS ص. 166:

  • الخدمة غير قابلة لإعادة الدخول (Not reentrant).
  • يؤدي الاستدعاء بعد StartOS إلى إرجاع E_OS_ACCESS، ولا يتم بدء تشغيل النواة.
  • تؤدي النواة التي تم بدء تشغيلها بالفعل إلى E_OS_STATE.

بالنسبة للنوى الواقعة خارج نطاق سيطرة AUTOSAR OS، يتوفر StartNonAutosarCore [SWS_Os_00682].

يتم تحديد النوى عبر CoreIdType. المعرفات المنطقية (IDs) تبدأ من الصفر ومتسلسلة دون فجوات، ويمثل OS_CORE_ID_MASTER النواة الرئيسية [SWS_Os_00790]، [SWS_Os_00825]. يوفر GetCoreID المعرف المنطقي للنواة المستدعية [SWS_Os_00674]. ويمكن استدعاء الخدمة حتى قبل StartOS SWS OS ص. 111.

بعد StartOS وقبل أول StartupHook، يضبط OS جميع OS-Applications على APPLICATION_ACCESSIBLE SWS OS ص. 62. بعد ذلك يأتي StartupHook على مستوى النظام. وبعد ذلك فقط يتم تشغيل StartupHook_<App> الخاصة بالتطبيق، وكل منها بأذونات OS-Application الخاصة بها SWS OS ص. 134، [SWS_Os_00539].

بدء تشغيل متعدد الأنوية لـ OsEcuM (Master-Kern)Os (Master-Kern)Os (Slave-Kern)EcuM (Slave-Kern)GetCoreID()CoreIdTypeloopلكل الأنوية المهيأةStartCore(CoreID, &Status)بدء النواة تحت تحكمنظام التشغيل AUTOSAR OSStatus = E_OKStartOS(ECUM_DEFAULT_APP_MODE)GetCoreID()StartOS(ECUM_DEFAULT_APP_MODE)بعد StartOS: ضبط OS-Applications على APPLICATION_ACCESSIBLE،ثم StartupHook، وبعد ذلك StartupHook_<App>optStartCore بعد StartOSStartCore(CoreID, &Status)Status = E_OS_ACCESS,لن يتم بدء النواة

مخطط التسلسل: تبدأ النواة الرئيسية النوى الأخرى قبل StartOS الخاص بها؛ وتستدعي كل نواة StartOS بنفسها، ويتم رفض أي StartCore لاحق. المصادر: SWS EcuM ص. 82، SWS EcuM ص. 83، SWS OS ص. 166، SWS OS ص. 188

في R20-11، يرجع GetNumberOfActivatedCores عدد النوى المنشطة باستخدام StartCore [SWS_Os_00672]. وتشير الإصدارات اللاحقة بدلاً من ذلك إلى «النوى التي يعمل عليها AUTOSAR OS» SWS OS ص. 196.

باستخدام ControlIdle، يتم اختيار إجراء فترة الخمول لكل نواة، على سبيل المثال لتوفير الطاقة. الإجراء الافتراضي هو IDLE_NO_HALT. وتؤدي النواة غير المعروفة أو الوضع غير المعروف إلى E_OS_ID [SWS_Os_00769]، [SWS_Os_00771]، [SWS_Os_00793].

يقوم ShutdownAllCores بإيقاف تشغيل OS على جميع نوى AUTOSAR، ويجبر النوى الأخرى على الدخول في إيقاف التشغيل ولا يعود أبدًا [SWS_Os_00713]. أثناء ذلك، يتم تشغيل ShutdownHook_<App> أولاً. ثم تتزامن النوى، وبعد ذلك فقط يأتي ShutdownHook العام SWS OS ص. 98، [SWS_Os_00541].

Counter وScheduleTables كقاعدة زمنية

يرجع GetCounterValue قيمة المؤقت في حالة Counter للعتاد، ويرجع دقات البرمجيات (Software Ticks) في حالة Counter للبرمجيات. ويصحح OS قيم العتاد لتبدأ من الصفر وتتزايد حتى قيمة مقياس التردد (Modulus) SWS OS ص. 39، [SWS_Os_00383].

يرجع GetElapsedValue الدقات (Ticks) المنقضية منذ قيمة تمت قراءتها سابقًا. وإذا كان Value أكبر من الحد الأقصى المسموح به لقيمة العداد، يتبع ذلك E_OS_VALUE SWS OS ص. 192، [SWS_Os_00392].

يزيد IncrementCounter من قيمة Counter البرمجي فقط؛ أما بالنسبة لـ Counter العتادي، فإنه يرجع E_OS_ID. وإذا فشل إجراء تنبيه أثناء ذلك، يستدعي OS خطافات الخطأ (Error Hooks)، ولكن الخدمة نفسها ترجع E_OK SWS OS ص. 190، [SWS_Os_00399].

بدء ScheduleTable وإيقافها هما مسؤولية التطبيق SWS OS ص. 46. وتتم معالجة Initial Expiry Point عند قيمة العداد التالية:

  • StartScheduleTableAbs: عند Start + InitialOffset [SWS_Os_00358].
  • StartScheduleTableRel: عند Now + Offset + InitialOffset [SWS_Os_00347].

عند البدء النسبي، تؤدي إزاحة بقيمة 0 أو أكبر من OsCounterMaxAllowedValue − InitialOffset إلى الخطأ E_OS_VALUE. وتؤدي المحاولة مع جدول قد بدأ بالفعل إلى E_OS_STATE SWS OS ص. 179.

يُلغي StopScheduleTable العملية فورًا؛ ويؤدي الجدول المتوقف بالفعل إلى E_OS_NOFUNC [SWS_Os_00006]. وتبدأ إعادة التشغيل اللاحقة من بداية الجدول SWS OS ص. 46.

يقوم NextScheduleTable بتسلسل جدول لاحق. يجب أن يكون كلا الجدولين مُدارين بواسطة العداد نفسه، وإلا فسينتج E_OS_ID [SWS_Os_00191]، SWS OS ص. 184.

يُبلّغ GetScheduleTableStatus بالنسبة لجدول لم يبدأ بعد عن SCHEDULETABLE_STOPPED مع E_OK SWS OS ص. 189، [SWS_Os_00784].

ScheduleTable start Start STOPPED SCHEDULETABLE_STOPPED start->STOPPED NEXT SCHEDULETABLE_NEXT STOPPED->NEXT NextScheduleTable() WAITING SCHEDULETABLE_WAITING STOPPED->WAITING StartScheduleTableSynchron() RUNNING SCHEDULETABLE_RUNNING STOPPED->RUNNING StartScheduleTableAbs() StartScheduleTableRel() NEXT->STOPPED StopScheduleTable() NEXT->RUNNING vorherige Tabelle endet WAITING->STOPPED StopScheduleTable() SYNC SCHEDULETABLE_RUNNING_AND_SYNCHRONOUS WAITING->SYNC SyncScheduleTable() RUNNING->STOPPED StopScheduleTable() أو انتهاء الجدول RUNNING->SYNC |Abweichung| <= Precision SYNC->STOPPED StopScheduleTable() SYNC->RUNNING SetScheduleTableAsync() أو |الانحراف| > Precision

مخطط الحالة: دورة حياة ScheduleTable مع كافة حالات ScheduleTableStatusType؛ لا تظهر WAITING وRUNNING إلا عند المزامنة الصريحة، بينما تقتصر الجداول المتزامنة ضمنيًا على STOPPED وNEXT وRUNNING_AND_SYNCHRONOUS فقط. المصادر: [SWS_Os_00784]، SWS OS ص. 43، SWS OS ص. 49، SWS OS ص. 48

مزامنة الـ ScheduleTables مع الوقت العام

في المزامنة الضمنية، يكون العداد المشغِّل هو نفسه عداد المزامنة. ولا يعرف الجدول عندئذٍ سوى ثلاث حالات SWS OS ص. 48. ويُرجع StartScheduleTableRel بالنسبة إلى OsScheduleTblSyncStrategy = IMPLICIT الخطأ E_OS_ID SWS OS ص. 179. في المقابل، تقوم المزامنة الصريحة بمواءمة جدول مُدار محليًا مع عداد مزامنة خارجي. وهي مدرجة كإجراء أمان للربط مع القاعدة الزمنية الخاصة بـ StbM Safety Measures ص. 66.

توجد طريقتان للبدء SWS OS ص. 49، [SWS_Os_00201]:

  • بشكل غير متزامن عبر StartScheduleTableAbs أو StartScheduleTableRel، بالاستناد إلى العداد المشغِّل.
  • بشكل متزامن عبر StartScheduleTableSynchron. وهنا تتم معالجة نقطة الانتهاء الأولية (Initial Expiry Point) بعد (Duration − Value) + InitialOffset من التكات (Ticks) بعد توفير قيمة المزامنة.

يُمرر SyncScheduleTable القيمة الحالية لعداد المزامنة. ويتوافق مقياسه (Modulus) مع مدة الجدول SWS OS ص. 52، [SWS_Os_00199].

يحسب الـ OS الانحراف من ذلك ويضبط التأخير عند كل نقطة انتهاء (Expiry Point). إذا كان الانحراف ضمن OsScheduleTblExplicitPrecision، يُعتبر الجدول «running and synchronous» SWS OS ص. 57. ويُوقف SetScheduleTableAsync عملية التتبع حتى الـ SyncScheduleTable التالي؛ مع استمرار تشغيل نقاط الانتهاء (Expiry Points) في أثناء ذلك SWS OS ص. 188، [SWS_Os_00422].

مزامنة صريحة لـ ScheduleTable بواسطة StbMمهمة BSW (مهمة OS أو استدعاء دوري)StbMOsStbM_MainFunction()GetScheduleTableStatus(ScheduleTableID, &ScheduleStatus)E_OK, ScheduleStatusaltScheduleStatus == WAITING، RUNNING أو RUNNING_AND_SYNCHRONOUSSyncScheduleTable(ScheduleTableID, GlobalTimeTick)Abweichung berechnen,تعديل التأخير حتى Expiry Point التاليةوإلاkein SyncScheduleTableيتكرر التسلسل عند كل استدعاء لـ StbM_MainFunction()

مخطط التسلسل: يستعلم StbM دوريًا عن حالة الجدول ولا يقدّم قيمة مزامنة إلا إذا كان الجدول قد بدأ. المصادر: SWS StbM ص. 220، SWS StbM ص. 117، [SWS_Os_00227]، [SWS_Os_00199]

مفهوم الحماية: الـ OS-Applications، وحقوق الوصول، والـ Trusted Functions

يمنع الـ OS وصول أي OS-Application إلى كائنات تابعة لغيرها، ما لم يسمح التكوين بذلك صراحةً SWS OS ص. 62. وفي حال غياب الحقوق، تُرجع الخدمة E_OS_ACCESS. وتُستثنى من ذلك خدمات فحص الوصول إلى الذاكرة والكائنات، المسموح بها دائمًا SWS OS ص. 73.

تتوفر الاستعلامات التالية في وقت التشغيل:

  • يحدد GetApplicationID الـ OS-Application التي تم تكوين المتصل للانتماء إليها [SWS_Os_00016].
  • يحدد GetCurrentApplicationID الـ OS-Application التي يجري تنفيذ المتصل داخلها حاليًا. وتختلف القيمتان فقط داخل CallTrustedFunction [SWS_Os_00797]، [SWS_Os_00798].
  • يُرجع CheckObjectOwnership مالك الكائن أو INVALID_OSAPPLICATION SWS OS ص. 178.
  • يُرجع CheckObjectAccess إما ACCESS أو NO_ACCESS؛ وعند استخدام معاملات غير صالحة، يُرجع دائمًا NO_ACCESS SWS OS ص. 177.

يُرجع CheckTaskMemoryAccess وCheckISRMemoryAccess بصيغة AccessType حقوق الوصول إلى نطاق ذاكرة وما إذا كان ينتمي إلى مكدس الذاكرة (Stack). ويتم نفي أي حق لا ينطبق على النطاق بأكمله. ويؤدي الـ ID غير الصالح إلى عدم منح أي حقوق على الإطلاق SWS OS ص. 175، SWS OS ص. 174. ويتم تقييم النتيجة باستخدام وحدات ماكرو مثل OSMEMORY_IS_WRITEABLE SWS OS ص. 160.

يُنفّذ CallTrustedFunction دالةً بإعدادات الحماية الخاصة بالـ OS-Application الموفرة لها. إذا لم يكن الفهرس مُكوّنًا، يتبع ذلك E_OS_SERVICEID واستدعاء لـ ErrorHook SWS OS ص. 85، SWS OS ص. 172. في R20-11، يعتمد السلوك المتزامن على الدالة المُستدعاة، ويمكن للاستدعاء أن يُطلق إعادة جدولة [SWS_Os_00097]. ويجب أيضًا أن تتوفر إمكانية تقييد صلاحية الكتابة حتى بالنسبة إلى الـ trusted OS-Applications [SWS_Os_00795].

استدعاء Trusted Functionaufrufende OS-ApplicationTrusted-Function-StubBetriebssystem (System-Call-Dispatcher)bereitstellende OS-ApplicationDienstaufrufArgumente in Parameterstruktur packenCallTrustedFunction(FunID, FunParPtr)التحقق من الصلاحيةaltverweigertE_OS_SERVICEIDakzeptiert<trusted function>مع إعدادات الحماية الخاصة بـ OS-Application الموفرةCheckTaskMemoryAccess(...)AccessTypeالعودةE_OKالقيمة المُرجعة

مخطط التسلسل: يقوم Stub بتغليف المعاملات؛ ويتحقق الـ OS من الصلاحية، ولا ينتقل إلا بعد ذلك إلى الـ OS-Application الموفرة، والتي تتحقق دالتها بدورها من حقوق الذاكرة. المصادر: SWS OS ص. 185، SWS OS ص. 396، [SWS_Os_00097]

للوصول المحمي إلى العتاد، تتوفر الخدمات ReadPeripheral وWritePeripheral وModifyPeripheral بأحجام 8 و16 و32 بت. وتعمل هذه الخدمات على نطاقات الأجهزة الطرفية من النوع AreaIdType [SWS_Os_91000]. وتحسب نسخة التعديل (Modify) *Address = (*Address & Clearmask) | Setmask SWS OS ص. 209.

يتوفر لكل ISR من الفئة 2 الخدمات DisableInterruptSource وEnableInterruptSource وClearPendingInterrupt [SWS_Os_00808]. ويقوم ClearPendingInterrupt فقط بمسح راية الانتظار (Pending-Flag) في وحدة التحكم بالمقاطعات [SWS_Os_00814].

الفارق بين الإصدارات: في R20-11، يمسح EnableInterruptSource راية الانتظار (Pending-Flag) دائمًا [SWS_Os_00811]، على الرغم من أن البصمة تتضمن المعامل ClearPending. وتصف الإصدارات اللاحقة عملية المسح بأنها اختيارية SWS OS ص. 177.

التنسيق عبر النوى والأقسام

تعمل أقفال الدوران (Spinlocks) عبر حدود النوى. ينتظر GetSpinlock بشكل نشط دون إلغاء جدولة المتصل، ويمكن استدعاؤه على مستوى الـ Task والـ ISR من الفئة 2 SWS OS ص. 115. وفي الحالة الموسعة (Extended Status)، يكتشف حالتي مأزق (Deadlock) [SWS_Os_00686]:

  • E_OS_INTERFERENCE_DEADLOCK: هناك Task على النواة نفسها يحتفظ بالقفل بالفعل.
  • E_OS_NESTING_DEADLOCK: التداخل مع قفل دوران آخر محتجز غير مسموح به.

يعود TryToGetSpinlock إذا كان هناك Task على نواة أخرى يشغل القفل. ويُرجع حينئذٍ E_OK مع TRYTOGETSPINLOCK_NOSUCCESS [SWS_Os_00703]، [SWS_Os_00792]. قبل إنهاء أي Task وقبل WaitEvent، يجب تحرير كافة أقفال الدوران بالترتيب الصحيح [SWS_Os_00695]. وللحماية من التداخل، يفيد التضمين باستخدام SuspendAllInterrupts أو ضبط الإعداد OsSpinlockLockMethod SWS OS ص. 101.

يعمل ActivateTask عبر حدود النوى بشكل متزامن. ويتم تشغيل معالج الأخطاء على النواة المستدعية SWS OS ص. 103. في المقابل، لا يُرجع ActivateTaskAsyn وSetEventAsyn أي أخطاء إلى المتصل، بل يقتصران على إبلاغ Error-Hook العام بها [SWS_Os_00816]، [SWS_Os_00817]. وكلاهما لا يتوفر إلا في الأنظمة المزودة بـ OS-Applications [SWS_Os_00818]، [SWS_Os_00819]. وإذا لم يعد المتصل موجودًا، يسقط البلاغ SWS OS ص. 179.

ينشئ الـ IOC دواله لكل مُرسل ومستقبل:

إذا كان المخزن المؤقت ممتلئًا، يُبلّغ المرسل عن IOC_E_LIMIT، ويتلقى المستقبل IOC_E_LOST_DATA عند القراءة التالية SWS OS ص. 219. لا يزال IocInit والتوليد المنفصل لشيفرات الـ OS والـ IOC يحملان حالة DRAFT في R20-11 [SWS_Os_00835]، [SWS_Os_00831]، [SWS_Os_00834].

التصرف في حالة الخطأ

تجري العديد من عمليات التحقق، مثل التحقق من E_OS_ID، في الحالة الموسعة (Extended Status) فقط. ويتم التحقق من معاملات المؤشرات هناك للتأكد من عدم كونها NULL_PTR وتُرفض بالرمز E_OS_ILLEGAL_ADDRESS SWS OS ص. 38. وتُعرّف معرفات أخطاء إضافية مثل E_OS_PROTECTION_MEMORY وE_OS_STACKFAULT مركزيًا [SWS_Os_91025]. إذا لم تُرجع الخدمة E_OK، يستدعي الـ OS الـ ErrorHook والـ ErrorHook_<App> SWS OS ص. 186، [SWS_Os_00540].

عند حدوث أخطاء جسيمة، يستدعي الـ OS الـ ProtectionHook. وتحدد قيمة ProtectionReturnType الخاصة به الاستجابة الإضافية [SWS_Os_00538]، [SWS_Os_00787]. وإذا لم يتم تكوين ProtectionHook، يستدعي الـ OS الخدمة ShutdownOS EXP ALEH ص. 60. وعند إنهاء OS-Application، يوقف الـ OS كافة الكائنات المرتبطة بها SWS OS ص. 62:

  • كافة الـ Tasks والـ ISRs،
  • مقاطعاتها،
  • تنبيهاتها (Alarms)،
  • جداولها ScheduleTables.
الاستجابة لخرق الحماية عبر ProtectionHookمهمة / ISR من الفئة 2 لـ OS-Application <App>ProzessorBetriebssystemUse Case: Schutzverletzungتنفيذ مع خرق للحماية«Exception»ProtectionHook(Fatalerror)altPRO_TERMINATETASKISRإنهاء قسري للمهمة / لـ ISRPRO_TERMINATEAPPLإنهاء قسري لـ OS-ApplicationPRO_TERMINATEAPPL_RESTARTإنهاء قسري لـ OS-Application،Restart-Task startenPRO_IGNOREلا يوجد إجراء آخرPRO_SHUTDOWNShutdownOS()

مخطط التسلسل: تختار القيمة المرجعة لـ ProtectionHook بين التجاهل، أو إنهاء الـ Task/الـ ISR، أو إنهاء الـ OS-Application (مع إعادة التشغيل أو بدونها)، أو إيقاف التشغيل. المصادر: SWS OS ص. 187، [SWS_Os_00538]، [SWS_Os_00787]

تكون الـ OS-Application إما APPLICATION_ACCESSIBLE أو APPLICATION_RESTARTING أو APPLICATION_TERMINATED. ويُرجع الحالة GetApplicationState [SWS_Os_00773]، [SWS_Os_00499]. ويقبل TerminateApplication في R20-11 إما RESTART أو NO_RESTART [SWS_Os_00258]، [SWS_Os_00788]. بينما تتجاهل الإصدارات اللاحقة هذا المعامل SWS OS ص. 194.

في الحالة RESTARTING، لا يعمل سوى OSRestartTask؛ ولا تمتلك الـ OS-Applications الأخرى أي وصول. ولا تغادر الـ OS-Application الحالة APPLICATION_TERMINATED إلا عبر إعادة تشغيل وحدة التحكم الإلكترونية (ECU) EXP ALEH ص. 53. وتقوم OSRestartTask بالتنظيف عند الحاجة عبر CallTrustedFunction ثم تتيح الـ OS-Application مجددًا باستخدام AllowAccess EXP ALEH ص. 76، [SWS_Os_00501]. ويقوم مدمج النظام (Integrator) بتوفير الشيفرة البرمجية لكل من ProtectionHook على مستوى وحدة التحكم الإلكترونية ومهام إعادة التشغيل (Restart-Task) EXP ALEH ص. 79.

OsApplication start Start ACC APPLICATION_ACCESSIBLE start->ACC StartOS (قبل أول StartupHook) RES APPLICATION_RESTARTING ACC->RES PRO_TERMINATEAPPL_RESTART أو TerminateApplication(AppID, RESTART) TER APPLICATION_TERMINATED ACC->TER PRO_TERMINATEAPPL أو TerminateApplication(AppID, NO_RESTART) RES->ACC AllowAccess() (من مهمة إعادة التشغيل) RES->TER TerminateApplication(self, NO_RESTART)

مخطط الحالة: يجعل StartOS كل OS-Application قابلة للوصول؛ وتقود استجابات الحماية أو TerminateApplication إلى RESTARTING أو TERMINATED، ولا يعيدها سوى AllowAccess. المصادر: EXP ALEH ص. 61، [SWS_Os_00773]، [SWS_Os_00501]

أدلة تفصيلية إضافية

دليل تم إنشاؤه بواسطة الذكاء الاصطناعي بالاستناد إلى المتطلبات ومواضع المستندات الواردة في الحمولة؛ المتطلبات المعيارية هي متطلبات الإصدار R20-11، مع الإشارة إلى اختلافات الإصدارات اللاحقة.

AUTOSAR OS

Real-time operating system managing priority-based preemptive task scheduling, events, alarms, and schedule tables (OSEK/VDX derivative).

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

دالة GetApplication [SWS_Os_00016] 📄 PDF

ApplicationType GetApplicationID (void);

This service determines the OS - Application (a unique identifier has to be allocated to each application) where the caller originally belongs to (was configured t o).

دالة GetCurrentApplication [SWS_Os_00797] 📄 PDF

ApplicationType GetCurrentApplicationID (void);

This service determines the OS - Application where the caller of the service is currently executing. Note that if the caller is not within a Call Trusted Function() call the value is eq ual to the result of Get Application ID().

دالة CallTrustedFunction [SWS_Os_00097] 📄 PDF

StatusType CallTrustedFunction (TrustedFunctionIndexType FunctionIndex, TrustedFunctionParameterRefType FunctionParams);

A (trusted or non - trusted) OS - Application uses this service to call a trusted function

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: f4173cc0ef4f المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

عبر خدمة النظام CallTrustedFunction (معرّف الخدمة 0x02)، يمكن لـ OS-Application موثوق به أو غير موثوق به استدعاء Trusted Function محددة للتنفيذ [SWS_Os_00097]. يتم توفير الواجهة عبر ملف الترويسة Os.h [SWS_Os_00097].

يتطلب الاستدعاء تمرير معاملي إدخال اثنين [SWS_Os_00097]:

  • FunctionIndex (النوع TrustedFunctionIndexType): يحدد فهرس الدالة المراد استدعاؤها [SWS_Os_00097].
  • FunctionParams (النوع TrustedFunctionParameterRefType): يمرر مؤشرًا إلى معلمات الدالة الهدف؛ إذا لم تكن هناك وسائط مطلوبة، فيجب بالضرورة تمرير مؤشر NULL [SWS_Os_00097].

فيما يتعلق بالسلوك الزمني، يعتمد التنفيذ على الروتين الهدف: إذا كانت الدالة المستدعاة متزامنة، فإن الخدمة تتصرف بشكل متزامن أيضًا [SWS_Os_00097]. الدالة مطبقة لتكون قابلة لإعادة الدخول (reentrant)، ولكن يمكنها أثناء التنفيذ أن تؤدي إلى إعادة جدولة (Rescheduling) لنظام التشغيل [SWS_Os_00097].

كقيمة إرجاع، تقدم الخدمة قيمة حالة من النوع StatusType [SWS_Os_00097]:

  • E_OK: كان التنفيذ ناجحًا وخاليًا من الأخطاء [SWS_Os_00097].
  • E_OS_SERVICEID: لا توجد دالة صالحة مقترنة بالفهرس الممرر [SWS_Os_00097].

تم إنشاء ملاحظة الاستخدام هذه آليًا استنادًا إلى AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة CheckISRMemoryAccess [SWS_Os_00512] 📄 PDF

AccessType CheckISRMemoryAccess (ISRType ISRID, MemoryStartAddressType Address, MemorySizeType Size);

This service checks if a memory region is write/ read/ execute accessible and also returns information if the memory region is part of the stack space.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 9eaf26d27eff المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الدالة CheckISRMemoryAccess هي خدمة نظام متزامنة وقابلة لإعادة الدخول (reentrant) لوحدة OS ([SWS_Os_00512]). تُستخدم لفحص حقوق الوصول إلى الذاكرة لـ ISR محددة لمنطقة ذاكرة معينة في وقت التشغيل.

الاستخدام والمعلمات

يتوقع استدعاء CheckISRMemoryAccess ثلاثة معلمات إدخال ([SWS_Os_00512]):

  • ISRID: مرجع إلى ISR المراد فحصها (ISRType).
  • Address: عنوان البداية لمنطقة الذاكرة المراد فحصها (MemoryStartAddressType).
  • Size: حجم منطقة الذاكرة (MemorySizeType).

كقيمة إرجاع، تقدم الخدمة النوع AccessType. تحتوي قيمة الإرجاع هذه على حقوق الوصول (قراءة، كتابة، تنفيذ) إلى المنطقة المحددة وتعطي بالإضافة إلى ذلك معلومات حول ما إذا كانت منطقة الذاكرة جزءًا من منطقة المكدس (Stack) ([SWS_Os_00512]).

التزامن والتكامل

وفقًا للمواصفة، تمتلك الدالة معرّف الخدمة 0x03 وهي مُعلنة كقابلة لإعادة الدخول (reentrant) ([SWS_Os_00512]). وهي متاحة عبر ملف الترويسة Os.h ([SWS_Os_00512]). لا يتم سرد رموز أخطاء محددة أو ردود صريحة إلى DET/DEM في مقتطف المواصفات الحالي.

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى بيانات مواصفات AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة CheckTaskMemoryAccess [SWS_Os_00513] 📄 PDF

AccessType CheckTaskMemoryAccess (TaskType TaskID, MemoryStartAddressType Address, MemorySizeType Size);

This service checks if a memory region is write/ read/ execu te accessible and also returns information if the memory region is part of the stack space.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 91d38acf9e0a المصدر
مترجم من الدليل الألمانيمُولَّد بالذكاء الاصطناعيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تمثل الدالة CheckTaskMemoryAccess خدمة متزامنة لنظام التشغيل، يتم توفيرها عبر الترويسة Os.h وتمتلك معرّف الخدمة 0x04 [SWS_Os_00513]. وتُستخدم للاستعلام عن حقوق الوصول إلى الذاكرة لمهمة معينة لقطاع ذاكرة محدد [SWS_Os_00513].

المعلمات وقيم الإرجاع

عند الاستدعاء، تقبل الخدمة ثلاث معلمات إدخال [SWS_Os_00513]:

  • Task ID (من النوع TaskType): مرجع إلى المهمة التي يراد فحص حقوق الوصول الخاصة بها.
  • Address (من النوع MemoryStartAddressType): عنوان البدء لمنطقة الذاكرة المراد فحصها.
  • Size (من النوع MemorySizeType): حجم منطقة الذاكرة المراد فحصها.

كقيمة إرجاع، تقدم الخدمة متغيرًا من النوع AccessType [SWS_Os_00513]. تحتوي قيمة الإرجاع هذه على معلومات حول ما إذا كانت منطقة الذاكرة المحددة قابلة للوصول للمهمة مع حقوق كتابة أو قراءة أو تنفيذ، وتوضح بالإضافة إلى ذلك ما إذا كانت المنطقة جزءًا من منطقة الـ Stack [SWS_Os_00513]. لم يتم تحديد رموز خطأ إضافية أو رسائل DET لهذه الخدمة.

التزامن والتفاعل

تم تحديد الخدمة على أنها قابلة لإعادة الدخول وبالتالي يمكن استخدامها بأمان في سياقات تنفيذ متزامنة [SWS_Os_00513]. بينما تستعلم CheckTaskMemoryAccess عن أذونات مناطق الذاكرة في وقت التشغيل، يحدد معيار AUTOSAR في توصيفات وحدات ARTI واجهات وبنى بيانات يمكن لأدوات تصحيح الأخطاء من خلالها تسجيل حالات وسمات كائنات نظام التشغيل وتقييمها [SWS_Os_00829].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة CheckObjectAccess [SWS_Os_00256] 📄 PDF

ObjectAccessType CheckObjectAccess (ApplicationType ApplID, ObjectTypeType ObjectType, void ...);

This service determines if the OS - Applications, given by Appl ID, is allowed to use the IDs of a Task, Resource, Counter, Alarm or Schedule Table in API calls.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: c7ec73500d6c المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام والدلالات

تحدد الدالة CheckObjectAccess ([SWS_Os_00256]) بشكل متزامن ما إذا كانت OS-Application معينة تمتلك الصلاحية لاستخدام ID الخاص بكائن نظام تشغيل في استدعاءات API. وتُستخدم معلمة الإدخال ApplID من النوع ApplicationType ([SWS_Os_00256]) لتحديد التطبيق. ويتم تحديد نوع الكائن المراد فحصه عبر ObjectType (النوع ObjectTypeType)؛ وتدعم كلاً من Task وResource وCounter وAlarm وSchedule Table ([SWS_Os_00256]). وتتبع كمعلمة ثالثة الكائن المراد فحصه نفسه عبر قائمة المعلمات المتغيرة ... ([SWS_Os_00256]).

كقيمة إرجاع، تُرجع الدالة النوع ObjectAccessType: إذا كان وصول التطبيق إلى الكائن مسموحًا به، يتم إرجاع ACCESS، وإلا NO_ACCESS ([SWS_Os_00256]). تم الإعلان عن الخدمة عبر الترويسة Os.h ولديها معرّف الخدمة 0x05 ([SWS_Os_00256]).

التزامن ومعالجة الأخطاء والتفاعل

تم تحديد الخدمة على أنها قابلة لإعادة الدخول وبالتالي يمكن استدعاؤها في سياقات تنفيذ متزامنة ([SWS_Os_00256]). لا تنص المواصفة على رموز أخطاء محددة أو قيم إرجاع لحالات الخطأ أو رسائل إلى DET أو DEM لهذه الدالة ([SWS_Os_00256]).

تفسير: من المرجح أن تمرر الوسيطة المتغيرة ... في التنفيذ المعرّف الفعلي للكائن المتوافق مع ObjectType. سؤال Q-5cb52ff94bb07826 (مفتوح) كما تنعكس كائنات نظام التشغيل التي تم فحصها في معلومات تصحيح الأخطاء الخاصة بـ ARTI، والتي تسجل سمات وحالات كائنات نظام التشغيل وتقيمها ([SWS_Os_00829]).

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى المواصفة R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة CheckObjectOwnership [SWS_Os_00017] 📄 PDF

ApplicationType CheckObjectOwnership (ObjectTypeType ObjectType, void ...);

This service determines to which OS - Application a given Task, ISR, Counter, Alarm or Schedule Table belongs

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 20318a993e09 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تُستخدم دالة النظام المتزامنة CheckObjectOwnership لتحديد الـ OS-Application التي ينتمي إليها كائن معين من كائنات نظام التشغيل [SWS_Os_00017]. تتضمن الكائنات التي يمكن الاستعلام عنها عبر هذه الخدمة المهام (Tasks)، وروتينات خدمة المقاطعة (ISRs)، والعدادات، والتنبيهات، بالإضافة إلى جداول الجدولة (Schedule Tables) [SWS_Os_00017].

تتوفر الدالة عبر ملف الترويسة Os.h ولديها معرّف الخدمة 0x06 [SWS_Os_00017]. عند الاستخدام، تقبل الدالة معلمتي إدخال:

  • ObjectType: يحدد كمعلمة إدخال من النوع ObjectTypeType نوع كائن نظام التشغيل الذي يتم تمريره لاحقًا [SWS_Os_00017].
  • ...: يمرر الكائن الفعلي المراد فحصه إلى الخدمة [SWS_Os_00017].

كقيمة إرجاع، تُرجع الدالة نوع البيانات ApplicationType [SWS_Os_00017]. يحتوي هذا على معرّف الـ OS-Application التي تم تعيين الكائن المفحوص إليها [SWS_Os_00017].

معالجة الأخطاء وخصائص التنفيذ

إذا لم يكن الكائن المستعلم عنه موجودًا في النظام، ترجع الخدمة قيمة الإرجاع INVALID_OSAPPLICATION [SWS_Os_00017].

فيما يتعلق بسلوك التزامن، تم تحديد CheckObjectOwnership على أنها قابلة لإعادة الدخول وتعمل بشكل متزامن تمامًا [SWS_Os_00017]. ولا توجد معلمات إدخال وإخراج (inout أو out) بخلاف قيمة الإرجاع [SWS_Os_00017].

تستند ملاحظة الاستخدام هذه إلى المواصفة SWS_Os_00017 من AUTOSAR Classic R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة StartScheduleTableRel [SWS_Os_00347] 📄 PDF

StatusType StartScheduleTableRel (ScheduleTableType ScheduleTableID, TickType Offset);

This service starts the processing of a schedule table at "Offset" relative to the "Now" value on the underlying counter.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 9cbbffcaa010 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام والمعلمات

تبدأ خدمة النظام StartScheduleTableRel معالجة جدول جدولة نسبةً إلى قيمة العداد الحالية («Now») للعداد الأساسي [SWS_Os_00347]. يتم تنفيذ الاستدعاء بشكل متزامن وهو متاح عبر الواجهة Os.h مع معرّف الخدمة 0x07 [SWS_Os_00347].

  • ScheduleTableID (إدخال، ScheduleTableType): معرّف جدول الجدولة المراد بدء تشغيله [SWS_Os_00347].
  • Offset (إدخال، TickType): العدد النسبي لنبضات العداد على العداد قبل أن تبدأ معالجة الجدول [SWS_Os_00347].

قيم الإرجاع ومعالجة الأخطاء

تُرجع الدالة رمز حالة من النوع StatusType [SWS_Os_00347]:

  • E_OK: تم بدء تشغيل جدول الجدولة بنجاح وخالٍ من الأخطاء [SWS_Os_00347].
  • E_OS_STATE: تم بالفعل بدء تشغيل جدول الجدولة المحدد [SWS_Os_00347].
  • E_OS_ID (فقط عند الحالة EXTENDED): ScheduleTableID المحدد غير صالح [SWS_Os_00347].
  • E_OS_VALUE (فقط عند الحالة EXTENDED): المعامل Offset يساوي 0 أو يتجاوز القيمة (OsCounterMaxAllowedValue - InitialOffset) [SWS_Os_00347].

التزامن والقيود

تم تحديد الدالة على أنها قابلة لإعادة الدخول (reentrant) [SWS_Os_00347]. لا توجد معلمات إخراج أو معلمات إدخال/إخراج [SWS_Os_00347].

تستند ملاحظة الاستخدام هذه إلى مواصفة AUTOSAR CP R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة StartScheduleTableAbs [SWS_Os_00358] 📄 PDF

StatusType StartScheduleTableAbs (ScheduleTableType ScheduleTableID, TickType Start);

This service starts the processing o f a schedule table at an absolute value "Start" on the underlying counter.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 8536dbe30f67 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة والقابلة لإعادة الدخول (reentrant) StartScheduleTableAbs لبدء تشغيل جدول تسلسل زمني (Schedule Table) عند قراءة عداد مطلقة محددة مسبقًا على العداد الأساسي ([SWS_Os_00358]). تتوفر الخدمة عبر ملف الترويسة Os.h ويتم تحديدها عبر معرّف الخدمة 0x08 ([SWS_Os_00358]).

عند الاستدعاء، يتم تمرير معاملي إدخال ([SWS_Os_00358]):

  • ScheduleTableID: معرّف Schedule Table المراد بدء تشغيلها.
  • Start: قيمة نبضة العداد المطلقة التي يتم عندها بدء تشغيل Schedule Table.

كقيمة إرجاع، تُرجع الدالة الحالة من النوع StatusType ([SWS_Os_00358]):

  • E_OK: كانت عملية البدء ناجحة.
  • E_OS_STATE: تم بالفعل بدء تشغيل Schedule Table المحددة مسبقًا.
  • E_OS_ID: قيمة ScheduleTableID المُمررة غير صالحة (يتم إرجاعها فقط في الحالة EXTENDED).
  • E_OS_VALUE: قيمة Start تتجاوز الحد الأقصى المسموح به لقيمة العداد OsCounterMaxAllowedValue (تُرجع فقط في الحالة EXTENDED).

فيما يتعلق بالتفاعل، يمكن تقييم وعرض حالة والسمات الديناميكية لكائنات نظام التشغيل مثل Schedule Tables عبر أوصاف وحدات ARTI بواسطة أدوات تصحيح الأخطاء المتصلة ([SWS_Os_00829]). تفسير: من المرجح أن يشمل سياق الاستدعاء مستويات المهام في المقام الأول، نظرًا لعدم وجود قيد صريح مذكور في مقتطف المواصفة. سؤال Q-213de28d0345ccb1 (مفتوح)

تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند حصريًا إلى مواصفات الإصدار R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة StopScheduleTable [SWS_Os_00006] 📄 PDF

StatusType StopScheduleTable (ScheduleTableType ScheduleTableID);

This service cancels the processing of a schedule table immediately at any point while the schedule table is running.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: acbfdebe2422 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تلغي دالة النظام المتزامنة StopScheduleTable ([SWS_Os_00006]) معالجة جدول جدولة قيد التشغيل فورياً في أي لحظة معالجة كانت. الخدمة مصرح عنها في ملف الرأس Os.h وتمتلك معرف الخدمة 0x09 ([SWS_Os_00006]). وتُستخدم ScheduleTableID من النوع ScheduleTableType كمعلمة إدخال وحيدة، والتي تحدد جدول الجدولة المراد إيقافه؛ ولا توجد أي معلمات إدخال/إخراج أو معلمات إخراج فقط ([SWS_Os_00006]).

يُرجع الاستدعاء المتزامن كقيمة مرجعة رمز حالة من النوع StatusType ([SWS_Os_00006]):

  • E_OK: تم إيقاف معالجة جدول الجدولة دون أخطاء ([SWS_Os_00006]).
  • E_OS_NOFUNC: كان جدول الجدولة المحدد بالفعل في حالة التوقف ([SWS_Os_00006]).
  • E_OS_ID: المعرّف الممرر ScheduleTableID غير صالح. وفقاً للمواصفة، لا يتم توليد هذه القيمة المرجعة إلا في الحالة EXTENDED ([SWS_Os_00006]).

عُرِّفت الدالة بأنها قابلة لإعادة الدخول ([SWS_Os_00006]). التفسير: بالنظر إلى قابلية إعادة الدخول المصرح عنها، يُرجح أن الاستدعاء المتزامن من عدة سياقات OS مسموح به، على الرغم من غياب قيود السياق المحددة في مقتطف المواصفة الحالي. سؤال Q-9cb147c4bc7dba7e (مفتوح) ولمراقبة وقت التشغيل، يمكن نقل الحالة والسمات الديناميكية لكائنات OS مثل جداول الجدولة عبر ملفات وصف ARTI إلى أدوات تصحيح الأخطاء والتحليل المتصلة ([SWS_Os_00829]).

ملاحظة: تم إنشاء هذا التوضيح آلياً بناءً على مواصفة AUTOSAR Classic الإصدار R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة NextScheduleTable [SWS_Os_00191] 📄 PDF

StatusType NextScheduleTable (ScheduleTableType ScheduleTableID_From, ScheduleTableType ScheduleTableID_To);

This service switches the processing from one schedule table to another schedule table.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: dfc067e72659 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة NextScheduleTable للتبديل المتزامن للمعالجة من جدول جدولة قيد التشغيل إلى جدول لاحق [SWS_Os_00191]. تم تصميم الخدمة لتكون قابلة لإعادة الدخول (reentrant) ومُعلنة عبر ملف الترويسة Os.h [SWS_Os_00191].

المعلمات والاستدعاء

يتم تمرير معاملي إدخال من النوع ScheduleTableType إلى الاستدعاء [SWS_Os_00191]:

  • ScheduleTableID_From: معرّف جدول الجدولة الجاري معالجته حاليًا [SWS_Os_00191].
  • ScheduleTableID_To: معرّف جدول الجدولة الذي يوفر السلسلة اللاحقة من نقاط الانتهاء (Expiry Points) [SWS_Os_00191].

قيم الإرجاع ومعالجة الأخطاء

تُرجع الوظيفة قيمة حالة من النوع StatusType [SWS_Os_00191]:

  • E_OK: تم إرسال طلب التبديل بنجاح وخالٍ من الأخطاء [SWS_Os_00191].
  • E_OS_ID: يُرجع حصريًا عند تكوين الحالة EXTENDED، في حال كان معرّف جدول واحد على الأقل من المعرّفات الممررة غير صالح [SWS_Os_00191].
  • E_OS_NOFUNC: الجدول المصدر ScheduleTableID_From ليس في الحالة المبدوءة (started) [SWS_Os_00191].
  • E_OS_STATE: الجدول الهدف ScheduleTableID_To قد تم بدء تشغيله بالفعل بشكل نشط أو تم حجزه مسبقًا كجدول لاحق [SWS_Os_00191].

التفاعل والتشخيص

لمراقبة نظام التشغيل وتحليله، تدعم أوصاف وحدات ARTI حاويات ORTI المقابلة، مما يتيح لأدوات تصحيح الأخطاء، من بين أمور أخرى، تقييم وعرض الحالات الديناميكية لكائنات نظام التشغيل [SWS_Os_00829].

تم إنشاء هذا النص تلقائيًا. تستند جميع المعلومات حصريًا إلى مواصفات إصدار AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة StartScheduleTableSynchron [SWS_Os_00201] 📄 PDF

StatusType StartScheduleTableSynchron (ScheduleTableType ScheduleTableID);

This service starts an explicitly synchronized schedule table synchronously.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 8edf7224d053 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تُستخدم خدمة النظام StartScheduleTableSynchron لبدء تشغيل جدول جدولة متزامن صراحةً بشكل متزامن [SWS_Os_00201]. تم الإعلان عن الدالة في ملف الترويسة Os.h ولديها معرّف الخدمة 0x0b [SWS_Os_00201]. كمعامل تمرير وحيد، تتوقع الدالة معامل الإدخال ScheduleTableID من النوع ScheduleTableType، والذي يشير بشكل فريد إلى الجدول المراد بدء تشغيله [SWS_Os_00201]. لا توجد معلمات إدخال-إخراج أو معلمات إخراج فقط [SWS_Os_00201]. تتم المعالجة بشكل متزامن وتُرجع قيمة إرجاع من النوع StatusType [SWS_Os_00201].

معالجة الأخطاء

في المسار الخالي من الأخطاء، يُرجع استدعاء الدالة رمز الحالة E_OK [SWS_Os_00201]. في حالة حدوث أخطاء، يتم تحديد قيم الإرجاع التالية:

  • E_OS_STATE: جدول الجدولة المحدد موجود بالفعل في الحالة المبدوءة ولا يمكن بدء تشغيله متزامنًا مرة أخرى [SWS_Os_00201].
  • E_OS_ID: ScheduleTableID الممرر غير صالح [SWS_Os_00201]. يكون فحص الخطأ ورسالة الخطأ هذه نشطين حصريًا في حالة EXTENDED [SWS_Os_00201].

التزامن والقيود

تم تحديد الدالة على أنها قابلة لإعادة الدخول (reentrant) [SWS_Os_00201]. نظرًا لأن الاستدعاء المتكرر لجدول نشط بالفعل يُرفض بـ E_OS_STATE، يجب على المستدعي التأكد من أن الجدول الهدف لا يعمل بالفعل قبل الاستدعاء [SWS_Os_00201].

تفاعل

يمكن تتبع انتقالات الحالة والخصائص الديناميكية لكائنات نظام التشغيل لأدوات الاختبار والتشخيص عبر ملفات وصف وحدات ARTI وحاويات ORTI [SWS_Os_00829]. تستخدم مصححات الأخطاء الخارجية هذه الأوصاف لتقييم الحالة الداخلية لكائنات OS في وقت التشغيل [SWS_Os_00829].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة SyncScheduleTable [SWS_Os_00199] 📄 PDF

StatusType SyncScheduleTable (ScheduleTableType ScheduleTableID, TickType Value);

Service SyncScheduleTable.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 50f85b0fc4ce المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم خدمة نظام التشغيل المتزامنة والقابلة لإعادة الدخول (reentrant) SyncScheduleTable لتمرير قيمة عداد إلى جدول جدولة وبدء عملية المزامنة ([SWS_Os_00199]). يتم توفير الدالة عبر ملف الترويسة Os.h ([SWS_Os_00199]).

المعلمات وقيم الإرجاع

تتوقع الدالة معلمتي إدخال ([SWS_Os_00199]):

  • Schedule Table ID: معرّف جدول الجدولة المراد مزامنته من النوع ScheduleTableType ([SWS_Os_00199]).
  • Value: القيمة الحالية لعداد المزامنة من النوع TickType ([SWS_Os_00199]).

تشير قيمة الإرجاع من النوع StatusType بواسطة E_OK إلى التنفيذ الخالي من الأخطاء ([SWS_Os_00199]).

معالجة الأخطاء والشروط الحدية

إذا كان الجدول في الحالة SCHEDULETABLE_STOPPED في وقت الاستدعاء، فسيتم إرجاع الخطأ E_OS_STATE ([SWS_Os_00199]). إذا تم تكوين نظام التشغيل في الحالة EXTENDED، فسيتم تطبيق عمليات فحص إضافية ([SWS_Os_00199]):

  • E_OS_ID: معرّف الجدول المحدد غير صالح أو لا يمكن مزامنة الجدول لأن Os Schedule Tbl Sync Strategy غير مكوّن أو مضبوط على IMPLICIT ([SWS_Os_00199]).
  • E_OS_VALUE: قيمة العداد الممررة Value تقع خارج النطاق المسموح به ([SWS_Os_00199]).

التفاعل والتشخيص

يمكن تقييم حالات والسمات الديناميكية لكائنات نظام التشغيل مثل جداول الجدولة عبر أوصاف وحدات ARTI وحاويات ORTI بواسطة أدوات تصحيح الأخطاء والتشخيص المتصلة ([SWS_Os_00829]).

تم إنشاء هذا النص بواسطة ذكاء اصطناعي استناداً إلى AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة SetScheduletableAsync [SWS_Os_00422] 📄 PDF

StatusType SetScheduletableAsync (ScheduleTableType ScheduleTableID);

This service stops synchronization of a schedule table.

دالة GetScheduleTableStatusof [SWS_Os_00227] 📄 PDF

StatusType GetScheduleTableStatus (ScheduleTableType ScheduleTableID, ScheduleTableStatusRefType ScheduleStatus);

This service queries the state of a schedule table (also with respect to synchronization).

دالة IncrementCounter [SWS_Os_00399] 📄 PDF

StatusType IncrementCounter (CounterType CounterID);

This service increments a software counter.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 40e8148ee79f المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تُستخدم دالة نظام التشغيل المتزامنة IncrementCounter لتقديم عداد برمجيات بشكل صريح [SWS_Os_00399]. تتوقع كمعلمة إدخال المعرّف CounterID من النوع CounterType، ولا تعدل أي معلمات أخرى، وهي متاحة عبر الترويسة Os.h [SWS_Os_00399]. وتجدر الإشارة إلى أن الاستدعاء قد يتسبب في إعادة جدولة فورية لنظام التشغيل [SWS_Os_00399].

معالجة الأخطاء

توفر قيمة الإرجاع من النوع StatusType معلومات حول نجاح العملية: في حالة التشغيل العادي، يُبلغ E_OK عن التنفيذ الخالي من الأخطاء [SWS_Os_00399]. عند تفعيل فحص الحالة الممتد (حالة EXTENDED)، ترجع الخدمة E_OS_ID إذا تم تحديد ID عداد غير صالح أو إذا كان العداد المشار إليه منفذاً في العتاد وبالتالي لا يمكن زيادته عبر البرمجيات [SWS_Os_00399].

التزامن والتشخيص

تم تصميم الدالة لتكون قابلة لإعادة الدخول، وبالتالي يجوز استدعاؤها بشكل متزامن [SWS_Os_00399]. تفسير: من المرجح أن تحدث إعادة جدولة محتملة إذا أدى تقديم العداد إلى إطلاق إجراءات تابعة مثل انتهاء فترات التنبيه أو تنشيط المهام. سؤال Q-9004b5ced9b96230 (مفتوح) ولمراقبة كائنات نظام التشغيل مثل العدادات وحالتها الديناميكية، تدعم توصيفات وحدات ARTI أدوات التحليل المتصلة أثناء مراقبة وقت التشغيل [SWS_Os_00829].

تم إنشاء ملاحظة الاستخدام هذه آليًا وتستند إلى مواصفات إصدار AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة GetCounterValue [SWS_Os_00383] 📄 PDF

StatusType GetCounterValue (CounterType CounterID, TickRefType Value);

This service reads the current count value of a counte r (returning either the hardware timer ticks if counter is driven by hardware or the software ticks when user drives counter).

دالة GetElapsedValue [SWS_Os_00392] 📄 PDF

StatusType GetElapsedValue (CounterType CounterID, TickRefType Value, TickRefType ElapsedValue);

This service gets the number of ticks between the current tick value and a previously read tick value.

دالة TerminateApplication [SWS_Os_00258] 📄 PDF

StatusType TerminateApplication (ApplicationType Application, RestartType RestartOption);

Service TerminateApplication.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 2ba1bf6d0722 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة والقابلة لإعادة الدخول (reentrant) TerminateApplication لإنهاء OS-Application وتتوفر عبر ملف الترويسة Os.h [SWS_Os_00258]. الاستدعاء مسموح به من سياق مهمة (Task)، أو ISR من الفئة 2، وكذلك خطاف خطأ (Error Hook) خاص بالتطبيق [SWS_Os_00258].

كمعلمات إدخال، يتم تمرير معرّف التطبيق الهدف (Application) وسلوك إعادة التشغيل (Restart Option) [SWS_Os_00258]:

  • إذا كان المستدعي نفسه ينتمي إلى التطبيق المحدد في Application، فإن التنفيذ يؤدي إلى إنهاء ذاتي [SWS_Os_00258].
  • عبر Restart Option، يتم تحديد ما إذا كان يجب إعادة تشغيل OS-Application بعد ذلك (RESTART) أم لا (NO_RESTART) [SWS_Os_00258].

تُرجع الدالة قيمة حالة من النوع StatusType [SWS_Os_00258]:

  • E_OK تشير إلى إنهاء خالٍ من الأخطاء [SWS_Os_00258].
  • E_OS_STATE تشير إلى أن الحالة الحالية لـ Application لا تسمح بالإنهاء [SWS_Os_00258].
  • في حالة EXTENDED، يتم إجراء فحوصات أخطاء إضافية: E_OS_ID عند وجود معرّف تطبيق غير صالح، وE_OS_VALUE عند وجود قيمة معامل غير صالحة لـ Restart Option، وكذلك E_OS_ACCESS في حال افتقار المستدعي إلى الصلاحية لإنهاء Application [SWS_Os_00258].

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى المواصفة SWS_Os_00258.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة AllowAccess [SWS_Os_00501] 📄 PDF

StatusType AllowAccess (void);

This service sets the own state of an OS - Application from AP PLICATION_ RESTARTING to APPLICATION_ ACCESSIBLE.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 5da6dc1b3684 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تُستخدم خدمة النظام المتزامنة AllowAccess (معرّف الخدمة 0x13) لضبط حالة الـ OS-Application الخاصة من APPLICATION_RESTARTING إلى APPLICATION_ACCESSIBLE ([SWS_Os_00501]). الدالة متاحة عبر ملف الترويسة Os.h، ولا تتوقع أي معلمات تمرير، وتُرجع قيمة حالة من النوع StatusType ([SWS_Os_00501]). وعند تنفيذ تغيير الحالة بنجاح، يُرجع الاستدعاء قيمة الإرجاع E_OK ([SWS_Os_00501]).

معالجة الأخطاء والتزامن

إذا لم تكن الـ OS-Application المستدعية في الحالة APPLICATION_RESTARTING، يفشل التنفيذ وتُرجع الدالة قيمة الخطأ E_OS_STATE ([SWS_Os_00501]). لم تحدد المواصفة أي رسائل DET أو DEM معينة لهذه الخدمة. وفيما يتعلق بسلوك التزامن، تم تصنيف الدالة على أنها قابلة لإعادة الدخول، وبالتالي يمكن تنفيذها بأمان في مسارات متوازية ([SWS_Os_00501]).

التفاعل والتشخيص

تفسير: من المرجح أن يتم الاستدعاء عادةً في نهاية مرحلة إعادة التشغيل الخاصة بالتطبيق، بمجرد اكتمال جميع الاستعدادات والسماح للتطبيقات الأخرى بالوصول إلى الموارد مرة أخرى. سؤال Q-f43a3f702d5d2428 (مفتوح) يمكن تقييم الحالات الديناميكية لنظام التشغيل وكائنات OS التابعة له وتصورها في إطار تشخيص النظام عبر ملفات توصيف ARTI القياسية وأدوات تصحيح الأخطاء المرتبطة بها ([SWS_Os_00829]).

تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند إلى حالة المواصفة R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة GetNumberActivatedCores [SWS_Os_00672] 📄 PDF

uint32 GetNumberOfActivatedCores (void);

The function returns the number of cores activated by the Start Core function. This function might be a macro. AUTOSAR CP R20 - o f Document ID : AUTOSAR_SWS_OS

دالة StartCore [SWS_Os_00676] 📄 PDF

void StartCore (CoreIdType CoreID, StatusType* Status);

It is not supported to call this function after Start OS(). The function starts the core specified by the parameter Core ID. The OUT parameter allows the caller to check whether the operation was successful or no t. If a core is started by means of this function Start OS shall be called on the core.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 06b25350e939 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تقوم الدالة المتزامنة StartCore ببدء تشغيل نواة المعالج [SWS_Os_00676] المحددة عبر المعامل Core ID. لا تمتلك الدالة قيمة إرجاع مباشرة، بل تمرر نتيجة التنفيذ عبر معامل OUT Status إلى المتصل [SWS_Os_00676]. إذا تم بدء تشغيل نواة بواسطة هذه الدالة، فيجب بعد ذلك استدعاء Start OS على النواة المعنية [SWS_Os_00676].

تنطبق قيود صارمة على سياق الاستدعاء والتزامن: تم تحديد StartCore على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Os_00676]. ولا يتم دعم الاستدعاء بعد بدء تشغيل نظام التشغيل عبر Start OS() [SWS_Os_00676]. تم تنفيذ الخدمة بشكل متزامن ويتم توفيرها عبر ملف الترويسة Os.h بمعرّف الخدمة 0x17 [SWS_Os_00676].

تتم معالجة الأخطاء عبر المعامل Status، والذي يمكن أن يأخذ القيم التالية اعتماداً على تكوين الحالة [SWS_Os_00676]:

  • في الحالة القياسية، يشير E_OK إلى تنفيذ خالٍ من الأخطاء [SWS_Os_00676].
  • في الحالة الموسعة (extended status)، يؤكد E_OK أيضاً على بدء التشغيل الناجح [SWS_Os_00676].
  • يُبلغ E_OS_ID أن Core ID الممررة غير صالحة [SWS_Os_00676].
  • يشير E_OS_ACCESS إلى استدعاء غير مسموح به بعد بدء تشغيل نظام التشغيل [SWS_Os_00676].
  • يشير E_OS_STATE إلى أن نواة المعالج المطلوبة مفعّلة بالفعل [SWS_Os_00676].

تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي وتستند حصرياً إلى مواصفات نظام تشغيل AUTOSAR Classic من الإصدار R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة StartNonCore [SWS_Os_00682] 📄 PDF

void StartNonAutosarCore (CoreIdType CoreID, StatusType* Status);

The function start s the core specified by the parameter Core ID. It is allowed to call this function after Start OS(). The OUT parameter allows the caller to check whether the operation was successful or not. It is not allowed to call Start OS on cores activated by Start No n Autosar Core. Otherwise the behaviour is unspecified.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 4541cad4d0e6 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام وسياق الاستدعاء

تبدأ الدالة المتزامنة وغير القابلة لإعادة الدخول StartNonCore نواة المعالج المحددة عبر المعلمة CoreID [SWS_Os_00682]. ويجوز استدعاؤها بعد بدء تشغيل نظام التشغيل عبر StartOS() وتكون متاحة عبر ملف الترويسة Os.h [SWS_Os_00682]. وعبر معلمة الإخراج Status، يمكن للمستدعي التحقق مما إذا كانت عملية البدء ناجحة [SWS_Os_00682].

معالجة الأخطاء وقيم الحالة

لا تحتوي الدالة على قيمة إرجاع مباشرة، ولكنها تبلغ عن نتيجة التنفيذ عبر معلمة المؤشر Status [SWS_Os_00682]:

  • E_OK: تم تنفيذ العملية بنجاح ودون أخطاء [SWS_Os_00682].
  • E_OS_ID: الـ CoreID المحددة غير صالحة (في الحالة القياسية) [SWS_Os_00682].
  • E_OS_STATE: نواة المعالج المحددة منشطة بالفعل (في الحالة القياسية) [SWS_Os_00682].

القيود وشروط الترتيب

بصفتها واجهة غير قابلة لإعادة الدخول، لا يجوز تنفيذ StartNonCore بالتزامن [SWS_Os_00682]. بالإضافة إلى ذلك، يسري شرط صارم بأنه لا يجوز بأي حال من الأحوال استدعاء StartOS على نوى المعالجات التي تم تنشيطها عبر هذه الدالة؛ وإلا فإن سلوك النظام يكون غير محدد [SWS_Os_00682].

تم إنشاء ملاحظة الاستخدام هذه بصورة آلية بناءً على مواصفة AUTOSAR Classic R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة GetSpinlock [SWS_Os_00686] 📄 PDF

StatusType GetSpinlock (SpinlockIdType SpinlockId);

Get Spinlock tries to occupy a spin - lock variable. If the function returns, either the lock is successfully taken or an error has occurred. The spinlock mechanism is an active polling mechanism. The function does not cause a de - scheduling.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: aaf2a4bc7e29 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم دالة نظام التشغيل المتزامنة والقابلة لإعادة الدخول GetSpinlock ([SWS_Os_00686]) لحجز متغير spinlock عبر معامل التمرير SpinlockId (النوع SpinlockIdType). وأثناء التنفيذ، تستخدم الدالة آلية استقصاء نشط («busy waiting»)، دون إطلاق أي إلغاء جدولة للمهمة المستدعية ([SWS_Os_00686]).

لا تعود الدالة إلا بعد اكتساب القفل بنجاح أو حدوث خطأ. كقيمة إرجاع، تُرجع GetSpinlock القيمة StatusType ([SWS_Os_00686]):

  • E_OK: تم حجز القفل بنجاح ومن دون أخطاء (في الحالتين القياسية والموسعة).
  • E_OS_ID: قيمة SpinlockId الممررة غير صالحة (فقط في الحالة الموسعة).
  • E_OS_INTERFERENCE_DEADLOCK: تحاول مهمة حجز الـ spinlock بينما هو محجوز بالفعل بواسطة مهمة على نفس الـ Core (فقط في الحالة الموسعة).
  • E_OS_NESTING_DEADLOCK: تحاول مهمة طلب الـ spinlock بينما تحتفظ مهمة على نفس الـ Core بـ spinlock آخر بالفعل، مما قد يتسبب في حدوث قفل ميت (Deadlock) (فقط في الحالة الموسعة).
  • E_OS_ACCESS: لا يمكن الوصول إلى الـ spinlock المحدد (فقط في الحالة الموسعة).

في إطار مراقبة النظام وتحليل الأخطاء، يوفر نظام التشغيل معلومات حالة ديناميكية حول كائنات OS، والتي يمكن تقييمها وفقاً لـ [SWS_Os_00829] عبر حاويات ARTI وORTI لأدوات تصحيح الأخطاء؛ ويفترض أنه يمكن عبر ذلك أيضاً تتبع حالات الانسداد عند أقفال spinlock. سؤال Q-bac194d4132f6e88 (مفتوح)

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة ReleaseSpinlock [SWS_Os_00695] 📄 PDF

StatusType ReleaseSpinlock (SpinlockIdType SpinlockId);

Release Spinlock releases a spinlock variable that was occupied before. Before terminating a TASK all spinlock variables that have been occupied with Get Spinlock() shall be released. Before calling Wait EVENT all Spinlocks shall be released.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 3c94a21733b1 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تحرر الدالة المتزامنة والقابلة لإعادة الدخول ReleaseSpinlock متغير spinlock تم حجزه مسبقاً ([SWS_Os_00695]). ويتم تحديد مثيل spinlock المراد تحريره عبر معامل التمرير SpinlockId من النوع SpinlockIdType ([SWS_Os_00695]).

شروط الترتيب والقيود

تنطبق متطلبات زمنية وهيكلية صارمة على الاستدعاء ([SWS_Os_00695]):

  • قبل إنهاء المهمة، يجب تحرير جميع متغيرات spinlock التي تم حجزها مسبقاً بواسطة GetSpinlock() ([SWS_Os_00695]).
  • قبل استدعاء WaitEvent، يجب تحرير كافة أقفال spinlock المحتجزة دون استثناء ([SWS_Os_00695]).
  • يجب أن يتم التحرير وفق ترتيب التداخل الصحيح؛ وتفشل أي محاولة تحرير في حال استمرار حجز أقفال spinlock أو موارد ذات مستوى أعلى ([SWS_Os_00695]).

قيم الإرجاع ومعالجة الأخطاء

في حالة النجاح، تُرجع الخدمة E_OK في كل من الحالة القياسية والحالة الموسعة ([SWS_Os_00695]). وفي الحالة الموسعة (Extended Status)، تم تحديد رموز خطأ خاصة ([SWS_Os_00695]):

  • E_OS_ID: قيمة SpinlockId المُمررة غير صالحة ([SWS_Os_00695]).
  • E_OS_STATE: الـ spinlock غير محجوز بواسطة المهمة المستدعية ([SWS_Os_00695]).
  • E_OS_ACCESS: لا يمكن الوصول إلى الـ spinlock ([SWS_Os_00695]).
  • E_OS_NOFUNC: محاولة تحرير الـ spinlock بينما لا يزال يتعين تحرير spinlock آخر أو مورد مسبقاً ([SWS_Os_00695]).

تتوفر الدالة عبر ملف الترويسة Os.h ([SWS_Os_00695]). تدعم ملفات وصف ARTI حاويات ORTI لتقييم الحالة والأداء الديناميكي لكائنات نظام التشغيل ([SWS_Os_00829]).

تم إنشاء هذا النص بواسطة ذكاء اصطناعي وتم تنقيحه بواسطة autodocs.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة TryToGetSpinlock [SWS_Os_00703] 📄 PDF

StatusType TryToGetSpinlock (SpinlockIdType SpinlockId, TryToGetSpinlockType* Success);

Try To Get Spinlock has the same functionality as Get Spinlock with the difference that if the spinlock is already occupied by a TASK on a d ifferent core the function sets the OUT parameter "Success" and returns with E_ OK.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 1d98a899f332 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم دالة نظام التشغيل المتزامنة والقابلة لإعادة الدخول TryToGetSpinlock لحجز مثيل spinlock بطريقة غير حاصرة عبر ملف الترويسة Os.h [SWS_Os_00703]. وهي تؤدي نفس الوظيفة الأساسية مثل GetSpinlock، ولكنها لا تنتظر بشكل نشط في حال كان الـ spinlock المطلوب محجوزاً بالفعل بواسطة TASK على Core آخر [SWS_Os_00703].

المعلمات وقيم الإرجاع

  • SpinlockId (إدخال): يشير إلى مثيل spinlock المحدد المراد قفله [SWS_Os_00703].
  • Success (إخراج): يوضح عبر النوع TryToGetSpinlockType* ما إذا كان قد أمكن حجز القفل أم لا [SWS_Os_00703]. إذا كان القفل مشغولاً على Core آخر، تقوم الدالة بضبط هذا المعامل وفقاً لذلك وتعود مع E_OK [SWS_Os_00703].
  • قيمة الإرجاع: تُرجع E_OK في الحالتين القياسية والموسعة إذا لم يوجد خطأ [SWS_Os_00703].

معالجة الأخطاء والشروط الحدية

في الحالة الموسعة، يتحقق نظام التشغيل من الاستدعاءات غير الصالحة بالإضافة إلى سيناريوهات القفل الميت (Deadlock) [SWS_Os_00703]:

  • E_OS_ID: SpinlockId الممرر غير صالح [SWS_Os_00703].
  • E_OS_ACCESS: لا يمكن الوصول إلى الـ spinlock [SWS_Os_00703].
  • E_OS_INTERFERENCE_DEADLOCK: تحاول TASK حجز القفل بينما القفل نفسه محتجز بالفعل بواسطة TASK على نفس الـ Core [SWS_Os_00703].
  • E_OS_NESTING_DEADLOCK: تحاول TASK حجز spinlock بينما تحتفظ بالفعل بـ spinlock آخر، مما قد يؤدي إلى حدوث قفل ميت (Deadlock) [SWS_Os_00703].

تم إنشاء ملاحظة الاستخدام هذه تلقائياً بواسطة نظام ذكاء اصطناعي بناءً على مواصفات AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة ShutdownAllCores [SWS_Os_00713] 📄 PDF

void ShutdownAllCores (StatusType Error);

After this service the OS on all AUTOSAR cores is shut down. Allowed at TASK level and ISR level and also internally by the OS. The function will never return. The function will force other cores into a shutdown.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 751c4aeab334 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم دالة النظام المتزامنة ShutdownAllCores ذات معرّف الخدمة (Service-ID) 0x1c لإيقاف تشغيل نظام تشغيل AUTOSAR بشكل مُتحكَّم فيه وكامل عبر جميع أنوية المعالج المتوفرة ([SWS_Os_00713]). وبمجرد استدعاء الخدمة، تفرض الدالة إيقاف التشغيل (Shutdown) على كافة الأنوية الأخرى (Cores)، بحيث يتم إيقاف تشغيل نظام التشغيل على جميع أنوية AUTOSAR ([SWS_Os_00713]).

سياق الاستدعاء والتزامن

الدالة مصرَّح عنها في ملف الترويسة Os.h ومحددة بأنها قابلة لإعادة الدخول (reentrant) ([SWS_Os_00713]). ويُعد استدعاء ShutdownAllCores مسموحًا به دون قيود سواءً على مستوى المهمة (TASK level) أو على مستوى المقاطعة (ISR level) ([SWS_Os_00713]). بالإضافة إلى ذلك، يمكن تنفيذ الخدمة أيضًا داخليًا بواسطة AUTOSAR OS مباشرةً ([SWS_Os_00713]).

المعلمات وتدفق التحكم

تتوقع الواجهة كمعلمة دخل وحيدة Error من النوع StatusType ([SWS_Os_00713]). ويجب بالضرورة تمرير كود خطأ صالح يدعمه نظام تشغيل AUTOSAR لهذه المعلمة ([SWS_Os_00713]). ولا توجد معلمات خرج أو دخل/خرج ([SWS_Os_00713]). وبما أن الدالة لا تعود أبدًا إلى المستدعي بعد إطلاق إيقاف التشغيل على مستوى النظام بأكمله، فإنها لا تمتلك قيمة إرجاع (void) ([SWS_Os_00713]).

تم توليد ملاحظة الاستخدام هذه تلقائيًا على أساس مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة ControlIdle [SWS_Os_00769] 📄 PDF

StatusType ControlIdle (CoreIdType CoreID, IdleModeType IdleMode);

This API allows the caller to select the idle mode action which is performed during idle time of t he OS (e.g. if no Task/ ISR is active). It can be used to implement energy savings. The real idle modes are hardware dependent and not standardized. The default idle mode on each core is IDLE_ NO_ HALT.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 33a045f6c446 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تتيح الدالة المتزامنة ControlIdle للمستدعي تحديد الإجراء الذي يتم تنفيذه خلال وقت خمول نظام التشغيل (عندما لا تكون هناك مهمة أو ISR نشطة) [SWS_Os_00769]. يخدم هذا في المقام الأول تنفيذ تدابير توفير الطاقة. وتعتمد أوضاع الخمول الفعلية على العتاد وليست موحدة قياسياً؛ والوضع الافتراضي في كل نواة معالج هو IDLE_NO_HALT [SWS_Os_00769]. يتم توفير الواجهة عبر ملف الترويسة Os.h [SWS_Os_00769].

تتوقع الدالة معلمتي إدخال:

  • CoreID (من النوع CoreIdType): يحدد نواة المعالج المراد تعيين وضع خمولها [SWS_Os_00769].
  • IdleMode (من النوع IdleModeType): يحدد الوضع الذي سيتم تنفيذه في وقت الخمول [SWS_Os_00769].

إذا تم تمرير معاملات صالحة ولم يحدث أي خطأ، تُرجع الدالة E_OK [SWS_Os_00769]، [SWS_Os_00770]. وإذا كان CoreID أو IdleMode المحدد غير صالح – على سبيل المثال لأن النواة المشار إليها غير موجودة أو الوضع غير معروف –، يُرجع الاستدعاء في حالة EXTENDED رمز الخطأ E_OS_ID [SWS_Os_00769]، [SWS_Os_00771]. وفي أنظمة أحادية النواة (Single-Core)، يتم تخطي فحص المعامل CoreID [SWS_Os_00771].

فيما يتعلق بالتزامن، تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Os_00769]. تفسير: يجب على المستدعين بالتالي التأكد من أن استدعاءات ControlIdle لا تحدث بشكل متزامن في نفس الوقت أو دون تنسيق من سياقات تنفيذ مختلفة. سؤال Q-7f239cb54752e826 (مفتوح)

تم توليد إشعار الاستخدام هذا بواسطة ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR Classic R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة ReadPeripheral [SWS_Os_91013] 📄 PDF

StatusType ReadPeripheral8 (AreaIdType Area, const uint8* Address, uint8* ReadValue);

This service returns the content of a given memory location (

).
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 00b6c6a1dbf2 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تُستخدم الدالة ReadPeripheral (المدرجة في التصريح باسم ReadPeripheral8) للقراءة المتزامنة لعنوان ذاكرة داخل منطقة ملحقات عتاد محددة [SWS_Os_91013]. الواجهة متاحة عبر ملف الرأس Os.h [SWS_Os_91013]. تتوقع الخدمة كمعاملات دخل مرجع المنطقة Area من النوع AreaIdType بالإضافة إلى العنوان المستهدف Address كمؤشر إلى const uint8 [SWS_Os_91013]. ويتم توفير المحتوى المقروء لموقع الذاكرة عبر معامل الخرج ReadValue [SWS_Os_91013].

معالجة الأخطاء

تُرجع الخدمة رمز حالة من النوع StatusType، حيث تشير E_OK إلى التنفيذ الخالي من الأخطاء [SWS_Os_91013]. وعند تفعيل فحص الحالة الموسع (EXTENDED status)، يتم التمييز بين الاستدعاءات الخاطئة استنادًا إلى قيم أخطاء محددة [SWS_Os_91013]:

  • E_OS_ID: معرّف المنطقة الممرر Area يقع خارج النطاق الصالح [SWS_Os_91013].
  • E_OS_VALUE: عنوان الذاكرة المحدد Address لا ينتمي إلى منطقة الملحقات المحددة [SWS_Os_91013].
  • E_OS_CALLEVEL: تم الاستدعاء من سياق غير مسموح به [SWS_Os_91013].
  • E_OS_ACCESS: يُرجَّح ألا تمتلك المهمة أو ISR المستدعية الإذن اللازم للوصول إلى المنطقة (تفسير) [SWS_Os_91013]. سؤال Q-19e2c22110352ebb (مفتوح)

التزامن والقيود

تمتلك خدمة API معرّف الخدمة 0x28، وتعمل بشكل متزامن ومصممة لتكون قابلة لإعادة الدخول [SWS_Os_91013]. لا يُسمح بالاستدعاءات إلا من سياقات Task أو ISR مسموح بها؛ ويتم رفض الاستدعاءات غير المسموح بها في الحالة الموسعة بـ E_OS_CALLEVEL [SWS_Os_91013].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة ReadPeripheral16 [SWS_Os_91015] 📄 PDF

StatusType ReadPeripheral16 (AreaIdType Area, const uint16* Address, uint16* ReadValue);

This service returns the content of a given memory location (

).
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 5ae7289a82af المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم دالة نظام التشغيل المتزامنة والقابلة لإعادة الدخول ReadPeripheral16 لقراءة قيمة 16 بت لعنوان ذاكرة محدد داخل منطقة ملحقات معينة [SWS_Os_91015]. خدمة النظام معرفة تحت معرّف الخدمة 0x29 ومتاحة عبر ملف الرأس Os.h [SWS_Os_91015].

الاستخدام والمعلمات

يتم تمرير المرجع إلى منطقة ملحقات العتاد (Area من النوع AreaIdType) بالإضافة إلى العنوان المستهدف في الذاكرة (Address من النوع const uint16*) كمعاملات دخل للخدمة [SWS_Os_91015]. وعبر معامل الخرج Read Value من نوع المؤشر uint16*، يتم توفير محتوى 16 بت المحدد عند عنوان الذاكرة [SWS_Os_91015]. وعند التنفيذ الخالي من الأخطاء، تُرجع الدالة قيمة الإرجاع E_OK من النوع StatusType [SWS_Os_91015].

معالجة الأخطاء وقيود الوصول

في الحالة الموسعة (EXTENDED status)، يتحقق نظام التشغيل من صلاحية الاستدعاء ويُبلغ عن الأخطاء عبر رموز حالة محددة [SWS_Os_91015]:

  • E_OS_ID: معرّف المنطقة الممرر Area يقع خارج النطاق الصالح [SWS_Os_91015].
  • E_OS_VALUE: عنوان الذاكرة المحدد Address لا ينتمي إلى منطقة الملحقات المحددة Area [SWS_Os_91015].
  • E_OS_CALLEVEL: تم إجراء الاستدعاء في سياق غير مسموح به لدالة API [SWS_Os_91015].
  • E_OS_ACCESS: المهمة أو روتين خدمة المقاطعة (ISR) المستدعي غير مصرح له بالوصول إلى المنطقة المحددة [SWS_Os_91015].

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا وتستند حصريًا إلى متطلبات المواصفة AUTOSAR Classic R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة ReadPeripheral32 [SWS_Os_91014] 📄 PDF

StatusType ReadPeripheral32 (AreaIdType Area, const uint32* Address, uint32* ReadValue);

This service returns the content of a given memory location (

).
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: a9f5d6c77f15 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تقرأ الدالة المتزامنة والقابلة لإعادة الدخول ReadPeripheral32 محتوى عنوان ذاكرة محدد ([SWS_Os_91014]). تُمرر الجهة المستدعية المرجع إلى منطقة ملحقات العتاد عبر المعامل Area وعنوان الذاكرة المطلوب عبر Address ([SWS_Os_91014]). يتم توفير قيمة 32 بت المقروءة عند هذا العنوان بشكل متزامن عبر معامل الخرج ReadValue ([SWS_Os_91014]). يتم توفير الواجهة عبر الرأس Os.h ([SWS_Os_91014]).

معالجة الأخطاء

تُرجع الخدمة قيمة حالة من النوع StatusType. وعند التنفيذ الخالي من الأخطاء تُرجع E_OK ([SWS_Os_91014]). وإذا تم تكوين الحالة الموسعة (EXTENDED status)، يتم إرجاع رموز الأخطاء التالية ([SWS_Os_91014]):

  • E_OS_ID: معرّف المنطقة الممرر Area يقع خارج النطاق المسموح به ([SWS_Os_91014]).
  • E_OS_VALUE: العنوان المحدد Address لا ينتمي إلى المنطقة المحددة Area ([SWS_Os_91014]).
  • E_OS_CALLEVEL: تم استدعاء الدالة في سياق استدعاء غير مسموح به ([SWS_Os_91014]).
  • E_OS_ACCESS: لا تمتلك المهمة أو ISR المستدعية إذن الوصول المطلوب؛ ووفقًا للتفسير، يُرجَّح أن يتعلق هذا بمنطقة الملحقات ([SWS_Os_91014]). سؤال Q-e5893b29acc5133a (مفتوح)

التزامن والقيود

تم تحديد ReadPeripheral32 على أنها قابلة لإعادة الدخول ويمكن استدعاؤها بالتوازي من عدة تدفقات تحكم ([SWS_Os_91014]). وبما أن الخدمة تعمل بشكل متزامن، فإن الاستدعاء لا يعود إلا بعد انتهاء عملية القراءة ([SWS_Os_91014]). يجب على الجهات المستدعية تمرير مؤشرات ذاكرة صالحة والتأكد من إجراء الاستدعاء من سياق مسموح به لـ OS-API ([SWS_Os_91014]).

تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند حصريًا إلى مواصفات الإصدار R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة WritePeripheral [SWS_Os_91010] 📄 PDF

StatusType WritePeripheral8 (AreaIdType Area, uint8* Address, uint8 WriteValue);

This service writes the to a given memory location (). Available vi a Os.h

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 4e0ec4ae51d7 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

الدالة WritePeripheral (يُشار إليها أيضًا في المواصفة باسم Write Peripheral8) هي خدمة متزامنة وقابلة لإعادة الدخول لنظام التشغيل، لكتابة قيمة إلى عنوان ذاكرة محدد لمنطقة ملحقات [SWS_Os_91010]. يتم توفير التصريح عبر ملف الرأس Os.h [SWS_Os_91010]. يتوقع الاستدعاء كمعاملات المرجع إلى منطقة ملحقات العتاد (Area من النوع AreaIdType)، وعنوان الذاكرة (Address من النوع uint8*)، بالإضافة إلى القيمة المراد كتابتها (Write Value من النوع uint8) [SWS_Os_91010]. تفسير: على الرغم من إدراج Write Value في نص المواصفة جدوليًا ضمن معاملات الخرج، فإنه بالاستناد إلى تمرير القيمة في التوقيع والوصف يُرجَّح أن يكون قيمة الدخل المراد كتابتها. سؤال Q-619c69ba7a85ed92 (مفتوح)

معالجة الأخطاء

تُرجع الدالة حالة من النوع StatusType [SWS_Os_91010]:

  • E_OK: تم تنفيذ عملية الكتابة بدون أخطاء [SWS_Os_91010].
  • E_OS_ID: معرّف المنطقة الممرر يقع خارج النطاق الصالح (في الحالة الموسعة) [SWS_Os_91010].
  • E_OS_VALUE: العنوان المستهدف لا ينتمي إلى المنطقة المحددة (في الحالة الموسعة) [SWS_Os_91010].
  • E_OS_CALLEVEL: سياق استدعاء غير مسموح به لدالة API (في الحالة الموسعة) [SWS_Os_91010].
  • E_OS_ACCESS: لا تملك المهمة أو ISR المستدعية إذن وصول للمنطقة [SWS_Os_91010].

التزامن والقيود

تتم معالجة الاستدعاء بشكل متزامن وهو قابل لإعادة الدخول [SWS_Os_91010]. يجب على الجهات المستدعية التأكد من أن المهمة أو ISR المنفذة تعمل من سياق صالح وتملك حقوق الوصول اللازمة لمنطقة الملحقات المعنونة [SWS_Os_91010].

تم إنشاء هذا النص تلقائيًا. تستند جميع البيانات إلى مواصفات AUTOSAR المرجعية.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة WritePeripheral16 [SWS_Os_91012] 📄 PDF

StatusType WritePeripheral16 (AreaIdType Area, uint16* Address, uint16 WriteValue);

This service writes the to a given memory location (). Available vi a Os.h

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 4e4afea6b230 المصدر أسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم دالة نظام التشغيل المتزامنة والقابلة لإعادة الدخول WritePeripheral16 ([SWS_Os_91012]) لكتابة قيمة 16 بت إلى عنوان ذاكرة لمنطقة ملحقات. يتم توفير الخدمة عبر الرأس Os.h ولها معرّف الخدمة 0x2c.

الاستخدام والمعلمات

عند استدعاء WritePeripheral16، تُمرر الجهة المستدعية معرّف منطقة العتاد المستهدفة (Area من النوع AreaIdType)، والعنوان المستهدف (Address من النوع uint16*)، بالإضافة إلى القيمة المراد كتابتها (Write Value من النوع uint16، والتي يُرجَّح أنها تعمل كتمرير قيمة على الرغم من تحديدها جدوليًا كمعامل Out في التوقيع) وفقًا لـ [SWS_Os_91012]. سؤال Q-2edc50ae2e7fd0b0 (مفتوح) يتم تنفيذ الخدمة بشكل متزامن وتُرجع قيمة حالة من النوع StatusType.

معالجة الأخطاء

في حالة النجاح، تُرجع الدالة E_OK. وتحدد رموز الأخطاء التالية تحت الحالة EXTENDED ([SWS_Os_91012]):

  • E_OS_ID: معرّف المنطقة الممرر (Area) يقع خارج النطاق الصالح.
  • E_OS_VALUE: العنوان المستهدف (Address) لا ينتمي إلى منطقة الملحقات المحددة.
  • E_OS_CALLEVEL: تم استدعاء الدالة من سياق غير مسموح به.
  • E_OS_ACCESS: يُرجَّح أن المهمة أو ISR المستدعية لا تملك إذنًا للوصول إلى المنطقة المحددة. سؤال (مفتوح)

القيود والتفاعل

الدالة قابلة لإعادة الدخول ([SWS_Os_91012])، ولكنها تتطلب الالتزام بسياق الاستدعاء المسموح به (Task أو ISR) لتجنب حالات الخطأ مثل E_OS_CALLEVEL. ولمراقبة كائنات نظام التشغيل وتحليلها، ينص AUTOSAR على توفير ملفات وصف ARTI ([SWS_Os_00829]).

تم إنشاء ملاحظة الاستخدام هذه آليًا وتستند حصريًا إلى بيانات المواصفة الخاصة بإصدار AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة WritePeripheral32 [SWS_Os_91011] 📄 PDF

StatusType WritePeripheral32 (AreaIdType Area, uint32* Address, uint32 WriteValue);

This service writes the to a given memory location ().

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: a189c9cd92b9 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة والقابلة لإعادة الدخول WritePeripheral32 من الوحدة Os لكتابة قيمة 32 بت إلى عنوان ذاكرة محدد لمنطقة ملحقات [SWS_Os_91011]. الخدمة متاحة عبر الرأس Os.h ولها معرّف الخدمة 0x2d [SWS_Os_91011].

المعلمات والاستدعاء

لتنفيذ عملية الوصول للكتابة، تتطلب الدالة ثلاثة معاملات ممررة [SWS_Os_91011]:

  • Area (AreaIdType): مرجع إلى منطقة ملحقات العتاد المستهدفة [SWS_Os_91011].
  • Address (uint32*): عنوان الذاكرة المراد كتابة القيمة إليه [SWS_Os_91011].
  • Write Value (uint32): قيمة 32 بت المحددة المنقولة إلى العنوان المستهدف [SWS_Os_91011].

قيم الإرجاع ومعالجة الأخطاء

يُرجع الاستدعاء قيمة حالة من النوع StatusType [SWS_Os_91011]. في حالة النجاح يتم الإبلاغ عن E_OK [SWS_Os_91011]. وعند تفعيل حالة EXTENDED، تشير E_OS_ID إلى معرّف منطقة غير صالح، وE_OS_VALUE إلى عنوان لا ينتمي إلى المنطقة، وE_OS_CALLEVEL إلى سياق استدعاء غير مسموح به [SWS_Os_91011]. وإذا لم تكن المهمة أو ISR المستدعية تملك إذن وصول للمنطقة، يتم إرجاع E_OS_ACCESS [SWS_Os_91011].

التزامن

نظرًا لأن WritePeripheral32 قابلة لإعادة الدخول، يمكن استخدام الخدمة في سياقات تنفيذ متزامنة، بشرط أن تمتلك الجهة المستدعية المعنية إذن الوصول المطلوب في وقت التشغيل [SWS_Os_91011].

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفة AUTOSAR Classic R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة ModifyPeripheral [SWS_Os_91016] 📄 PDF

StatusType ModifyPeripheral8 (AreaIdType Area, uint8* Address, uint8 Clearmask, uint8 Setmask);

This service modifies a given memory location () with the formula: *

= ((*
& ) | )

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 031e78e21a3e المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام والدلالات

تُعدل دالة نظام التشغيل المتزامنة والقابلة لإعادة الدخول ModifyPeripheral8 ([SWS_Os_91016]) بايتًا عند عنوان ذاكرة محدد Address. ويتم في ذلك تحديث محتوى الذاكرة الحالي على مستوى البتات عبر القناع Clearmask بواسطة عملية AND المنطقية وعبر القناع Setmask بواسطة عملية OR المنطقية وفقًا للصيغة *Address = ((*Address & Clearmask) | Setmask) ([SWS_Os_91016]). تتوقع الدالة كمعاملات دخل مرجع منطقة الملحقات Area من النوع AreaIdType، والعنوان المستهدف Address (النوع uint8*)، بالإضافة إلى قيمتي القناعين من النوع uint8. يتم توفير الدالة عبر ملف الرأس Os.h وتمتلك معرّف الخدمة 0x2e ([SWS_Os_91016]).

معالجة الأخطاء وقيم الإرجاع

تشير قيمة الإرجاع من النوع StatusType إلى نجاح العملية بـ E_OK ([SWS_Os_91016]). وعند تفعيل الحالة الموسعة، يمكن أن تحدث حالات خطأ محددة:

  • E_OS_ID: معرّف المنطقة الممرر Area يقع خارج النطاق المسموح به ([SWS_Os_91016]).
  • E_OS_VALUE: العنوان المستهدف Address لا ينتمي إلى المنطقة المحددة Area ([SWS_Os_91016]).
  • E_OS_CALLEVEL: تم استدعاء الخدمة في سياق استدعاء غير مسموح به ([SWS_Os_91016]).
  • E_OS_ACCESS: لا تملك المهمة أو ISR المستدعية إذن وصول للمنطقة المستهدفة ([SWS_Os_91016]).

التزامن وشروط الاستدعاء

نظرًا لأن ModifyPeripheral8 محددة على أنها قابلة لإعادة الدخول، يمكن إجراء الاستدعاء بأمان في مسارات تنفيذ متوازية ([SWS_Os_91016]). يجب على الجهات المستدعية التأكد من صلاحية كل من السياق وحقوق الوصول لـ Area وAddress لتجنب حالات الخطأ ([SWS_Os_91016]).

تم توليد هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR CP R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة ModifyPeripheral16 [SWS_Os_91018] 📄 PDF

StatusType ModifyPeripheral16 (AreaIdType Area, uint16* Address, uint16 Clearmask, uint16 Setmask);

This service modifies a given memory location () with the formula: *

= ((*
& ) | )

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: f22ffe272912 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُعدل الدالة المتزامنة والقابلة لإعادة الدخول ModifyPeripheral16 موقع ذاكرة 16 بت داخل منطقة ملحقات محددة وفقًا للصيغة الحسابية *Address = ((*Address & Clearmask) | Setmask) [SWS_Os_91018]. ويتم تمرير مرجع منطقة الملحقات Area (النوع AreaIdType)، والعنوان المستهدف Address (النوع uint16*)، بالإضافة إلى أقنعة البتات Clearmask لعملية AND على مستوى البتات وSetmask لعملية OR على مستوى البتات كمعاملات [SWS_Os_91018]. التصريح متاح عبر الرأس Os.h [SWS_Os_91018].

في حالة النجاح العادية، تُعيد الخدمة قيمة الإرجاع E_OK [SWS_Os_91018]. وعند تفعيل فحص الحالة الموسع (EXTENDED status)، يتم التعرف على الاستدعاءات الخاطئة ورفضها استنادًا إلى رموز أخطاء محددة [SWS_Os_91018]:

  • E_OS_ID: معرّف المنطقة الممرر Area يقع خارج نطاق القيم الصالح [SWS_Os_91018].
  • E_OS_VALUE: عنوان الذاكرة الممرر Address لا ينتمي إلى المنطقة المحددة Area [SWS_Os_91018].
  • E_OS_CALLEVEL: تم استدعاء الخدمة من سياق غير مسموح به [SWS_Os_91018].
  • E_OS_ACCESS: لا تملك الـ Task المستدعية أو الـ ISR المستدعي إذن وصول للمنطقة المحددة [SWS_Os_91018].

يجب على الجهات المستدعية التأكد قبل التنفيذ من توفر كل من السياق والأذونات للمنطقة المشار إليها، وذلك لتجنب انتهاكات الوصول [SWS_Os_91018].

تم توليد هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR CP R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة ModifyPeripheral32 [SWS_Os_91017] 📄 PDF

StatusType ModifyPeripheral32 (AreaIdType Area, uint32* Address, uint32 Clearmask, uint32 Setmask);

This service modifies a given memory location () with the formula: *

= ((*
& ) | )

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: c9ed5f9b2fff المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم دالة نظام التشغيل المتزامنة والقابلة لإعادة الدخول ModifyPeripheral32 وفقًا لـ [SWS_Os_91017] للمعالجة المستهدفة على مستوى البتات لعنوان ذاكرة 32 بت. توفر الدالة عبر الواجهة Os.h، وتطبق على العنوان المستهدف Address الصيغة الحسابية الثابتة *Address = ((*Address & Clearmask) | Setmask). وفي هذه العملية، تتم أولاً إعادة تعيين البتات عبر قناع البتات Clearmask بواسطة عملية AND المنطقية، ثم يتم تعيينها بعد ذلك عبر Setmask بواسطة عملية OR المنطقية.

تتوقع الخدمة كمعاملات دخل مرجع منطقة الملحقات Area، ومؤشر العنوان Address، بالإضافة إلى قناعي 32 بت [SWS_Os_91017]. وعند التنفيذ الخالي من الأخطاء يتم إرجاع رمز الحالة E_OK. وفي الحالة الموسعة (EXTENDED status)، تُجري الدالة فحوصات معقولية وتُبلغ عن رموز الأخطاء التالية:

  • E_OS_ID: المعامل Area الممرر يقع خارج نطاق القيم المسموح به [SWS_Os_91017].
  • E_OS_VALUE: العنوان المستهدف لا ينتمي إلى منطقة الملحقات المحددة [SWS_Os_91017].
  • E_OS_CALLEVEL: تم استدعاء الدالة من سياق غير مسموح به [SWS_Os_91017].
  • E_OS_ACCESS: لا تملك المهمة أو ISR المستدعية إذنًا للوصول [SWS_Os_91017] (تفسير: عدم وجود إذن وصول لمنطقة الملحقات). سؤال Q-b4d959765dc59c72 (مفتوح)

تُعد الاستدعاءات المتزامنة مسموحًا بها بفضل قابلية إعادة الدخول، طالما تم الحفاظ على سياق الاستدعاء [SWS_Os_91017]. وفي النظام الكلي، يختلف تعديل السجلات المباشر هذا عن الصيغ الحسابية لتحديد البيانات ديناميكيًا، والتي يتم تقييمها مثلًا في إطار معلومات تصحيح أخطاء ARTI وفقًا لـ [SWS_Os_00829].

تم توليد هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR CP R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة EnableInterruptSource [SWS_Os_91020] 📄 PDF

StatusType EnableInterruptSource (ISRType ISRID, boolean ClearPending);

Service EnableInterruptSource.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 0e3279bf544b المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تفعّل دالة النظام المتزامنة والقابلة لإعادة الدخول EnableInterruptSource مصدر مقاطعة عن طريق تعديل سجلات وحدة التحكم في المقاطعات [SWS_Os_91020]، [SWS_Os_00811]. ويوفر نظام التشغيل هذه الخدمة لكل مصدر مقاطعة مكوّن من الفئة 2 [SWS_Os_00808].

المعلمات والاستدعاء

يتم تمرير معرّف الـ ISR من الفئة 2 عبر المعامل ISRID [SWS_Os_91020]. ويحدد المعامل المنطقي ClearPending ما إذا كان يجب مسح راية المقاطعة المعلقة عند التفعيل (TRUE) أو تركها دون تغيير (FALSE) [SWS_Os_91020]، [SWS_Os_00811]. تتوفر الدالة عبر ملف الترويسة Os.h [SWS_Os_91020].

معالجة الأخطاء وقيم الإرجاع

إذا لم يتم اكتشاف أي خطأ، يُرجع الاستدعاء E_OK [SWS_Os_91020]، [SWS_Os_00810]. وإذا اكتشف نظام التشغيل خطأً، فإنه يُرجع رمز الحالة المقابل من النوع StatusType ويستدعي ErrorHook() [SWS_Os_00810]. تم تحديد حالات الخطأ التالية:

  • E_OS_ID: المعامل ISRID ليس معرفًا صالحًا لـ ISR من الفئة 2 (في الحالة EXTENDED) [SWS_Os_91020].
  • E_OS_CALLEVEL: استُدعيت الدالة من سياق استدعاء غير مسموح به (في الحالة EXTENDED) [SWS_Os_91020].
  • E_OS_ACCESS: التطبيق المستدعي ليس مالكًا لـ ISRID المحددة في إطار Service Protection [SWS_Os_91020].

تفاعل

تشكل الدالة جنبًا إلى جنب مع DisableInterruptSource وClearPendingInterrupt الثلاثي الخاص بـ API للتحكم الموجه في مصادر مقاطعة الفئة 2 الفردية (OsIsrCategory == CATEGORY_2) في نظام التشغيل [SWS_Os_00808]، [SWS_Os_00810].

أُنشئ هذا النص تلقائيًا استنادًا إلى مواصفات الإصدار R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة DisableInterruptSource [SWS_Os_91019] 📄 PDF

StatusType DisableInterruptSource (ISRType ISRID);

Disables the interrupt source by modifying the interrupt controller registers.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: c278819b07d9 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تعطل الدالة المتزامنة والقابلة لإعادة الدخول DisableInterruptSource مصدر مقاطعة محدد مباشرة عبر سجلات وحدة التحكم في المقاطعات [SWS_Os_91019]، [SWS_Os_00812]. وهي متوفرة عبر ملف الترويسة Os.h ويتم توفيرها لكل مصدر مقاطعة من الفئة 2 (OsIsrCategory == CATEGORY_2) [SWS_Os_91019]، [SWS_Os_00808]. ويتم تمرير معرّف الـ ISR المعنية (ISRID) كمعامل. وعند التنفيذ بنجاح، تُرجع الخدمة E_OK [SWS_Os_91019]، [SWS_Os_00810].

معالجة الأخطاء

إذا اكتشف نظام التشغيل خطأ أثناء التنفيذ، يتم إرجاع StatusType المقابل واستدعاء ErrorHook() [SWS_Os_00810]. رموز الخطأ المحتملة هي:

  • E_OS_ID: قيمة ISRID الممررة ليست معرّفاً صالحاً لـ ISR من الفئة 2 (في حالة EXTENDED) [SWS_Os_91019].
  • E_OS_CALLEVEL: سياق استدعاء غير مسموح به لدالة الـ API (في حالة EXTENDED) [SWS_Os_91019].
  • E_OS_ACCESS: الـ OS-Application المستدعية ليست مالكة للـ ISR المحددة (حماية الخدمة - Service Protection) [SWS_Os_91019].
  • E_OS_NOFUNC: مصدر المقاطعة المطلوب معطل بالفعل (في حالة EXTENDED مع الاستدعاءات المتداخلة) [SWS_Os_00809].

التفاعل والشروط الحدية

تشكل الدالة جنباً إلى جنب مع EnableInterruptSource وClearPendingInterrupt الثلاثي الخاص بـ API للتحكم في مصادر المقاطعات من الفئة 2 [SWS_Os_00808]. ويتم تأمين الاستدعاءات المتزامنة أو المتكررة في الحالة الموسعة من خلال إرجاع E_OS_NOFUNC، مما يبقي عمليات التعطيل الزائدة قابلة للتحكم [SWS_Os_00809]. بالإضافة إلى ذلك، يجب أن يمتلك المستدعون أذونات الوصول المناسبة لتفادي أخطاء وقت التشغيل الناتجة عن حماية الخدمة (Service Protection) [SWS_Os_91019].

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا بناءً على مواصفات AUTOSAR.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة ClearPendingInterrupt [SWS_Os_91021] 📄 PDF

StatusType ClearPendingInterrupt (ISRType ISRID);

Service ClearPendingInterrupt.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: bf5abba4980e المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام وسياق الاستدعاء

تُستخدم الدالة ClearPendingInterrupt لإعادة تعيين مقاطعة معلقة لمصادر الفئة 2 [SWS_Os_00808]. وهي تستقبل المعرف ISRID لـ ISR من الفئة 2 كمعامل دخل وحيد، وتعدل مباشرة السجلات المرتبطة بها في وحدة التحكم في المقاطعات [SWS_Os_91021]، [SWS_Os_00813]. وتتم معالجة الاستدعاء بشكل متزامن وتكون متاحة عبر ملف الرأس Os.h [SWS_Os_91021].

معالجة الأخطاء وقيم الإرجاع

في حالة عدم وجود أخطاء، يتم إرجاع رمز الحالة E_OK [SWS_Os_91021]. وإذا اكتشف نظام التشغيل خطأً أثناء التنفيذ، فإن الخدمة تُرجع رمز الخطأ المقابل من النوع StatusType وتستدعي إلزاميًا ErrorHook() [SWS_Os_00810]. تم تحديد حالات الخطأ التالية للواجهة [SWS_Os_91021]:

  • E_OS_ID: المعامل المُمرر ISRID ليس معرفًا صالحًا لـ ISR من الفئة 2 (يتم إرجاعه في الحالة EXTENDED) [SWS_Os_91021].
  • E_OS_CALLEVEL: استُدعيت الدالة من سياق استدعاء غير مسموح به (يتم إرجاعه في الحالة EXTENDED) [SWS_Os_91021].
  • E_OS_ACCESS: التطبيق المستدعي غير مصرح له كمالك لـ ISR المُمررة في إطار Service Protection [SWS_Os_91021].

التزامن والتفاعل في نظام التشغيل

تم تعريف الواجهة على أنها قابلة لإعادة الدخول (reentrant)، وبالتالي يمكن استدعاؤها بشكل متزامن بأمان [SWS_Os_91021]. ويوفر نظام التشغيل ClearPendingInterrupt لكل مصدر مقاطعة من الفئة 2 (OsIsrCategory == CATEGORY_2) كجزء ثابت من واجهات API للتحكم، والتي تشمل أيضًا DisableInterruptSource وEnableInterruptSource [SWS_Os_00808].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفات AUTOSAR.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

دالة ActivateTaskAsyn [SWS_Os_91022] 📄 PDF

void ActivateTaskAsyn (TaskType id);

Asynchronous version of the Activate Task() function. Intended to be used for cross core task activation. Possible errors are not returned to the caller, but may be reported via error hooks.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 6cc8f60dfafe المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تمثل الدالة ActivateTaskAsyn (معرّف الخدمة 0x33) المتغير غير المتزامن لتنشيط المهام، وتُتاح عبر ملف الترويسة Os.h ([SWS_Os_91022]). وهي مخصصة بشكل أساسي لتنشيط المهام عبر الأنوية في الأنظمة متعددة الأنوية ([SWS_Os_91022]).

كمعلمة دخل وحيدة، يتم تمرير id من النوع TaskType، والتي تحدد المهمة (TASK) المراد تنشيطها ([SWS_Os_91022]). ولا تمتلك الواجهة أية قيمة إرجاع (void) ولا تحدد معلمات دخل/خرج أو معلمات خرج بحتة ([SWS_Os_91022]).

لا يتم إبلاغ المستدعي بالأخطاء المحتملة عند التنشيط ([SWS_Os_91022]، [SWS_Os_00816]). وبدلاً من ذلك، يتم الإبلاغ عن الأخطاء التي تحدث حصرًا عبر خطاف الخطأ العالمي (Error-Hook)، إذا كان قد تم تكوين مثل هذا الخطاف ([SWS_Os_00816]).

فيما يتعلق بالتزامن، فإن الدالة قابلة لإعادة الدخول (reentrant) وتعمل بشكل غير متزامن تمامًا ([SWS_Os_91022])، وبذلك لا يحجب سياق الاستدعاء أثناء التنفيذ. ويلتزم نظام التشغيل بتوفير هذه الواجهة وفقًا لـ [SWS_Os_00816].

تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي استنادًا إلى مواصفات AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة SetEventAsyn [SWS_Os_91023] 📄 PDF

void SetEventAsyn (TaskType id, EventMaskType m);

Asynchronous version of the Set Event() function. Intended to be used for cross core event setting. Possible errors are not returned to the caller, but may be reported via error hooks.

دالة Ioc [SWS_Os_91026] 📄 PDF

void IocInit (void);

This service initializes the data structures of the IOC. Tags: atp.Status=draft

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 50632b8f91d3 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام وطريقة العمل

تهيئ الدالة Ioc Init (المصنفة كمسودة في الإصدار R20-11) هياكل البيانات الداخلية لـ Inter-OS-Application Communication (IOC) [SWS_Os_91026]. يتم الاستدعاء بشكل متزامن، ولا يقبل أي معاملات ممررة وليس له قيمة إرجاع [SWS_Os_91026]. وإذا تم تشغيل مولد نظام التشغيل في وضع "IOC mode"، فإنه يولد حصريًا كود IOC في ملف المصدر Ioc.c ويصرّح عن الواجهات التابعة في ملف الرأس Ioc.h [SWS_Os_00834]، والذي يتم من خلاله أيضًا توفير Ioc Init [SWS_Os_91026].

معالجة الأخطاء والتزامن

بالنسبة لـ Ioc Init، لم تنص المواصفة على قيم إرجاع أخطاء محددة ولا على إشعارات أخطاء إلى DET أو DEM [SWS_Os_91026]. تم تعريف الخدمة صراحةً على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Os_91026]. تفسير: نظرًا لعدم قابليتها لإعادة الدخول ومهمة التهيئة الخاصة بها، يُرجَّح وجوب استدعاء الخدمة تسلسليًا أثناء مرحلة بدء تشغيل النظام قبل حدوث أي عمليات وصول متزامنة للاتصال. سؤال Q-47f99a4725b57c89 (مفتوح)

التفاعل مع دوال اتصال IOC

تشكل التهيئة السليمة لهياكل البيانات شرطًا مسبقًا لاستخدام واجهات اتصال IOC المُولدة:

  • الإرسال والكتابة: تنقل جهات الإرسال البيانات بشكل غير متزامن عبر خدمات القيمة المفردة مثل Ioc Send [SWS_Os_00718] وIoc Write [SWS_Os_91003] أو عبر دوال المجموعة مثل Ioc Send Group [SWS_Os_00728] وIoc Write Group [SWS_Os_91004].
  • الاستقبال والقراءة: تسترجع جهات الاستقبال البيانات بشكل متزامن عبر Ioc Receive [SWS_Os_00738]، Ioc Read [SWS_Os_91005] أو خدمات المجموعة المقابلة [SWS_Os_00746] [SWS_Os_91006].
  • إدارة قائمة الانتظار (Queue) والإشعار: عند تكوين الاتصال المخزن مؤقتًا، يمكن إفراغ محتوى قائمة انتظار داخلية بشكل متزامن باستخدام Ioc Empty Queue [SWS_Os_00754]. بالإضافة إلى ذلك، عند استلام البيانات، يمكن تنفيذ رد نداء مستقبِل مُهيأ <Receiver Pull CB> على النواة المستهدفة [SWS_Os_00757].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند حصريًا إلى مواصفات الإصدار R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة <ReceiverPullCB> [SWS_Os_00757] 📄 PDF

void <ReceiverPullCB> (void);

This callback function can be configured for the receiver of a communication. If configured, IOC calls this callback on the receiving core for each data reception. is the callback function name configured by the receiver in the Os Ioc Re ceiver Pull CB attribute to be called on data reception."

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: fe12c77b2732 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يمكن تكوين دالة رد النداء (Callback) <Receiver Pull CB> اختيارياً لمستلِم الاتصال، ويتم الإعلان عنها عبر ملف الترويسة Os.h [SWS_Os_00757]. وإذا تم إعداد هذا الـ Callback، يستدعي الـ IOC (Inter-OS-Application Communicator) الدالة بشكل متزامن على الـ Core المستلِم عند كل استقبال للبيانات [SWS_Os_00757]. ويتم تحديد المعرّف الفعلي لدالة رد النداء من جانب المستلِم عبر سمة التكوين OsIocReceiverPullCB [SWS_Os_00757].

تنطبق المتطلبات التالية على الاستدعاء وخصائص الواجهة:

  • التوقيع والمعاملات: تمتلك الدالة النموذج الأولي void <Receiver Pull CB> ( void )؛ ولا تقبل أي معاملات (لا معاملات إدخال ولا معاملات تمرير ولا معاملات إخراج) ولا تُرجع أي قيمة [SWS_Os_00757].
  • التزامن وقابلية إعادة الدخول: يتم الاستدعاء بواسطة الـ IOC بدلالات متزامنة مباشرة على الـ Core المستلِم [SWS_Os_00757]. وبالإضافة إلى ذلك، تم تحديد دالة رد النداء على أنها قابلة لإعادة الدخول [SWS_Os_00757].
  • معالجة الأخطاء: لا تنص المواصفات على قيم إرجاع أو رموز خطأ محددة أو إشعارات بالأخطاء لهذه الدالة [SWS_Os_00757].

نظراً لأن التوقيع لا يمرر أي بيانات حمولة (Payload)، فمن المرجح أن يعمل الاستدعاء أساساً كإشارة إشعار لإبلاغ المستلِم بوصول بيانات جديدة وبدء جلب بيانات الحمولة اللاحق. سؤال Q-2365bb46ad77a476 (مفتوح) ويجب على المطورين مراعاة أن التنفيذ يتم بشكل متزامن على الـ Core المستلِم [SWS_Os_00757].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند إلى مواصفات AUTOSAR CP R20-11.

دالة ProtectionHook [SWS_Os_00538] 📄 PDF

ProtectionReturnType ProtectionHook (StatusType Fatalerror);

The protection hook is always called if a serious error occurs. E.g. exceeding the worst case execution time or violating against the memory protection.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 85982be9edad المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة ProtectionHook كخطاف استدعاء مركزي (Callback) لنظام التشغيل ويتم استدعاؤها متزامنًا دائمًا عند حدوث خطأ جسيم [SWS_Os_00538]. تذكر المواصفة صراحةً كسيناريوهات أخطاء نموذجية تجاوز الحد الأقصى لوقت التنفيذ (Worst Case Execution Time) بالإضافة إلى انتهاكات حماية الذاكرة [SWS_Os_00538]. يتم توفير إعلان الواجهة عبر ملف الترويسة Os_Externals.h [SWS_Os_00538].

كمعامل إدخال، يتلقى الروتين Fatalerror من النوع StatusType، والذي يمرر السبب المؤدي لاستدعاء الخطاف [SWS_Os_00538]. لم يتم تعريف معلمات إدخال/إخراج إضافية أو معلمات إخراج فقط في التوقيع [SWS_Os_00538].

عبر قيمة الإرجاع من النوع ProtectionReturnType، يحدد ProtectionHook بشكل ملزم الإجراء الذي يجب أن يتخذه نظام التشغيل بعد تنفيذ الخطاف لمواصلة معالجة الأخطاء [SWS_Os_00538]. تتوفر الإجراءات التالية كقيم إرجاع [SWS_Os_00538]:

فيما يتعلق بالتزامن وسلوك التنفيذ، تم تحديد ProtectionHook على أنها قابلة لإعادة الدخول (reentrant) ومتزامنة [SWS_Os_00538]. يتم الاستدعاء فور حدوث الخطأ الجسيم، وبناءً عليه ينفذ نظام التشغيل الإجراء المحدد [SWS_Os_00538].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على المواصفة.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

نوع AppModeType [SWS_Os_91007] 📄 PDF

App Mode of the core shall be inherited from another core.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: e91976813761 المصدر أسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

نوع التعداد AppModeType معرف في ملف الرأس Os.h ويُستخدم لتحديد نمط التطبيق في نظام التشغيل [SWS_Os_91007]. في الأنظمة متعددة الأنوية، يتيح هذا النوع وراثة نمط تطبيق نواة المعالج من Core آخر [SWS_Os_91007].

بالنسبة لنطاق القيم، تم تحديد القيمة DONOTCARE [SWS_Os_91007]. تفسير: يُرجَّح أن تُستخدم هذه القيمة لتهيئة Core بشكل صريح بحيث لا يبدأ نمطًا مستقلاً، بل يعتمد سلوك Core الأعلى مرتبة. سؤال Q-2b7d9f1c8e5f1a3f (مفتوح) ولم يتم تحديد رموز أخطاء أو قيم إرجاع معينة للنوع نفسه.

فيما يتعلق بالتشخيص وحالة النظام، فإن التفاعل مع أدوات التحليل أمر ذو صلة. وفقًا لـ [SWS_Os_00829]، يجب أن يدعم ملف وصف وحدة ARTI جميع حاويات ORTI لتمكين أدوات تصحيح الأخطاء (Debug Tools) المتصلة من تقييم وعرض المعلومات حول نظام التشغيل وكائناته. توفر معلومات تصحيح الأخطاء الخاصة بـ ARTI سمات ديناميكية يتم حلها عبر صيغ رياضية [SWS_Os_00829]. تفسير: يُرجَّح بالتالي تمثيل وقراءة حالة نمط التطبيق على مستوى الأدوات عبر سمات كائنات ARTI المقابلة. سؤال Q-410d011cbcf1b158 (مفتوح)

تم إنشاء ملاحظة الاستخدام هذه بصورة آلية استناداً إلى متطلبات المواصفات.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

نوع ApplicationStateType [SWS_Os_00773] 📄 PDF

This data type identifies the state of an OS - Application. AUTOSAR CP R20 - o f Document ID : AUTOSAR_SWS_OS

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 71b2dfdfc31d المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يُستخدم نوع البيانات ApplicationStateType في نظام تشغيل Classic AUTOSAR للتعريف الفريد لحالة OS-Application [SWS_Os_00773]. وقد تم تحديده كنوع قياسي أساسي ويتم توفيره عبر ملف الترويسة Os.h [SWS_Os_00773].

يشمل نطاق القيم المسموح به لـ ApplicationStateType ثلاث حالات منفصلة لـ OS-Application [SWS_Os_00773]:

  • APPLICATION_ACCESSIBLE: تشير إلى أن الـ OS-Application جاهزة للتشغيل ويمكن الوصول إلى مواردها [SWS_Os_00773].
  • APPLICATION_RESTARTING: تفيد بأن الـ OS-Application موجودة حالياً في مرحلة إعادة التشغيل [SWS_Os_00773].
  • APPLICATION_TERMINATED: تشير إلى أنه تم إنهاء الـ OS-Application وأنها لا تنفذ أي إجراءات أخرى [SWS_Os_00773].

فيما يتعلق بالاستخدام والتفاعل مع المكونات الأخرى، يُرجح أن يُستخدم النوع كقيمة إرجاع أو كمعامل إخراج في خدمات نظام OS المقابلة لمراقبة الحالة، وذلك لإبلاغ المستدعين بحالة دورة الحياة الحالية للتطبيق. سؤال Q-9a4f2254f4013853 (مفتوح) ونظراً لأنه تعريف نوع أولي، فإن المعيار لا يحدد له رموز خطأ مستقلة أو رسائل DET أو DEM، ولا يضع أي قيود خاصة بشأن سياق الاستدعاء أو قابلية إعادة الدخول [SWS_Os_00773].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند إلى بيانات مواصفات AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

نوع ApplicationStateRefType [SWS_Os_00774] 📄 PDF

This data type points to location where a Application State Type can be stored.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: ae68f3712f9a المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

نوع البيانات ApplicationStateRefType هو جزء من نظام التشغيل (الوحدة Os) في منصة AUTOSAR Classic ويتم توفيره عبر ملف الرأس Os.h [SWS_Os_00774]. هذا النوع مشتق من مؤشر (Pointer) ويشير مباشرةً إلى موقع تخزين يمكن فيه حفظ حالة تطبيق OS ‏(Application State) [SWS_Os_00774].

فيما يتعلق بالاستخدام العملي، يُستخدم نوع المؤشر هذا للإشارة إلى حالات التطبيق: تفسير: كنوع مؤشر، يُرجَّح استخدام ApplicationStateRefType بشكل أساسي كمعامل إسناد أو خرج في دوال الاستعلام الخاصة بنظام التشغيل، والتي يتم من خلالها إرسال حالة تطبيق OS إلى الجهة المستدعية. سؤال Q-948bb914d3672a38 (مفتوح) لذلك يجب على الجهات المستدعية التأكد من حجز نطاق ذاكرة صالح وقابل للكتابة للحالة المستهدفة قبل تمرير المعامل، وذلك لتجنب عمليات الوصول الخاطئة بالمؤشر في وقت التشغيل.

لا تحدد المواصفة بشكل منفصل آليات خاصة لمعالجة الأخطاء، أو رموز أخطاء لـ DET أو DEM، أو متطلبات خاصة لإعادة الدخول (Reentrancy) والتزامن لهذا النوع الأساسي [SWS_Os_00774]. وتنشأ أي قيود تتعلق بسياق الاستدعاء المسموح به أو التزامات المزامنة الواجب اتباعها حصريًا من واجهات نظام التشغيل التي تستخدم هذا النوع في توقيعات دوالها.

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على المواصفات.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

نوع TrustedFunctionParameterRefType [SWS_Os_00776] 📄 PDF

This data type points to a structure which holds the arguments for a call to a trusted function.

نوع AccessType [SWS_Os_00777] 📄 PDF

This type holds information how a specific memory region can be accessed.

نوع ObjectAccessType [SWS_Os_00778] 📄 PDF

This data type identifies if an OS - Application has access to an object.

نوع MemoryStartAddressType [SWS_Os_00780] 📄 PDF

This data type is a pointer which is able to point to any location in the MCU address space.

نوع ScheduleTableStatusType [SWS_Os_00784] 📄 PDF

This type describes the status of a schedule. The status can be one of the following: o The schedule table is not started (SCHEDULETABLE_ STOPPED) o The schedule table will be started after the end of currently running schedule table (sched ule table was used in Next Schedule Table() service) (SCHEDULETABLE_ NEXT) o The schedule table uses explicit synchronization, has been started and is waiting for the global time. (SCHEDULETABLE_ WAITING) o The schedule table is running, but is currently n ot synchronous to a global time source (SCHEDULETABLE_ RUNNING) o The schedule table is running and is synchronous to a global time source (SCHEDULETABLE_ RUNNING_ AND_ SYNCHRONOUS)

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 334083bea161 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يمثل النوع ScheduleTableStatusType وفقًا لـ [SWS_Os_00784] حالة التنفيذ والمزامنة الحالية لجدول الجدولة (Schedule Table) في نظام تشغيل AUTOSAR. ويتم توفيره عبر ملف الترويسة Os.h ويعتمد على نطاق قيم خاص بالتطبيق (implementation-specific).

قيم الحالة التالية محددة:

  • SCHEDULETABLE_STOPPED: جدول الجدولة (Schedule Table) غير مبدوء.
  • SCHEDULETABLE_NEXT: سيتم بدء جدول الجدولة (Schedule Table) بعد انتهاء جدول الجدولة النشط حاليًا (تفسير: يتم ذلك بعد التمرير إلى الخدمة NextScheduleTable()). سؤال Q-8cbcfc83969eea23 (مفتوح)
  • SCHEDULETABLE_WAITING: يستخدم جدول الجدولة (Schedule Table) مزامنة صريحة، وقد تم بدؤه بالفعل وينتظر المطابقة مع الوقت العالمي.
  • SCHEDULETABLE_RUNNING: جدول الجدولة (Schedule Table) قيد التنفيذ، ولكنه غير متزامن حاليًا مع مصدر وقت عالمي.
  • SCHEDULETABLE_RUNNING_AND_SYNCHRONOUS: جدول الجدولة (Schedule Table) قيد التشغيل ومتزامن مع مصدر الوقت العالمي.

كنوع بيانات حالة بحت، لا يحدد ScheduleTableStatusType أية أخطاء وقت تشغيل أو رسائل DET/DEM خاصة به. وبالتفاعل مع أدوات التحليل، يُستخدم النوع وفقًا لـ [SWS_Os_00829] للتقييم والعرض المعتمدين على ARTI لكائنات نظام التشغيل الديناميكية، مما يتيح تسجيل انحرافات الحالة والمزامنة في النظام بشفافية.

تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند إلى مواصفات AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

نوع ScheduleTableStatusRefType [SWS_Os_00785] 📄 PDF

This data type points to a variable of the data type Schedule Table Status Type.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 316994fde661 المصدر أسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام والتعريف

تم تعريف نوع البيانات ScheduleTableStatusRefType وفقًا لـ [SWS_Os_00785] كنوع مؤشر إلى متغير من نوع البيانات Schedule Table Status Type. يتم توفير هذا النوع عبر الرأس Os.h ويُستخدم في نظام تشغيل AUTOSAR كنوع مرجعي لحالة جدول الجدولة (Schedule Table) [SWS_Os_00785].

الاستخدام والشروط العامة

في استدعاءات نظام التشغيل النمطية، يُرجَّح أن يعمل نوع المؤشر هذا كمعامل خرج تُعيد من خلاله دالة نظام OS الحالة الحالية لجدول Schedule Table المشار إليه إلى الجهة المستدعية. سؤال Q-53364f3a9953dae3 (مفتوح) وبما أن المواصفة تحدد فقط تعريف النوع، يجب على المكونات المستدعية مراعاة ما يلي عند الاستخدام:

  • توفير الذاكرة: قبل تمرير مرجع من هذا النوع، يجب على الجهة المستدعية التأكد من أن المؤشر يشير إلى نطاق ذاكرة صالح وقابل للكتابة، ويظل صالحًا طوال فترة الاستدعاء بأكملها.
  • الصلاحية والمؤشر الفارغ (Null Pointer): يُرجَّح أن يؤدي تمرير مؤشر فارغ (NULL) إلى استجابات خطأ مقابلة من خدمات OS المستدعاة، اعتمادًا على تكوين نظام التشغيل (حالة قياسية أو موسعة). سؤال Q-63d77f8c7857e6c4 (مفتوح)
  • حماية الذاكرة: في بيئات OS متعددة الأنوية أو المحمية الذاكرة والحرجة للسلامة، يجب أن يكون نطاق الذاكرة المشار إليه قابلاً للوصول من قِبل المهمة (Task) المستدعية أو مثيل OS.

نظرًا لأن [SWS_Os_00785] لا يحدد خصائص وقت تشغيل إضافية أو رموز أخطاء معينة للنوع الأساسي، فإن إمكانية إعادة الدخول وسياق الاستدعاء ينتجان من خدمات OS المعنية التي تستخدم نوع المؤشر هذا كمعامل.

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا وتستند حصريًا إلى بيانات المواصفة من الإصدار R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

نوع ProtectionReturnType [SWS_Os_00787] 📄 PDF

This data type identifies a value which controls further actions of the OS on return from the protection hook.

نوع RestartType [SWS_Os_00788] 📄 PDF

This data type defines the use of a Restart Task after terminating an OS - Application.

نوع PhysicalTimeType [SWS_Os_00789] 📄 PDF

This data type is used for values returned by the conversion macro (see SWS_ Os_00393) OS_ TICKS2_(). AUTOSAR CP R20 - o f Document ID : AUTOSAR_SWS_OS

نوع CoreIdType [SWS_Os_00790] 📄 PDF

Core Id Type is a scalar that allows identifying a single core. The Core Id Type shall represent t he logical Core ID

نوع SpinlockIdType [SWS_Os_00791] 📄 PDF

Spinlock Id Type identifies a spinlock instance and is used by the API functions: Get Spinlock, Release Spinlock and Try To Get Spinlock.

نوع TryToGetSpinlockType [SWS_Os_00792] 📄 PDF

The Try To Get Spinlock Type indicates if the spinlock has been occupied or not.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 9c58c4e8227f المصدر أسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام ومجال القيم

يتم توفير نوع التعداد TryToGetSpinlockType عبر ملف الترويسة Os.h ويُستخدم كمؤشر حالة لما إذا كان قد أمكن حجز Spinlock بنجاح بواسطة المستدعي أم لا [SWS_Os_00792]. ويحدد نتيجة عمليات الحجز المقابلة في نظام التشغيل [SWS_Os_00792].

يشمل نطاق القيم قيمتين حرفيتين (Literals) محددتين بالضبط [SWS_Os_00792]:

  • TRYTOGETSPINLOCK_SUCCESS: يشير إلى أنه قد أمكن حجز Spinlock بنجاح [SWS_Os_00792].
  • TRYTOGETSPINLOCK_NOSUCCESS: يوضح أنه تعذر حجز Spinlock [SWS_Os_00792].

التزامن وسياق النظام

يُستخدم النوع في المزامنة داخل الأنظمة متعددة الأنوية. تفسير: يُرجَّح أن يقوم المستدعي بتقييم قيمة الإرجاع بشكل متزامن للتحقق فورًا مما إذا كان يُسمح بالدخول إلى القسم الحرج المحمي أو ما إذا كان يجب اختيار فرع برنامج بديل دون انتظار حاجب عند TRYTOGETSPINLOCK_NOSUCCESS [SWS_Os_00792]. سؤال Q-a04e72802dc41325 (مفتوح) لا توجد أكواد أخطاء أو رسائل خطأ محددة عبر DET أو DEM لهذا النوع [SWS_Os_00792].

التفاعل مع أدوات التشخيص

في سياق ربط الأدوات، يدعم ملف وصف وحدة ARTI جميع حاويات ORTI لعرض معلومات حول نظام التشغيل وحالاته وكائنات نظام التشغيل وتحديد القيم الديناميكية [SWS_Os_00829]. تفسير: من المرجح أن تكون Spinlocks وحالات حجزها قابلة للتصور أيضًا لأدوات تصحيح الأخطاء والتتبع عبر مثل هذه الواجهات [SWS_Os_00829]. سؤال Q-a488e055eb7d402e (مفتوح)

تم توليد هذا النص بواسطة ذكاء اصطناعي ويستند إلى مواصفات AUTOSAR للإصدار R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

نوع IdleModeType [SWS_Os_00793] 📄 PDF

This data type identifies the idle mode behavior.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 20e46b8167e3 المصدر أسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام ومجال القيم

يتم توفير نوع البيانات القياسي IdleModeType عبر الترويسة Os.h ويُستخدم لتحديد سلوك نواة المعالج في وضع الخمول [SWS_Os_00793]. وفي نطاق القيم المحدد، تم تحديد الوضع IDLE_NO_HALT، والذي عند اختياره لا تنفذ نواة المعالج أي إجراءات خاصة أثناء فترة الخمول [SWS_Os_00793].

تفسير: نظرًا لأن IdleModeType مشتق من نوع أساسي قياسي، فمن المرجح أنه يُستخدم في سياق نظام التشغيل كقيمة تكوين أو معلمة استدعاء لخدمات التحكم في سلوك خمول النواة. سؤال Q-911a39efb537f1bc (مفتوح) تفسير: إلى جانب القيمة القياسية IDLE_NO_HALT، قد توفر تطبيقات ملموسة لنظام التشغيل أو معماريات المتحكم الدقيق أوضاع توقف أو توفير طاقة إضافية محتملة، على الرغم من أن مقتطف المواصفات يذكر فقط غياب الإجراءات المحددة. سؤال Q-b6688f74cacbab45 (مفتوح)

القيود ومعالجة الأخطاء

بالنسبة لـ IdleModeType، لم يتم توضيح أية أكواد أخطاء محددة أو رسائل DET أو DEM أو متطلبات لإعادة الدخول (Reentrancy) أو سياقات الاستدعاء في نطاق المواصفات الحالي [SWS_Os_00793]. لذلك، تنتج أية قيود وظيفية أو شروط مسبقة حصرًا من واجهات نظام التشغيل الأعلى التي تعالج هذا النوع.

تم توليد هذا النص بواسطة ذكاء اصطناعي بناءً على المواصفة SWS_Os_00793.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

نوع AreaIdType [SWS_Os_91000] 📄 PDF

Area Id Type identifies a peripheral area and is used by the API functions: Read Peripheral X, Write Peripheral X and Modify Peripheral X AUTOSAR CP R20 - o f Document ID : AUTOSAR_SWS_OS

نوع StatusType [SWS_Os_00002] 📄 PDF

typedef uint8 StatusType;

This data type represents standard OSEK OS status codes (e.g. E_OK, E_OS_ACCESS).

دليل المنفِّذ قيد الإعداد (التعقيد I2)

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_Os
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Os@rel:R20-11#b31aeee8
Content hash
b31aeee8
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_OS.pdf#nameddest=SWS_Os_00016

خريطة المواضيع

دوال Callout والواجهات المتوقعة

1

عرض التفاصيل

اختر عنصرًا من المخطط.

الخدمات · Get…

This service determines the OS - Application (a unique identifier has to be allocated to each application) where the caller originally belongs to (was configured t o).

ApplicationType GetApplicationID (void);

This service returns the current state of an OS - Application.

StatusType GetApplicationState (ApplicationType Application, ApplicationStateRefType Value);
GetCoreID دالة

The function returns a unique core identifier.

CoreIdType GetCoreID (void);

This service reads the current count value of a counte r (returning either the hardware timer ticks if counter is driven by hardware or the software ticks when user drives counter).

StatusType GetCounterValue (CounterType CounterID, TickRefType Value);

This service determines the OS - Application where the caller of the service is currently executing. Note that if the caller is not within a Call Trusted Function() call the value is eq ual to the result of Get Application ID().

ApplicationType GetCurrentApplicationID (void);

This service gets the number of ticks between the current tick value and a previously read tick value.

StatusType GetElapsedValue (CounterType CounterID, TickRefType Value, TickRefType ElapsedValue);
GetISRID دالة

This service returns the identifier of the currently executing ISR.

ISRType GetISRID (void);

The function returns the number of cores activated by the Start Core function. This function might be a macro. AUTOSAR CP R20 - o f Document ID : AUTOSAR_SWS_OS

uint32 GetNumberOfActivatedCores (void);

This service queries the state of a schedule table (also with respect to synchronization).

StatusType GetScheduleTableStatus (ScheduleTableType ScheduleTableID, ScheduleTableStatusRefType ScheduleStatus);
GetSpinlock دالة

Get Spinlock tries to occupy a spin - lock variable. If the function returns, either the lock is successfully taken or an error has occurred. The spinlock mechanism is an active polling mechanism. The function does not cause a de - scheduling.

StatusType GetSpinlock (SpinlockIdType SpinlockId);

الخدمات · Start…

StartCore دالة

It is not supported to call this function after Start OS(). The function starts the core specified by the parameter Core ID. The OUT parameter allows the caller to check whether the operation was successful or no t. If a core is started by means of this function Start OS shall be called on the core.

void StartCore (CoreIdType CoreID, StatusType* Status);

The function start s the core specified by the parameter Core ID. It is allowed to call this function after Start OS(). The OUT parameter allows the caller to check whether the operation was successful or not. It is not allowed to call Start OS on cores activated by Start No n Autosar Core. Otherwise the behaviour is unspecified.

void StartNonAutosarCore (CoreIdType CoreID, StatusType* Status);

This service starts the processing o f a schedule table at an absolute value "Start" on the underlying counter.

StatusType StartScheduleTableAbs (ScheduleTableType ScheduleTableID, TickType Start);

This service starts the processing of a schedule table at "Offset" relative to the "Now" value on the underlying counter.

StatusType StartScheduleTableRel (ScheduleTableType ScheduleTableID, TickType Offset);

This service starts an explicitly synchronized schedule table synchronously.

StatusType StartScheduleTableSynchron (ScheduleTableType ScheduleTableID);

الخدمات · Check…

This service checks if a memory region is write/ read/ execute accessible and also returns information if the memory region is part of the stack space.

AccessType CheckISRMemoryAccess (ISRType ISRID, MemoryStartAddressType Address, MemorySizeType Size);

This service determines to which OS - Application a given Task, ISR, Counter, Alarm or Schedule Table belongs

ApplicationType CheckObjectOwnership (ObjectTypeType ObjectType, void ...);

This service checks if a memory region is write/ read/ execu te accessible and also returns information if the memory region is part of the stack space.

AccessType CheckTaskMemoryAccess (TaskType TaskID, MemoryStartAddressType Address, MemorySizeType Size);

الخدمات · Modify…

This service modifies a given memory location () with the formula: * = ((* & ) | )

StatusType ModifyPeripheral16 (AreaIdType Area, uint16* Address, uint16 Clearmask, uint16 Setmask);

This service modifies a given memory location () with the formula: * = ((* & ) | )

StatusType ModifyPeripheral32 (AreaIdType Area, uint32* Address, uint32 Clearmask, uint32 Setmask);

This service modifies a given memory location () with the formula: * = ((* & ) | )

StatusType ModifyPeripheral8 (AreaIdType Area, uint8* Address, uint8 Clearmask, uint8 Setmask);

الخدمات · Read…

This service returns the content of a given memory location (

StatusType ReadPeripheral16 (AreaIdType Area, const uint16* Address, uint16* ReadValue);

This service returns the content of a given memory location (

StatusType ReadPeripheral32 (AreaIdType Area, const uint32* Address, uint32* ReadValue);

This service returns the content of a given memory location (

StatusType ReadPeripheral8 (AreaIdType Area, const uint8* Address, uint8* ReadValue);

الخدمات · Write…

This service writes the to a given memory location (). Available vi a Os.h

StatusType WritePeripheral16 (AreaIdType Area, uint16* Address, uint16 WriteValue);

This service writes the to a given memory location ().

StatusType WritePeripheral32 (AreaIdType Area, uint32* Address, uint32 WriteValue);

This service writes the to a given memory location (). Available vi a Os.h

StatusType WritePeripheral8 (AreaIdType Area, uint8* Address, uint8 WriteValue);

الخدمات · أخرى

This service determines if the OS - Applications, given by Appl ID, is allowed to use the IDs of a Task, Resource, Counter, Alarm or Schedule Table in API calls.

ObjectAccessType CheckObjectAccess (ApplicationType ApplID, ObjectTypeType ObjectType, void ...);

Asynchronous version of the Activate Task() function. Intended to be used for cross core task activation. Possible errors are not returned to the caller, but may be reported via error hooks.

void ActivateTaskAsyn (TaskType id);
AllowAccess دالة

This service sets the own state of an OS - Application from AP PLICATION_ RESTARTING to APPLICATION_ ACCESSIBLE.

StatusType AllowAccess (void);

A (trusted or non - trusted) OS - Application uses this service to call a trusted function

StatusType CallTrustedFunction (TrustedFunctionIndexType FunctionIndex, TrustedFunctionParameterRefType FunctionParams);

Service ClearPendingInterrupt.

StatusType ClearPendingInterrupt (ISRType ISRID);
ControlIdle دالة

This API allows the caller to select the idle mode action which is performed during idle time of t he OS (e.g. if no Task/ ISR is active). It can be used to implement energy savings. The real idle modes are hardware dependent and not standardized. The default idle mode on each core is IDLE_ NO_ HALT.

StatusType ControlIdle (CoreIdType CoreID, IdleModeType IdleMode);

Disables the interrupt source by modifying the interrupt controller registers.

StatusType DisableInterruptSource (ISRType ISRID);

Service EnableInterruptSource.

StatusType EnableInterruptSource (ISRType ISRID, boolean ClearPending);

This service increments a software counter.

StatusType IncrementCounter (CounterType CounterID);
IocInit دالة

This service initializes the data structures of the IOC. Tags: atp.Status=draft

void IocInit (void);

This service switches the processing from one schedule table to another schedule table.

StatusType NextScheduleTable (ScheduleTableType ScheduleTableID_From, ScheduleTableType ScheduleTableID_To);

The protection hook is always called if a serious error occurs. E.g. exceeding the worst case execution time or violating against the memory protection.

ProtectionReturnType ProtectionHook (StatusType Fatalerror);

Release Spinlock releases a spinlock variable that was occupied before. Before terminating a TASK all spinlock variables that have been occupied with Get Spinlock() shall be released. Before calling Wait EVENT all Spinlocks shall be released.

StatusType ReleaseSpinlock (SpinlockIdType SpinlockId);
SetEventAsyn دالة

Asynchronous version of the Set Event() function. Intended to be used for cross core event setting. Possible errors are not returned to the caller, but may be reported via error hooks.

void SetEventAsyn (TaskType id, EventMaskType m);

This service stops synchronization of a schedule table.

StatusType SetScheduletableAsync (ScheduleTableType ScheduleTableID);

After this service the OS on all AUTOSAR cores is shut down. Allowed at TASK level and ISR level and also internally by the OS. The function will never return. The function will force other cores into a shutdown.

void ShutdownAllCores (StatusType Error);

This service cancels the processing of a schedule table immediately at any point while the schedule table is running.

StatusType StopScheduleTable (ScheduleTableType ScheduleTableID);

Service SyncScheduleTable.

StatusType SyncScheduleTable (ScheduleTableType ScheduleTableID, TickType Value);

Service TerminateApplication.

StatusType TerminateApplication (ApplicationType Application, RestartType RestartOption);

Try To Get Spinlock has the same functionality as Get Spinlock with the difference that if the spinlock is already occupied by a TASK on a d ifferent core the function sets the OUT parameter "Success" and returns with E_ OK.

StatusType TryToGetSpinlock (SpinlockIdType SpinlockId, TryToGetSpinlockType* Success);

دوال Callout والواجهات المتوقعة

This callback function can be configured for the receiver of a communication. If configured, IOC calls this callback on the receiving core for each data reception. is the callback function name configured by the receiver in the Os Ioc Re ceiver Pull CB attribute to be called on data reception."

void <ReceiverPullCB> (void);

الأنواع

AccessType نوع

This type holds information how a specific memory region can be accessed.

AlarmType نوع

This data type represents an AUTOSAR OS alarm identifier.

typedef uint8 AlarmType;

This data type points to location where a Application State Type can be stored.

This data type identifies the state of an OS - Application. AUTOSAR CP R20 - o f Document ID : AUTOSAR_SWS_OS

This data type identifies the OS - Application.

App Mode of the core shall be inherited from another core.

AreaIdType نوع

Area Id Type identifies a peripheral area and is used by the API functions: Read Peripheral X, Write Peripheral X and Modify Peripheral X AUTOSAR CP R20 - o f Document ID : AUTOSAR_SWS_OS

CoreIdType نوع

Core Id Type is a scalar that allows identifying a single core. The Core Id Type shall represent t he logical Core ID

This data type identifies a counter.

This data type represents an event mask for extended tasks.

This data type identifies the idle mode behavior.

ISRType نوع

This data type identifies an interrupt service routine (ISR).

This data type holds the size (in bytes) of a memory region.

This data type is a pointer which is able to point to any location in the MCU address space.

This data type identifies if an OS - Application has access to an object.

ObjectType نوع

This data type identifies an object.

This data type is used for values returned by the conversion macro (see SWS_ Os_00393) OS_ TICKS2_(). AUTOSAR CP R20 - o f Document ID : AUTOSAR_SWS_OS

This data type identifies a value which controls further actions of the OS on return from the protection hook.

This data type defines the use of a Restart Task after terminating an OS - Application.

This data type points to a variable of the data type Schedule Table Status Type.

This type describes the status of a schedule. The status can be one of the following: o The schedule table is not started (SCHEDULETABLE_ STOPPED) o The schedule table will be started after the end of currently running schedule table (sched ule table was used in Next Schedule Table() service) (SCHEDULETABLE_ NEXT) o The schedule table uses explicit synchronization, has been started and is waiting for the global time. (SCHEDULETABLE_ WAITING) o The schedule table is running, but is currently n ot synchronous to a global time source (SCHEDULETABLE_ RUNNING) o The schedule table is running and is synchronous to a global time source (SCHEDULETABLE_ RUNNING_ AND_ SYNCHRONOUS)

This data type identifies a schedule table.

Spinlock Id Type identifies a spinlock instance and is used by the API functions: Get Spinlock, Release Spinlock and Try To Get Spinlock.

StatusType نوع

This data type represents standard OSEK OS status codes (e.g. E_OK, E_OS_ACCESS).

typedef uint8 StatusType;
TaskType نوع

This data type identifies an AUTOSAR OS task.

typedef uint8 TaskType;
TickType نوع

This data type represents count values in ticks.

typedef uint32 TickType;

The total number of cores

This data type identifies a trusted function.

This data type points to a structure which holds the arguments for a call to a trusted function.

The Try To Get Spinlock Type indicates if the spinlock has been occupied or not.