레지스터
레지스터는 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

forground 및 background 작업
예를 들면, 스프레드시트 프로그램에서 한 개의 쓰레드는 메뉴를 디스플레이하고 다른
쓰레드는 사용자의 입력을 읽어 들이는 반면, 또 다른 쓰레드는 사용자 명령이 완료되기
전에 다음 명령어를 위한 프롬프트가 미리 나타나게 할 수 있습니다.

 

asynchronous processing (비동기처리)
프로그램 내에 비동기적인 요소를 쓰레드로 구현할 수 있습니다. 예를 들면, 문서 편집기
사용시 Power Off에 대비해서 매 분마다 주기억 장치에 있는 내용을 디스크에
기록하도록 할 수 있습니다.

 

speed 향상
하나의 프로세스 내에서 데이터 처리 시에 다중 쓰레드로 하여금 병렬로 처리하도록
함으로써 속도를 향상시킬 수 있습니다.

 

프로그램의 효율적 구성
단일 프로세스가 갖는 복잡한 프로그램 구조를 기능별로 세분화하여 쓰레드별로
작성함으로써 프로그램의 효율적인 모듈화 구성이 가능합니다.

 


단일 CPU 시스템에서의 성능 향상
쓰레드를 사용하지 않는 프로세스가 느린 속도의 보조기억 장치에 있는 데이터를
사용하기 위해 read(), write() 와 같은 시스템 콜을 사용하게 되면, 시스템 콜의 작업이
종료될 때 까지 프로세스 전체가 멈추어 있어야 합니다. 
그러나 쓰레드를 사용하게 되면, 시스템 콜을 요청한 쓰레드만 멈추어 있고 프로세스
안에 있는 다른 쓰레드들은 각자의 작업을 계속할 수 있습니다. 이 경우에 앞에서 배운
Context Switch가 발생하지 않아도 되는 장점이 있습니다.


다중 CPU 시스템에서의 성능 향상
프로세스 단위로 스케줄링이 이루어질 때는 아무리 많은 CPU가 있어도 프로세스는
하나의 CPU에 할당될 수 밖에 없습니다. 그러나 쓰레드를 사용하게 되면 각 쓰레드가
하나하나의 CPU에 할당되어 독립적으로 실행될 수 있습니다.


 

 

선점 스케줄링 기법
한 프로세스가 CPU를 차지했을 때 다른 프로세스가 그 CPU를 빼앗을 수 있는 스케줄링 기법

 

비선점 스케줄링 기법
한 프로세스가 CPU를 차지했을 때 다른 프로세스가 그 CPU를 빼앗을 수 없는 스케줄링 기법


MFQ 스케줄링은 입출력 위주의 프로세스에게 우선권을 주게 되는데, 이는 주변 장치를
효과적으로 활용하도록 하고 또한 사용자들에게 합당한 응답 시간을 주게 됩니다. 
 
실제로 입출력 위주의 프로세스는 매우 높은 우선 순위로 큐에 들어오게 되며, 따라서 빨리
CPU를 할당 받게 됩니다. 첫 번째 큐에서의 시간 할당량은 대부분 입출력 위주의 작업이 입출력
요구를 발생시키기까지 연산을 계속할 수 있을 만큼 충분히 커야하며, 그 프로세스는 입출력
요구가 발생되면 큐를 떠나게 됩니다.
 
많은 연산 시간을 필요로 하는 연산 위주의 프로세스는 처음에는 매우 높은 우선 순위로 가장 높은
단계의 큐에 들어갑니다. 그 프로세스는 처음에는 CPU를 빨리 차지하지만 할당된 시간이
만료됨에 따라 계속 더 낮은 단계의 큐로 내려가게 되며, 새로 들어오는 작업들이 CPU를 먼저
차지함에 따라 점점 더 낮은 우선 순위를 갖게 됩니다.
 
연산 위주의 프로세스들은 CPU를 언젠가는 차지하게 되며, 가장 높은 단계의 큐에서 얻은 것보다
더 많은 시간 할당량을 얻게 됩니다.
 
MFQ 스케줄링 기법은 프로세스들을 CPU에 대한 요구량에 따라 분류하는데 이상적입니다.
시분할 시스템에서는 프로세스가 큐를 떠날 때마다 그 프로세스가 존재했던 최저 단계의 큐에
대한 정보가 기억되어 그 프로세스가 재차 큐에 들어올 때는 지난번 실행되었던 큐로 직접
들어갑니다.


'Server > Linux ' 카테고리의 다른 글

5장. UNIX의 개요 및 구조  (0) 2013.06.25
4장. 보조기억장치 및 파일관리  (0) 2013.06.25
3장. 메모리 관리  (0) 2013.06.25
2장. 프로세스 관리 - 1  (0) 2013.06.25
1장. 운영체제의 개요  (0) 2013.06.25

실행(Running)
프로세스가 CPU를 차지하여 현재 실행 중인 상태를 말합니다.

 

준비(Ready)
프로세스가 CPU를 사용하고 있지는 않지만 언제든지 사용할 수 있도록 준비된 상태를 말하며, 대부분의 프로세스가 여기에 해당됩니다.
CPU가 한번에 하나의 프로세스 밖에 실행 시킬 수 없기 때문에, 아직 CPU를 할당 받지
못한 프로세스들은 Ready 상태로 시스템의 큐(Queue)에 등록되어 CPU의 할당을 기다리게 됩니다.

 

대기(Waiting)
프로세스가 어떠한 사건(event)을 기다리는 상태를 말합니다. 예를 들어 외부 장치들로부터의 I/O가 종료되기를 기다리거나,

한 프로세스가 종료되기를 기다리거나, 어떤 자원이 사용 가능해지기를 기다리는 경우를 말합니다.

 

완료(Terminated)
프로세스가 완전히 수행을 종료한 상태를 말합니다. 프로세스가 종료되면 운영체제에
의해서 시스템에서 제거됩니다.

 

 

디스페치(Dispatch)

디스페치(Dispatch)란 준비 상태에서 실행 상태로 전이되는 과정으로 준비 상태의 큐(Queue)에
대기하고 있던 프로세스 중 우선 순위가 높은 프로세스가 CPU를 취하여 실행 상태로 바뀌는 것을 말합니다.

 

타이머 런아웃(Timer Runout)

타이머 런아웃(Timer Runout)란 실행 상태에서 준비 상태로 전이되는 과정으로 어떤 프로세스가
CPU를 계속 독점하여 사용하는 것을 막기 위해서, 주어진 시간 내에 작업이 끝나지 않으면,
운영체제가 CPU의 제어권을 해당 프로세스로부터 강제로 회수하여 프로세스의 상태가 준비 상태로 바뀌는 것을 말합니다.

 

블록(Block)

블록(Block)이란 실행 상태에서 대기 상태로 전이되는 과정으로 실행 상태의 프로세스가 지정된
시간 이전에 입출력이나 기타 다른 수행을 필요로 하는 경우, 그 프로세스는 스스로 CPU를
양보하게 됩니다. 즉 프로세스가 스스로 실행 상태에서 대기 상태로 바뀌는 것을 말합니다.

 

웨이크 업(Wake Up)

웨이크 업(Wake Up)이란 대기 상태에서 준비 상태로 전이되는 과정으로 입출력 작업을
실행하기 위해 스스로 대기 상태로 전이했던 프로세스가 작업이 완료되어 대기 상태에서
준비 상태로 전이하는 것을 말합니다.

프로세스 상태 
실행(Running), 준비(Ready), 대기(Waiting), 완료(Terminated) 등의 프로세스 상태를 말합니다.

 

프로그램 카운터 
프로세스 수행을 위한 다음 명령의 주소를 표시합니다. 프로그램 카운터(program counter)와 함께 프로세스 상태 정보는
인터럽트 발생시 저장되어야 하는데, 이것은 후에 프로세스의 정확한 수행을 계속하기 위함입니다.

 

레지스터
컴퓨터 구조에 따라 다양한 형식과 종류를 가집니다. 누산기(accumulator), 인덱스 레지스터(index register),

그리고 범용 레지스터(general purpose register) 등이 있습니다.

 

회계 및 입출력 상태 정보 
CPU 사용기간, 실제 사용 기간, 시간 제한, 작업 이나 프로세스 번호 등을 포함하는 회계 정보와 특별한 입출력 요구,

이 프로세스에 할당된 입출력 장치 등을 포함하는 입출력 상태 정보를 말합니다.

 

CPU 스케줄링 정보 
프로세스의 우선순위, 스케줄링 큐에 대한 포인터, 그리고 다른 스케줄링 매개 변수들을 포함합니다.

환형대기(Circular Wait)
프로세스간의 환형 사슬이 존재해서 이를 구성하는 각 프로세스는 사슬 내의 다음에
있는 프로세스가 요구하는 하나 또는 그 이상의 자원을 갖고 있습니다.
즉, 프로세스의 집합{p0, p1, p2, …, pn}에 있어서 p0는 p1에 할당된 자원을, pi는
pi+1에 할당된 자원을, 그리고 pn은 p0에 할당된 자원을 요청하며 대기합니다.

 

상호배제(Mutual Exclusion)
공유할 수 없는 자원, 즉 한번에 하나의 프로세스만이 독점할 수 있는 자원을 하나 이상
가지고 있는 경우를 말합니다. 공유될 수 없는 자원이란 프린터와 같이 결코 여러
프로세스가 동시에 사용할 수 없는 자원을 의미합니다. 
반면에 공유할 수 있는 자원은 상호배제적인 액세스를 요구하지 않기 때문에 교착
상태가 일어나지 않습니다. 예를 들어 읽기 전용(read-only) 파일과 같은 자원은
동시에 몇 개의 프로세스라도 공유할 수 있습니다. 따라서 프로세스는 공유 자원을
액세스하기 위해 대기할 필요가 없으므로 교착 상태가 일어나지 않습니다.

 

점유와 대기(Hold and Wait)
프로세스가 자신이 점유한 자원을 해제하지 않은 상태에서 다른 프로세스가 점유한
자원이 할당되기만을 기다리는 상태를 말합니다.

 

비선점(Non-Preemption)
할당된 자원을 프로세스가 모두 사용하기 전에는 그 프로세스로부터 자원을 강제로
빼앗을 수 없고, 그 자원을 점유하고 있는 프로세스가 끝나야 그 자원이 해제되는
상태를 말합니다.

 

 

방법1
만일 어떤 자원을 이미 할당 받은 프로세스가 또 다른 자원을 요청했는데 그것을
즉시 사용할 수 없는 상황이라면 현재 할당되었던 모든 자원을 선점시킵니다.
즉, 이 모든 자원은 묵시적으로 해제됩니다. 
선점된 자원은 그 프로세스가 기다리고 있는 자원들의 리스트에 추가시키고,
프로세스는 그 리스트 내의 모든 자원을 얻을 경우에만 다시 시작할 수 있도록
합니다.


방법2
만일 프로세스가 어떤 자원을 요청하면 먼저 그 자원의 가용 여부를 조사하여 가용
상태이면 할당합니다. 그러나 바로 할당할 수 없는 상태이면 그 자원이 다른 자원을
기다리고 있는 프로세스에 할당되어 있는지를 조사합니다. 만일 그렇다면 대기
상태인 프로세스로부터 자원을 선점하여 요청한 프로세스에게 할당해 줍니다. 
자원이 가용 상태가 아니거나 대기 상태인 프로세스에 의해 소유되고 있으면 요청한
프로세스는 반드시 대기해야 합니다. 대기 상태일 경우 다른 프로세스가 자신의
자원을 요구할 때는 그 자원은 선점되게 됩니다. 
대기 상태에서 자신의 자원이 강제 해제된 프로세스는 기다리던 자원을 할당
받았을 때 강제 해제된 자원을 다시 요청하여 할당 받은 후에 작업을 수행하게
됩니다. 

방법1
프로세스는 자원을 항상 오름차순으로 요청하도록 하는 것입니다.  
 프로세스는 초기에 어떤 자원 ri를 지닐 수 있습니다. 그 후에는 반드시 F(rj) > F(ri)인
경우에 한해서만 rj를 요청할 수 있습니다. 만약 같은 형태의 여러 개의 자원들이
필요하게 되면, 이들 모두에 대해 단 한 번의 요구만 문제 삼습니다. 
 
                 프로세스 오름차순 요청의 예

 

방법2
대안으로서 CPU가 자원 rj 형태를 요구할 때마다 F(ri) ≥ F(rj)인 자원 ri는 이미
해제되어 있어야 합니다. 이 방법이 적용되면 환형 대기 상태는 결코 발생하지
않습니다. 
 가령 환형 대기가 존재한다고 합시다. ({p0, p1, …, pn}의 프로세스에 대해 pi는
pi+1이 지닌 ri를 기다리고 있으며, pn은 p0이 지닌 r0를 기다리고 있습니다.
프로세스 pi+1은 자원 ri를 소유하고 있으며, 자원 ri+1을 요청하고 있기 때문에 모든
i에 대하여 F(ri) < F(ri+1) 입니다. F(r0) < F(r1) <, …, F(rn) < F(r0)을 의미하게
되고, F(r0) < F(r0)가 성립하게 됩니다. 그러나 이것은 모순이며 따라서 환형 대기는
발생할 수 없음을 알 수 있습니다. 

 

방법1
교착 상태에 빠진 모든 프로세스들을 중지(kill)시키는 방법이 있습니다.
임의의 프로세스를 종료 시키는 것은 쉽지가 않습니다.
만약 프로세스가 파일을 갱신 중이었다면, 그 프로세스를 중도에 종료시키는 것은 파일을
부정확한 상태에 있게 만들게 됩니다. 마찬가지로 프로세스가 프린터로 자료를 출력
중이었다면, 시스템은 다음 작업의 출력이 이루어지기 전에 프린터의 상태를 올바르게
해주어야 합니다. 

 

방법2
교착 상태에 있는 하나 이상의 프로세스들로부터 몇 개의 자원을
선점(preemption)시키는 방법이 있습니다. 프로세스로부터 자원을 선점한다면,
그 프로세스를 어떤 상태로 놓을 것인지를 결정해야 합니다. 분명한 것은 정상적 수행을
계속할 수 없다는 것이며, 따라서 그 프로세스는 어떤 필요한 자원을 잃어버리게 됩니다.
그리고 그 프로세스를 안전한 상태로 되돌려 놓아야 하며, 그 상태로부터 재시작해야
합니다. 

'Server > Linux ' 카테고리의 다른 글

5장. UNIX의 개요 및 구조  (0) 2013.06.25
4장. 보조기억장치 및 파일관리  (0) 2013.06.25
3장. 메모리 관리  (0) 2013.06.25
2장. 프로세스 관리 - 2  (0) 2013.06.25
1장. 운영체제의 개요  (0) 2013.06.25

 

제어장치(CU)
제어 장치는 교통 경찰관과 같이 컴퓨터 연산을 제어하는 역할을 하는데, 주기억 장치에
의해 기억된 명령은 제어 장치에 의해 하나씩 꺼내져 해독되고 실행됩니다. 
 
또한 제어 장치는 입력 장치, 출력 장치, 그리고 메모리들간의 데이터 전송 프로세스를
제어합니다. 따라서 제어 장치는 실제적으로 데이터를 생성하거나 변환시키기 보다는
단지 데이터의 흐름만을 제어합니다.


연산장치(ALU)
연산 장치(ALU: Arithmetic and Logic Unit)는 덧셈, 뺄셈, 곱셈, 나눗셈과 같은
사칙 연산과 더불어 "X가 Y보다 큰가?"와 같은 논리 연산을 수행합니다.
 
모든 컴퓨터 응용프로그램들은 이 다섯 가지의 단순한 연산에 의해 수행됩니다.
연산 장치 내에서의 연산은 제어 장치의 지시에 의해서 수행됩니다.


RAM
RAM은 모든 유형의 데이터를 가지고 있지만, 일단 전원이 차단되면 RAM에 저장된
모든 데이터와 프로그램도 동시에 함께 지워지는 휘발성(volatility) 메모리입니다.

 

 

순차 접근 방법
보조기억 장치에 저장된 데이터를 미리 정해 놓은 순서대로 검색해 나가는 것을 말합니다.
데이터들이 차례차례로 읽혀지기 때문에 주로 일괄 처리에 사용됩니다.
데이터를 빨리 액세스해야 하는 실시간 처리의 경우에는 보통 사용되지 않습니다.

 

임의 접근 방법
특정 데이터를 검색하려고 할 때, 다른 데이터를 순차적으로 읽지 않고 원하는  데이터만을 직접 액세스할 수 있는 방법입니다.  
검색될 데이터를 명시하기 위해서는 임의로 액세스하려는 데이터들은 그들과 관련된  키(Key)를 가져야 합니다.
임의로 액세스되므로 순차 액세스되는 데이터들과는 달리 어떤 특별한 순서로 저장될 필요는 없습니다.

 


자기 테이프
평면의 테이프 위에 자성체를 도포하여, 그 위에 작은 자기 반점(spot)의 극성 변화로 데이터를 기록한다던가, 또는 기록된 데이터를 판독하는 장치입니다.
순차적 접근 방법을 사용하는 자기 테이프는 그 평균 접근 시간이 느리므로 신속을

요하지 않는 임시 정보, 자주 사용되지 않는 정보, 중요한 정보의 이차적인 저장 등을 위해서 많이 사용됩니다.
비교적 가격이 싸고, 대용량의 저장 장치로 널리 사용됩니다.


자기 디스크
비자성체인 비금속(알루미늄) 원판(Disk) 표면에 자성체를 양면에 도장(coating)한 것으로, 이것을 고속 회전시켜 그의 아래 윗면에 설치된 자기 헤드에 의해서
데이터를 기록한다던가, 또는 기록된 데이터를 판독하는 장치입니다. 
하나의 자기 원판을 플래터(Platter)라고 부르며, Disk는 여러 개의 플래터를 쌓아 만듭니다. 또한 플래터는 트랙(Track)이라고 부르는 여러 개의
동심원으로 나누어져 있으며, 트랙은 다시 섹터(Sector)라고 부르는 작은 단위로 구성되어 있습니다.
트랙과 섹터에는 특정 주소가 할당되며, 그 할당된  주소에 의하여 데이터 검색 시 직접적으로 주소를 찾아 검색할 수 있습니다. 
하드 디스크(Hard Disk)와 플로피 디스크(Floppy Disk)가 이에 속합니다. 
 
광 디스크
유리 또는 아크릴 수지로 만든 디스크의 표면에 알루미늄과 같은 반사성이 큰 물질로  코팅하여, 레이저 기술로 코팅된 표면에 '1'은 구멍을 찍고, '0'은 구멍을 찍지
않도록 하여 데이터를 기록하고 판독합니다.

광 디스크 표면의 두 양면이 플라스틱  판으로 보호되어 있어서 먼지나 그 밖의 오염 물질로부터 보호되며, 헤드가 아닌

오직 레이저 광선만이 표면에 닿을 수 있어서 마모나 소모가 반영구적이라고 할 수 있습니다.

 

 

 

5계층 파일관리
파일의 생성과 소멸, 열기와 닫기 등 파일의 관리를 담당합니다.

 

4계층 주변 장치 관리
입출력 장치 등 컴퓨터 주변 장치들의 관리를 담당합니다.

 

3계층 프로세스 관리
프로세스(Process) 관리(프로세스의 생성, 소멸, 프로세스간의 메시지 전달,프로세스의 시작, 정지 등)을 담당합니다.

 

2계층 메모리 관리
프로세스(Process)에게 메모리를 할당하고 회수하는 메모리 관리를 담당합니다.

 

1계층 프로세서 관리
프로세서(Processor, CPU)의 스케줄링(scheduling)을 담당합니다.
스케줄링이란 동시에 여러 개의 프로그램이 실행되는 다중 프로그래밍 시스템의
운영체제에서, 하나의 프로그램이 CPU를 사용하다가 입출력 동작을 하게 되면
상대적으로 느린 입출력 장치를 수행하는 동안 CPU로 하여금 다른 프로그램을
수행하여 컴퓨터의 효율을 증대하고자 하는 작업을 말합니다.

 

 

처리 능력의 증대
처리 능력(throughput)이란 일정 시간 내에 시스템이 처리할 수 있는 일의 양을 말합니다.
따라서 시스템의 처리 능력은 시스템 전체를 구성하고 있는 각 장치의 개별적인 처리
속도보다는 전체 시스템이 공동으로 동작하여 처리할 수 있는 일의 양이라는 측면에서
측정되어야 합니다.

 

응답 시간의 단축
응답 시간이란 사용자가 컴퓨터에 어떠한 일을 요청하고 나서 그 결과를 얻을 때까지
소요되는 시간으로, 이러한 응답 시간은 당연히 단축되는 것이 좋습니다.

 

가용성의 증대
가용성(Availability)이란 사용자가 컴퓨터 시스템을 요구할 때, 어느 정도 신속하게
시스템의 자원을 지원해 줄 수 있는가 하는 것입니다.
CPU, 메모리, 입출력 장치 등의 하드웨어 자원의 수가 많다든가 또는 동시에 실행할 수
있는 작업의 수가 많은 시스템이 가용성이 좋다고 할 수 있습니다.

그러나 컴퓨터 시스템의 자원의 수가 많고 응답 시간이 빠르다고 해도 시스템의 유지
보수나 오동작의 회복 처리에 많은 시간이 소요된다면 전체적으로 시스템의 생산성은 저하됩니다.

 

신뢰도의 향상
신뢰도(Reliability)란 시스템이 어느 정도 정확하게 동작하는가를 나타내는 정도입니다.
메모리 사용 중이나 입출력 장치 사용 중에 오류가 발생하면, 하드웨어나 소프트웨어
상에서 그 오류를 회복 시키기 위한 기능을 하는데, 이러한 기능이 신뢰도 향상을 가져 옵니다.

 

 


'Server > Linux ' 카테고리의 다른 글

5장. UNIX의 개요 및 구조  (0) 2013.06.25
4장. 보조기억장치 및 파일관리  (0) 2013.06.25
3장. 메모리 관리  (0) 2013.06.25
2장. 프로세스 관리 - 2  (0) 2013.06.25
2장. 프로세스 관리 - 1  (0) 2013.06.25

+ Recent posts