프레임 할당 전략 - Operating System 10-3
여러 프로세스에 프레임을 어떻게 나눌지, fixed allocation과 priority allocation이 어떻게 다른지, 그리고 메모리 압박 상황에서 어떤 기준이 필요한지 정리합니다.
이 카테고리 안의 글을 최신순으로 훑어볼 수 있도록 제목과 설명을 함께 보여줍니다. 먼저 눈에 들어오는 글부터 읽거나, 하위 카테고리 단위로 내려가며 연속해서 읽으면 흐름을 잡기 쉽습니다.
여러 프로세스에 프레임을 어떻게 나눌지, fixed allocation과 priority allocation이 어떻게 다른지, 그리고 메모리 압박 상황에서 어떤 기준이 필요한지 정리합니다.
Page replacement가 왜 필요한지, FIFO·OPT·LRU 같은 알고리즘이 어떤 기준으로 페이지를 교체하는지, 그리고 성능 평가를 어떻게 보는지 정리합니다.
가상 메모리가 왜 필요한지, demand paging이 어떤 방식으로 메모리 사용을 최적화하는지, 그리고 page fault가 왜 핵심인지 정리합니다.
🍀 운영체제 전공 수업 정리 프로세스들이 돌고있는데 물리적인 메모리가 부족할 때 어떻게 해결할 수 있을까? 즉, 메모리 부족 문제를 해결하기 위한 기법이 Swapping Swapping 📚Swapping: 돌고 있는 프로세스를 일시적으로 backing store(보조 저장장치)로 내보내고, 필요할 때 다시 메모리로 가져오는 방식 ...
🍀 운영체제 전공 수업 정리 프로그램을 실행하기 위해선 디스크에서 메인 메모리로 프로그램을 불러들여야함(프로세스 형태로 존재) Main memory and register: CPU가 직접 조회할 수 있는 유일한 저장소 메모리 접근 속도: 레지스터 접근은 one CPU clock (or less)로 완료됨 → 굉장히 빠름, 메인 메모리는 ...
🍀 운영체제 전공 수업 정리 메모리를 관리할 때 필요한 메모리를 임의로 할당하고 free시키면 여러가지를 한다 관리를 쉽게 하려면 메인 메모리를 동일한 규격으로 잘라놓고 사용하는 것이다! Paging(⭐) 📚Paging: Main memory를 동일한 규격으로 잘라서 그 단위로 할당하고 관리한다 frames: 물리 메모리를...
🍀 운영체제 전공 수업 정리 System Model 데드락에 대해 알아보기 전에 운영체제의 리소스가 어떻게 관리되는지 알아보자 시스템은 여러 종류의 리소스로 구성됨 리소스 타입: $R_1, R_2, …, R_m$ (예: CPU cycle, memory space, I/O device) 각 리소스 타입 $R_i$는 $W_i$개의 인스턴...
🍀 운영체제 전공 수업 정리 Kernel Synchronizatoin - Windows uniprocessor systems: Interrupt Mask를 사용하여 global resource에 대한 접근을 보호 Interrupt Mask: 특정 인터럽트의 처리를 일시적으로 차단 → 중요한 코드 섹션이 방해받지 않고 실...
🍀 운영체제 전공 수업 정리 Synchronization 문제들의 예시인 bounded-buffer(유한 버퍼), readers-writers(읽기-쓰기), dining philosophers(식사하는 철학자)문제에 대해 알아보자 Bounded-Buffer Problem 📚Bounded-Buffer Problem: 여러 프로세스가 데이터를 공...
🍀 운영체제 전공 수업 정리 semaphore는 잘못 사용하면 심각한 문제가 발생한다!! 잘못된 연산 순서: signal(mutex) 후에 wait(mutex) 호출 중복 wait()호출: wait(mutex) 후에 다시 wait(mutex) 호출 연산 누락: wait(mutex) 또는 signal(mutex) 누락 위 ...
🍀 운영체제 전공 수업 정리 이전에 본 하드웨어 기반 해결책들(Test-and-Set,CAS,atomic 변수 등)은 강력하지만 직접 사용하기에는 복잡하고 접근하기가 어렵다! 그래서 이러한 하드웨어 기능을 기반으로 더 높은 수준의 software도구를 제공한다. 그 중 기본적인 것이 Mutex Lock Mutex Locks 📚Mutex L...
🍀 운영체제 전공 수업 정리 프로세스들이 동시에 실행되면서 생기는 문제가 있다 여러 프로세스가 공유 데이터에 접근할 떄 데이터 불일치 문제가 발생한다 그래서 데이터의 일관성을 위해서는 olderly execution을 보장하는 메커니즘이 필요 이에 대한 예시로 Producer-Consumer Problem이 있다 Producer-C...
리눅스와 윈도우가 CPU 스케줄링을 어떻게 구현하는지 비교하고, 실제 운영체제에서 스케줄링 정책이 어떤 방식으로 적용되는지 정리합니다.
🍀 운영체제 전공 수업 정리 NUMA and CPU Scheduling 📚NUMA(Non-Uniform Memory Access): 메모리 접근 시간이 균일하지 않은 컴퓨터 메모리 설계 각 CPU가 로컬 메모리를 가지고 있어 해당 메모리에 빠르게 접근 가능 원격 메모리에 접근할 때는 상대적으로 느린 접근 속도 📚NUMA-awar...
CPU 스케줄링이 왜 중요한지, 대표 알고리즘이 어떻게 다른지, 그리고 다중 처리기 환경에서 trade-off가 어떻게 달라지는지 정리합니다.
🍀 운영체제 전공 수업 정리 Single and Multithreaded Processes single threaded process: 하나의 스레드만 존재 모든 자원을 단일 스레드가 사용 multithreaded process: code, data, files를 공유 ...
🍀 운영체제 전공 수업 정리 Implicit Threading 최근 스레드 개수가 증가함에 따라 프로그램의 정확성 보장이 어려워짐 이런 복잡성을 줄이기 위해 complier와 run-time library가 스레드의 생성과 관리를 담당 개발자는 병렬로 처리할 수 있는 task를 지정만 하면 됨 Thread Pools: 쓰...
프로세스의 상태와 PCB, 스케줄링 큐, 메모리 구조가 어떻게 연결되는지 정리하고 운영체제에서 프로세스를 보는 기본 관점을 다룹니다.
프로세스가 어떤 구조를 가지는지, 생성과 종료는 어떻게 이뤄지는지, 프로세스 간 통신 IPC가 왜 필요한지 운영체제 관점에서 정리합니다.
운영체제를 설계할 때 목표와 정책, 메커니즘을 어떻게 나누는지, 내부 구조와 구현 언어 선택이 왜 중요한지 정리합니다.
운영체제가 사용자와 프로그램에 어떤 서비스를 제공하는지, 시스템 콜과 인터페이스가 왜 핵심인지, 링크와 로더가 실행 흐름에서 어떤 역할을 하는지 정리합니다.
🍀 운영체제 실습 수업 정리 Build environment Use virtual machine ubuntu version: 24.04LTS kernel은 5.5.13을 설치해야함 Build process # 1. Update Packages and Install Required Packages sudo apt update &...
운영체제가 어떻게 부팅되고 동작하는지, 자원 관리와 멀티프로그래밍이 왜 중요한지, 가상 메모리와 시분할 개념이 어디서 시작되는지 정리합니다.
운영체제가 무엇을 관리하는지, 인터럽트가 실행 흐름을 어떻게 바꾸는지, 그리고 이 구조가 이후 OS 학습의 기반이 되는 이유를 정리합니다.