운영체제

가상메모리 process 전체가 메모리에 올라오지 않더라도 실행이 가능하도록 하는 기법 가상 메모리 (virtual memory) 실제의 물리 메모리 개념과 개발자 입장의 논리 메모리 개념을 분리한 것 개발자는 메모리 크기에 관련한 문제를 염려할 필요 없이 쉽게 프로그램을 작성할 수 있음 논리적 주소 영역에서 필요한 부분만 물리적 메모리에 적재하고, 필요하지 않은 부분은 디스크(Swap 영역)에 저장 요구 페이징(demand paging) 당장 사용될 주소 공간을 page 단위로 메모리에 적재하는 방법 특정 page에 대해 cpu 요청이 들어온 후에 해당 page를 메모리에 적재 당장 실행에 필요한 page만을 메모리의 적재 -> 메모리 사용량 감소 & 프로세스 전체를 메모리에 적재하는 입출력 오버헤드 ..
Paging process가 할당받은 메모리 공간을 일정한 page단위로 나누어, 물리 메모리에서 연속되지 않는 서로 다른 위치에 저장하는 메모리 관리 기법 물리적 메모리를 page와 같은 크기의 frame으로 미리 나누어 둠 주소 바인딩을 위해 모든 프로세스가 각각의 주소 변환을 위한 page table을 가짐 ❎ 메모리 단편화 문제 process의 논리적 주소 공간과 물리적 메모리가 같은 크기의 page단위로 나누어지기 때문에, 외부 단편화 문제가 발생하지 않음 process 주소 공간의 크기가 page 크기의 배수라는 보장이 없기 때문에, 프로세스 주소 공간 중 가장 마지막에 위치한 page에서는 내부 단편화 문제가 발생할 가능성이 있음 Segmentation process가 할당받은 메모리 공간을..
Multi process에서의 데이터 통신 원칙적으로 Process는 독립적인 주소 공간을 갖기 때문에, 다른 주소 공간을 참조할 수 없다. 하지만 데이터 주고받기 위해, 운영체제는 Process 간의 자원 접근을 위한 메커니즘인 프로세스간 통신(Inter Process Communication) 제공한다. IPC (Inter Process Communication) Process간의 통신을 도와주는 운영체제의 메커니즘 공유 메모리 (Shared Memory) Process들의 주소 공간의 일부를 공유 Process가 공유 메모리 할당을 Kernel에 요청 Kernel은 해당 process에 메모리 공간을 할당 이후, Kernel의 도움없이 Process들이 해당 메모리 영역에 접근 ✅ 장점 커널의 관여..
✅ multi thread는 multi process보다 적은 메모리 공간을 차지하고, Context Switching이 빠르다. context switching 시, 캐시 메모리 초기화 할 필요가 없기 때문 ✅ multi process는 multi thread보다 많은 메모리 공간과 CPU 시간 차지 process를 생성하고 자원을 할당하는 등의 system call을 생략하기 때문에 자원을 효율적으로 관리 가능 ✅ multi thread는 동기화 문제와 하나의 thread 장애로 전체 thread가 종료될 위험이 있음 multi process는 다른 프로세스에 영향을 주지 않아 안정성이 높음 Multi process Multi thread 비고 메모리 공간 / CPU 시간 많은 메모리 공간 / CPU..
점이
'운영체제' 태그의 글 목록