Действительно ли файлы содержат символ конца файла (EOF)?

Чтобы избежать путаницы между логическими и физическими процессорами,

Intel refers to a physical processor as a socket.


Технология Hyperthreading позволяет одному ядру процессора одновременно выполнять два независимых потока.

While hyperthreading does not double the performance of a system, it can increase performance by better utilizing idle resources leading to greater throughput for certain important workload types. An application running on one logical processor of a busy core can expect slightly more than half of the throughput that it obtains while running alone on a non-hyperthreaded processor.

Резюме

  • В вашей системе есть один физический ЦП (Назовем его X)
  • Hyperthreading заставляет ЦП X вести себя как два ЦП, (ЦП -X1 и ЦП -X2 ), но физически это не так.
  • Каждый X1 и X2 может одновременно выполнять два потока одновременно

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

0
28.08.2019, 14:03
2 ответа

Символ «конец файла», на который они ссылаются, вероятно, является единственным символом новой строки, встречающимся как последний символ в файле. Большинство обычных текстовых файлов в UNIX и UNIX -подобных системах заканчиваются таким образом, что вы можете использовать команду cat(или что-то подобное `для отображения содержимого файла и быть уверенным, что следующая командная строка будет на своей линии.

Некоторые плохо работающие приложения на самом деле не могут правильно анализировать файлы, если они не видят этот последний перевод строки. В этом отношении это немного похоже на метку Unicode byte -order -в закодированном тексте UTF -8, на самом деле он вообще не нужен (, он даже не должен быть там согласно большинству стандартов ), но некоторые приложения отказываются интерпретировать вещи как UTF -8 без него.


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

Некоторые люди путают управляющий код EOT (^D )с этой концепцией, так как он широко используется в UNIX -подобных системах для обозначения конца потока интерактивного ввода, но это всего лишь условность. из первоначального использования (для обозначения окончания передачи по некоторому каналу связи ). Обратите внимание, что это значительно отличается от систем DOS,где ^Z фактически сигнализировал конец файла как при интерактивном вводе, так и в реальных файлах. Управляющий код EOT на самом деле не отображается в потоке данных, который видит приложение, он интерпретируется терминалом, который сообщает приложению о завершении -из -условия файла, когда оно встречает ^D.

-1
28.01.2020, 02:14

Это похоже на что-то очень специфичное для обсуждаемого формата файла. Как правило, файлы НЕ НУЖДАЮТСЯ в символе EOF. Non добавляется без явной записи программы.

При проверке таблицы ASCII я не вижу символ EOF. Они могут иметь в виду персонажа EOT или FS, но это неясно.https://www.cs.cmu.edu/~pattis/15-1XX/common/handouts/ascii.html

Однако в некоторых форматах файлов маркер в конце файла обычно отсутствует. Особенно в простых форматах файлов, предназначенных для общения. Это защищает от непреднамеренного усечения файлов. Если вы знаете, что файл должен заканчиваться определенным маркером, а этот маркер находится только в конце, файл. Вы можете легко сказать, получили ли вы весь файл или только его часть. Насколько я читал, они имеют в виду этот тип маркера.

3
28.01.2020, 02:14

Теги

Похожие вопросы