728x90
Process(프로세스)
실행 중인 프로그램
주기억장치(RAM, Random Access Memory)
- 프로세스가 올라가는 공간
- 프로세서(CPU)가 직접 접근할 수 있는 대량 저장 장치로서 워드의 배열로 구성되어 있다.
- 흔히 주기억장치와 RAM 은 같은 의미로 사용된다.
- 워드란 것은 CPU가 한 번에 처리할 수 있는 단위로서 운영체제가 32bit 시스템이라면 워드는 32 bit가 된다.
- 주기억장치는 CPU와 상호작용할 수 있으며 상호작용을 할 때는 특정 기억장치 주소에 일련의 Load 혹은 Store 명령 등을 통해 수행이 이뤄진다.
- Load 명령은 주기억장치에서 CPU 내부의 레지스터로 한 워드만큼의 데이터를 이동시키는 명령
- Store 명령은 CPU 내부의 레지스터의 내용을 주기억장치로 이동시키는 명령이다.

사이클
하나의 명령이 실행되는 사이클
- 기억장치로부터 명령을 인출해서 CPU 내부의 명령 레지스터에 저장
- CPU 가 명령을 해독한다.
- 피연산자를 CPU 내부의 레지스터에 저장한다.
- 명령을 실행한다.
- 결과를 기억장치에 저장한다.
주기억장치는 모든 프로그램과 자료를 영구히 저장하기에 용량이 작으며 그 대신 보조기억장치보다 접근 속도가 훨씬 빠르다.
결과적으로 전원이 공급되지 않으면 그 내용을 잃어버리는 휘발성 저장장치이다.
보조기억장치
- 프로그램을 영구히 저장할 수 있는 저장장치로서 하드디스크 or SSD 등이 있다.
- 아직도 가장 많이 사용되고 있는 보조기억장치는 하드 디스크로서 자기 디스크의 일종이다.
- 일반적으로 프로그램들은 보조기억장치에 저장되며 그 중에서 실행을 한 프로그램이 프로세스가 되어 주기억장치에 적재되어 CPU가 처리해 프로그램이 작동하게 되는 것이다.
주기억장치와 CPU자체에 내장되어 있는 레지스터는 CPU가 직접 접근할 수 있는 유일한 저장장치.
실행 중인 모든 명령과 명령에 의해 사용이 되는 데이터는 항상 CPU가 직접 접근이 가능한 이런 저장 장치 중 하나에 있어야만 한다.
일반적인 입출력장치에도 명령 및 전송되는 데이터를 보관하기 위해서 내부적으로 레지스터를 가지고 있다. CPU는 특별한 입출력 명령을 내려 제어기의 레지스터와 시스템 메모리간의 데이터 전송을 허용하는 방식으로 이런 입출력장치를 다룬다.

기억장치 사상 입출력(Memory Mapped I/O)
- 이전에는 입출력 명령이 각각의 입출력 장치를 ID값으로 구분해 적절한 명령을 삽입하는 방식을 이용했는데 이는 명령의 구조가 상이하여 파악하기 어렵다는 단점
- 단일 주소체계를 도입해 명령의 구조를 통일했는데 이를 기억장치 사상 입출력 방식이라고 한다.
- 보다 편리한 입출력 장치에 대한 접근을 제공하고 메모리 주소의 일정 범위를 지정해서 장치 레지스터에 사상시킨다. 보통 이러한 시스템은 모니터 화면 출력과 같이 고속의 응답 시간을 갖는 장치에 적합하다. 나중에는 이러한 시스템이 더 발전해 그래픽 카드 등을 이용하는 방식으로 확장되었다. 그래픽 카드는 마치 별도의 CPU처럼 작동해 게임 등을 할때는 굉장히 중요 요소로 사용된다.

자기디스크(Magnetic Disks)
- 보조기억장치로 사용되고 있는 매체
- 여러 개의 디스크 판이 함께 사용이 되는 경우가 많고 각 디스크는 Platter 라는 CD처럼 생긴 원형 평판으로 되어있다. 플래터의 양쪽 표면은 자기적인 물질로 덮여있고 정보는 플래터 상에 자기적으로 기록되어 저장된다.
- 읽기-쓰기헤더는 모든 플래터의 각 표면 바로 위에서 움직이며 Head는 모든 헤드를 한꺼번에 이동시키는 디스크 ARM에 부착되어 사용된다.
- 플래터의 표면은 원형인 트랙으로 논리적으로 구분이 되고 이또한 섹터로 나눠져 있다.
- 실린더는 하나의 암 위치에 있는 트랙의 집합을 의미하며 모두 합쳐 수천 개의 동심원 실린더가 존재할 수 있다. 또한 각 트랙 또한 수천개의 섹터를 포함할 수 있어 다양한 용량의 자기 디스크가 존재한다.

- 디스크 속도 측면에서 중요한 특성은 바로 전송률
- 전송률이란 드라이브와 컴퓨터 간의 데이터의 전송 비율을 의미한다.
- 임의 접근 시간(Random Access Time)은 원하는 실린더로 디스크암이 움직이는 탐색시간(Seek Time)과 원하는 섹터로 디스크 헤더가 회전하는 회전지연(Rotation Time) 시간의 합으로 구성된다.
- 즉, 하드 디스크에 있는 원하는 데이터를 찾으려면 암을 움직여서 특정한 동심원 실린더로 접근하고 디스크를 돌려 특정 섹터에 접근할 수 있도록 해야 한다는 것이다.
자기 테이프(Magnetic Tape)
초기의 보조기억장치로 사용된 매체로서 영구적이고 굉장히 많은 양의 데이터를 보관할 수 있다. 폭에 따라 1/2인치 등으로 이름이 붙여지며 폭이 클수록 많은 양의 데이터를 저장할 수 있다. 자기 테이프는 주기억장치와 비교했을때 접근 시간 차이가 굉장히 느린데 이는 자기테이프는 순차적인 접근만이 가능해 자기 디스크가 제공하는 임의 접근 시간에 비해 접근 속도가 굉장히 느리기 때문이다.

'Computer Science > OS (운영체제)' 카테고리의 다른 글
[OS] 운영체제 메모리 관리와 가상메모리 (0) | 2022.03.27 |
---|---|
[OS / 메모리] 캐시메모리(Cache Memory), SRAM(Static RAM) (0) | 2022.03.27 |
[OS] 입출력 시스템(I/O system) (0) | 2022.03.20 |
[OS] 컴퓨터 시스템의 발전 (0) | 2022.03.18 |
[OS] 컴퓨터 구조 (0) | 2022.03.18 |