목록운영체제 (11)
책을 읽읍시다
지난 글에서는 페이징의 기본 원리와 TLB, 다중 레벨 페이징을 통한 성능 최적화 방법을 알아보았습니다. 하지만 지금까지는 프로세스 실행 시 모든 페이지를 물리 메모리에 미리 적재하는 것을 가정했습니다. 이러한 방식은 정말 효율적일까요? 이번 글에서는 현대 운영체제의 핵심 메모리 관리 기술인 가상 메모리(Virtual Memory)를 소개하고, 이를 구현하는 필수 기술인 요구 페이징(Demand Paging)과 페이지 교체(Page Replacement) 알고리즘의 기초를 살펴보겠습니다.참고 강의: 반효경 운영체제 22. Virtual Memory 11. 가상 메모리(Virtual Memory)와 요구 페이징(Demand Paging)가상 메모리란?가상 메모리는 프로세스가 마치 매우 큰 메모리 공간을 전..
지난 글에서는 페이징(Paging)의 기본 개념과 다중 레벨 페이징, 그리고 TLB를 통한 성능 개선 방법을 살펴봤습니다. 페이징은 외부 단편화를 효과적으로 해결하지만, 여전히 성능, 보호, 공유 및 테이블 관리의 효율성 등 추가적인 고려가 필요합니다. 이번 글에서는 다음과 같은 내용을 심화하여 다룹니다.다중 레벨 페이징과 성능 문제페이지 테이블 항목의 부가 정보(보호 비트 등)역 페이지 테이블(Inverted Page Table)공유 페이지(Shared Pages)세그멘테이션(Segmentation)과 페이지드 세그멘테이션(Paged Segmentation)참고 강의: 반효경 운영체제 20. Memory Management 31. 다중 레벨 페이징과 성능 이슈현대 시스템의 방대한 논리 주소 공간은 단일..
지난 글에서 우리는 논리 주소와 물리 주소의 개념, 주소 바인딩 시점, 연속 할당(Contiguous Allocation) 방식과 그 한계인 단편화 문제를 다뤘습니다. 이번에는 연속 할당의 대표적 문제인 외부 단편화(External Fragmentation)를 해결하는 핵심 기술인 페이징(Paging)에 대해 알아보겠습니다. 이번 글의 주요 내용은 다음과 같습니다.페이징의 기본 원리논리 주소를 물리 주소로 변환하는 과정페이지 테이블(Page Table)의 구현 및 TLB를 통한 성능 개선페이지 테이블 크기 문제를 해결하는 2단계 페이징(Two-Level Paging) 기법참고 강의: 반효경 - 운영체제 19. Memory Management 21. 페이징(Paging)의 기본 개념페이징은 논리 주소 공간..
CPU 스케줄링과 프로세스 동기화에 이어, 운영체제의 또 다른 핵심 기능인 메모리 관리(Memory Management)를 살펴보겠습니다. 메모리 관리는 한정된 물리 메모리를 여러 프로세스가 동시에 효율적이고 안전하게 사용할 수 있도록 하는 운영체제의 주요 기능입니다. 이번 글에서는 다음 주제를 차례로 다룹니다.논리 주소와 물리 주소의 차이점주소 바인딩(Address Binding)의 원리와 시점메모리 관리 장치(MMU)의 역할초기 메모리 할당 방식인 연속 할당(Contiguous Allocation) 방식참고 강의: 반효경 - 운영체제 18. Memory Management 1 1. 논리 주소(Logical Address) vs. 물리 주소(Physical Address)메모리 주소는 논리 주소와 물리..
참고 자료: 반효경 [운영체제] 16. Deadlock 1설명이 없습니다.core.ewha.ac.kr 반효경 [운영체제] 17. Deadlocks 2설명이 없습니다.core.ewha.ac.kr 안녕하세요! 이전 글에서는 세마포어와 모니터를 이용한 프로세스 동기화 기법들을 살펴보았습니다. 이러한 동기화 도구들은 공유 자원에 대한 안전한 접근을 가능하게 하지만, 잘못 사용하면 시스템 전체를 멈추게 할 수 있는 심각한 문제, 바로 교착 상태(Deadlock)를 유발할 수 있습니다. 이번 글에서는 교착 상태가 무엇인지, 왜 발생하는지, 그리고 운영체제가 이를 어떻게 다루는지 다양한 전략들을 중심으로 알아보겠습니다. 프로세스 동기화(Process Synchronization)의 또 다른 중요한 측면인 병행 제어..
https://core.ewha.ac.kr/publicview/C0101020140411143154161543?vmode=f 반효경 [운영체제] 15. Process Synchronization 4설명이 없습니다.core.ewha.ac.kr 지난 글에서는 세마포어(Semaphore)를 이용하여 고전적인 동기화 문제들(유한 버퍼, 판독자-기록자, 식사하는 철학자)을 해결하는 방법을 살펴보았습니다. 세마포어는 강력한 도구이지만, P와 V 연산을 정확한 순서와 위치에 사용해야 하므로 프로그래머가 실수하기 쉽고, 복잡한 동기화 로직의 정확성을 검증하기 어렵다는 단점이 있습니다. 이번 글에서는 이러한 세마포어의 어려움을 해소하고, 더 높은 수준의 추상화를 통해 안전하고 쉬운 동기화를 지원하는 모니터(Monitor..
지난 글에서는 임계 구역 문제 해결을 위한 기본적인 조건들과 고전적인 알고리즘(피터슨 등), 하드웨어 기반 해결책, 그리고 바쁜 대기(Busy Waiting) 문제를 해결하는 강력한 도구인 세마포어(Semaphore)의 개념을 소개했습니다. 이번 글에서는 세마포어를 활용하여 고전적인 동기화 문제들을 어떻게 해결하는지 구체적인 사례를 통해 살펴보겠습니다. 이 문제들은 동시성 제어의 어려움을 잘 보여주며, 다양한 동기화 메커니즘 설계의 기반이 됩니다. 아래 강의를 참고했습니다: 반효경 [운영체제] 14. Process Synchronization 3설명이 없습니다.core.ewha.ac.kr 세마포어(Semaphore) 복습시작하기 전에 세마포어의 핵심을 다시 짚어보겠습니다.개념: 정수 값을 가지는 동기화 ..
지난 글에서는 임계 구역 문제와 이를 해결하기 위한 고전적인 알고리즘들(피터슨 알고리즘 등) 및 하드웨어 기반의 해결책(Test-and-Set)에 대해 알아보았습니다. 하지만 이들 방법은 대부분 바쁜 대기(Busy Waiting), 즉 기다리는 동안 CPU 자원을 낭비하는 문제를 안고 있었습니다. 이번 글에서는 이러한 바쁜 대기 문제를 해결하고 동기화를 보다 추상적이고 효율적으로 관리할 수 있게 해주는 강력한 도구, 세마포어(Semaphore)에 대해 자세히 알아보겠습니다. 세마포어는 운영체제 동기화 메커니즘의 핵심 개념 중 하나입니다. 반효경 [운영체제] 13. Process Synchronization 2설명이 없습니다.core.ewha.ac.kr 1. 세마포어 (Semaphores)란? - 동기..