محضرخانه ویندوز
از ویکیپدیا، دانشنامهٔ آزاد
محضرخانهٔ ویندوز (به انگلیسی: Windows registry) که گاهی به طور خلاصه رجیستری نیز نامیده میشود، جایی است که تنظیمات نرمافزارها و سختافزارها در سیستم عامل ویندوز در آن به ثبت میرسند. در پنجمین ویراست از کتاب «فرهنگ رایانهای مایکروسافت» دربارهٔ رجیستری چنین آمده است:
| ” | یک پایگاه داده متمرکز با ساختارِ سلسله مراتبی که در ویندوزهای 9x ،CE ،NT و 2000 به کار رفته و از آن برای نگهداری اطلاعات لازم جهت پیکربندی سیستم برای یک یا چند کاربر، برنامههای کاربردی و تجهیزات سختافزاری استفاده میشود. رجیستری، حاوی اطلاعاتی است که ویندوز در حین عمل، به طور پیوسته و مکرر به آنها رجوع میکند؛ از قبیل [تنظیمات مربوط به] پروندههای هر کاربر، برنامههای کاربردی نصب شده بر روی رایانه، انواع مستنداتی که [هر کاربر] میتواند ایجاد کند، خصلتهای صفحهای پوشهها، آیکونهای برنامهها، سختافزارهای موجود در سیستم، درگاههای مورد استفاده و.... رجیستری، جایگزینی است برای فایلهای مبتنی بر متن با پسوند INI در ویندوز x.3 و همچنین فایلهای پیکربندی MS-DOS، مثل autoexec.bat و config.sys. در ضمن، دادههای رجیستری در فایلهای دودویی ذخیره میشوند. | “ |
رجیستری، یکی از مهمترین و اصلیترین بخشهای سیستمعامل ویندوز است. این بخش، نقشی کلیدی در پیکربندی و کنترل سیستمعامل ویندوز ایفا کرده و همچون انبارهای است که تنظیمات کلیِ سیستم (اعم از نرمافزاری و سختافزاری) و تنظیمات خاصِ هر کاربر را در خود جای میدهد. نقش این بخش در ویندوز چنان است که تغییر در آن، تأثیرات بنیادینی بر عملکرد کل این سیستمعامل خواهد داشت. به خاطر همین اهمیت و حساسیت، رجیستری از دید و دسترسی کاربران عادی به دور نگاه داشته میشود. اما کاربر خبره میتواند از طریق ابزارهای تعبیه شده در ویندوز - نظیر regedit.exe - مستقیماً در محتوای رجیستری، دخل و تصرف کند.
فهرست مندرجات |
[ویرایش] تاریخچه
ام اس داس داده های پیکربندی خود را از طریق فایل های confing.sys و autoexec.bat به دست می آورد و در ویندوز 3.0 میکروسافت محدودیت های confing.sys و autoexec.bat را تا اندازه ای با ارائه فایل های INI برای ذخیره سازی تنظیمات بر طرف نمود. فایل های INI فایل های متنی هستند که از یک یا چند بخش تشکیل می شوند و یک یا چند مورد از تنظیمات در هر بخش قرار می گیرد.مشکل فایل های INI آن است که فاقد ساختار سلسله مراتبی هستند، ذخیره سازی فایل های باینری در آن دشوار است و هیچ گونه استانداردی برای ذخیره سازی انواع تنظیمات مشابه ارائه نمی کنند. مشکل بزرگ تر فایل های INI و نگارشهای اولیه ویندوز تعداد زیاد این فایل ها در کامپیوتر ها بود.هر برنامه کاربردی فایل های INI خاص خود داشت . ویندوز 3.1 رجیستری را به عنوان ابزاری برای ذخیره سازی تنظیمات OLE (گنجاندن و مرتبط کردن شیئ ها) معرفی نمود ، و ویندوز های 95 وnt 3.5 نیز آن را به بانک اطلاعاتی پیکربندی گسترش دادند که ویندوز xp اینک به کار می برد. اگرچه فایل های INI دیگر به دلیل آن که برنامه های کاربردی روش بسیار بهتری برای ذخبره سازی تنظیمات دارند ، ضروری نیستند ، اما هنوز هم تعدادی از آن ها را در برخی کامپیوتر ها خواهید یافت ، مثلاَ win.ini .
[ویرایش] رجیستری در عمل
در حالت کلی، دادههای مندرج در رجیستری، در سه وضعیت یا مرحله خوانده میشوند:
- بوتشدن سیستم
- سیستم، فهرست درایورهای لازم جهت بارگذاریِ سختافزارها و نحوهٔ پیکربندی بخشهای زیرسیستمی (مثل مدیر حافظه و مدیر پردازش) را از رجیستری میخواند.
- ورود به ویندوز
- برنامهٔ Explorer و سایر اجزای ویندوز، تنظیمات مربوط به هر کاربر را از رجیستری میخوانند، از قبیل: راهنمای درایوهای شبکه و حروفِ مُعرفِ آنها، تصویر کاغذدیواریِ میزکار، محافظِ صفحهنمایش، وضعیت منوها و مکان آیکونها.
- آغاز به کار برنامههای کاربردی
- هر برنامه، تنظیمات کلیِ سیستم (مثل فهرست اجزای نصب شدهٔ اختیاری و دادههای پروانهٔ بهرهبرداری از برنامه) و تنظیمات مخصوصِ کاربر فعلی (مثل مکان منوها، نوار ابزار، و فهرست مستنداتی که اخیراً مورد دسترسی قرار گرفتهاند) را از رجیستری میخواند.
البته رجیستری ممکن است در وضعیتهای دیگری هم خوانده شود، مثل زمانی که تغییراتی در یکی از مقادیر یا کلیدهای رجیستری لازم باشد (در ادامه این مقاله، دربارهٔ اصطلاحات کلید و مقدار توضیح داده خواهد شد). برخی از برنامهها هم، مرتباً محتوای رجیستری را بررسی میکنند تا در صورت بروز تغییر در آن، سریعاً پیکربندیهای خود را روزآمد و بهنگام کنند. اما به طور کلی، در یک سیستم که در حالت عاطل (Idle) قرار دارد، فعالیتی در رجیستری به چشم نمیخورد.
معمولاً محتوای رجیستری در موارد زیر تغییر میکند:
- نصب نرمافزار
- برنامههایی که بنام Setup مشهور بوده و وظیفهٔ آنها نصب نرمافزارهای جدید بر روی رایانه است، تنظیمات پیشفرضِ هر برنامه را در خلال عملیات نصبِ آن، در رجیستری ثبت میکنند.
- نصب درایور
- در حین نصب درایورِ یک دستگاه، بخشِ موسوم به Plug & Play، تنظیمات مربوط به دستگاه را در رجیستری ثبت میکند. این تنظیمات، نحوهٔ آغاز به کار و عملکرد دستگاه را برای «مدیر I/O» مشخص خواهند کرد.
- با تغییرات کاربر
- هنگامی که کاربر، تنظیمات مربوط به یک برنامه یا کلِ سیستم را از طریق «کنترل پانل» تغییر میدهد، تنظیمات جدید در رجیستری به ثبت میرسند.
یکی دیگر از راههای تغییر در رجیستری، ویرایش دستی آن از طریق برنامهٔ Registry Editor است. این برنامه، یکی از ابزارهای سیستمی تعبیهشده در خودِ ویندوز است که امکان ویرایش مستقیمِ رجیستری را برای مدیر سیستم (System Administrator) فراهم میکند. البته باید توجه داشت که عملکرد این ویرایشگر با ویرایشگرهای متن متفاوت است و مثلاً امکان انجام عمل واگرد (Undo) در آن وجود ندارد. به همین دلیل، در به کارگیری و استفاده از آن باید محتاط بود، چرا که هرگونه دستکاریِ ناشیانه در رجیستری، میتواند به مختل شدن عملکرد کل سیستم بیانجامد. از این رو، همیشه توصیه میشود که پیش از شروع عملِ ویرایش، یک کپی پشتیبان از رجیستری تهیه شود.
[ویرایش] ساختار رجیستری
ساختار رجیستری، شباهت زیادی به ساختارِ منطقیِ یک دیسک دارد؛ رجیستری، شامل چندین کلید (Key) است که مفهوم آنها مشابه دایرکتوری در دیسک بوده و هر کلید هم، شامل چندین مقدار (Value) است که مثل فایلهایی درون دایرکتوریها قرار دارند. مقادیر که در واقع خانههایی برای نگهداری دادهها هستند، از سه مؤلفه تشکیل میشوند: نام، نوع و داده.
هر کلید میتواند شامل تعدادی کلید دیگر هم باشد که در این صورت به آنها زیر-کلید (Sub-key) گفته میشود. زیر-کلیدها هم به نوبهٔ خود میتوانند شامل زیر-کلیدهای دیگری باشد و الخ. کلیدهایی که در بالاترین سطح قرار دارند، ریشه (Root) خوانده میشوند. بنابراین، بجز ریشهها، تمام کلیدهای دیگر را میتوان زیر-کلید به حساب آورد.
همانطور که از تصویر فوق پیداست، هر زیر-کلید دارای یک مقدار بنام (Default) است که به صورت پیشفرض، دادهای درون آن قرار ندارد (value not set).
ساختار سلسله مراتبی رجیستری، شباهت فراوانی به ساختار «درخت» دارد. در ادبیات علم رایانه، منظور از درخت، نوعی ساختار دادهٔ پویا (دینامیک) است که شرح و وصف آن در مبحث «ساختمان دادهها» ذکر میشود. در اینجا به ذکر همین نکته بسنده میکنیم که رجیستری شامل چندین درخت است که گرههای آنها حاوی کلید و برگهای آنها حامل مقدار هستند.
گفتنی است ساختار اولیهٔ رجیستری که به صورت یک پیشالگو (Prototype) تدوین شده و شامل یک سِری تنظیمات اولیه و پیشفرض است، همراه با خودِ ویندوز و در خلالِ عملیاتِ نصبِ سیستمعامل، بر روی دیسکسخت کپی میشود.
[ویرایش] کلیدهای ریشه
در رجیستری، به صورت از پیش تعریف شده، پنج کلید ریشه وجود دارد. نام کلیدهای ریشه با کلمهٔ HKEY شروع میشود که خلاصهٔ عبارت «Handle to a KEY» است. هر ریشه، یک مجموعهٔ تودرتو (Nested) از کلیدها را در خود جای میدهد. ضمناً تعداد ریشهها، ثابت است؛ بدین معنا که نه میتوان ریشهٔ جدیدی ایجاد کرد و نه ریشهٔ موجودی را حذف کرد.
فهرست کلیدهای ریشه در رجیستری و محتوای آنها:
- HKEY_CURRENT_USER: شامل تنظیمات خاص کاربر مربوط به account کاربر کنسول (کسی که در حال حاضر با کیبرد کار می کند) است .این شاخه شامل متغییر های محیطی ، تنظیمات دسک تاپ ، اتصالات شبکه ، چاپگرها و موارد ترجیهی برنامه های کاربردی است.
- HKEY_USERS: تعیین کننده شناسه امنیت کاربران و خط مشی های تعیین شده برای آنها.
- HKEY_LOCAL_MACHINE: شامل تنظیمات خاص کامپیوتر است و این بدین معناست که تنظیمات این شاخه به پیکربندی کامپیوتر اعمال شده و بر هر کاربری که با آن ارتباط برقرار نماید تأ ثیر می گذارند.محدوده این تنظیمات از پیکربندی های نرم افزار های راه اندازی گرفته تا تنظیمات ویندوز می باشد.
- HKEY_CLASSES_ROOT: بزرگترین کلید موجود در رجیستری است که شامل دو دسته تنظیمات می شود.نخستین دسته ، ارتباط فایل هاست که انواع مختلف فایل ها را با برنامه هایی مرتبط می کند که می توانند آنها را باز، چاپ و ویرایش نمایند.دسته بعد ثبت کلاس ها برای شیئ های comاست. امکان تغییر بسیاری از رفتارهای سیستم عامل را فراهم می کند.
- HKEY_CURRENT_CONFIG: نوعی ارتباط با داده های پیکربندی برای پروفایل سخت افزاری جاری می باشد.
[ویرایش] زیرکلید های مهم HKEY_CURRENT_USER
- AppEvents- صداها را با رویداد ها ی متناظرشان مرتبط می کند . به عنوان مثال ، صدا ها را با رویداد هایی چون باز شدن منو ها ؛ کمینه شدن پنجره ها و قطع ارتباط با ویندوز xp مرتبط می کند.
- Console – داده ها برای زیر سیستم کنسول ذخیره می کند . زیر سیستم کنسول میزبانی تمام برنامه های کاربری مد کاراکتر ، از جمله فرامین ام اس داس را بر عهده دارد. این کلید همچنین می تواند زیر کلید هایی برای پنجره های شخصی داشته باشد.
- ControlPanel- شامل تنظیمات قابلیت های توانمندی ، منطقه ای و شمای ظاهری دسک تاپ است. بیشتر این تنظیمات در کنترل پانل پیکربندی می شوند. اما این کلید شامل تنظیمات پیکربندی زیادی است که فاقد رابط کاربری هستند . آنها را تنها از طریق رجیستری می توانید پیکربندی کنید.
- Enviroment- متغییر های محیطی را نگهداری می کند که کاربران تعیین کرده اند. هر مقدار ، یک متغیر محیطی را با رشته ای مرتبط می کند که ویندوز xp جایگزین آن متغیر می کند. مقادیر پیش فرض این موارد در پروفایل کاربر قرار دارند.
- Identities- یک زیر کلید برای هر یک از هویت های شناسایی در اوت لوکس اکسپرس دارد . اوت لوکس اکسپرس با هویت های شناسایی به چندین کاربر امکان می دهد تا یک سرویس گیرنده پستی را به اشتراک بگذارند. با وجود پشتیبانی ویندوز xp از پروفایل های کاربری ، تنظیمات هر کاربر از تنظیمات کاربران دیگر جدا می شود ، نبا بر این کلید به ندرت لازم می شود.
- Keyboard Layout- شامل اطلاعاتی در مورد طرح صفحه کلید های نصب شده است.
- Printer- تنظیمات ترجیحی کاربر در خصوص چاپگر ها را نگهداری می کند.
- Software- شامل تنظیمات خاص کاربر مربوط به برنامه های کاربردی است . ویندوز xp بیشتر داده های پیکربندی خود را نیز در این کلید ذخیره می کند. میکروسافت ساختار سازمانی این کلید را استاندارد نموده است تا برنامه ها تنظیمات را در HKCU\SOFTWARE\vendor\program\version ذخیره کنند. Vendor، نام پدید آورنده برنامه ، program ، نام برنامه ، version ، نیز شماره نگارش برنامه است. Version در اغلب اوقات صرفاً current version است. این مطلب در خصوص ویندوز xp صادق است.
[ویرایش] زیر کلید های مهم HKEY - USER
کلید HKEY_USER حد اقل شامل سه زیر کلید است :
- DEFAULT – در بر گیرنده تنظیمات ((خاص – کاربر)) است که ویندوز XP از آن برای نمایش دسک تاپ پیش از برقراری ارتباط کاربران (هر کاربری )استفاده می کند. این تنظیمات با پروفایل کاربری پیش فرض تفاوت دارند. ویندوز XP از پروفایل مذکور برای ایجاد تنظیمات کاربران برای نخستین مرتبه ای که با کامپیوتر ارتباط برقرار می کنند ، استفاده می کند.
- SID- شامل تنظیمات خاص کاربر است . منظور از SID ، شناسه امنیت کاربر کنسول است. منظور از کاربر کنسول ، کاربری است که از صفحه کلید استفاده می کند. HKCU ، نوعی ارتباط با این کلید است. این کلید شامل تنطیمات کنترل پانل و موارد مورد علاقه کاربر در دسکتاپ است.
- SID _ classes – شامل محدودیت های کلاس ها و ارتباط فایل هاست و خاص کاربر می باشد . ویندوز XP محتوای کلید های HKLM\SOFTWARE\Classes و HKU\SID-Classes را ادغام کرده و در کلید HKCR نگه می دارد.
[ویرایش] زیر کلید های مهم HKEY_LOCAL_MACHINE
- HARDWARE- داده هایی را ذخیره می کند که توصیف کننده سخت افزاری است که ویندوز XP در ابتدا ی کار شناسایی می کند. سیستم عامل این کلید را هر بار به هنگام آغاز کار ایجاد می کند و شامل اطلاعاتی درباره وسایل سخت افزاری و نرم افزارهای راه اندازی ومنابع مرتبط با آنهاست. این کلید شامل اطلاعاتی است که به هنگام کار با شبکه برای متخصصان IT مفید واقع می شود.
- Sam –شامل بانک اطلاعاتی امنیت محلی ویندوز xp یا( security accounts manager ) است. ویندوز xp کاربران و گروه های محلی را در sam ذخیره می کند. فهرست کنترل دستیابی(ACL) این کلید حتی به مدیران نیز امکان مشاهده نمی دهد.SAM نوعی ارتباط با کلید HKLM\SECURITY\SAM است.
- Security – شامل بانک اطلاعاتی امنیت محلی ویندوز xp در زیر کلید sam ، و نیز سایر تنظیمات امنیتی است. ACL این کلید حتی به مدیران نیز امکان مشاهده نمی دهد مگر آنکه مالکیت آن را بر عهده بگیرند.
- Software – شامل تنظیمات خاص کامپیوتر مربوط به برنامه های کاربردی است. ویندوز xp تنظیمات را نیز در این کلید ذخیره می کند. میکروسافت ساختار سازمانی این کلید را استاندارد کرده تا برنامه ها تنظیمات را در HKLM\SOFTWARE\VENDOR\PROGRAM\VERSION ذخیره کنند. Vendor، نام پدید آورنده برنامه ، program ، نام برنامه ، version ، نیز شماره نگارش برنامه است. Version در اغلب اوقات صرفاً current version است. این مطلب در خصوص ویندوز xp صادق است. HKCR نوعی ارتباط با کلید HKLM\SOFTWARE\CLASS است.
- System – شامل مجموعه های کنترلی است ، که یکی از آنها current می باشد . مابقی مجموعه ها برای استفاده ویندوز xp است . هر زیز کلید یک مجموعه کنترلی به نام CONYROL SETNNN است که NNN یک شماره سریال است که با 001 شروع می شود. سیستم عامل حداقل دو مجموعه کنترلی دارد تا تضمین نماید که همیشه می تواند به درستی راه اندازی شود. این مجموعه شامل پیکربندی سرویس ها ونرم افزار های راه اندازی است. HKLM\SYSTEM\CURRENY CONTROL SET نوعی ارتباط با CONTROL SETNNN است، وکلید HKLM\SYSTEM\SELECT نشان می دهد که CONTROL SETNNN در دست استفاده است.
[ویرایش] فهرست منابع
- اسلامی، امیربهزاد، الهوردیان، آرن، رجیستری ویندوز؛ پروژهٔ دورهٔ کاردانی کامپیوتر، دانشگاه آزاد اسلامی (تهران سما)، تابستان 1384


