PDA

View Full Version : Embeded Linux چیست ؟!!!



mehranFX
شنبه 06 اسفند 1384, 22:18 عصر
از دوستانی که در این زمینه و کاربردهای اون تجربه ای دارند ،خواهشمندم ما رو هم از تجربیات خودشون در این زمینه بی نصیب نگذارند .
قبل از هرچیزی فکر می کنم یه تعریف جامع شروع خوبی باشه !!!
پیشاپیش سپاسگزارم !

Inprise
شنبه 06 اسفند 1384, 22:53 عصر
گاهی بین PC ها و IPC ها ( Industrial PC ) و سایر تجهیزات و ادواتی که قراره یک نرم افزار کنترلشون کنه و به کاربر سرویس بده تفاوت قائل میشن ، و اگه این تفاوت رو بپذیریم معنی Embedded Software مشخص میشه . نرم افزاری که برای چیزی غیر از یک کامپیوتر متداول و متعارف نوشته میشه ، اصطلاحا" یک Embedded Software هست ؛ و طبیعتا" OS ای که برای چنین ماشینی در نظر گرفته میشه Embedded OS ، و Embedded Linux هم به اعضائی از خانواده لینوکس اطلاق میشه که برای چنین ماشینهائی توسعه پیدا میکنند . برای چنین بسترهای سخت افزاری نمیشه محدوده و مرز مشخصی در نظر گرفت ، شاید بشه به سیستم عاملهای ماشین های مدرن امروزی ، گوشی های موبایل ، بی سیم ها ، برخی تجهیزات پزشکی و پیرا پزشکی ، ابزار آلات خاص صنعتی و ...بشه گفت Embedded . مفهوم Embedded OS هم چیزی مثل مفهوم RAD هست ( Rapid Application Development ) ، نمیشه در موردش جر و بحث کرد و یه حکم و فتوای کلی و جهانی صادر کرد ، مهم اینه که مفهوم عمومی اش درک بشه . یک جائی روی همین سایت بحث شده بود که بین VS 2005 و JB با هر چه که دارند کدامیک RAD است ، در واقع جواب به درد بخوری نمیشه به سوالاتی مثل این داد . مهم اینه که مخاطب بفمهمه هدف از تولید مفهومی بنام RAD چیه . بحث Embedded هم همینطوره . این رو تاکید کردم که در ادامه یا جائی دیگری کسی سوال نکنه خوب حالا فلان توزیع یا فلان ماشین مصداق این بحث هست یا نیست ...

Inprise
شنبه 06 اسفند 1384, 23:06 عصر
http://www.linuxdevices.com
این هم حاوی مقادیری مثال و نمونه هست برای آشنائی بیشتر

mehranFX
شنبه 06 اسفند 1384, 23:17 عصر
Inprise عزیز ممنونم ،
اما یه سئوالی دارم و اون اینه که آیا برای یه سیستم Embeded Linux استانداردی نداره؟ یعنی آیا حتما مثلا نباید یه سری Interface هایی در اون Implement بشه تا اون رو Embed بدونن ؟
نکته دیگه اینکه : آیا در همه این سیستم ها کرنل وجود داره (منطورم همین کرنلی است که در PCاستفاده میشه)؟ اگه جواب منفی هست و کرنل رو خودشون توسعه میدن پس دیگه چه جور لینوکسی یه؟!!! دیگه اینکه آیا کرنل 2.4 در این نوع سیستم ها کاربرد داره یا موردی هم سراغ دارین که از کرنل 2.6 استفاده شده باشه ؟!!!
اگه سئوال هام خیلی فنی نبود ؛ ببخشید !:خجالت:

Inprise
یک شنبه 07 اسفند 1384, 00:03 صبح
-خیر
-عموما" سعی میشه رابطهای سطح بالا تا حد ممکن دست نخورده باقی بمونند ؛ ولی بخشهای قابل توجهی از کدهای سطح کرنل متفاوت است ، و بله ، این لینوکس است . منظور از لینوکس ، هیچ وقت یک سیستم عامل بسته بندی شده داخل یک سی دی نبوده است .
- تجهیزاتی که از مخازن 2.6 استفاده میکنند هم وجود دارند ؛ ولی عموما" ارتقاء روی چنین محیطهائی با کندی و بد اخلاقی انجام میشه ؛ دلیلش هم طبیعی است که محدودیتهای فوق العاده زیاده .

خوش باشی

Identifier
یک شنبه 07 اسفند 1384, 08:03 صبح
با سلام و عرض ادب
ابزار های QT برای embedded Linux

http://www.trolltech.com/products/qtopia/index.html

mehranFX
دوشنبه 08 اسفند 1384, 10:00 صبح
دوستان عزیز یه سئوالی برام پیش اومده و اون اینه که آیا یک کرنل Embed شده ویژه یک پردازنده خاص هستش ؟ یعنی اگه مثلاً یه جا از موتورولا استفاده کرد و همون کمپانی توی محصول دیگرش از یک نسل دیگر از پردازنده استفاده کرد ، آیا مجددا کرنل رو باز نویسی می کنند؟ سئوال دیگه اینکه چگون میشه از کرنل در محیط های صنعتی استفاده کرد وقتی ؛ خروجی های متعارفی برای مشاهده فرایند ها یا اشکال زدایی وجود نداره !!!

Inprise
دوشنبه 08 اسفند 1384, 12:35 عصر
کرنل عموما برای یک خانواده مشخص از پردازنده ساخته میشه ، مثلا" برای i386 یا ppc32 . پس قاعدتا" برای پردازنده خاص خودت باید کرنل رو بسازی و نمیتونی کرنلی که برای ppc64 ساخته شده روی یک alpha یا x86 اجرا کنی . برای محیطهای embedded با توجه به ویژگیهای سخت افزاریش کرنل مناسب ساخته میشه ، و تفاوتی با ساخت کرنل برای سایر محیطها نداره . ساختن کرنل فرآیندی نیست که به IDE ! یا چیزی مثل این نیاز داشته باشه . همینکه مشخصات پردازنده و بعضی از ادوات سخت افزاری همراه رو بدونی و یک کامپایلر سازگار و مناسب داشته باشی کفایت میکنه ، بقیه اش وابسته است به دانش و تجربه . ماجرا چندان "بصری" نیست .

mehranFX
دوشنبه 08 اسفند 1384, 14:22 عصر
کرنل عموما برای یک خانواده مشخص از پردازنده ساخته میشه ، مثلا" برای i386 یا ppc32 . پس قاعدتا" برای پردازنده خاص خودت باید کرنل رو بسازی و نمیتونی کرنلی که برای ppc64 ساخته شده روی یک alpha یا x86 اجرا کنی . برای محیطهای embedded با توجه به ویژگیهای سخت افزاریش کرنل مناسب ساخته میشه ، و تفاوتی با ساخت کرنل برای سایر محیطها نداره . ساختن کرنل فرآیندی نیست که به IDE ! یا چیزی مثل این نیاز داشته باشه . همینکه مشخصات پردازنده و بعضی از ادوات سخت افزاری همراه رو بدونی و یک کامپایلر سازگار و مناسب داشته باشی کفایت میکنه ، بقیه اش وابسته است به دانش و تجربه . ماجرا چندان "بصری" نیست .
اینپرایز عزیز ممنونم از توجهت ولی منظور من از بصری بودن این بود که بالاخره این کرنل رو یه جور باید تست کرد دیگه ! چطور در محیط های صنعتی که نه خروجی صوتی - تصویری و نه امکان پرینت وجود داره به توسعه کرنل اقدام می کنند ؟(آیا واسه هر پردازنده ای امولاتور وجود داره؟)