Адміністрування системного реєстру Win9x/nt/2000

Администрирование системного реестра Win9x/nt/2000.

Адміністрування системного реєстру Win 9 x / nt /2000

Серед багатьох типів програм , розроблених під ОС Windows , важливе місце посідають утиліти – це спеціальні програми , що спрощують і, в деякій мірі, полегшують роботу з операційною системою. До утиліт відносять архіватори , спеціальні програми для роботи з дисками , аудіо та відео тощо. Чи ненайважливіше місце у групі утиліт посідають програми для так званої “тонкого” адміністрування операційної системи.

У своїй роботі ці програмні продукти використовують системний реєстр операційної системи Windows. Системний реєстр це набір кількох файлі в (user.dat, system.dat та інші ), в яких зберігаються всі параметри налаштування як самої операційної системи , так і встановленого на машині програмного та апаратного забезпечення . Переглянути вміст системного реєстру можна за допомогою утиліти Regedit (для ОС Win9x/ME) або Regedit32 (WinNT/2K).

Реєстр «виріс» з .ini-файлів, що з'явилися в часи Windows 1.0. Тоді всі параметри і значення, що визначають роботу операційної системи (ОС), зберігалися в.ini-файлах, у тому числі параметри переривань принтера і каталоги збереження тимчасових файлів текстових редакторів. Але Windows 3.0 мала централізовану базу даних для такого роду інформації — реєстр, хоча і використовували, проте не дуже інтенсивно. З часом постачальники апаратного і програмного забезпечення почали пристосовуватися для збереження важливої інформації в реєстр, що прийшов на зміну не впорядкованим ini-файлам. У версіях Windows 3.1 і 3.11 реєстр у більшій мірі інтегрований з системою. З появою Windows NT реєстр перетворився у сховище більшості даних. Версії WindowsNT, що вийшли одна за одною 3.5, 3.51 і 4,0 вже сильно залежали від реєстру, а їх інструменти керування поступово покращилися. Переваги централізованої бази даних для збереження й обробки мінливої системної інформації очевидні. Уже не має потреби в нескінченних пошуках по всій системі і мережі ( чи бачили Ви коли-небудь .ini-файл на загальному мережному диску?) за невловимим параметром, що тормозить роботу Вашого комп'ютера.

Резервну копію реєстру можна зробити різними способами. Корпорація Microsoft пропонує досить громіздку програму Rdisk.exe. У Microsoft Resource Kit також багато інструментів для керування реєстром. Я частенько заглядав у нього щоб розібратися, що саме «NT-подібна» система чи елемент реєстру намагається зробити чи робить.

На сьогодні реєстр — найкращий інструмент для зміни параметрів конфігурації, заданих постачальником апаратного чи програмного забезпечення. Ви хочете отримати довідсоткову продуктивність. Ваш кращий друг — regedt32.exe. Та й для створення і поширення користувальницьких конфігурацій на великій кількості станцій, інструменту, зручніше реєстру, не знайти.

Взагалі ж системний реєстр складається з таких віток :

Розділ HKEY_LOCAL_MACHINE

У розділі HKEY_LOCAL_MACHINE містяться основні відомості про апаратні засоби комп'ютера, включаючи драйвери пристроїв і конфігураційну інформацію. Якщо інформація про який-небудь пристрій відсутня , то Windows 98 не зможе використовувати його.

HKEY_LOCAL_MACHINE - для найдокладнішої інформації про апаратне забезпечення. Наприклад, він містить всю інформацію, необхідну для Plug and Play, а також надає повний список драйверів пристроїв і їх рівні ревізії (revision level) і, навіть, може містити інформацію про ревізію самого апаратного забезпечення.

Крім того в цьому розділі вміщено деяку інформацію про програмне забезпечення. Наприклад, 32-розрядний додаток буде зберігати таблицю установок і форматів (Setup and Format Table- STF) саме тут. Ця інформація використовується додатком під час установки. Деякі додатки використовують її під час змін параметрів їх установки. Такі додатки, як Word, зберігають всю інформацію про свою установку в таблицях STF. У цьому розділі міститься тільки інформація глобального характеру.

Розділ HKEY_CURRENT_USER

Розділ HKEY_CURRENT_USER містить безліч параметрів налаштування програмного забезпечення, у яких зберігається інформація про конфігурацію робочого столу і клавіатури. Крім того, у цьому розділі є інформація про параметри меню Пуск. Тут - усі параметри налаштування, специфічні для користувача.

HKEY_CURRENT_USER цілком присвячений управлінню параметрів поточного користувача, тобто того користувача, що у даний момент зареєстрований у системі. Це відрізняється від користувальницької конфігураційної інформації, що зберігається в інших розділах реєстру. Інформація в цьому розділі є динамічною; інформація в інших розділах, що відноситься до користувальницьких параметрів налаштування, - статична. Реєстр копіює вміст одного з підрозділів з HKEY_USERS у даний розділ і по закінченні роботи обновляє розділ HKEY_USERS.

У HKEY_CURRENT_USER Windows 98 одержує нову інформацію про настроювання системи, а також поміщаються будь-які зміни. Усе, що тут зберігається, служить тільки для налаштування системи для користувача, але ніколи не містить системної інформації (наприклад, опис драйвера пристрою).

Кожна вітка складається з розділів які в свою чергу – містять параметри та їх значення . Значення ,що їх можуть набувати параметри того, чи іншого ключа системного реєстру можуть бути декількох типів

Reg_SZ – рядковий тип ;

Послідовність символів, що закінчуються нульовим байтом.

Reg_Dword – цілочиселюний тип ;

Застосовується для збереження різних лічильників і цифрових значень.

Reg_Binary – двійковий ;

Застосовується, в основному, для збереження внутрішніх даних програм.

REG_EXPAND_SZ (стрічковий);

Може містити змінні оточення, що будуть «розгорнуті» у їхні значення при застосуванні цього значення реєстру. Наприклад, %SystemRoot%\system32\notepad.exe.

REG_MULTI_SZ(багатостроковий);

Застосовується для збереження списків.

REG_DWORD_BIG_ENDIAN (числовий);

Байт старших розрядів знаходиться на початку

слова.

REG_LINK (символічне посилання);

Зберігається а форматі UNICODE.

REG_RESOURCE_LIST (обліковий);

Список апаратних ресурсів, застосовується тільки в підгілці \HARDWARE гілки HKEY_LOCAL_MACHINE.

REG_FULL_RESOURCE_ DESCRIPTOR(обліковий);

Описатель апаратного ресурсу. Застосовується тільки в підгілці \HARDWARE гілці HKEY_LOCAL_MACHINE.

REG_RESOURCE_REQUIREMENTS_LIST (обліковий);

Необхідні апаратні ресурси.

Через системний реєстр можна впливати на будь-які параметри налаштування як самої системи, так і програмного забезпечення ЕОМ. Змінюючи значення відповідних параметрів так звану “тонку” настройку операційної системи, так і прикладних програм .

Однак все ще не існує офіційного посібника по роботі з системним реєстром операційної системи Windows , тому перш ніж змінбвати значення будь-якого параметра , необхідно зробити резервну копію системного реєстру. Це можна зробити за допомогою програм пакету ResourseKit фірми Microsoft.

Увага! Будь-яке некваліфіковане втручання в структуру системного реєстру може призвести до краху всієї системи. Якщо ви адмініструєте сервер, чи робочу станцію на основі Win9x/nt/2000 , то системний реєстр допоможе вам підвищити рівень безпеки та ефективності вашої системи .

Однак, кожен раз запускати редактор реєстру і шукати потрібні ключі , особливо коли ви обслуговуєте декілька машин, буває досить важко. Та й запам’ятати величезну кількість параметрів та їх допустимих значеннь просто неможливо. В даній роботі було реалізовано спробу хоча б частково полегшити процес роботи з системним реєстром.

Інколи робота з реєстром Windows NT — просто жах. Хто не читав такого попередження: «Using the registry can render your system useless or unstable. The... makes no warranties, explicit or implied» [«Використання реєстру може чи дестабілізувати привести в непридатність систему....... (фірма-виробник програмного забезпечення) не дає ніяких гарантій»]?! Яка дурниця! На комп'ютері можна дестабілізувати і привести в непридатність усе що завгодно!

Ця програма адресована тим, хто вміє працювати з програмою Regedt32.exe, робити резервне копіювання і відновлення системи. Крім того, Ви повинні добре розбиратися в Windows NT Server і Windows NT Workstation.

Власне, ключі реєстру складаються з таких компонентів:

Розділ (Hive): HKEY_LOCAL_MACHINE Один з розділів

системного реєстру.

Вітка (Key): System\CurrentControlSet\ Містить параметр, що

ServicesYA-tapi модифікується

Параметр Start Параметр, що модифікується.

(ValueName):

Тип данніх REG_DWORD Допустимі наступні типи

(Data Type): даних: REG_BiNARY,

REG_DWORD,

REG_EXPAND_SZ,

REG_MULT1-SZ, REG_SZ..

Значення 0x0 Значення параметра. Його можна

(Value): змінювати в допустимому діапазоні, чи додати нове значення.

Пакети відновлення (servicepacks), узагалі, гарна річ, але часом вони вносять хаос до реєстру.Перед установкою пакета відновлення варто роздрукувати основні елементи реєстру. Саме так виявляються чимало змін. Крім того, довідуємось масу способів проникнення в надра реєстру. Звичайно, найбільше задоволення одержуєш від утиліти REGMON!

спробувати цей інструмент, щоб б простежити вплив його найпростіших функцій на реєстр (наприклад, включіть Control Panel з головного меню). (Обновлена версія цієї програми знаходиться на Web-вузлі книги http://www.registrysecrets.com/regsec/programs.cfm.)

Готуючи книгу, в роботі широко використовувались пошукові сервери Інтернету і, напевно, міг би написати цілу главу про всіх «за» і «проти» кожного конкретного пошукового сервера. Так на AltaVista (www.altavista.com), та на HotBot (www.hotbot.com) по ключових словах «НКЕУ», «Registry» чи навіть «Windows NT Registry» Ви одержите десятки тисяч посилань. Зі знайденого вибрано якнайкорисніше. Далі, перевіряючи ці зведення на практиці, або одержували обіцяні переваги, або переустановлювали тестувальну систему. Досвід показує: приблизно 30% цих рекомендацій заслуговують довіри, а інші 70% дозволяють зробити висновок, що саме така кількість «Internet» рекомендацій — або дублювання, або зовсім не працюють під Windows NT.

Знайдено безліч елементів реєстру в групах новин (newsgroups) і на серверах розсилання (list servers). Це недорогі і, що важливіше, безцінні засоби. У прикладах модифікації елементів реєстру набагато більший високий відсоток вдалого повторення описуваного результату (більш 85%). Складено список Web-вузлів, груп новин і серверів розсилання — він приводиться далі.

Запускайте Regedt32.exe, а для пошуку — Regedit.exe і відкривайте розділ за розділом. Подорож у безоднях реєстру дуже цікава і... дуже небезпечна. Удосталь поекспериментував з ним, навчилися відновлювати систему навіть після її повного руйнування.

Для повноти опису визначимо фізичне положення файлів реєстру. Як Ви розумієте, реєстр не існує десь у просторі, а фізично розташований на диску, але не одним великим файлом , а розбитий на декілька частин:

Галузь Файл

HKEY_LOCAL_

MACHINENSYSTEM

HKEY_LOCAL_

MACHINEXSAM

HKEY LOCAL

MACHINEXSECURITY

HKEY_LOCAL_

MACHINEXSOFTWARE

HKEYJJSERSVDEFAULT

HKEY_USERS\

<UserSID>

%SystemRoot%\system32\config\SYSTEM %SystemRoot%\system32\config\SAM

%SystemRoot%\systera32\config\

SECURITY

%SystemRoot%\system32\config\

SOFTWARE

%SystemRoot%\proffles\Default

User\ntuser.dat

%SystemRoot%\profiles\%user%\ntuser.dat

Інформацію про відповідність галузей реєстру і файлів можна одержати з розділу: HKEY_LOCAL_MACHINE\System\CunentControlSet\hiveUst. Дуже важлива для процедури завантаження системи галузь HKEY_LOCAL_MACHINE\SYSTEM. Вона містить сукупність розділів реєстру — control set — необхідних для процедури завантаження. HKEY_LOCAL_MACHINE\SYSTEM\Clone — копія control set, створена ядром на етапі ініціалізації.

HKEY_LOCAL_MACHINE\SYSTEM\ControlSetOO1 — основна сукупність control set, що використовуна за замовчуванням при завантаженні Windows NT. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002 — резервна копія control set, що використовується при невдалому завантаженні Windows NT. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet — це control set з якого завантажилася дана копія Windows NT. Звичайно це символічне посилання HaHKEY_LOCAL_MACHINE\SYSTEM\ConttolSet001. Тепер розглянемо склад control set докладніше: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control — цей розділ містить підрозділи, необхідні для завантаження WindowsNT. Наведено деякі з них:

...\ServiceGroupOrder — описує послідовність завантаження груп служб. Необхідний щоб служби мережних протоколів завантажувалися після того, як завантажилися драйвера мережної плати.

\BootVerlficationProgramm — це значення визначає нестандартну програму, що підтверджує вдале завантаження. Як правило, це програма від виробника апаратури, що перевіряє параметри нестандартного устаткування.

...\ComputerName — містить два параметри: ComputerName (ім'я, яке буде присвоєно комп'ютеру на етапі завантаження) і ActiveComputerName (активне ім'я комп'ютера, що при завантаженні заміняється на ComputerName).

..\hivelist — ключ, що вказує фізичне розташування файлів реєстру.

...\Keyboard Layout — містить ключ DOSKeybCodes, у якому описані всі доступні системі коди клавіатурних розкладок.

...\Keyboard Layouts — описує DLL-файли клавіатурних розкладок.

...ALSA— описує доступні пакети ідентифікації. Ці значення варто змінювати тільки у випадку системних помилок!

...\Prlnt — інформація про встановлені принтери, їх параметри і порти друку (print/port monitors).

...\PriorityControl — встановлення пріоритетів процесорного часу. Для зміни цього підрозділу краще скористатися системними параметрами з Control Panel (Панель керування). ...\Session Manager — містить кілька важливих значень і розділів:

• BootExecute — визначає програми, що виконуються на етапі завантаження ядра. Наприклад, chkdsk.

• DOSDevices — визначає відповідність DOS-пристроїв (PRN, AUX, UNC і т.п.) пристроям Windows NT.

• Environment — визначає системні змінні оточення.

• FileRenameOperation — визначає які файли будуть перейменовані на етапі завантаження. Часто застосовується програма установки, у випадку якщо потрібно «змінити» якийсь з компонентів, що використовувався .

• Subsystems — визначає «підсистеми», встановлені в Windows NT, наприклад, Posix чи OS/2.

Розглянемо основну гілку реєстру, що описує усі драйвера пристроїв, драйвера файлових систем і системні служби Windows NT. Кожен розділ визначає чи службу драйвер і його (її) ім'я. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\<HMH чи служби драйвера>

Даний параметр визначає тип служби (драйвера).

Параметр: Турі Тип даних: REG_DWORD

Можливі значення: 0x1—драйвер ядра;

0x2 — драйвер файлової системи;

0x4 — пристрою (у цьому випадку підгілки містять опис елементів апаратури);

0x10 — служба (неподільні процеси);

0x20 — служба (подільні процеси).

Даний параметр визначає, на якому етапі буде запускатися дана служба (драйвер). Параметр: Start

Тип даних: REG_DWORD

Можливі значення: 0x0 — на етапі завантаження ядра (boot);

0x1—на етапі ініціалізації ядра (start);

0x2 — автоматично, на етапі старту Win32 підсистеми (automatic);

0x3 — може бути завантажена при запиті чи користувача іншої служби (manual);

0x4 — завантаження заборонене (disabled).

Даний параметр визначає реакцію системи, якщо драйвер чи служба, почала завантажуватися, не змогли цього зробити чи неправильно иніціалізувались.

Параметр: ErrorControl Тип даних: REG_DWORD

Можливі значення:

0 х 1 — нормальний режим: помилка ігнорується і продовжується завантаження;

0x2 — небезпечний режим: якщо відбулася помилка і система завантажиться в

нормальному режимі, то процес завантаження припиняється, і ви

полняется перезавантаження в режимі LastKnownGood. Якщо помилка виникла в режимі завантаження LastKnownGood, то помилка ігнорується

і продовжується процес завантаження;

0x3 — критичний режим: якщо відбулася помилка і система завантажується в нормальному режимі, то процес завантаження припиняєся, і виконується перезавантаження в режимі LastKnownGood. Якщо помилка відбулася в режимі завантаження LastKnownGood, то процес завантаження припиняється, і видається повідомлення про помилку.

Даний параметр визначає групу, в яку входить конкретний драйвер (служба).

Параметр: Group Тип даних: REG_SZ

Даний параметр визначає послідовність завантаження в середині групи.

Параметр: Tag Тип даних: REG_DWORD,

Даний параметр визначає програму, що відіграє роль чи служби драйвера.

Параметр: ImagePath

Тип даних: REG_SZ

Даний параметр визначає ім'я об'єкта завантаження. Якщо це служба, то ObjeclName визначає ім'я користувача.

Утилити операційної систем и

Системні утиліти надають набір загальних послуг для плавних підсистем операційної системи і практично коли не використовуються останнім користувачем. Часто утиліти наділяються спеціальними привілеями, щоб збільшити їх ефективність і продуктивність. Звичайно, існує компроміс між виконанням добре визначених модулів утиліт і безпекою і цілісністю системи.

Цей розділ здивує вас трохи еклектичним підходом. Порозумівається це тим, що утиліти, здається, ніколи не складають інтегровану підсистему. Проектувальник звичайно «запихає» їх туди, куди вони більше всього підходять. В дійсності те, що є утилітою в одній операційної системі, може так само бути і в іншій. З іншого боку, хоча модулі утиліт не зібрані в одному місці, вони все-таки служать інтегруючим чи єднальним агентом операційної системи, оскільки всі інші модулі виявляються залежними від них.

Концепція утиліт

Вступ роздягнув стосувалося того, що ми вважаємо природою системних утиліт. Корисно прояснити цей підхід, у співвідношенні його з іншими поняттями, збереженими від систем другого і третього поколінь. Класично утиліта була системно-незалежною програмою, що завантажується користувачем для виконання специфічних функцій, Наприклад, у багатьох системах для міні-ЄВМ діагностичні програми усе ще розглядаються як системно-незалежні утиліти. Чому? Тому, що вони виконують функцію, що користувач звичайно воліє не робити сам. В міру розвитку операційної системи утиліти ставали тією «усякою всячиною», що виробник надавав безкоштовно разом з обчислювальною системою. Надзвичайно популярною була утиліта сортування/ злиття— окрема програма, запускається окремо користувачем для спеціально підготовленого файлу. Настільки ж популярною була програма, називана текстовим редактором, що давала користувачу можливість вводити і змінювати вихідні тексти програмних модулів. В інших варіантах уключалися такі речі, як засобу розробки програм, засоби керування файлами і «купа» інших додаткових модулів, що розширювали можливості «голої» операційної системи.

У загальному утилітою вважалася будь-яка загальцільова програма, що виконує розповсюджені функцій. Визначальні слова — «загальцільова» і «розповсюджені». Недалекий проектувальник системи часто інтерпретував слово «утиліти» як «те, що раніш не спало на думку». Не було нічого чаруючого чи зухвалого інтересу у проектуванні і написань утиліт; насправді вони часто розглядалися як стомлююча рутинна робота, що відволікає від задачі побудови складних і «тонких» програм, що складають ядро ОС.

Наша точка зору на утиліти відрізняється від класичної. Для нас утиліти —це єднальний компонент, «клей», що з'єднує базисні підсистеми операційної системи в єдине ціле. Такі засоби, як текстовий редактор і сортування, — це усього лише програми, часто неважливо ким доставлені: чи користувачем виробником, тому що вони виповнюються однаково. Тоді, який же наш підхід до концепції утиліт? І, що більш важливо, які базові утиліти повинні бути включені в ядро будь-якої операційної системи. Цим питанням присвячена даний розділ.

Утиліти : розширення фізичної машини.

Визначальні слова, що ми підкреслювали при визначенні утиліти, були «загальцільова» і «розповсюджена». Задумаємся на хвилину над цими словами: «загальцільова» означає корисність у різних ситуаціях; «розповсюджена» включає характеристики, що часто й усіма використовуються.

Як ці концепції співвідносяться із системою команд ЕОМ? З центральним процесором? У загальному і цілому система команд

ЦП складається з таких операцій, що вважаються найбільш корисними при обчисленнях. Стандартний набір команд мало розрізняється для різних ЕОМ. Крім цього, більшість виробників ЕОМ додає для своєї архітектури ЕОМ ряд спеціальних команд, що дозволяє швидше виконувати визначені типи обчислень.

Схожим способом реалізації майже кожної операційної системи заснована на точно визначеній підмножині операцій. Можна думати про ці операції як про розширення фізичної архітектури ЕОМ. У загальному дешевше реалізувати ці операцій програмно, чим апаратно, особливо якщо вони потребують для виконання операнди різної чи довжини сильно відрізняються для визначених додатків формату. У будь-якому випадку майже кожен модуль операційної системи залежить від цих розширених команд — особливої групи. Таким чином, модулі нижнього рівня, що служать для багатьох цілей і використовувана багатьма підсистемами, суть утиліти. Вони в дійсності є розширеннями фізичної архітектури ЕОМ, щоб зробити її більш придатною для реалізації операційної системи.

Що мається на увазі під утилітами? Перше, вони, за винятком рідких випадків, недоступні користувальницьким програмам, а використовуються винятково операційною системою. Друге, оскільки вони використовуються практично будь-який підсистемою, вони повинні мати єдиний інтерфейс і надавати стандартне обслуговування. Точний результат конкретної реалізації утиліти залежить від (принаймні одного з) її аргументів. Третє, дія утиліти повинна бути точно визначено, хоча і не в такому строгому змісті, як функція апаратури. Як бажано, так і необхідно мало-мало гнучкості, якщо ми переходимо на наступний послу чистої електроніки рівень. Останнє, утиліти повинні виконувати свої функцій ефективно, тому що вони дуже часто викликаються модулями операційної системи.

Огляд утиліт. Існує загальний набір утиліт, що об-роззують підставу операційної системи. Ми розглянемо ряд з них у розділах, що залишилися, глави. В додаток до цього є утиліти, призначені для специфічних цілей операційної системи. Часте визначення того, що вважати утилітою, залежить більше від примхи проектувальника, чим від формальних правил проектування операційної системи. Тому нижче описуються можливі погляди на те, що повинно, а що не повинно бути включене в набір утиліт.

Загальне, якщо не сама істотне, властивість більшості операційних систем — механізм обслуговування годин і календаря. Цей засіб дозволяє системі розрізняти послідовність подій і відзначати перебіг часу, хоча б для«історичної» точності, якщо немає інших причин. Реалізації можуть бути різними, хоча в більшості систем вони залежать від лічильників реального часу, заснованих на коливаннях кристала кварцу. Неможливо реалізувати операційну систему реального часу без відповідного таймера.

Рудиментарний засіб, що залишився від операційних систем ранніх поколінь, —це можливість одержання дампа пам'яті. У ранніх системах, коли програма «вилітала», користувачу залишалося тільки вивести дамп пам'яті і потім ретельно його досліджувати вже без ЕОМ. Дамп — це просто раса-печатка вмісту кожної комірки пам'яті під час «вилета» програми. Роздруківка містила як програми операційної системи, так і користувальницькі програми, тому що не було прийнятного способу для їхнього поділу. У роздруківку включалося для аналізу також і вміст регістрів центрального процесора. У багатьох випадках користувач одержував дамп при аварійному завершень програми поза залежністю від того, чи був він йому потрібний чи немає. Деякі користувачі, особливо віддані пакетному режиму роботи, безмежно вірять у дампи пам'яті, тому що це було єдиним засобом налагодження програм.

Структура даних, відома кожному програмісту, — це рядок символів. Досить дивно, що розроблювачі ЕОМ не спроектували апаратури для їхньої обробки на командному рівні; звичайне надання засобів обробки рядків залишається операційній системі. Важливі два аспекти обробки рядків: перетворення із символьного виду у внутрішнє представлення і редагування і форматування символьного рядка.

Помилки можуть случитися в будь-який час, у будь-якім місці й у будь-якій програмі, і операційна система не є виключенням. Гарні засоби обробки помилок включають тимчасове повідомлення можливої причини разом із усієї дохідливою, додатковою інформацією, для того щоб допомогти користувачу «поставити діагноз» проблеми, що сталася. Інтегрування засобу обробки помилок, підключені до кожного системного модуля, є необхідним засобом сучасних операційних систем.

Прихід мультипрограмних систем привів до виникнення явища чекання в черзі (черговості). Ранні системи не були розраховані на це, тому що вони виконували запити строго послідовним образом. Черги (чи списки, якщо вам так більше подобається) — фундаментальне поняття сучасних операційних систем. За допомогою ефективного управлення чергами потенційно недостатні системні ресурси можуть бити розділені практично оптимальним способом.

Робота [89] визначає концепцію керування доступом до ресурсів, відому як семафор. Ця концепція і її варіанти є основою будь-якої сучасної операційної системи. Семафори можуть використовуватися при проектуванні систем необмеженим образом. Платою за це є збільшення накладних витрат для керування структурами даних, що використовуються при реалізації семафора. Система широко і різноманітно використовує семафори для керування багатьма системними операціями.

Всі описані вище засоби є утилітами. На самому ділі вони складають структурний фундамент, на якому будується операційна система. Давайте порівняємо їх з іншими програмами, що класично вважаються утилітами. На наш погляд, вони, звичайно, є лише удосконаленими користувальницькими програмами. Прикладами їх є редактори текстів, бібліотекарі, засоби відладки і завантажники, що переміщають. Дійсно, усі ці елементи математичного забезпечення загальноцільові і розповсюдження. Однак вони відрізняються деякими характеристиками. По-перше, вони доступні всім користувачам без обмежень. По-друге, при виконанні вони є звичайними програмами, тобто залежать від послуг операційних систем, таких , як забезпечення введення-висновку. І останнє, на їхніх функціях будує свою роботу користувач, а не операційна система. Для виробників зручно поставляти їх, тому що вони використовуються при розробці системного математичного забезпечення, точно так само, як і користувачами.

Пам'ятаючи про ці розходження, у розділах глави, що залишилися, ми розглянемо структуру і реалізацію деяких базових утиліт операційної системи. Вони ні в якому разі не складають якоїсь визначеної безлічі, тому що це залежить від природи операційної системи.

Основні можливості програми

У програмі було використано ряд компонент для безпосередньої роботи з реєстром. Зокрема, було підключено INI файл в якому збережено шляхи до основних гілок , ключів, типів роєстру.

Перший розділ програми “система ” має ряд підгілок ,які обмежують використання функцій некваліфікованими користувачами.

Розлянувши функціїі дисплея ми можемо відключити вкладки опцій дисплея. До них віднесемо те , що з’являється при натисканні “свойства” на робочому столі. На відміну від параметрів і оформлення , фон і заставка не є досить загрозливими для подальшоїі роботи системи. А при зміні параметрів і оформлення користувач має можливість привести систему у неробочий стан. Наприклад, змінивши частоту монітора на вешеможливу ПК увійде у стан зависання.

Наступний розділ включає деякі елементи робочого столу, зокрема мережеве оточення і корзину. Ви можете управляти пунктами контекстного меню корзини: удаляти ,перейменовувати її а також відновляти . Ці пункти є необхідноми леше у тому випадку коли хочете українізувати ОС або зменшити кількість значків на робочому столі. Сам значок “Сетевое окружение” не є великою перешкодою для доступу у мережу, але коли його дизактивувати ви не зможете побачити мережеве оточення в цілому.

Кожна людина, яка знає що таке мережа знає скільки шкоди можна наробити через сітку. І тому було вирішено заборонити сумісний доступ до мережевих пристроїв таких як принтери і файлів безпосередньо.Також можна приховати вікно індентфікації користувача, яке з’являється при спробі мережевого доступу до іншого комп’ютера. Наприклад, коли інший користувач зробив певні свої файли видимими для мережі і обмежив доступ до них паролем то без вікна індентифікації інший користувач може взалі не отримати доступу тієї інформації.

Панель управління – річ цікава. В ній можна змінювати більшість настройок конфігурації системи. Відключивши функцію добавить/удалить користувач позбавляється права видаляти системні продукти кореккно. Безперечно, їх можна видалити за допомогою самовидалення, але коли папка є системною і доступ до неї обмежений , то тоді користувач нічого зробити не може.Console.cpl відповідає за настройки командної строки. Без цієї утиліти ви не зможете редагувати командний рядок, працювати в DOS’і.Devapps.cpl відповідає за пристрої, що підключені до ПК. Без цієї утиліти ви не зможете коректно підключити зовнішні та внутрішні пристрої. Ups.cpl відповідає за джерело безперебійного живлення. Якщо ви працюєте з сервером або з комп’ютером, що обробляє велику кількість інформації раптове вимкнення електроенергії може спричинити збій у ПК і вся інформація буде втрачена. Щоб такого не виникло краще налагодити вищезгадану утиліту і її приховати.

Вкладка принтери відповідає за роботу, вилучення і встановлення принтерів.Функція встановлення принтера відповідає за встановлення цього пристою на операційну систему. У випадку коли принтери вже встановлені на даному комп’ютері вкладку видалити принтер слід забрати.

Пароль, взагалі,- річ тонка. І з ним треба поводитись обережно. При включенні вкладки віддалене управління користувач не може змінювати параметри віддаленого управління. Вкладка “Профили пользователей” визначає чи використовується едина концігурація для всіх користувачів чи кожен має власні настройки. При ввімкненому параметрі “Смена паролей ” користувач не може змінити паролі , тобто ця вкладка є заблокованою.

Вхід в систему у кожного користувача специфічний. Він може бути з паролем або без, певний сценарій входу. Було використано можливість входу в систему без паролю. В цьому є багато своїх плюсів і мінусів. Позитивним є те, користувч не витрачає часу дарма на введення паролю. Але якщо за комп’ютером працює значна кількість користувачів то ця функція є недоречною так як усі вони працюють з правами адміністратора. Тому ця функція є рекомендованою для домашніх систем.Також після натискування клавіш CTRL+ALT+DEL перед входом в систему видається задане повідомлення. Ця функція є доречною для адміністраторів і бавитися нею не слід. Слід зазначити, що збереження імені останнього користувача не завжди є доречним. Можливо ви несанкціоновано використовуєте комп’ютер і нехочете , щоб при будь-яких ниполадках, що ви створили вас звинуватили. Також це є зручніше. Утиліта редагування системного реєстру операційної системи (Regedit. Regedt32) в руках новачка часто призводить до нестабільної роботи системи. Отже, доступ до цієї програми має бути заборонений.

Будь-який користувач може управляти процедурою мережевих з’єднаннь. На кожне мережеве з’єднання користувач повинен моти мережевий пароль. Проте дія цього паролю може ьути обмежена в залежності від того чи ви хочете , щоб той чи інший ресурс використовувався впродовж тривалого терміну. У цьому розділі ви можете перимикатись у запасний шлює у випадку відмови головного.

Windows NT може бути дуже примхлива, при додаванні нового програмного забезпечення чи при установці нового драйвера.У безпечному режимі в Windows NT створюється альтернатива Безпечного режиму Windows. У цьому режимі виконуються додаткові перевірки і завантажуються не всі драйвери.Також користувач може визначати, яку операційну систему запускати за замовчуванням, при початковому завантаженні NT.У цьому файлі також міститься інформація про те скільки секунд чекати перед вибором операційної системи користувачем.

Сам файл MsDos.sys містить багато інформації про версію Dos’а. За замовчуванням Windows дозволяє використання функціональних клавіш при початковому завантаженні, вони дозволяють керувати процесом початкового завантаження, але їх можна і відключити.Також,якщо вихід з Windows був зроблений некоректно, чи комп'ютер був відключений не використовуючи діалогове вікно "Завершення роботи", то система буде намагатися запустити Scandisk при наступному завантаженні Ви можете визначити, чи запускати автоматично Scandisk чи ні. Також у операційній системі існує режим подвійної буферизації. Відключення цього параметра не дозволить Windows завантажувати COMMAND COM чи DRVSPACE BINIDBLSPACE BIN у верхні 640КБ пам'яті.Коли Windows завантажується, Ви звичайно бачите заставку з хмарами, ця заставка може бути відключена, і Ви побачите фоновий процес початкового завантаження DOS.За замовчуванням Windows автоматично завантажує GUI (чи Робочий стіл Windows), за допомогою цього параметра визначено,чи завантажувати GUI чи відображати тільки командний рядок MS-DOS 7.0

Ефективність роботи залежить від правильного налаштування системи.Даний розділ чітко показує , як правильно налаштувати систему на найбільш ефективну роботу.Якщо ви не відчуваєте недостаток в додатковій оперативній пам'яті, то можете прискорити дію файлової системи, збільшивши кеш від 512KB до 4096КБ чи більше. Також швидкодію можна збільшити рипинивши роботу частини NTFS, що відповідає за створення сумісних із МС-ДОС імен файлів у форматі 8.3. Відключення цієї властивості може збільшити ефективність роботи в розділах NTFS, з великою кількістю файлів , що мають довгі імена. Коли Windows NT створює список каталогів (Провідник, команда DIR, та ін.) у розділі NTFS, вона модифікує марку часу останнього доступу на кожному виявленому каталозі. Якщо каталогів дуже багато, це може вплинути на ефективність. Мережа та інтернет також приуповільнюють швидкодію комп’ютера. Оптимізація "RcWVmdow" і "DefaullTTL" поряд з іншими параметрами системного реєстру типу "МахМтu" і "MaxMSS" може прискорити TCP/IP підключення віддаленого доступу до мережі (підключення до Inlernel) на цілих 200% RWIN (‘'Вікно заповнення”) це буфер даних, заповнення якого Ваша машина очікує, перш ніж виявити активність.Також можна зменшити величину затримки між відображенням меню на робочому столі.За замовчуванням у Windows включені функції анімації вікон, хоч це і може виглядати красиво, але вони можуть сповільнити ваш ПК, якщо Ви маєте повільну графічну плату. Відключивши функцію анімації Windows ви збільшите швидкодію. Також можна відключити функцію плавної прокрутки.

Але, всеж таки у Windows є ряд проблем про які детальніше розповідається у цьому розділі.Однією з проблем є використання синхронного чи асинхроннго буфера передачі даних. Цей параметр змінює функцію API передачі файлу так, щоб вона працювала без перевірки правильності запису даних на диск За замовчуванням Windows використовує синхронний буфер передачі, цей параметр дозволить Вам використовувати асинхронний буфер, як альтернативу для програм, що мати потребу в перевірці правильності даних. Наступною проблемою є використання довгих імен файлів для старих програм.Windows звичайно зберігає довгі імена для файлів, до яких звертаються старі програми Ця функція може бути заблокована, якщо у Вас відбуваються помилки LFN при використанні старих програм. Також існує проблема одночасного використання файлів різними користувачами. Цей параметр керує механізмом блокування файлів Відключайте цей параметр тільки в тому випадку, якщо у Вас виникають проблеми з визначеними програмами.Наступною проблемою є керування записом після кєшування. Для збільшення ефективності збереження даних на жорсткому диску використовується запис після кєширования, це означає, що у випадку системного відмовлення може случиться так, що дані будуть не цілком записані на диск Якщо у Вас є програма яка часто викликає системні помилки, Ви можете відключити цю функцію, щоб бути упевненим, що дані записуються безпосередньо на диск, в обхід кєша. Також опеарційній системі має ряд недоліків : зникнення звуку поштової скриньки, пункт “Создать” у контекстному меню провідника, автозапуск Cd-Rom.До цього списку можна віднести і клавішу NUMLOCK ,яказвичайно включається перш, ніж користувач завантажить комп'ютер, це може заподіяти незручності для людей з портативними комп'ютерами, що не перевіряють стан клавіші NUMLOCK перед уведенням пароля Задане за замовчуванням поводження може бути змінене за допомогою цієї установки.Також проблеми виникають із затримкою при відкритті робочої станції (Windows NT). Це відбувається тому , що коли Ви відкриваєте робочу станцію, Windows NT модифікує список доменів, якщо час кєшування списку перевищує двох хвилин (за замовчуванням) Ця часова межа може бути змінена.

Важливо відмітити що Windows має ряд допоміжних функцій. Ви без проблем можете автоматично запускати програми при старті ОС, приховати значки з робочого столу,самому вказувати де розміщувати системні папки, і багато багато інших…