Какое наименьшее использование памяти для двоичного файла в UNIX-подобных ОС? - PullRequest
0 голосов
/ 17 октября 2018

Я на самом деле посещаю курс по операционной системе в университете.Профессор рассказал нам о функциях fread (), fwrite () ... C и read (), write () ....Мое сомнение стало, когда я должен был определить размер блока и количество блоков.Как сказано в документации, эти функции возвращают точное количество блоков красного или написанного цвета.Поэтому мой вопрос: возможно ли иметь файл на жестком диске размером менее одного байта или файл, размер которого не кратен байту?

Заранее спасибо.

РЕДАКТИРОВАТЬ: как кто-то предложил, я не опубликовал практический пример.Это упражнение, над которым я работаю.Это просто программа, которая клонирует файл https://gitlab.com/clementefnc/laboratori_so/blob/master/Lab01/Es4/Es4p4.c

1 Ответ

0 голосов
/ 17 октября 2018

Можно ли иметь файл на жестком диске размером менее одного байта или файл, размер которого не кратен байту?

Да, вТеория это вполне возможно.«Файлы» - это абстракция, и ничто не мешает существованию ОС, имеющей другие ограничения или совершенно другую абстракцию для «файлов».Фактически, минимальная единица, поддерживаемая аппаратным обеспечением, обычно представляет собой блок из многих байтов (например, сектор 512 байт), и ОС уже обеспечивает абстракции «меньше, чем минимальный размер, поддерживаемый аппаратными средствами».

На практике нетоперационная система когда-либо поддерживала это;и трудно найти вариант его использования (поэтому маловероятно, что какая-либо операционная система будет поддерживать его в будущем).

...