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

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

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


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

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

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

آفلاین dele

  • Newbie
  • *
  • ارسال: 3
  • جنسیت : پسر
سلام
سوالم مربوط به اوبونتو نیست و در مورد کرنل لینوکس هست.
چیزی که من دیدم، یک هسته سیستم عامل برای تمامی معماری های مختلف استفاده میشه. آیا هسته لینوکس برای هر معماری سخت افزاری تفاوت داره؟ (البته که تفاوت داره اما چه جوری؟)
مثلا من رفتم سایت اصلی که هسته رو دانلود کنم اما نسخه های متفاوت برای هر معماری رو ندیدم.
و اینکه آیا تمامی مفاهیم سیستم عامل (حافظه مجازی، مدیریت فرآیند، چند نخی و ...) برای همه معماری ها پیاده سازی میشه و یکسانه؟ برای مثال بعضی از معماری های ARM که ضعیف تر از x86 یا x64 هستند، دلیلی ندارند همه مفاهیم پیچیده سیستم عامل رو پشتیبانی کنند. راه حل هسته لینوکس چیه؟
من خودم فکر میکنم که یا خودمون باید هسته رو بنا به نیاز ویرایش کنیم، یا اینکه خود جامعه لینوکس این کار رو از قبل کرده (ولی من چیزی پیدا نکردم)
امیدوارم تونسته باشم منظورم رو برسونم.

آفلاین mohammad kazemi

  • Hero Member
  • *
  • ارسال: 896
  • جنسیت : پسر
  • ... :|
پاسخ : هسته لینوکس و معماری های سخت افزاری مختلف
« پاسخ #1 : 29 امرداد 1399، 12:13 ق‌ظ »
سلام!
موقع دانلود توزیع، اصولا مینویسه کدوم معماری رو پشتیبانی می‌کنه.
ولی اگه خودتون بخواید هسته رو کامپایل کنید، باید این رو اونجا مشخص کنید.
لیست بلند‌بالایی از هسته‌هایی که پشتیبانی می‌کنه اینجاست:
https://en.m.wikipedia.org/wiki/List_of_Linux-supported_computer_architectures

این ویدیوی کامپایل هسته از جادی رو هم ببین. اتفاقاً در این مورد داخلش توضیح داده بود:
https://www.aparat.com/v/p2vTx/

آفلاین هومان

  • High Hero Member
  • *
  • ارسال: 1527
  • جنسیت : پسر
  • آرچ + گنوم
پاسخ : هسته لینوکس و معماری های سخت افزاری مختلف
« پاسخ #2 : 29 امرداد 1399، 02:11 ق‌ظ »
تو خیلی لایه های کرنل تفاوتی نیستش. یه چیزای خاصی هستن که اونا تو خود سورس کرنل هستن موقع بیلد شدن فعال یا غیرفال میشن. میتونی تو شاخه ی arch توی سورس کرنل ببینیشون.
مثلا بعضی اینستراکشن ها عوض میشه یا بعضی عددای جادوئی.
وقتی بیلد میکنی هسته رو دیفالت بر اساس معماری سیستمت برای اون معماری خودت بیلد میکنه. ولی میتونی خودت انتخاب کنی معماری که میخوای رو و کراس کامپایل کنی.
مسائل مموری منیجمنت و اینا هم اکثرا برای معماری ها فرق ندارن مثلا فایل سیستم ها و ...

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4871
  • جنسیت : پسر
  • masoft قدیم
پاسخ : هسته لینوکس و معماری های سخت افزاری مختلف
« پاسخ #3 : 29 امرداد 1399، 04:53 ق‌ظ »
آیا هسته لینوکس برای هر معماری سخت افزاری تفاوت داره؟ (البته که تفاوت داره اما چه جوری؟)
قسمتی از کدها متفاوته و هنگام کامپایل، انتخاب می‌کنید برای کدوم معماری کامپایل می‌کنید.
برای مثال، این دو بخش متفاوت از کدها هستش: x86 و ARM

اینکه آیا تمامی مفاهیم سیستم عامل (حافظه مجازی، مدیریت فرآیند، چند نخی و ...) برای همه معماری ها پیاده سازی میشه و یکسانه؟
در لایه‌های پایین، مثلا وقتی بخواید یک ماژول بنویسید، خیر. در لایه‌های بالا، تقریبا بله.

بعضی از معماری های ARM که ضعیف تر از x86 یا x64 هستند، دلیلی ندارند همه مفاهیم پیچیده سیستم عامل رو پشتیبانی کنند. راه حل هسته لینوکس چیه؟
کرنل یک سیستم ماژولار هستش و لازم نیست (و گاهی امکان‌پذیر نیست) که تمام ماژول‌ها رو کامپایل و استفاده کنید.