전체 글 (157) 썸네일형 리스트형 [운영체제] 5주차 Quiz 보호되어 있는 글입니다. [운영체제] Virtual Memory Virtual Memory 프로세스의 필요한 부분만 메모리에 적재하여 실행하는 방식이다. 해당 방식을 통해 논리적 주소 공간과 물리적 주소 공간을 분리하여 공간 낭비를 최소화할 수 있다. Demand Paging 필요한 페이지만 메모리에 로드하는 기법을 의미한다. Valid/Invalid Bit를 사용한다.Valid는 메모리에 적재되어 있으며 Invalid는 메모리에 없고 디스크에서 가져와야 한다. Page Fault Handling 과정1. MMU가 page fault trap 발생2. OS가 처리 (page fault handler 실행)3. 필요한 page를 디스크에서 메모리로 가져옴4. page table 갱신 후 프로세스 재개 Demand Paging는 I/O 횟수를 감소, 메모리 사용량.. [운영체제] Deadlocks 데드락 (Deadlocks) 데드락은 일련의 프로세스들이 서로가 가진 자원을 기다리는 교착 상태를 의미한다. 이때 자원은 하드웨어 소프트웨어 등을 포함하는 개념이다.ex) I/O device, CPU, memory space, semaphore... 데드락의 조건 Dealock은 아래의 4가지 조건을 동시에 만족할 때 발생한다.Mutual Exclusion (상호 배제)매 순간 하나의 프로세스만이 자원을 사용할 수 있다.No Preemption (비선점)프로세스는 자원을 스스로 내어놓을 뿐 강제로 빼앗기지 않는다.Hold and Wait (보유 대기)자원을 가진 프로세스가 다른 자원을 기다릴 때 보유 자원을 놓지 않고 계속 가지고 있는다.Circular Wait (순환 대기)자원을 기다리는 프로.. [운영체제] 3주차 Quiz 보호되어 있는 글입니다. [운영체제] Process Synchronization Process Synchronization Process Synchronization은 여러 프로세스가 공유 데이터를 동시에 접근할 때 발생할 수 있는 문제를 해결하고, 데이터의 일관성(consistency)을 보장하기 위한 메커니즘이다. 이 메커니즘은 여러 프로세스 간의 Race Condition을 방지하고, 데이터의 무결성을 보장하며 시스템의 안정성을 유지한다. Race Condition 컴퓨터는 데이터를 저장소에서 읽고, 이를 연산하여 다시 저장한다. 그러나 여러 프로세스가 같은 데이터를 동시에 접근하면 예상치 못한 결과가 발생할 수 있다. 만약 동일한 자원에 접근하는 두 프로세스가 동시에 실행된다면 데이터를 읽는 순간 값이 서로 충돌하여최종 결과가 예측 불가능해진다. 이러한 문제를 Race.. [운영체제] 2주차 Quiz 보호되어 있는 글입니다. [운영체제] CPU Scheduling CPU And I/O Bursts in Program execution CPU Burst는 CPU만 연속적으로 사용하면서 명령어를 실행하는 단계를 의미하고 I/O Burst는 I/O를 실행하고 있는 단계를 의미한다. 프로그램이 실행중일 때에는 CPU Burst와 I/O Burst가 반복적으로 번갈아가면서 실행 중이다. I/O Burst의 빈도수가 많은 작업의 경우 I/O bound job이라 부르고CPU Burst의 빈도수가 많은 작업의 경우에는 CPU bound job이라고 부른다. 스케줄링 기준 (Scheduling Criteria)- 시스템 위주의 기준CPU utilization - 이용률Throughput - 처리량- 프로세스 위주의 기준Turnaround time - 소요 시간Waiti.. [운영체제] 프로세스 프로세스 (Process) 프로세스는 현재 실행 중인 프로그램을 의미한다. 프로세스의 문맥 (Context) 프로세스의 현재 상태를 의미한다. 프로세스의 문맥에는 아래와 같은 정보가 포함된다. CPU 수행 상태를 나타내는 하드웨어 문맥ex) Program Counter, 각종 register 프로세스의 주소 공간ex) code, data, stack 프로세스 관련 커널 자료 구조ex) PCB, Kernel stack 프로세스의 상태 (State) - RunningCPU를 점유하고 instruction을 수행 중인 상태- Ready메모리 등 다른 조건이 모두 작업 수행 가능 상태이며 CPU를 기다리는 상태- Blocked (wait, sleep)CPU를 점유한다하더라도 당장 instruc.. 이전 1 2 3 4 ··· 20 다음