Saturday, April 30, 2011

AppleScript 실행시 Can't make some data into the expected data type

질문 : AppleScript 실행시 Can't make some data into the expected data type 가 생기는데 해결법은?
답 : 말 그대로 타입 에러이며 발생 이유는 보통, repeat 문에서 다루는 데이터가 예상치 못한 타입일 경우이다. 타입이 안맞는 경우 처리할 필요가 없다면 repeat 문 안쪽을 try block 으로 감싸주면 된다.
예 : 예를 들면 다음과 같은 코드에서 종종 생기는데
repeat with this_item in theSelected
set filepath to FinderUtil's myFinderGetSelectedItemsFilepath(this_item)
set end of filepaths to filepath
end repeat
이는 다음과 같이 try 를 이용하면 해결된다
repeat with this_item in theSelected
try
set filepath to FinderUtil's myFinderGetSelectedItemsFilepath(this_item)
set end of filepaths to filepath
end try
end repeat

Monday, April 25, 2011

윈도우 7 시작 프로그램 제거법

질문 : 켤때마다 자동 실행되는 짜증나는 프로그램들 실행 안되게 하는 법?
답 : 제어판 > 관리도구 > 시스템 구성 으로 가서 시작 프로그램 탭 들어가서 체크 끄면 됨
레퍼런스 : [windows 7] 시작프로그램 제어

Friday, April 22, 2011

iTunes 의 consolidate library 의 기능

질문 : iTunes 의 consolidate library 의 기능은?
답 : If you use "consolidate library", that will copy all song files (based on where iTunes knows them to be currently located) to wherever you've specified the iTunes Library folder.
레퍼런스 : What actions take place when itunes "consolidate library" is used?

Wednesday, April 20, 2011

외장하드를 꽂아 Spotlight 이 느려질 경우의 해결법

질문 : 외장하드를 꽂으면 Spotlight 이 느려지는데 해결법은?
답 : 외장하드의 indexing 을 꺼주면 된다. 터미널에서
sudo mdutil -i off /Volumes/nameOfDrive
해줌
인용 :
I would like to tell Spotlight not to examine my external volumes, as they contain backups of what's on my internal volumes. It makes Spotlight a bit slower when they are powered on.
Another way to turn off Spotlight for the drive is to use the command line:
sudo mdutil -i off /Volumes/nameOfDrive
레퍼런스 : http://forums.macnn.com/90/mac-os-x/279070/disable-spotlight-for-external-drives/

맥 OS X 에서 외장하드 포맷방법

질문 : Mac OS X 에서 external hard drive 를 format 하는 방법?
답 :
  1. Disk Utility 실행
  2. 좌측에서 포맷하고자 하는 디스크 선택
  3. Erase 탭 들어감
  4. 좌측에서 포맷하고자 하는 드라이브를 선택
  5. Format 을 Mac OS Extended (Journaled) 로 함
  6. Erase... 버튼 누르면 됨
키워드 : disk
참고 링크 : 하드디스크를 맥 포맷으로 포맷하는 방법

Monday, April 18, 2011

Mac OS X 에서 read/write permission recursive 하게 바꾸기

질문 : How to recursively change sharing/permission of a folder in Mac OS X
답 : 터미널에서 다음 실행:
chmod -R +rwX foldername
요약 : 폴더에는 execute permission 넣어줘야 함
설명 : 보통의 파일에는 execute 퍼미션이 무의미하므로 smart execute 위해 대문자 X 씀
레퍼런스 : How to recursively change sharing/permission of a folder in Mac OS X

Saturday, April 16, 2011

FireFox 에서 google 검색시 영문 구글만 쓰게 하는 법

질문 : FireFox 에서 google 검색시 한국어 구글 안뜨게 하는 법
답 :
다음 링크로 가서 Add to FireFox 버튼만 누르면 됨
https://addons.mozilla.org/en-US/firefox/addon/always-com-googlecom-in-englis/
설명 :
always ".com" - Google.com (in English) by portuguesemike
Tired of being redirected to a local Google site when you specifically want Google.com?
Use "Google dot com", not "dot something else". Use Google.com, in English, without being redirected to a country-specific Google site when you're not in the US.
이 Add-on 을 깔면 간단함

pdf 파일 양쪽 페이지 펼쳐 볼때 좌우페이지 어긋나지 않게 하는 법

질문 : Acrobat 에서 View > Page Display > Two Up 으로 양페이지 모드로 볼 때 좌우페이지가 어긋날 경우 어떻게 하면 되나?
답 : View > Page Display > Show Gaps Between Pages 를 변경해본다

Thursday, April 14, 2011

Mac OS X 에서 실행 로그 보는 법

질문 : OS에서 무슨 일을 했는지, 무슨 에러가 발생했는지 등을 보는 방법
: Applications > Utilities > Console.app 을 실행.
Clear Display 하고 특정 어플리케이션을 새로 실행하거나 해 보자.
OS 에서 하는 작업들이 다 표시될 것이다
키워드 : log, error

Movist 에서 동영상이 좀 흐리게 보이는 경우

질문 : 같은 동영상이 Quicktime 에서보다 무비스트에서 흐리게 나오는 경우가 있는데 어떻게 하면 되나
답 : Movie > Aspect Ratio > Source(SAR) 를 해보자

Sunday, April 10, 2011

Sidebar 에서 드래그해도 아이템(폴더나 파일)이 제거 안되는 이유

질문 : 언제부터인지 Sidebar 에서 드래그해도 아이템(폴더나 파일)이 제거 안되는데 해결법은?
답 : command key 누르고 드래그하면 된다. OS X 버전 10.6.7 부터 아이템 제거를 하려면 command 를 눌러야 하도록 바뀌었다 (OS 를 자동 업데이트했으면 그렇게 되어 있을 것이다). 이는 실수로 제거하지 않게 하기 위함이다.
레퍼런스 : Can't delete folders from 'Sidebar'

Saturday, April 9, 2011

Facebook 의 data center 에 쓰이는 서버 스펙

Facebook 의 data center 에 쓰이는 서버 스펙
http://opencompute.org/servers/
키워드 : 페이스북, 데이터 센터, 주커버그, 데이터센터 구축 기술 전면 공개, server, specification
레퍼런스 : 페이스북 데이터센터 구축 기술 전면 공개 (뉴데일리 기사)

맥의 F1, F2 등 function 키의 기능을 Fn 키 없이 쓰게 하는 법

질문 : 맥의 F1, F2 등 function 키의 기능을 Fn 키 없이 쓰게 하는 법은?
답 : Preference 에서 Keyboard 로 들어간 후
Keyboard 탭 선택한 후 거기서
Use all F1, F2, etc. keys as standard function keys
를 체크해둔다.
부연 : 이렇게 했을때, F1, F2.. 키의 special function 은 Fn 을 누르고 쓰면 된다.
키워드 : Mac OS X, special features

Friday, April 8, 2011

레이드(RAID)

하드디스크도 합체한다 - 레이드(RAID) 디스크 구성의 이해
나도 한번 써보자, 레이드 디스크 구성
키워드 : HDD, hard disk

[IT동아 연재] 컴퓨터 네트워크의 기초

컴퓨터 네트워크의 기초 3부 - 네트워크 프로토콜
컴퓨터 네트워크의 기초 4부 - 네트워크 장비

그래픽카드 관련 정리

그래픽카드 장착 슬롯 이해하기
  1. 그래픽카드 장착 슬롯 이해하기
  2. 근근이 버티고 있는 AGP, 하지만…
  3. 시대의 흐름, PCI-Express
nVidia GeForce
다음과 같이 이어져 옴
  • 지포스 FX5000시리즈 - 2002년
  • 지포스 6000시리즈 - 2004년
  • 지포스 7000시리즈 - 2005년
  • 지포스 8000시리즈 - 2007년
  • 지포스 9000시리즈 - 2008년 초반
  • 지포스 200시리즈 - 2008년 후반 
  • 지포스 300시리즈 - 노트북용으로 소량생산되고 나오지 않음
  • 지포스 400시리즈 - 2010년
제일 첫단위는 세대를, 두번째 단위는 등급을 나타냄
예를 들어  지포스 9600GS 에서 9는 세대를, 6은 등급을 나타냄
  • 지포스 ~100, ~200시리즈 – 초저가형. 메인보드 내장 그래픽으로 주로 사용
  • 지포스 ~300, ~400시리즈 – 저가형. low-end
  • 지포스 ~500, ~600시리즈 – 중급형. mainstream
  • 지포스 ~800, ~900시리즈 – 고급형. high-end
예를 들어 8800GT는 8세대의 고급형, 9600GS는 9세대의 중급형인 셈이다.
또한 지포스 9300 은 세대는 높지만 저가형임을 알 수 있다.

그리고 맨 뒤에 붙는 알파벳은 같은 시대의 같은 등급끼리의 성능지표이다.
  • SE, LE - 하급제품
  • GS, 표기 없음 - 중급제품
  • GT, GTS - 상급제품
  • GTX, Ultra - 최상급 제품
즉 번호가 같다면 7800GS보다 7800GT가, 7800GT보다 7800GTX가 좋다. 이는 같은 등급 내의 미세한  성능 차이로, 성능지표가 높아도 상위 등급을 능가하진 못한다.

다만 신형인 지포스 200과 400시리즈부터는 성능지표가 맨 앞에 들어간다.
예) 지포스 GTX280 
ATi (AMD)

Intel Core 의 Processor numbers 읽는 법

질문 : 인텔 코어 프로세서의 번호 읽는 법?
답 : 프로세서 번호 형식은 다음과 같다.
Core i7-2600K
2 : 2세대(샌디브릿지)
K : Unlocked (오버클럭 가능)
S : Performance optimized lifestyle (저전력 모델)
T : Power optimized lifestyle (초저전력 모델)

인텔 홈페이지에 무척 잘 나와 있음.
Learn about Intel® Core™ Processor Numbers (한국어버전)

레퍼런스 :
Home›Products›Processors›Processor Numbers›Intel® Core™ Processors›Learn about Intel® Core™ Processor Numbers
http://www.intel.com/products/processor_number/kor/about/core.htm
https://it.donga.com/openstudy/5291/
List of Intel Core i5 microprocessors

키워드 : 제품코드, 부여 방식

Intel CPU 한눈에 보기 (Part 2)

6, 7, 8, 9, 10세대 마이크로아키텍처
여기서는 8세대인 Core 마이크로아키텍처 (i886),
9세대인 Nehalem 마이크로아키텍처 (i986) 프로세서,
10세대인 Sandy Bridge 마이크로아키텍처 (i1086) 프로세서를 살펴보자.
(886, 986, 1086 은 그냥 486, 586 처럼 역사적 맥락을 이해하기 위해
쓴 것일 뿐 공식적인 명칭은 아니다)

8세대 마이크로아키텍처인 Core 는 6세대 마이크로아키텍처인 P6 의
최종형태 'Yonah (코드네임. 펜티엄 M에 적용)' 의 후손이므로,
이해를 위해서는 6세대까지 거슬러올라가 봐야 한다.

코드네임
8세대 이후의 프로세서를 이해하려면 콘로, 켄츠필드, 울프데일, 요크필드 등
코드네임을 아는 것이 중요하다. 이들 코드네임은 코어의 갯수와 집적도의 차이로
분류한 것으로, PC 구매를 하려 해도 이들 코드네임은 알아야 한다.

위키에서 Core (microarchitecture) 를 찾아보면
P6, Netburst, Core, Nehalem, Sandy Bridge 마이크로아키텍처의 발달
과정이 map 으로 나와 있다. 이걸 보면 6세대 이후의 인텔 프로세서의
발달 과정과 각각의 코드명을 쉽게 감 잡을 수 있다.

대체로 ~dale 로 끝나는 것은 듀얼코어, ~field 로 끝나는 것은 쿼드코어인 경향이 있다.

6세대부터 10세대까지 정리
다음은 세대별 정리이다.
(공정(나노미터) : 코드네임 : 프로세서 이름)

6세대 - P6 마이크로아키텍처 (1995년~)
500 nm ~ 350 nm : Pentium Pro (1995년~)
350 nm : Klamath : Pentium II (1997년~)
250 nm : Deschutes : Pentium II (1998년~)
250 nm : Katmai : Pentium III (1999년~)
180 nm : Coppermine : Pentium III (2000년~)
130 nm : Tualatin : Pentium III (2000년~)
130 nm : Banias
90 nm : Dothan
65 nm : Yonah : Pentium M (2003년~).... 8세대 마이크로아키텍처의 시조

7세대 싱글코어 - NetBurst 마이크로아키텍처 : 펜티엄4 계열 (2001년~)
180 nm : Willamette : Pentium 4 Willamette (2000년 11월~)
130 nm : Northwood : Pentium 4 Northwood (2002년~)
90 nm : Prescott : Pentium 4 Prescott (2004년 2월~)
65 nm : Cedar Mill : Pentium 4 Cedar Mill (2006년 1월~)

7세대 듀얼코어 - NetBurst 마이크로아키텍처 : 펜티엄 D 계열 (2005년~)
90 nm : Smithfield : Pentium D Smithfield (2005년~)
65 nm : Presler : Pentium D Presler .... 넷버스트는 이걸로 대가 끊김

8세대 초반 - Core 마이크로아키텍처 Conroe 계열 (2006년~)
65 nm : Conroe : Core2 Duo Conroe (2006년~)
65 nm : Kentsfield : Core2 Quad Kentsfield (2006년 11월~)
→ 이 시기 Allendale 이라는 코드명이 등장하는데 이것은 저성능의 보급형으로 만든 것이다.
이를테면 Core2 Duo Allendale 은 Core2 Duo Conroe 의 가격을 낮춘 보급형 제품이다.

8세대 후반 - Core 마이크로아키텍처 Penryn 계열
45 nm : Wolfdale : Core2 Duo Wolfdale
45 nm : Yorkfield : Core2 Quad Yorkfield

9세대 초반 - Nehalem 마이크로아키텍처 (2008년~)
45 nm : Bloomfield : Core i7 Bloomfield (2008년 11월~)
45 nm : Lynnfield : Core i7 Lynnfield, Core i5 Lynnfield (2009년 9월~)

9세대 후반 - Nehalem 마이크로아키텍처 Westmere 계열 (2010년~)
32 nm : Clarkdale : Core i5 Clarkdale, Core i3 Clarkdale, Pentium Clarkdale, Celeron Clarkdale (2010년~)
32 nm : Gulftown : Core i7 Gulftown (2010년~)
Arrandale 이라는 코드명은 Clarkdale 을 베이스로 한 모바일 프로세서 계열을 말함.
(Arrandale is the code name for a mobile Intel processor, sold as mobile Intel Core i3, i5 and i7 as well as Celeron and Pentium.[출처])

10세대 - Sandy Bridge
Sandy Bridge 는 Nehalem 의 후속 마이크로아키텍처로,
이 글을 쓰는 시점(2011년 4월) 최근 나온 것이다.
Sandy Bridge 마이크로아키텍처에 기반한 프로세서들은 공식 명칭으로
2세대 인텔 코어(2nd generation Intel® Core™ processor)라고 부른다.

그러면 1세대 인텔 코어는 무엇인가? 라고 할 수 있는데
Intel® Core™ processor family 라는 것이
  • i886(Core 마이크로아키텍처. Intel® Core™2 프로세서들)
  • i986(Nehalem 마이크로아키텍처. Intel® Core™i7-940 등)
  • i1086(Sandy Bridge 마이크로아키텍처. Intel® Core™i7-2600 등)
세가지를 통칭하는 것인데, i886 은 보통 Intel® Core™2 Duo E8500 처럼 명명하여
i3, i5, i7 처럼 명명하는 시기와는 구별되므로 i3, i5, i7 명명 방식이 시작된
i986이 1세대라고 말할 수 있겠다.

http://funnylog.kr/221
현시점에서 샌디브릿지는 위키피디아에서도 아직 정리가 안되어 있는 곳이 있다(링크)

프로세서 번호 형식은, 기존의 Core i 는
Intel Core i5 760
와 같이 해줬는데 (Intel Core i5 760 를 Intel Core i 760 이라고
쓰는 경우도 종종 있는데 옳은 표기는 아닌듯)

Sandy Bridge 는 맨 뒤 숫자가 2세대라는 의미로, 2로 시작한다.
Intel Core i7 2600K
Intel Core i5 2500
맨 뒤에 K 가 붙은 것은 클럭배수가 잠기지 않아서 오버클럭이 가능하다는 뜻이다.

자세한건 Intel Core 의 Processor numbers 읽는 법 참고

기존의 린필드는 LGA-1156, 네할렘은 LGA-1366이 쓰였는데
샌디브릿지는 이들과 다른 LGA-1155 가 사용된다.
칩셋도 달라져서 기존 보드와 호환은 안된다.

설명
7세대(i786) CPU 들은 크게 펜티엄4 와 펜티엄D 로 나눌 수 있다.
펜티엄 4 는 Single-Core, 32bit(나중에 64비트 명령어 세트가
추가되었지만 기본적으로 32비트) 프로세서이고
펜티엄 D 는 Dual-Core, 64bit 프로세서이다.

8세대(i886) CPU 들은 크게 Conroe 계열과 Penryn 계열로 나눌 수 있다.
Conroe 계열은 65nm 공정으로 만들어진 초기형 코어2 듀오 및 코어2 쿼드를 말하고
Penryn 계열은 45nm 공정으로 만들어진 후속작을 말한다.
8세대의 의미는 진정한 듀얼코어의 시대가 열렸다는 데 있다.
다만 이 시기의 윈도우는 32비트와 64비트의 과도기라 소프트웨어 호환성에
문제가 생기는 경우도 많았고 Vista 가 외면받아 죽쑤던 시절이기도 했다.

9세대(i986) CPU 들은 Nehalem 마이크로아키텍처를 사용했으며
이걸 이용한 프로세서들이 Core i 시리즈이다. 이 시기에 윈도우7이 나와
보다 안정적으로 64비트 환경에서의 작업이 가능해졌다.
원래의 Nehalem 마이크로아키텍처에 약간의 개량을 한 것을
Westmere 라는 코드네임으로 부른다 (이것도 Nehalem 계열)

9세대부터는 명명 방식이 쉬워졌다.
코어 i3, i5, i7 제품군은 코어 뒤에 붙는 숫자가 클수록 좋은 제품이며
같은 제품군에서도 숫자가 클수록 높은 성능을 가진다.
예를 들어 Core i5 중에서 750 모델이 650 모델보다 성능이 좋은 것이다.
또한 노트북용 CPU 의 표기는 M 으로 통일되었다.
9세대 CPU 중에서는 i7 이 제일 먼저 나왔는데, 명명 방식뿐 아니라
제품의 라인업도 심플해졌다. 코어2 시리즈는 다양한 라인업을 가졌었으나
i7은 고성능 모델이 집중적으로 나온 후, 그 다음에 i5와 i3이 보급형으로 출시되었다.

레퍼런스 :
Intel CPU 한눈에 보기 (Reference)
울프데일? 요크필드? CPU 코드명을 알아보자! - 1부 인텔 코어2 시리즈 편
린필드? 클락데일? CPU 코드명을 알아보자! - 2부 인텔 코어 i 시리즈 편
코어 i3, i5, i7에 거는 인텔의 기대
쿼드 코어냐 듀얼 코어냐, 선택의 갈림길에 선 당신을 위해
샌디브릿지(Sandy Bridge), 인텔의 새로운 CPU 특징 5가지
Yorkfield

Intel Tick-Tock 이란

질문 : Intel Tick-Tock 이란?
답 : Intel 에서는 CPU 의 발달을 다음과 같은 개념으로 생각하고 있다.
  1. Tick : 기존 마이크로아키텍처에서의 집적도 향상 및 작은 개선
    (a shrinking of process technology of the previous microarchitecture)
  2. Tock : 마이크로아키텍처 자체의 새로운 설계
    (a new microarchitecture)
예를 들면
  • 코드네임 Yonah (Pentium M) 에서 기존 마이크로아키텍처 P6의 die shrink(집적도 향상)이 이루어지고(Tick), 
  • 그것을 바탕으로 새 마이크로 아키텍처인 Core(듀얼코어는 Conroe, 쿼드코어는 Kentsfield)가 나오고 (Tock), 
  • 코드네임 Penryn(듀얼코어는 Wolfdale, 쿼드코어는 Yorkfield)에서 Core 마이크로아키텍처의 집적도를 향상시키고 (Tick)... 
이런 식으로 진행되는 사이클을 Tick-Tock 이라고 한다.
적어도 일년에 한번은 Tick 또는 Tock 이 일어나게 하는 것이 인텔의 개발 사이클이다.
레퍼런스 : http://en.wikipedia.org/wiki/Intel_Tick-Tock

Thursday, April 7, 2011

65 nm process, 45 nm process 등의 의미

질문 : 65 nm 프로세스라던가 45 nm 프로세스의 의미는 무엇인가?
답 : "~nm 프로세스" 같은 말은, 반도체 칩 생산시 lithography(석판 인쇄) 방식으로
회로를 그릴 때의 정밀도, 즉 그림으로 비유하자면 '해상도'라고 말할 수 있다.
즉 숫자가 작을 수록 집적도가 커지는 것이다.

CPU 기술의 발달은 집적도의 발달과 완전히 비례한다.
이는 Intel Processor Roadmap을 보면 쉽게 알 수 있다.
예를 들면 P6 나 NetBurst 보다 Core 가 집적도가 높고, Core 보다 Nehalem 이 집적도가 높다.

반도체 공정의 발달은 다음과 같이 지속적으로 정밀도가 높아져 왔다.
180 nm (0.18 µm) — 1999
130 nm (0.13 µm) — 2000
90 nm — 2002
65 nm — 2006
45 nm — 2008
32 nm — 2010
레퍼런스 : http://en.wikipedia.org/wiki/65_nanometer 65 nanometer

Stepping (version numbers)

질문 : CPU 에서 Stepping 이란?
답 : Intel과 AMD 에서 쓰는 마이크로아키텍처의 버전 넘버로,
버전 1.0, 1.1, 1.2, 2.0, 2.1 .. 하는 대신
버전 A0, A1, A2, B0, B1 와 같이 쓰는 방식이다.
레퍼런스 : http://en.wikipedia.org/wiki/Stepping_%28version_numbers%29
키워드 : 인텔, 프로세서, 버전
링크 : Core (microarchitecture)#Steppings

Multi-Core Processor 의 개념

Multi-core processor 란
'코어'란 instruction 을 읽고 실행하는 프로세서 내부의 유닛. 즉 뇌라고 볼 수 있음.
과거의 프로세서는 하나의 core 만으로 구현되었으나 이제는 여러개가 사용되며
이것을 멀티 코어라고 함. 예를 들면 CPU Core 두개가 각각 L1 캐시를 갖고
둘 사이에 L2 캐시를 공유하는 방식으로 듀얼 코어를 구현할 수 있음.

Core 가 두개 쓰인 듀얼 코어의 예로는 Intel Core 2 Duo, AMD Phenom II X2 가 있으며
Core 가 네개 쓰인 쿼드 코어의 예로는 Intel Core 2 Quad, AMD Phenom II X4 가 있다.

레퍼런스 : http://en.wikipedia.org/wiki/Multi-core_processor

CPU Socket 의 종류

CPU 소켓의 종류
http://en.wikipedia.org/wiki/CPU_socket
http://ko.wikipedia.org/wiki/CPU_소켓

DIP
전형적인 IC 칩 꽂듯 하는 방식. 지네다리
http://en.wikipedia.org/wiki/Dual_in-line_package

PLCC (Plastic leaded chip carrier)
DIP 의 지네다리와 비슷하나 네 방향에 꽂는 방식
http://en.wikipedia.org/wiki/Plastic_leaded_chip_carrier

PGA(Pin grid array)
칩 바닥에 수많은 핀들이 있어서 Socket 의 구멍에 끼움.
칩이 수컷, Socket 이 암컷임. 수컷이 위에서 암컷을 덮음.
http://en.wikipedia.org/wiki/Pin_grid_array

LGA(Land grid array)
Socket이 수컷, 칩이 암컷. 암컷이 위에서 수컷을 덮음. 오늘날 쓰이는 방식.
The land grid array (LGA) is a type of surface-mount packaging for integrated
circuits (ICs) that is notable for having the pins on the socket rather than the
integrated circuit.
http://en.wikipedia.org/wiki/Land_grid_array

인텔 관계자가 직접 밝힌 바에 의하면, CPU 패키지를 PGA에서 LGA로
바꾼 것은 CPU의 핀 파손 문제를 없애려는 의도가 있다고 한다.



인텔의 소켓 방식 一覧

Socket 1, Socket 2, Socket 3
80486 에 쓰였음. 'Socket'이라고 지칭하는 것은 전부 PGA 소켓을 말한다.
http://en.wikipedia.org/wiki/Socket_1
http://en.wikipedia.org/wiki/Socket_2
http://en.wikipedia.org/wiki/Socket_3

Socket 4, Socket 5
펜티엄에 쓰임. Socket 5 는 Socket 7 로 이어짐
http://en.wikipedia.org/wiki/Socket_4
http://en.wikipedia.org/wiki/Socket_5

Socket 6
80486 용으로 나왔으나 80486 의 시기가 끝나갈 무렵 나와서
별로 안쓰임 (당시는 Socket 3 로 충분했으므로)

Socket 7
이것은 Socket 5 를 이어받은 것.
Pentium, Pentium MMX 에 쓰임
http://en.wikipedia.org/wiki/Socket_7

Super Socket 7
이건 AMD 계열에만 쓰였음
http://en.wikipedia.org/wiki/Super_Socket_7
The Super Socket 7, also referred to as Super 7, is an extension of the Socket 7
ZIF socket specification. It features a 100 MHz front-side bus, support for AGP,
and a SPGA package.

Socket 8
http://en.wikipedia.org/wiki/Socket_8
Pentium Pro 와 Pentium II Overdrive 에만 쓰임.
Pentium II 가 나오면서 Slot 1 이 쓰여서 Socket 8 은 명맥이 끊김(discontinued).

Slot 1
RAM 꽂는 것 같은 슬롯임.
Pentium Pro, Pentium II, Pentium III 에서 사용됨.
기존의 인텔 CPU가 소켓형태를 하고 있었던 것과 달리 펜티엄 II는
매우 큰 슬롯 형태로 만들어짐. Pentium II 는 매우 큰 인기를 끔.
Pentium Pro 는 Xeon 의 전신으로 고급형 워크스테이션이나 서버에 주로 사용됨.
http://en.wikipedia.org/wiki/Slot_1

Slot 2
이것도 RAM 꽂는 것 같은 슬롯임.
Pentium II Xeon 에 사용됨
http://en.wikipedia.org/wiki/Slot_2

Socket 370
Pentium III 에 사용됨. 여기서부터 소켓 이름이 복잡해지는데, 370 은 단지 핀의 갯수이다.
Slot 1 을 버리고 다시 소켓 방식으로 돌아오게 된 것이 바로 Socket 370 임.

Socket 423
Willamette core 기반의 Pentium 4 에 사용됨. 423 역시 핀의 갯수.
클락 속도를 높이기 부적합한 관계로 이건 단명하고 Socket 478 로 대체됨
Socket 423 is a 423 pin CPU socket used for the first generation of Pentium 4
processors, based on the Willamette core.

Socket 478
Northwood core 기반의 Pentium 4 에 사용됨. 인텔이 AMD 에게 한참 밀리던 시기라
AMD의 462-pin Socket A 와 Athlon XP processor 에 대항하기 위해 만들어졌는데
나중에 LGA 775 로 대체됨.
http://en.wikipedia.org/wiki/Socket_478

LGA 775 (Socket T)
펜티엄 4(프레스캇)부터 인텔 CPU 소켓 인터페이스에는 LGA가 사용됨.
LGA 는 Land Grid Array 의 약자로 다음과 같이 쓰이며 장수한 방식
Pentium 4, Pentium D, Celeron, Celeron D, Pentium XE,
Core 2 Duo, Core 2 Quad, Xeon
(LGA는 AMD 소켓 F 옵테론 프로세서에도 사용됨)
http://en.wikipedia.org/wiki/LGA_775

LGA 1366 (Socket B)
LGA 775 를 대체하기 위해 나온 방식.
In November 2008, Intel released Core i7, which was the first processor requiring this socket.

LGA 1156 (Socket H 또는 H1)
LGA 1156, along with LGA 1366, was designed to replace LGA 775. LGA 1156 is very
different from LGA 775. LGA 775 processors were connected to a northbridge using
the Front Side Bus. With LGA 1156, the features that were traditionally on a
northbridge are integrated onto the processor.
http://en.wikipedia.org/wiki/LGA_1156

LGA 1155
LGA 1156 을 대체하기 위해 나온 것으로, Sandy Bridge 프로세서에 사용된다.
http://en.wikipedia.org/wiki/LGA_1155

레퍼런스 : With The New 1156 Socket Will Intel Drop The 1366 Socket?
http://www.tomshardware.com/forum/265293-28-with-1156-socket-intel-drop-1366-socket
LGA 1156 & LGA 1366 socket (draft)
인텔 마이크로 프로세서가 걸어온 길 - 1부 1900년대의 인텔
인텔 마이크로 프로세서가 걸어온 길 - 2부 2000년대의 인텔

CPU cache 의 효과

캐시의 종류
CPU cache는 크게 세가지로,
  1. 명령을 미리 로드하기 위한 instruction cache,
  2. 데이터를 가져오기 위한 data cache, 
  3. 버추얼주소를 physical 주소로 변환하기 위한 translation lookaside buffer (TLB) 
이상의 세가지가 있다.

데이터 캐시는 보통 L1, L2 등의 hierarchy 로 구성되는데
흔히 CPU 캐시 하면 바로 이 데이터 캐시를 의미한다.

캐시가 퍼포먼스에 미치는 영향
Cache 라는 것이 얼마나 중요한 것인지는 실제 사례로 확인하지 않으면 실감하기 힘들다.
캐시의 효과는 다음 링크에서 잘 실험되어 있다.
http://igoro.com/archive/gallery-of-processor-cache-effects/
캐시가 퍼포먼스에 어떤 영향을 주는가는 개략적으로 다음과 같이 설명할 수 있다.

1. Parallelism (병렬처리)
다음 두개의 루프를 비교해보면 Loop 2 가 Loop 1 보다 두배는 빠르다.
Loop 1 내부의 연산은 순차적으로 실행가능한 반면
Loop 2 내부의 연산은 병렬처리가 가능하기 때문이다.
// Loop 1
for (int i=0; i < steps; i++) { a[0]++ ; a[0]++ ; }

// Loop 2
for (int i=0; i < steps; i++) { a[0]++ ; a[1]++ ; }
2. 데이터 캐시의 크기
루프 안의 계산이 단순하다고 가정할 때, 오늘날의 CPU 에서는 다음 두 operation 의
속도가 같다. 왜냐하면 퍼포먼스가 메모리에서 array 데이터를 가져오는 것에 좌우되기
때문이다.
for (i = 0; i < arr.Length; i++) {...}
for (int i = 0; i < arr.Length; i += 16) {...}
3. Multi-level caches 각각의 크기
또한 똑같은 loop 작업이라도 array 를 순차적으로 액세스하는 것보다
L1 캐시 사이즈만큼 뛰면서 액세스하기 시작하면 퍼포먼스가 급락하고
L2 캐시 사이즈만큼 뛰면서 액세스 하기 시작하면 퍼포먼스가 몇 배는 떨어진다.
자세한 건 레퍼런스의 그래프를 참조.

퍼포먼스의 결과는 소스코드만 보면 비직관적으로 느껴질 수 있는데 이것은
소스코드는 순차모델을 갖고 있는데 반해 실제 CPU에서의 실행은 데이터와
코드를 캐시 단위로 가져오고 가져온 단위에 대해서는 병렬처리를 하기 때문이다.

요는, 캐시에 한꺼번에 가져오는 단위에 의해 퍼포먼스가 좌우된다는 것이다.
L1, L2 등 캐시의 성능과 용량이 얼마나 중요한지 알 수 있다.

프로세서 구조 설계의 관건은 cost, 속도, 용량의 tradeoff 라고 볼 수 있는데
레지스트리 - L1 캐시 - L2 캐시 - L3 캐시 - 메모리
와 같은 메모리의 hierarchy 는 바로 그러한 트레이드오프 때문에 만들어진 것으로
오늘날의 CPU 구조에서 매우 중요한 개념이다.

레퍼런스 :
Gallery of Processor Cache Effects (Igor Ostrovsky Blogging)
http://igoro.com/archive/gallery-of-processor-cache-effects/
http://en.wikipedia.org/wiki/CPU_cache

미러 : CPU 캐시의 효과, L1, L2, Gallery of Processor Cache Effects

Core 라는 명칭의 의미: 브랜드네임? 마이크로아키텍처?

Core 라는 명칭은 마이크로아키텍처 이름으로도 쓰이고 브랜드명으로도, 그리고 내부의
프로세서의 수(듀얼코어, 쿼드코어)를 나타내기 위해서도 쓰이므로 혼동의 여지가 크다.

예를 들면, Core i3 와 Intel Core 2 는 같은 Intel Core 브랜드를 달고 있지만
Intel Core 2 는 Core 마이크로아키텍처를 쓰는 반면
Core i3 는 Core 마이크로아키텍처를 쓰지 않고 Nehalem 마이크로아키텍처를 쓴다.

Intel Core 2 Duo 는 dual-core processor 인데, 'Intel Core 2 Duo' 에서의 Core 는
특정 프로세서의 상표명인 반면 dual-core processor 의 'core' 는 내부 프로세서를
의미하는 단어이다.

또한 'nehalem core' 처럼 CPU 가 어떤 마이크로아키텍처에 기반했는지 말하기 위해
사용하는 경우도 있다.

즉 제품군으로서의 Intel Core 와, 특정 마이크로아키텍처로서의 Core 와,
그 마이크로아키텍처를 구현한 CPU 의 브랜드네임인 Core 2,
CPU 내의 프로세서의 개수로서의 core, 그리고
CPU 가 기반하고 있는 마이크로아키텍처를 말할때의 core 를 구분할 수 있어야 한다.

(1) Intel Core
인텔 CPU 의 가격 범위에 따른 브랜드네임으로, Xeon 보다는 염가이고
Celeron 과 Pentium 보다는 고가의 프로세서 제품군이다.
Intel Core is a brand name used for various mid-range to high-end consumer and
business microprocessors made by Intel.

(2) Core (microarchitecture)
인텔의 8세대 마이크로아키텍처 명. 80886(i886) 이라고 볼 수 있음.
The Core microarchitecture is a multi-core processor microarchitecture unveiled
by Intel in Q1 2006. It is based around an updated version of the Yonah core and
could be considered the latest iteration of the P6 microarchitecture, which
traces its history back to the Pentium Pro introduced in 1995.

(3) Intel Core 2
인텔의 8세대 CPU들의 브랜드 네임 (Core 마이크로아키텍처를 구현한 프로세서의 브랜드명이다)
9세대 CPU 들이 나온지도 오래된 지금, Intel Core 2 는 한물 간 프로세서가 되었다.
Core 2 is a brand encompassing a range of Intel's consumer 64-bit x86-64
single-, dual-, and quad-core microprocessors based on the Core
microarchitecture.

(4) Multi-Core Processor 에서의 Core
dual-core processor 라던가 quad-core processor 할때의 core.

(5) CPU 가 기반하고 있는 마이크로아키텍처를 의미하는 core
Intel 홈페이지에 보면 다음과 같은 글들이 있다.
  • ... with particular emphasis on Intel processors based on the Nehalem core including the Intel Core i7 Processor...
  • In addition, this paper will also apply to future Intel® processors derived from the Nehalem core.
이렇게, 마이크로아키텍처를 나타내는 맥락에서도 'core'라는 단어가 쓰인다.

(1)~(3)의 정의는 wikipedia 에서 인용한 것이다.
다음은 (1)~(3)에 대한 보충 설명.


(1) Intel Core (가격 범위에서의 제품군을 나타내는 브랜드명)

우선 정의 (1)에서의 'Intel Core' 는, Pentium 보다 빠른
프로세서들에 붙인 브랜드네임이다.

과거 486을 486DX 와 486SX(DX에서 FPU를 제거한 것, 혹은 DX에서 FPU가
불량인 것을 저가 버전으로 판것)로 나눠서 팔았을 때는 CPU의 염가 버전에
별도의 브랜드명이 없었다.

그러나 Pentium II 이후부터는 저가 버전의 CPU에 'Celeron'이라는 브랜드를,
고가 버전의 CPU 에는 'Xeon'이라는 브랜드를 달아서 팔기 시작했다.

즉 인텔 CPU 브랜드는 저성능부터 써주면
Celeron → Pentium → Xeon
순서가 되었는데

Intel Core 2 프로세서 시대가 되면서 기존의 Pentium 브랜드의 위치를
Intel Core 브랜드가 대신하기 시작했다.
Pentium 브랜드가 없어진 것은 아니고 Intel Core 브랜드보다 염가 브랜드로 밀려났다.
펜티엄이 옛날에 쓰이다 없어진 CPU 라고 생각하는 사람들이 있는데 Pentium 이란건
특정 세대의 CPU 를 뜻하는 브랜드가 아니라 가격 범위에서의 특정 위치를 차지하는 브랜드이므로
요즘에는 Core 나 Nehalem microarchitecture 를 쓰는 Pentium 도 있다.
Pentium 이라는 것이 특정 가격 범위에서의 브랜드명일 뿐, 마이크로아키텍처의 이름은
아니라는 데 유의하자.

즉 인텔 CPU 브랜드는 저성능부터 써주면
Celeron → Pentium → Core → Xeon
순서가 된다.

쉽게 말해
1. 염가 브랜드는 Celeron, 최고급 브랜드는 Xeon 이라는 점은
옛날(Pentium II 시절)부터 변화가 없었으나
2. Mid-range to high-end 브랜드는 Pentium 에서 Core 로 변화해왔다.

즉 Core 마이크로아키텍처가 쓰이기 전의 시절
그러니까 P5 나 P6 마이크로아키텍처를 쓸 무렵에는 Pentium 브랜드가 쓰였고
Core 마이크로아키텍처가 도입된 이후에는 Core 브랜드가 쓰인 것이다.

(2) Core (microarchitecture)

마이크로아키텍처로서의 Core 는 다음 계보에서 i886 에 해당하는 마이크로아키텍처
80586 = i586 = P5 (microarchitecture) (1993)
80686 = i686 = P6 (microarchitecture) (1995년)
80786 = i786 = NetBurst (microarchitecture) (2000년)
80886 = i886 = Core (microarchitecture) (2006년) → 이것
80986 = i986 = Nehalem (microarchitecture) (2009)

(3) Intel Core 2 (Core microarchitecture 를 구현한 CPU의 브랜드명)
결론부터 요약하면 다음과 같다.
  1. "Intel Core"는  Pentium M 마이크로아키텍처를 사용한, 노트북용 CPU 브랜드
  2. "Intel Core 2"는 Core 마이크로아키텍처(i886)를 사용한 CPU 브랜드
Core 마이크로아키텍처는 Pentium M 마이크로아키텍처를 계승한 것이므로,
자연스럽게 이렇게 명명되었다.

추가 설명
Intel Core 2 Duo 같은 브랜드명은 많이 들어보았겠지만,
Intel Core 1 Duo 또는 그냥 Intel Core Duo 는 별로 들어본 일이 없을 것이다.
그 이유는 Intel Core (코드네임 Yonah) 가 데스크탑으로 출시된 적이 없었기 때문이다.
2006년 1월에 Intel Core Solo 와 Intel Core Duo 가 Laptop 즉 노트북 용으로 출시되었는데
사실 Intel Core 는 이름만 Core 지 Pentium M 마이크로아키텍처를 사용한 프로세서였다.
Core 마이크로아키텍처를 사용한 것은 Intel Core 2 로, 그 후에 나왔다. (출처)(순서가 좀 거꾸로 된듯 하지만 Core 2 Solo 가 Core 2 Duo 보다 나중에 나왔다)

즉 Intel Core 란, 보통 뒤에 Solo, Duo, Quad 가 붙어서,
P6 말기의 노트북용 CPU 제품 브랜드 (이 경우는 Intel Core)
또는 i886 마이크로아키텍처를 구현한 CPU 제품 브랜드로 쓰인다(이 경우는 Intel Core 2).
Intel Core 2 라는 것은 브랜드명이라는 점에서는 정의 (1)과 같지만
정의 (1) 에서의 'Intel Core'가 특정 가격대에 대한 브랜드임과 달리
정의 (3), 즉 여기서의 'Intel Core'는 특정 세대의 CPU 를 말하는 브랜드명이다.
(출처 : List of Intel microprocessors)

왜 Core 라는 이름을 브랜드명으로 했나?
이렇게 복잡해진 것은 애초에 범용적으로 쓰이던 'Core'라는 용어를 상표명으로
써버렸기 때문이다. 상품명으론 뭔가 있어보이지만 개념상으로 혼동을 주기가 쉽다.
그러면 왜 애초에 'Core' 라는 것을 상품명으로 쓰게 되었을까?

그 이유는 i886부터의 마케팅 포인트가 multi-core processor 임에 초점을 맞춰졌기 때문이다.
사실 멀티코어는 Pentium D 에서도 구현되긴 했으나 Pentium D 는 Netburst 마이크로아키텍처
즉 i786 을 썼고, Netburst 는 Pentium D 를 마지막으로 폐기되어 버렸다.

즉 진정한 멀티코어의 시대는 i886 부터 열리기 시작했던 것이고
CPU 브랜드명으로 Core 를 본격적으로 쓰기 시작한 것도 이때부터인 것이다.

다만, i886 프로세서들의 이름을 처음부터 Core 2 라는 이름으로 한 것은
i886 의 선조인 Pentium M (P6 의 마지막 모델)의 구현물에 Core 라는 이름
(예를 들면 Core Duo, Core Solo 등)을 써버렸기 때문이다.

Intel CPU 한눈에 보기 (Reference)

레퍼런스 링크들

레퍼런스 1 (Intel CPU 系譜) :
레퍼런스 2 (Intel CPU 関連 - Wikipedia) :
레퍼런스 3 (Technology) : 
레퍼런스 4 (Slots, RAM) : 
레퍼런스 5 (Brand) :

Wednesday, April 6, 2011

Peering 이란

질문 : Peering 이란?
답 : 두개의 네트워크가 있을때 그들이 서로의 데이터 교환을 위해 exchange traffic 하는 것을 말한다. 인터넷은 수많은 네트워크들의 집합체인데 그들은 peering 을 통해 연결되어 있는 것이다. 예를 들어 Internet exchange point (과거에는 NAP) 는 네트워크들이 연결되는 거점이다.
레퍼런스 : http://en.wikipedia.org/wiki/Peering

Internet backbone (인터넷 백본) 이란?

질문 : Internet backbone (인터넷 백본) 이란?
답 :
인터넷 백본이란 대규모 네트워크들 및 core router 들의 연결로 형성되는
데이터 경로를 의미한다. 이러한 데이터 경로는 국가나 대륙/바다 사이를
연결하는 Internet Exchange Points (과거에는 Network Access Points)
들에 의해 형성된다. 인터넷 백본 트래픽을 만드는 ISP(often Tier 1 networks)
들은 서로간의 규약(interconnection agreements)에 의해 트래픽을 교환한다.

인터넷을 초단순화해서 정의하면 'Router 들의 집합'이라고 말할 수 있는데
Core Router 란 트래픽이 몰리는 곳의 고성능의 라우터들을 말한다.
한마디로 인터넷 백본이란 Core Router 에 의해 형성되는 주요한
데이터 통로, 즉 교통에 비교하자면 큰 길에 비유할 수 있다.

백본이라는 말은 좀더 loose 하게 정의해서 그냥 특정 지역의 비교적 큰
데이터 통로를 말하기도 한다 (LAN 을 사무실 네트워크의 백본이라고 하는 것처럼)

레퍼런스 : http://en.wikipedia.org/wiki/Internet_backbone

인터넷의 역사

The Internet : 정의
인터넷이라는 것 자체는 자체적으로 정의된 네트워크라기보다는 공통된 프로토콜과
공통된 서비스를 제공하는 여러 다른 네트워크들의 집합체이다. 처음에는 단순한 구조의
ARPANET 으로 시작했다가 점점 확장되어간 것이 오늘날의 인터넷이다.

ARPANET
ARPANET 은 컴퓨터 A 가 원격의 컴퓨터 B 로 연결하기 위해 중간의 여러 컴퓨터들을
거치는데 중간에 거치는 컴퓨터들의 집합을 subnet 이라고 한다.
subnet 은 IMPs(Interface Message Processors. 미니컴퓨터들임)로 이루어져 있었다.
각각의 IMP 는 최소한 두개의 다른 IMP 와 연결이 되어 있어서 reliability 를 높였다.
IMP 들은 전화회사에서 lease 한 56-kbps 라인들로 서로 연결되었다.

초반에 사용된 프로토콜들이 multiple networks 에서 동작하기 부적합하다는 것을 알게되어
1974년에 TCP/IP 모델과 프로토콜을 만들게 되었다.
1980년대에는 LAN 등의 네트워크들이 추가적으로 ARPANET 에 붙게 되었다.
스케일이 점점 커지자 host 주소 관리하는 것이 어려워져서 DNS (Domain Name System)
을 도입하게 되었다.

ARPANET이 확장되어 미전국을 잇는 NSFNET이 되다
1970년대 후반에 ARPANET 의 가능성을 알게된 NSF (the U.S. National Science Foundation)
는 ARPANET 의 successor 를 만들어서 모든 대학의 연구팀들이 사용할 수 있도록 하고자 했다.
처음에는 미 전국의 6개의 수퍼컴퓨터 센터를 연결하는 백본 네트워크를 만들기로 했다.
각각의 수퍼컴퓨터는 LSI-11 라는 마이크로컴퓨터(fuzzball이라고 불렀음)를 통해
백본에 연결되었다. fuzzball 은 역시 전화회사에서 임대한 56-kbps 라인에 연결되어
subnet 을 형성했는데 이는 ARPANET 이 쓴 것과 동일한 hardware technology 였다.
다만 software technology 는 달랐는데 fuzzball 은 처음부터 TCP/IP 를 사용했다.
즉 최초의 TCP/IP WAN 이 된 것이다.
이상과 같이 NSF가 주도하여 만든 네트워크를 NSFNET 라고 한다.

NSFNET 는 성공했고 속도를 더 빠르게 하기 위해 MCI 라는 회사로(since merged with WorldCom)
부터 448 kbps 속도의 Fiber optic channel 을 lease 하여 version 2 backbone 을 만들었다.
여기서는 IBM PC-RT 들이 라우터로 쓰였다.
그 후 1990년에는 백본이 1.5 Mbps 로 업그레이드되었다.

정부 주도에서 민간 주도로 전환하다
그런데 더이상 정부 돈 만으로 인터넷을 확장하기 힘들어지고 회사들이 여기에 참여하고 싶어
함에 따라 NSF 는 MERIT, MCI, IBM 에게 권해서 ANS (Advanced Networks and Services) 라는
nonprofit corporation 을 세웠다. ANS 는 NSFNET 를 1.5-Mbps 에서 45 Mbps 로 업그레이드
했고 이를 ANSNET 라고 한다. 이는 5년간 operate 되다가 America Online 에 팔렸다.
당시 여러 회사들이 IP 서비스를 하고 있었고 정부는 인터넷 사업에서 손을 떼야 할 때가 되었다고
생각하고 있었다.

그러한 변화를 쉽게 하고 모든 regional network 들이 다른 regional network 들과 잘
통신할 수 있게 하기 위해서 PacBell, Ameritech, MFS, Sprint 의 네 회사에게
NAP (Network Access Point) 를 세우도록 하고, NSF regional networks 에
backbone service 를 제공하고 싶은 network operator 들은 모든 NAP 들에 connect
하도록 했다.

무슨 말인가 하면 인터넷 상으로 미국 서부의 어떤 지역 A 에서 미국 동부의 어떤 지역 B 로
액세스하려면 유저의 컴퓨터에서 시작한 패킷이 A 지역의 regional network 를 지나
A 지역의 NAP 에 도달한 후 거기서 B 지역의 NAP 로 간 후, 거기서 B 지역의 regional network
로 이동한 후 목적지의 서버로 도착하게 되는데, 상용 인터넷 업자들이 만든 백본이
A 지역의 NAP 에서 B 지역의 NAP 를 연결하도록 강제함에 따라 기존의 백본과
스피드와 서비스에서 경쟁하도록 한 것이었다. 일종의 transitional strategy 였다.

이 네 곳의 NAP 는 정부 주도로 만들어진 인터넷이 민간업체 주도로 넘어가는 과도기에 있었던
public network exchange facility 로, 오늘날은 존재하지 않는다. 오늘날 NAP 에 해당하는 것은
Internet Exchange Points (IXPs) 라고 한다.

IXP (Internet exchange point)
쉽게 말해 ISP 들의 네트워크들이 서로 연결되는 거점이라고 볼 수 있다.
An Internet exchange point (IX or IXP) is a physical infrastructure through which
Internet service providers (ISPs) exchange Internet traffic between their networks
(autonomous systems).
http://en.wikipedia.org/wiki/Internet_exchange_point

참고 : 1970 ~1990 경까지의 인터넷의 용도
1. E-mail
2. Newsgroups
3. remote login : telnet, rlogin, ssh
4. File Transfer (FTP)

레퍼런스 :
Prentice Hall - Computer Networks Tanenbaum 4ed > 1.5 Example Networks
http://en.wikipedia.org/wiki/Network_access_point
http://en.wikipedia.org/wiki/Internet_Exchange_Point

Ethernet의 역사

Ethernet 은 University of Hawaii 의 연구원 Norman Abramson 이
하와이에 전화선이 잘 보급되지 않아 메인컴퓨터 접속이 어려워서 short-range radios 를
이용해 접속해서 패킷을 주고받을 수 있도록 만든 ALOHANET 이 시초이다.
LAN(Local Area Network)에 Ethernet 만 있는 것은 아니지만 Ethernet 이 가장 유명함.

이름이 Ethernet 인 이유는 애초에 그 방식이 electromagnetic radiation 즉 전자기파를
이용해 널리 구현될 것이라고 생각했기 때문에, 공간을 채우고 있는 '에테르' 즉 ether
를 이용한 네트워크라는 뜻으로 지은 이름이다. 하지만 결국 케이블로 연결하는 방식만 쓰이게 됨.

나중에 Xerox PARC 에서 ALOHANET 을 발전시켜 10-Mbps Ethernet 을 만든 것이
성공해서 표준이 되었고 나중에 100 Mbps, 1000 Mbps 속도를 가진 것들이 나오게 되었다.

오리지날 Ethernet 은 한줄로 된 Ethernet cable 에 컴퓨터들이 다음과 같이 연결된 것이었다.

┴─┴─┴─┴  (한줄기로 된 백본에 디바이스들이 붙는 형태)

가장 보편적으로 설치된 이더넷 시스템은 10BASE-T 이며, 10 Mbps의 전송속도를
제공한다. 모든 장치들은 케이블에 접속되며, 접속된 컴퓨터들은 경쟁적으로 액세스한다.

고속 이더넷이나 100BASE-T 등은 전송속도가 최고 100 Mbps까지 제공되며, 일반적으로
10BASE-T 카드가 장착된 워크스테이션들을 지원하기 위한 근거리통신망의 백본으로 많이
사용된다. 기가비트 이더넷은 1,000 Mbps 정도로서, 보다 높은 수준의 백본 속도를 지원한다.

기가비트 이더넷은 기본적으로 광케이블 상에서 전송된다
(동축케이블은 매우 짧은 거리에서만 이용된다).
10 또는 100 Mbps 속도의 기존 이더넷 네트웍들도 기가비트 이더넷 백본에 연결될 수 있다.
대안으로서 기가비트 이더넷과 경쟁했던 기술은 ATM(asynchronous transfer mode)이 있었다.

레퍼런스 :
Prentice Hall - Computer Networks Tanenbaum 4ed > 1.5 Example Networks
http://www.terms.co.kr/Ethernet.htm
http://www.terms.co.kr/GigabitEthernet.htm
http://www.terms.co.kr/ATM.htm

Tuesday, April 5, 2011

PPP 란?

질문 : PPP 란?
요약 :
PPP (The Point-to-Point Protocol) 란 서로 다른 업체의 원격 액세스 소프트웨어들이
시리얼라인 상으로 서로 연결하여 TCP/IP 프로토콜로 통신할 수 있도록 만들기 위해
제정된 표준 규약이다(1994년에 RFC 1661로 정의된 인터넷 표준 프로토콜).

설명 :
위의 말을 쉽게 풀어쓰면
  1. 서로 다른 업체의 원격 액세스 소프트웨어들이 (예: 유저의 클라이언트와 서버 라우터 상의 routing process 가)
  2. 시리얼라인 상으로 서로 연결하여 (인터넷 전용선이 아닌 모뎀과 전화선 등으로 연결하여)
  3. TCP/IP 프로토콜로 통신할 수 있도록 (인터넷을 하기 위해)
제정된 표준규약 이라는 말이다.

PPP를 이용한 연결의 예
User's PC [ Clinent Process using TCP/IP → Modem ] →
Dial-up telephone line [TCP/IP connection using PPP] →
Internet provider's office [ Modems → Router [ Routing process ] ]
PPP는 IP 프로토콜을 시리얼 통신하기 위한 표준규약이므로, 데이터링크 레이어에
존재한다. IP 프로토콜로 통신이 되면 TCP 는 그 위에서 동작하므로 인터넷이
가능해지는 것임.

원래 인터넷 초창기에는 고가의 장비와 전용회선을 사용해서 TCP/IP 를 WAN 에서 사용
하였으나 인터넷이 확산되면서 개인이 전용회선을 사용하지 않고 인터넷을 사용할
방법 즉 전화선 등으로 인터넷을 쓸 방법이 필요하게 되었는데 그러려면
모뎀과 전화선으로 IP 프로토콜을 전송할 수 있어야 했다.

이를 위해 SLIP(Serial Line IP)라는 프로토콜이 만들어졌는데 이건 표준이 안되고
그 후에 이 SLIP의 단점을 보완한 PPP 가 인터넷 표준으로 채택된 것이다.

이를테면 회사에서 LAN to LAN 으로 인터넷을 연결하여 사용하는 회사의 랜에 리눅스
PPP 서버를 설치하여 집에서 전화선 및 다이얼업 모뎀을 써서 인터넷을 사용할 수 있다.

레퍼런스 :
PPP 서버 설치하기 - 랜 연결에서 PPPD 셋업까지 -
PPP(지점간 프로토콜)
Computer Networks 4th Ed - Andrew S. Tanenbaum > 3.6 Example Data Link Protocols

패킷이란 무엇인가

질문 : Packet 이란 무엇인가?
요약 : 패킷이란 01010... 와 같은 데이터를 일정 단위로 자른 단위이다.
당연하지만 패킷은 그냥 데이터를 나누는 것만이 아니라 전송에 필요한 정보가 든 헤더가 붙는다.

설명 :
만일 패킷이 없다면 01010... 의 연속을 그냥 기약없이 보내야 할 것이다.
이래서는 컨트롤이 안된다. 따라서 01010... 을 일정 단위로 잘라서 그 단위로
보내는 것이 편하다. 그 자른 단위를 패킷이라고 하고,
패킷 단위로 자르는 행위를 packet framing 이라고 한다.

패킷은 두가지 종류의 데이터를 갖고 있다.
  1. control information : source and destination 주소, 에러 체크용 checksum 등
  2. user data : 보내는 데이터. 즉 0101010...
비유하자면 control information 은 주소 등이 써진 봉투와도 같고
user data 는 그 안에 들어 있는 편지(실제 데이터)와도 같다.

부연 : 패킷은 OSI 레벨 몇부터 존재하는가
패킷이 쓰이느냐 안쓰이느냐로 OSI의 layer 1과 layer 2가 구분된다.
레이어 1 은 말 그대로 Physical layer 로, 여기서는 데이터를 0101010.. 을 본다.
레이어 2 는 Data Link 레이어라고 불리우며, 이 레이어가 레이어 1과 틀린 점은
데이터가 0101010.. 의 연속이 아닌 data frame 의 단위로 나뉘어 있다는 점이다.
따라서 패킷이라는 것은 OSI Level 2 이상에서 존재 가능하다.

부연 : packet 과 datagram
위와 같이 패킷화 된 것이라면 어떤 것이라도 패킷이라고 부를 수 있다.
패킷의 일종으로 datagram 이라는 용어가 있는데 이것은
IP, 또는 UDP and IP 가 쓰일 때와 같이 "unreliable" 서비스에서 사용되는
데이터 패킷을 지칭하는 용어이다.

레퍼런스 : http://en.wikipedia.org/wiki/Data_packet Data Packet
http://en.wikipedia.org/wiki/Frame_%28telecommunications%29 Frame (networking)
http://en.wikipedia.org/wiki/Data_Link_Layer Data Link Layer

L2, L3, L4, L7 스위치란 무엇인가

질문 : L2, L3, L4, L7 스위치란 무엇인가?
요약 : L2, L3 등은 OSI의 7 레이어 중 어떤 레이어에서 수행되는가에 따라 정의된 분류이다.

설명 : L2 Switch
가장 원초적인 형태의 스위치는 L2 스위치이다.
원래 스위치의 정의에 가장 부합하는 것이 L2 스위치이므로
L2 를 그냥 스위치라고 부르기도 한다. 스위치는 허브에서
한단계 진화한 것일 뿐으로(허브와 스위치가 무엇인지 보려면 여기로),
패킷이 왔을때 그것의 목적지가 어디인가를 보고 그 목적지로
보내주는 역할만을 한다. 말 그대로 '스위치'일 뿐이다.
이는 레벨 2에서 동작하므로 목적지는 Ethernet 주소로 이해한다.
즉 IP 주소가 필요한 외부로 보내줄 수 없다.

설명 : L2 Switch 의 한계
OSI 7 layers 에서 2 레벨은 data link 레이어이므로,
L2 스위치는 Ethernet 레벨에서 동작할 뿐 그 상위 레이어인
네트워크 레이어에서 동작하는 IP 등을 이해하지 못한다.
다시말해 IP 어드레스를 이해하지 못하므로 라우팅이 불가능하다
(Route 라는 것이 외부와 연결되므로 IP 어드레스를 알아야 함을 기억하면 이는 당연)

설명 : L3 Switch
L3 에서는 3 레이어의 프로토콜인 IP 등에서 스위칭을 수행하므로
자신에게 온 패킷의 destination 이 외부에 존재하는 IP 일 경우
그 패킷을 외부에 연결된 라우터로 보내줄 수 있다. 즉 L3 스위치는
라우터 기능도 갖고 있기 때문에 라우터와의 경계가 모호해진다.

설명 : L4 Switch
L4 에서는 4 레이어의 프로토콜인 TCP/UDP 등에서 스위칭을 수행하므로
TCP와 UDP 등의 헤더를 보고 그것이 FTP 인가 HTTP 인가 SMTP 인가를
보고 어떤 것을 우선시해서 스위칭할지 판단할 수 있다. 즉 로드 밸런싱이
가능해진다는 얘기인데 이는 L3 이하에서는 불가능한 것이다.

설명 : L7 Switch
L7 스위치는 OSI 의 7 레이어 즉 어플리케이션 레이어에서 동작하는 것으로
이를테면 이메일의 제목이나 문자열을 보고 내용을 파악한다거나
HTTP 의 URL, 또는 FTP의 파일명, 쿠키 정보, 특정 바이러스의 패턴 등을
분석해서 보안에 더욱 유리하고 더욱 정교한 로드 밸런싱이 가능해진다.
사실 어플리케이션 레벨의 데이터를 다 다룬다는 것은 불가능하고
L7 스위치는 단지 패킷의 내용을 조금 더 참조하여 약간 intelligent 한
결정을 내릴 수 있게 된 것 뿐이다. 쉽게말해 L7 스위치라는 것은 마케팅용어라고
볼 수 있다.

부연 :
상위 레벨에서 동작하는 스위치는 자신의 하위 레벨 스위치의 기능을 다 갖고 있다.
예를 들어 L4 스위치는 L3, L2 스위치의 기능도 다 수행할 수 있다.

미러 : 네트워크 관련 자료 - 용어 및 개념/L2,L3,L4 스위치

Monday, April 4, 2011

IP 공유기와 라우터의 차이?

질문 : IP 공유기와 라우터의 차이?
요약 : IP 공유기란 가정용 라우터이다
설명 :
IP 공유기는 흔히 Residential gateway로 부르는 저가형의 가정용 라우터를
국내 업체들이 일반인들이 알기 쉬운 이름으로 지은 것이다. ('라우터'라는
이름을 이해하기 힘들다고 생각해서인듯) IP 공유기가 하는 라우팅이란
허브 쪽과 모뎀 쪽 사이 즉 LAN 과 WAN 사이에 패킷을 전달하는 역할이다.
양쪽을 보면 LAN 쪽은 사설 IP 를 사용한 네트워크가 형성되어 있고
WAN 쪽에는 공공 IP 를 사용하여 ISP 측과 또다른 네트워크를 형성한다.

라우터는 패킷을 받아서 어디로 보낼지 결정해주는 디바이스로, [1]
패킷을 분석하고 라우팅 테이블을 참조하여 어느 경로로 보낼 것인가를 판단하고
패킷을 로컬 네트워크로 보내거나 다른 라우터로 보내준다.
(A data packet is typically passed from router to router [2])

IP 공유기는 흔히 192.168.0.1 라는 IP 를 가진다.
본래 192.168.0.0 부터 192.168.255.255까지는 외부에서 접속할 수 없고
직접 물린 장비로만 액세스 가능하다. (사설망을 구축하기 위해 사용)
192.168.0.1은 사설 기본 IP(Private Default IP)로 공유기에 기본으로 할당되며
공유기에 물려 있는 PC들은 192.168.0.2 부터 할당되게 된다.
공유기에 192.168.0.1이 아니라 다른 아이피가 할당되는 경우도 있는데
이는 DOS창에서 ipconfig 를 실행해보면 된다.

ipconfig /all

192.168.0.1 아이피 타임
192.168.11.1 버팔로
192.168.10.1 애니게이트

레퍼런스 :
[1] 라우터,공유기,허브의 차이점 http://blog.daum.net/cho13245/4554915
[2] http://en.wikipedia.org/wiki/Router
[3] 네트워크 관련 브라우저에서 "192.168.0.1"을 띄울 수가 없네요 http://bittalk.org/archive/index.php/t-107420.html
[4] http://en.wikipedia.org/wiki/Residential_gateway Residential gateway

허브, 스위치, 라우터의 진화과정으로 이해하는 인터넷

네트워크와 인터넷의 원리는 다음과 같은 발달 과정으로 이해하면 쉽다.
허브 → 스위치 → 라우터 → 인터넷
Hub → Switch → Router → The Internet

허브 : 허브는 패킷을 받으면 그것을 자신에게 연결된 모든 디바이스에게 무조건 보낸다.
각각의 디바이스들은 그 패킷이 자신에게 온 것인지를 판단해야 한다. 자기가 받은 것을
무조건 자신의 로컬 네트워크 상에 다시 보내는 멍청한 기계이므로 트래픽 부담이 크다.
이러한 허브는 '브릿지'라고 불리기도 했다.

스위치 : 스위치는 허브보다 좀더 똑똑하다. 스위치는 자신에게 연결된 디바이스들의
IP 와 MAC 주소를 테이블로 모두 가지고 있다. 따라서 패킷이 자신에게 오면 그것의
목적지가 어디인지를 파악하여 그 디바이스에게 패킷을 보내준다. 트래픽이 훨씬 효율적
이 되는 것이다. 다만 스위치는 자신의 테이블에 없는 목적지를 가진 패킷이 오면
그것을 무조건 모든 기계에 포워딩한다. 즉 이런 경우는 허브와 똑같이 동작하는 것이다.

라우터 : 라우터는 이들 중 가장 똑똑한 기계이다. 라우터는 자신에게 연결된 디바이스들의
주소를 갖고 있다는 점에서는 스위치와 같으나 추가로, 네트워크 상에 자신과 연결된 가장
가까운 라우터의 주소도 갖고 있다. 이것을 '디폴트 게이트웨이' 로 프로그램해둘 수 있다.
라우터는 자신의 테이블 상에 없는 주소가 목적지인 패킷을 받으면 그것을 디폴트 게이트웨이
로 포워딩한다. 이것이 인터넷에서 데이터가 움직이는 기본 원리이다.
또한 라우터는 스위치와 달리 패킷의 source address 를 볼 수 있다. 즉 그 패킷이 로컬
네트워크 안쪽에서 발생한 것인지 바깥쪽에서 발생한 것인지 구분할 수 있다는 얘기다.
별것 아닌 것 같아 보이지만 이는 큰 차이이다. 스위치만으로는 인터넷을 구성할 수 없지만
라우터로는 바깥쪽의 네트워크와의 연결을 통해 인터넷을 구성할 수 있기 때문이다.

인터넷 : 인터넷을 극단적으로 표현하면 '라우터들의 모임'이라고 볼 수 있다.
인터넷은 여러 네트워크의 연결로, 네트워크 A 와 네트워크 B 가 연결된다고 할때
네트워크 A 측의 라우터와 네트워크 B 측의 라우터가 연결되는 식으로 연결되고
그러한 연결이 무수히 많아진 것이 인터넷인 것이다.

부연 : 여기서 설명한 허브, 스위치, 라우터는 가장 원초적인 정의상의 설명임.
즉 여기서의 스위치는 L2 스위치를 의미. L3 이상의 스위치는 사실 순수한 스위치라고 보기가 힘듬.
예를 들어 이미 2000년 초반 스위치에 L3 기능이 얹어지면서 라우터와 스위치의 경계가
모호해진 바도 있으므로 실제 생산되는 제품의 세계에서 이들 설명이 그대로 적용되는 것은 아님.

레퍼런스 : http://www.dslreports.com/faq/7307 What is a Hub/Switch/Router?
http://blog.daum.net/cho13245/4554915 라우터,공유기,허브의 차이점

SNMP란?

질문 : SNMP란?
요약 : 네트워크 관리를 위한 프로토콜 (Simple Network Management Protocol)
설명 : 네트워크 상의 호스트들이 어떤 구조를 그리고 있는지 지도를 알 수 있고 네트워크 사용량, 응답시간, 에러 등의 통계를 얻을 수 있고 장비관리 즉 CPU, 메모리, 디스크 사용량 등의 정보를 얻어올 수도 있다. 물론 보안 관리 기능도 있다. 초기에는 ICMP(Internet Control Message Protocol. ping 등이 ICMP를 이용한 유틸리티임)에만 의존했으나 네트워크에 연결된 컴퓨터 수의 증가로 네트워크의 복잡도가 증가함에 따라 ICMP만 갖고는 네트워크 관리를 제대로 할 수 없게 되었다. 그래서 새로운 프로토콜에 대한 연구가 진행되었고 SGMP, HIMS, CMIP/CMIS등이 제안되었으나 이중에서 SGMP를 발전시킨 SNMP가 결국 표준 프로토콜로 자리잡게 된다.
키워드 : 네트워크 관리

ICMP 란?

질문 : ICMP 란?
요약 : Internet Control Message Protocol 의 약자. 네트워크에 에러는 없는지, 호스트까지 메시지는 잘 도착하는지 등을 점검하기 위한 프로토콜임.
설명 : ping 유틸리티는 ICMP의 "Echo request"와 "Echo reply" message를 이용해 만들어진 것임.
인용 : Each ICMP message is encapsulated directly within a single IP datagram,
and thus, like UDP, ICMP is unreliable.
레퍼런스 : http://en.wikipedia.org/wiki/Internet_Control_Message_Protocol

MRTG란?

질문 : MRTG란?
답 : The Multi Router Traffic Grapher, or just simply MRTG, is free software for monitoring and measuring the traffic load on network links. It allows the user to see traffic load on a network over time in graphical form.
출처 : http://en.wikipedia.org/wiki/Multi_Router_Traffic_Grapher

폴더가 없거나 해서 Sidebar 에서 아이템을 지울 수 없는 경우가 있는데 어떻게 하나 (OS X Finder)

질문 : Sidebar에 넣어놓은 폴더나 파일을 바깥으로 drag 해서 제거할 수 없는 경우가 있는데 어떻게 해야 하나? (존재하지 않는 폴더나 파일은 sidebar 에서 클릭도 할수 없음)
답 : Command 누르고 드래그하면 된다.
레퍼런스 : http://discussions.apple.com/thread.jspa?messageID=13314690&tstart=0
키워드 : 사이드바, folder, file, item, cannot, Command + T

Sunday, April 3, 2011

네트워크를 이해하기 위한 모델 세가지

1, 2 는 전통적인 two important network architectures

1. OSI reference model
Application Layer : ex) HTTP (HyperText Transfer Protocol)
Presentation Layer
Session Layer : allows users on different machines to establish sessions between them
Transport Layer : end-to-end layer
Network Layer : Packets
Data Link Layer : Data Frames (typically a few hundred or a few thousand bytes)
Physical Layer : Raw Data (0101010...)

2. TCP/IPreference model
Application : TELNET, FTP, SMTP, DNS
Transport : TCP, UDP
Network : IP
Physical + Data Link : LAN, ARPANET

3. Tanenbaum's Hybrid model
Application Layer
Transport Layer
Network Layer
Data Link Layer
Physical Layer

레퍼런스 : Computer Networks 4th Ed - Andrew S. Tanenbaum > 1.5 Example Networks

애물단지서 보물단지로…무선랜의 ‘부활’

애물단지서 보물단지로…무선랜의 ‘부활’
스마트폰 확산에 이통사들 망구축 투자확대 나서
이통망 부하 덜면서 무료 인터넷 제공 ‘일석이조’
링크 : http://www.hani.co.kr/arti/economy/it/398311.html
인용 : 3세대 통신망은 음성보다 데이터통신에 적합하지만, 수십만~수백만 가입자가 스마트폰으로 대량의 트래픽을 일으키는 데이터통신을 할 경우 네트워크 환경은 불안해진다... 하지만 이 곳에 네스팟처럼 무선랜 접속장치를 설치해 가입자들에게 데이터 통신을 제공한다면, 음성과 데이터 모두 안정적으로 서비스할 수 있다.
키워드 : Wi-Fi, WiFi

맥에서 새창 띄울때 현재 폴더 그대로 띄우려면?

질문 : 맥 파인더에서 새창 띄울때 현재 폴더주소 그대로 띄워지지 않아 다시 찾아들어가기 불편한데 방법은 없나?

답 : 윈도우보다 Finder 가 불편하게 느껴지는 대표적인 것중 하나인데
Command + Control + ↑ 로 새창을 띄운 후 Command + ↓ 로 들어가는 방법을 쓰면
아무 불편 없이 쓸 수 있다.

부연 : 또는 Command + T 를 이용해 현재 사용중인 폴더를 Sidebar 에 넣는 방식을 쓰면 작업 효율이 높아진다. 사이드바에 넣는 주소는 작업할때 임시로 넣었다 없앴다 하면서 쓰기 좋다. 윈도우에도 비슷한 기능이 있지만 맥에서는 사이드바에 넣고 빼기가(특히 빼려면 마우스로 Command + drag 하면 되는 등) 훨씬 편하다.

키워드 : directory, address, 주소창

Html 에서 arrow symbol 을 쉽게 입력하는 법

질문 : Html 에서 arrow symbol 을 쉽게 입력하는 법?
답 :
입력 심볼 심볼명
&+larr; leftward arrow
&+uarr; upward arrow
&+rarr; rightward arrow
&+darr; downward arrow
(+ 제외하고 입력하면 됨)

맥에서 심볼 쉽게 입력하는 법

질문 : Mac 에서 Symbol 입력 쉽게 하려면?
답 :
1. Command + Option + T 하면 character viewer 창이 뜸
2. Option 키 등을 사용하면 다음과 같이 입력 가능. 좋은 예가 © 나 ™ 같은 심볼.
Option 키 눌렀을때

Option + Shift 눌렀을때

→ 이들은 메뉴에서 Show Keyboard Viewer 를 하면 볼수 있다
부연 : 우믈라우트 즉 ö 같은 것은 option + u 한 후 키에서 손을 떼고 o 를 누르면 됨
레퍼런스 : http://sillydog.org/forum/sdt_5129.php
Special character chart for western european characters (Tip sheet on special characters)
키워드 : copyright, Trademark symbol

Saturday, April 2, 2011

Dreamweaver에서 방금 한 작업을 Repeat 하는 방법?

질문 : 드림위버에서 폰트에 스타일 적용시 일일히 적용하기 불편한데 방금 한 command 를 repeat 하는 방법 없나? (오피스의 F4 처럼)
답 : Redo(Ctrl + Y. 맥에서는 Command + Y)하면 된다.
키워드 : 명령, 반복
출처 : Repeat steps

Dreamweaver에서 code view와 design view를 전환하는 hotkey?

질문 : 드림위버에서 code view와 design view를 전환하는 핫키?
답 : control + `

Network, Computer 관련 필독서

기초
Computer Networks 4th Edition - Andrew S. Tanenbaum
Structured Computer Organization 4th Edition - Andrew S. Tanenbaum
추가
Computer Networks - A Systems Approach 3rd Edition - Petersen
키워드 : 인터넷, internet, 네트워크, 컴퓨터

Friday, April 1, 2011

Tanenbaum의 network 관련 저서들 목록

질문 : Tanenbaum(Andrew S. Tanenbaum)의 저서들 목록
답 : http://en.wikipedia.org/wiki/Andrew_S._Tanenbaum
키워드 : networking, 네트워크, 네트워킹

1U 란?

질문 : 1U 란?
답 : Rack unit 의 일종.
레퍼런스 : http://en.wikipedia.org/wiki/Rack_unit

Linux Vs. Mac: Which Is The Better Alternative To Microsoft Windows?

링크 : Linux Vs. Mac: Which Is The Better Alternative To Microsoft Windows?

드림위버에서 외부 하이퍼링크 넣는 법

질문 : Dreamweaver 에서 외부 Hyperlink 넣는 법
답 : Menu > Insert > Hyperlink
부연 : Right click 하고 Make Link 하면 relative path 의 링크를 만듬

Norton Ghost (Symantec)

요약 : 윈도우 기반 Render Farm 의 clone tool 로서 쓸 Disk Cloning Software
레퍼런스 : http://en.wikipedia.org/wiki/Ghost_%28software%29

Render farm 관련 자료

렌더 팜의 구조
1. Seven or so machines on a network,
2. a network-accessible storage location,
3. a rendering app, and
4. a queue manager.
출처 : Build Your Own Render Farm
관련 링크 : Render farm 관련 자료
http://cgmemo.blogspot.com/2011/03/render-farm.html

AppleScript 에서 한글 모아쓰기 해주는 법

질문 : 파일명을 복사할때 한글 자모가 모두 떨어지는데 모아쓰기 해주려면?
요약 : 클립보드를 이용하면 간단하다.
답 :
on myHangulMoaSSugi(txt)
set temp to the clipboard --클립보드 피신
set the clipboard to txt -- 한글 모아주기를 위해 클립보드로 옮김
set txt to the clipboard as string -- 한글 모아주기가 완성.
set the clipboard to temp -- 클립보드 restore
return txt
end myHangulMoaSSugi
키워드 : copy paste 클립보드 myHangunMoaSSugi
관련링크 : AppleScript에서 Clipboard 사용하기