20948

Запис і читання інформації диска с зміною чергуванням секторів

Лабораторная работа

Информатика, кибернетика и программирование

h Номер форматируемой дорожки define TRK 20 Код размера сектора 1024 байт define SEC_SIZE 2 таблица параметров дискеты typedef struct _DPT_ { unsigned char srt_hut; unsigned char dma_hlt; unsigned char motor_w; unsigned char sec_size; unsigned char eot; unsigned char gap_rw; unsigned char dtl; unsigned char gap_f; unsigned char fill_char; unsigned char hst; unsigned char mot_start; } DPT; union REGS inregs outregs; char _far diskbuf[1024]; void mainvoid; void mainvoid { struct diskinfo_t di; unsigned status; unsigned char...

Украинкский

2013-08-01

51.33 KB

6 чел.

Міністерство освіти, науки, молоді та спорту України

Національний технічний Університет “ХПІ”

“ХАРКІВСКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ”

Кафедра “ Обчислювальна техніка та програмування ”

Лабораторна робота №3

по курсу “Захист інформації у комп’ютерних системах та мережах”

 

                                                                                                Виконав:

                                                                                                      ст. гр КІТ 39

 Родін С.І

                                                                                                 Перевірив:

Межерицький С.Г

Харків 2012

“Запис і читання інформації диска с зміною чергуванням секторів”

за курсом “Захист інформації у комп’ютерних системах та мережах”

Ціль роботи : придбання навичок роботи з нестандартними можливостями дисків на низькому рівні. Використання зміни чергування секторів на гнучкому диску.

Постановка задачі: необхідно розробити і налагодити програму що дозволяє виконати форматування інженерних секторів дискети зі зміненим чергуванням секторів, запис, читання і перевірку якості виконання мітки з цими секторами.

Індивідуальні завдання

Програма форматування доріжки дискети з нестандартним чергуванням секторів і запис інформації в заданий сектор, виконана на низькому рівні.

 Порядок проходження секторів

 

1,9,4,3,6,7,2,8

Номер доріжки

Сторона

Довжна сектора

81\43

1

1024

Номер сектора в який виконується запис СЕКТ

СЕКТ = 1

#include <stdio.h>

#include <conio.h>

#include <dos.h>

#include <stdlib.h>

#include <bios.h>

#include "sysp.h"

// Номер форматируемой дорожки

#define TRK 20

// Код размера сектора - 1024 байт

#define SEC_SIZE 2

/* таблица параметров дискеты */

typedef struct _DPT_ {

unsigned char srt_hut;

unsigned char dma_hlt;

unsigned char motor_w;

unsigned char sec_size;

unsigned char eot;

unsigned char gap_rw;

unsigned char dtl;

unsigned char gap_f;

unsigned char fill_char;

unsigned char hst;

unsigned char mot_start;

} DPT;

union REGS inregs, outregs;

char _far diskbuf[1024];

void main(void);

void main(void) {

struct diskinfo_t di;

unsigned status;

unsigned char old_sec_size, old_fill_char, old_eot;

int i, j;

DPT _far *dpt_ptr;

printf("\nПрограмма уничтожит содержимое"

"\n20-й дорожки диска А:."

"\nЖелаете продолжить? (Y,N)\n");

// Ожидаем ответ оператора и анализируем его

i = getch();

if((i != 'y') && (i != 'Y')) exit(-1);

// Получаем адрес таблицы параметров дискеты

dpt_ptr = get_dpt();

// Сохраняем старые значения из таблицы параметров

old_sec_size = dpt_ptr->sec_size;

old_fill_char = dpt_ptr->fill_char;

old_eot = dpt_ptr->eot;

// Устанавливаем в таблице параметров дискеты

// код размера сектора, символ заполнения при

// форматировании, количество секторов на дорожке

dpt_ptr->sec_size = SEC_SIZE;

dpt_ptr->fill_char = 0xf6;

dpt_ptr->eot = 15;

// Устанавливаем тип диска

inregs.h.ah = 0x17;

inregs.h.al = 3;

inregs.h.dl = 0;

int86(0x13, &inregs, &outregs);

// Устанавливаем среду для форматирования

inregs.h.ah = 0x18;

inregs.h.ch = TRK;

inregs.h.cl = dpt_ptr->eot;

inregs.h.dl = 0;

int86(0x13, &inregs, &outregs);

// Подготавливаем параметры для функции форматирования

di.drive = 0;

di.head = 0;

di.track = TRK;

di.sector = 1;

di.nsectors = 15;

di.buffer = diskbuf;

// Подготавливаем буфер формата для 15-ти секторов

// Используем обратный порядок расположения секторов

// на дорожке

for(i=0, j=15; j>0; i += 4, j--) {

diskbuf[i] = TRK;

diskbuf[i+1] = 0;

diskbuf[i+2] = j;

diskbuf[i+3] = SEC_SIZE;

}

// Вызываем функцию форматирования дорожки

status = _bios_disk(_DISK_FORMAT, &di) >> 8;

printf("\nФорматирование завершилось с кодом: %d",status);

// Восстанавливаем старые значения в

// таблице параметров дискеты

dpt_ptr->sec_size = old_sec_size;

dpt_ptr->fill_char = old_fill_char;

dpt_ptr->eot = old_eot;

exit(0);

}

 

Висновки: придбав навички роботи з нестандартними можливостями дисків на низькому рівні. Використав зміни чергування секторів на гнучкому диску.


 

А также другие работы, которые могут Вас заинтересовать

19416. Научная революция в Европе XVII столетия 31 KB
  Научная революция в Европе XVII столетия. XVII столетие важнейший этап в развитие научного познания. С этого века начинается процесс утверждения науки в качестве доминирующей формы постижения бытия. В умах людей утверждается представление о познаваемости мир...
19417. Достижения научного и технического прогресса в советском государстве (период НЭПа и форсированной индустриализации) 46.5 KB
  Достижения научного и технического прогресса в советском государстве период НЭПа и форсированной индустриализации. Восстановление страны после гражданской войны преодоление социальноэкономического кризиса в целом к середине 20х гг. завершилось. Но перед советск
19418. Наука в годы Великой Отечественной войны. Роль техники во Второй Мировой войне 28 KB
  Наука в годы Великой Отечественной войны. Роль техники во Второй Мировой войне Важный вклад в победу над фашизмом внесли советские ученые: физики создавали теоретические и экспериментальные предпосылки для конструирования новых видов вооружения; математики разработ
19419. Понятие информации. Виды информации. Роль информации в живой природе и в жизни людей. Язык как способ представления информации 88 KB
  Понятие информации. Виды информации. Роль информации в живой природе и в жизни людей. Язык как способ представления информации: естественные и формальные языки. Основные информационные процессы: хранение передача и обработка информации. Общепринятого определения инфо
19420. Измерение информации: содержательный и алфавитный подходы. Единицы измерения информации 26.65 KB
  Измерение информации: содержательный и алфавитный подходы. Единицы измерения информации. Вопрос: Как измерить информацию очень непростой. Ответ на него зависит от того что понимать под информацией. Но поскольку определять информацию можно поразному то и способы из
19421. Дискретное представление информации: двоичные числа; двоичное кодирование текста в памяти компьютера. Информационный объем текста 59.63 KB
  Дискретное представление информации: двоичные числа; двоичное кодирование текста в памяти компьютера. Информационный объем текста. Вся информация которую обрабатывает компьютер должна быть представлена двоичным кодом с помощью двух цифр 0 и 1. Эти два символа принято н...
19422. Дискретное представление информации: кодирование цветного изображения в компьютере (растровый подход). Представление и обработка звука и видеоизображения 145 KB
  Дискретное представление информации: кодирование цветного изображения в компьютере растровый подход. Представление и обработка звука и видеоизображения. Понятие мультимедиа. Вся информация которую обрабатывает компьютер должна быть представлена двоичным кодом с п
19423. Процесс передачи информации, источник и приемник информации, канал передачи информации. Скорость передачи информации 437 KB
  Процесс передачи информации источник и приемник информации канал передачи информации. Скорость передачи информации. Развитие человечества не было бы возможно без обмена информацией. С давних времен люди из поколения в поколение передавали свои знания извещали об опа...
19424. Понятие алгоритма. Исполнитель алгоритма. Система команд исполнителя (на примере учебного исполнителя) 70 KB
  Понятие алгоритма. Исполнитель алгоритма. Система команд исполнителя на примере учебного исполнителя. Свойства алгоритма. Способы записи алгоритмов; блоксхемы. Появление алгоритмов связывают с зарождением математики. Более 1000 лет назад в 825 году ученый из города Хор