목록운영체제 (16)
Kim Seon Deok
segmentation page는 프로세스를 일정크기로 자르는 기법을 말한다. segment는 프로세스를 논리적인 내용에 맞게 자르는 기법이다. 논리적 구분에 따라 크기가 가변적이다. 각 세그먼트의 크기는 일반적으로 같지 않다. 프로세스를 일정크기로 잘랐던 paging기법은 cpu가 프로세서가 연속된 메모리 공간에 위치했다 착각하게 만들기 위해 mmu 재배치 레지스터로 page table을 사용했다. segmentation기법은 비슷한 방식으로 segment table을 사용한다. 역시 cpu는 프로세스가 연속된 메모리 공간에 위치한다고 착각한다. 메인메모리에 있는 프로세스 시작번지 base들이 segment table의 내용이 된다. cpu가 내보내는 주소를 segment number와 dismplac..
프로세서의 메인메모리 할당에 대해, 특정시점에 메인메모리의 빈 공간인 홀에 배치시키다 보니 외부단편화 문제가 발생했었다. 외부 단편화 문제를 해결하기 위한 방법으로 페이징이 있다. 페이징 (Paging) 페이징은 프로세서를 일정한 크기, 페이지 사이즈로 잘라서 메모리에 적재하는 기법이다. 프로세스는 페이지의 집합이고 메모리는 프레임의 집합이다. cpu와 메인메모리 사이 address를 중재하는 MMU는 base, limit, relocation register로 구성되고, 위는 relocation register 여러개로 구성된 모습이다. MMU가 여러개의 relocation register로 구성된 것을 page table이라 한다. 현재 여러 프로세서가 실행 및 종료를 반복해 메인메모리에 홀이 흩어져..
연속메모리 할당 부팅된 직후 메인 메모리는 os와 큰 hole로 이루어진 상태이다. 하드디스크에서 프로세스가 생성 및 종료를 반복하다 보면 hole들이 scattered 된다. 메모리 단편화 (Memory fragmentation) 하드디스크에서 프로그램의 생성 종료과정의 반복으로 인해 hole들이 불연속하게 흩어져 또다른 프로세스를 메인메모리로 적재할 수 없는 상황을 외부단편화라 한다. 130kb의 프로그램을 하드디스크에서 꺼내 메인메모리에 적재하려 하는데, 흩어져 있는 hole을 모두 합치면 충분히 들어갈 공간이 마련되지만 외부단편화로 인해 적재할 수 없다. 연속 메모리 할당 1. First fit (최초 적합) → 메인 메모리의 hole을 순차적으로 뒤져 가장 처음 만나는 hole에 적재 212 >..
os의 기능 1. Process management : cpu자원관리 2. Main memory management 메모리 역사 최초의 메모리는 core memory이다. 이후 50~60년대 진공관 메모리, 70~60년대 트랜지스터 메모리를 거쳐 현재에는 SRAM,DRAM과 같은 집적회로 메모리를 사용한다. 또한 메모리 용량은 70년대부터 현재까지 시간이 지날수록 굉장히 커져 64kb메모리에서 출발해 수 GB의 메모리를 현재 사용하고 있다. 프로그램이 기계어/어셈블리에서 high level language로 다양해짐에 따라 프로그램의 크기는 증가했고 메모리 용량 또한 증가할 필요성이 커졌다. 따라서 메모리는 항상 부족한 상황이다. 그렇기 때문에 낭비를 최소화 하면서 메모리를 효과적으로 사용하는 것이 중요..
하나의 프로세서는 프로세스 실행을 위해 여러 하드웨어 자원을 필요로 하고 os는 이 자원들을 잘 분배해야 한다. 배분이 잘 안된다면 데드락에 빠지게 된다. 어떤 자원은 가지고 있으나 다른 프로세서가 사용중이라 다른 자원을 갖지 못할 때에는 대기해야 한다. 데드락은 어떤 자원을 가지고 있으면서 다른 자원을 가지려 대기할 때 발생한다. 교착상태 (Deadlocks) 필요조건 1. Mutual exclusion (상호배타) → 한 프로세서가 특정 하드웨어를 사용하면 다른 프로세스는 사용하지 못함. 2. Hold and wait (보유 및 대기) → 어떤 자원을 보유하고 있으면서 다른 자원을 기다리는 것. 3. No Preemption (비선점) → 어떤 자원을 보유하고 있으면서 다른 자원을 강제로 뺏어오는 것..