Жесткий диск делится на дорожки - концентрические окружности, покрывающие поверхность диска Каждая дорожка делится на секторы, размер сектора - 512 байт Затем сектора объединяются в кластеры, кластер содержит 2^N секторов. Кластер является наименьшей единицей адресации к данным. Это делается для ускорения работы файловой системы. То есть файловая система обращается не к сектору (который является минимальной физической единицей хранения данных), а к кластеру, в который объединено несколько секторов (который является минимальной единицей адресации к данным, т.е файловая система не может обращаться напрямую к сектору). Например, в файловой системе FAT есть так называемая таблица размещения файлов, в которую записываются данные о каждом кластере. Т.к она обращается к кластерам, в которые объединены сектора, то эта таблица содержит меньше элементов, что существенно увеличивает быстродействие Размер кластера можно задать при форматировании диска. Чем длиннее кластер (чем больше секторов в себе содержит), тем меньше таблица размещения файлов и бОльшая скорость, но есть и обратная сторона - нерациональное использование памяти, потому что любой файл, насколько маленький он бы не был занимает весь кластер и некоторые сектора в нем могут оказаться просто пустыми. Даже если файл большой и занимает несколько секторов, то последний кусочек с бОльшей долей вероятности займет не полностью последний кластер. Если же указать более маленький размер кластера, то уменьшится быстродействие (т.к увеличится количество кластеров), но память будет расходоваться меньше и будет образовываться меньше пустот.
Стоит упомянуть, что объем хранящихся файлов напрямую влияет на расход памяти. Много мелких файлов как правило сильнее "забивают" память, нежели мало больших. Они могут иметь одинаковый размер в сумме, но при записи на диск мелкие файлы израсходуют больше места, так как каждый файл будет занимать весь кластер, но не все сектора.
И интереса ради стоит упомянуть, что в связи с неэффективностью файловой системы (например, при слишком большом размере кластера) потери могут составлять среднем от 25% до 40% от полной емкости жесткого диска
P.S В общем, интересно учиться на кибернетике в ВУЗе)) Столько нового узнаешь. Главное понять, что к чему, а там уже перескажешь как-нибудь
//Вот программа, которая кодирует слова в системах счисления от 2 до 10 //Первый ввод - число, второй - система счисления //Pascal ABC.NET v3.0
var a,i,b,r,n,j,bug:integer; s,se,slo,slof:string;
procedure preob(var a,b,n:integer; var se:string); begin repeat b:=a mod n; a:=a div n; str(b,se); s+=se; until (a<=n-1); end;
begin readln(slo); readln(n); for j:=1 to length(slo) do begin; a:=ord(slo[j]); preob(a,b,n,se); str(a,se); s+=se; for i:=1 to length(s) div 2 do begin; se:=s[i]; s[i]:=s[length(s)-i+1]; s[length(s)-i+1]:=se[1]; end; write(s,'-'); slof:=slof+s; delete(s,1,length(s)); end; end.
//Слово Программа она кодирует как 11001111-11110000-11101110-11100011-11110000-11100000-11101100-11101100-11100000-
Каждая дорожка делится на секторы, размер сектора - 512 байт
Затем сектора объединяются в кластеры, кластер содержит 2^N секторов. Кластер является наименьшей единицей адресации к данным. Это делается для ускорения работы файловой системы. То есть файловая система обращается не к сектору (который является минимальной физической единицей хранения данных), а к кластеру, в который объединено несколько секторов (который является минимальной единицей адресации к данным, т.е файловая система не может обращаться напрямую к сектору).
Например, в файловой системе FAT есть так называемая таблица размещения файлов, в которую записываются данные о каждом кластере. Т.к она обращается к кластерам, в которые объединены сектора, то эта таблица содержит меньше элементов, что существенно увеличивает быстродействие
Размер кластера можно задать при форматировании диска. Чем длиннее кластер (чем больше секторов в себе содержит), тем меньше таблица размещения файлов и бОльшая скорость, но есть и обратная сторона - нерациональное использование памяти, потому что любой файл, насколько маленький он бы не был занимает весь кластер и некоторые сектора в нем могут оказаться просто пустыми. Даже если файл большой и занимает несколько секторов, то последний кусочек с бОльшей долей вероятности займет не полностью последний кластер.
Если же указать более маленький размер кластера, то уменьшится быстродействие (т.к увеличится количество кластеров), но память будет расходоваться меньше и будет образовываться меньше пустот.
Стоит упомянуть, что объем хранящихся файлов напрямую влияет на расход памяти. Много мелких файлов как правило сильнее "забивают" память, нежели мало больших. Они могут иметь одинаковый размер в сумме, но при записи на диск мелкие файлы израсходуют больше места, так как каждый файл будет занимать весь кластер, но не все сектора.
И интереса ради стоит упомянуть, что в связи с неэффективностью файловой системы (например, при слишком большом размере кластера) потери могут составлять среднем от 25% до 40% от полной емкости жесткого диска
P.S В общем, интересно учиться на кибернетике в ВУЗе)) Столько нового узнаешь. Главное понять, что к чему, а там уже перескажешь как-нибудь
//Первый ввод - число, второй - система счисления
//Pascal ABC.NET v3.0
var
a,i,b,r,n,j,bug:integer;
s,se,slo,slof:string;
procedure preob(var a,b,n:integer; var se:string);
begin
repeat
b:=a mod n;
a:=a div n;
str(b,se);
s+=se;
until (a<=n-1);
end;
begin
readln(slo);
readln(n);
for j:=1 to length(slo) do
begin;
a:=ord(slo[j]);
preob(a,b,n,se);
str(a,se);
s+=se;
for i:=1 to length(s) div 2 do
begin;
se:=s[i];
s[i]:=s[length(s)-i+1];
s[length(s)-i+1]:=se[1];
end;
write(s,'-');
slof:=slof+s;
delete(s,1,length(s));
end;
end.
//Слово Программа она кодирует как 11001111-11110000-11101110-11100011-11110000-11100000-11101100-11101100-11100000-