
총 10개
-
운영체제 LRU (Least Recently Used) 알고리즘 구현 과제2025.04.281. LRU (Least Recently Used) 알고리즘 LRU (Least Recently Used) 알고리즘은 운영체제에서 메모리 페이지 교체 정책으로 사용되는 알고리즘입니다. 이 알고리즘은 가장 오랫동안 참조되지 않은 페이지를 교체하여 페이지 폴트를 최소화하는 것을 목표로 합니다. 이 프로그램은 C로 작성되었으며 Doubly Linked List로 LRU 알고리즘을 구현하고 있습니다. 페이지 번호를 읽어와 메모리에 올릴 수 있는 최대 페이지 개수를 고려하여 LRU 알고리즘을 적용하고 있으며, 페이지 참조 시마다 연결 리스트...2025.04.28
-
가상메모리에서 페이지 대치 알고리즘 비교2025.01.171. FIFO 알고리즘 FIFO 알고리즘은 메인 메모리에 가장 먼저 입력된 페이지를 선택하여 제거하는 방식입니다. 이는 마치 터널을 통과하는 자동차와 같아서, 터널에 가장 먼저 들어간 자동차가 반대편 터널에서 가장 먼저 나오게 됩니다. 2. 최적 페이지 대치 알고리즘 최적 페이지 대치 알고리즘은 향후 가장 오랫동안 사용되지 않을 페이지를 선택하여 교체합니다. 이는 향후 2초 동안 사용되지 않을 페이지를 교체하는 것과 같습니다. 3. LRU 알고리즘 LRU 알고리즘은 가장 최근에 사용되지 않은 페이지를 교체합니다. 이는 집을 청소하는...2025.01.17
-
가상메모리 페이지 교체 정책2025.01.241. 가상 메모리 페이지 교체 정책 가상 메모리 시스템은 현대 컴퓨터 시스템에서 중요한 역할을 담당하고 있다. 가상 메모리는 실제 물리적인 메모리보다 크고 다양한 프로세스를 동시에 실행할 수 있는 환경을 제공한다. 이를 가능하게 하는 핵심 개념 중 하나가 '페이지'이다. 가상 메모리 시스템에서 프로세스는 작은 고정 크기의 페이지로 분할되어 메모리에 로드된다. 이 페이지들은 논리적 주소 공간과 물리적 주소 공간 간의 매핑을 통해 메모리에 배치되며 프로세스는 필요한 페이지만을 실제 메모리에 로드하여 실행되며, 나머지 페이지는 보조 저장...2025.01.24
-
캐시기억장치의 필요성과 설계 고려사항2025.01.031. 캐시기억장치의 개념과 필요성 캐시기억장치는 CPU와 주기억장치 사이의 속도 차이를 극복하기 위해 사용되는 중요한 메모리입니다. 캐시기억장치는 CPU와 주기억장치 사이에 위치하며, 액세스 속도가 CPU와 비슷하기 때문에 컴퓨터의 처리 속도를 높여줍니다. 캐시기억장치는 CPU에서 실행 중인 프로그램과 데이터를 기억하며, 코드와 데이터를 분리해서 기억시키는 분리 캐시를 사용하여 충돌을 방지합니다. 2. 캐시기억장치 설계 시 고려사항 캐시기억장치를 설계할 때는 다음과 같은 요소들을 고려해야 합니다: 1) 캐시의 크기: 클수록 적중률이...2025.01.03
-
운영체제 챕터8 레포트 과제제출 시험대비2025.05.031. 요구 페이징 요구 페이징의 이슈에는 페이지 부재, 유효 접근 시간, 페이지 대치 등이 있다. 페이지 부재를 해결하기 위해 FIFO(선입선출 대치)와 OPT(최적 페이지 대치) 알고리즘이 있다. FIFO는 이해와 구현이 쉬운 반면 성능이 좋지 않을 수 있고, OPT는 이상적인 알고리즘이지만 현실적인 구현이 어렵다. 이를 보완한 LRU(최소 사용 대치) 알고리즘은 과거 데이터를 이용해 미래를 예측하는 통계적 개념으로, 과거 오랫동안 사용하지 않은 페이지를 대치한다. 2. 페이징 시스템 페이징 시스템은 가상주소, 페이지 테이블, 물...2025.05.03
-
가상 메모리 소개 및 페이징 기술, 페이지 교체 알고리즘2025.01.021. 가상 메모리 가상 메모리는 컴퓨터 과학과 운영 체제의 기본 개념입니다. 이를 통해 컴퓨터는 하드 드라이브의 일부를 RAM의 확장으로 사용하여 물리 메모리(RAM)의 제한을 보완할 수 있습니다. 이 기술을 통해 효율적인 멀티태스킹이 가능해져 물리 메모리에 완전히 적합하지 않은 대규모 프로그램을 실행할 수 있습니다. 2. 페이징 기술 및 분할 페이징과 분할은 가상 메모리 구현에 사용하는 두 가지 주요 방법입니다. 페이징에서는 물리 메모리와 가상 메모리를 고정 크기의 블록으로 분할하고 가변 크기의 블록으로 분할합니다. 두 기술 모두...2025.01.02
-
메모리 캐시 성능 분석(Performance Analysis of Cache Memory)2025.01.241. SimpleScalar 사용법 및 소스 코드 SimpleScalar는 컴퓨터 아키텍처 연구와 성능 분석을 위한 도구로, 하드웨어의 동작을 모델링하고 시뮬레이션하는 데 사용된다. 이 도구는 프로그램의 실행에 대한 상세한 통계를 제공하며, 이를 통해 컴퓨터 시스템의 특정 설계가 어떤 성능을 발휘할지 예측하는 데 도움을 준다. SimpleScalar의 주요 특징은 높은 유연성, 이식성, 확장성이다. 2. SimpleScalar 설치과정 SimpleScalar를 사용하려면 컴퓨터에 설치해야 한다. 공식 웹사이트에서 소스 코드를 다운로...2025.01.24
-
운영체제의 실제 메모리 구성 및 관리 방식2025.01.241. 물리적 메모리 관리 운영체제는 한정된 물리적 메모리를 효율적으로 관리하기 위해 고정 분할 방식과 가변 분할 방식을 사용한다. 고정 분할 방식은 메모리를 고정된 크기로 나누어 할당하지만 비효율적일 수 있으며, 가변 분할 방식은 메모리를 동적으로 할당하여 낭비를 줄일 수 있지만 외부 단편화 문제가 발생할 수 있다. 운영체제는 압축 기법을 통해 단편화 문제를 해결한다. 2. 가상 메모리 운영체제는 가상 메모리 기법을 사용하여 물리적 메모리의 한계를 극복한다. 가상 메모리를 통해 프로그램이 필요한 만큼의 메모리를 제공할 수 있으며, ...2025.01.24
-
os 기출문제2025.01.201. Process Synchronization 1. 현재 count 변수의 값이 5이고, 두 프로세스 producer와 consumer가 각각 다음과 같이 (interleaved) 실행된다고 할 때, 마지막으로 저장되는 counter 변수의 값은 6입니다. 2. 다른 프로세스(또는 스레드)들과 공유하는 자원(변수, 파일 등)을 다루는 코드 영역을 일컫는 용어는 critical section입니다. 3. non-preemptive scheduling을 설명하는 말이 아닌 것은 2) The scheduler can interrupt ...2025.01.20
-
Pintos Project 3 한국어 설명서 (design report) - Virtual Memory, Frame table2025.01.161. Virtual Memory Virtual memory는 process마다 독립적으로 가지는 주소 공간으로, 필요한 데이터는 virtual memory에서 physical memory로 load해오고 필요없는 데이터는 virtual memory (예: 디스크)에 저장함으로써 physical memory 공간을 확보합니다. 각 process는 virtual address와 physical address를 mapping하는 table을 가지고 있어 virtual address로 physical address를 찾아갈 수 있습니다. ...2025.01.16