PDA

View Full Version : سوال Realtime



محمد حسن
پنج شنبه 07 آبان 1388, 13:23 عصر
سلام
چطوری یک قسمت از کد رو به صورت Realtime تو دلفی اجرا کنم
(به غیر از بحث Thread ها و تنظیم اولویت)

Saeed_m_Farid
پنج شنبه 07 آبان 1388, 18:12 عصر
سلام
چطوری یک قسمت از کد رو به صورت Realtime تو دلفی اجرا کنم
(به غیر از بحث Thread ها و تنظیم اولویت)
سلام
شما اولش می فرمایید منظورتون از Real time چی هست؟ تو چه زمینه ای کار می کنید؟ Hardware، Data، Control، یا ...
این که یه برنامه خیلی زود پاسخ بده، تاخیر نداشته باشه یا کارآیی بالایی داشته باشه معنی اش این نیست که این برنامه Real time هست، Real time به طور کلی به سیستم هایی میگن که قابلیت مدیریت کارکردهای همزمانی و درنظر گرفتن deadline در پاسخ دهی همزمان به درخواست های رسیده به سیستم موردنظر رو داشته باشه، به عبارت دیگه شما باید افت و خیزهای زمانی در پاسخ دهی به سرویس گیرندگان سیستم رو مدیریت کنید.
البته این همه معنی اش نیست، خلاصه اش این بود : ولی سوال شما (یک قسمت از کد) خیلی نامرتبط با مبحث Real time هست، ساختار و نحوه تعامل سیستم (یا بقول شما برنامه) باید Real time باشه و این یه دیدگاه هست نه یه تکه کد که بشه real-time نوشت یا non-real-time!
من احتمال میدم شما منظور از برنامه های Real time رو درست متوجه نشدید، ضمناً استفاده از نخها و mission critical (http://en.wikipedia.org/wiki/Mission_critical)، نواحی بحرانی و ... تو همچین سیستم هایی ضروری هست.
از طرف دیگه برنامتون باید یه ترمز ABS داشته باشه! بدون شوخی میگم : باید سیستم طوری طراحی شده باشه که برای جلوگیری از قفل (Lock) شدن سیستم شما همیشه یه راه فرارهایی (braking) داشته باشید؛ اونوقت می تونید بگید برنامه من یه سیستم ABS یا (anti-lock braking system) داره و پز بدین.

لینک های زیر تو درک مفهوم موردنظر بیشتر کمکتون می کنند:
An Introduction to Real-Time Programming (http://www.stsc.hill.af.mil/crosstalk/2003/11/0311Ludwig.html)
Real Time Programming: Myths and Reality (http://www.devx.com/tips/Tip/13491)

موفق باشید.

محمد حسن
پنج شنبه 07 آبان 1388, 18:30 عصر
شما اولش می فرمایید منظورتون از Real time چی هست؟ تو چه زمینه ای کار می کنید؟ Hardware، Data، Control، یا ...
.
سلام
با پورت com کار میکنم
وقتی یه سری داده در بافر ورودی قرار میگیره ، چنانچه اون داده شرط مورد نظر من رو داشته باشه یه پروسیجر اجرا میشه
می خوام اجرای این پروسیجر مقدم بر همه کار های سیستم باشه
چکار کنم؟

tdkhakpur
پنج شنبه 07 آبان 1388, 20:37 عصر
می خوام اجرای این پروسیجر مقدم بر همه کار های سیستم باشه
ميتوانيد از تايمر براي سركشي براي بررسي بافر ورودي استفاده كنيد و پروسه شما با بررقراري شرط اجرا بشود .
ولي داخل ويندوز كد مي نويسيد بهتره از كامپوننت cport استفاده كنيد داخل گوگل سرچ كنيد دانلود آزاد دارد.

vcldeveloper
جمعه 08 آبان 1388, 02:18 صبح
با پورت com کار میکنم
وقتی یه سری داده در بافر ورودی قرار میگیره ، چنانچه اون داده شرط مورد نظر من رو داشته باشه یه پروسیجر اجرا میشه
بحث Real Time بودن بیشتر مربوط به سیستم عامل مورد استفاده شما میشه. سیستم عامل ویندوز یک سیستم عامل Real Time نیست؛ یعنی تضمینی وجود نداره که شما از رویدادهای مورد نظرتان در یک بازه زمانی مشخص با خبر بشید، فقط می تونید با استفاده از اولویت بندی برنامه کاری کنید که ویندوز به Thread مورد نظر شما توجه ویژه ایی داشته باشه، و اون وقت در کد خودتان به سریعترین شکل ممکن داده های دریافتی را برای پردازش های بعدی بافر کنید، یا اگر پردازش ها ساده هستند، به سریعترین شکل ممکن پردازش را روی هر داده ورودی اعمال کنید.