Зчитування сектора з диска
Ефективний спосіб збереження інформації, технологія жорсткого диска: доріжки, сектори і головки; зміни магнітного потоку; кодування даних. Вибір операційних систем для раціонального використання простору диску. Розробка програми визначення формату FAT.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 18.01.2013 |
Размер файла | 218,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Зміст
Вступ
1. Опис предметної області
1.1 Технологія жорсткого диска з середини
1.1.1 Попереднє знайомство
1.1.2 Доріжки, сектори і головки
1.1.3 Зміни магнітного потоку
1.1.4 Кодування даних
1.2 Таблиця розміщення файлів
1.2.1 Збереження інформації
1.2.2 Що зберігається в таблиці розміщення файлів?
1.2.3 Як програма визначає формат FAT
1.2.4 Формат FAT
1.2.5 FAT захищеного режиму
1.2.6 Операційні та файлові системи FAT
Висновок
Список використаної літератури
Додатки
Додаток 1. “Структурна схема жорсткого диска. Принцип роботи”
Додаток 2. “Блок-схеми алгоритму”
Додаток 3. “Текст програми”
Вступ
В даний час у усіх обчислювальних системах є пристрої зовнішньої пам'яті, які використовують для накопичення інформації гнучкі і жорсткі диски. Незалежно від типу і ємкості, вони використовують той самий принцип довгострокового збереження інформації у виді намагнічених ділянок поверхні накопичувача. При прямуванні повз неї зчитувального пристрою, у ньому збуджуються імпульси току.
Спочатку (у 1981 році) IBM PC мали один-єдиний тип зовнішньої пам'яті - односторонні гнучкі п'ятидюймові магнітні диски подвійної щільності з програмною розбивкою секторів ємністю 150K. З тих пір IBM значно збільшила ємність дисків, був доданий новий стандартний розмір дисків (три з половиною дюйма), проте фізична і логічна структура диска не перетерпіла значних змін.
1. Опис предметної області
1.1 Технологія жорсткого диска з середини
1.1.1 Попереднє знайомство
Мало кому доводилося бачити жорсткий диск як такий. На відміну від гнучких дисків легко ранимі жорсткі диски повинні бути постійно укладені в захисну алюмінієву оболонку. Усе, що ми бачимо - це дисковод жорсткого диска - металевий ящик із деякою електронікою на ньому. Немає простого засобу проникнути усередину ящика і подивитися на обертовий диск. Дисководи можна відкривати тільки в гермозонах, де робітники носять хірургічний одяг і з повітря відфільтрована вся пилюка. Деякі типи дисків укладені в знімні пакети і вставляються в дисковод, але більшість дисків - нез'ємні. Невеличкі дисководи з нез'ємними дисками винайдені фірмою IBM і прозвані вінчестерськими дисками(через збіг кодового номера дисковод з номером моделі знаменитої вінчестерської рушниці) (Див. Структурну схему жорсткого диска в Додатку 1).
1.1.2 Доріжки, сектори і головки
Незважаючи на свою значну зброю, жорсткий диск не є чимось драматично відмінним від скромного гнучкого диска. Дані запам'ятовуються у вигляді намагнічених областей, що записуються на окружностях навколо центру диска. Кожна з концентричних окружностей являє собою доріжку, а кожна доріжка ділиться на рівні сегменти, названі секторами. Головка читання-запису рухається від зовнішнього краю диска до центру, зупиняючись над доріжкою, що містить інформацію, необхідну комп'ютеру. Опинившись у потрібному положенні, головка чекає, коли потрібний сектор виявиться під нею при обертанні диска, а потім читає або пише дані по мірі проходження сектора.
Різниця між гнучкими і жорсткими дисками
Жорсткі диски вигідно відрізняються від гнучких високою щільністю запису даних на поверхні диска і високою швидкістю роботи. У той час як стандартний 360-Кбайт гнучкий диск має 40 доріжок, жорсткі диски того ж діаметра можуть мати їх більш 1000. І вони можуть пакувати вчетверо більше даних на одну доріжку. Для таких високих щільностей даних потрібно дуже маленька голівка читання-запису, розташована дуже близько до поверхні диска. Гнучкість диска призводила б до коливань поверхні й ударам по головці читання-запису. Так що диски робляться жорсткими, із твердих алюмінієвих пластин, покритих магнітним матеріалом.
Жорсткі диски славляться також своєю швидкістю. У той час як гнучкий диск у дисководі обертається зі швидкістю від 300 до 360 об/хв, швидкість більшості жорстких дисків дорівнює 3600 об/хв. Крім того, дисководи жорстких дисків переміщають головку читання-запису від доріжки до доріжки в декілька разів швидше, чим дисковод гнучких дисків.
1.1.3 Зміни магнітного потоку
Поверхня жорсткого диска містить намагнічені частинки металу. Кожна частинка має північний і південний полюс зовсім як великі магніти. Головка читання-запису може прикладати магнітне поле до малюсінької групки цих частинок, змінюючи їхню полярність так, що північ стає півднем і навпаки. Мінімальна площа поверхні диска, що може зберігати такі зміни магнітного потоку, називається магнітним доменом. Тисяча доменів разом складають доріжку. У той час як диск обертається під головкою, вона увесь час змінює полярність магнітного поля, створюючи послідовність змін полярності на диску.
1.1.4 Кодування даних
Вся інформація в комп'ютерах зберігається у вигляді наборів із "одиниць" і "нулів". Наприклад, коли ви в документі друкуєте букву "A"(латинське),цей символ потім буде запам'ятований на диску у вигляді набору "10000010".
Це вісім біт, що створюють байт даних.(Набір, узагалі говорячи, може бути довільним; у даному випадку він є частиною стандарту ASCII-Американського стандартного коду для обміну інформацією, тобто символом у коді ASCII.)Коли символ записується на диск, головка читання-запису в потрібному ритмі змінює полярність магнітного поля, перетворюючи набір бітів у послідовність восьми магнітних доменів уздовж доріжки. Зміна полярності відповідає значенню "1", а відсутність зміни - "0".
При зчитуванні даних дисководом усе відбувається навпаки. головка пасивно "парить" над поверхнею диска, і, коли малюсінькі магнітики, що утворюють магнітні домени, проходять під нею, вони ледве впливають на магнітне поле головки. Електроніка дисководів багаторазово посилює ці слабкі обурення, перетворюючи їх у послідовності "1"-"0",що потім надходять у мікросхеми пам'яті комп'ютера.
Щільність даних. Навіть гнучкий диск може містити приголомшливу кількість магнітних доменів на одній доріжці - далеко за 30000,що достатньо для запам'ятовування двох екранів тексту. Жорсткі диски пишуть як мінімум 10000 доменів на один дюйм доріжки. Якщо врахувати, що жорсткий диск робить 3600 об/хв, то ви зрозумієте, що головка читання-запису працює дуже і дуже швидко. За секунду під нею проходить не менше 5 млн. доменів.
1.2 Таблиця розміщення файлів
1.2.1 Збереження інформації
Відразу після завантажувального сектора на логічному диску знаходяться сектори, що містять таблицю розміщення файлів FAT (File Allocation Table).
Для того, щоб призначення цієї таблиці стало більш зрозумілим, розглянемо, як організоване збереження інформації на різноманітних носіях даних.
Магнітні стрічки
При використанні магнітних стрічок інформація записується у вигляді файлів із послідовним доступом. Послідовний доступ означає, що для читання якогось файлу потрібно спочатку прочитати всі попередні файли. При записі інформація може добавлятися в кінець стрічки, після тієї інформації, що була записана востаннє.
Якщо ви спробуєте перезаписати файл, то це може привести до втрати усіх файлів, розташованих на магнітній стрічці після нього (цього файлу).
Доступ до інформації, записаної на магнітному диску, може виконуватися або послідовним, або прямим методом доступу. Використання прямого методу доступу дозволяє позиціонувати головки відразу на той файл, що вам потрібний (або на потрібний запис файлу). Наприклад, ви можете задати номер сектора на визначеній доріжці і номер голівки.
Але метод доступу - це ще не усе. Важливе значення має засіб розподілу місця на диску для файлів. Від правильного вибору засобу розподілу залежить ефективність роботи програм.
Операційна система дозволяє задати початкову кількість циліндрів диска для розміщення набору даних і розмір області диска, що може бути використана для цього набору додатково. Якщо при записі у файл усе розподілене для файлу місце на диску виявиться вичерпаним, програма завершиться аварійно, навіть якщо на диску ще є вільні циліндри.
Операційні системи, такі як DOS, UNIX, OS/2 використовують дисковий простір іншим способом.
У цих операційних системах при створенні файлу для нього не задається початковий розподіл пам'яті в доріжках або секторах. У міру того, як файл збільшується в розмірах, операційна система відводить цьому файлу сектори з числа вільних, не використовуваних іншими файлами. При цьому файл розташовується не обов'язково в суміжних областях диска, він може бути розкиданий по різних доріжках і секторах.
Очевидно, що в цьому випадку операційна система повинна вести облік використовуваних ділянок диска. Для кожного файла вона повинна берегти десь інформацію про те, якому файлу які ділянки диска відведені.
Як правило в операційних системах для збереження цієї інформації використовується таблиця розміщення файлів.
Весь диск розбивається операційною системою на ділянки однакового розміру, які називаються кластерами. Кластер може містити декілька секторів. Для кожного кластера FAT має свою індивідуальну комірку , в якій зберігається інформація про використання даного кластера. Іншими словами, таблиця розміщення файлів - це масив, що містить інформацію про кластери. Розмір цього масиву визначається загальною кількістю кластерів на логічному диску. (Саме кластерів, а не секторів!).
1.2.2 Що зберігається в таблиці розміщення файлів?
Всі вільні кластери позначені в ній нулями. Якщо файл займає декілька кластерів, то ці кластери пов'язані в список. Для пов'язаних у список кластерів елементи таблиці FAT містять номера наступних використовуваних даним файлом кластерів. Кінець списку відзначений у таблиці спеціальним значенням. Номер першого кластера, виділеного файлу, зберігається в елементі каталогу, що описує даний файл.
Утиліти операційної системи і деякі спеціальні утиліти перевіряють диск на предмет наявності дефектних областей. Кластери, що знаходяться в цих дефектних областях, відзначаються в FAT як погані і не використовуються операційною системою.
Отже, FAT - масив інформації про використання кластерів диска, містить однозв'язні списки кластерів, розподілених між файлами. Номера початкових кластерів файлів зберігаються в каталогах.
Розглянемо спочатку два формати FAT - 12-бітовий і 16-бітовий. Ці формати використовують, відповідно, 12 і 16 бітів для збереження інформації про один кластер диска.
12-бітовий формат зручний для дискет із невеликою кількістю секторів - уся таблиця розміщення файлів поміщається в одному секторі. Якщо розмір диска такий, що для представлення всіх секторів дванадцятьох розрядів недостатньо, можна збільшити розмір кластера, наприклад до восьми секторів. Проте великий розмір кластера приводить до неефективного використання дискового простору. Це відбувається через те, що мінімальний виділяємий файлу елемент - кластер - має занадто великий розмір. Навіть для файлу, що має довжину 1 байт виділяється цілий кластер. Виходить, якщо розмір кластера складає 8 секторів, то для збереження одного байта буде використано 4 кілобайта дискової пам'яті.
При використанні FAT 16-бітового формату операційна система може працювати з диском, що має розмір більш 32 мегабайт. DOS версії 4.0 при використанні 16-бітового формату FAT і кластерів розміром 4 сектори може працювати з розділами, які по розміру досягають 134 мегабайти.
1.2.3 Як програма визначає формат FAT
Для DOS версії 3.0 16-бітовий формат використовується, якщо розмір диска перевищує 4086 кластерів. Це число утворилося виходячи з того, що в 12 розрядах може бути подане максимальне число 4096, крім того, значення, більші 0ff6, зарезервовані.
Для DOS версії 3.2 16-бітовий формат FAT використовується в тому випадку, коли розмір диска перевищує 20790 секторів (саме секторів, а не кластерів). Фактично це означає, що 16-бітовий формат використовується тільки для дисків, що мають розмір більш 10 мегабайт.
Сектор завантажувального запису (BOOT-сектор) диска, відформатованого в DOS версії 4.0 у полі зі зсувом 36h містить восьмибайтовий рядок, що ідентифікує формат FAT. Вона має вигляд "FAT12 " або "FAT16 ". Можна використовувати це поле для визначення формату FAT. У структурі BOOT, описаної у файлі sysp. h, це поле називаєтьcя fat_format.
Якщо розділи на жорсткому диску створювалися утілітою DOS FDISK, формат FAT можна визначити, аналізуючи вміст поля sys головного завантажувального запису (Master Boot Record). Якщо це поле містить значення 1, використовується 12-бітовий формат, якщо 4 - 16-бітовий. Проте диск, підготовлений програмами диск-менеджерів, може мати нестандартний для DOS формат таблиці розділів диска (Partition Table), і поле sys може містити інші розміри, відмінні від 1 і 4.
1.2.4 Формат FAT
Перший байт FAT називається "Описувач середовища" (Media Descriptor) або байт ID ідентифікації FAT. Він має таке ж значення, як і байт-описувач середовища, що знаходиться в BOOT-секторі логічного диска.
Наступні 5 байтів для 12-бітового формату або 7 байтів для 16-бітового формату завжди містять значення 0ffh.
Вся інша частина FAT складається з 12-бітових або 16-бітових комірок, кожна комірка відповідає одному кластеру диска. Ці комірки можуть містити такі значення: FAT12 FAT16
Що означає 000h0000h - вільний кластер,
ff0h - ff6hfff0h - fff6h - зарезервований кластер,
ff7hfff7h - поганий кластер,
ff8h - fffhfff8h - ffffh - останній кластер у списку,
002h - fefh0002h - ffefh - номер такого кластера в списку.
Безпосередній доступ до FAT може знадобитися для:
організації сканування каталогів для пошуку потрібних файлів;
для читання каталогів як файлів;
для організації захисту інформації від несанкціонованого копіювання.
Загальна схема використання FAT така:
Читаємо FAT у пам'ять. Як уже зазначалося FAT розташовується відразу після BOOT-сектора (логічний сектор із номером 1). Для точного визначення початкового сектора FAT потрібно прочитати у пам'ять BOOT-сектор і проаналізувати вміст блока параметрів BIOS. У поле ressecs записана кількість зарезервованих секторів, що розташовуються перед FAT. Поле fatsize містить розмір FAT у секторах. Крім того, варто враховувати, що на диску може знаходитися декілька копій FAT. Операційна система використовує тільки першу копію, інші потрібні для утіліт відновлення вмісту диска. Кількість копій FAT знаходиться в полі fatcnt BOOT-сектора.
Потім необхідно визначити номер першого кластера файлу, для якого необхідно визначити його розташування на диску.
Використовуємо номер першого кластера як індекс у FAT для отримання номера такого кластера.
Повторюємо цю процедуру доти, поки отримане з FAT значення не буде відповідати кінцю файлу.
Процедура витягу номера кластера з FAT залежить від формату таблиці розміщення файлів.
16-бітову FAT можна уявити як масив 16-бітових чисел. Для визначення номера такого кластера треба просто отримати 16-бітове значення з FAT, використавши в якості індексу номер попереднього кластера.
Для 12-бітової FAT процедура значно складніша.
Необхідно виконати такі дії:
Помножити номер початкового кластера на 3.
Розділити результат на 2 (тому що кожний елемент таблиці має довжину 1.5 байта).
Прочитати 16-бітове слово з FAT, використовуючи в якості зсуву значення, отримане після ділення на 2.
Якщо номер початкового кластера парний, на вибране з FAT слово треба накласти маску 0fffh, залишивши молодші 12 бітів. Якщо номер початкового кластера не парний, вибране з FAT значення необхідно зсунути вправо на 4 біта, залишивши старші 12 біт.
Отриманий результат - номер такого кластера в ланцюгу, значення 0fffh відповідає кінцю ланцюга кластерів.
Файлова система {DOS} має деревоподібну структуру. У кореневому каталозі розташовуються 32-байтові елементи, що містять інформацію про файли й інші каталоги. Для читання кореневого каталогу необхідно визначити його розташування і розмір.
Кореневий каталог знаходиться відразу за останньою копією FAT. Кількість секторів, що займаються однією копією FAT, знаходиться в блоці параметрів BIOS у BOOT-секторі в полі fatsize, кількість копій FAT - у полі fatcnt блока BPB. Отже, перед кореневим каталогом знаходиться один BOOT-сектор і (fatcnt_*_fatsize) секторів таблиці розміщення файлів FAT.
Розмір кореневого каталога можна визначити виходячи із значення поля rootsize. У цьому полі при форматуванні диска записується максимальна кількість файлів і каталогів, що можуть знаходитися в кореневому каталозі. Для кожного елемента в каталозі виділяється 32 байта, тому кореневий каталог має довжину (32_*_rootsize) байтів.
Після кореневого каталогу на логічному диску знаходиться область файлів і підкаталогів кореневого каталогу. На малюнку зображені всі області логічного диска. Таку структуру мають логічні диски, розташовані в розділах жорстких дисків, а також дискети.
Області логічного диска
Номер початкового сектора на логічному диску
+----------------------+
: : 0
: BOOT-сектор і :
: зарезервовані :
: сектори :
: :
+------------------- :
: : ressecs - кількість резервних
: Перша копія FAT : секторів
:
+------------------- :
: : ressecs+fatsize
: Друга копія FAT :
: :
+------------------- :
: : ressecs+(fatsize*fatcnt)
: Кореневий каталог :
: :
+------------------- :
: : ressecs+(fatsize*fatcnt)+
: Область даних : sectsize_/_(32*rootsize)
: :
1.2.5 FAT захищеного режиму
FAT захищеного режиму - це стандартна файлова система, яка використовується Windows 95 для пристроїв масової пам`яті, наприклад, для дисководів і жорстких дисків. FAT захищеного режиму сумісна з FAT MS-DOS і також зберігає інформацію про вміст диску на основі таблиці розміщення файлів і записів в каталогах. Крім того, FAT захищеного режиму підтримує довгі імена і зберігає дату і час створення файлу, а також дату останнього доступу. жорсткий диск інформація сектор
У FAT захищеного режиму допустимі імена файлів довжиною до 256 символів, включаючи нульовий завершальний символ. В цьому плані вона схожа з файловою системою Microsoft Windows NT (NTFS), яка теж працює з довжиною файлів до 256 символів. Довжина шляху в FAT захищеного режиму (без імені самого файлу) може бути до 246 символів (сюди входять ім'я диску, дві крапки і зворотній слеш). максимальне число символів в повному імені файлів (разом з іменем диска, двокрапкою, шляхом і завершальним нульовим символом) рівне 260.
Коли додаток створює файл чи каталог з довгими іменами, система автоматично генерує для нього відповідний псевдонім в стандартному форматі "8.3", використовуючи ті символи, які допустимі в FAT MS-DOS. до них відносять любі комбінації латинських букв, цифр і символів з ASCII-кодами більше 127, а також пробіл і спеціальні символи:
!%()_-@`~{}&#^$'
Не дивлячись на те, що пробіл допустимий в іменах файлів та каталогів у попередніх версіях DOS, багато додатків не признають їх. По цій причині операційна система, генеруючи псевдонім для довгих імен, не використовує пробіли. Крім того, MS-DOS не відрізняє в іменах файлів і каталогів букви верхнього і нижнього регістрів, це поширюється і на псевдоніми.
Windows 95 зберігає регістр букв, вказаних в довгих іменах файлів. Але FAT захищеного режиму, не враховує регістр букв, і не дозволить створити в одному каталозі двох файлів наприклад з такими іменами FileName і filename.
1.2.6 Операційні та файлові системи FAT
Сьогодні FAT явно не є найдосконалішою з файлових систем, хоча і підтримується всіма ОС. Майже кожна операційна система пропонує власні формати, які мають переваги у відношенні збереження даних, швидкості доступу, використання об'єму жорсткого диску і т.п. Так, наприклад, при застосуванні Windows NT слід вибирати NTFS, якщо основними вимогами є надійність і швидкість. Правда при певних обставинах можна само заблокуватися, якщо із-за проблем в апаратній частині чи в програмному забезпеченні виявиться неможливим запустити цю операційну систему. До цих даних не можна буде звернутися навіть з допомогою іншої операційної системи.
До файлової системи FAT16 може звертатися практично люба ОС. Якщо створити первинний розділ в цьому форматі і якщо цей розділ має розмір до 1ГБ, то це найкращі умови для інсталяції декількох різних операційних систем на одному ПК. Існуючі розділи можуть зменшуватися або ділитися без втрати даних лише з допомогою комерційних допоміжних програм, наприклад Partition Magic.
Користувач, який бажає розмістити на одному ПК довільну комбінацію самостійно загружаючи систему DOS, Windows 95/98 i NT 4.0 з можливістю сумісного доступу до масивів, не обійдеться без FAT16. Правда, перевагам сумісного використання масивів даних і програм протистоять деякі недоліки.
Під традиційними версіями MS-DOS включно до версії 6,22 неможливо, наприклад, мати безпосередній доступ до файлів з довгими іменами, які використовуються Windows 95/98 або NT 4.0; такий доступ можна мати лише до файлів скороченими до 8 символів іменами MS-DOS і розширенням з трьох символів (формат 8.3). Якщо ви записуєте, переносите чи копіюєте в MS-DOS 6.22 і більш ранніх версіях файл, що має довге ім'я, то таке ім'я обрізається до формату 8.3.
Ще не приємнішим є те, що деякі DOS чи Windows-програми оптимізації файлової системи при використанні їх у файлових системах Windows 95/98 чи NT 4.0 замість користі приносять шкоду, тому що заплутують таблицю розміщення файлів і структури директорій (наприклад, більш старі версії Norton Disk Doctor). Таким чином, програми DOS, які безпосередньо маніпулюють структурами директорій або FAT, застосовувати на FAT16 не можна.
Ще один недолік файлового формату FAT16 максимальна ємність диску: з його використанням можна адресувати лише 2047 МБ на одному розділі. До того ж ці трохи більше 2 ГБ використовують ще дещо більше пам'яті оскільки FAT16 в цьому випадку розмір кластерів у 32 КБ. Це стає помітним при великій кількості малих файлів. Навіть дуже малі файли в любому випадку займають не менше 32КБ пам'яті жорсткого диску.
FAT32 підтримується Windows 95 OSR2, Windows 98 і Linux (починаючи з Kernel 2.0.34), а також майбутньою Windows NT5.0 файлова система FAT32 дозволяє установити мінімальний розмір кластерів всього в 4КБ (замість 32КБ) навіть для дисків ємністю до 8 Гбайт. FAT12 і FAT16 вони також підтримують. Старіші версії Windows 95, NT 4.x, Linux, нажаль, не підтримують FAT32. Таким чином, для обміну даними між любими операційними системами у випадку використання файлової системи FAT32 шлях закритий.
ОС / Файл. Система |
FAT16 |
FAT32 |
|
DOS/Windows 3.x |
+ |
- |
|
Windows 95 |
+ |
(+) починаючи з OSR2 |
|
Windows 98 |
+ |
+ |
|
Windows NT до 4.х |
+ |
- |
|
Windows NT 5.0 (*) |
+ |
+ |
|
OS/2 |
+ |
- |
|
Linux |
+ |
(+) починаючи з ядра 2.0.34 |
Увага!
Файлова система FAT не допускає, щоб були логічні диски, каталоги, файли з однаковими ідентифікаторами!
Забороняється у повному імені файлу використовувати пробіл!
Приклади допустимих імен файлів:
Format. com Read. me MyFyle. txt 28-03-96. doc 123. 45
Приклади недопустимих імен файлів:
123456789.txt aa?.doc 35*.? It.F.doc .txt
Висновок
Безумовно жорсткі диски пристрої які швидко розвиваються, які можуть вирішувати назріваючі проблеми з великими об'ємами інформації. Їх подальший розвиток залежить не тільки від технології запису на них, але і від прогресу в області інших носіїв інформації. І якщо буде винайдений більш ефективний спосіб збереження інформації, то жорсткі диски займуть максимально домінуючі ролі.
Список використаної літератури
1. P. Norton "Programmer's guide to the IBM PC" - Microsoft Press 1985
2. С.Х. Гореликов "IBM PC. Дисковая подсистема: контроллеры, накопители и их обслуживание" - М, Звезды и С, 1992
3. Л.В. Букчин, Ю.Л. Безрукий "Дисковая подсистема IBM-совместимых персональных компьютеров" - М, Press-Media, 1993
4. TECH Help!, Flambeaux Software, Dan Rollins
5. Описание FFORMAT v2.97
6. Р. Данкан "Профессиональная работа в MS-DOS" - М, Мир, 1993
7. Толковый словарь по вычислительным системам / под редакцией В. Иллингуорта и др. - М, Машиностроение, 1989
8. А. Щербаков "Защита от копирования", М, Эдель, 1992
9. Сван Том. Освоение Turbo Assembler: Пер. с. англ.. - 2-е изд. - К.; М.; СПб.: Діалектика, 1996.
10. http://iXBT.stack.net/win/storage/newtechhd.html
11. http://iXBT.stack.net/win/storage/mdfaq.html
12. http://iXBT.stack.net/win/storage/hdd-nonpc.html
13. http://iXBT.stack.net/win/storage/ide.html
Додаток 1
Структурна схема жорсткого диска. Принцип роботи
Додаток 2
Блок-схеми алгоритму
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Додаток 3
Текст програми
%TITLE“Курсовий проект на тему: Зчитування сектора з диска”
IDEAL
MODELsmall
STACK100h
DATASEG
STRUCStrInOA
MaxSizeDB3
SizeDB?
StringDB3 DUP (?)
ENDSStrInOA
s_buffDB512 DUP (?)
CRLFDB10, 13, 0
ask_hDB“Введіть номер сторони: “, 0
ans_hStrInOA < >
ask_tDB“Введіть номер доріжки: “, 0
ans_tStrInOA < >
ask_sDB“Введіть номер сектора: “, 0
ans_sStrInOA< >
ansDB“Ось вміст шуканого сектора: “, 10, 13, 0
err_rDB“Помилка! Пересвідчіться, що диск в кармані дисководу”
DB10, 13, 0
titlDB“Курсовий проект на тему: Зчитування”
DB“довільного сектора з диска”, 10, 13, 0
CODESEG
Start:
movax, @data
movds, ax
moves, ax
; - - - - -
movsi, OFFSET titl
callOutASCIIZ
movsi, OFFSET CLRF
callOutASCIIZ
movsi, OFFSET ask_h
callOutASCIIZ
movah, 0Ah
movdx, OFFSET ans_h
int21h
movsi, OFFSET CRLF
callOutASCIIZ
movsi, OFFSET ask_t
callOutASCIIZ
movah, 0Ah
movdx, OFFSET ans_t
int21h
movsi, OFFSET CLRF
callOutASCIIZ
movsi, OFFSET ask_s
callOutASCIIZ
movah, 0Ah
movdx, OFFSET ans_s
int21h
movsi, OFFSET CLRF
callOutASCIIZ
movbx, OFFSET ans_h.String
callStrToNum
movdh, al
pushdx
movbx, OFFSET ans_t.String
callStrToNum
movch, al
pushcx
movbx, OFFSET ans_s.String
callStrToNum
popcx
popdx
movcl, al
movsi, OFFSET CLRF
callOutASCIIZ
movdl, 0; Dive A:
movbx, OFFSET s_buff
callReadSector
callOutDump
; - - - - -
Exit:
movax, 4C00h
int21h
PROCOutASCIIZ
pushax
pushbx
pushdx
movah, 2
xorbx, bx
@@10:
movdl, [si+bx]
cmpdl, 0
je@@99
int21h
incbx
jmp@@10
@@99:
popdx
popbx
popax
ret
ENDPOutASCIIZ
PROCReadSector; ch<-track, cl<-sector, dh<-head, dl<-drive,bx<-
movax, 0201h
int13h
jnc@@10
popax
movsi, OFFSET err_r
callOutASCIIZ
jmpExit
@@10:
ret
ENDPReadSector
PROCStrToNum; bx<-buffer [StrInOA.String]
xorax, ax
xorsi, si
movcl, 10
@@10:
movah, [bx+si]
cmpah, 13
je@@20
pushax
mulcl
popdx
movah, dh
subah, `0'
addal, ah
incsi
jmp@@10
@@20:
ret
ENDPStrToNum
PROCHexToStr; al<-number
push cx
xorah, ah
movcx, 0A10h
divcl
cmpah, ch
jb@@10
addah, `A' - 10
jmp@@20
@@10:
addah, `0'
@@20:
cmpal, ch
jb@@30
addal, `A' - 10
jmp@@40
@@30:
addal, `0'
@@40:
pushax
movdl, al
movah, 2
int21h
popax
movdl, ah
movdh, 2
int21h
popcx
ret
ENDPHexToStr
PROCOutDump
movbx, OFFSET s_buff
xorsi, si
movcx, 1
@@10:
moval, [bx+si]
callHexToStr
cmpcx, 27
pushf
je@@20
movah, 2
movdl, ` `
int21h
inccx
@@20:
incsi
cmpsi, 512
je@@99
popf
jne@@30
movcx, 1
@@30:
jmp@@10
@@99:
popax
ret
ENDPOutDump
ENDStart
Размещено на Allbest.ru
Подобные документы
Позначення і назва програми, забезпечення, необхідне для її функціонування. Опис логічної структури, алгоритм, структура. Типи комп'ютерів і пристроїв, що використовуються при роботі програми. Формат, описання та спосіб кодування вхідних і вихідних даних.
курсовая работа [163,6 K], добавлен 01.04.2016Ознакомление со структурой диска FAT. Описание функциональных возможностей утилит по восстановлению диска и данных в DOS: Chkdsk, Recover и Scandisk. Принципы работы программы дефрагментации диска. Способы устранения проблем при доступе с жесткому диску.
дипломная работа [4,7 M], добавлен 22.10.2010Практичне застосування систем кодування знакової та графічної інформації в електронних обчислювальних машинах. Позиційні системи числення. Представлення цілих і дійсних чисел. Машинні одиниці інформації. Основні системи кодування текстових даних.
практическая работа [489,5 K], добавлен 21.03.2012Характеристики методів стискання інформації. Дворівневе кодування, алгоритм Лемпеля-Зіва. Блок-схема алгоритму кодування. Вибір мови, середовища програмування. Опис інтерфейсу, тестування програми. Бібліотеки, які використовуються при написанні програми.
курсовая работа [728,9 K], добавлен 17.01.2014Значимість двійкової системи числення для кодування інформації. Способи кодування і декодування інформації в комп'ютері. Відповідність десятковій, двійковій, вісімковій і шістнадцятковій систем числення. Двійкове кодування інформації, алфавіт цифр.
презентация [1,4 M], добавлен 30.09.2013Розробка програми "Авто" для введення та збереження інформації про власників та їхні автомобілі. Побудова математичної моделі. Критерії вибору та пошуку даних. Структура введених та збережених у файлах програми даних. Алгоритм основної програми та її код.
курсовая работа [20,3 K], добавлен 07.10.2010Проектування архітектури гри "Тетріс". Аналіз вимог до неї. Вивчення особливостей реалізації, кодування та тестування програми. Алгоритм побудови робочого поля. Вибір мови програмування. Розробка і налагодження тексту програми. Інструкції з експлуатації.
курсовая работа [460,9 K], добавлен 04.03.2014Визначення кількості інформації в повідомленні, ентропії повідомлень в каналі зв’язку, ентропії двох джерел повідомлень. Продуктивність джерела повідомлень, швидкість передачі інформації та пропускна здатність каналу зв’язку. Кодування, стиснення даних.
контрольная работа [590,8 K], добавлен 07.06.2012Структура програми з описом функцій складових частин і зв'язків між ними. Розробка програми автоматизації роботи станції, що займається продажем квитків. Відомості про використання оперативної пам'яті. Формат, описання та спосіб кодування даних.
курсовая работа [349,5 K], добавлен 01.04.2016Розбиття жорсткого диску та встановлення Linux XP Desktop 2006. Використання loop-пристроїв та псевдопристроїв. Зміст роботи з каталогом спеціального призначення /proc. Розділи жорсткого диску та інформація про файлові системи, які підтримуються ядром.
курсовая работа [2,1 M], добавлен 05.12.2011