Ако има една жалба, която почти всеки изглежда има за Windows, иска да се рестартира толкова често. Независимо дали става въпрос за актуализации на Windows или само когато инсталирате, деинсталирате или актуализирате софтуер, Windows често иска да рестартира.
Windows обикновено трябва да рестартира, защото не може да променя системните файлове, докато се използват. Тези файлове са заключени и могат да бъдат променяни само когато не се използват.
Windows не може да актуализира или премахне файлове, които са в употреба. Когато актуализацията на Windows изтегля нови актуализации, тя не може да ги приложи веднага към системните файлове на Windows. Тези файлове са в употреба и са блокирани срещу всякакви промени. За да инсталирате тези актуализации, Windows трябва да изключи по-голямата част от операционната система. След това Windows може да рестартира системата и да зареди актуализираните файлове, когато стартира.
Рестартирането може да е необходимо и при актуализиране или премахване на определени типове софтуер. Например, ако използвате някаква антивирусна програма или хардуерен драйвер, който се закачва дълбоко в системата, файловете му ще бъдат заредени в паметта и ще бъдат защитени срещу модификация. Когато актуализирате или премахвате файлове, които са в употреба, Windows може да се наложи да рестартирате компютъра и да промените файловете, преди системата да се стартира напълно.
Microsoft често пуска лепенки за Windows, като повечето от тях пристигат на "Patch Tuesday", втория вторник на всеки месец. Повечето от тези актуализации променят системните файлове, които не могат да бъдат актуализирани по време на работа на Windows, така че те изискват рестартиране. Не всяка Windows Update обаче изисква рестартиране. Например актуализациите за Microsoft Office не трябва да изискват рестартиране - тези файлове могат да бъдат разтоварени от паметта чрез рестартиране на Office.
Windows ви кара да рестартирате, защото актуализациите за сигурност не са инсталирани, докато не направите това. Microsoft въведе изскачащи прозорци, които ви повреждат, за да рестартирате компютъра си и дори да рестартирате компютъра автоматично в първите дни на Windows XP, когато червеи като Blaster, Sasser и Mydoom бягат диво. Microsoft искаше да гарантира, че всеки ще се рестартира бързо след получаване на актуализациите, за да не бъдат заразени. Актуализациите не биха помогнали, ако хората чакат дни или седмици преди рестартирането и са се заразили междувременно.
Софтуерните програми понякога искат да рестартират компютъра ви, когато ги инсталирате, деинсталирате или обновявате. Това може да се дължи на факта, че използват системни файлове и драйвери на ниско ниво, които не могат да бъдат актуализирани или премахнати в движение. Например, да речем, че деинсталирате антивирусната програма. Деинсталаторът вероятно няма да може веднага да премахне всички файлове, така че ще трябва да рестартирате. Програмата за деинсталиране ще насрочи изтриването на файлове и Windows ще изтрие автоматично файловете следващия път, когато компютърът се зарежда.
Някои програми също могат да искат да рестартирате, след като ги инсталирате. Например, когато инсталирате антивирус, може да искате да рестартирате незабавно, за да може да наблюдава процеса на стартиране. Някои хардуерни драйвери на ниско ниво може да изискват рестартиране, преди да могат да функционират. Разбира се, също така е възможно някои инсталатори на програми да ви помолят да рестартирате, когато това не е наистина необходимо.
Windows предлага API, който разработчиците на приложения могат да използват за преместване, преименуване или изтриване на файл, който се използва. Приложението иска от Windows да преименува или премества файл, когато компютърът отново се рестартира, а заявката се записва в стойността на системния регистър на стойността на HKLM \ System \ CurrentControlSet \ Control \ Session Manager \ PendingFileRenameOperations. Когато Windows се зарежда, проверява този ключ на системния регистър и изпълнява всички програми за работа с файлове, които са поискали.
Можете да видите списъка с изчакващи промени в файловете и да планирате свои собствени ходове и заличавания, като използвате помощните програми PendMoves и MoveFile SysInternals. Това ви позволява да изтривате и премествате файлове, които не можете да изтриете, тъй като те в момента се използват. Има и други помощни програми, които предлагат да се преместят или изтрият файлове при рестартиране и всички те работят, като напишат този ключ на системния регистър на Windows. Някои помощни програми също ви позволяват да отключите заключените файлове и да ги изтриете или преместите, но това ще доведе до проблеми, ако се опитате да отключите и промените файловете, от които зависи системата.
Ако някога сте използвали Linux или друга операционна система, вероятно сте забелязали, че Windows иска да рестартира по-често, отколкото е. Linux просто не ви подсказва да рестартирате като Windows, дори след инсталирането на системни актуализации. Това е вярно, но не е толкова просто.
В Windows файловете, които се използват, обикновено са заключени и не могат да бъдат променяни или изтривани. В Linux файловете по време на работа обикновено могат да бъдат променяни или изтривани. Това означава, че на Linux система тези библиотеки със системни библиотеки могат да се актуализират незабавно без рестартиране. Вероятно всички файлове, които са в употреба, могат да бъдат изтрити незабавно.
Ето улов: Промените няма да влязат в сила, докато не рестартирате. Например, ако инсталирате актуализация за системна библиотека, файловете на диска ще бъдат актуализирани незабавно, но всички текущи процеси, използващи тази библиотека, ще продължат да използват старата, несигурна версия. Ако актуализирате програма, новата версия на тази програма няма да бъде използвана, докато не затворите програмата и не я рестартирате. Ако инсталирате ново ядро на Linux, няма да използвате новото ядро, докато не рестартирате компютъра си и не го зареждате в новото ядро. Има няколко начина да преминете към ново ядро без рестартиране, но те обикновено не се използват в потребителски Linux системи и са повече за сървъри, които изискват максимален срок на годност.
С други думи, рестартирането често е необходимо, за да се гарантира, че важни актуализации са се отразили на Linux.Разбира се, ако работите със сървър и времето за работа е важно за вас, можете да получите необходимостта от актуализации, като рестартирате засегнатите процеси. Но ако сте обикновен потребител на компютри, вероятно ще искате да рестартирате компютъра си.
Добрата новина е, че рестартирането стана по-малко необходимо във времето. Windows вече може да сменя много видове драйвери, например графични драйвери, без да рестартира системата. Съвременните функции за сигурност (като активирана защитната стена на Windows) направиха Windows по-сигурен, така че Windows 8 предлага тридневен гратисен период за рестартиране след актуализации на Windows.
Image Credit: Андерс Сандберг / Flickr