Data : 비트(0, 1)로 구성된 정보

 

* Data Communication : 전송 매체(transmission medium)를 통해 두 기기간의 이루어지는 데이터 교환

 


1. 근본적인 특성

  • Delivery : 올바르게 목적지로 전달하는 것
  • Accuracy : 오류나 손실 없이 정확하게 데이터를 전달하는 것
  • Timeliness : 시간적으로 중요한 데이터를 전달하는 것, 데이터 생성 즉시 지연(delay)없이 데이터를 전달하는 것, 실시간 전송  ex) 멀티미디어(음성/영) 
  • Jitter : 패킷(데이터 단위) 전송 중의 변화 ex) 음성이나 영상 데이터 전송 중 끊김현상

 

2. 시스템 요소

  • Message : 전송되어지는 정보(데이터)
  • Sender(송신자) : 데이터 메시지를 보내는 기기
  • Receiver(수신자) : 데이터 메시지를 받는 기기
  • Transmission Medium(전송 매체) : 메시지가 이동하는 물리적 경로(통신 링크)
  • Protocol : 데이터 통신을 하기 위한 통신 규약(통신하는 기기간의 약속)

3. 데이터 흐름의 방향
  • Simplex : 단일방향의 통신  ex) 키보드, 모니터
  • Half-duplex : 반이중방식 통신으로 전송과 받기가 가능하나 두 기기가 동시에 주고 받을 수는 없다.  ex) 무전기
  • Full-duplex : 전이중방식 통신으로 전송과 받기가 동시에 가능하다.  ex) 전화


4. Network - 네트워크

  • 통신 링크에 의해 연결되어진 통신 관련 장비들의 무리
  • Device : host, end system, end host, connecting device such as router
  • host(호스트) : 네트워크에 연결된 컴퓨터

5. 네트워크의 기준

 - Performance(성능)
  • 전달시간, 응답시간 내에 측정되어진다.
  • 처리율(throughput), 지연(delay), 받은 데이터간의 시간 간격(jitter), 손실과 관련이 있다.
  • 유저의 수, 전송 매체의 종류, 하드웨어, 소프트웨어에 영향을 받는다.  ex) 사용자 수가 많을 수록 성능이 저하된다.

 - Reliability(신뢰성)
  • 실패의 빈도수, 실패 이후 네트워크의 복구시간, 재난에 대한 네트워크의 견고함

 - Security(보안)
  • 비인증된 접근으로부터 데이터의 보호
  • 데이터의 무결성
  • 보안 정책 및 절차의 구현

6. 물리적 구조

 - 연결 유형
  • Point-to-Point(점대점) : 두 기기간의 전용링크를 제공하는 구조
  • Multipoint(다중점) : 둘 이상의 기기들이 단일 링크를 공유하는 구조로 동시에 링크를 이용한다. 즉, 공동소유자 여러 명이 일정 기간 동안 돌아가면서 이용한다.

 - 물리적 형태(Topology)



  • Mesh
  1. 모든 기기가 점대점 구조로 연결되어 전용 링크를 사용한다.
  2. 두 기기간의 데이터 로드를 보장한다.
  3. 하나의 링크가 고장나도 전체 시스템은 중단하지 않는다.
  4. 보안성과 프라이버시가 보장된다.
  5. 결함 확인과 결함 분리가 쉽다.
  6. 케이블 수와 입출력 포트의 수가 (n(n-1))/2 만큼 요구된다.  ex) 5개의 사용자가 있다면 10개의 링크가 요구된다.



  • Star

  1. 전용링크가 중앙 컨트롤러(Hub)에 배치되며, 기기와 컨트롤러가 점대점 구조로 연결된다. - 중앙방식(Centralized)

  2. Mesh 보다 비용이 저렴하다.

  3. 하나의 링크와 하나의 입출력을 설치하고 변경하기가 쉽다. (단순한 구조이므로 링크 1개만 연결하면 된다.)

  4. 결함 확인과 결함 분리가 쉬우므로 튼튼하다.

  5. 다른 Topology보다 많은 Cabling

  6. 단 하나의 고장이 전체 시스템에 영향을 미친다. (중앙 장비-hub-가 고장난 경우)



  • Tree

Star 구조를 계층적으로 확장한 형태이다.



  • Bus
  1. 다중점 구조로 연결되며 하나의 긴 케이블이 모든 기기를 연결하는 척추 역할을 한다.
  2. 설치가 쉽다.
  3. 하나의 버스 구조가 지원할 수 있는 Tap(기기를 케이블에 연결하는 것)의 수와 길이가 제한된다.
  4. 재연결과 분리가 어렵다.
  5. 링크 공유의 문제로 각 기기가 동시에 데이터를 전송하면 신호가 충돌하는데 MAC(자료접근제어)에 의해 전송 순서가 결정된다.



  • Ring
  1. 각 기기는 점대점 구조로 연결되어 전용 링크를 사용한다.
  2. 설치와 변경이 쉽다.
  3. 기기와 링크간의 신호재생기(Repeater)가 존재한다.
  4. 결함 분리가 단순하다
  5. 단방향 연결, 모든 기기의 수와 최대 Ring의 길이가 제한된다.
  6. 하나가 고장나면 전체 네트워크를 이용할 수 없다. 그래서 해결책으로 이중링크를 사용한다. 
  7. 이중 링크(A Dual Ring) 구조는 데이터의 전송방향은 서로 반대인 링크를 가지는 구조로 두 개 모두 활성화되거나 하나는 백업용으로 사용되기도 한다. 


 7. 네트워크 유형


 - 규모에 따른 분류 (아래로 갈수록 범위가 커진다.)

  • Body Area Network(BAN) : 무선통신방식으로 이용된다.
  • Personal Area Network(PAN) : 블루투스
  • Local Area Network(LAN) : 근거리 통신망
  • Metropolitan Area Network(MAN)
  • Wide Area Network(WAN) : 광역 통신망
  • Internet : 각 네트워크를 연결한 가장 큰 네트워크


 - Local Area Network (LAN)

  • 수 킬로미터까지 제한된 크기를 가진다. (근거리 통신망)
  • PC나 단말기 사이에 네트워크 자원이 공유되어진다.
  • Star, Bus, Ring 구조가 해당된다.

 - Wide Area Network (WAN)
  • 대륙끼리 통신이 가능할 정도로 넓은 범위의 데이터 전송이 가능하다. (광역 통신망)
  • 대게 통신사에 의해 운영되고 통신사를 사용하는 조직에 의해 공유되어진다.
  • 점대점 구조의 WAN과 라우터를 가지고 Switched 구조의 WAN이 있다.
  • Internetwork (or Internet) : 내부적으로 연결된 네트워크들의 집합체이며, Switched 구조에서 최소 두 개의 링크를 하나의 스위치가 연결(LAN)하고 있고 해당 스위치는 라우터와 함께 점대점 구조로 연결(WAN)되어 있다.

 - Switching
  • 네트워크 통신에서는 호스트와 호스트사이에 데이터를 주고 받을 때, 패킷 교환 방식(Packet-Switching)과 회선 교환 방식(Circuit-Switching)이 있다.
  • Packet : 네트워크 계층(Network Layer)에서의 데이터의 형식화된(약속된) 단위
▶ Packet-Switching : 데이터를 패킷단위로 나누어 전달하는 방식


다음 링크로 전송되기 전에 큐에 패킷을 저장한 뒤 전송하는 방식인 Store and Forward을 이용한다.
패킷의 헤더에는 출발지(Source)와 목적지(Destination)의 정보가 있다. 이 정보를 통해 라우팅 알고리즘을 이용하여 경로를 설정하고 중간의 라우터(router)가 표지판역할을 하여 최종목적지까지 안내한다. 패킷의 헤더에는 라우터를 지날 때마다 목적지IP주소가 쌓이게되므로 오버헤드가 커지게 된다. 라우터마다 큐(Queue)가 존재하는데 여기서 다음 라우터로 이동되기 전에 패킷은 대기한다. 그러나 큐는 패킷을 수용할 수 있는 범위가 정해져 있기 때문에 패킷이 쌓이다 큐의 범위를 벗어날 경우 해당 패킷은 손실(Loss)된다.
주로 대용량 전송(Bursty Traffic)일 때 이용하며, 데이터가 한꺼번에 전송되므로 데이터가 활동하는 시간이 짧다고 표현한다. 이러한 패킷 교환 방식은 컴퓨터 통신에서 쓰이는 방식이다.

▶ Circuit-Switching : 하나의 전용 회선을 할당받아 데이터를 주고받는 방식

<보라색 선이 전용 회선이다. >

전용 회선이 할당되려면 통신을 위해  미리 연결(set up)되야한다. 셋업 절차는 수신측에서 송신측까지의 경로에 맞는 대역폭(Band width)을 미리 할당받는 것이다. 그렇게 연결된 회선은 독점되어 사용되므로 다른 데이터가 끼어들 수 없게 된다. 따라서 속도와 성능이 일정하다. 주로 실시간이 중요한 통신(전화)에 사용된다. 회선을 분할하는 방식에는 주파수 분할 다중화 방식(FDM)과 시 분할 다중화 방식(TDM)이 있다.

  •  차이점
* 패킷 교환 방식은 네트워크의 상황에 따라 패킷의 순서가 어긋날 수 있기 때문에 수신측에서 재조합할 필요가 있다. 그러나 회선 교환 방식은 정해진 경로를 따라 데이터가 전송되므로 순서가 어긋날 일이 없다.

* 패킷 교환 방식은 하나의 라우터가 고장나도 전송을 우회할 수 있기 때문에 에러에 강하다. 그러나 회선 교환 방식의 경우 둘 간의 사이에 오류가 생길 경우 데이터 전송이 실패하게 된다.

* 패킷 교환 방식은 라우터에 패킷을 저장해놓는 시간과 전파지연의 시간이 소비되어 전체 전송 시간이 지연된다. 그러나 회선 교환 방식은 미리 연결하는 시간을 제외하고 전파지연의 시간만 소비되므로 보다 빠른 전송속도를 가지게 된다.

* 회선 교환 방식은 패킷 교환 방식에 비해 같은 네트워크 용량에 비해 사용자가 제한된다.
ex) 1Mbps 짜리 링크에 각각의 사용자가 100kbps로 데이터를 전송한다면 패킷교환방식의 경우 10명이상의 유저가 동시에 링크를 사용할 확률이 낮기 때문에 더 많은 이용자도 수용가능할 것이다. 그러나 회선 교환 방식의 경우 각각의 사용자에게 전용회선이 할당되기때문에 어떤 사용자가 데이터를 보내지 않더라도 다른 사용자가 이용할 수 없게 된다. 따라서 딱 10명의 이용자만 수용할 수 있다.


[사진 출처 : http://www.mbaskool.com/business-concepts/it-and-systems/14504-packet-switching.html

http://www.webclasses.net/Courses/demos/MediaLight/Example1/The_OSI_Model/Content16184.htm ]




1. Object-Oriented Programming(객체 지향 프로그래밍)


 - 현실 세계를 모델링하여 소프트웨어도 객체 단위로 개발하는 방법이다.

 - 즉, 자동차도 부품이 있어야 조립되듯이 특정한 기능을 하는 소프트웨어 객체들을 조합하여 자기가 원하는 기능을 구현하는 것을 의미한다.

 - 절차 지향 프로그래밍처럼 데이터보다 함수(문제 해결 절차)에 집중하는 것이 아니라, 데이터와 알고리즘을 함께 고려하여 하나의 객체로 묶어서 하는 방법을 의미한다.


* 자바는 객체 지향 기법을 지원하지만, 절차 지향 기법을 지원하지 않는 것은 아니다. 실제 객체의 내부를 설계할 때 절차 지향 프로그래밍을 이용한다.



2. 객체 지향 프로그래밍의 특징


 - 캡슐화(Encapsulation) : 관련된 데이터와 알고리즘(코드)이 하나로 연관되어 잘 정리되어 있는 것으로 데이터와 알고리즘을 캡슐에 넣어서 포장한다는 것을 의미한다. 자바에서는 이 때 이 캡슐을 클래스라고 부른다.


 - 정보 은닉(Information hiding) : 캡슐화는 내부의 데이터를 캡슐로 보호하는 역할을 한다. 즉, 캡슐화를 통해 데이터를 감추고 외부 세계와의 상호작용은 메소드(함수)를 통해 이루어진다.


 - 상속 : 기존의 코드를 재활용하기 위한 기법으로 이미 작성된 클래스(부모 클래스)를 이어받아서 새로운 클래스(자식 클래스)를 생성하는 기법이다. 즉, 공통적으로 쓰이는 변수나 함수가 있다면, 하나의 클래스로 지정해놓고 세부적으로 변수나 함수를 덧붙여서 그 클래스를 포함하는 새로운 클래스를 작성할 때 사용된다.

예를 들어, Vehicle 이 부모 클래스이고, 나머지 Car, Truck, Bus의 경우 Vehicle의 속성을 물려받은 자식 클래스에 해당한다.


  ┌ Car

ex) Vehicle ─┼ Truck

  └ Bus



 - 다형성 : 객체가 구현한 기능(동작)이 상황에 따라 바뀌는 것을 의미한다. 예를 들어 Animal 클래스에서 speak() 라는 메소드(함수)가 있다면, Animal 클래스를 상속받은 Dog 클래스와 Cat 클래스가 있을 때 speak() 라는 하나의 메소드로 두 가지 동작을 구현할 수 있게 된다.



3. Class(클래스)


 - 객체를 찍어내는 틀 또는 설계도

 - 클래스로부터 만들어지는 각각의 객체를 그 클래스의 인스턴스(instance)라고 한다.

 - 객체를 만드는 과정을 인스턴스화라고한다.

 - 데이터와 알고리즘으로 이루어진다. 

 - 변수(필드)와 함수(메소드 or 생성자)의 기능을 정의한다.

 - 객체는 클래스로부터 new 연산자를 통해 생성되며, new 연산자는 힙(heap) 영역에 객체를 생성시킨 후, 객체의 주소를 리턴한다.

 


4. Object(객체)


 - 클래스를 선언하여 변수와 함수를 상태와 동작으로 구현한 객체를 생성한다.

 - 객체의 상태(state)란 객체의 속성을 의미하고, 객체의 동작(behavior)또는 행동은 객체가 취하는 기능(행위)를 의미한다.

 - 객체 안의 변수를 필드(field)라고 하고, 객체 안의 함수를 메소드(method)라고 부른다. 즉 객체는 필드와 메소드로 이루어져있다.

정리하자면, 필드란 객체의 속성을 나타내고, 메소드란 객체의 동작을 나타낸다.

 - 객체는 힙(heap)이라는 메모리 공간에서 생성된다.

 - 객체의 소멸 : 자바의 실행 환경은 사용이 끝난 객체를 스스로 판별하여 소멸시키고 그 객체가 가지고 있던 자원을 시스템에 반납시킨다. 예시로 객체를 가리키는 참조형 변수가 하나도 사용되지 않거나 소멸되거나 혹은 프로그램에서 의도적으로 null값을 설정했다면, 객체의 사용이 끝났다고 판단할 수 있다.



5. 클래스 선언 시 작성 규칙


 - 하나 이상의 문자로 이루어져야 한다. ex) Car, Sport

 - 첫 번째 글자는 숫자가 올 수 없다. ex) Car, 3Car(X)

 - '$', '_'외의 특수문자는 사용할 수 없다. ex) $Car, _Car, @Car(X)

 - 자바 키워드는 사용할 수 없다. ex) int(X), for(X)



6. 클래스의 구성멤버


 - 필드(Field) : 객체의 고유 데이터, 부품 객체, 상태 정보(속성)을 저장한다. 

  • 선언 형태는 변수(variable)와 비슷하나, 필드를 변수라고 부르진 않는다.
  • 필드는 객체에 소속도니 데이터이므로 객체가 존재하지 않으면 필드도 존재하지 않는다.
  • 변수는 생성자와 메소드 내에서만 사용되고 생성자와 메소드가 실행 종료되면 자동 소멸된다. 그러나 필드는 모든 클래스 내부에서 사용되며, 객체가 소멸되어야 객체와 함께 사라진다.
  • 필드의 선언은 생성자와 메소드 사이나 앞과 뒤에서 존재할 수 있다. 단, 생성자와 메소드 블록 내부에 선언된 것은 필드가 아니라 로컬 변수(local variable)이다.
  • 필드도 변수처럼 자료형(type)이 존재하며, 참조형에는 대표적으로 배열, 클래스, 인터페이스가 올 수 있다.


 - 생성자(Constructor)클래스로부터 new 연산자를 사용하여 객체가 생성될 때 가장 먼저 호출되는 특별한 중괄호 블록(block)이다.

  • 생성자의 역할은 객체 생성 시 초기화를 담당한다.
  • 쉽게 말해서 가장 먼저 실행되는 메소드로 볼 수 있다.
  • 형태는 메소드와 다르다. 생성자의 이름은 무조건 클래스의 이름과 일치해야 하고 리턴타입이 없다.
  • 모든 클래스는 생성자가 반드시 존재하며, 매개변수를 달리하는 생성자 여러 개를 선언할 수 있다. 이것을 생성자 오버로딩이라고 한다.
  • 만약 생성자 선언을 생략하면, 컴파일러는 중괄호 블록 내용이 비어있는 기본 생성자(Default Constructor)를 바이트 코드에 추가한다.


 - 메소드(Method) : 객체의 동작에 해당하는 중괄호 블록(block)이다. 

  • 형태는 C언어의 함수와 비슷하며, 메소드는 호출되면 블록 안의 모든 코드들이 일괄적으로 실행된다. 
  • 메소드의 역할은 객체 간의 데이터 전달의 수단으로 사용된다. 
  • 외부로부터 매개값을 받거나 실행 후 어떤 값을 리턴할 수 있다.
  • 클래스 내부에 매개변수가 다르나 같은 이름의 메소드를 여러 개 선언하는 것을 메소드 오버로딩(overloading)이라고 한다.
  • 메소드 오버로딩의 조건은 매개 변수의 타입, 개수, 순서 중 하나가 달라야 한다. 리턴 타입은 무관하다.



7. 객체의 필드와 메소드 접근


 - 객체의 외부에서 객체에 포함된 멤버(필드와 메소드)를 참조(접근)하려면 도트 연산자(.)를 사용한다.

 - ex) Car 객체의 speed라는 필드를 외부의 객체에서 접근할 때,


class 외부클래스 {

//객체는 참조형 변수로 선언된다. 객체의 주소를 가르키기 때문이다.

Car myCar = new Car(); //객체는 무조건 new 연산자를 통해 생성된다. 대입연산에 관하여 참조형 변수와 기본형 변수는 다르다.


myCar.speed = 100;


}

 - 객체 지향의 개념에서 보면 필드를 외부에서 직접 접근하는 것은 바람직하지 않다. 되도록 객체 내의 필드는 메소드를 통해서 간접적으로 접근하도록 클래스를 설계해야한다.



8. 문자열 객체


 - 문자열은 프로그램에서 많이 자료형으로 문자들의 나열이다. 결론적으로, 자바에서는 문자열을 저장할 수 있는 기본 자료형이 없다. 즉, 문자열은 객체로 취급된다.

 - 문자열은 String 클래스를 이용하여 객체로 생성된다.

 아래의 문장은 "Hello World!" 라는 문자열을 가진 String 클래스의 객체를 생성한 것이다. 이 때, s는 생성된 객체의 주소를 가리키는 참조형 변수이다.


String s = new String("Hello World!); //선언과 동시에 초기화


 - 문자열은 자주 사용되므로 new 연산자를 사용하지 않고 문자열 상수로 표기해도 자동적으로 객체가 생성된다.


String s = "Hello World!";


 - 객체의 메소드 호출 : 도트 연산자(.)를 사용한다.


String s = new String("Hello World!");

int size = s.length(); // 여기서 length()는 String클래스에서 제공하는 메소드이다.


 - 참조 변수끼리의 대입 연산


String s1 = "I am very strong";

String s2 = "You are good boy";


s2 = s1; //객체의 번지를 대입.


여기서 s1과 s2가 가리키고 있던 객체는 서로 다르다. 그러나 아래의 s2에 s1이 가리키는 객체의 번지를 대입하면서 s1과 s2는 같은 String 객체를 가리킨다. 



9. Garbage Collection(쓰레기 수집)


 - 자바 실행 환경이 해당 객체가 더 이상 사용되지 않는 다고 판단되면 소멸시키는 기능

 - stop-the-world : 쓰레기 수집(이하 GC)를 실행하기 위해 자바 가상 기계가 애플리케이션 실행을 멈추는 기능이다. 

stop-the-world가 발생하면 GC를 실행하는 쓰레드를 제외한 나머지 쓰레드는 작업을 모두 중단한다. 그리고 GC작업이 종료된 후에 나머지 쓰레드가 작업을 다시 시작한다.(여기서 쓰레드는 프로그램의 실행흐름을 의미한다.) 어떤 경우라도 이 기능은 무조건 발생한다. 자바에서는 소스 코드에서 메모리를 확실하게 지정하거나 해제하지 않는다. 간혹 명시적으로 해제하는 방법은 해당 객체를 null로 지정하거나 System.gc()메소드를 호출하는 방법이 있으나, 후자의 경우 시스템의 성능에 영향을 크게 주기 때문에 되도록 사용하지 않는 것을 추천한다. 아무튼 자바에서는 개발자가 메모리를 확실히 해제하지 않기 때문에 쓰레기 수집 기능이 객체를 판별하여 소멸시키는 작업을 하는 것이다.






[자료 구조의 형태에 따른 분류]


1. 단순 구조 : 기본자료형에 해당


2. 선형 구조 : 자료간의 관계가 1:1로 고정되어 있는 구조 

 - 리스트(순차 리스트)는 자료의 논리적인 순서와 기억장소에 저장되는 물리적인 순서가 일치하는 구조이다.

 - 연결 리스트는 물리적인 순서에 상관없이 저장되어 있는 주소를 사용하여 논리적인 순서를 갖는 구조이다.

 - 스택, 큐, 덱은 자료의 삽입 및 삭제 위치에 대하여 제한적인 조건을 가지는 구조이다.


3. 비선형 구조 : 자료간의 선형구조가 아닌 계층(Hierarchical) 구조나 망(Network) 구조를 갖는다.


4. 파일 구조 : 서로 관련 있는 필드들로 구성된 레코드의 집합인 파일에 관한 것으로 보조기억장치에 데이터가 직접 기록된다.



컴퓨터에서 전체적인 부분보다 간략하게 중요한 부품들 위주로 집고 넘어갈게요

다음에는 이 부품들을 주제로 깊이 있게 다루겠습니다.



 CPU(Central Processing Unit) : 중앙 처리 장치 

 

- 컴퓨터의 뇌이자 연산 작업을 담당하는 부품


- 작동 방식 : 컴퓨터에서 처리되는 대부분의 작업은 HDD에 있는 데이터를 기반으로 이루어지는데, 이 데이터를 CPU가 연산하여 출력장치(프린터, 모니터)로 보내는 방식이다.


실질적으로 HDD가 CPU보다 속도가 느리기 때문에 CPU가 아무리 고성능이더라도 HDD의 데이터 전송 속도가 정~말 느리면 컴퓨터를 계산기로 여겨야 한다. 참고로 이 부분의 문제를 해결하고자 SSD를 사용하는데 속도측면에서 성능저하문제를 해결하는 것이지 근본적인 해결책을 제공하는 것은 아니다. (CPU가 워낙 빠르기 때문이다.)



 HDD (Hard Disk Drive) : 보조기억장치


- 각종 데이터를 보관하는 작업을 수행한다.


- 속도가 CPU나 RAM에 비해 느린 편이지만, 비휘발성이므로 데이터를 한 번 저장하면 전원을 꺼도 보존된다.


- 종류

  • SSD (Solid State Drive) : 고속 보조기억장치
  • CD, DVD, 플로피디스크 등 다양한 종류가 있다.



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


- HDD보다 속도가 빨라 CPU를 보조하는 데이터 처리 장치이다.


- 원리 : CPU와 HDD의 속도 차이로 인해 발생하는 병목현상을 막기 위해 HDD에 있는 데이터를 일정량 가져와(복사하여) 임시로 저장한 후에 필요할 때마다 CPU에 빠르게 전달하는 역할을 한다. 그러므로 전반적인 작업에서 HDD는 사용하지 않고 CPU와 RAM사이에서 작업이 처리된다. 단, 휘발성이므로 전원이 꺼지면 데이터가 지워진다. 


* 병목현상 : 시스템의 자원 중에 하나의 시스템 프로그램을 집중적으로 사용했을 때 전체 시스템이 영향을 받아 시스템의 효율을 저하시키는 현상 즉, 전체 시스템이 마비된다.

ex) 주로 메모리(RAM)에 많은 양의 요청이 들어올 경우 발생한다.


예를 들면, 프로그램을 처음 실행할 때 화면이 정지하거나 '로딩 중'이라는 문구를 본다면 HDD에서 RAM으로 데어터가 전송 중이라는 의미로 받아들이면 된다. 이 때, 램의 용량이 작거나 속도가 느린 경우에는 로딩 시간이 길어지거나 실행이 안 될 수도 있다. 또한 로딩이 끝나더라도 RAM이 작업을 처리하면서 간간이 HDD로부터 데이터를 읽어오기 때문에 작업 속도가 저하된다. 즉, 저용량의 램에서 고사양 게임을 돌리면 HDD로부터 가져와야하는 데이터가 많기 때문에 램용량으로 해결할 수 없게되어 CPU가 직접 움직이는 스와핑(Swapping) 또는 페이징(Paging)이 발생하게 된다. 따라서 로딩자체가 안될 수도 있고, 다른 작업을 하는 도중에 화면이 느려지거나 멈추는 현상이 발생한다.


사실상, 단순히 데이터를 보관하는 HDD보다 RAM이 컴퓨터의 성능에 미치는 영향이 전반적으로 크다고 볼 수 있다. 참고로 데스크탑용과 노트북용 램 모듈은 크기가 다르다. (데스크탑용이 더 큼)






+ Recent posts