동기화

시스템을 동시에 작동시키기 위해 여러 사건들을 조화시키는 것

동기화(同期化, synchronization)는 시스템을 동시에 작동시키기 위해 여러 사건들을 조화시키는 것을 의미한다.

전기통신 편집

전기통신 분야에서 데이터를 원활히 송수신하기 위해 필요하다. 데이터를 보내는 방식과 속도에 따라 필요한 요소가 다르므로 설계자가 방식을 결정하고 규약을 만든다. 원거리 뿐만 아니라 컴퓨터나 통신 시스템 내에서 가까운 거리에서도 사용한다.

어떤 시스템들은 정확히 동기화될 수 있으며, 혹은 동기에 가까운 상태로 만들 수 있다(독립동기)

오늘날, 동기화는 GPS 기반 시간측정체계 덕분에 지구단위로 이루어질 수 있다.

컴퓨터 과학 편집

컴퓨터 시스템(기능적 모듈간의 통신, 메모리와 CPU간의 데이터 전송), 네트워크, GPS 등의 많은 부분에서 사용한다. 우선 동기화 목적이 규정되면 시스템 설계자가 어떤 방법으로 동기화 할 것인지를 결정한다. 수단은 하드웨어소프트웨어로 처리할 수 있다.

동기화는 동시의 데이터베이스상의 데이터 일치를 의미하기도 한다. 예를 들어, 은행 서버에 접속하는 클라이언트를 생각해 보자. 클라이언트의 계좌에는 10만원이 있다. 클라이언트가 자신의 계좌에서 10만원을 인출하는 거래를 실행한다고 할 때, 클라이언트와 서버가 데이터가 일치하지 않는다면 서버의 기록에는 방금 전 클라이언트의 인출 정보가 없을 것이다. 따라서 클라이언트는 10만원을 한 번 더 인출할 수도 있을 것이다. 그렇게 되면 클라이언트는 10만원의 정보로 20만원을 인출하게 되는 것이므로 일종의 오류라 볼 수 있겠다. 이런 일이 없기 위해서는 클라이언트와 서버는 항상 데이터가 일치해야 하고, 이 데이터 일치화를 '동기화'라고 한다. 좀 더 쉬운 예로는 애플아이튠즈를 들 수 있다. 아이튠즈와 기기간의 동기화는 기본적으로 아이튠즈의 데이터가 기준이다. 무슨 말인가 하면, 기기에 10곡의 음악파일이 있고 아이튠즈에는 음악파일이 없을 때 동기화를 하게 되면 기기의 데이터가 아이튠즈의 데이터를 따라가기 때문에 기기에 있던 10곡의 음악파일은 사라지게 된다.

같이 보기 편집