레지스터
레지스터는 CPU의 일부분으로서 아주 적은 데이터를 잠시 저장할 수 있는 공간이며,
하나의 명령어에서 다른 명령어 또는 다른 프로그램으로 데이터를 전달하기 위한 장소를
제공합니다.
하나의 레지스터는 하나의 명령어를 저장하기에 충분히 커야하는데, 예를 들어 32 비트
명령어 컴퓨터에 사용되는 레지스터의 길이는 32 비트 이상이어야 합니다. 그러나 어떤
종류의 컴퓨터에서는 길이가 짧은 명령어를 위해, 하프 레지스터라고 불리는 크기가
더 작은 레지스터를 쓰기도 합니다.
캐시메모리
캐시 메모리(Cache Memory)는 속도가 빠른 CPU와 이에 비해 상대적으로 속도가 느린
주기억 장치 사이에 위치하며, 두 장치 간의 속도차를 줄여 컴퓨터의 전체적인 동작
속도를 빠르게 하기 위한 고속의 버퍼 메모리입니다.
캐시 메모리는 CPU가 한번 참조한 주기억 장치의 내용을 저장하고 있다가, 다시 CPU가
이를 참조하고자 할 때 바로 보내주므로 주기억 장치에서 데이터를 읽어 오는 것보다
동작 속도가 빠릅니다.
주기억 장치
주기억 장치(Main Memory)는 프로그램이 실행되기 위한 실행코드와 데이터가 저장되는
곳으로, RAM(Random Access Memory)과 ROM(Read Only Memory)으로 구성되어
있습니다.
RAM - 전원이 끊어지면 기억 내용이 소멸되는 휘발성 메모리로서,
- 쓰기와 읽기가 가능합니다.
- 메모리라고 하면 보통 RAM을 말합니다.
ROM - 전원이 끊어져도 기억 내용이 소멸되지 않는 비휘발성 메모리로서,
- 새로운 데이터를 쓸 수 없는 읽기 전용입니다.
보조기억 장치
오랫동안 보관할 필요가 있는 프로그램이나 데이터는 지워지지 않는 외부 기억 장치에
보관하는데, 이 때 사용하는 외부기억 장치를 보조기억 장치(Auxiliary Memory)라고
합니다.
가격이 싸면서도 기억용량이 크다는 장점도 있지만, 처리 속도가 느리다는 단점도
있으며, Magnetic Disk, Floppy Disk, Magnetic Tape 등이 이에 속합니다.
최초적합(First-Fit)
주기억 장치 내의 분할된 공간 중 반입된 프로그램을 수용할 수 있는 첫 번째 빈공간에
배치하는 기법입니다.
장점 - 빈 공간을 찾기위해 기억 장치 전체를 조사하지 않아도 되기 때문에 배치 결정을 빨리 내릴 수 있습니다.
단점 - 사용되지 않은 작은 크기의 여유 공간이 많이 발생할 수 있습니다.
최적적합(Best-Fit)
주기억 장치 내의 분할된 공간 중, 적재 시 단편화(fragmentation) 공간이 가장 적게
발생하는 공간에 배치하는 기법입니다.
장점 - 메모리 낭비 또는 단편화가 가장 적게 발생합니다.
단점 - 가용공간 리스트가 크기 순서대로 되어 있지 않으면 전체 리스트를 검색해야하는 경우가 발생할 수 있으며,
따라서 남은 가용공간을 크기 순서로 배열해야하는 부하가 발생합니다.
단편화(fragmentation)
연속적으로 기억 장치를 할당하여 사용할 경우,
크기가 맞지 않아서 사용되지 못하는 작은 공간이
생길 수 있는데, 이러한 공간을 단편화 공간이라고 합니다.
최악적합(Worst-Fit)
주기억 장치 내의 분할된 공간 중, 적재 시 단편화(fragmentation) 공간이 가장 크게
발생하는 공간에 배치하는 기법입니다.
장점 - 큰 가용공간에 프로그램을 할당하기 때문에 남은 공간도 여전히 크므로, 다른 큰 프로그램의 실행이 가능합니다.
단점 - 가용공간 리스트가 크기 순서대로 되어 있지 않으면 전체 리스트를 검색해야하는 경우가 발생할 수 있으며,
또한 큰 프로그램이 적재될 큰 가용 공간이 없어집니다.
스왑(SWAP)
가상 메모리를 사용할 때 자주 사용하지 않는 주기억 장치의
내용을 가상 메모리로 옮기고, 자주 사용되는 가상 메모리 내용을 주기억 장치로 옮기는 것을 말합니다.
실 주소(Real Address)
주기억 장치에서 사용되는 주소를 실 주소라고 합니다.
가상 주소(Virtual Address)
실행 프로세스가 참조하는 가상 메모리의 주소를 가상 주소라고 합니다.
워드(Word)
컴퓨터 데이터의 정보 단위 중 하나로서, 대부분 시스템에서 1-word = 4-byte = 32-bit 입니다.
바이트(Byte)
컴퓨터 데이터의 가장 작은 단위이며, 0 또는 1의 값을 가지는 것을 비트(Bit)라고 합니다.
바이트(Byte)는 8-bit 길이를 가지는 정보의 기본 단위를 말합니다.
블록(Block)
보조기억 장치와 주기억 장치간의 데이터 전송 단위로써, 보통 4k-Byte입니다.
Residence Bit
존재 비트
해당 페이지가 주기억 장치에 적재되어 있는지에 대한 여부를 나타냅니다.
Secondary Stroage Address
보조기억 장치 주소
해당 페이지의 보조기억 장치 주소를 나타냅니다.
Page Frame Number
페이지 프레임 번호
해당 페이지가 적재되어 있는 페이지 프레임 번호를 나타냅니다.
연관 기억 장치(Associative Memory)
주소의 개념없이 지정된 내용으로 데이터에 접근할 수 있도록 하드웨어적으로 구현된 기억 장치입니다.
Residence Bit
존재 비트
해당 세그먼트가 주기억 장치에 적재되어 있는지에 대한 여부를 기록합니다.
Secondary Stroage Address
보조기억 장치 주소
해당 세그먼트가 존재하는 디스크상의 주소를 기록합니다.
Segment Length
세그먼트 길이
각 세그먼트의 크기에 대한 정보를 기록합니다.
Protection Bit(R/W/X/A)
보호 비트
해당 세그먼트에 대해 프로세스가 접근할 수 있는 연산모드 정보를 기록합니다.
Segment Address
세그먼트 주소
해당 세그먼트가 적재되어 있는 주기억 장치의 주소를 기록합니다.
MIN 기법
MIN 기법은 1966년 Belady에 의해 제시된 것으로, 페이지 부재 횟수를 최소화하는
최적의 기법입니다. MIN 기법에서는 현재 시점 이후로 가장 오랫동안 참조되지 않을
페이지를 예상하여 교체합니다. 하지만 현재까지는 실현 불가능한 기법입니다.
무작위 기법
무작위(Random) 기법은 원칙없이 임의로 교체 대상 페이지를 선정하는 기법으로,
교체될 페이지를 선정하는 오버헤드는 적지만 페이지 부재 횟수를 줄이려는 어떠한
시도도 하지 않습니다.
FIFO 기법
FIFO(First-In First-Out) 기법은 페이지가 주기억 장치에 적재된 시간을 기준으로
교체될 페이지를 선정하는 기법으로, 주기억 장치에 가장 먼저 적재된 페이지를
교체합니다.
이를 위해서는 페이지들의 주기억 장치 적재 시간을 기록해두어야 하는데,
사용 빈도가 높은 프로그램의 페이지들이 교체될 가능성이 높습니다.
LRU 기법
LRU(Least Recently Used) 기법은 참조된 시간을 기준으로 교체될 페이지를
선정하는 기법으로, 가장 오랫동안 참조되지 않은 페이지를 교체합니다.
이를 위해서는 적재되어 있는 페이지가 참조될 때마다 참조 시간을 기록해두어야 하기
때문에 그 오버헤드가 단점입니다.
하지만 LRU 기법은 최적의 기법인 MIN 기법의 성능에 가장 근사하게 접근한
기법으로, 실제로도 가장 많이 사용되고 있는 기법입니다.
LFU 기법
LFU(Least Frequently Used) 기법은 참조된 횟수를 기준으로 교체될 페이지를
선정하는 기법으로, 가장 참조 횟수가 적은 페이지를 교체합니다.
이를 위해서는 페이지들이 참조될 때마다 참조 횟수를 누적시켜야 하기 때문에,
그 오버헤드가 단점입니다. 또한 최근에 적재된 페이지가 이후 참조될 가능성이
많음에도 불구하고 참조 횟수가 적어 교체될 가능성이 있습니다.
NUR 기법
NUR(Not Used Recently) 기법은 적은 오버헤드로 LRU 기법의 성능을 내기 위한
기법으로, 이 기법에서는 근래에 쓰이지 않은 페이지는 가까운 미래에도 쓰이지 않을
가능성이 많기 때문에 이러한 페이지를 호출되는 페이지와 교체합니다.
NUR 기법에서는 참조 비트와 갱신 비트의 조합을 검사하여 페이지를 교체합니다.
참조 비트는 일정 주기마다 '0' 으로 재설정되며, 이후 해당 페이지가 참조되면
'1' 로 설정됩니다. 갱신 비트는 내용이 갱신되었을 경우 '1'로 설정되어 해당
페이지의 내용을 디스크로 옮겨야 함을 나타냅니다.
참조 비트(r)와 갱신 비트(m)의 조합에 대한 교체 우선 순위
'Server > Linux ' 카테고리의 다른 글
5장. UNIX의 개요 및 구조 (0) | 2013.06.25 |
---|---|
4장. 보조기억장치 및 파일관리 (0) | 2013.06.25 |
2장. 프로세스 관리 - 2 (0) | 2013.06.25 |
2장. 프로세스 관리 - 1 (0) | 2013.06.25 |
1장. 운영체제의 개요 (0) | 2013.06.25 |