본문 바로가기
카테고리 없음

네트워크 프로그래밍 2주차 복습

by 할 수 있다 ! 2023. 6. 6.

 

1. 리눅스에서의 Low-Level File Accessfile descriptor를 정의하시오 ?

 

ANSI 표준에서 정의한 함수가 아니라는 뜻이다. 리눅스에서 제공하는 파일 입출력 함수를 사용하려면 파일 디스크립터에 대한 개념을 먼저 세워야 됩니다.

 

2. 표준 입출력 및 error에 대한 FD 값은 ?

< 27p. 이해하고 넘어가세요를 읽어보시오. >

 

파일 디스크립터란 시스템으로부터 할당 받은 파일 또는 소켓에 부여된 정수를 의미합니다.

 

파일 디스크립터 0 : 표준 입력 Input ,

1 출력 : Output , 2 에러 : Error

 

3. open 함수의 Prototype 및 전달인자를 설명하시오.

int open ( const char *path, int flag);

 

4. close 함수의 Prototype 및 전달인자를 설명하시오.

int close (int fd);

 

5. write 함수의 Prototype, 기능 및 전달인자를 설명하시오.

 

ssize_t write (int fd, const void * buf, size_t nbytes);

 

6. 교재의 low_open.c 소스를 작성하고 컴파일하여 실행하시오.

data.txt의 내용을 본인 학번 & 이름으로 소스를 수정하시오.

 

 

7. read 함수의 Prototype, 기능 및 전달인자를 설명하시오.

 

read 함수는 읽고 전달하는 기능을 한다.

 

#include <unistd.h>

ssize_t read(int fd, void *buf , size_t nbytes);

 

gcc low_read.c o 1read

./1read

 

8. 교재의 low_read.c 소스를 작성하고 컴파일하여 실행하시오. data.txt의 내용은 문제 6과 동일.

 

 

9. 교재 33 p. fd_seri.c를 작성하고 실행하여 출력을 쓰고 예제가 의미하는 바를 서술하시오.

 

출력된 디스크럽터의 정수 값을 비교해보면 일련의 순서대로 넘버링이 되는 것을 알 수 있다.

참고로 파일 디스크립터가 3에서부터 시작하는 이유는 앞서 0 , 1 , 2그리고 표준 입출력에

이미 할당되었기 때문이다.