![]() ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Структура магнитного носителя. Понятие сектора, чередования секторов. Для чего нужно чередование секторов. Кластер.Структура магнитного носителя: Физическая структура, логическая структура. Логическая структура гибких дисков: представляет собой совокупность секторов (емкостью 512 байтов), каждый из которых имеет свой порядковый номер. Сектора нумеруются в линейной последовательности от первого сектора нулевой дорожки до последнего сектора последней дорожки. Формирование физической структуры диска состоит в создании на диске концентрических дорожек, которые в свою очередь, делятся на секторы. У гибкого диска две стороны, на которых создается по 80 дорожек. На каждой дорожке по 18 секторов. Объем каждого сектора 512 байтов. Следовательно, объем гибкого диска = (2∙80∙18∙512) байт = 1474560 байт = 1140 Кбайт = 1,44 Мбайт. Сектор, чередование секторов: Обычно сектора на дорожке располагаются по возрастанию порядковых номеров. Если программа будет читать несколько секторов с последовательными номерами(она обычно так и делает) на чтение каждого сектора уйдет время будет затрачено время, равное времени оборота диска. Чтобы улучшить временные характеристики можно расположить секторы через 1. Когда секторы располагаются последовательно в порядке возрастания их номеров, фактор чередования секторов равен 1. Когда чередуются через один - фактор чередования равен 2. В таком случае после чтения одного сектора будет достаточно времени для чтения следующего и вся дорожка может быть считана за 2 оборота. Кластер – это несколько следующих друг за другом секторов дискового пространства (по умолчанию объем каждого физического сектора – 512 байт). Размер кластера зависит от общей емкости накопителя на магнитном диске. Если объем информации в файле превышает объем одного кластера, то следующая порция данных располагается на ближайшем свободном кластере, который физически может не быть смежным с первой порцией данных. Таким образом, большой набор данных оказывается разбросанным по разным не обязательно соседним участкам диска. 2. Понятие файловой системы. Кластер. Файла. Фрагментированный файл. Что такое дефрагментация. Как можно уменьшить потери при хранении файлов? Файловая система- это часть операционной системы, назначение которой состоит в том, чтобы обеспечить пользователю удобный интерфейс при работе с данными, хранящимися на диске, и обеспечить совместное использование файлов несколькими пользователями и процессами. В широком смысле файловая система включает совокупность всех файлов на диске, набор структур данных, используемых для управления файлами, комплекс системных программных средств, реализующих управления файлами. Кластер – это несколько следующих друг за другом секторов дискового пространства (по умолчанию объем каждого физического сектора – 512 байт). Размер кластера зависит от общей емкости накопителя на магнитном диске. Если объем информации в файле превышает объем одного кластера, то следующая порция данных располагается на ближайшем свободном кластере, который физически может не быть смежным с первой порцией данных. Таким образом, большой набор данных оказывается разбросанным по разным не обязательно соседним участкам диска. Минимальной единицей хранения является файл – набор данных, снабженных следующей информацией: имя файла, расширение имени, дата и время создания, длина в байтах, атрибуты, ссылка на начало данных(логическое представление файла). Фрагментированный файл: различные фрагменты одного и того же файла при записи могут оказаться расположенными не последовательно, а в разных областях дискового пространства. В итоге файлы становятся фрагментированными, то есть разбитыми на множество отдельных фрагментов. Физическое представления файла имеет дело с тем, как и где данные физически размещаются и хранятся на дисках, магнитных лентах и других носителях. Интерфейс- разновидность интерфейсов, в котором одна сторона представлена человеком (пользователем), другая — машиной/устройством. Представляет собой совокупность средств и методов, при помощи которых пользователь взаимодействует с различными, чаще всего сложными, машинами, устройствами и аппаратурой. Программист знает только набор функций для работы с файлами на языке программирования, программисту нет необходимости знать интерфейс работы с файлами для каждой ос. Написанная программа переносима с одной ос на другую, практически без изменения кода программы с условием перекомпиляции. Может существовать несколько интерфейсов для работы с файлами на языке программирования. Интерфейс программирования (иногда интерфейс прикладного программирования) — набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах. Программисту нет необходимости знать интерфейс работы с файлами для каждой ОС Программист знает только набор функций для работы с файлами только на его любимом языке программирования Написанная программа переносима с одной ОС на другую, практически без изменения кода программы, но с перекомпиляцией. Интерфейсы работы с файлами в СИ: 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 - запись строки в файл 7. Бинарный файла и stdio.h. основные отличия текстового файла от бинарного. Список функция для работы с бинарными файлами. Бинарный файл - произвольная последовательность байтов. В отличие от текстовых файлов, где доступ последовательный, они используют прямой доступ, так что вы всегда имеете возможность обратиться к любому байту файла. В текстовом файле в отличие от бинарного файла могут присутствовать только печатные символы и некоторые невидимые управляющие символы. Не советуется открывать бинарный файл в текстовом режиме и наоборот, потому что могут быть испорчены форматирование и сама структура файла. Т.е. если читать текстовый файл как бинарный, то тогда вам придется учитывать управляющие символы и как то их пропускать. А если вы откроете бинарный как текстовый, то просто получите непонятную тарабарщину, потому что последовательность байт преобразуется по особым правилам в текст, который не будет иметь никакого смысла. Не нашли, что искали? Воспользуйтесь поиском:
|