2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Потоки и файловый дескриптор в C/C++
Сообщение09.07.2015, 14:19 
Файловый дескриптор - это целое неотрицательное число. Вот только чему соответствует дескриптор? Файлу или потоку?

 
 
 
 Re: Потоки и файловый дескриптор в C/C++
Сообщение09.07.2015, 15:10 
Аватара пользователя
Строго говоря, ни тому, ни другому, но очень похоже на поток.
Согласно POSIX, описание открытого файла (open file description) может быть связано либо с дескриптором, либо с потоком и включает в себя собственно файл, текущее положение в файле (offset), права доступа и прочие флаги.
Фактически, open file description - это запись в некоторой общесистемной таблице, дескриптор - это запись в некоторой таблице, принадлежащей процессу, каждому дескриптору соответствует некоторое open file description, поток - это структура, включающая в себя дескриптор и какие-то флаги, например, тип буферизации.

 
 
 
 Re: Потоки и файловый дескриптор в C/C++
Сообщение09.07.2015, 16:21 
Xaositect
Получается, когда мы обращаемся к потоку, то поток через дескриптор понимает с каким файлом мы работаем?

 
 
 
 Re: Потоки и файловый дескриптор в C/C++
Сообщение09.07.2015, 16:37 
Там, помнится, очень накручено. Система, Цэ, да ещё ++ поверх всего этого. Поток может вообще работать со строкой. Один из вариантов — файловый поток. Он, да, хранит где-то в себе дескриптор файла, по которому операционная система определяет файл.

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group