728x90
728x90
[ 시스템 & 인프라/PintOS & CS ][게임 인프라] 게임 산업의 주요 운영체제(OS) 비교: 콘솔(PS4·Xbox·Switch), PC(Windows·SteamOS), 모바일(Android·iOS) 아키텍처 분석2025-04-13 03:13:47들어가며운영 체제(OS)는 컴퓨터 시스템의 하드웨어 자원(CPU, GPU, 메모리, 저장 장치 등)을 관리하고, 응용 소프트웨어(게임 포함)가 하드웨어와 상호 작용할 수 있도록 인터페이스를 제공하는 필수적인 시스템 소프트웨어이다. 특히 게임 환경에서는 OS의 역할이 더욱 중요해진다. 게임은 실시간 상호작용, 높은 그래픽 처리 요구 사항, 낮은 지연 시간 등 극도로 까다로운 성능 조건을 요구하기 때문이다. OS는 이러한 요구 사항을 충족시키기 위해 자원 할당, 프로세스 스케줄링, 하드웨어 추상화, 보안 등의 기능을 효율적으로 수행해야 하며, 이는 게임의 성능, 안정성, 그리고 궁극적으로 사용자 경험에 직접적인 영향을 미친다. 게임 산업에서 사용되는 OS는 매우 다양하다. 특정 하드웨어에 맞춰 고도로 최적화..
[ 시스템 & 인프라/PintOS & CS ][데이터베이스] DB 인덱스(Index) 핵심 원리: B-Tree 구조와 검색 성능 최적화2025-01-16 16:28:01TL;DR — 3줄 핵심 요약• 문제: 직무 테스트에서 데이터베이스 인덱스를 설명하는 문항을 다 쓰지 못했다. 백엔드와 모바일 게임 서버에서 인덱스 설계는 읽기 성능을 좌우한다.• 기술/원인: 인덱스는 컬럼 값과 레코드 위치를 정렬해 둔 별도 자료구조다. 조회는 그 구조에서 위치를 먼저 찾아 전체 스캔을 피하지만, 삽입·수정·삭제 때는 인덱스도 함께 갱신해야 한다.• 해결/인사이트: WHERE, JOIN, GROUP BY, ORDER BY에 자주 쓰이는 컬럼에 선택도가 높은 것부터 건다. 만든 뒤에는 EXPLAIN으로 실제 사용 여부를 확인해야 한다.들어가며: 직무 테스트에서 놓친 주제며칠 전 한 기업의 직무 테스트를 봤다. CS 기초 필기였는데, 데이터베이스 인덱스 문항을 끝까지 쓰지 못했다. 인덱스는..
[ 시스템 & 인프라/PintOS & CS ][CS:APP/C언어] Malloc Lab 동적 메모리 할당기 구현: Explicit Free List와 가용 블록 분할·병합 최적화2024-04-15 00:57:27TL;DR — 3줄 핵심 요약• 문제: Malloc Lab은 malloc, free, realloc을 직접 구현하는 과제인데, 사전 지식 없이는 무엇부터 손대야 할지 알 수 없었다.• 기술/원인: 힙은 sbrk로 늘어나며, 블록마다 크기와 사용 여부를 적은 헤더를 두고, 가용 블록은 리스트로 관리한다. 할당 방식(First Fit, Best Fit)과 병합(Coalescing)이 단편화와 처리 속도를 좌우한다.• 해결/인사이트: 사용률(얼마나 낭비 없이 썼는가)과 처리량(초당 몇 번 처리했는가)은 서로 맞바꾸는 관계다. 점수는 두 값을 함께 계산하므로 한쪽만 올리는 구현은 점수가 오르지 않는다.들어가며크래프톤 정글 4기에서 Malloc Lab을 구현해야 했다. 이 글은 그때 이해를 위해 정리한 사전 지식..
[ 시스템 & 인프라/PintOS & CS ][PintOS/운영체제] Project 1: Threads 완벽 분석 - Alarm Clock과 Priority Scheduling 구현2024-03-17 23:56:26TL;DR — 3줄 핵심 요약• 문제: PintOS Threads 과제를 하려면 프로세스와 스레드, 스케줄링, 동기화, 경쟁 상태, 교착 상태, 문맥 교환, MLFQS를 한 번에 설명할 수 있어야 했다.• 기술/원인: CPU는 한 번에 하나만 실행하므로, 운영체제는 스케줄러로 실행 순서를 정하고, 공유 데이터에는 락과 세마포어로 순서를 강제하며, 전환할 때는 문맥을 저장하고 복원한다.• 해결/인사이트: 개념을 정의, 원인, 대표 알고리즘 순서로 정리하고 나면 PintOS의 Alarm Clock, Priority Scheduling, MLFQS 구현이 무엇을 요구하는지 보인다.들어가며크래프톤 정글에서 KAIST PintOS를 구현하며 팀 프로젝트를 진행하고 있다. 이 글은 정글에서 제공한 가이드라인의 공부..
728x90
728x90