{ . . . }
درخواست مشاوره | فناوری اطلاعات تریداتس ثبت نام در نمره الف

کاربران لينوکس در هر بار روشن کردن کامپيوتر شاهد چندين ده خط هستند که پشت سر هم روي صفحه نمايش ظاهر شده و رد مي شوند؛ بدون اين که بدانند اين خطوط چه مي گويند.

 

  • لینوکس چگونه بوت می شود

لینوکس چگونه بوت می شود

کاربران لينوکس در هر بار روشن کردن کامپيوتر شاهد چندين ده خط هستند که پشت سر هم روي صفحه نمايش ظاهر شده و رد مي شوند؛ بدون اين که بدانند اين خطوط چه مي گويند.

 

    هر روز بارها کامپيوترمان را روشن کرده و براي چند ثانيه تا چند دقيقه شاهد بوت شدن سيستم عامل روي آن هستيم، اما تاکنون از خودمان سؤال کرده ايم در پس اين بوت شدن چه اتفاقي مي افتد تا سيستم عامل آماده اجراي دستورات شود؟ فرآيند بوت( Bootstrapping)چيست و شامل چه مراحل و پروسه هايي است؟ تفاوت فرآيند بوت در سيستم عامل هاي مختلف چيست؟ چرا يک سيستم عامل در چند ثانيه و ديگري در چند دقيقه بوت مي شود؟ کاربران لينوکس در هر بار روشن کردن کامپيوتر شاهد چندين ده خط هستند که پشت سر هم روي صفحه نمايش ظاهر شده و رد مي شوند؛ بدون اين که بدانند اين خطوط چه مي گويند.در اين شماره مي خواهيم به سراغ فرآيند بوت لينوکس برويم و از چند و چون آن مطلع شويم!

مراحل بوت

     در لينوکس فرآيند بوت در چندين مرحله صورت مي گيرد يا دست کم مي توانيم فرآيند بوت را به چندين مرحله مجزا کنيم که درک و تصور بهتري از آن داشته باشيم.در تصوير 1 مراحل بوت لينوکس به صورت کلي ترسيم شده است .هنگامي که براي اولين بار کامپيوتر روشن يا ريستارت مي شود، يک سري کد اجرايي از روي حافظه ROM يا دستگاه هاي ذخيره سازي ديگر مانند حافظه فلش فراخواني و اجرا مي شود.اولين کاري که اين کدها انجام مي دهند، دستور دادن به CPU براي يافتن اولين دستگاه قابل بوت است.CPU با مراجعه به بايوس مادربورد، آدرس اولين دستگاه قابل بوت را فراخواني کرده و به آنجا اشاره مي کند.سپس محتويات اولين سکتور دستگاه قابل بوت يا MBR به حافظه منتقل مي شود.اندازه MBR کمتر از 512 بايت و وظيفه آن اجرا کردن برنامه مديريت بوت است. در مرحله بعد برنامه مديريت بوت به حافظه منتقل شده و شروع به اجرا شدن مي کند .در اين هنگام است که شما اولين صفحه بوت لينوکس را مشاهده خواهيد کرد.برنامه مديريت بوت به منتقل کردن فايل هاي بوت مربوط به هسته لينوکس و فايل هاي ريشه به درون حافظه اقدام مي کند.اين فايل ها در قالب يک فايل ايميج هستند که هنگام انتقال به حافظه گشوده شده و به طور کامل در حافظه مستقر مي شوند.از اين زمان به بعد مديريت بوت لينوکس برعهده برنامه مديريت بوت( GRUB يا LILO)است.اين برنامه سخت افزار سيستم، سخت افزارهاي متصل به سيستم، متصل کردن پارتيشن ها به سيستم و اجرا کردن ماژول هاي موردنياز هسته در حافظه را بررسي مي کند.مرحله آخر فرآيند بوت متعلق به اجراي برنامه سطح کاربري يا همان رابط هاي کاربري است.پيش از اين که به سراغ تشريح هريک از مراحل گفته شده برويم، به يک نکته اشاره کنم:همان طور که ديديد، سرعت بوت شدن سيستم عامل با اندازه حافظه سيستم و سرعت جا به جا کردن اطلاعات از روي ROM و هاردديسک به حافظه ارتباط مستقيمي دارد.

شروع به کار سيستم

     اين مرحله وابستگي شديدي به سخت افزاري دارد که لينوکس روي آن نصب شده است.در سيستم هاي پيشرفته براي شروع به کار سيستم شامل روشن شدن يا ريستارت سيستم و روشن شدن صفحه نمايش از نرم افزارهاي مخصوصي مانند U-Boot، RedBoot و Micromonitor استفاده مي کنند، اما غالباً سيستم ها اين مرحله را با روشن شدن صفحه نمايش شروع مي کنند.سپس شناسايي اوليه سخت افزار و اجرا شدن بايوس مادربورد شروع مي شود.در کامپيوترهاي شخصي بوت لينوکس از آدرس 0xFFFF0 بايوس شروع مي شود.اولين کار بايوس عمليات POST يا Power-on Self Test است که به شناسايي سخت افزار و بررسي آن مي پردازد.بايوس پس از عمليات POST به سراغ شناسايي سخت افزارهاي جديد و سخت افزارهاي قابل بوت مي رود.در اين هنگام بايوس سرويس هاي جديد در حافظه را راه اندازي مي کند. يکي از مهم ترين سرويس هايي که بايد در اين لحظه اجرا شود، سرويس شناسايي سيستم عاملي است که براي کاربر در اولويت دار قرار دارد.ممکن است دستگاه هاي مختلفي مانند CD/DVD-ROM، فلاپي ديسک، حافظه فلش و هاردديسک روي سيستم نصب شده باشند.بايوس با استفاده از تنظيمات CMOS روي مادربورد به ترتيب دستگاه هاي قابل بوت را براي يافتن برنامه مديريت بوت سيستم جست و جو مي کند.اگر برنامه مديريت بوت روي ساير دستگاه هاي قابل بوت وجود نداشته باشد، برنامه مديريت بوت لينوکس از روي MBR(Master Boot Record)در حافظه اجرا مي شود. MBR اولين سکتور روي اولين سيلندر و اولين هد هارد ديسک است که ظرفيت آن 512 بايت بيشتر نبوده و موجب اجراي برنامه مديريت بوت مي شود.در اين مرحله بايوس، کنترل بوت سيستم را به عهده برنامه مديريت بوت مي سپارد. اشاره:براي مشاهده محتويات MBR مي توانيد از دستورات dd و od به صورت زير استفاده کنيد. دستور dd مي تواند 512 بايت اول روي dev/hda/ را بخواند يا درون فايل mbr.bin بنويسد.دستور od نيز محتويات فايل mbr.bin را به فرمت کدهاي اسکي يا هگزادسيمال نمايش مي دهد.توجه کنيد، براي اجراي اين دستورات به مجوز ريشه نياز داريد:

چگونه لينوکس بوت مي شود؟

dd if=/dev/hda of=mbr.bin bs=512 # count=1 od -xa mbr.bin #

برنامه مديريت بوت

     برنامه مديريت بوت که از روي MBR به درون حافظه منتقل و اجرا مي شود، شامل جدول پارتيشن هاي سيستم و کدهاي اجرايي خود برنامه است.همان طور که در تصوير 2 مشاهده مي کنيد، 446 بايت اول MBR متعلق به برنامه مديريت بوت و پيغام هاي خطا است.جدول پارتيشن هاي سيستم نيز در يک فضاي 64 بيتي ذخيره مي شود.اين جدول شامل چهار رکورد پارتيشن شانزده بايتي است.دو بايت انتهايي MBR نيز يک شماره مانند 0xAA55 براي محافظت و اعتبار سنجي محتويات روي MBR است.هر پارتيشن نيز به فيلدهايي تقسيم شده و شامل آدرس پارتيشن، اندازه پارتيشن، وضعيت پارتيشن، فرمت و اطلاعات ضروري ديگر است.برنامه مديريت بوت در مرحله دوم، هسته لينوکس و فايل هاي مورد نياز را در حافظه اجرا مي کند.برنامه هاي مديريت بوت در لينوکس LILO(Linux Loader) و GRUB(GRand Unifield Bootloader) ناميده مي شوند.به اين دليل که LILO در مقايسه با GRUB داراي ضعف ها و کاستي هايي است، در اين بخش به بررسي GRUB مي پردازيم.مهم ترين تفاوت GRUB در مقايسه با LILO در استفاده از سيستم فايل لينوکس است. LILOبرنامه اي است که از روي رديف هايي از سکتورهاي هاردديسک اجرا مي شود و بيشتر مبتني بر اطلاعات ثابت ذخيره شده روي هاردديسک است، اما GRUB از سيستم فايل لينوکس( Ext3/Ext2)براي اجراي هسته سيستم عامل بهره مي برد.نمونه اي از فايل پيکربندي LILO را در تصوير 3 مشاهده مي کنيد. GRUB شامل سه مرحله است:مرحله اول بوت از روي سکتور MBR به درون حافظه است، مرحله دوم شامل کسب اطلاعاتي از وضعيت پارتيشن ها و فايل سيستم لينوکس براي اجراي هسته لينوکس است.اين مرحله شامل اجراي فايل هايي مانند reiserfs_stage 1_5 از روي ژورنالينگ فايل سيستم و e2fs_stage 1_5 از روي سيستم فايل هاي Ext2 و Ext3 است. عدد 1/5 در نام اين دو فايل به معناي مرحله 1/5 و ميان مرحله 1و 2 است. مرحله سوم نيز اجراي هسته لينوکس و نمايش فهرستي از هسته ها از روي فايل هاي etc/grub.conf/ و etc/grub/menu.lst/ است( تصوير4).در اين مرحله است که شما رابط GRUB را ديده و مي توانيد يکي از انواع سيستم عامل ها با هسته هاي مختلف و حتي سيستم عامل لينوکس را براي اجرا انتخاب کنيد.رابط GRUB گرافيکي است، اما مي توانيد به رابط خط فرمان اين برنامه نيز سوييچ کرده و دستورات خط فرمان مانند دستورات تعمير GRUB يا انتخاب يک هسته خاص را وارد و اجرا کنيد. اشاره:دايرکتوري boot/grub/ شامل اطلاعات و فايل هاي سه مرحله گفته شده در بالا است.شما مي توانيد به راحتي با ويرايش فايل ها در اين دايرکتوري کارهاي جالبي را انجام دهيد.براي نمونه اطلاعات مربوط به CD-ROM در فايل iso9660_stage_1_5 است.

 

هسته لينوکس

     هنگامي که تصوير هسته لينوکس درون حافظه قرار گرفته و اجرا مي شود، لينوکس شروع به کار کرده و مديريت بوت از دست GRUB خارج مي شود.البته استفاده از لفظ « اجراي هسته لينوکس»در اين مرحله کاملاً صحيح نيست، زيرا عملاً هسته اجرا نمي شود، بلکه از حالت فشرده خارج شده و چند سرويس محدود مانند سرويس هاي مرتبط با سخت افزار در حافظه اجرا مي شوند.ايميج هسته لينوکس اگر کمتر از 512 کيلوبايت باشد به آن zImage و اگر بيشتر از اين مقدار باشد، bzImage گفته مي شود.فايل هاي ايميج هسته با استفاده از ابزار zlib فشرده سازي و گشوده مي شوند.پس از قرارگيري کامل ايميج هسته درون حافظه، هسته لينوکس شروع به اجراي چند تابع مهم مي کند. تصوير 5 مهم ترين توابعي را که اجرا و فراخواني مي شوند به همراه نام فايل تابع نشان مي دهد.اولين تابع، start است که با اجراي فايل arch/i386/boot/compressed/head.S/ .فراخواني مي شود.اين تابع نيز کارهايي مانند اختصاص فضا به متغيرهاي پشته( Stack)و پاک کردن BSS(Block Started by Symbol)را انجام مي دهد. تابع سوم به نام decompress_kernel فايل arch/i386/boot/compressed/misc.c/ .اجرا مي شود که هسته لينوکس را به طور کامل درون حافظه بازگشايي مي کند. توابع ديگر مربوط به فراخواني هسته، شروع به کار هسته و ارتباط دهي هسته با پردازنده سيستم و آماده بودن پردازنده براي اجراي فرامين است که از تشريح آن ها خودداري مي کنيم.

چگونه لينوکس بوت مي شود؟

     هنگام بوت شدن هسته، پروسه initrd که در مرحله دوم اجراي برنامه مديريت بوت به درون حافظه انتقال يافته است، فعال مي شود.اين پروسه يک فايل سيستم ريشه موقت را درون حافظه به وجود مي آورد که امکان بوت هسته لينوکس را بدون نياز به هيچ دسترسي فيزيکي به هاردديسک و بالا بردن سرعت عمل بيشتر هسته فراهم مي کند.هنگامي که هسته لينوکس به طور کامل اجرا مي شود، اين پروسه اصطلاحاً unmount شده و سيستم فايل حقيقي به هسته متصل مي شود.در حقيقت پروسه initrd امکان ايجاد يک هسته لينوکس کوچک و فشرده شده را فراهم مي کند که به اين وسيله مي توان لينوکس را به راحتي اجرا يا روي سيستم هاي ديگر بدون وابستگي به هارد ديسک منتقل کرد. اشاره:براي اجراي يک هسته خاص لينوکس با استفاده از خط فرمان GRUB به صورت زير عمل کنيد.اگر نام نسخه هسته را نمي دانيد، علامت « /» را تايپ و کليد TAB را فشار دهيد. GRUB فهرستي از نسخه هاي هسته موجود و فايل هاي ايميج initrd را به شما نمايش خواهد داد:

grub>kernel/bzImage-2.6.14.2 [Linux-bzImage,setup=ox1400,size=0x29672e] grub>initrd/initrd-2.6.14.2.img [Linux-initrd @ ox5f13000,0xcc199 bytes] grub>boot Uncompressing Linux...Ok,booting the kernel.

سطوح اجرايي لينوکس

     پس از اجراي کامل هسته لينوکس، برنامه سطح کاربري يا همان محيط گرافيکي اجرا مي شود.اين برنامه اولين نرم افزاري است که به وسيله کامپايلر و توابع کتابخانه اي زبان سي اجرا مي شود.در محيط گرافيکي دسکتاپ اولين پروسه sbin/init/ است که اجرا مي شود.مهم ترين وظيفه پروسه init تعيين نوع اجراي لينوکس يا تعيين سطح اجرايي کاربري لينوکس ( RunLevel)است که شما آن را روي صفحه نمايش مي بينيد.به طور کلي، لينوکس مي تواند در هفت سطح اجرا شود.اين سطوح کارهاي زير را انجام مي دهند: سطح 0:خاموش شدن سيستم سطح 1:اجراي لينوکس در حالت تک کاربره سطح 2:اجراي لينوکس در حالت چند کاربره بدون دسترسي به شبکه سطح 3:اجراي لينوکس در حالت چند کاربره با دسترسي به شبکه سطح 4:غيرقابل استفاده سطح 5:اجراي لينوکس در حالت چند کاربره با شبکه و xdm سطح 6:ريستارت سيستم معمولاً لينوکس به صورت پيش فرض روي سطح اجرايي سه يا پنج تنظيم شده است، اما مي توان اين وضعيت را تغيير داد.براي تعيين نوع سطح اجرايي لينوکس مي توان به فايل پيکربندي etc/inittab/ مراجعه کرد. لينوکس يکي از پيشرفته ترين برنامه هاي بوت را دارد.در پروسه بوت، کارايي در کنار استفاده از کمترين منابع سخت افزاري و بالا بردن سرعت همراه با انعطاف پذيري منظور شده است.برنامه بوت لينوکس قابليت تشخيص و سازگاري با ديگر برنامه هاي بوت سيستم عامل ها را دارد، به طوري که مي تواند چندين سيستم عامل روي يک هارد ديسک را تشخيص و پيکربندي کند.در مورد برنامه بوت لينوکس و پروسه هاي آن هنوز گفتني هاي زيادي وجود دارد.ترفندهاي بسياري مي توان با GRUB و ديگر فايل هاي بوت انجام داد که خود چندين مقاله مفصل را طلب مي کند.اميدوارم که با خواندن اين مقاله از فرآيند بوت لينوکس و آن خط هايي که پشت سر هم روي صفحه نمايش ظاهر مي شوند، آگاهي پيدا کرده باشيد!

درباره مدیر سایت

3dots.ir
ادمین سایت

امام علی علیه السلام: با مردم آنگونه معاشرت كنيد، كه اگر مرديد بر شما اشك ريزند، و اگر زنده مانديد، با اشتياق سوي شما آيند.

مطالب مشابه

چگونگی استفاده از awk در اسکریپت نویسی bash

Awk ابزاری فوق العاده برای اسکریپت نویسی شل در یونیکس و لینوکس می باشد. AWK یک زبان برنامه نویسی است که برای دیتاهای متنی ، فایلها ، دیتا استریم ها و یا استفاده در piping ها  طراحی شده است  . به عبارت دیگر شما میتوانید awk را با شل اسکریپت ها ترکیب کرده و یا مستقیم در خط فرمان از آن استفاده نمایید.

در این مقاله نحوه استفاده از awk در شل اسکریپت bash را نشان می دهیم.

ادامه مطلب
دانلود Up and Running with Ubuntu Desktop Linux - آموزش اوبونتو

Linux (لینوکس) به دلیل قابلیت های فراوانی که دارد توانسته است در میان کاربران دسکتاپ نیز جایگاه خوبی پیدا کند.
اوبونتو (Ubuntu) یکی از کاربرپسندترین توزیع‌های گنو/لینوکس است و به دلیل دارا بودن ویژگی هایی مانند کاربرپسند بودن، سادگی، زیبایی، سرعت و عدم نیاز به سخت‌افزار پیچیده و ... در مدت نسبتاً کوتاه عمر خود، توانسته رشد خیره‌کننده‌ای در جذب کاربران عادی داشته باشد. در ایران نیز این سیستم‌عامل کاربران زیادی را جذب کرده و جامعهٔ مجازی نسبتاً خوبی در کنار آن شکل گرفته‌است. اوبونتو دارای پشتیبانی نسبتاً خوبی از تمام زبان‌های زنده دنیا از جمله زبان فارسی است. بر طبق آمار وب، این توزیع در بین دیگر توزیع‌های گنو/لینوکس ۵۰ تا ۷۰ درصد سهم بازار را بدست آورده‌است
در دوره آموزشی Up and Running with Ubuntu Desktop Linux شما با قابلیت های اساسی و کلیدی این سیستم عامل کاربردی قدرتمند آشنا می شوید.

ادامه مطلب
دوره آموزشی CompTIA Linux+ Training

مدرک کامپتیا لینوکس پلاس (CompTIA Linux+) یکی از مدارک معتبر و شناخته شده برای برای متخصصانی است که با پلتفرم های منبع باز (Open Source) کار می کنند و کسب این مدرک به منظور داشتن 6 تا 12 ماه تجربه کاری با پلتفرم لینوکس و مهارت هایی نظیر مدیریت Linux Systems با استفاده از Command Line، مدیریت کاربران، File System Permission، پیکربندی نرم افزارها و مدیریت Client ها در لینوکس می باشد. سازمان های Oracle و Novell مدرک Linux+ را بعنوان یکی از مدارک اصلی سازمان های خود می شناسند و کمپانی های Hitachi Electronics و Fujitsu Japan نیز داشتن این مدرک را جزو پیش نیازهای استخدام کارمندان خود قرار داده اند.
در دوره آموزشی شما با Trainsignal CompTIA Linux+ Training مباحث مطرح شده در آزمون کامپتیا لینوکس پلاس آشنا می شوید.

ادامه مطلب
چگونه با ما در تماس باشید ؟


تلفن ۰۵۱ ۳۸۹۴۱۲۹۵ -۰۵۱ ۳۸۹۴۱۲۹۶

تلگرام @3dots

فکس ۰۲۱ ۴۳۸۵۹۳۳۶۷

ایمیل آدرس-ایمیل-فناوری-اطلاعات-یکتا-توس-برسام

آدرس ایران ، خراسان رضوی ، مشهد
بلوار فرهنگ - بین فرهنگ 43 و 45 - پلاک 51

فناوری اطلاعات تریداتس

پیاده سازی سامانه های تحت موبایل ، پورتال های سازمانی و ایمن سازی سرور های لینوکس

شرکت فناوری اطلاعات یکتا توس برسام که با نام تجاری تریداتس شناخته می شود توسط گروهی از متخصصین و کارشناسان حوزه امنیت ، توسعه و پیاده سازی اپلیکشن در سال 1395 تاسیس گردید. توان بالای اجرای پروژه های در اختیار و همین طور در اختیار داشتن توان فنی بومی شده در حوزه ایمن سازی سرور های لینوکس و برنامه نویسی در حوزه های کاری شرکت توانسته رضایت مندی حداکثری مشتریان ما را در پی داشته باشد.

توانایی توسعه کسب کار در بستر هایی همچون نرم افزار های تحت وب ، سرور های سازمانی و مجموعه های بزرگ گواهی بر دانش فنی و تجربه بالای همکاران ما در این مجموعه می باشد.این مجموعه با هدف گسترش ، تامین امنیت و توسعه کسب و کار مشتریان خود همواره سعی نموده تعهدات خود را با بهترین کیفیت به مشتریان ارائه نماید.

تریداتس

فناوری اطلاعات تریداتس

طراحی وب سایت

طراحی سایت

اپلیکیشن موبایل

امنیت سرور

لینوکس

آموزش لینوکس

اندروید

پورتال سازمانی

ایمن سازی سرور

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

انتخاب سیستم عامل در امنیت سرور مجازی شما نقس مهمی دارد

سیستم های لینوکس به خوبی توانايي اجرايي بودن سالها بدون هيج توقف و شكست را دارند

لینوکس نیز ذاتا امن تر از ویندوز است

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

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

طراحی سایت * برنامه نویسی موبایل * آموزش لینوکس
logo-samandehi
عضو سازمان نظام صنفی کشور