SHPORA.net :: PDA

Login:
регистрация

Main
FAQ

гуманитарные науки
естественные науки
математические науки
технические науки
Search:
Title: | Body:

c.Apel,sist,read

Algoritmul pentru citirea unui fi?ier:
^#include <fcntl.h>
^main()
{
^int fd;
^char lilbuf[20], bigbuf[1024];
^fd= open("/etc/passwd", O_RDONLY);
^ read(fd, lilbuf, 20);
^ read(fd, bigbuf, 1024);
^ read(fd, lilbuf, 20);
--Ordinea execuЮiei apelurilor poate fi: read1, read2, write1, write2 sau read1, write1, read2, write2, etc. Pentru a evita aceastг situaЮie se folose?te facilitatea de blocare pe fi?ier ?i оnregistrare (vezi paragraful 5.4) ceea ce permite unui proces sг blocheze inodul unui fi?ier de la deschiderea pвnг la оnchiderea sa, nemaidвnd posibilitatea altui proces de a accesa fi?ierul оn acest timp.
^#include <fcntl.h>
^/* process A */
^main()
{
^int fd;
^char buf[512];
^fd = open("/etc/passwd",O_RDONLY);
^read (fd,buf,sizeof(buf));/* read 1 */
^read (fd,buf,sizeof(buf));/* read 2 */
}
^/* process B */
^main();
{
^int fd[512];
^char buf[512];
^for (i=0; i<sizeof(buf); i++)
^ buf[i] ='a';
^fd = open("/etc/passwd", O_WRONLY);
^write (fd, buf, sizeof(buf)); /* write 1 */
^write (fd, buf, sizeof(buf)); /* write 2 */
}