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

GoWoong의 개발 블로그

  • 분류 전체보기 (166) N
    • 크래프톤 정글 (79) 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 9장 정리 - 9.10 가비지 컬렉터 기초

컴퓨터 시스템 : CSAPP 9장 정리 - 9.10 가비지 컬렉터 기초

9.10 가지비 컬렉션 (Garbage Collection)명시적 할당자(예: C의 malloc 패키지)에서는 프로그램이 malloc과 free 호출을 통해 힙 블록을 직접 할당하고 해제한다. 따라서 프로그램이 더 이상 필요 없는 블록을 명시적으로 해제하지 않으면 메모리 누수가 발생한다.예를 들어, 다음과 같은 C 함수가 있다고 가정한다:void garbage() { int *p = (int *)Malloc(15213); return; /* 이 시점에서 p는 쓰레기가 된다 */}이 경우, p는 함수가 끝날 때 더 이상 참조되지 않지만, 개발자가 free(p) 호출을 빠뜨렸기 때문에 이 블록은 프로그램이 종료될 때까지 힙 공간을 차지하게 된다.가지비 컬렉터는 이런 문제를 해결하기 위해 만들어졌다..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/9장 가상 메모리
  • · 2025. 4. 29.
  • textsms

컴퓨터 시스템 : CSAPP 9장 정리 - 9.9.14 분리 가용 리스트

9.9.14 분리 가용 리스트 (Segregated Free Lists)명시적 가용 시트 문제점 :단일 연결 리스트로 모든 가용 블록을 관리하면, 원하는 크기의 블록을 찾기 위해 모든 블록을 선형 탐색해야 해서 시간이 오래 걸린다.해결책:"분리 저장소 (Segregated Storage)"라는 기법을 사용하여, 크기별로 여러 개의 가용 리스트를 유지한다. 즉, 비슷한 크기의 블록들끼리 따로 모아서 관리하는 것이다.기본 아이디어가능한 블록 크기 전체를 여러 '크기 클래스(size class)'로 나누어 분류한다.예를 들면:{1}, {2}, {3, 4}, {5–8}, ..., {1025–2048}, {2049–4096}, {4097–∞}작은 블록은 세밀하게 구분하고, 큰 블록은 대략적인 크기별로 묶을 수도 ..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/9장 가상 메모리
  • · 2025. 4. 29.
  • textsms
컴퓨터 시스템 : CSAPP 6장 정리 - 종합: 프로그램 성능에 대한 캐시의 영향

컴퓨터 시스템 : CSAPP 6장 정리 - 종합: 프로그램 성능에 대한 캐시의 영향

6.6 캐시가 프로그램 성능에 미치는 영향 (Putting It Together: The Impact of Caches on Program Performance)지금까지 메모리 계층 구조를 살펴봤다. 이번 절에서는 캐시가 실제 머신에서 프로그램 성능에 어떤 영향을 미치는지를 살펴본다​.메모리 계층 구조는 프로그램 성능에 지대한 영향을 미친다.특히, 프로그램이 메모리 시스템에서 데이터를 읽어 들이는 속도(읽기 처리량, read throughput)가 중요한 성능 지표가 된다.지역성(locality)을 잘 활용하면 프로그램이 훨씬 빠르게 동작할 수 있다.6.6.1 메모리 마운틴 (The Memory Mountain)개념프로그램이 메모리 시스템으로부터 데이터를 읽어들이는 속도를 읽기 처리량(read throu..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/6장 메모리 계층구조
  • · 2025. 4. 28.
  • textsms

컴퓨터 시스템 : CSAPP 6장 정리 - 6.5 캐시 친화적 코드 작성

6.5 캐시 친화적인 코드 작성 (Writing Cache-Friendly Code)6.2절에서는 지역성(locality)이라는 개념을 소개했다. 이제 캐시 메모리의 구조를 이해했으므로, 좋은 지역성을 갖춘 프로그램이 무엇인지 더 명확히 설명할 수 있다​.핵심은 다음과 같다:좋은 지역성을 가진 프로그램은 낮은 미스율(miss rate)을 가진다.낮은 미스율을 가진 프로그램은 높은 미스율을 가진 프로그램보다 일반적으로 빠르게 실행된다.따라서, 좋은 프로그래머는 항상 캐시 친화적인(cache-friendly) 코드를 작성해야 한다.기본 접근 방법:일반적인 경우를 빠르게 만든다대부분의 프로그램은 몇몇 핵심 함수(core functions) 안에서 대부분의 시간을 보낸다.그 안에서도 주로 **내부 루프(inne..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/6장 메모리 계층구조
  • · 2025. 4. 28.
  • textsms
컴퓨터 시스템 : CSAPP 6장 정리 - 6.4 캐시 메모리

컴퓨터 시스템 : CSAPP 6장 정리 - 6.4 캐시 메모리

6.4 Cache Memories초기 컴퓨터 시스템의 메모리 계층은 단순했다:CPU 레지스터메인 메모리디스크 저장장치하지만 CPU와 메인 메모리 사이의 성능 격차가 점점 커지면서, 시스템 설계자들은 CPU 레지스터 파일과 메인 메모리 사이에 작은 고속 L1 캐시를 추가하게 되었다​.L1 캐시: 대개 4 클럭 사이클 안에 접근할 수 있으며, 레지스터에 접근하는 속도와 거의 비슷하다.이후 성능 격차가 더 커지면서 L2 캐시를 L1과 메인 메모리 사이에 추가했고, 이 캐시는 약 10 클럭 사이클 정도로 접근할 수 있다.더 현대 시스템에서는 L3 캐시까지 추가하여, 메인 메모리 접근 전 마지막 캐시 단계로 삼고 있다(약 50 클럭 사이클).이 장에서는 간단히 CPU와 메인 메모리 사이에 단일 L1 캐시가 있는 ..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/6장 메모리 계층구조
  • · 2025. 4. 28.
  • textsms
컴퓨터 시스템 : CSAPP 6장 정리 - 6.3 메모리 계층 구조

컴퓨터 시스템 : CSAPP 6장 정리 - 6.3 메모리 계층 구조

6.3 메모리 계층 구조 (The Memory Hierarchy)6.1절과 6.2절에서 저장 기술과 프로그램의 지역성에 대해 살펴봤다. 중요한 사실은 다음과 같다:저장 기술: 다양한 저장장치는 접근 시간, 비용, 용량이 매우 다르다. 빠른 저장장치는 느리고 싼 저장장치보다 비싸고 용량이 작다. CPU와 메인 메모리 간 속도 차이는 점점 벌어지고 있다.컴퓨터 소프트웨어: 잘 작성된 프로그램은 좋은 지역성을 보인다​.이 두 특성이 서로 보완적으로 작용하여, 현대 시스템은 메모리 계층구조(memory hierarchy)라는 방식을 통해 메모리를 구성한다. 메모리 계층 구조는 빠르고 작은 저장장치가 느리고 큰 저장장치를 캐시(cache)하는 구조로 되어 있다​.계층 구조를 따라 내려갈수록 저장장치는 더 크고, ..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/6장 메모리 계층구조
  • · 2025. 4. 28.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • ···
  • 10
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (166) N
    • 크래프톤 정글 (79) 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)
최근 글
인기 글
최근 댓글
태그
  • #Cloud Practitioner
  • #aws #iot
  • #AWS Community Day
  • #AWS
  • #AWS 자격증
  • #IOT
  • #CLF-C01
  • #AWSKRUG
  • #saa-c03
  • #serverless
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바