inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

리눅스 입문 - 개념으로 탄탄히!!

파일디스크립터 및 스트림 질문

해결된 질문

263

sweetstar100

작성한 질문수 27

0

  1. 파일디스크립터 다시 듣고 질문 하는데요

    예를들면 printf("~~") 이거만 있는 프로그램은 표준출력 스트림 이거만 가르키는거로 알고있습니다. 정확히는 이 프로세스의 파일디스크립터는 stdout 여기 스트림을 가리키겟죠

    근데 stdout stdin stderr 이거들 다 파일시스템에 있는 파일이죠(스트림이지만 리눅스에선 모든걸 다 파일이라고 하잖아요)??

  2. 그리고 stdin stdout이던 드라이버를 제어할수 있는 커널레벨의 함수로 만들어졌겟죠? 그리고 모니터에 출력이 되는건가요?

     

linux

답변 1

0

런잇(ProgCoach4U)

안녕하세요 sweetstar100님

  1. stdout/stdin/stderr은 파일 시스템에 있는 파일이 아닙니다. 보통 스트림이라고 부르는데, 정확히는 파일 포인터의 형태입니다. 이 3개의 파일 포인터는 모든 프로세스가 생성될 때 생성됩니다. printf()를 호출하면 출력을 요청한 내용이 표준 출력 스트림(stdout)으로 출력됩니다.

  2. 리눅스에서 printf() 함수는 glibc라는 라이브러리에 구현되어 있습니다. 커널 레벨의 함수가 아닙니다. printf() 함수가 모니터에 글자를 찍는 드라이버 같은 코드도 포함하지 않습니다. printf()는 출력을 요청한 내용을 잘 formatting해서 출력 스트림에 전달하는 내용까지 구현되어 있을 것입니다. 출력 스트림에 온 내용이 어디로 가야하는 지에 따라 적절히 잘 처리가 되겠죠. 모니터에 내용을 출력하는 것이었다면 여러 과정을 거쳐 비디오 드라이버를 거쳐 화면에 보일 수 있게 될 것입니다. 저도 일련의 과정을 전부 파악해본적은 없네요 :)

Ubuntu 설치 문제(중간에 설치가 멈춥니다)

0

278

3

VirtualBox ubuntu 24.04 설치 나름의 tip

1

185

3

제가 입문자입니다

0

85

2

터미널 창의 프롬프트가 너무 깁니다. 짧게 하고 싶습니다.

0

199

3

core 생성이 안됩니다.

0

102

2

cd /home/pig 권한 거부가 발생합니다.

0

73

2

강의에 관한 잘문은 아니고 궁금한게 있어서 여쭙고자 합니다.

0

71

2

리눅스 가상머신

0

84

2

설치 속도가 심각하게 느립니다

0

129

2

mv /tmp/pineapple . 명령어 입력했는데 다음과 같이 나타납니다.

0

66

2

cal 이라고 치니까 찾을 수 없는 명령어라고 뜹니다.

0

93

2

계속 검은 화면이 뜨는 이유가 무엇인가요?

0

420

2

그래픽 컨트롤러를 VBoxVGA로 바꾸었는데 화면이 안뜹니다.

0

166

2

우분투 설치가 안됩니다.

0

361

2

sudo 권한

0

301

4

파일 권한 실습 관련 질문

0

173

1

강의내용 관련 질문입니다

0

171

2

기본 명령어 내용까지 들으려고 하는데요

0

132

1

텍스트 에디터 질문

0

144

2

수업자료 출력해서 강의 들어야 하나요?

0

243

2

소프트링크 질문

0

139

2

강의에 수학과 관련된 내용이 있나요?

0

116

1

라즈베리파이를 이용한 학습 문의

0

122

2

안녕하세여 제가 뭘 놓친 부분이 있을까요?

0

217

2