PDA

View Full Version : مشاوره درباره نحوی نوشتن سیستم عامل برای موبایل(مثل اندروید)



MAHDIhp_devsq
چهارشنبه 08 شهریور 1391, 02:02 صبح
با سلام به دوستان عزیز
میخواستم ببینم که چطور میشود برای موبایل سیستم عامل نوشت با کرنل لینوکس مثل اندروید
لطفا راهنمایی و مشاوره بدهید با تشکر
ایمیلم:Mahdihp.devsc@gmail.com

pswin.pooya
چهارشنبه 08 شهریور 1391, 02:24 صبح
میخواستم ببینم که چطور میشود برای موبایل سیستم عامل نوشت با کرنل لینوکس مثل اندروید

1. شما یک توزیع میسازید نه سیستم عامل.
2. باید نیازمندیهای حداقل سخت افزاری لازم برای لینوکس رو فراهم کنید. (یا از گوشی سازگار استفاده کنید)
3. آشنایی کاملی با هسته لینوکس و مبحثهای device driver و ... داشته باشید.

در مورد اندروید قضیه به این آسونی ها هم نیست. گوگل ترفندهای زیادی رو زده و تغییرات زیادی رو ایجاد کرده که موفق شده. قبل از گوگل شرکتهای دیگه مثل نوکیا و HP هم با هسته لینوکس برای گوشیهاشون سیستم عامل ساختن و موفق نشدن. واقعا گوگل کار سنگینی رو انجام داده که مطرحترین قسمتش ماشین مجازی جاوا ( و بعدا C++) برای سیستم عاملش بوده. و مرحله بعد SDK بی نظیری که ساختش. و همین باعث موفقیتش شد.

پیشنهاد می کنم قبل از اینکه بخوایین به سیستم عامل فکر کنید. همه چی رو داخل کامپیوتر تجربه کنید ( و اما همه چی. از ساخت لینکر و کامپایلر و زبان برنامه نویسی و ... گرفته تا مباحث ساده ای مثل برنامه نویسی پایگاه داده). همه اینها زمان ساخت سیستم عامل بدرتون میخوره. تمام درسهایی تخصصی که توی دوره کارشناسی نرم افزار گفته میشه توی مبحث ساخت سیستم عامل دخیل هست ( بدون استثناء) . بعد از این باید یه مطالعه عمیق در مورد ابزارهایی که برنامه دارید ازشون استفاده بکنید داشته باشید. ( شناخت خوب از ابزار کلید موفقیت هست.)

prpe26
چهارشنبه 08 شهریور 1391, 04:06 صبح
آندروید خوبه ، ولی Tizen هم میتونه الگوی خوبی باشه.

شما به نظرم بهتره روی Debian ARM کار کنید. من خودم خیلی وقت پیش روش کارهایی انجام دادم. ولی زیادی پیچیده بود بیخیالش شدم :لبخند:

MAHDIhp_devsq
پنج شنبه 09 شهریور 1391, 00:47 صبح
با تشکر از راهنمایی دوستان عزیز
اگر ممکن هست بیشتر در مورد سیستم عامل هایی که از هسته لینوکس استفاده میکنند صحبت بشه اختصاصا موبایلی باشه باز هم تشکر میکنم.

prpe26
پنج شنبه 09 شهریور 1391, 00:59 صبح
راستش در لینوکس (هسته) عموما سیستم عاملها دو دسته هستند : یا گنو هستند (یعنی از GNU Applications Userland استفاده میکنند) یا اینکه هسته لینوکس بوده و تمامی اجزای دیگر توسط خود سازندگان نوشته شده است (مثل آندروید).

مورد دوم برای دستگاههای موبایل یا Handset عمومیت بیشتری داره. اما گنو هم برای موبایل هست. نمونه گنو برای موبایل ، Debian ARM یا ARMED Slack هست. همچنین MeeGo .

ولی بصورت مستقل ، OpenWebOS و Tizen رو میشه نام برد که فقط از هسته لینوکس استفاده میکنند و گنو نیستند. آندروید هم همچنین.

این یک Rapid Review بود :لبخند: سوال دیگه ای هست در خدمتم :لبخندساده:

MAHDIhp_devsq
پنج شنبه 09 شهریور 1391, 01:14 صبح
خیلی ممنون
اگر میشه در مورد گستردگی این نوع سیستم عامل ها منظورم مورد دوم:
مثال حجم کد نویسی یا تیم کاری و معماری پروژه و موارد مشابه توضیح بدهید با تشکر

prpe26
پنج شنبه 09 شهریور 1391, 01:23 صبح
حجم کد نویسی که با استفاده از لینوکس حدود ۹ میلیون خط نقدا کارتون راحت تر میشه.

ولی کار تیمی ، بستگی داره چطور پیش برید. مثل تیم Replicant بخواید آندروید رو از گوگل پاک کنید دو نفره هم میشه. ولی اگر بخواید چیزی رو از اول بنا کنید ، برای شروع با ۵ تا ۱۰ نفر که به سیستم عامل و مباحث مربوطه وارد باشند نیاز خواهید داشت.

معماری هم که صد در صد ARM هست چون ۹۹٪ گوشی های امروزی ARM هستند. اون یک درصد هم 1100 و ... هست :لبخند:

mahdad sepah
یک شنبه 28 آبان 1391, 01:51 صبح
برای نوشتنش سیستم عاملی مثل اندروید باید از چه زبانی برای نوشتنش استفاده کرد؟(منظورم بهترین زبان است)

prpe26
یک شنبه 28 آبان 1391, 15:17 عصر
برای نوشتنش سیستم عاملی مثل اندروید باید از چه زبانی برای نوشتنش استفاده کرد؟(منظورم بهترین زبان است)

خود آندروید رو هستش (که لینوکس هست) رو با C نوشتند و باقی اجزای سیستم عامل رو با Java .

بهترین زبان همونی هست که روش اشراف کامل دارید اما در اکثر محافل تکنولوژی توصیه میشه از C برای طراحی و ساخت سیستم عامل استفاده کنید.