Много потребители на компютърни системи са чували за понятия като отдалечени процедури, извиквания от отдалечени процедури или RPC. Но само не всички си представят какви технологии са, как работят и за какво са. Но много от тези, които са деактивирали тази услуга в Windows-базирани системи, често могат да получават грешки, свързани с критични грешки. Това и още много други неща ще бъдат обсъдени по-късно.
Струва си да се започне с някаква теоретична информация. Отдалечените процедури (извиквания на отдалечени процедури) се считат за механизъм, който ви позволява да изпълнявате или използвате всякакви функции на компютърни системи в адресно пространство, различно от използвания терминал. Просто казано, това е начин за достъп отдалечен компютър например чрез локална мрежа или интернет връзка.
Въпреки това, отдалечени процедури (извиквания на отдалечени процедури), наричани RPC (съкращение от Remote Procedure English), могат да бъдат приписани не само на отдалечени компютри. На местно ниво се използват и такива технологии. Като прост пример, можете да извикате специфична функция на една програма от друго приложение чрез взаимодействие чрез специални библиотеки.
В допълнение, абсолютно всички версии на Windows имат подобна услуга, а когато тя е забранена или повредата на XP модификацията изобщо не работи.
Като правило услугата RPC за отдалечена процедура за операция клиент-сървър изисква най-малко два основни компонента: мрежов протокол за обмен на данни и език за сериализация (превод на някаква структура от процеси или информация в битова последователност).
Архитектурите могат да бъдат напълно различни и да се различават по своите възможности. Но за обмен на данни на т.нар. Транспортно ниво най-често се използват протоколите UDP и TCP, по-рядко - HTTP.
За да не навлизаме в технически аспекти, най-простото обяснение как работят тези технологии може да бъде следният пример: клиентският процес формира заявка към сървъра, описваща избраната процедура с посочените параметри и го изпраща, след което сървърът изпълнява необходимата директива и изпраща на клиента отговор, който се показва на клиента. колата. Самият сървърен манипулатор обаче е, така да се каже, в режим на готовност и се активира само в моментите на получаване на клиентски заявки. Същевременно изобщо не е необходимо изпълнението на схемата „искане-отговор“ да бъде извършено незабавно.
В същото време максималният ефект се постига при обмен на относително малки количества данни и кратко време за реакция на компонентите, между които е установена интерактивна връзка.
По този начин можем да разграничим две основни характеристики на тези технологии:
Що се отнася до внедряването, отдалечените процедури (извикване на отдалечени процедури) днес използват няколко основни технологии, сред които най-широко се използват следните:
Сега няколко думи за недостатъците. Основният проблем и съответно задачата за изпълнение е, че една и съща операция за извикване на отдалечена процедура през възела за обслужване на отдалечена процедура трябва да се изпълнява едновременно на различни машини, често с различни операционни системи, адресни пространства и архитектура. , При това тези параметри трябва да бъдат копирани от един терминал в друг. За тази цел се използва не само транспортният протокол, но и сериализацията, която позволява преобразуването на различни байтови последователности типове данни.
Втората точка е свързана с факта, че отдалечените процедури (извикване на отдалечени процедури) използват не един процес, както на местно ниво, а два (на клиентската машина и на сървъра). Следователно, ненормалното прекратяване на програмата на един от терминалите може да предизвика същата реакция в другата.
И накрая, един от основните въпроси е проблемът за съвместимостта поради разнородността на някои езици за програмиране, въпреки установените единни стандарти.
Отдалечената процедура за Windows 10 или друга система с подреждане по-долу предполага използването на специални подсистеми:
Ако говорим за това кои модули на операционната система изискват да поддържате услугата RPC разрешена, просто е невъзможно да се изброят всички тях.
Но сред всички добре познати компоненти на Windows системите, можем да споменем факс услугата, криптографската услуга, регистриране на грешки, помощ и поддръжка, достъп до HID устройства, куриерски услуги, управление на дискове и логически дялове, сменяемо управление на паметта, аудио система, Windows инсталатор и др. Бог знае какво.
Изглежда, че този списък е достатъчен, за да се разбере колко много компоненти на системата и самият потребител са зависими от тази услуга.
Като цяло, въз основа на предишното описание, можете да оцените ефекта на RPC. Така, например, има много случаи, когато при изключване на тази услуга звукът изчезва напълно, невъзможно е да се възстанови системата след критични повреди или когато се инициира от потребителя, настройките на безжичната мрежа „летяха”.
Но най-тъжното е, че ако изключите отдалечения RPC процедура, понякога е невъзможно дори да получите достъп до основните системни настройки, да бъде потребител поне три пъти администратор на собствения си терминал.
Като цяло, много от тях са опитвали (и се опитват) да изключат услугата за отдалечено извикване на процедура. Това е строго забранено. Като цяло, самата система, при извършването на такъв опит да направи това, няма да даде, издавайки подходящо уведомление.
Но не всеки знае, че в секцията за услуги (services.msc) все още има такова нещо като „Remote Locator Call RPC“. Тук той просто може да бъде изключен безболезнено за системата. Приложения, които могат да го използват в работата си, ще изискват самостоятелно обслужване, ако е необходимо.
И накрая, нека видим какво може да се направи, ако се генерира грешка по време на извикване на отдалечена процедура. В най-простия случай можете да опитате отново да активирате услугата (ако, разбира се, успее).
За да направите това, в съответния раздел, където се намира услугата, щракнете двукратно върху менюто за редактиране на параметри, натиснете бутона за захранване и типът на включване е настроен на автоматичен. Ако не е възможно да се извърши тази процедура със стандартно зареждане на системата, можете да опитате да извършите подобни действия в безопасен режим. Някои експерти съветват в същото време по време на действие, за всеки случай, деактивирайте антивирусния софтуер.
Ако това не помогне, но имате инсталационен или възстановителен диск на системата, можете да изпълните командната конзола с администраторски права (не е необходимо да стартирате от диска) и да напишете в нея следните команди:
След това стартирайте Task Manager (Ctrl + Del + Alt или taskmgr в менюто Run) и приключете процеса Explorer.exe.
След това в командната конзола напишете следното: copy% TEMP% explorer.exe% SYSTEMROOT% / y.
В "Диспечер" спираме всички процеси svhost.exe, а след това в рамките на 60 секунди трябва да имаме време в командния ред, за да въведем копие на линията.
И накрая, ако имате достъп до редактора на регистър (regedit) възстановен, трябва да минете през клона HKCC чрез секциите SYSTEM и CurrentControlSet и да стигнете до параметъра CSConfigFlags, като промените стойността му на нула.
Това не са всички методи за коригиране на грешки, свързани с RPC. Факт е, че ако тази услуга е причинила прекъсвания в работата на други услуги, първо може да се наложи да разрешите проблеми с тяхното изпълнение и едва след това да предприемете действия срещу RPC. И не винаги е възможно да получите пълен достъп до описаните по-горе параметри и настройки. Ако изобщо няма да се случи нищо, без значение колко жалко може да звучи, ще трябва напълно да преинсталирате операционната система, въпреки че бих искал да се надявам, че това няма да се случи.
Ето кратко и всичко, което се отнася до технологията и услугата RPC. Всъщност всичко това изглежда много по-сложно, отколкото е представено в това описание, а за пълно разбиране на проблема е необходимо да има поне основни познания. Но за да има обща представа за RPC, това все още е достатъчно.
Що се отнася до изключването, не се опитвайте да правите тези неща, в противен случай цялата система ще се провали. Горните решения за отстраняване на повреди обикновено помагат, но все още не можете да дадете пълна гаранция, защото деактивирането на услуга може да доведе до повреди в други компоненти.