운영체제6 페이지 교체 알고리즘 정리 운영체제에서 페이지 교체 알고리즘은 메모리 관리에서 중요한 역할을 합니다. 프로세스 실행 중 페이지 부재(Page Fault)가 발생할 때, 기존 페이지 중 하나를 교체해야 하는 상황에서 어떤 페이지를 제거할지를 결정하는 다양한 알고리즘이 있습니다.이 글에서는 LRU, FIFO, LFU, Optimal 등 주요 페이지 교체 알고리즘의 개념, 특징, 장단점, 실제 사용 사례를 자세히 살펴보겠습니다.1. 주요 페이지 교체 알고리즘 개념과 특징알고리즘개념특징FIFO (First In First Out)가장 먼저 들어온 페이지를 제거단순하지만 효율이 낮음LRU (Least Recently Used)가장 오랫동안 사용되지 않은 페이지 제거시간 지역성 고려, 구현 복잡LFU (Least Frequently Used.. 프로그래밍공부(Programming Study)/운영체제(OS) 2024. 12. 8. 커널의 내부 동작 완전 정복: 시스템 콜, 모드 전환, 태스크/스레드, 가상 메모리, VFS의 이해 1. 커널이란 무엇인가?커널은 운영체제의 핵심으로, 하드웨어 제어와 리소스 관리를 담당합니다. 주요 역할은 다음과 같습니다:프로세스 관리: 실행 중인 프로그램 제어.메모리 관리: 메모리 할당 및 해제.장치 관리: 하드웨어와의 상호작용.파일 시스템 관리: 데이터 저장 및 접근.2. 시스템 콜: 커널과 사용자 프로그램의 다리시스템 콜은 사용자 모드에서 실행 중인 프로그램이 커널 기능을 요청하는 메커니즘입니다.작동 원리사용자 프로그램이 특정 작업(예: 파일 읽기)을 요청.시스템 콜 인터럽트를 통해 커널로 진입.커널이 작업 수행 후 결과 반환.예시: 파일 읽기파이썬으로 파일을 읽는 예:with open("example.txt", "r") as file: data = file.read() print(d.. 프로그래밍공부(Programming Study)/운영체제(OS) 2024. 12. 6. 시스템 관리 명령어와 매뉴얼 페이지 번호: 원시 이벤트, 메타데이터, 시스템 콜과의 관계 1. 원시 이벤트란?원시 이벤트(Raw Event)는 하드웨어와 소프트웨어에서 직접 발생하는 가공되지 않은 이벤트입니다. 주로 사용자 입력이나 하드웨어 신호와 같이 가장 낮은 레벨의 이벤트를 말합니다.특징:직접적인 반응을 요구.추가적인 데이터 처리나 변환 없이 전달.키보드 입력, 마우스 클릭, 네트워크 패킷 등이 포함됨.예시:import keyboard# 키보드 입력 이벤트 감지def on_key_event(e): print(f"Key pressed: {e.name}")keyboard.on_press(on_key_event)keyboard.wait('esc') # ESC 키를 누르면 종료2. 이벤트 메타데이터란?이벤트 메타데이터(Event Metadata)는 이벤트에 대한 추가적인 정보로, 발생한.. 프로그래밍공부(Programming Study)/(e)bpf 2024. 12. 6. CPU, Dispatcher, Scheduler, Run Queue, Task: 개념과 동작 원리 1. CPU 개념CPU(중앙처리장치, Central Processing Unit)는 컴퓨터 시스템의 핵심 구성 요소로, 모든 연산 작업을 처리하는 장치입니다. CPU는 주로 명령어 처리, 데이터 연산, 제어 신호 생성의 역할을 합니다.명령어 처리: 메모리에서 프로그램 명령어를 가져와 이를 해석하고 실행.데이터 연산: 산술 및 논리 연산을 수행.제어 신호: 시스템의 각 부품과 장치를 제어.2. Dispatcher의 역할Dispatcher는 운영체제에서 중요한 모듈 중 하나로, CPU 스케줄러가 선택한 작업(프로세스나 스레드)을 실제로 CPU에서 실행할 수 있도록 합니다. Dispatcher는 문맥 교환(Context Switching), 모드 변경(User Mode ↔ Kernel Mode), 프로세스 실.. 프로그래밍공부(Programming Study)/운영체제(OS) 2024. 9. 22. [운영체제]2. 운영체제의 기능과 종류 CPU 스케줄링 FCFS(First-Come First-Served) 선입선출 효율성 측면에서 좋지 않음 SJF(Shortest-Job-First) CPU 사용시간이 가장 짧은 프로세스를 먼저 스케줄링 (+)최소 평균 대기시간을 보장함 (-)Starvation(기아 현상) 발생 가능 RR(Round Robin) 각 프로세스는 동일 크기의 CPU 할당시간을 가짐(n-1) CPU 스스로 자원을 뺏을 순 없기 때문에 하드웨어적 지원을 받음 대기시간이 프로세스의 CPU 사용시간에 비례 메모리 관리 디스크(파일시스템) : 실행파일 보관(비휘발성) 가상메모리 : 프로세스 각각에 대한 독자적인 메모리 공간 (논리적인 주소 할당) 메모리 : 프로세스 작업(휘발성)이 일어남 (물리적인 주소 할당) 디스크(스왑영역) : .. 프로그래밍공부(Programming Study)/운영체제(OS) 2023. 3. 26. [운영체제]1. 운영체제란 운영체제란? 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 컴퓨터 시스템을 편리하게 사용할 수 있는 환경 제공 동시 사용자/프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상을 제공 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행 컴퓨터 시스템의 자원을 효율적으로 관리 CPU, 메모리, I/O 장치 등의 효율적 관리 주어진 자원으로 최대한의 성능을 내도록 -> 효율성 특정 사용자/프로그램의 지나친 불이익이 발생하지 않도록 -> 형평성 사용자 및 운영체제 자신의 보호 컴퓨터 시스템의 구조 CPU 작업공간 = 메모리 CPU는 I/O device와 소통하기 위해 I/O controller(작은 CPU 개념)와 통신 CPU 스케줄링 : 어떤.. 프로그래밍공부(Programming Study)/운영체제(OS) 2023. 3. 26. 이전 1 다음 728x90