tgool
Tgool
tgool
전체 방문자
오늘
어제
  • 분류 전체보기
    • Data Science
      • AI
      • Data Mining
      • ML(Machine Learning)
    • Computer Science
      • 자료구조
      • 알고리즘
      • 시스템 프로그래밍
      • 운영체제
      • 컴퓨터 구조
      • 컴퓨터 네트워크
      • 데이터 베이스
      • 파이썬
      • 자바
      • 아두이노
    • Math
      • 통계학
      • 확률론
      • 선형대수학
      • 수리통계학
      • 회귀분석
    • TOFEL
    • Git
    • Plan
    • Book
    • Working out
      • 영양과 생활
      • 운동 정보
      • 운동 기록

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.
tgool
Computer Science/컴퓨터 구조

[CSAPP] 8.3 System Call Error Handling (시스템 콜 에러 처리)

[CSAPP] 8.3 System Call Error Handling (시스템 콜 에러 처리)
Computer Science/컴퓨터 구조

[CSAPP] 8.3 System Call Error Handling (시스템 콜 에러 처리)

2023. 3. 1. 19:17

8.3 System Call Error Handling (시스템 콜 에러 처리)

Unix system-level 함수들은 에러를 마주칠 때 다음과 같은 동작을 수행한다.

  • -1을 리턴한다.
  • 전역 정수형 변수인 errno를 설정한다.

아래의 코드를 살펴보자.

  • 이와 같이 -1을 check하고 strerror함수를 통해 errno 변수도 체크하고 있다.
  • 하지만 이러한 error-handling 방식은 가독성 때문에 보통 포기하고 있다.
  • 이 장에서는 가독성도 챙기면서 에러 핸들링을 하는 방식을 간략하게 살펴볼 것.
  • Fork 함수
    • wrapper 함수이다. (앞의 글자만 대문자로 하고 있음)
    • 여기서 원 함수 fork를 호출, 그리고 error 핸들링, 그리고 fork의 반환값을 반환하는 과정을 수행한다.
    • 또한 문제가 발생 시 종료하는 절차까지 있다.

'Computer Science > 컴퓨터 구조' 카테고리의 다른 글

[CSAPP] 9.7 Case Study: The Intel Core i7 / Linux Memory System  (0) 2023.03.01
[CSAPP] 9.8 Memory Mapping (메모리 맵핑)  (0) 2023.03.01
[CSAPP] 8.2 Processes (프로세스)  (0) 2023.03.01
[CSAPP] 9.3 VM as a Tool for Caching(캐싱 도구로서의 VM)  (0) 2023.03.01
[CSAPP] 9.2 Address Spaces(주소 공간)  (0) 2023.03.01
  • 8.3 System Call Error Handling (시스템 콜 에러 처리)
'Computer Science/컴퓨터 구조' 카테고리의 다른 글
  • [CSAPP] 9.7 Case Study: The Intel Core i7 / Linux Memory System
  • [CSAPP] 9.8 Memory Mapping (메모리 맵핑)
  • [CSAPP] 8.2 Processes (프로세스)
  • [CSAPP] 9.3 VM as a Tool for Caching(캐싱 도구로서의 VM)
tgool
tgool

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.