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)
  • 홈
  • 글쓰기
[pintos] Week1: Priority Scheduling - Part.2

[pintos] Week1: Priority Scheduling - Part.2

이 전 포스팅에서는 우선순위에 따라 선점을 하는 기능을 구현했다. 이번 포스팅에서는 세마포어, 조건 변수에 따른 Lock 기능을 구현해 보겠다.2025.05.12 - [크래프톤 정글] - [pintos] Week1: Priority Scheduling - Part.1 [pintos] Week1: Priority Scheduling - Part.1이전 포스팅인 Alarm Clock의 경우 pintos를 어떻게 접근해야 하는가? 그런 느낌이 들었다면 Priority Scheduling의 경우 복잡하고 어려웠다. 그리고 다시 한번 느끼게 된 건 문서를 잘 읽고 개념을 잘 잡고www.gowoong.com구현 요구사항 설명잠금(또는 조건 변수)을 기다리는 스레드 집합에서 스레드의 우선순위에 따라 대기 중인 스레드..

  • format_list_bulleted 크래프톤 정글
  • · 2025. 5. 12.
  • textsms
[pintos] Week1: Priority Scheduling - Part.1

[pintos] Week1: Priority Scheduling - Part.1

이전 포스팅인 Alarm Clock의 경우 pintos를 어떻게 접근해야 하는가? 그런 느낌이 들었다면 Priority Scheduling의 경우 복잡하고 어려웠다. 그리고 다시 한번 느끼게 된 건 문서를 잘 읽고 개념을 잘 잡고 진행하자였다.구현 요구사항 설명pintos는 FIFO(First In First Out)으로 스케줄링을 진행한다.pintos를 우선순위에 따라 스케줄링을 진행하도록 수정하라ready list를 스레드 우선순위에 따라 정렬하라동기화 기본 요소(세마포어, 조건 변수)에 대한 대기 목록을 정렬한다.선점기능을 구현하라선점 지점: 스레드가 준비 목록에 추가될 때(타이머 인터럽트가 호출될 때마다가 아님).구현 목표ready list에 새로 추가된 thread의 우선순위가 현재 CPU를 점..

  • format_list_bulleted 크래프톤 정글
  • · 2025. 5. 12.
  • textsms
[pintos] 우선순위 역전과 우선순위 기부

[pintos] 우선순위 역전과 우선순위 기부

우선순위 역전(Priority Inversion)은 낮은 우선순위의 스레드가 높은 우선순위의 스레드보다 먼저 CPU를 점유하거나, 높은 우선순위 스레드의 실행을 지연시키는 현상을 의미한다. 이는 멀티스레딩 환경에서 공유 자원과 락(lock)이 있을 때 주로 발생한다.발생 시나리오L (Low priority) 스레드가 공유 자원(R)을 사용 중이다.H (High priority) 스레드가 실행되며, 같은 자원 R에 접근하려고 한다.하지만 자원 R은 이미 L이 점유 중이므로, H는 대기하게 된다.그 사이 M (Medium priority) 스레드가 스케줄러에 의해 실행된다.M은 자원 R과 무관하지만 H보다 우선순위가 낮으므로 원래 H 다음에 실행되어야 하지만,현재 H는 자원 대기 상태이므로 M이 계속 실행됨..

  • format_list_bulleted 크래프톤 정글
  • · 2025. 5. 10.
  • textsms
WebProxy-Lab 회고

WebProxy-Lab 회고

스레드 락(thread lock) 은 멀티스레딩 환경에서 공유 자원 접근을 동기화하기 위해 매우 중요한 개념이다. 특히 캐시 같은 공유 메모리 구조는 여러 스레드가 동시에 접근하면 데이터 레이스, 비일관성, 세그멘테이션 폴트 등 심각한 문제가 발생할 수 있어, 락이 필수적이다.더보기1. 스레드 락의 목적하나의 스레드만 임계 구역(critical section)에 진입할 수 있도록 제한하는 동기화 장치임계 구역: 동시에 둘 이상이 들어가면 문제가 발생하는 코드 영역 (예: 캐시 삽입, 삭제, 접근)문제점 예시:두 스레드가 동시에 같은 URI를 캐시에 삽입하거나 제거하면 → 메모리 누수, 중복 삽입, 충돌 발생한 스레드가 next 포인터를 변경하고 있는 도중 다른 스레드가 이를 따라 접근 → 세그폴트주제 :..

  • format_list_bulleted 크래프톤 정글
  • · 2025. 5. 7.
  • textsms

[WebProxy-Lab] proxy 서버 구현하기 Part.4 - 캐시 기능: 구현

이제 본격적으로 캐시 기능을 구현해 보려고 한다. 캐시 기능을 구현하기 위해 cache.c, cache.h 를 만들어 별도로 분리를 해도 될 것이며 그냥 proxy.c에 전부 담아서 개발을 진행해도 된다. 일단은 proxy.c에 몰아서 개발을 하고 추 후 리팩터링을 통해 분리를 하는 방향으로 진행을 할 것 같다. 그럼 시작하기 앞서 먼저 이 전 포스팅의 마지막 부분에 있던 캐시용 구조체들을 구현하고 시작하는 것이 좋을 것이다. 자세한 사항은 이 전 포스트를 확인하라2025.05.05 - [크래프톤 정글] - [WebProxy-Lab] proxy 서버 구현하기 Part.4 - 캐시 기능: 개념 정리 [WebProxy-Lab] proxy 서버 구현하기 Part.4 - 캐시 기능: 개념 정리이 전 포스팅까지 ..

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

[WebProxy-Lab] proxy 서버 구현하기 Part.4 - 캐시 기능: 개념 정리

이 전 포스팅까지 해서 WebProxy-Lab의 동시성 기능까지 구현을 했다. 이제 마지막 요구 사항인 캐시 기능에 대해 접근을 시도하려고 한다. 2025.05.05 - [크래프톤 정글] - [WebProxy-Lab] proxy 서버 구현하기 Part.3 - 동시성 처리2025.05.05 - [크래프톤 정글] - [WebProxy-Lab] proxy 서버 구현하기 Part.2 - 프록시 서버 구현2025.05.05 - [크래프톤 정글] - [WebProxy-Lab] proxy 서버 구현하기 Part.1 - 요구사항 확인 및 설계이번 Part.4 에서는 캐시를 구현하기 위해 필요할 것으로 생각되는 개념이나 아이디어를 정리하려고 한다.1. 요구 사항 확인먼저 proxylab.pdf 에 있는 캐시 관련 요구사..

  • format_list_bulleted 크래프톤 정글
  • · 2025. 5. 5.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • ···
  • 14
  • 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)
최근 글
인기 글
최근 댓글
태그
  • #AWS
  • #serverless
  • #Cloud Practitioner
  • #AWS Community Day
  • #CLF-C01
  • #saa-c03
  • #AWS 자격증
  • #IOT
  • #aws #iot
  • #AWSKRUG
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바