[Computer architecture] RAM(램)

임수정·2024년 6월 27일
0

📝 Learning Log

목록 보기
1/47
post-thumbnail

📍 램(RAM)

컴퓨터의 주기억장치인 램(RAM)Random Access Memory의 약자
컴퓨터가 켜져 있을 때만 사용하고 컴퓨터 전원이 끊어지면 기록된 정보가 사라지는 휘발성 메모리라는 뜻으로, 응용프로그램의 일시적 로딩, 데이터의 일시적 저장등에 사용
CPUHDD(저장장치 혹은 보조기억장치), SSD 등을 이어주는 또 하나의 데이터 기억장치의 역할로 일을 빠르게 처리할 수 있도록 도와준다.

컴퓨터에서 램(RAM)은 프로세서(CPU)저장장치(HDD, SSD 등..)을 연결시켜주어 훨씬 빠른 속도로 컴퓨터를 실행해주는 역할을 한다. 따라서 램의 용량이 높을수록 컴퓨터가 매우 빠르고 다양한 작업을 동시에 처리 가능

램이 부족하면 가상메모리파일을 사용하게 되는데, 램(RAM)보다 대략 6만배 느리다..

가상메모리

아주 간단하게 정리하자면, 'RAM의 역할을 저장 장치의 공간으로 활용하는 것'으로 시스템에 장착된 RAM이 가득 찰 경우, 저장장치(HDD, SSD)의 공간을 소모하며 RAM의 가용범위를 늘려주는 것

통상 현재 장착된 메모리의 1.5~3배 사이로 유지하는 것이 정석

가상 메모리 설정하는 방법
시작 검색창 → 고급 시스템 설정 보기 → 상단 메뉴 중 [고급] → 성능 항목의 [설정] → 가상 메모리의 [변경]버튼 클릭 → 직접 값을 설정해주기 위해선 '모든 드라이브에 대한 페이징 파일 크기 자동 관리'를 '체크 → (가상 메모리를 처음 직접 설정하는 것이라면) [시스템에서 관리]라고 표기된 드라이브르 선택한 뒤 '페이징 파일 없음' 체크 후 [설정] 클릭 → 오류창 [예] 클릭 → [사용자 지정 크기] 체크 후 처음 크기/최대 크기를 모두 같은 값으로 입력(현재 장착된 RAM 용량의 1.5~3배, 입력값은 MB로)

📍 램(RAM)을 사용하는 이유

RAM을 통해 컴퓨터가 어플리케이션 로딩이나 인터넷 검색, 스프레드시트 편집, 최신 게임 플레이 등과 같은 일상적인 작업을 대부분 수행 가능
또한, 메모리는 각 작업의 진행 상황을 기억하는 동시에 이러한 작업들 사이에서 빠르게 전환할 수 있도록 해줌
일반적으로 말해, 메모리 용량이 클수록 멀티태스킹이 쉬워짐

하드디스크에 저장해서 실행하면 되는데 왜 메모리를 쓸까?

하드디스크는 물리적으로 움직이면서 실행되지만, 메모리는 전기적인 신호를 사용하여 실행하기때문!
구조상으로 메모리가 속도가 좀더 빠르기때문에 메모리(RAM)을 사용한다.

📍 가상메모리(Virtual Memory)

컴퓨터 시스템에서 주기억장치(RAM)와 보조 저장 장치(하드디스크 등)을 함께 사용하여 사용자에게 더 큰 메모리 공간을 제공하는 기술
운영체제(OS)가 관리하고 할당하는 메모리 공간

  1. 주기억장치는 빠르지만 제한된 용량을 가진다. 반면 보조 저장 장치(하드디크스 등)은 느리지만 매우 큰 용량을 가진다. 가상 메모리는 이 두가지를 조합하여, 주 기억장치의 용량을 확장하고자 하는 목적

  2. 각 프로세스는 자신만의 가상 주소 공간을 할당받는데, 이 공간은 프로세스가 사용할 수 있는 메모리 공간으로 실제 물리적인 메모리 주소와는 분리된다. 가상 주소 공간은 프로그램이 필요로 하는 메모리 양보다 더 크게 할당될 수 있다. 이는 프로세스가 필요로 할 때 실제 메모리를 사용하는 원리

  3. 가상 메모리 시스템은 주기억장치에 로드된 데이터 중에서 가장 자주 사용되지 않는 데이터를 보조 저장 장치로 스왑하고, 필요할 때 다시 가져오는 페이지 교체 기법을 사용한다. 이것을 통해 물리적인 메모리 용량보다 큰 프로그램도 실행 가능하고 프로세스 간의 메모리 보호를 유지하면서 메모리 사용 효율성을 높인다.

📖 가상메모리 장점

  1. 프로세스 간 메로리 공간의 분리와 보호를 제공
  2. 더 큰 프로그램이나 여러 프로그램을 동시에 실행 가능
  3. 물리적인 메모리 용량을 넘어서는 데이터와 코드 처리 가능

📖 가상메모리 단점

  1. 보조 저장 장치에 접근하는 시간이 주 기억장치에 비해 매우 느리다. 따라서 페이지 교체(3번 설명)가 발생할 경우 성능 저하 발생 가능
  2. 페이지 교체 알고리즘의 선택이 중요하며, 최적화가 필요
profile
언어는 거들 뿐...

0개의 댓글