GoWoong의 개발 블로그
close
프로필 배경
프로필 로고

GoWoong의 개발 블로그

  • 분류 전체보기 (151) N
    • 크래프톤 정글 (64) N
    • 크래프톤 정글 (컴퓨터 시스템: CSAPP) (57)
      • 3장 프로그램의 기계수준 표현 (16)
      • 6장 메모리 계층구조 (6)
      • 7장 링커 (6)
      • 8장 예외적 제어 흐름 (7)
      • 9장 가상 메모리 (16)
      • 11장 네트워크 프로그래밍 (6)
    • 클라우드 (4)
      • [AWS] AWS IoT Core (4)
      • DevOps (0)
    • Deep Dive (16)
      • CS (15)
    • 백엔드 개발 (0)
      • 파이썬 (0)
      • 자바 스프링 (0)
    • 자격증 공부 (5)
      • AWS Cloud Practitioner (2)
      • 정보처리기사 (1)
      • AWS SAA-C03 (2)
    • 문제 기록 (0)
    • 커뮤니티 참석 후기 (2)
    • 일상 기록 (1)
  • 홈
  • 글쓰기

컴퓨터 시스템 : CSAPP 8장 정리 - 8.5 Signals Part.1 8.5.4 까지

8.5 Signals이 절에서는 시그널(Signal)이라는 고수준 예외적 제어 흐름(high-level exceptional control flow) 메커니즘을 소개한다.시그널은 커널 또는 다른 프로세스가 특정 프로세스에 이벤트 발생을 알려주는 작은 메시지다.시그널의 개요시그널은 하드웨어 예외처럼 비동기적으로 발생할 수 있으며, 사용자 수준 프로세스에 도달할 수 있는 예외다.예: 사용자가 Ctrl+C를 누르면 커널이 SIGINT 시그널을 해당 프로세스에 보냄시그널은 총 30여 개 종류가 있으며, 각 시그널은 특정 이벤트에 대응한다:SIGSEGV: 잘못된 메모리 참조SIGCHLD: 자식 프로세스 종료SIGKILL: 강제 종료SIGALRM: 타이머 만료시그널은 C에서 예외(exception)를 다룰 수 있는..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/8장 예외적 제어 흐름
  • · 2025. 4. 19.
  • textsms

컴퓨터 시스템 : CSAPP 8장 정리 - 8.4 Process Control

8.4 Process Control유닉스 시스템에서 프로세스를 생성, 종료, 관리하는 시스템 콜들을 소개한다. 프로세스를 제어하기 위한 함수들이 어떻게 동작하는지, 어떤 시점에 어떤 함수가 사용되는지를 예제와 함께 설명한다.주요 기능:프로세스 ID 확인프로세스 생성 (fork)프로세스 종료 (exit)자식 프로세스 회수 (wait)프로그램 실행 (exec)일시 중단 및 재개8.4.1 Obtaining Process IDs (프로세스 ID 얻기)각 프로세스는 시스템 내에서 고유한 양의 정수인 PID(Process ID)를 갖는다.관련 함수들#include #include pid_t getpid(void); // 현재 프로세스의 PID 반환pid_t getppid(void); // 부모 프로세스..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/8장 예외적 제어 흐름
  • · 2025. 4. 19.
  • textsms

컴퓨터 시스템 : CSAPP 8장 정리 - 8.3 System Call Error Handling

8.3 System Call Error Handling (시스템 콜 에러 처리)유닉스 시스템 콜이 실패했을 때의 에러 처리 방식과, 이를 간편하게 처리하기 위한 에러 처리 래퍼(wrappers)에 대한 설명이다.기본 에러 처리 메커니즘대부분의 Unix 시스템 콜은 실패 시 -1을 반환하고,전역 변수 errno를 설정하여 에러 원인을 나타냅니다.errno는 #include 에 정의되어 있으며, 에러 번호를 정수로 저장한다.이 번호에 대응하는 에러 메시지는 strerror(errno)를 이용해 문자열로 얻을 수 있다.예시: fork() 시스템 콜의 에러 체크if ((pid = fork()) 사용자 정의 에러 처리 함수반복되는 에러 처리를 간소화하기 위해 에러 출력 전용 함수를 정의할 수 있다.예: unix_..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/8장 예외적 제어 흐름
  • · 2025. 4. 19.
  • textsms
컴퓨터 시스템 : CSAPP 8장 정리 - 8.2 Processes

컴퓨터 시스템 : CSAPP 8장 정리 - 8.2 Processes

8.2: Processes운영체제가 프로세스를 제공하는 핵심 기법은 예외(Exception)를 기반으로 하며, 이를 통해 프로그램은 마치 시스템 전체를 독점하고 있는 것처럼 보이는 환상을 경험하게 된다.프로세스란?고전적인 정의: 실행 중인 프로그램의 인스턴스각 프로세스는 실행에 필요한 전체 컨텍스트(context)를 포함한다:코드, 데이터, 스택일반 레지스터, 프로그램 카운터(PC)환경 변수, 파일 디스크립터 등프로세스를 통해 얻는 두 가지 핵심 추상화논리적 제어 흐름 (Logical Control Flow)→ 프로그램이 CPU를 독점하고 실행되는 듯한 착각을 제공개인 주소 공간 (Private Address Space)→ 프로그램이 메모리를 독점하는 듯한 착각을 제공8.2.1 Logical Contro..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/8장 예외적 제어 흐름
  • · 2025. 4. 19.
  • textsms

컴퓨터 시스템 : CSAPP 8장 정리 - 8.1 Exceptions

Exceptional Control Flow (ECF)는 프로그램의 일반적인 순차 흐름을 예외적으로 변경하는 메커니즘으로, 운영체제의 핵심 기능인 입출력, 프로세스, 가상 메모리 등을 구현하는 데 사용된다. 프로그래머에게 중요한 이유는 다음과 같다:시스템 개념 이해에 필수적: 프로세스 생성, 종료, 신호 처리 등은 모두 ECF를 기반으로 구현된다.운영체제와의 상호작용 이해: 응용 프로그램이 시스템 콜을 통해 OS 서비스를 요청할 때 trap이라는 형태의 ECF를 사용한다.응용 프로그램 작성 능력 향상: 예를 들어 유닉스 셸이나 웹 서버 같은 프로그램은 ECF 메커니즘을 적극적으로 활용한다.동시성(concurrency) 이해의 기초: 인터럽트, 프로세스, 스레드, 시그널 핸들러 등의 개념은 모두 ECF의 ..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/8장 예외적 제어 흐름
  • · 2025. 4. 19.
  • textsms

컴퓨터 시스템 : CSAPP 7장 정리 - 7.13 ~ 7.15

7.13 라이브러리 인터포지셔닝 (Library Interpositioning)라이브러리 인터포지셔닝은 공유 라이브러리 함수 호출을 가로채어 자신이 정의한 코드로 대체할 수 있게 해주는 강력한 기술이다. 이를 통해 다음과 같은 작업이 가능하다:특정 함수 호출 횟수 추적함수의 입력/출력 값 검증 및 기록특정 함수를 완전히 다른 구현으로 대체기본 개념인터포지셔닝은 다음 세 단계를 포함한다:대상 함수와 동일한 시그니처의 래퍼(wrapper) 함수를 만든다.특정 메커니즘을 이용해 시스템이 원래 함수가 아닌 래퍼를 호출하게 한다.래퍼 함수는 자체 로직을 실행한 후 원래 함수를 호출하고 결과를 반환한다​.인터포지셔닝의 세 가지 방식1. 컴파일 타임 인터포지셔닝 (Compile-Time Interpositioni..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/7장 링커
  • · 2025. 4. 18.
  • textsms
  • navigate_before
  • 1
  • ···
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • ···
  • 26
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (151) N
    • 크래프톤 정글 (64) N
    • 크래프톤 정글 (컴퓨터 시스템: CSAPP) (57)
      • 3장 프로그램의 기계수준 표현 (16)
      • 6장 메모리 계층구조 (6)
      • 7장 링커 (6)
      • 8장 예외적 제어 흐름 (7)
      • 9장 가상 메모리 (16)
      • 11장 네트워크 프로그래밍 (6)
    • 클라우드 (4)
      • [AWS] AWS IoT Core (4)
      • DevOps (0)
    • Deep Dive (16)
      • CS (15)
    • 백엔드 개발 (0)
      • 파이썬 (0)
      • 자바 스프링 (0)
    • 자격증 공부 (5)
      • AWS Cloud Practitioner (2)
      • 정보처리기사 (1)
      • AWS SAA-C03 (2)
    • 문제 기록 (0)
    • 커뮤니티 참석 후기 (2)
    • 일상 기록 (1)
최근 글
인기 글
최근 댓글
태그
  • #saa-c03
  • #CLF-C01
  • #aws #iot
  • #AWS
  • #IOT
  • #serverless
  • #Cloud Practitioner
  • #AWS 자격증
  • #AWS Community Day
  • #AWSKRUG
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바