inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

운영체제 공룡책 강의

06. 프로세스간 통신의 실제: Chapter 3. Processes (Part 4)

pipe 실습 질문

276

akakakakak

작성한 질문수 83

0

안녕하세요. 강의 감사히 잘 듣고 있습니다.

pipe 실습 부분에서 이해가 안 가는 부분이 있습니다.

write에서 fd[1]에 썼고 read에서 fd[0]에서 읽어옵니다.

그런데, fd라는 배열은 내부적으로 정의된 것이 아니라 main 시작부에서 int fd[2]로 선언한 배열입니다.

질문1. fd가 pipe로서 사용되는 것을 따로 명시하지 않았는데 (그냥 main 시작부에서 선언했을 뿐인데) 어떻게 pipe로서 사용되는 것인가요? 
혹, write(), read() 내부적으로 첫번째 파라미터를 pipe로 사용한다는 구현이 되어있는 것인가요?

질문2. 쓰는 위치는 fd[1]이라고 write의 첫번째 파라미터로 정해줍니다.
read의 첫번째 파라미터는 "어디에서 읽어올지"가 아니라 "읽어온 것을 어디에 저장할지"입니다.
어디에서 읽어올지는 따로 명시하지 않아도 되는 것인가요?
그냥 단순하게 "fd는 pipe니까 알아서 fd[1]에서 읽어올 것이다."정도로 받아들이고 넘어가도 괜찮은가요?

강의 덕분에 운영체제 공부를 수월하게 이어나가고 있습니다. 좋은 강의 만들어주셔서 감사합니다.

동시성 운영체제

답변 1

1

주니온

안녕하세요? 충분히 헷갈린만한 부분을 질문해 주셨네요.

본 강의는 개념을 주로 다루기 때문에, Unix/Linux의 pipe() 함수가

어떻게 동작하는지 충분한 설명을 할 수 없어서 헷갈리기도 할 것 같습니다.

https://en.wikipedia.org/wiki/Pipeline_(Unix)

위 주소에서 파이프라인의 개념을 이해하신 후에 

pipe() 시스템 콜에 대해서 찾아보시면 될 것 같습니다.

아래 주소를 한 번 참고해 보세요.

https://www.geeksforgeeks.org/pipe-system-call/

0

akakakakak

감사합니다 교수님 ^^

퀴즈 7번의 답에 대한 질문입니다.

0

554

1

이해하고 있는것이 맞는건지 궁금합니다 ㅠㅠ

0

821

1

타우시간

0

556

1

퀴즈1 1번 질문합니다 !

1

612

1

Page는 Text Data이외에 다른 메모리도 포함하나요?

1

373

0

IPC shared memory 코드

0

520

1

[간단한 질문 ]banker's algorithm 을 linux 에서 실제로 프로세스 관리할때 쓰이나요?

0

402

0

user mode i/o 관련 질문

0

283

1

shared memory 관련해서 질문 드립니다.

0

521

1

교수님 fork()함수에 대해 질문이 있습니다.

0

896

2

process 와 thread

0

375

1

교수님 Docker 로 실습해도 괜찮을까요?

1

867

1

Mac OS에서 Docker 이용하여 Ubuntu 20.04 환경설정 방법 공유

22

3330

2

moniter, condition variable, synchronized에 대해서 궁금한점이 있습니다..

0

675

1

왜 무료인지 이해를 못 하겠네요..

3

433

1

7.1 Classic Problems of Synchronization 질문이 있습니다

0

307

1

공룡책 8판과 10판중

0

611

1

6.3 peterson's solution 질문이 있습니다

0

222

1

08-01 연습문제 8번 질문있습니다!

0

280

0

06. 프로세스간 통신의 실제: Chapter 3. Processes (Part 4) 에 그림 3.16 3.17 실습 오류

0

263

1

안녕하세요 교수님 실습 해봤는데 LINE J가 실행이 됩니다

1

356

1

2강 실습을 위한 개발환경 구축(Windows 10 + WSL 2 + Visual Studio Code)에서 출력오류

0

344

1

아래 질문 관련하여 다시 문의드립니다

0

199

1

Thread & Concurrency (Part 2) 질문드립니다

0

186

1