
- •Материнська плата
- •Периферійні пристрої.
- •Клавіатура
- •Принцип роботи клавіатури.
- •Буфер клавіатури.
- •Формування кольору.
- •Загальні параметри відеосистеми.
- •Пристрої друкування Матричні принтери
- •Струминний принтер.
- •Зовнішня пам'ять.
- •Гнучкі диски (fdd).
- •Накопичувач на дисках з високою щільністю запису.
- •Жорсткі диски (hdd).
- •Принцип дії.
- •Конструктивні особливості.
- •Щільність запису.
- •Запис і читання .
- •Позиціонування голівок.
- •Контролер жорстког диска.
- •Чергування секторів.
- •Шини й інтерфейси вінчестерів.
- •Поняття дискового інтерфейсу.
- •Кластери.
- •Магнітні стрічки.
- •Оптичні диски (cd-rom.)
- •Записувані оптичні диски.
- •З 1983 року почали випускати цифрові звукопрогровачі, вони принципово відрізняються від звичайних аналогових електродвигунів.
- •Типові технічні характеристики лазерних систем.
- •Виготовлення компакт-дисків.
- •Структура cd і доріжки запису.
- •Інформаційна поверхня
- •Магнітооптичні диски.
- •Сканери
- •Проблеми, що виникають при передачі інформації Швидкість роботи модему
Чергування секторів.
Заголовок сектора містить номер сектора, що ідентифікує даний сектор на доріжці. Формат заголовка сектора дозволяє нумерувати сектори від 1 до деякого максимального значення, наприклад 256.
Контролер диска не піклується про те, який номер із зазначеного діапазону поміщений у заголовок конкретного сектора, рівно як і те, що контролер не піклується про розмір області даних на секторі. Контролер зобов'язаний зчитувати чи записувати те, що йому наказано.
Програми підготовки диска думають, що сектори нумеруються в деякому простому порядку, наприклад, 1, 2, 3, і т.д., але такий порядок необов'язковий. Звідси і вводиться поняття чергування секторів. Така назва пояснюється тим, що групи номерів із сусідніми номерами чергуються з іншими групами секторів, що мають інші сусідні номери.
Величина чергування визначається коефіцієнтом чергування, представленим у вигляді двох чисел, розділених двокрапкою. Якщо, наприклад, коефіцієнт дорівнює 3:1, то після призначення першому сектору на доріжці адреси 1 два наступних сектори пропускаються, а четвертому сектору на доріжці привласнюється адреса 2. Далі знову пропускається два сектори і сьомий сектор призначається адреса 3. Цей процес продовжується доти, поки всі сектори не одержать адреси.
приклад 1: чергування 1:1
доріжка
-
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
приклад 2: чергування 2:1
доріжка
-
1
10
2
11
3
12
4
13
5
14
6
15
7
16
8
17
9
приклад 3: чергування 3:1
доріжка
-
1
7
13
2
8
14
3
9
15
4
10
16
5
11
17
6
12
У даних прикладах число секторів на доріжках дорівнює 17. Припустимо, ви бажаєте під керуванням ОС зберегти файл на диску і всі сектори в цій області доступні. Тоді, ОС заповнює сектори в порядку їхніх номерів наборами по 512 байт. Dos переходить до наступної голівки в тім же циліндрі, коли перша доріжка виявляється заповненою, і продовжує послідовне заповнення секторів.
Даний процес продовжується до заповнення циліндра, після чого dos дає команду контролеру перемістити блок голівок на одну доріжку і т.д. Поки не буде записаний весь файл.
Процес зчитування здійснюється в тім же порядку. При цьому dos передає контролеру три компоненти фізичної адреси сектора, що зчитується. Контролер диска просто переміщає блок голівок на потрібний циліндр, вибирає потрібну голівку й очікує появи потрібного сектора під голівкою. Контролер зчитує заголовок кожного сектора, порівнюючи адресну інформацію з заголовків з відшукуються циліндром і голівкою тим самим перевіряє правильність роботи привода блоку голівок. При збігу адрес, контролер включає схему запису чи зчитування в залежності від необхідної операції.
Крім того, після локалізації потрібного сектора контролер диска повинний обробити інформацію з цього сектора до переходу до наступного сектору. При зчитуванні даних контролер повинний обчислити ecc для зчитаних даних і порівняти його з записаним есс; при записі контролер повинний обчислити есс для його збереження разом з даними. Коли контролер здійснює ці операції, то диск продовжує обертатися.
У прикладі 1 сектори по доріжці пронумеровані послідовно і якщо під час обробки контролером одного сектора диск повертається більше ніж на міжсекторний проміжок, наступний сектор, що повинний брати участь в операції зчитування чи запису, вже минеться під голівкою на якусь відстань. У цьому випадку контролер повиненй очікувати поки диск не зробить майже повний оберт, перш ніж потрібний сектор не підійде до голівки. У даній ситуації контролер жорсткого диска забезпечує зчитування за кожен оберт усього лише одного сектора, що безумовно вабить досить низьку швидкість обміну інформацією між мікропроцесором і пзп в цілому.
Безумовно, дану проблему можна було б вирішити шляхом збільшення міжсекторного проміжку, але при цьому пропорційно буде зменшуватися ємність накопичувача. Інженер фірми ibm знайшов інше рішення цієї проблеми. Він пронумерував сектори не послідовно, а з коефіцієнтами чергування 2:1, 3:1 і т.д.
При коефіцієнті чергування 1:1 зчитування всіх секторів на одній доріжці вимагає тільки одного оберту - якщо, звичайно, контролер диска може досить швидко обробляти інформацію, інакше контролеру знадобитися стільки обертів диска, скільки секторів на доріжці.
Збільшення коефіцієнта чергування 2:1 (приклад 2) означає, що доріжка повинна пройти під голівкою мінімум двічі, щоб зчитати чи записати всі сектори послідовно. При цьому сповільнюється поява секторів під голівкою так, що контролер диска буде готов приступити до обробки потрібного наступного сектора. Якщо коефіцієнт чергування 2:1 виявляється недостатньо повільним, тоді можна використовувати коефіцієнт 3:1 (приклад 3) і т.д.
Для того, щоб вибрати ідеальний варіант коефіцієнта чергування для конкретного накопичувача доводиться враховувати крім швидкодії контролера диска ще і частоту синхронізації материнської плати і, зокрема, швидкість роботи шини вводу-виводу того розйому, у який встановлений контролер.
Таким чином, усі ці фактори показують, що визначити правильний коефіцієнт чергування можна тільки на системному рівні, т.е. Фахівцем, що збирає диск, контролер і комп'ютер. Проте, через складність такого визначення, до недавнього майже на всіх пеот коефіцієнт чергування був неправильним. Дана проблема була дозволена за допомогою спеціальних програм, наприклад hoptimum. На жаль програми цього раннього покоління були не досконалі і багато хто з них працювали з переформатуванням, що руйнує, однієї чи декількох доріжок і знищенням даних, якщо їх використовували не фахівці чи була виявлена неуважність. Усі сучасні програми, наприклад, spinrite стали зовсім безпечними за винятком програми iau.
З появою ide і scsi-накопичувачів проблема чергування секторів зважується, тому що вони забезпечують правильну роботу з коефіцієнтом 1:1.
У багатьох сучасних накопичувачах (особливо в накопичувачах ide і scsi і платах жорстких дисків) убудований буфер доріжки. Цей буфер дозволяє накопичувачам зчитувати відразу цілу доріжку, а не обробляти кожен сектор окремо.
Іноді проблема залишається, але тільки при переході операції зчитування з однієї доріжки на іншу, що не грає особливої ролі, тому що такий перехід відбувається значно рідше, ніж перехід від одного сектора до наступного. Якщо ж перехід між доріжками не вирішує цілком проблему, тоді можна скористатися, наприклад, механізмом перекосу голівок. Деякі контролери мають навіть два буфери доріжки: один для збереження зчитуваних чи записуваних даних, а інші - для обробки чи підготовки до попередньої чи наступної доріжки.
Деякі контролери st412/st506 і esdi також мають буфери доріжок.
Практичний результат такого підходу полягає в тому, що ці накопичувачі можуть працювати з коефіцієнтом чергування 1:1 незалежно від швидкодії системного блоку. Швидкодія системного блоку впливає тільки на те, скільки часу повинно пройти після закінчення обробки однієї доріжки до переходу до наступної.
Перекіс голівок.
Як уже відзначалося вище - при записі файлу на диск os на початку заповнює одну доріжку, а потім переходить до наступного голівки в тім же циліндрі. Вибір потрібної голівки відбувається досить швидко, так як це здійснюється на електронному рівні. Коли циліндр виявиться заповненим, то os переходить до наступної доріжки. Кожен такий перехід з однієї доріжки на іншу вимагає певного часу, у течії якого диск по колишньому продовжує обертатися.
Припустимо, що ви тільки що закінчили запис в останній сектор на одній доріжці. Нехай коефіцієнт чергування встановлен оптимальним і ви готові записувати в наступний сектор наступної доріжки. Але, якщо операція переключення голівки і переміщення блоку голівок забирає помітний час, то незважаючи на чергування, голівка спізнюється. Рішення полягає в тому, щоб зрушити номера всіх секторів на новій доріжці на одну (чи більш) позицій щодо їхніх позицій на попередній доріжці. У цьому і полягає ідея перекосу голівок.
Розглянемо цю ідею більш докладно на прикладі для диска, що містить два робітники пластини тобто 4-і робітників поверхні з коефіцієнтом чергування секторів 1:1 на одній поверхні, перекосом голівок +1 (тому що час переключення голівок не дуже велике) і перекосом циліндрів, припустимо, +3 (тому що переміщення блоку голівок займає більше часу). Секторів на доріжці приймемо 17.
На першій доріжці (голівка 0, циліндр 0 - це зовнішня доріжка верхньої поверхні верхнього диска) сектори пронумеровані послідовно з номера 1, починаючи відразу після проміжку доріжки. Наступна доріжка, що записується чи зчитується в тій же позиції, знаходиться на протилежній стороні верхнього диска - це доріжка 0 для голівки 1. При цьому, номера її секторів починаються з 17, а потім йдуть номера 1,2,3 і т.д. Ці сектори зміщені щодо секторів на попередній доріжці, тобто Реалізований перекіс голівок на +1.
Після запису всіх секторів на доріжці з голівкою 0, циліндром 0 і всіх секторів на наступній доріжці (голівка 1, циліндр 0) наступною повинна записуватися доріжка на верхній стороні нижнього диска (голівка 2, циліндр 0). При цьому, номера її секторів починаються з 16,17 а потім йдуть номера 1,2,3 і т.д. Ці сектори зміщені щодо секторів на попередній доріжці, тобто Реалізований перекіс голівок на +1.
Цей порядок дотримується і для останньої доріжки циліндра 0 (голівка 3). Причому, остання доріжка починається з номера сектора 15.
Далі блок голівок повинний бути переміщений на циліндр 1 і запис повинний початися голівкою 0 на верхній стороні диска. За умовою задачі перекіс голівок складає +3. Таким чином, 15-3=12,а значить доріжка 0, циліндра 1 містить нумерацію секторів починаючи з 12.
Аналогічно усі повторюється для циліндра 1, 2 і т.д.
Деякі високопродуктивні контролери диска надають користувачу можливість зміни перекосу голівок, але більшість контролерів цього недопускає. З появою більш швидких дискових накопичувачів питання перекосу голівок стане більш актуальним, чим зараз, звичайно за умови якщо в принципі не буде знайдено іншого рішення усунення марного часу вчасно зчитування чи запису інформації.