انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: تغییر در کرنل و بهینه سازی  (دفعات بازدید: 2337 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین IMAN4K

  • Newbie
  • *
  • ارسال: 3
  • جنسیت : پسر
تغییر در کرنل و بهینه سازی
« : 18 اسفند 1393، 11:40 ب‌ظ »
وقت بخیر خدمت دوستان
من در حقیقت میخوام بدونم برای تغییر در کرنل لینوکس و بهینه سازی اون برای یک structure دقیقا چه کار هایی باید انجام داد آیا فقط به ماژول نویسی ختم میشه یا خیر؟
مثلا فرض کنید قراره کرنل لینوکس یا مثلا freebsd رو برای دستگاه های atm یا مثلا همین x86 بهینه سازی کنیم و تغییراتی بدیم دقیقا چه کار هایی باید انجام بشه؟(بنده با بخش کد نویسی در لایه ماشین و c مشکلی ندارم)
خیلی ممنون از راهنمایی

آفلاین abdoullah

  • Full Member
  • *
  • ارسال: 170
  • جنسیت : پسر
پاسخ : تغییر در کرنل و بهینه سازی
« پاسخ #1 : 18 اسفند 1393، 11:55 ب‌ظ »
سلام دوست عزیز
 این وب سایت و ببین به جوابت میرسی

http://wiki.osdev.org/Main_Page
زندگی کردن با لینوکس رو دوست دارم

آفلاین linuxesabz

  • Jr. Member
  • *
  • ارسال: 74
  • جنسیت : پسر
  • عاشق کوهنوردی و جودو --------> متخصص و مدرس لینوکس
    • لینوکس سبز
پاسخ : تغییر در کرنل و بهینه سازی
« پاسخ #2 : 19 اسفند 1393، 01:51 ب‌ظ »
من کرنل رو برای یه پروژه خاص منظوره تغییر داده بودم یادش بخیر :)
شما اول باید ببینیند چه کاربردی داری؟
دوم در مورد ساختارکنل و api ها و کتابخانه های اون اطلاعات داشته باشی
به نظرم کتاب kernel development linuxرو بخون
اکانت قبلیم sallea به دلایلی حذف شد.
مدرس و عاشق لینوکس

آفلاین IMAN4K

  • Newbie
  • *
  • ارسال: 3
  • جنسیت : پسر
پاسخ : تغییر در کرنل و بهینه سازی
« پاسخ #3 : 19 اسفند 1393، 02:24 ب‌ظ »
من کرنل رو برای یه پروژه خاص منظوره تغییر داده بودم یادش بخیر :)
شما اول باید ببینیند چه کاربردی داری؟
دوم در مورد ساختارکنل و api ها و کتابخانه های اون اطلاعات داشته باشی
به نظرم کتاب kernel development linuxرو بخون
ممنون از پاسخ
همونطور که ذکر کردم قصدم این هست که کرنل لینوکس یا حالا freebsd رو برای دستگاه های atm یا خودپرداز بهینه و طراحی کنم که بتونن با امنیت بالا تو شبکه های atm=telephone فعالیت کنند.الان تمامی 2 میلیون دستگاه ها atm در دنیا دارن از هسته xp استفاده میکنند و چون مایکروسافت پشتیبانی life time رو قطع کرد بسته های بروز رسانی رو با قیمت خیلی گزاف به شرکت ها ارائه میده و هدف من این هست که کرنل لینوکس رو مختص فریم ورک دستگاه ها atm بهینه و تغییر بدم.هم کتاب و هم اون لینک osdev رو باید مطالعه کنم تا مقدمات کار فراهم شه

آفلاین ngc0der

  • Full Member
  • *
  • ارسال: 106
پاسخ : تغییر در کرنل و بهینه سازی
« پاسخ #4 : 19 اسفند 1393، 03:02 ب‌ظ »
متاسفانه شما نمی تونید به این سادگی وابستگی ATM ها به ویندوز رو از بین ببرید چون همه ATM ها از استانداردی به اسم XFS پیروی می کنن که بر پایه WOSA بنا شده که خودش یک تکنولوژی مایکروسافتی هست.از طرفی هر ATM متشکل از بیش از 10 دیوایس مختلفه که راهنمای XFS هر کدوم از اونها نزدیک به 200 صفحه است که شامل معرفی توابعی در زبان C هست که کارهای مختلفی بر روی اون دیوایس انجام میدن.نوشتن برنامه ای در ویندوز که از این توابع استفاده کنن و یک ATM کاربردی در اختیار بزارن با یک تیم 4، 5 نفره حداقل حدود 1 سال زمان می بره.از طرف دیگه بیش از 10 شرکت تولید کننده ATM داریم که از چیپهای مختلفی برای تولید استفاده کردن.با این اوصاف در مجموع از نظر من مهندسی معکوس درایورها و پیاده سازی مجدد استاندارد XFS چندین سال زمان نیاز خواهد داشت!تازه بعد از این همه مشقت ممکنه شرکتها قبول نکنن ازش استفاده کنن.یادمه یه جا خوندم یک نفر از یکی از تولید کننده ها پرسیده بود که چرا از لینوکس روی ATM استفاده نمی کنین طرف جواب داده بود برای این که هزینه خرید یک نسخه ویندوز در مقابل هزینه خود دستگاه اینقدر کمه که برای ما خیلی فرقی نمی کنه از کدوم سیستم عامل استفاده کنیم.عین این می مونه که برید به یک بچه مایه دار بگید بیا از لینوکس استفاده کن چون رایگانه که احتمالا اونم جواب میده من راحت می تونم پول یه مک و آیفون رو بدم پس واسه من فرقی نمی کنه!
به هر حال خیلی افتضاحات مثل این استاندارد،در طی زمان بالا اومده به دلیل بنا شدن سایر موارد روی اونها به این راحتی نمیشه از دستشون خلاص شد!

آفلاین IMAN4K

  • Newbie
  • *
  • ارسال: 3
  • جنسیت : پسر
پاسخ : تغییر در کرنل و بهینه سازی
« پاسخ #5 : 19 اسفند 1393، 05:21 ب‌ظ »
متاسفانه شما نمی تونید به این سادگی وابستگی ATM ها به ویندوز رو از بین ببرید چون همه ATM ها از استانداردی به اسم XFS پیروی می کنن که بر پایه WOSA بنا شده که خودش یک تکنولوژی مایکروسافتی هست.از طرفی هر ATM متشکل از بیش از 10 دیوایس مختلفه که راهنمای XFS هر کدوم از اونها نزدیک به 200 صفحه است که شامل معرفی توابعی در زبان C هست که کارهای مختلفی بر روی اون دیوایس انجام میدن.نوشتن برنامه ای در ویندوز که از این توابع استفاده کنن و یک ATM کاربردی در اختیار بزارن با یک تیم 4، 5 نفره حداقل حدود 1 سال زمان می بره.از طرف دیگه بیش از 10 شرکت تولید کننده ATM داریم که از چیپهای مختلفی برای تولید استفاده کردن.با این اوصاف در مجموع از نظر من مهندسی معکوس درایورها و پیاده سازی مجدد استاندارد XFS چندین سال زمان نیاز خواهد داشت!تازه بعد از این همه مشقت ممکنه شرکتها قبول نکنن ازش استفاده کنن.یادمه یه جا خوندم یک نفر از یکی از تولید کننده ها پرسیده بود که چرا از لینوکس روی ATM استفاده نمی کنین طرف جواب داده بود برای این که هزینه خرید یک نسخه ویندوز در مقابل هزینه خود دستگاه اینقدر کمه که برای ما خیلی فرقی نمی کنه از کدوم سیستم عامل استفاده کنیم.عین این می مونه که برید به یک بچه مایه دار بگید بیا از لینوکس استفاده کن چون رایگانه که احتمالا اونم جواب میده من راحت می تونم پول یه مک و آیفون رو بدم پس واسه من فرقی نمی کنه!
به هر حال خیلی افتضاحات مثل این استاندارد،در طی زمان بالا اومده به دلیل بنا شدن سایر موارد روی اونها به این راحتی نمیشه از دستشون خلاص شد!
بله درسته.بنده هم انتظار کار راحت رو نداشتم و به پیچیدگی قضیه آگاه بودم(البته تنها هم نیستم).اما میخوام حتی به عنوان یک پروژه هم که شده روی این مسئله کار کنم چون به این مسئله ایمان دارم که معماری لینوکس روی دستگاه های atm بسیار پایدار تر،امن تر و البته سریعتر هست حالا اینکه تا الان این اتفاق نیفتاده معلوم نیست داستان چی هست.
البته این رو هم اشاره کنم که شرکت های تولید کننده مثل ibm,fleet boston ,fujitsu و غیره برای دریافت پشتیبانی و بسته های بروز رسانی از طرف مایکروسافت قرار داده های سالیانه میلیون دلاری میبندن پس از لحاظ اقتصادی برای این شرکت ها میتونه خیلی مهم باشه(اگر 1 درصد فرض کنیم قابل پیاده سازی باشه)
در هر حال ممنون که منطقی قضیه رو برای من بازتر کردید

آفلاین Риал Краесис

  • High Hero Member
  • *
  • ارسال: 1178
  • جنسیت : پسر
  • !!! I FIGHT FOR THE USERS
پاسخ : تغییر در کرنل و بهینه سازی
« پاسخ #6 : 19 اسفند 1393، 11:56 ب‌ظ »
سلام دوستان
دقیق نمیدونم که این سوال من در بحث این تاپیک میگنجه یا نه اگه نمیگنجه بگید تا جای مربوطه مطرح کنم.
من میخوام کرنل رو برای پردازنده سیستم خودم به صورت خاص بهینه سازی کنم(Intel Core i7-2630QM) به این ادرس http://wiki.osdev.org/Main_Page رفتم و هنوز ایده نگرفتم چیکار باید بکنم و علت سوالم اینه که یکی از دوستان قبلا گفته که ارچ(من ارچ نصب دارم) این توان رو داره که به طور مشخص برای سخت افزار خاصی بهینه بشه تا بهترین کارایی رو داشته باشه.
ممنون که با صبر و حوصله به من پاسخ میدهید.


If you do not like Arch use Gentoo and just shut up
 and If you do not like Gentoo use Arch and shut up
finaly If you do not like either use Ubuntu and shut the f*** up

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19703
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : تغییر در کرنل و بهینه سازی
« پاسخ #7 : 20 اسفند 1393، 04:03 ق‌ظ »
سلام دوستان
دقیق نمیدونم که این سوال من در بحث این تاپیک میگنجه یا نه اگه نمیگنجه بگید تا جای مربوطه مطرح کنم.
من میخوام کرنل رو برای پردازنده سیستم خودم به صورت خاص بهینه سازی کنم(Intel Core i7-2630QM) به این ادرس http://wiki.osdev.org/Main_Page رفتم و هنوز ایده نگرفتم چیکار باید بکنم و علت سوالم اینه که یکی از دوستان قبلا گفته که ارچ(من ارچ نصب دارم) این توان رو داره که به طور مشخص برای سخت افزار خاصی بهینه بشه تا بهترین کارایی رو داشته باشه.
ممنون که با صبر و حوصله به من پاسخ میدهید.
سوال شما مربوط به این موضوع نمی‌شه و باید جای دیگه مطرحش کنی. ولی حالا که دست به صفحه‌کلید شدم فقط بگم که لینوکس رو از سورس نصب کنی (مثلاً با yaourt) حله
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین محسن پریژه

  • Newbie
  • *
  • ارسال: 2
  • جنسیت : پسر
  • دانشجو برق-مخابرات
    • B )
پاسخ : تغییر در کرنل و بهینه سازی
« پاسخ #8 : 20 اسفند 1393، 02:05 ب‌ظ »
متاسفانه شما نمی تونید به این سادگی وابستگی ATM ها به ویندوز رو از بین ببرید چون همه ATM ها از استانداردی به اسم XFS پیروی می کنن که بر پایه WOSA بنا شده که خودش یک تکنولوژی مایکروسافتی هست.از طرفی هر ATM متشکل از بیش از 10 دیوایس مختلفه که راهنمای XFS هر کدوم از اونها نزدیک به 200 صفحه است که شامل معرفی توابعی در زبان C هست که کارهای مختلفی بر روی اون دیوایس انجام میدن.نوشتن برنامه ای در ویندوز که از این توابع استفاده کنن و یک ATM کاربردی در اختیار بزارن با یک تیم 4، 5 نفره حداقل حدود 1 سال زمان می بره.از طرف دیگه بیش از 10 شرکت تولید کننده ATM داریم که از چیپهای مختلفی برای تولید استفاده کردن.با این اوصاف در مجموع از نظر من مهندسی معکوس درایورها و پیاده سازی مجدد استاندارد XFS چندین سال زمان نیاز خواهد داشت!تازه بعد از این همه مشقت ممکنه شرکتها قبول نکنن ازش استفاده کنن.یادمه یه جا خوندم یک نفر از یکی از تولید کننده ها پرسیده بود که چرا از لینوکس روی ATM استفاده نمی کنین طرف جواب داده بود برای این که هزینه خرید یک نسخه ویندوز در مقابل هزینه خود دستگاه اینقدر کمه که برای ما خیلی فرقی نمی کنه از کدوم سیستم عامل استفاده کنیم.عین این می مونه که برید به یک بچه مایه دار بگید بیا از لینوکس استفاده کن چون رایگانه که احتمالا اونم جواب میده من راحت می تونم پول یه مک و آیفون رو بدم پس واسه من فرقی نمی کنه!
به هر حال خیلی افتضاحات مثل این استاندارد،در طی زمان بالا اومده به دلیل بنا شدن سایر موارد روی اونها به این راحتی نمیشه از دستشون خلاص شد!
بله درسته.بنده هم انتظار کار راحت رو نداشتم و به پیچیدگی قضیه آگاه بودم(البته تنها هم نیستم).اما میخوام حتی به عنوان یک پروژه هم که شده روی این مسئله کار کنم چون به این مسئله ایمان دارم که معماری لینوکس روی دستگاه های atm بسیار پایدار تر،امن تر و البته سریعتر هست حالا اینکه تا الان این اتفاق نیفتاده معلوم نیست داستان چی هست.
البته این رو هم اشاره کنم که شرکت های تولید کننده مثل ibm,fleet boston ,fujitsu و غیره برای دریافت پشتیبانی و بسته های بروز رسانی از طرف مایکروسافت قرار داده های سالیانه میلیون دلاری میبندن پس از لحاظ اقتصادی برای این شرکت ها میتونه خیلی مهم باشه(اگر 1 درصد فرض کنیم قابل پیاده سازی باشه)
در هر حال ممنون که منطقی قضیه رو برای من بازتر کردید

فکر نکنم به این سختی هم باشه چون خیلی از کارها انجام شده و لازم نیست که از صفر شروع کرد. یک‌ATM بلاخره یک سخت افزاری هست که می‌توانسته سیستم عاملی را اجرا کنه و به دستوراتش گوش کنه. تا جایی که می‌دانم احتمالا یک سیستم پنوماتیکی برای چرخش پول و ... مورد استفاده قرار گرفته و باقی همون تجهیزات الکترونیکی و مخابراتی معمول هستند. احتمالا کدهای راه‌انداز خوبی هم می‌توان پیدا کرد.

اگر تجهیرات زیر دستتون باشته فقط باید سیستم عامل جدید رو روش نصب کرد و یه جوری درایوها و استاندارها رو با هم هماهنگ کرد. بلاخره کدها یکی هست ولی ممکنه باینری متفاوتی داشته باشند.

فقط کافیه شروع کنید. البته هزینه و زمان زیادی هم ممکنه از شما بگیره اما نشد نیست.
« آخرین ویرایش: 20 اسفند 1393، 02:18 ب‌ظ توسط محسن پریژه »
کفن جیب ندارد!

آفلاین ngc0der

  • Full Member
  • *
  • ارسال: 106
پاسخ : تغییر در کرنل و بهینه سازی
« پاسخ #9 : 21 اسفند 1393، 12:13 ق‌ظ »
خب کسی نگفت این کار نشدنیه ولی زمان زیادی نیاز داره. من خودم چند تا پروژه روی ATM انجام دادم و باید بگم حتی روی خود ویندوز هم مشکلات زیادی برای برنامه نویسی در این زمینه وجود داره به خصوص وقتی بخواید برای چند برند مختلف از یک برنامه یکسان استفاده کنید چون شرکتها خیلی وقتها استاندارد رو هم درست پیاده سازی نکردن!همین امروز یکی از همکارا با یک ATM قدیمی درگیر بود و نمی تونست مشکل عدم راه اندازی یکی از دیوایسها رو پیدا کنه!البته منم چون دیدم داخل ATM قابل مشاهده است از فرصت استفاده کردم و نگاه دقیق تری بهش انداختم.خبر خوب اینه که کامپیوتر ATM یک PC صنعتی هست که تعداد زیادی پورت سریال و usb داره که اکثر دیوایسها مثل کارت خوان از این طریق بهش وصل شدن.خب حالا خوبیش چیه؟خوبیش اینه که با دونستن ورژن استاندارد استفاده شده میشه از یک سری sniffer مثل Portmon روی پورتها استفاده کرد و با صدا زدن توابع موجود در استاندارد بررسی کرد چه پیامهایی بین کامپیوتر و دیوایس رد و بدل میشه و اونا رو در یک کتابخونه در لینوکس پیاده کرد.احتمالا حتی نیاز به نوشتن ماژولهای کرنل هم نباشه و با استفاده از کتابخونه هایی مثل libusb, libserial بشه کار رو راحت تر انجام داد.
با فرض اینکه این پیاده سازی هم انجام بشه مرحله بعد پورت کردن برنامه ها از ویندوز به لینوکسه که خودش کار زمانبر و هزینه بریه و از طرفی ریسکش هم زیاده چون مثلا اگه پیاده سازی کتابخونه ها درست نباشه ممکنه مثلا برنامه درخواست 10000 تومن رو بفرسته و دستگاه 1 میلیون تومن پرداخت کنه!
من بیشتر امیدوارم خود شرکتها به این نتیجه برسن که پایه ریزی استاندارد بر پایه ویندوز خیلی درست نبوده و استاندارد سازگار و غیر وابسته به پلتفرمی رو توسعه بدن یه چیزی شبیه Qt که توابع یکسانی روی سیستم عاملهای مختلف ارائه میده.