나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2024-11-03 17:15:59

스와핑(동음이의어)

1. 개요2. 성적 의미의 스와핑3. 스왑4. 채팔이 작가의 소설5. 소설 원작 웹툰6. 게임에서의 스와핑7. 컴퓨터 자원 확보 기법8. 컴퓨터 모듈 교체(추가/제거) 방식

1. 개요

스와핑(Swapping)은 우리말로 교환이라고 한다.
다만, 비영미권인 우리나라나 일본에서는 이 단어를 들으면 다른 성적 의미로 변질되어 받아들이는 경우가 많다.[2]

2. 성적 의미의 스와핑

파일:상세 내용 아이콘.svg   자세한 내용은 스와핑 문서
번 문단을
부분을
참고하십시오.

3. 스왑

파일:상세 내용 아이콘.svg   자세한 내용은 스왑 문서
번 문단을
부분을
참고하십시오.

4. 채팔이 작가의 소설

파일:상세 내용 아이콘.svg   자세한 내용은 스와핑(소설) 문서
번 문단을
부분을
참고하십시오.

5. 소설 원작 웹툰

파일:상세 내용 아이콘.svg   자세한 내용은 스와핑(웹툰) 문서
번 문단을
부분을
참고하십시오.

6. 게임에서의 스와핑

어원은 스와핑의 우리말 뜻인 교환. 주로 줄여서 스왑이라고 많이 부른다.
테란은 건물에 달 수 있는 부속 건물은 기술실, 반응로의 두 종류가 있는데, 기술실은 본 건물에서 고급 유닛을 뽑게 해 주고 추가적인 업그레이드를 하게 해 주는 기능을 가지고 반응로는 기본 유닛만을 한 번에 두 기씩 생산하게 하는 기능을 가진다.

일단 종류만 맞으면 부속 건물을 다른 본 건물과 연결할 수 있는 테란의 특성을 활용한 것으로, 전작에서는 건물마다 연결할 수 있는 부속 건물이 달랐지만 본작에서는 모든 부속 건물이 호환되기 때문에 미리 지어놓는 방법이 가능해졌다. 예를 들면 병영에 기술실을 지어 놓고 군수공장이 만들어지면 병영을 다른 곳으로 치우고(이제 이 병영은 기술실이나 반응로를 다시 지을 수 있게 된다) 남은 기술실 옆에 공장을 놓으면 공장이 그 기술실을 쓸 수 있다.

주로 빠른 밴시 테크에도 쓰이고[3], 상황에 따라 엄청나게 다방면에 많이 쓰인다.

7. 컴퓨터 자원 확보 기법

컴퓨터 내부에 있는 다양한 저장 장치들을 적절하게 사용하여 주 메모리를 확보하는 기술이다. 흔히 가상 메모리 또는 스왑이라고 부른다.

현대 컴퓨터의 메모리 관리는 TLB에 의해서 메모리 맵핑을 진행하고 메모리 영역은 논리 메모리 영역에서 몇단계의 가상화를 통해 분리된 공간을 가지게 되는데, 저 레벨에서 메모리의 물리 공간은 한정되어 있어 다른 바이너리를 올리려면 일부는 내려야 하는 문제가 생긴다. 이 때 스왑을 통해 메모리 영역을 좀 더 확보하는 것이다. 여기에는 다음과 같은 조건이 붙는다.

1) 보조 저장 장치는 주 저장 장치보다 크다.
2) 보조 저장 장치는 주 저장 장치보다 느리다.
3) 메모리는 가상의 논리 영역에서 분할되어야 한다.

작동 시퀀스.

시스템에서 자원이 얼마 안 남았을 때 OS는 메모리에서 안 쓰는 부분들(블럭)을 검색하고, 필요하지 않은 메모리 블럭들을 보조 저장 장치의 swap 영역으로 보내 버린다. 이후, 메모리 맵핑 리스트에서 해당 메모리 블럭들은 주 메모리에 없다는 bool 값을 세워 낸다. 이후, 다음 작업에 필요한 바이너리를 불러와 작업을 계속 진행한다.

작업 도중 쓰레드가 어떤 논리 메모리 주소를 참조하려고 하는데 그 메모리 주소를 따라가 보니[12] 맵핑 리스트에서 주 메모리에 없다는 값을 확인하면 OS 는 일단 그 쓰레드를 동결처리한다.

이후 해당 메모리 블럭을 swap 영역에서 검색하고 swap에 있던 데이터를 메모리에 다시 올린다. 이후 동결된 쓰레드를 해동하면 쓰레드는 아무 일 없었다는듯 계속 작동한다.

swap을 사용하는 경우 전체적인 시스템 성능이 좀 저하된다. 보조메모리는 주 메모리보다 느려서 병목현상이 발생하며 설령 주메모리와 보조메모리의 속력이 같아도 메모리 리스트에서 계속해서 대조하여 실제 메모리 위치로 맵핑하기 때문에, 맵핑에 걸리는 시간이 전체적인 오버헤드를 점유하기 때문이다. 대신 필요한 경우 소프트웨어를 유연하게 사용(…이라기보단 억지로라도 구동 가능.)할 수 있다는 것이 장점일 것이다.

이 때문에 주메모리(DDR 1 ~ 3)와 보조메모리(HDD, eMMC)의 속력차이가 심각하게 나던 시절에는 시스템 성능 저하가 심각해서 가상 메모리스왑 기능을 사용하지 않는 방법이 유행하기도 했다. 그러나 최근 보조메모리의 속력이 비약적으로 발전해서(NVMe, UPS)와 주 메모리의 병목 현상이 많이 나아진 현재에는 스와핑 기능을 적극적으로 활용하고 있다.

현대 OS는 모두 swap을 지원하며, UNIX 계열에서는 swap 파티션, 혹은 swap 드라이브를 잡아 cache로 사용할 수 있으며, 윈도우 계열에선 페이징 파일을 생성하는 식으로 사용하거나 USB 드라이브를 Readyboost를 통해 swap으로 사용하게 된다. 안드로이드 단말기도 LINUX 계열이므로 스왑을 할 수 있다.

8. 컴퓨터 모듈 교체(추가/제거) 방식

위의 메모리 스와핑과는 다른 의미로, 컴퓨터 시스템을 구성하는 모듈(보조기억장치, 주변장치 등)을 시스템에 추가하거나 제거하는 방식의 분류다.
핫 스와핑(hot swapping)은 시스템이 가동되고 있는 상태에서 모듈을 추가/제거하는 것이다.
그 반대 개념은 콜드 스와핑(cold swapping)으로, 해당 모듈이나 전체 시스템을 작동 중지(대개 전원 차단)한 상태에서 모듈을 추가/제거하는 것이다.
당연히 핫 스와핑이 더 편리하지만 그것이 가능하도록 모듈과 시스템을 설계해야 하며 운영체제에서 핫 스와핑을 지원해야 한다. 21세기 운영체제들은 거의 전부 핫 스와핑을 지원한다.
과거에는 USB 포트도 핫 스와핑이 안 되어, 컴퓨터에게 제거(eject) 명령을 내려 그 장비의 전원을 차단한 후에 제거해야 했다. 물론 그걸 모르고 그냥 손으로 잡아빼는 경우도 많았고 운이 좋으면 그래도 별 탈 없었지만, 운 나쁘면 저장된 데이터가 날아가거나 장비가 손상될 수도 있었다.

[1] 이명박 정권 중기에 벌어진 세계 경제 위기로 인해 환율이 급등세를 보이자 이를 해결하기 위해 추진된 '한미 스와프'가 화제에 오르기도 했다. 일반적으로는 국제통화기금을 비롯한 국제/지역 금융기구에서 차관을 받는 것도 이에 해당된다.[2] FPS에서 쓰이는 테크닉은 우리나라에선 보통 스왑이라고 부른다.[3] 밴시 생산에 필요한 기술실을 군수공장이나 병영에서 미리 건설해 두고 우주공항이 완성되자마자 바로 서로 자리를 바꿔서 테크를 25초 가량 단축시킬 수 있다.[4] 들고 있던 무기를 버리고 다른 무기를 줍는 의미가 아니라 이미 들고 있는 무기를 자신이 가진 다른 무기로 바꾼다는 의미이다. 예를 들자면 주무기인 돌격 소총에서 보조 무기인 권총으로 바꾸는 식. 일반적으로 스나이퍼, 특히 볼트액션식 스나이퍼 라이플에서 종종 보이는데 한발 쏘고 재장전 하는 시간보다 쏘고-스왑-재스왑하는 시간이 오히려 짧은 경우가 많아 자주 쓰인다. 일종의 모션캔슬로 익숙해지면 볼트액션식이 반자동 스나로 변신하는 연사력을 보여준다.[5] 주로 교체하는 아이템의 추가 효과를 이용하기위해 사용된다.(스킬 레벨 증가나 능력치 증가 등등)[6] 대표적으로 로밍에 특화된 캐릭터들. 이런 캐릭터들은 보편적으로 중간 라인에 서고, 뛰어난 기동성과 강력한 CC를 바탕으로 전라인에 개입하여 이득을 확실히 굴리는데 뛰어난 능력을 보인다. 허나 이들을 스왑하여 가장자리 라인에 새울 경우 끽해야 중간 라인 정도 밖에 개입할 수가 없어 운영이 꼬이게 된다.

파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는
문서의 r200
, 번 문단
에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r200 (이전 역사)
문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)