نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی

برنامه های بومی اولین قدم ها

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

- این یک برنامه از پیش است (کد تعبیه شده در مادربرد کامپیوتر). قبل از بوت شدن سیستم عامل اجرا می شود، عملکرد رایانه را بررسی می کند و سخت افزار (درایورها) را اشکال زدایی می کند. UEFI بر خلاف BIOS معمولی است رابط کاربری گرافیکی، به طور انعطاف پذیر برنامه ریزی شده است و واقعاً به شما امکان می دهد سیستم عامل را سریعتر راه اندازی کنید.

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

مزایای UEFI

    • شتاب بارگذاری سیستم عامل؛
    • پشتیبانی از زبان روسی؛
    • بدون مشکل در استفاده دیسکهای سختحجم زیاد (2 ترابایت و بالاتر)؛
    • پشتیبانی از سیستم عامل های چند راه اندازی، سازماندهی مناسب آنها؛
    • نظارت بصری از وضعیت قطعات رایانه شخصی؛
    • رابط بصری راحت و انسان پسند؛
    • میکروکد برنامه از BIOS محافظت بیشتری در برابر ویروس ها دارد.
    • مانند سیستم عامل های تمام عیار، نرم افزار و ذخیره سازی شبکه خود را دارد.

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

در حال حاضر UEFI به عنوان ظاهر می شود قسمت مجزابایوس استاندارد، اما رایانه‌های دارای مادربرد در حال حاضر تولید می‌شوند که خلاف آن صادق است - BIOS یک ماژول اضافی برای UEFI در نظر گرفته می‌شود.

  • قابلیت پشتیبانی از نشانه گذاری GPT

پارتیشن بندی GPT به طور خاص ایجاد شد تا کار با دیسک های 2 ترابایتی یا بزرگتر را کمتر مشکل کند. علاوه بر این، هنگام راه اندازی سیستم عامل برای اولین بار، می توانید دیسک را به هر تعداد پارتیشن تقسیم کنید، که قبلا غیرممکن بود. روش قبلینشانه گذاری - MBR با uefi سازگار نیست و کار با آن فقط در صورت داشتن امکان پذیر است گسترش اضافی CSM (ماژول پشتیبانی سازگاری).

  • معماری مدولار؛

ماژول پوسته (در همه لپ تاپ ها موجود نیست) به کاربر اجازه می دهد تا برنامه ها را مستقیماً در حالت UEFI مدیریت کند. همانطور که گفته شد، UEFI در نوع خود مانند یک سیستم عامل است، حتی با پشتیبانی درایورهای شبکه. مشخصات برنامه "اجازه می دهد" از درایورهای UEFI با استفاده از سیستم عامل استفاده کنید، به عنوان مثال، اگر سیستم عامل اصلی درایور شبکه ندارد یا کار نمی کند.

  • مدیر بوت داخلی؛

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

Secure Boot این گزینه را برای آن لغو نمی کند کاربران ویندوز 8. در همه دستگاه ها غیرفعال کردن این حالت امکان پذیر است، به جز تبلت های روی ARM که Win 8 به عنوان سیستم عامل استاندارد نصب شده است. حالت محافظت شده از استفاده از کد بدون امضا حتی زمانی که سیستم عامل در حال اجرا است جلوگیری می کند، بنابراین تروجان های مخرب به ویندوز و لینوکس نفوذ نمی کنند. با این حال، اگر یک مهاجم به رایانه شخصی دسترسی فیزیکی داشته باشد، تقریباً همیشه می تواند آن را جایگزین کند کلیدهای مجوزبه تنهایی

استفاده از UEFI برای بوت کردن سیستم عامل از درایو USB

دستور اجرا:

  • به بایوس بروید و در آیتم Secure Boot گزینه Disable را انتخاب کنید.

  • در آیتم OS Mode Selection، Uefi و Legacy boot (اجازه راه‌اندازی) را انتخاب کنید.

  • پس از این، می توانید بایوس را مجددا راه اندازی کنید - بوت شدن از USB فعال می شود.

اساساً با نصب از طریق UEFI متفاوت است. اولین قدم ایجاد یک درایو فلش USB قابل بوت است. یکی از مناسب ترین برنامه ها برای چنین اهدافی، ابزار Rufus 1.4.6 است. رایگان است، نیازی به نصب ندارد و بنابراین فضای زیادی را در هارد دیسک شما اشغال نمی کند رسانه قابل جابجایی. آنچه مهم است این است که برای نشانه گذاری GPT مناسب است هارد دیسکو می تواند با مشخصات UEFI کار کند. به روز رسانی ابزار مناسب را می توان از وب سایت رسمی توسعه دهندگان دانلود کرد.

ما ابزار را راه اندازی می کنیم و نام درایو فلش در نظر گرفته شده برای نصب را نشان می دهیم (ابتدا باید حذف کنید فایل های مهم، پاک کردن حافظه). در نقطه " سیستم فایل"(سیستم فایل) FAT 32 و سپس GPT (GUID Partition Table) را به عنوان طرح پارتیشن انتخاب کنید، رابط سیستم– UEFI کادر کنار “Create a bootable disk using:” را علامت بزنید، ISO Image را در کنار آن انتخاب کنید و مسیر کامل تصویر ISO سیستم عامل ویندوز را مشخص کنید.

پس از وارد کردن تمام پارامترهای توصیف شده، می توانید روی "شروع" کلیک کنید و برنامه به طور مستقل درایو فلش را برای بارگیری سیستم عامل آماده می کند. زمان صرف شده برای این فرآیند به سرعت کامپیوتر شما و تولید USB بستگی دارد.

اگر کار ابزارهای روفوسشما راضی نیستید یا مشکلی دارید بوت UEFI، کاملا قابل استفاده است برنامه مشابهکه WinSetupFromUSB نام دارد.

دانلود همچنین در وب سایت سازنده موجود است و نام آن (ترجمه شده به عنوان "Boot Windows from USB") برای خود صحبت می کند. درایو فلش USB قابل بوتکاملاً مشابه ایجاد می شود، زیرا برنامه ها تقریباً رابط یکسانی دارند.

بوت کردن UEFI و آماده شدن برای نصب

راه اندازی UEFI نیز به همین ترتیب انجام می شود. رایانه خود را مجدداً راه اندازی کنید و هنگامی که شروع به بوت شدن کرد، بسته به آنچه نصب کرده اید، F2 (یا Delete) را فشار دهید. مادربرد، فقط به صورت آزمایشی قابل تأیید است). منوی کنترل باز خواهد شد.

دکمه F7 را فشار داده و زیربخش "Advanced" را انتخاب کنید. در تب "بوت" یا "راه اندازی" (دانلود) باید عملکرد " را انتخاب کنید پشتیبانی از USB" و مورد "Initialization کامل" را در آنجا تنظیم کنید.

در برگه "Secure Boot"، علامت " ویندوز uefiحالت" ( حالت ویندوز UEFI).

در برگه "دانلود"، "Compatibility Support Module" را انتخاب کرده و آن را به عنوان "فعال" علامت گذاری کنید. کلیک کردن روی پیوندهای اضافی و یافتن خط "تنظیمات" ضرری ندارد دستگاه های بوت"، جایی که "فقط uefi" (فقط uefi) را انتخاب کنید.

این اقدام احتیاطی در برابر استفاده تصادفی از رسانه هایی که مشخصات شما را پشتیبانی نمی کنند محافظت می کند. در ورودی «بوت شدن از رسانه (یا دستگاه‌های ذخیره‌سازی)» باید «هر دو، اول uefi» (هر دو، اما اول uefi) را علامت بزنید.

حالا به منوی اصلی برگردید و اولویت دستگاه بوت را بررسی کنید. ابتدا فلش درایو را انتخاب کنید، سپس HDD. صرفه جویی پارامترهای مشخص شدهبا فشار دادن دکمه F10، سپس Enter و صبر کنید تا کامپیوتر بوت شود.

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

عیب یابی خطای رخ داده در ویندوز 8.1

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

در اکثر کامپیوترها، با رفتن به منوی uefi و روشن کردن حالت "Secure boot" در BIOS، مشکل را می توان حل کرد.

در مواردی که مال شما نقطه روشن/خاموش ندارد بوت امن، باید از صفحه وب رسمی دانلود شود به روز رسانی مایکروسافتبرای نسخه 8.1 در آنجا با شماره KV 2902864 قرار دارد و مانند 32 عمل می کند سیستم های بیتیو برای 64 بیتی.

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

نحوه غیرفعال کردن UEFI

اگر ویندوز 7-8-10 ندارید، اما XP یا اوبونتو ندارید، حالت UEFIممکن است هنگام راه اندازی سیستم عامل از دیسک یا فلش کارت مشکل ایجاد کند. بهترین راه حلاین حالت را غیرفعال می کند.

الگوریتم غیرفعال کردن UEFI:

  • به بایوس کامپیوتر بروید. اگر قصد دارید UEFI را در ویندوز 8 یا 8.1 غیرفعال کنید، می توانید در منوی Start بر روی Restart کلیک کنید و انتخاب کنید. گزینه های اضافی"تنظیمات نرم افزار UEFI". این بیشترین است گزینه مناسب- لپ تاپ در تنظیمات لازم شروع به کار می کند.

اگر نسخه سیستم عامل مناسب نیست، همانطور که در بالا پیشنهاد شد، با استفاده از F2 یا Delete وارد BIOS شوید. ممکن است گزینه های کلیدی دیگری نیز وجود داشته باشد، اغلب دکمه مورد نظردر زیر نشان داده شده است صفحه اصلیوقتی کامپیوتر را روشن می کنید

  • تب Boot و سپس Secure Boot را باز کنید و زیرمجموعه OS Type را پیدا کنید. در آنجا باید "سیستم عامل دیگر" (سیستم عامل دیگر) را مشخص کنید و با فشار دادن کلید F10 تنظیمات را ذخیره کنید. گاهی اوقات ممکن است نیاز داشته باشید خاموش شدن اضافیپارامتر شروع ایمن(موقعیت "غیرفعال").

دستورالعمل های شرح داده شده برای لپ تاپ های مارک ASUS در نظر گرفته شده است، اما برای مارک های دیگر الگوریتم یکسان است، تفاوت این است که هنگام راه اندازی کامپیوتر چه کلیدی باید فشار داده شود.

این گزینه برای هشتم و دهم مناسب است نسخه های ویندوز. دکمه های Windows + R را فشار دهید و در پنجره ایجاد شده، دستور "msinfo32" (بدون نقل قول) را وارد کنید. دکمه Enter را فشار دهید.

در پنجره‌ای که ظاهر می‌شود، بخش «اطلاعات سیستم» را در سمت چپ انتخاب کنید و خط «وضعیت راه‌اندازی امن» را در سمت راست پیدا کنید. ستون Value نشان می دهد که آیا ویژگی مورد نظر فعال یا غیرفعال است.

اطلاعات تکمیلی

  • این ابزار که به نسخه دوم به روز شده است، از پلتفرم های 32 بیتی پشتیبانی می کند، اگرچه برای 64 بیتی ایجاد شده است.
  • عملکرد شبیه جداول مقادیر حالت است اجزای کامپیوتر، خدمات بوت و به اصطلاح زمان اجرا - مجموعه ای از ابزارها برای کار با سیستم عامل.
  • پسوندهای EFI نیز از منابع غیر فرار - از درایو فلش یا HDD قابل جابجایی نصب می شوند.
  • برای "ماشین آلات" با ویندوز از پیش نصب شده 8، ممکن است در انتقال به لینوکس مشکلاتی وجود داشته باشد - توزیع آنها باید دارای کلیدهای رمزنگاری امضا شده (تأیید شده) از سازنده باشد.

آیا تا به حال به این فکر کرده اید که وقتی سیستم عامل لوگوی خود را می کشد و می گوید "Starting Windows" چه اتفاقی می افتد؟ و کلا چرا لود شدنش اینقدر طول میکشه؟ بالاخره وقتی سیستم راه اندازی می شود، هیچ مشکلی که از نظر محاسباتی پیچیده باشد حل نمی شود!

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

برای سرگرمی، بیایید بفهمیم که کدام ماژول ها، در چه مقدار و به چه ترتیبی هنگام شروع سیستم عامل بارگذاری می شوند. برای پیدا کردن، می توانید، برای مثال، گزارش بوت سیستم را دریافت کنید. سیستم عامل آزمایشی در مورد من Windows 7 Enterprise x64 است. ما فرآیند بوت را با استفاده از دیباگر هسته ثبت می کنیم. چندین گزینه برای دیباگرهای هسته وجود دارد، من شخصا WinDbg را ترجیح می دهم. ما همچنین به ابزارهایی نیاز داریم تا به طور جادویی سیاهه را به چیزی دلپذیرتر تبدیل کنیم.

معدن و صنایع دستی

راه‌اندازی اشکال‌زدایی برای Google آسان است، بنابراین من این فرآیند را با جزئیات شرح نمی‌دهم. از آنجایی که ما به همه چیزهایی که از لحظه شروع به کار سیستم اتفاق می افتد علاقه مندیم، باید مورد "Cycle Initial Break" را بررسی کنیم که به کمک آن به محض بارگیری زیرسیستم اشکال زدایی هسته در سیستم در حال اشکال زدایی، دیباگر متوقف می شود. . کپی کردن خروجی در یک فایل را می توان با استفاده از دستورات ".logopen" و ".logclose" انجام داد، این کار ساده است. دیگر دستور مفید- ".cls". صفحه فرمان را پاک می کند و بله فقط صفحه فرمان را پاک می کند.

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

اگر مانای کافی دارید، دستور زیر را وارد کنید:
bu nt!MiCreateImageFileMap "dt nt!_EPROCESS -d ImageFileName @$proc; dt nt!_FILE_OBJECT -d FileName @rcx; g"
خط جادویی در لغت به معنای زیر است:

  • bu (تنظیم نقطه انفصال حل نشده) - یک نقطه شکست حل نشده تنظیم کنید. اینطور نیست که کسی یا چیزی اجازه نمی دهد، فقط برای نصب آن باید تصمیم بگیرید که در چه آدرسی قرار دهید. واقعیت این است که از قبل مشخص نیست که در چه آدرسی باید قرار گیرد. هنگام بارگذاری هر ماژول، وجود تابع مورد نیاز بررسی می شود و در صورت یافتن چنین تابعی، یک نقطه شکست به طور خودکار تنظیم می شود. این روش نصب زمانی ضروری است که ASLR فعال باشد - تصادفی سازی فضای آدرس، زیرا ماژول ها هر بار در آدرس های مختلف بارگیری می شوند و نقطه شکست در آن تنظیم می شود. آدرس ثابت، به احتمال زیاد بیکار خواهد شد.
  • nt!MiCreateImageFileMap نمادی است که باید روی آن توقف کرد. WinDbg ورودی به شکل "module_name!function_name" را می پذیرد. که در در این مورد nt یک نام مستعار از پیش تعریف شده برای ntoskrnl.exe است.
  • آنچه در زیر می آید بخشی از اسکریپت WinDbg است که هر بار که این تابع متوقف شود، اجرا می شود. "dt nt!_EPROCESS -d ImageFileName @$proc" در روسی به معنای "نمایش فیلد ImageFileName ساختار _EPROCESS از ماژول nt است، مشروط بر اینکه در آدرسی که در شبه ثبت "فرآیند فعلی" تعریف شده است نمایش داده شود." بعد از جداکننده ";" این دستور تقریباً به همین معنی است ، فقط آدرس ساختار از رجیستر rcx گرفته می شود ، که در آن اولین پارامتر تابع به Microsoft x64 ABI ارسال می شود. "g" به معنای "رفتن" است. ادامه اجرا

یک نکته سریع برای استفاده از نقاط شکست ورود به سیستم: سعی کنید از پسوندهای دیباگر (دستورهایی که با "!" شروع می شوند) استفاده نکنید، زیرا این کار باعث می شود مرتبه بزرگی ثبت کندتر شود.

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

نقشه ستاره


بیایید به طور آزمایشی چندین گروه بارگیری را انتخاب کنیم.

سیستم عامل در ماژول ntoskrnl.exe که هسته سیستم عامل است شروع به کار می کند. و حتی دقیق تر - از تابع KiSystemStartup(). به همراه قابل دانلود اجزای سیستماساس سیستم عامل را تشکیل می دهد: جداسازی حالت های عملیاتی، خدمات اساسیبرای برنامه های سفارشی و غیره این گروه همچنین شامل درایورهایی است که برای بارگذاری در هنگام راه اندازی سیستم علامت گذاری شده اند. به طور خلاصه، سیستم عامل ویندوز در این پوسته متولد شده است.

گره بعدی Session Manager است ( مدیر جلسه). او توسط اولین نفر بعد معرفی می شود فرآیند سیستم، شروع در ویندوز - smss.exe. این فرآیند به دلیل بومی بودن قابل توجه است. فرآیند ویندوز، یعنی از زیرسیستم Win32 که عموماً هنوز بارگذاری نشده است استفاده نمی کند. این فرآیند فقط از خدمات سیستم عامل بومی از طریق ntdll.dll استفاده می کند که رابط حالت کاربر برای سرویس های سیستم عامل است. این فرآیند همچنین جزء قابل اعتماد سیستم عامل است و دارای حقوق انحصاری است، به عنوان مثال می تواند توکن های امنیتی ایجاد کند. اما هدف اصلی آن ایجاد جلسات و مقداردهی اولیه زیرسیستم ها، گرافیکی و اجرایی مختلف (ویندوز، POSIX) است. این پوسته نیازهای همه را برآورده می کند.

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

گروه خدمات گسترده ترین بود. حجم زیادی از آن را مدیون است سرویس SuperFetch. این همان چیزی است که می گویند او در آخر هفته ها از قبل بارگیری می کند مجموعه اداری، و در ابتدای هفته کاری - بخار با اسباب بازی. Superfetch در حال بارگیری است مقدار زیادیماژول ها در هنگام راه اندازی سیستم، به طوری که بعداً "همه چیز سریعتر کار می کند." و علاوه بر آن، سیستم دارای برنامه های کاربردی سرویس و درایورهای راه اندازی خودکار کافی است. فکر می‌کنم همه سرویس‌ها و برنامه‌های کاربردی را دیده‌اند. این ستاره زندگی هر چیزی را که لازم است و نه چندان مورد نیاز را وارد سیستم می کند.

آخرین موردی که به آن اشاره خواهم کرد، explorer.exe مورد علاقه همه است. قابل توجه است که در زمان شروع، تمام ماژول هایی که استفاده می کند در حافظه بارگذاری می شوند. اسکرین شات همچنین شامل یک vcredist_x64.exe خاص بود - فرد بیچاره روی دسکتاپ ماشین مجازی آزمایشی دراز کشیده بود و توسط هادی در حافظه بارگذاری شد.

به طور کلی راه های زیادی برای بارگذاری یک ماژول در حافظه وجود دارد. برای مثال کافی است از منابع فایل اجرایی از جمله آیکون آن اطلاعاتی را درخواست کنید. به طور مشخص در در این مثالاکسپلورر بررسی کرد که آیا این برنامه به امتیازات بالاتری نیاز دارد، یعنی. آیا ارزش افزودن تصویر مربوطه با سپر زرد-آبی را به نماد دارد؟ اجازه دهید یک بار دیگر یادآوری کنم که بارگذاری یک ماژول در حافظه به معنای اجرای کد آن نیست!

من شخصاً تصویر حاصل را نزدیک نگه می دارم. به وضوح وابستگی ها، برای مثال، رانندگان را نشان می دهد. همچنین با ابزار Sysinternals Autoruns به شما این امکان را می دهد که ببینید ماژول های خاص در چه مرحله ای از بارگذاری بالا کشیده می شوند.

نمودار دانلود برای Windows 7 Enterprise x64 نصب شده بر روی آن ساخته شده است ماشین مجازی VMware. در زیر آمده است تصویر بردارینمودار و مستقیماً یک فایل با فرمت gml که می توانید با هر ویرایشگر گرافی با آن بازی کنید.

همه عناصر در یک صفحه وب هنگام بارگذاری اهمیت یکسانی ندارند. محتوایی که برای کاربر قابل مشاهده است بر محتوای پایین صفحه اولویت دارد.

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

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

بارگذاری تنبل در کروم

chrome://flags/#enable-lazy-image-loading
  • برای فعال کردن بارگیری تنبل تصاویر در کروم، پرچم را فعال کنید.
chrome://flags/#enable-lazy-frame-loading
  • برای فعال کردن بارگیری تنبل فریم ها در کروم، پرچم را فعال کنید.
  • مرورگر کروم خود را مجددا راه اندازی کنید.

در نتیجه، کروم تصاویر و فریم‌ها را با پیمایش کاربر در صفحه بارگیری می‌کند.

مزایای کاربران کروم چیست؟

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

بارگذاری تنبل عمدتاً برای اتصالات آهسته مفید است. روی کامپیوتر با اتصال با سرعت بالادرک تفاوت در اینترنت دشوار است. اگر استفاده می کنید کانال های ضعیفبا دسترسی (5 مگابیت در ثانیه) یا کمتر، مزایای بارگذاری تنبل را متوجه خواهید شد، به خصوص در صفحات با مقدار زیادتصاویر و قاب ها

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

هنوز مشخص نیست چگونه خصوصیت جدیددر سایت هایی که قبلاً از بارگذاری تنبل استفاده می کنند کار خواهد کرد. آیا ویژگی بومی Chrome غیرفعال می شود یا تداخل احتمالی وجود خواهد داشت؟

اشتباه تایپی پیدا کردید؟ Ctrl + Enter را فشار دهید

روزی فقدان دانش اولیه در مورد برنامه های موبایل، احتمالاً به فرم بد تبدیل می شود. در ضمن، بیایید در مورد نوع برنامه های کاربردی صحبت کنیم. با آمدن از دور، ما می توانیم تنها سه نوع را تشخیص دهیم: آنچه هست برنامه بومی، وب اپلیکیشن و ترکیبی.

آیا می دانید اپلیکیشن بومی چیست؟

برای کاربر، برنامه های بومی آنهایی هستند که نیاز به نصب دارند. به طور کلی، این درست است، همانطور که چنین برنامه هایی به طور خاص برای سیستم عامل های تلفن همراه (iOS، Android، ویندوز فون). بنابراین، توسعه دهنده ملزم به داشتن مهارت های برنامه نویسی در یک محیط توسعه خاص (xCode برای iOS، eclipse برای اندروید) است.

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

برنامه های وب با یک برنامه بومی متفاوت هستند

از یک وب سایت معمولی در گوشی هوشمند استفاده کنید بهترین سناریوناخوشایند است؛ در بدترین حالت، طرح‌بندی سایت از هم می‌پاشد و پس از آن کار با آن کاملاً غیرممکن است. برنامه های کاربردی وب با هدف استفاده از وب سایت از طریق تلفن ایجاد می شوند. بنابراین، در اصل، این همان سایتی است که برای دستگاه های تلفن همراه بهینه شده است. بر خلاف یک برنامه بومی، برنامه های وب نیازی به نصب ندارند - آنها در مرورگر تلفن شما اجرا می شوند. بنابراین، بسته به مدل گوشی (از پلت فرم موبایلبه طور دقیق تر) مطلقاً هیچ چیز بستگی ندارد. همچنین، صرف نظر از پلتفرم، برنامه های کاربردی وب نمی توانند با توابع تلفن بومی کار کنند.

اما پس یک برنامه بومی در مقایسه با یک وب سایت تلفن همراه چیست؟ مرز بین اپلیکیشن وب و سایت موبایل بسیار نازک است. و در این مورد، این فقط کاربران نیستند که گیج می شوند، بلکه در برخی موارد خود توسعه دهندگان نیز گیج می شوند. اما یک تفاوت وجود دارد. به طور معمول، سایت حاوی اطلاعات کم و بیش ثابت است و چیزی شبیه یک بروشور دیجیتال است. در یک برنامه وب، کاربر می تواند بخشی از این اطلاعات را مدیریت کند - ایجاد صفحات خود، تبادل لینک، متن و غیره

بنابراین، فراخوانی همه چیزهایی که معمولاً خدمات آنلاین نامیده می‌شوند، آسان‌تر است. یک برنامه وب را می توان چیزی نامید که زمانی در فلش و اکنون در HTML5 انجام می شد.

برنامه های ترکیبی

یک برنامه ترکیبی ترکیبی نامیده می شود زیرا برخی از عملکردهای یک برنامه بومی و یک برنامه وب را ترکیب می کند. این یک برنامه چند پلتفرمی است که می تواند با نرم افزار تلفن کار کند. این برنامه ها، درست مانند برنامه های بومی، از فروشگاه برنامه دانلود می شوند، اما داده ها به طور مستقل به روز می شوند. بنابراین، آنها همیشه به اتصال به اینترنت نیاز دارند - بدون آن، توابع وب کار نمی کنند.

چه چیزی را انتخاب کنیم؟ برنامه بومی، ترکیبی یا وب؟

توسعه یک برنامه ترکیبی ارزان تر و سریعتر از ایجاد یک برنامه بومی است. اما کاربران به هر حال تفاوت را متوجه نمی شوند. از همین رو فناوری های هیبریدیمحبوبترین. با وجود این همه پیچیدگی، تصمیم گیری در مورد انتخاب فناوری برای توسعه یک برنامه بسیار ساده است. اگر برنامه شما نمی تواند بدون توابع بومی کار کند دستگاه های تلفن همراه، اگر بسیار مهم است سرعت بالاپردازش داده ها (بازی ها، شبکه های اجتماعی، موقعیت جغرافیایی)، پس نمی توانید چیزی بهتر از یک برنامه بومی پیدا کنید. زمانی که بتوان سرعت را نادیده گرفت، یک برنامه ترکیبی مناسب است. یک برنامه وب باید زمانی ایجاد شود که کاربر به غیر از اطلاعاتی که در صورت داشتن اینترنت می توانست از گوشی خود به دست آورد، به هیچ چیز دیگری از شما نیاز نداشته باشد.

برنامه های بومی- اینها برنامه هایی هستند که برای اجرا در سیستم عامل ها طراحی شده اند سیستم های ویندوزخانواده‌های NT (NT/2000/XP/2003/Vista/7)، قادر به شروع در مراحل اولیه بوت شدن ویندوز، قبل از پنجره ورود به سیستم و حتی قبل از شروع هر زیرسیستم ویندوز. صفحه آبیهنگام بارگذاری ویندوز XP که مثلاً دیسک چک شده است و همان حالت وجود دارد. برنامه های کاربردی بومی فقط از Native API استفاده می کنند، آنها فقط می توانند از توابع صادر شده از کتابخانه ntdll.dll استفاده کنند. توابع WinAPI برای آنها در دسترس نیست.

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

مزایای استفاده از این حالت: بیشتر اجزای ویندوزهنوز راه اندازی نشده است، محدودیت های زیادی وجود ندارد. این حالت برای مثال در برنامه هایی استفاده می شود که می خواهند کاری با آن انجام دهند پارتیشن سیستمویندوز، اما نمی توانند در حالی که سیستم عامل در حال اجرا است: یکپارچه سازی، مبدل سیستم فایل، و ابزارهای مشابه.

توابع در ntdll.dllپیشوند دارند Zwو Nt، و همچنین برخی دیگر. مشاهده می شود که توابع Zw و Nt دارای نام های تکراری هستند. در واقع اینها همان عملکردها هستند. اگر به دنبال نمونه ای از استفاده از یک تابع به صورت آنلاین هستید، باید ابتدا با یک پیشوند و سپس با پیشوند دیگری جستجو کنید، در غیر این صورت ممکن است چیزی را از دست بدهید. اینکه چرا آنها پیشوندهای متفاوتی دارند داستان جداگانه ای است؛ برای برنامه نویسی برنامه های بومی نقش مهمی ندارد.

برنامه نویسی به نمونه های اولیه توابع Native API نیاز دارد، اما همه تعاریف در فایل های هدر WDK وجود ندارد. استفاده از فایل های هدر جایگزین، از جمله تعاریف توابع غیرمستند و انواع داده ضروری است. برای مثال می توانید استفاده کنید فایل های هدربومی کیت توسعه(NDK)، که در دسترس هستند.

برنامه نویسی با استفاده از یک Native API خالص ناخوشایند است. شما نمی توانید بدون کتابخانه ای که قبلاً برخی از اقدامات روتین را اجرا می کند، کار کنید. یک کتابخانه با متن باز- می توانید از آن استفاده کنید. یک کتابخانه NDL خاص نیز در صفحه NDK اعلام شد، اما در وب سایت نیست.

برای اینکه برنامه بومی از چه زمانی شروع شود راه اندازی ویندوز، باید آن را در دایرکتوری system32 قرار دهید و نام فایل و آرگومان های آن را، در صورت وجود، در کلید رجیستری HKLM\System\CurrentControlSet\Control\Session Manager\BootExecute بنویسید. کلید از نوع MULTI_SZ است و می تواند شامل چندین خط باشد. اولین خط آنجا Autocheck Autochk * است. بعد از آن می توانید برنامه خود را بنویسید. برنامه ای که با این کلید نوشته شده است تمایل دارد حتی در داخل اجرا شود حالت امنویندوز (حالت ایمن)، بنابراین باید مراقب باشید. یک خطا در برنامه - و سیستم شروع نمی شود. اما می‌توانید واقعیت راه‌اندازی در حالت امن را در داخل برنامه پیگیری کنید و این حالت را جداگانه پردازش کنید، به عنوان مثال، اگر برنامه تشخیص داد که در حالت ایمن اجرا می‌شود، آن را خاتمه دهید. علاوه بر این، اگرچه برنامه شروع می شود و می تواند برخی از اقدامات را انجام دهد، خروجی کنسول در این حالت کار نمی کند. تعامل با کاربر امکان پذیر نیست. این باید در نظر گرفته شود.

در صورت لزوم، برنامه بومی را می توان بدون راه اندازی مجدد رایانه راه اندازی کرد. برای این کار از نرم افزار nrun.exe استفاده کنید. اما این باعث نمی شود که صفحه بارگیری ظاهر شود، و شما باید بفهمید که در صورت نیاز به تعامل، چگونه با برنامه خود تعامل کنید. در کد منبع nrun می‌توانید ببینید که چگونه راه‌اندازی فرآیندهای بومی با استفاده از توابع Native API غیرمستند پیاده‌سازی می‌شود.

برای برنامه های بومی، نقطه ورودی اصلی یا wmain نیست، اما NtProcess Startup. هدر PE فایل EXE دارای یک فیلد خاص است که نشان دهنده زیرسیستمی است که برنامه در آن اجرا می شود. برای برنامه های بومی، این فیلد روی یک مقدار خاص تنظیم شده است، به این معنی که EXE به زیرسیستم نیاز ندارد. U برنامه های معمولیمقدار مربوط به زیرسیستم ها تنظیم شده است " رابط کاربری گرافیکی ویندوز" یا "کنسول ویندوز". برنامه های بومی در داخل اجرا نمی شوند حالت عادی عملکرد ویندوز. هنگام تلاش برای دویدن برنامه ویندوزپیام "برنامه را نمی توان در حالت Win32 راه اندازی کرد" نمایش می دهد.

نمایش الفبای سیریلیک روی صفحه به طور پیش فرض در این حالت پشتیبانی نمی شود. راهی برای دور زدن این محدودیت وجود دارد، با این حال، این روش پیچیده است و در حال حاضر فقط روی ویندوز XP کار می کند.

آماده سازی یک پروژه کاربردی بومی

من یک الگوی پروژه برنامه Native ایجاد کردم - مجموعه ای از فایل ها که می توانند به عنوان پایه ای برای توسعه برنامه Native خود استفاده شوند. خرد حاوی یک فایل native.c حاوی نقطه ورود به برنامه است. فایل‌های باقی‌مانده، فایل‌های کتابخانه ZenWINX هستند که برای استفاده از تعاریف تابع از NDK به جای فایل تعریف خودشان، اصلاح شده‌اند. این به شما امکان می دهد هم از توابع خود کتابخانه و هم از توابع Native API که توسعه دهندگان ZenWINX فراموش کرده اند در فایل هدر خود قرار دهند استفاده کنید. در واقع NDK یک فهرست Native کاملتر است توابع APIاز فایل ارائه شده با ZenWINX. شما باید قطعه کار را با استفاده از ابزار ساخت WinDDK کامپایل کنید (من از WinDDK نسخه 1.1.6001.000 استفاده می کنم). شما باید فایل های سرصفحه NDK را با مشخص کردن مسیرهای دایرکتوری همراه با آنها اضافه کنید.

همچنین امکان توسعه و ساخت برنامه های Native به طور مستقیم در آن وجود دارد ویژوال استودیو، بدون استفاده از کامپایلر WDK. نحوه انجام این کار در مقاله نوشته شده است

بهترین مقالات در این زمینه