CS(76)
-
[CS] 캐시 메모리에 대한 나름의 이해
캐시 메모리를 두는 이유는 CPU에서 메모리에 대한 접근을 빠르게 하기 위해서이다. 하지만 메인 메모리의 모든 영역을 복사할 수는 없기에 자주 참조되는 영역을 복사해둔다. 이것이 지역성이다. 지역성에는 두가지가 있다. temporal locality, spatial locality 전자는 loop와 같이 같은 인스트럭션이나 같은 메모리 영역이 자주 참조된다는 것이다. 후자는 arr와 같이 논리적으로 가까운 영역이 자주 참조된다는 것이다. 매핑방식에는 직접 매핑, 연관 매핑, 집합 연관 매핑이 있는데 집합 연관 매핑이 많이 사용된다. Reference https://www.yes24.com/Product/Goods/121769526 기술 면접 대비 CS 전공 핵심요약집 - 예스24 1분 1초가 아쉬운 취업..
2023.11.03 -
[CS] 스레싱에 대한 나름의 이해
스레싱은 프로세스가 증가하다가 CPU의 이용률이 급격하게 줄어드는 것이다. 기본적으로 프로세스가 증가하면 CPU 이용률도 증가한다. 최대한으로 프로세스를 사용할 수 있기 때문이다. 발생 원인은 너무 많은 프로세스 적재로 인한 빈번한 Swapping이다. 페이지폴트가 일어나면 Swapping이 된다. 이를 막기 위해서는 지역성을 기반으로한 워킹 세트를 두어 페이지 폴트가 잘 일어나지 않도록 한다. Reference https://www.yes24.com/Product/Goods/121769526 기술 면접 대비 CS 전공 핵심요약집 - 예스24 1분 1초가 아쉬운 취업/이직 준비생을 위해기술 면접에 필요한 CS 전공의 핵심 내용만 간추렸다!비전공자는 물론 IT 전공자라도 광범위한 CS 전공 중에 어떤 내용..
2023.11.01 -
[CS] 요구 페이징에 대한 나름의 이해
요구 페이징(demand paging)이란 프로세스에 필요한 페이지만 로드하는 것을 의미한다. 페이지 테이블을 사용한다. 페이지가 없으면 페이지 폴트라고 한다. 만약 페이지 폴트가 발생한다면 1. OS가 페이지의 주소값이 유효한지 판단한다. 2. 유효하다면 디스크에서 해당 페이지를 찾아 메모리에 로드한다. 이때 메모리에 비어 있는 프레임이 있다면 그대로 넣고 없다면 페이지 교체 알고리즘을 통한 페이지 교체를 한다. 3. 페이지 테이블에 해당 페이지의 값을 v로 변경한다. 4. 인스트럭션을 다시 실행한다. Reference https://www.yes24.com/Product/Goods/121769526 기술 면접 대비 CS 전공 핵심요약집 - 예스24 1분 1초가 아쉬운 취업/이직 준비생을 위해기술 면접..
2023.10.30 -
[CS] 가상 메모리에 대한 나름의 이해
가상 메모리는 메모리에 모든 것을 올리지 않고 필요한 것만 올린다. 사용자에게는 프로세스 전체가 로드된 것으로 보인다. 하지만 아니다. 장점은 다음과 같다. 1. 남은 메모리가 프로세스에 필요한 메모리보다 적어도 돌릴 수 있다. 2. 더 많은 프로세스를 돌릴 수 있다. 3. 필요한 부분만 올리면 성능에 치명적인 스와핑을 적게 해도 된다. Reference https://www.yes24.com/Product/Goods/121769526 기술 면접 대비 CS 전공 핵심요약집 - 예스24 1분 1초가 아쉬운 취업/이직 준비생을 위해기술 면접에 필요한 CS 전공의 핵심 내용만 간추렸다!비전공자는 물론 IT 전공자라도 광범위한 CS 전공 중에 어떤 내용이 출제될지 감을 잡기 어렵다. 서 www.yes24.com
2023.10.28 -
[CS] Context Switching에 대한 나름의 이해
context switching은 현재 프로세스에서 다른 프로세스로 CPU의 권한이 넘어가는 것이다. 이때 현재 프로세스에 대한 PCB를 작성하여 커널의 데이터 영역에 저장한다. 그리고 이번에 쓸 프로세스에 대한 PCB로부터 레지스터 정보, 스택, PC 정보 등 프로세스 실행에 필요한 내용을 불러온다. 여기서 한가지 헷갈리기 쉬운 개념이 있다. Interrupt가 일어나고 시스템콜이 불린다고 context switching이 일어나는 것은 아니라는 것이다. 다음 그림을 참고해보자 만약 I/O 작업이 끝나서 interrupt를 걸거나 시스템콜을 사용하면 kernal mode로 갔다고 다시 원래의 프로세스에게 권한을 넘겨준다. 이건 context switching이 아니다. 하지만 현재 프로세스가 I/O 요..
2023.10.28 -
[CS] 메모리 할당 방식에 대한 나름의 이해
크게 두 가지로 나뉜다. 1. 연속 메모리 할당 방식: 물리적으로도 프로세스의 요소들이 연속적으로 배치된다. 고정 분할 방식과 가변 분할 방식이 있다. 고정 분할 방식은 메모리를 동일하게 쪼개 메모리에 올린다. 하지만 프로세스 메모리가 크면 못올라가게 된다. 또한 내부 단편화의 문제가 발생한다. 가변 분할 방식은 프로세스마다 크기에 맞게 할당을 해주는 것이다. 이렇게 되면 외부 단편화의 문제가 생길 수 있다. 배치하는 방법에는 세가지가 있다 최초 적합: 여유 공간을 찾는 즉시 할당한다. 최적 적합: 찾아보고 가장 적은 공간에 배치한다 최악 적합: 찾아보고 가장 큰 공간에 배치한다. 이러면 외부 단편화가 생길 위험이 커진다. 외부 단편화 문제를 해결하는 방법에는 메모리 압축이 있다. 메모리 압축이란 남은 ..
2023.10.27