محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

تفاوت zImage و bzImage در کامپایل لینوکس و اشتباهات کتابهای مرجع

زمانیکه شما می خواهید با استفاده از دستور make یک Kernel دلخواه برای لینوکس خودتان Compile و استفاده کنید پارامترهای مختلفی در دستور make وجود دارد که یکی از آنها make bzImage می باشد ، در واقع زمانیکه شما می خواهید یک Custom Kernel را Compile کنید بایستی Kernel جدید در هنگام Boot سیستم عامل بر روی RAM شما قرار بگیرد و اینکار توسط Kernel جدید Compile شده باید انجام شود ، در گذشته حجم Kernel ها به حدی پایین بود که در کمتر ار 512 کیلوبایت اولیه حافظه RAM شما قابل بارگزاری بودند.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

بر حسب علاقه جستجویی در خصوص تفاوت bzImage و zImage انجام دادم و به نکته جالبی پی بردم که حتی در بزرگترین مراجع آموزش لینوکس دنیا برای دوره LPIC مثل انتشارات O-Reilly و Que به اشتباه این مطلب درج شده بود ، در صفحه 317 کتاب O'Reilly - Lpi Linux Certification In A Nutshell و همچنین در صفحه 348 کتاب Que - ExamCram2 LPIC تفاوت این دو به این شکل مطرح شده بود که در نحوه فشرده سازی اینها تفاوت وجود دارد ، zImage با gzip و bzImage با bzip2 فشرده سازی شده اند که این کاملا اشتباه است .

تفاوت ایندو به هیچ عنوان در روش فشرده سازی آنها نیست بلکه هر دوی آنها توسط gzip فشرده سازی شده اند. تفاوت این دو ساختار در اندازه و قالب بندی Custom Kernel ای است که می خواهند در ابتدای حافظه RAM برای بوت کردن سیستم عامل قرار بدهند است. ساختار zImage بسیار قدیمی است و برای زمانی است که حجم Kernel ها بسیار کم بود و این امکان را می داد که یک Custom Kernel تنها بتواند در فضای 640 کیلوبایت ابتدایی حافظه RAM خودش را قرار بدهد .

با گذشت زمان و زیاد شدن ظرفیت Kernel ها طبیعتا استفاده از این روش منسوخ شده به حساب می آمد و bzImage به معنی Big zImage خودش را معرفی کرد و تنها تفاوتش این است که امکان Load کردن Custom Kernel هایی با ظرفیت بیشتر از 640 کیلوبایت را بر روی RAM شما می دهد. امیدوارم مورد توجه شما قرار گرفته باشد. ITPRO باشید


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات