본문 바로가기
Computer Science/OS (운영체제)

[OS] 저장장치의 구조

by SIXXXX_ 2022. 3. 20.
728x90

Process(프로세스)

실행 중인 프로그램

 

 

주기억장치(RAM, Random Access Memory)

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

 

명령어종류

사이클

하나의 명령이 실행되는 사이클

  1. 기억장치로부터 명령을 인출해서 CPU 내부의 명령 레지스터에 저장
  2. CPU 가 명령을 해독한다.
  3. 피연산자를 CPU 내부의 레지스터에 저장한다.
  4. 명령을 실행한다.
  5. 결과를 기억장치에 저장한다.

 

주기억장치는 모든 프로그램과 자료를 영구히 저장하기에 용량이 작으며 그 대신 보조기억장치보다 접근 속도가 훨씬 빠르다.

결과적으로 전원이 공급되지 않으면 그 내용을 잃어버리는 휘발성 저장장치이다.

 

 

보조기억장치

  • 프로그램을 영구히 저장할 수 있는 저장장치로서 하드디스크 or SSD 등이 있다.
  • 아직도 가장 많이 사용되고 있는 보조기억장치는 하드 디스크로서 자기 디스크의 일종이다.
  • 일반적으로 프로그램들은 보조기억장치에 저장되며 그 중에서 실행을 한 프로그램이 프로세스가 되어 주기억장치에 적재되어 CPU가 처리해 프로그램이 작동하게 되는 것이다.

 

 

주기억장치와 CPU자체에 내장되어 있는 레지스터는 CPU가 직접 접근할 수 있는 유일한 저장장치.

실행 중인 모든 명령과 명령에 의해 사용이 되는 데이터는 항상 CPU가 직접 접근이 가능한 이런 저장 장치 중 하나에 있어야만 한다.

일반적인 입출력장치에도 명령 및 전송되는 데이터를 보관하기 위해서 내부적으로 레지스터를 가지고 있다. CPU는 특별한 입출력 명령을 내려 제어기의 레지스터와 시스템 메모리간의 데이터 전송을 허용하는 방식으로 이런 입출력장치를 다룬다.

보조기억장치중 하나인 하드디스크의 구조

 

기억장치 사상 입출력(Memory Mapped I/O)

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

 

 

자기디스크(Magnetic Disks)

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

HDD 작동방식

  • 디스크 속도 측면에서 중요한 특성은 바로 전송률
  • 전송률이란 드라이브와 컴퓨터 간의 데이터의 전송 비율을 의미한다.
  • 임의 접근 시간(Random Access Time)은 원하는 실린더로 디스크암이 움직이는 탐색시간(Seek Time)과 원하는 섹터로 디스크 헤더가 회전하는 회전지연(Rotation Time) 시간의 합으로 구성된다.
  • 즉, 하드 디스크에 있는 원하는 데이터를 찾으려면 암을 움직여서 특정한 동심원 실린더로 접근하고 디스크를 돌려 특정 섹터에 접근할 수 있도록 해야 한다는 것이다.

 

 

자기 테이프(Magnetic Tape)

초기의 보조기억장치로 사용된 매체로서 영구적이고 굉장히 많은 양의 데이터를 보관할 수 있다. 폭에 따라 1/2인치 등으로 이름이 붙여지며 폭이 클수록 많은 양의 데이터를 저장할 수 있다. 자기 테이프는 주기억장치와 비교했을때 접근 시간 차이가 굉장히 느린데 이는 자기테이프는 순차적인 접근만이 가능해 자기 디스크가 제공하는 임의 접근 시간에 비해 접근 속도가 굉장히 느리기 때문이다.