шпаргалка

a.Apel sist dup

[ Назад ]
Apelul sistem dup copiazг un descriptor de fi?ier оn primul slot (intrare) liber din UFDT, returnвnd utilizatorului noul descriptor. Apelul poate fi folosit pentru toate tipurile de fi?iere. Este utilizat оn construcЮia programelor complexe pornind de la programe mai simple (vezi capitolul 7, construirea pipeline-urilor shell ). Sintaxa apelului este:
fd_nou = dup(fd);
unde fd este descriptorul de fi?ier corespunzгtor ce va fi duplicat, iar fd_nou este noul descriptor care va referi fi?ierul. Contorul intrгrii din GFT corespunzгtoare lui fd va fi incrementat, deoarece ?i intrarea din UFDT a lui fd_nou va pointa cгtre aceea?i intrare оn GFT.--Examinвnd, de exemplu, stucturile de date prezentate оn figura 5.20 reies urmгtoarele: un proces a deschis fi?ierul "/etc/passwd" (descriptor 3), apoi fi?ierul "local" (descriptor 4), ?i оncг odatг fi?ierul "/etc/passwd" (descriptor 5). Оn final a fost duplicat descriptorul 5 apelвnd dup care a returnat descriptorul 6.

#include <fcntl.h>
^main()
{
^ int i,j;
^ char buf1[512], buf2[512];
^ i = open("/etc/passwd", O_RDONLY);
^ j = dup(i);
^ read(i, buf1, sizeof(buf1));
^ read(j, buf2, sizeof(buf2));
^close(i);
^read(j, buf2, sizeof(buf2));
}

КАТЕГОРИИ:

Network | английский | архитектура эвм | астрономия | аудит | биология | вычислительная математика | география | Гражданское право | демография | дискретная математика | законодательство | история | квантовая физика | компиляторы | КСЕ - Концепция современного естествознания | культурология | линейная алгебра | литература | математическая статистика | математический анализ | Международный стандарт финансовой отчетности МСФО | менеджмент | метрология | механика | немецкий | неорганическая химия | ОБЖ | общая физика | операционные системы | оптимизация в сапр | органическая химия | педагогика | политология | правоведение | прочие дисциплины | психология (методы) | радиоэлектроника | религия | русский | сертификация | сопромат | социология | теория вероятностей | управление в технических системах | физкультура | философия | фотография | французский | школьная математика | экология | экономика | экономика (словарь) | язык Assembler | язык Basic, VB | язык Pascal | язык Си, Си++ |