본문 바로가기

CS

(13)
메모리 계층 구조와 페이징 기법 가상 메모리에서 필요한 페이지가 메모리에 없으면 페이지 폴트가 발생.운영체제가 보조 기억 장치에 있는 필요로 하는 페이지를 주기억 장치로 이동하고 주기억 장치에 자리가 없으면 페이지 교체 알고리즘 실행.자주 사용되는 페이지는 주기억 장치에 유지. 캐시 메모리들은 자주 사용되는 이러한 페이지들을 저장해, CPU가 주기억 장치에 접근하는 시간을 줄인다.캐싱 전략에 따라 자주 사용되는 페이지의 주변 페이지도 캐싱되는 경우가 있다.메모리 계층 구조와 페이징 기법은 메모리 자원 활용의 효율성을 높이기 위해 함께 작동.
07 - 보조기억장치 대중적인 보조기억장치로는 하드디스크와 플래시메모리가 있다.  다양한 보조기억장치 하드 디스크자기적인방식으로 데이터를 저장하는 보조기억장치.하드디스크의 구성 요소플래터 : 디스크에서 데이터가 실질적으로 저장되는 동그란 원판으로 저장 공간이다. 플래터는 자기 물질로 덮여 있어 수많은 N극과 S극을 저장한다. 각각 0과 1의 역할을 수행한다.스핀들 : 플래터를 회전 시키는 구성 요소. 플래터 중앙에 위치하여 플래터를 회전 시키는데 이 속도를 RPM으로 표현.헤드 : 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소. 플래터 위에 미세하게 떠 있는 채로 데이터를 읽기,쓰기 한다.디스크 암 : 헤드를 원하는 위치로 이동시키는 구성 요소.플래터가 데이터를 저장하는 방식 트랙 : 플래터를 여러 동심원으로 나누었을 때 ..
06 - 메모리와 캐시 메모리 주기억장치에 RAM과 ROM 있다고 했는데, 여기서는 RAM 에 대해 먼저 정리한다그리고 캐시 메모리에 대해 정리한다. 06 - 1 RAM의 특징과 종류RAM의 특징 RAM에는 실행할 프로그램의 명령어와 데이터가 저장된다. RAM은 전원을 끄면 저장된 데이터와 명려어가 모두 날아간다. 그래서 휘발성 저장 장치라고 한다.전원이 꺼져도 유지되는 저장 장치는 비휘발성 저장 장치라고 한다. HDD, SSD, CO-ROM, USB 등이 있다.일반적으로 보조기억장치인 비휘할성 저장 장치에 보관을 하고 휘발성 장치에서 실행할 대상을 복사하여 저장한 뒤 그 데이터들을 가지고 프로그램을 실행한다.RAM의 용량과 성능RAM의 용량이 크면 저장할 수 있는 실행할 프로그램들의 데이터들이 많아 지기 때문에 그만큼 RAM이 보조..
05 - CPU의 성능 향상 기법 05 - 1 빠른 CPU를 위한 설계 기법 클럭컴퓨터의 논리회로에 가해지는 전기 신호의 단위로 Hz 로 표현한다.즉, CPU의 속도를 나타내는 단위이며, 이는 일정하지 않다. 최대 클럭 속도를 강제로 끌어올리는 것을 오버클럭킹이라고 한다.클럭 속도를 계속 높이면 발열 문제가 심각해진다. 따라서 클럭 만으로 CPU 속도를 올리는 것은 한계가 있다.코어와 멀티 코어코어 : 명령어를 실행하는 부품이다. 즉, CPU 안에 코어가 8개 있다면 명령어를 실행하는 부품이 8개라는 뜻이다. 이렇듯 2개 이상의 코어를 가지고 있으면 멀티코어 CPU,프로세서라고 부른다.코어를 계속 늘린다고 연산 처리 속도가 비례 증가 하지 않는다. 따라서, 중요한 것은 코어마다 처리할 명령어들을 적절하게 분산시키는 것이다.스레드와 멀티 ..
04 - CPU의 작동 원리 04 - 1 ALU 와 제어 장치 ALU   CPU 내부 계산을 담당한다.ALU가 받아들이는 정보피연산자 : 피연산자는 레지스터로부터 얻어온다.제어 신호 : 제어신호는 제어 장치로부터 얻어온다.ALU가 내보내는 정보결과 값 : 메모리로 바로 가지 않고 레지스터에 일시적으로 저장한다.플래그 : 플래그는 연산 결과에 대한 추가정보이다. 이 플래그는 플래그 레지스터에 저장된다.플래그 종류1. 부호 플래그 - 결과가 양수, 음수 인지 나타냄2. 제로 플래그 - 결과가 0인지 아닌지 나타냄3. 캐리 플래그 - 결과가 올림수나 빌림수가 발생했는지 나타냄4. 오버플로우 플래그 - 오버플로우가 발생했는지 나타냄5. 인터럽트 플래그 - 인터럽트가 가능한지 나타냄6. 슈퍼바이저 플래그 - 커널 모드, 사용자 모드 중 어떤..
스택 프레임과 함수 호출 규약 함수 호출 규약은 함수 호출 시에 인자 전달, 반환 값 처리, 스택 프레임 관리 등의 방식을 규정하는 규칙이며, 이러한 규칙에 따라 스택 프레임이 구성된다. 스택 프레임은 함수가 호출될 때 함수 내에서 사용되는 정보들을 저장하는 메모리 영역이다.즉, 함수가 호출되면서 생기는 해당 함수와 관련된 메모리 덩어리가 스택 프레임이며 이러한 스택 프레임은 Stack 영역에 저장된다. 스택 프레임은1. 매개변수를 저장하는 공간2. 로컬변수를 저장하는 공간3. 이전 프레임의 포인터 (이전 스택 프레임의 데이터를 참조하기 위한 포인터이다.)4. 반환 주소 (함수 실행이 끝나면 제어권을 넘길 복귀 주소를 저장한다.)스택 프레임과 함수 호출 규약1. 함수 호출 규약에 의해 함수 호출 시에 함수에 전돨되는 인자들이 어떠한..
B-Tree B-트리는 데이터베이스 시스템과 파일 시스템에서 사용되는 자료구조이다.데이터를 효율적으로 관리하기 위해 설계되었다. B-트리의 구조B-트리는 노드 기반의 트리 구조인데, 각각의 노드는 공통된 특징을 가진다.  B-트리 노드의 구조1. 키 : 하나 이상의 키를 가진다. 키는 데이터를 정렬하는데 사용된다.2. 자식 포인터 : 노드는 자식 노드를 가리키는 포인터를 가지고 있다. 하나 이상 가질 수 있음. 이때, M차 B-트리의 의미는 각 노드는 자식 노드를 (M~M/2)개 가질 수 있다.각 노드는 키를 M-1 ~ M/2-1 개 가질 수 있다. 노드의 키가 N개이면 자식 노드를 최대 N+1 개 가질 수 있다. B-트리는 균형 트리이기 때문에 각 노드는 최소, 최대한의 키를 가지는 장점이 있다.효율적인 검색 및 ..
메모리 단편화 메모리 단편화는 메모리 공간이 조각나 있어 전체 사용 가능 공간이 충분해도 프로세스를 할당할 수 없는 현상. 메모리 단편화를 최소화하기 위해 가상 메모리를 사용한다. 그 중 페이징 기법은 메모리를 고정된 크기의 페이지로 나누어 관리한다. 프로세스는 필요한 페이지만을 메모리에 요청하여 사용하기 때문에 프로세스 실행을 위해 데이터를 연속적으로 할당하지 않아도 되어 단편화 현상이 심해지는 것을 막을 수 있다. 이때 프로세스가 원하는 페이지가 메모리에 없으면 페이지 폴트에 의해 보조기억장치에서 필요한 페이지를 가져온다. 만약 보조기억장치로부터 가져온 페이지를 적재할 메모리 공간이 부족하면 페이지 교체가 일어난다. 페이지 교체 알고리즘에 의해 보조기억장치로 스와핑되어질 페이지가 선택되고 필요한 페이지와 교체된다...