Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Структура магнитного носителя. Понятие сектора, чередования секторов. Для чего нужно чередование секторов. Кластер.




Структура магнитного носителя: Физическая структура, логическая структура. Логическая структура гибких дисков: представляет собой совокупность секторов (емкостью 512 байтов), каждый из которых имеет свой порядковый номер. Сектора нумеруются в линейной последовательности от первого сектора нулевой дорожки до последнего сектора последней дорожки. Формирование физической структуры диска состоит в создании на диске концентрических дорожек, которые в свою очередь, делятся на секторы. У гибкого диска две стороны, на которых создается по 80 дорожек. На каждой дорожке по 18 секторов. Объем каждого сектора 512 байтов. Следовательно, объем гибкого диска = (2∙80∙18∙512) байт = 1474560 байт = 1140 Кбайт = 1,44 Мбайт. Сектор, чередование секторов: Обычно сектора на дорожке располагаются по возрастанию порядковых номеров. Если программа будет читать несколько секторов с последовательными номерами(она обычно так и делает) на чтение каждого сектора уйдет время будет затрачено время, равное времени оборота диска. Чтобы улучшить временные характеристики можно расположить секторы через 1. Когда секторы располагаются последовательно в порядке возрастания их номеров, фактор чередования секторов равен 1. Когда чередуются через один - фактор чередования равен 2. В таком случае после чтения одного сектора будет достаточно времени для чтения следующего и вся дорожка может быть считана за 2 оборота. Кластер – это несколько следующих друг за другом секторов дискового пространства (по умолчанию объем каждого физического сектора – 512 байт). Размер кластера зависит от общей емкости накопителя на магнитном диске. Если объем информации в файле превышает объем одного кластера, то следующая порция данных располагается на ближайшем свободном кластере, который физически может не быть смежным с первой порцией данных. Таким образом, большой набор данных оказывается разбросанным по разным не обязательно соседним участкам диска.

2. Понятие файловой системы. Кластер. Файла. Фрагментированный файл. Что такое дефрагментация. Как можно уменьшить потери при хранении файлов? Файловая система- это часть операционной системы, назначение которой состоит в том, чтобы обеспечить пользователю удобный интерфейс при работе с данными, хранящимися на диске, и обеспечить совместное использование файлов несколькими пользователями и процессами. В широком смысле файловая система включает совокупность всех файлов на диске, набор структур данных, используемых для управления файлами, комплекс системных программных средств, реализующих управления файлами. Кластер – это несколько следующих друг за другом секторов дискового пространства (по умолчанию объем каждого физического сектора – 512 байт). Размер кластера зависит от общей емкости накопителя на магнитном диске. Если объем информации в файле превышает объем одного кластера, то следующая порция данных располагается на ближайшем свободном кластере, который физически может не быть смежным с первой порцией данных. Таким образом, большой набор данных оказывается разбросанным по разным не обязательно соседним участкам диска. Минимальной единицей хранения является файл – набор данных, снабженных следующей информацией: имя файла, расширение имени, дата и время создания, длина в байтах, атрибуты, ссылка на начало данных(логическое представление файла). Фрагментированный файл: различные фрагменты одного и того же файла при записи могут оказаться расположенными не последовательно, а в разных областях дискового пространства. В итоге файлы становятся фрагментированными, то есть разбитыми на множество отдельных фрагментов.
Дефрагментация - это процесс обновления и оптимизации логической структуры раздела диска с целью обеспечить хранение файлов в непрерывной последовательности кластеров. Дефрагментация представляет собой процесс реорганизации способа хранения файлов, в результате которого отдельные части одного файла, по возможности размещаются последовательно одним блоком. Это приводит к увеличению скорости доступа к файлам (они быстрее загружаются), а значит, к некоторому повышению общего быстродействия компьютера, что при высоком уровне фрагментированности будет довольно заметным. Чем больше размер кластера, тем больше потери, но тем быстрее работает файловая система и занимает меньше места в памяти Чем меньше размер кластера, тем меньше потери при хранении файлов, то тем медленнее работает файловая система, и тем больше занимает места на диске и в оперативной памяти. Поэтому всегда ищется оптимальный размер кластера.
3. Логическое представление файла. Физическое представление файла. Работа с файлами. Понятие интерфейса. Что такое интерфейс для работы с файлами на уровне языка программирования и на уровне ОС. Возможно ли существование нескольких интерфейсов в одном языке программирования для работы с файлами. Логическое представление файла: файл - это одна из многих структур данных, используемых в программировании. Файл в таком понимании называют логическим файлом, то есть существующим только в нашем логическом представлении при написании программы. В программах логические файлы представляются файловыми переменными определенного типа. Структура логического файла - это способ восприятия файла в программе. Имя файла, состоящее из букв латинского алфавита, цифр и некоторых символов; расширением имени, отделяемое от имени точкой и содержащее обычно 3 символа; дата и время создания файла, длина в байтах, атрибуты файла, ссылка на начало данных- адрес первого кластера, с которого на диске расположена информация содержимого файла.

Физическое представления файла имеет дело с тем, как и где данные физически размещаются и хранятся на дисках, магнитных лентах и других носителях. Интерфейс- разновидность интерфейсов, в котором одна сторона представлена человеком (пользователем), другая — машиной/устройством. Представляет собой совокупность средств и методов, при помощи которых пользователь взаимодействует с различными, чаще всего сложными, машинами, устройствами и аппаратурой. Программист знает только набор функций для работы с файлами на языке программирования, программисту нет необходимости знать интерфейс работы с файлами для каждой ос. Написанная программа переносима с одной ос на другую, практически без изменения кода программы с условием перекомпиляции. Может существовать несколько интерфейсов для работы с файлами на языке программирования.
4. Логическое и физическое представление файла. Понятие интерфейса. Интерфейсы работы с файлами в СИ. Описание stdio.h. Какие бывают фалы по содержимому в stdio.h. Логическое представление имеет дело с тем, как пользователи организуют, просматривают, понимают данные и их отношения. Физическое представление имеет дело с тем, как и где данные физически размещаются и хранятся на дисках, магнитных лентах и других носителях. Отделение способа использования данных от того, как они хранятся и выбираются означает, что пользователи могут менять свое логическое представление, не делая изменений в физическом представлении. Интерфейс- совокупность средств и правил обеспечивающих взаимодействие устройств вычислительной системы и программ, а также взаимодействие их с человеком. Логическое представление: имя файла, состоящее из букв латинского алфавита, цифр и некоторых символов; расширение имени, отделяемое от имени точкой и содержащее обычно 3 символа; дата и время создания файла или момента его последней модификации; длина файла в байтах; атрибуты файла (A – архивируемый, R – только для чтения, S – системный, H – скрытый); ссылка на начало данных – адрес первого кластера, с которого на диске расположена первая порция информационного содержимого файла. Физическое представление (может быть не то): Заголовок файла растровой графики (14 байт) Сигнатура файла BMP (2 байт) Размер файла (4 байт) Не используется (2 байт) Не используется (2 байт) Местонахождение данных растрового массива (4 байт) Информационный заголовок растрового массива (40 байт) Длина этого заголовка (4 байт) Ширина изображения (4 байт) Высота изображения (4 байт) Число цветовых плоскостей (2 байт) Бит/пиксель (2 байт) Метод сжатия (4 байт) Длина растрового массива (4 байт) Горизонтальное разрешение (4 байт) Вертикальное разрешение (4 байт) Число цветов изображения (4 байт) Число основных цветов (4 байт)

Интерфейс программирования (иногда интерфейс прикладного программирования) — набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах. Программисту нет необходимости знать интерфейс работы с файлами для каждой ОС Программист знает только набор функций для работы с файлами только на его любимом языке программирования Написанная программа переносима с одной ОС на другую, практически без изменения кода программы, но с перекомпиляцией.

Интерфейсы работы с файлами в СИ: stdio.h классический интерфейс для работы с файлами std-standart стандарт i-input-ввод o-output вывод (стандартный ввод/вывод) Открыть файл fopen () Считать с файла fread() Записать в файл fwrite() Закрыть файл fclose() fstream.h- потоковый интерфейс для работы с файлами Какие бывают фалы по содержимому в stdio.h: текстовые и бинарные. Двоичный (бинарный) файл — в широком смысле: последовательность произвольных байтов. Название связано с тем, что байты состоят из бит, то есть двоичных (англ. binary) цифр. В узком смысле слова двоичные файлы противопоставляются текстовым файлам. При этом с точки зрения технической реализации на уровне аппаратуры, текстовые файлы являются частным случаем двоичных файлов, и, таким образом, в широком значении слова под определение «двоичный файл» подходит любой файл. Описание stdio.h. Стандартный ввод/вывод, заголовочный файл стандартной библиотеки языка Си, содержащий определения макросов, константы и объявления функций и типов, используемых для различных операций стандартного ввода и вывода. Какие бывают файлы по содержимому в stdio.h. Текстовые и бинарные. Текстовые. 5. Работа с текстовыми файлами в stdio.h. Как создать новый пустой текстовый файл (пример). Как проверить корректность открытия или создания файла. Работа с текстовыми файлами в stdio.h. Для работы с файлами в языке С++ имеется набор функций, определенных в библиотеке stdio.h. Перед началом работы с файлом его следует открыть, что достигается с помощью функции fopen(), имеющий следующий синтаксис -FILE *fopen(const char *filename, const char *mode); Здесь filename – строка, содержащая путь и имя файла; mode – строка, определяющая режим открытия файла: на чтение или на запись; FILE – специальный тип данных для работы с файлами. Данная функция возвращает значение NULL, если файл не был успешно открыт, иначе – другое значение. Рассмотрим последовательность действий по созданию простого текстового файла на языке C++ и записи в него текстовой информации. Если файл существует и его возможно открыть, то создается описание файла типа (FILE) и функция fopen возвращает адрес структуры FILE При записи в файл нескольких чисел, обязательно разделяйте их пробелами FILE *f1; f1=fopen(имя_файла, "режим"); режимы: "rt" – read text - текстовый для чтения "wt" – write text - текстовый для записи "at" – append text -текстовый для дозаписи в уже существующий набор данных Запись в файл – печать в файл - fprintf анологично функчии printf #include "stdio.h" #include "stdlib.h" int main() { FILE *f1; f1 = fopen("testfile.txt","wt"); fprintf(f1,"I live in Chelybinsk"); fclose(f1); } Как создать новый пустой текстовый файл (пример) #include "stdio.h" #include "stdlib.h" int main() { FILE *f1; f1 = fopen("myfile.txt","wt"); fclose(f1); } Как проверить корректность открытия или создания файла. Если файл НЕ существует и его НЕ возможно открыть, то объект типа FILE не создается и адрес будет NULL=0; FILE *f1; f1 = fopen("ttt.txt","rt"); if (f!=NULL)-вот она проверка моей мечты {

6. Функции для работы с текстовыми файлами. Примеры c int, char и float. Запись в файл-печать в файл- fprintf Функция: посылает форматированный вывод в поток Файл, содержащий прототип: stdio.h Описание: fprintf получает набор аргументов, по одному для каждой спецификации формата, и выводит данные в поток. Количество аргументов должно совпадать с числом спецификаций. Описание спецификаций формата приведено в описании функции printf. Возвращение значение: fprintf возвращает число выведенных байт. При появлении ошибки возвращает EOF. Пример:#include "stdio.h" #include "stdlib.h" int main() { FILE *f1; f1 = fopen("testfile.txt","wt"); fprintf(f1,"This is my file!!!"); fclose(f1); } В некоторых случаях, все что записывали в файл, не может не сохранится без fclose. fputs - запись строки в файл
Описание
: записывает строку 's', исключая завершающую литеру О, в поток fp
Использование
#include <stdio.h>
int fputs(char *s, FILE *fp); /* ANSI */
Возвращаемое значение: возвращает 0 в случае успеха и не 0 при ошибке записи.
Пример
Код: #include <stdio.h> main() { if (fputs("Hello World\n", stdout)==-1) fprintf(stderr, "Ошибка вывода\n"); } fgets - взять строку из файла
Описание
: считывает литеры из потока fp в строку по указателю str. Чтение заканчивается, когда встречается литера `\n' (новая строка), конец файла, возникает ошибка чтения или число прочитанных литер достигает n-1. Строка завершается 0. Литера '\n' (новая строка) включается в строку (перед 0).
Использование:
#include <stdio.h>
char *fgets(char *str, int n, FILE *fp); /* ANSI */
Возвращаемое значение: возвращает строку str в случае успеха. Если не было прочитано ни одной литеры и произошла ошибка чтения или встречен EOF, возвращает NULL, а строка str остается без изменения. Если возникла ошибка при чтении, возвращает NULL, а в строке возможен мусор.
Пример:
Код: #include <stdio.h> main() { char buffer[225]; int buflen; char *result; buflen=255; fputs("Введите строку данных\n", stdout); result=fgets(buffer, buflen, stdin); if (!result) printf("\n конец файла (EOF) или ошибка (ERROR)\n"); else fputs(buffer, stdout); } int fscanf (stream, format-string [, argument...]);
FILE *stream; указатель на структуру FILE.
char *format-string; строка управления форматом.
Описание: функция fscanf считывает данные из текущей позиции потока stream в место, определяемое заданием аргументов arguments (если
они есть). Каждый аргумент должен быть указателем на переменную и тип, которые соответствуют типу, заданному в строке формата. Строка
формата управляет интерпретацией полей ввода и имеет ту же самую форму и назначение, что и аргумент строки формата для функции
scanf. (Описание функции scanf приводится ниже в данной части руководства).
Возвращаемое значение: данная функция возвращает число удачно преобразованных и правильно назначенных полей. Возвращаемое значение не включает полей, прочитанных, но не назначенных. При попытке считывания конца файла возвращается значение EOF. Возвращаемое значение 0
обозначает, что нет назначенных полей. Чтение из файла-сканирование файлов- fscanf int fscanf (stream,format-string[,argument…]); FILE*stream; указатель на структуру FILE. Char*format-string; строка управления форматом. Функция fscanf считывает данные из текущей позиции потока (файла) stream в место, определяемое заданием аргументов arguments (если они есть). Каждый аргумент должен быть указателем на переменную и тип, который соответствует типу, заданному в строке формата.

7. Бинарный файла и stdio.h. основные отличия текстового файла от бинарного. Список функция для работы с бинарными файлами. Бинарный файл - произвольная последовательность байтов. В отличие от текстовых файлов, где доступ последовательный, они используют прямой доступ, так что вы всегда имеете возможность обратиться к любому байту файла. В текстовом файле в отличие от бинарного файла могут присутствовать только печатные символы и некоторые невидимые управляющие символы. Не советуется открывать бинарный файл в текстовом режиме и наоборот, потому что могут быть испорчены форматирование и сама структура файла. Т.е. если читать текстовый файл как бинарный, то тогда вам придется учитывать управляющие символы и как то их пропускать. А если вы откроете бинарный как текстовый, то просто получите непонятную тарабарщину, потому что последовательность байт преобразуется по особым правилам в текст, который не будет иметь никакого смысла.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2025 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных