CS35 메모리 할당 메모리 할당 메모리에 프로그램을 할당할 때 어떤 방법으로 할당되는지 알아보겠습니다. 연속 할당 고정 분할 방식 메모리를 미리 나누어 관리합니다. 내부 단편화, 외부 단편화가 발생합니다. 가변 분할 방식 매 시점 프로그램의 크기에 맞게 동적으로 메모리를 할당합니다. 외부 단편화가 발생합니다. 불연속 할당 페이징 동일한 크기의 페이지 단위로 나누어 메모리의 서로 다른 위치에 프로세스를 할당합니다. 메모리의 크기가 페이지로 딱 나누어지지 않기에 메모리의 마지막 영역에 내부 단편화가 발생합니다. 세그멘테이션 페이지 단위가 아닌 의미 단위인 세그먼트로 나눕니다. 의미는 코드와 데이터 등으로 나눌 수 있으며 함수 단위로 나눌 수도 있습니다. 중요한 부분과 중요하지 않은 부분을 분리하여 저장할 수 있어 보안 측면에서.. 2023. 2. 13. 가상 메모리 - 페이지 교체 알고리즘 페이지 교체 알고리즘 가상 메모리란 프로세스를 실행할 때 실행에 필요한 일부(페이지)만 메모리에 로드하고 나머지는 디스크에 둠으로써 컴퓨터가 실제로 이용 가능한 메모리 자원을 매우 큰 메모리로 보이게 만드는 기법입니다. https://kdgdev.tistory.com/18 자세한 내용은 위 링크에 있습니다. 핵심은 프로세스의 전부를 메모리에 올려 두는 게 아닌 프로세스를 페이지로 나누어 필요한 페이지만 메모리에 올려놓는 것입니다. 여기서 사용하지 않는 페이지는 보조기억장치에 보관해 두었다가 필요할 때 주기억장치에 올려놓는 것이 가상메모리가 사용하는 '스와핑'이란 기법입니다. 자, 그런데 여기서 가상메모리에서 '스와핑'은 많이 일어나서는 안됩니다. CPU에서 필요한 페이지 요청 -> TLB확인 -> 주기억.. 2023. 2. 12. 가상 메모리 가상 메모리 가상 메모리란 프로세스를 실행할 때 실행에 필요한 일부(페이지)만 메모리에 로드하고 나머지는 디스크에 둠으로써 컴퓨터가 실제로 이용 가능한 메모리 자원을 매우 큰 메모리로 보이게 만드는 기법입니다. 가상 메모리는 TLB와 Page Table를 통해 필요한 페이지에 접근합니다. TLB은 가장 최근에 접근한 페이지의 가상주소와 물리주소, 페이지 테이블은 각각의 프로세스마다 프로세스가 가진 모든 페이지의 가상주소와 물리주소가 존재합니다. TLB(Translation Lookaside Buffer) 메모리와 CPU 사이에 있는 주소 변환을 위한 캐시입니다. Page Table에 있는 리스트 중 일부를 보관하며 CPU가 페이지 테이블까지 가지 않도록 해 속도를 향상할 수 있는 캐시 계층입니다. Pag.. 2023. 2. 11. 비선형 자료구조 자료구조 효율적으로 데이터를 관리하고 수정, 삭제, 탐색, 저장할 수 있는 데이터 집합 비선형 자료구조 자료가 비선형으로 저장되어 있는 자료구조입니다. 비선형 자료구조의 종류는 다음과 같습니다. 그래프 정점과 간선으로 이루어진 자료구조입니다. 정점과 정점 사이에는 간선이 존재할 수 있고 여기에 정점간 이동을 위한 비용인 가중치가 있을 수 있습니다. 그래프는 뒤에 말할 비선형 자료구조의 토대가되는 자료구조입니다. 따라서 고정된 시간복잡도는 없습니다. 트리 그래프 중 하나로 정점과 간선으로 이루어져 있고, 트리 구조로 배열된 계층적 데이터의 집합입니다. 위 그림과 같이 트리는 루트 노드, 내부 노드, 리프 노드로 이루어져 있고 노드의 규칙에 따라 종류가 나뉘어 집니다. 종류 이진 트리 어떤 노드가 있을 때 .. 2023. 2. 9. 이전 1 2 3 4 5 6 7 8 9 다음