انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: D3VIN در 02 فروردین 1396، 02:46 قظ
-
با عرض سلام و ادب و تبریک سال نو.
بنده مدت خیلی زیادی هست که دنبال راهی میگردم تا به نحوه ای بتونم توی توسعه کرنل لینوکس همکاری کنم و بتونم جزیی از این خانواده بزرگ بشم.
منتهی بحث اصلی این هست که اکثر سایت های یا افرادی که باهشون درتماس بودم سایت kernelnewbies رو معرفی کردن ولی خب چیزی که برای درگیر شدن با یه همچین موردی لازمه بیشتر از معرفی یه وبسایته که به صورت کلیشه ای همه جا معرفی میشه.
چیزی که من احتیاج دارم اینکه کسی که به هرنحوه هرچند کوچیک درتوسعه کرنل تجربه داره یک راه عملی نشونم بده که بتونم با استفاده از اون بفهمم به عنوان مثال من الان چقدر دانش لازم دارم برای توسعه کرنل، چقدر از معماریش باید بدونم یا حتی چه مفادی رو برای توسعه این هسته بخونم گرچه عملا اکثر کتاب ها و وبسایت هایی که من درگیرشون بودم تئوری هستند بیشتر تا اینکه بتونن جهتی برای کار من مشخص کنن که من بتونم متوجه بشم که چطور راهم رو دنبال کنم.
با توجه به این موارد از کسانی که به نحوه ای توی system programming و سطح های پایین تر حتی که همون شامل توسعه LKM ها یا بخش هایی از kernel میشه میخواستم که من رو راهنمایی کنند که چطور راهم رو پیدا کنم.
با تشکر پیشاپیش.
-
خب قدم اول زبان برنامهنویسی C هستش و این کتاب رو پیشنهاد میکنم: C: The Complete Reference
و بعد کمی شناخت پایه در مورد الگوریتمها: The introduction to algorithms
بعد شناخت سیستمعامل هست: Operating Systems Design and Implementation
سپس شناخت پایهای از روند کار گنو-لینوکس رو دارید: Linux from scratch
در آخر هم سایت: kernelnewbies.org
بقیهاش هم که مشخصه، میرید باگهایی که هنوز باز هستند رو بررسی میکنید و در صورتی که بتونید، تغییر لازم رو میدید و Pull Request یا Patch میفرستید.
برای مثال در این لینک: لینک (https://bugzilla.kernel.org/buglist.cgi?chfield=%5BBug%20creation%5D&chfieldfrom=7d)