OSTEPVirtualizaton: CPU 가상화(프로세스), 메모리 가상화(가상 메모리)Concurrency(병행성): 쓰레드, 공유 데이터, 경쟁 상태, 임계구역, mutual exclusion(상호 배제), lock .. 등Persistency(영속성): 디스크
OS and current program -> single programming systemNo (limited) protectionLarger program than physical memory -> Overlaymultiple processes are ready t
Two types of memory Static: Code(also called as text), Data Dynamic: Heap, Stack Stack 컴파일러에 의해 암묵적으로 생성된다. 때떄로 automaic memory라고도 불린다. short-lived m
프로세스가 실행되는 방식은 크게 두가지로 볼 수 있다. 먼저 OS의 개입없이 HW에서 직접 실행되는 것이다. 이를 'Direct execution'이라 한다. 이러한 방식은 OS 작동에 따른 오버헤드가 없기에 효율성이 좋을 수 있다. 반면 OS가 개입을 하는 'Limi
주소 공간의 중간 부분에 큰 덩치의 "free" 공간이 있다. 이 공간은 사용되지 않지만 프로세스가 실행하면서 물리 메모리 공간을 차지하는 부분이다. 이 부분은 결국 낭비되는 공간인 셈이다. 이에 따라 전체 주소 공간을 물리 메모리가 수용할 공간이 부족하다면 프로세스가
세그멘테이션 기법과 페이징 기법은 둘 다 불연속 할당 방식인데, 세그멘트는 가변 크기를 가지고, 페이징은 고정 크기를 가진다. 메모리 공간이 가변 크기의 세그멘트로 할당과 반환이 이루어지면 외부 단편화가 심해져 할당 작업에 있어 어려움이 점점 더 커진다. 이에 spli
Free-space 관리 리스트를 비롯하여 hashed 리스트, 트리 등 다양한 데이터 구조체를 통해 OS는 free-space를 관리한다. Variable size ex) Segmentation 가변 크기 단위를 관리하는 것은 복잡할 뿐더러, 외부 단편화에 대해
가용 물리 메모리가 충분하지 않거나, 시스템에 적절하지 않은 페이지 교체 알고리즘으로 인해 swap in/out만 발생하면서 실제 프로그램들이 제대로 수행하지 못하는 상황 \* 페이지 폴트 발생 -> 페이지 교체(swap in/out) 발생 -> 다시 즉각적으로 페이