메모리

메모리의 종류

휘발성 메모리

  • DRAM: 저장된 0과 1의 데이터가 일정 시간이 지나면 사라진다. 따라서 일정 시간마다 다시 재생시켜야 한다. 주로 메인 메모리에 사용.

  • SRAM: 전력이 공급되는 동안에는 데이터를 보관할 수 있다. 캐시 같은 고속 메모리에 사용.

  • SDRAM: DRAM의 발전 형태로 클록틱(펄스)이 발생할 때마다 데이터를 저장하는 동기 DRAM이다.

비휘발성 메모리

  • 플래시 메모리

    • 전력이 없어도 데이터를 보관하는 저장 장치로 많이 쓰인다.

    • 메모리의 각 소자는 최대 사용횟수가 제한되어 보통 소자 하나당 몇 천번에서 만 번 정도 사용하면 제 기능을 잃는다.

  • FRAM, PRAM, SSD 등

전력이 끊겨도 데이터를 보관할 수 있다. 단 데이터를 한 번 저장하면 바꿀 수 없다.

  • 마스크 롬: 데이터를 지우거나 쓸 수 없음

  • PROM: 데이터를 한 번만 저장할 수 있음

  • EPROM: 데이터를 여러 번 쓰고 지울 수 있음

메모리 보호

  • 일괄 작업 시스템에서는 메모리가 운영체제 영역사용자 영역으로 구분된다. 일괄 작업 시스템에서 메모리 보호는 사용자 영역의 작업이 운영체제 영역으로 침범하지 못하도록 막는 것.

  • CPU는 현재 진행 중인 작업의 메모리 시작 주소를 경계 레지스터에 저장한 후 작업을 한다. 또한 현재 진행 중인 작업이 차지하고 있는 메모리의 크기, 즉 마지막 주소까지의 차이를 한계 레지스터에 저장한다.

  • 사용자의 작업이 진행되는 동안 이 두 레지스터의 주소 범위를 벗어나는 지 하드웨어적으로 점검함으로써 메모리를 보호한다. 이를 벗어나면 메모리 오류와 관련된 인터럽트가 발생하여 모든 작업이 중단되고 CPU는 운영체제를 깨워서 인터럽트를 처리하도록 시킨다.

  • 메모리 영역을 벗어나서 발생한 인터럽트의 경우 운영체제가 해당 프로그램을 강제 종료시킨다.

부팅

컴퓨터를 켰을 때 운영체제를 메모리에 올리는 과정.

부팅 과정

  1. 사용자가 컴퓨터의 전원을 켜면 롬에 저장된 바이오스(BIOS)가 실행되고, 이 바이오스가 CPU, 메모리, 하드디스크, 키보드, 마우스와 같은 주요 하드웨어가 제대로 작동하는 지 확인한다.

    • 이상이 있다면 삐 소리와 함께 오류 메세지를 출력한다.

    • 이상이 없으면 하드 디스크의 마스터 부트 레코드(MBR)에 저장된 작은 프로그램을 메모리로 가져와 실행한다.

    • 마스터 부트 레코드는 하드디스크의 첫 번째 섹터를 가리키며, 운영체제를 실행하기 위한 부트스트랩 코드가 여기에 저장되어 있다.

    • 부트스트랩 코드는 운영체제를 메모리로 가져와 실행하는 역할을 하는 작은 프로그램이다.

  2. 마스터 부트 레코드에 있는 부트스트랩이 메모리에 올라오면 하드 디스크에 저장된 운영체제를 메모리로 불러온다.

    • 마스터 부트 레코드가 손상되면 운영체제를 실행할 수 없다.

    • 한 개의 컴퓨터에 여러 개의 운영체제를 설치했다면 어떤 운영체제로 사용할 것인지를 물어보는 화면이 나오는데, 이 화면이 부트스트랩 코드가 실행된 화면이다.,

    • 단일 운영체제만 있다면 이러한 과정 없이 바로 운영체제를 메모리에 올린다.

Last updated