[중간정리] 12-13주차: TLB, Belady's Anomaly, Thrashing, Anonymous Page
·
크래프톤 정글/CS기초(키워드, 개념정리)
TLBTLB는 최근 주소 변환 매핑 정보를 저장하여 이를 빠르게 참조할 수 있도록 하는 고속 캐시 메모리이다. TLB에 원하는 주소 변환 정보가 있으면, 페이지 테이블을 참조하지 않고 바로 물리 주소를 얻을 수 있어 성능이 향상된다(TLB Hit). 다만 TLB Miss일 때, 시스템은 메모리의 페이지 테이블을 조회하여 물리적 주소를 찾고, 이 정보를 TLB에 갱신한다. Belady’s Anomaly페이징 기법을 사용하는 메모리 관리 시스템에서, 페이지 프레임 수를 늘리는데도 Page Fault 발생 빈도가 오히려 늘어나는 경우가 있는데, 이를 Belady의 역설(Belady’s Anomaly)이라고 한다. 이는 특히 FIFO(Firt-In, First-Out) 페이지 교체 알고리즘에서 관찰되는데, 페..
[CS기초] 12-13주차 개념 정리
·
크래프톤 정글/CS기초(키워드, 개념정리)
12-13주차 개념 정리아래의 내용을 코드 블럭 우측 상단의 Copy 버튼을 눌러 복사한 뒤, 퀴즈 로봇(신명훈 학우 제작)의 프롬프트에 붙여넣기하면 핵심 개념들에 대한 퀴즈를 풀어볼 수 있습니다. □ 페이징가상 주소 공간을 균일한 크기의 '페이지'로 나누고, 이를 물리 메모리의 '프레임'에 매핑해 주는 메모리 관리 기법.■ 페이징의 특징▶ 연속성(Contiguity) • 실제 물리 메모리는 비연속적으로 할당되더라도, 프로세스는 연속된 가상 주소 공간을 가질 수 있음 • 이를 통해 물리 메모리의 조각화를 줄이고, 큰 연속 공간을 확보하지 않아도 프로그램 실행이 가능해짐▶ 보호(Protection) • 각 프로세스는 고유의 가상 주소 공간을 가지며, 운영체제는 페이지 테이블을 통해 접근 권한을 관리 • 이..
[CS기초] Anonymous Page, File-backed Page, Swap Disk의 이해
·
크래프톤 정글/CS기초(키워드, 개념정리)
Anonymous Page, File-backed Page, Swap Disk의 이해가상 메모리 시스템에서는 페이지를 어떻게 구성하고 저장하느냐에 따라서 크게 Anonymous Page와 File-backed Page로 나눠지는데요. 이 페이지들이 메모리에서 교체될 경우 사용하는 디스크의 특정 공간이 바로 Swap Disk(Swap 영역)입니다. 이번 글에서는 이 세 가지 개념에 대해 구체적으로 살펴보겠습니다. Anonymous Page(익명 페이지)Anonymous Page는 특정한 파일과 연결되지 않고, 프로세스가 실행 도중 동적으로 할당하는 메모리 공간입니다. 이름 그대로 디스크 상의 어떤 파일과도 관련이 없기 때문에 '익명'이라는 표현이 붙습니다. 주로 힙(heap), 스택(stack) 같은 동..
[CS기초] 페이지 결함(Page Fault)과 Lazy Loading, 페이지 교체 정책
·
크래프톤 정글/CS기초(키워드, 개념정리)
페이지 결함(Page Fault)과 Lazy Loading, 페이지 교체 정책이번 포스팅에서는 가상 메모리 시스템에서 자주 발생하는 페이지 결함(Page Fault)과 이를 효율적으로 처리하는 Lazy Loading과 다양한 페이지 교체 정책(Page Replacement Policy)에 대해 알아보겠습니다. 페이지 결함(Page Fault)의 이해Page Fault는 프로세스가 접근하려는 페이지가 현재 물리 메모리에 존재하지 않을 때 발생하는 인터럽트 이벤트입니다. 이는 운영체제가 해당 페이지를 디스크에서 읽어 물리 메모리에 적재함으로써 해결되는데요. 일반적인 처리 절차는 다음과 같습니다.CPU가 접근하려는 주소에 해당하는 매핑 정보가 없는 경우, 페이지 결함 인터럽트를 발생시킴운영체제는 해당 주소가..
[CS기초] 가상 메모리 시스템의 기본 구조 (Virtual Memory, Page Table, TLB)
·
크래프톤 정글/CS기초(키워드, 개념정리)
가상 메모리 시스템의 기본 구조 (Virtual Memory, Page Table, TLB)가상 메모리(Virtual Memory)는 운영체제의 메모리 관리를 위한 핵심 기술이라고 할 수 있는데요. 프로그램마다 독립된 메모리 공간을 제공함으로써 물리적 메모리를 효율적으로 사용하도록 돕습니다. 이번 글에서는 가상 메모리의 작동 방식과 기본 구조에 대해 단계별로 알아보겠습니다. 가상 메모리(Virtual Memory)의 개념가상 메모리는 프로세스마다 독립된 연속적인 메모리 공간을 제공하여, 실제 물리 메모리보다 큰 메모리를 사용할 수 있게 하고 주소 공간의 추상화와 보호 기능을 제공하는 기술입니다. 이는 페이지 단위로 메모리를 관리하고, 실제 필요한 시점에만 물리 메모리에 로드하는 요구 페이징(lazy l..
[중간정리] 10-11주차: 커널모드/사용자모드, 컨텍스트 스위칭, fsync, MLFQS
·
크래프톤 정글/CS기초(키워드, 개념정리)
커널 모드와 사용자 모드운영체제의 핵심 서비스는 커널 모드에서 실행되며, 그 중 하나가 바로 공유 자원 관리이다. 예를 들어 파일 시스템, 메모리 등과 같은 자원은 여러 프로세스에 의해 동시에 요청될 수 있고, 이에 대한 접근과 사용을 적절히 관리하는 것이 필수적이다. 커널 모드에서는 이러한 자원들에 대한 접근을 제어하고, 충돌이나 데이터 손상을 방지하는 역할을 한다. 사용자 모드에서는 이러한 공유 자원 관리를 직접 수행하지 않는데, 여러 사용자 또는 프로세스가 자원에 직접 접근할 경우 데이터의 일관성과 안정성이 위협받을 수 있기 때문이다. 컨텍스트 스위칭컨텍스트 스위칭 과정에서 운영체제는 현재 프로세스의 상태(컨텍스트)를 저장하고, 다음에 실행할 프로세스의 저장된 상태를 복원한다. 이때 저장되는 정보..
[CS기초] 10-11주차 개념정리
·
크래프톤 정글/CS기초(키워드, 개념정리)
10-11주차 개념 정리아래의 내용을 코드 블럭 우측 상단의 Copy 버튼을 눌러 복사한 뒤, 퀴즈 로봇(신명훈 학우 제작)의 프롬프트에 붙여넣기하면 핵심 개념들에 대한 퀴즈를 풀어볼 수 있습니다. □ MLFQS■ MLFQS 개념사용자 프로그램의 특성을 파악하여 동적으로 우선순위를 조정하는 다단계 피드백 큐 스케줄러.과도하게 CPU를 사용한 프로세스는 낮은 우선순위 큐로, 적게 사용한 프로세스는 높은 우선순위 큐로 이동해 공정성을 보장■ MLFQS 동작방식 1. 새로운 프로세스는 최상위 큐에서 시작 2. 할당 시간보다 빨리 종료되면 높은 우선순위 큐 유지 3. 시간 할당을 초과하면 낮은 우선순위 큐로 이동 4. 오랫동안 CPU를 얻지 못한 프로세스는 다시 상위 큐로 이동시켜 기아 상태(Starvation..
[CS기초] Segmentation Fault 핵심 정리
·
크래프톤 정글/CS기초(키워드, 개념정리)
Segmentation Fault 핵심 정리Segmentation Fault(Segfault, 세그폴트)는 프로그램이 접근할 수 없는 메모리 영역에 접근하려고 시도할 때 운영체제(OS)가 강제로 프로그램을 종료시키는 오류인데요. 곧 프로그램이 메모리 접근 규칙을 어겼을 때 OS가 내리는 강제적인 중단 명령입니다. Segmentation Fault가 발생하는 주요 원인NULL 또는 초기화되지 않은 포인터를 역참조할 때허용된 범위를 벗어난 배열이나 메모리 영역 접근이미 해제된(free된) 메모리 접근 (dangling pointer)읽기 전용 영역(예: 문자열 리터럴) 변경 시도// 예시 1: NULL 포인터 접근int *ptr = NULL;*ptr = 10; // Segmentation Fault 발생/..