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

GoWoong의 개발 블로그

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

컴퓨터 시스템 : CSAPP 9장 정리 - 9.9 동적 메모리 할당 9.9.6~9.9.11

9.9.6 묵시적 가용 리스트블록 구조힙에 저장되는 각 블록은 헤더(header), 페이로드(payload), 그리고 필요에 따라 패딩(padding)으로 구성된다.헤더에는 블록 전체 크기와 할당 여부 비트를 함께 저장한다.블록 크기는 항상 8의 배수이므로, 하위 3비트 중 하나를 할당 여부 표시용으로 사용한다.예를 들어, 크기가 0x18인 블록이 할당되어 있다면, 헤더 값은 0x19가 된다.묵시적 자유 리스트 개념묵시적 가용 리스트 방식은 명시적인 포인터 없이 블록들을 순차적으로 탐색하면서 가용 블록을 찾는 구조다.블록의 크기 정보를 이용해 다음 블록의 위치를 계산한다.힙 전체를 한 블록씩 순회하면서 가용 블록을 찾는다.가용 블록은 헤더에 기록된 할당 여부를 통해 판별한다.장점과 단점장점:구조가 간단하..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/9장 가상 메모리
  • · 2025. 4. 25.
  • textsms
컴퓨터 시스템 : CSAPP 9장 정리 - 9.9 동적 메모리 할당 9.9.1~9.9.5

컴퓨터 시스템 : CSAPP 9장 정리 - 9.9 동적 메모리 할당 9.9.1~9.9.5

9.9 동적 메모리 할당 (Dynamic Memory Allocation)C 프로그래머는 mmap 및 munmap 같은 저수준 함수보다는, 실행 시간에 추가적인 가상 메모리가 필요할 때 동적 메모리 할당자(dynamic memory allocator)를 사용하는 것을 더 선호한다.동적 메모리 할당자는 프로세스의 가상 메모리 내 힙(heap)이라고 불리는 영역을 관리한다. 이 힙은 초기화되지 않은 데이터 영역 바로 다음에서 시작해서, 더 높은 주소 방향으로 확장되는 demand-zero memory이다. 커널은 각 프로세스마다 brk라는 포인터를 유지하여 힙의 꼭대기를 추적한다.할당자는 힙을 다양한 크기의 블록으로 구성된 컬렉션으로 유지하며, 각각은 할당됨(allocated) 또는 비어있음(free) 상태..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/9장 가상 메모리
  • · 2025. 4. 24.
  • textsms
RB-Tree 구현 회고 - 실패하면 디버그 성공하면 리눅스 아닙니까!

RB-Tree 구현 회고 - 실패하면 디버그 성공하면 리눅스 아닙니까!

실패하면 디버그 성공하면 리눅스 아닙니까!안녕하세요 6주 차 RB-Tree 트리 생성 발표를 맡은 고웅입니다.어쩌다 보니 2주 연속 오프닝을 맡게 되었습니다??우선 저는 RB-Tree를 구현하며 가장 처음 만나게 되는 생성함수에 대한 발표를 맡았습니다.너무 쉬운거 맡아서 날먹 하려고 하네?? 맞습! 아!👊(퍽!) 아닙니다. 😅제가 트리 생성을 발표하려던 이유는 제가 겪었던 디버깅의 추억?을 소개 시켜드리기 위해서 이런 쉬운 주제를 냉큼 주웠습니다.먼저 오늘 준비된 코드부터 보시죠🔬구현 코드rbtree *new_rbtree(void) { rbtree *p = (rbtree *) calloc(1, sizeof(rbtree)); // TODO: initialize struct if needed..

  • format_list_bulleted 크래프톤 정글
  • · 2025. 4. 23.
  • textsms

컴퓨터 시스템 : CSAPP 9장 - 서술형 문제를 통해 이해하기 Part.2

지난 포스팅에 이어서 서술형 문제에 대한 답을 작성해 보고 이에 대해 수정이 필요한 내용을 담아 정리했다.가상 메모리 기반의 메모리 보호(Memory Protection)주소 공간의 격리 (Address Space Isolation)각 프로세스는 고유한 가상 주소 공간을 가진다.이 때문에 한 프로세스가 다른 프로세스의 메모리를 직접 접근하는 것이 불가능하다.동일한 주소(예: 0x400000)가 여러 프로세스에 존재하더라도, 실제 물리 주소는 완전히 다를 수 있다.접근 권한 제어 (Access Permissions)각 페이지 테이블 항목에는 권한 비트(read/write/execute)가 포함되어 있다.예를 들어, 코드 영역은 실행만 가능하고, 데이터 영역은 쓰기가 가능하며, 읽기 전용 데이터는 쓰기를 허..

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

컴퓨터 시스템 : CSAPP 9장 - 서술형 문제를 통해 이해하기 Part.1

지금까지 9장의 내용을 학습했지만 이에 대한 개념이 아직 헷갈리고 책의 장황한 설명들로 인하여 이해가 어려웠던 내용에 대해 직접 서술형 문제를 답하는 연습을 수행하고 이를 기록하여 9장의 내용을 더 잘 이해하고자 했다. GPT가 내주는 서술형 문제를 직접 작성해 보고 추가로 설명이 되면 좋은 내용들을 추가했다.가상 메모리가 가지는 주요 목적캐싱 도구로서의 역할가상 메모리는 주 기억 장치(DRAM)를 보조 기억장치(디스크)의 캐시로 활용한다. 프로그램이 참조하는 페이지가 주 기억장치에 있으면 이를 페이지 히트(page hit)라고 하며, 디스크 접근 없이 빠르게 데이터를 가져올 수 있다. 반대로, 참조한 페이지가 주기억장치에 없으면 페이지 폴트(page fault)가 발생하고 , 운영체제는 디스크에서 해당..

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

AVL 트리 개념 정리

이 전 포스팅으로 이진 탐색 트리나, RED-BLACK TREE를 살펴봤다. 이진 탐색 트리의 비효율성을 개선하기 위해 균형 이진 탐색 트리(Balanced Binary Search Tree)의 개념이 등장했고 RB-Tree가 이 균형 이진 탐색 트리의 종류 중 하나였다. 이번에는 또 다른 균형 이진 탐색 트리인 AVL 트리에 대해 정리하겠다.AVL 트리란?AVL 트리라는 이름은 이 자료구조를 만든 두 사람, Adelson-Velsky와 Landis의 이름을 따서 지어졌다.모든 노드에 대해 왼쪽 서브트리와 오른쪽 서브트리의 높이 차이가 1 이하인 이진 탐색 트리(BST)이다.이 높이 차이를 균형 인수(Balance Factor)라고 하며,Balance Factor=(left subtree height)−..

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

티스토리툴바