11장. 페이지 관리

 

  • 요구페이징( Demand Paging ) : 모든 내용을 메모리에 올려놓지 않고, 실행되어지는 프로세스에서 요구하는 시점에서 그 내용을 올리기 위한 페이지를 할당하는 기법

    1. 마이크로프로세서는 프로그램이 접근하고자 하는 메모리가 유효한지 알아보기 위해 그 페이지 테이블의 유효 비트를 살펴본다.
    2. 유효 비트가 0으로 세트되어 유효 하지 않다면 Page Fault Interrupt 를 발생 시킨다.
    3. OS는 메인메모리에서 빈 공간을 찾아본다. 빈공간이 없으면 페이지 교체 작업을 수행하여 빈 공간을 확보
    4. 새로 할당된 빈 공간에 해당 페이지의 내용을 디스크로 부터 읽어들인다.
    5. 요청한 페이지가 메모리에 있다는 사실을 마이크로프로세서가 인식할 수 있도록 페이지 테이블의 내용을 갱신
    6. 트랩에 의해 발생한 인터럽트를 빠져나감으로써 페이지 에러가 발생한 명령어가 다시 시작
  • Page Fault Exception Handler

    • 마이크로프로세서는 해당 프로세스의 커널 스택에 페이지 폴트의 원인에 대한 에러 코드와 기타 레지스터 정보를 Push 하여 넣고, CR2 레지스터에는 페이지 폴트가 발생한 주소를 세팅하여 놓은 후 페이지 부재 에러인 Int 14 를 발생시킨다.
    • Int14가 발생했을 당시의 스택 내용으로, 만약 커널레벨에서 실행되던 코드가 페이지 부재를 발생시켰을 경우에는 Privilege Level 변화가 없는 경우로 Page Fault 발생 당시의 레지스터 값과 에러가 발생한 이유를 설명하여 놓은 Error Code 값을 스택에 넣어주게 된다.
    • 유저 레벨에서 발생시켰을 경우에는, MicroProcessor는 실행 중이던 프로세스의 스택을 커널에 존재하는 스택으로 스위칭한 후 Previlege Level 변화가 없을 경우 들어갔던 내용에 유저레벨에서 실행되던 ESP와 SS 레지스터가 들어가게 된다.
    • Page Fault 는 참조하는 페이지가 메인 메모리에 존재하고 있지 않을 때, 접근 권한이 없는 프로세스가 해당 페이지를 접근하였을 때에도 발생하며 이러한 사항에 대해서는 Error Code 를 통해 알린다.
    • Error Code

      • P ( bit 0 ) : 0 - 참조하고자 하는 페이지가 유효하지 않을 상태로 페이지 테이블 또는 페이지 디렉토리의 P 비트가 0 이다.
      • 1 - 접근 권한에 대한 에러로( Read/Write ) 액세스 권한 또는 (User/Supervisor) 특권레벨 위반에 대한 페이지 폴트이다ㅣ.
      • R/W( bit 1 ) : 0 - 읽기 권한이 없는데 읽기를 시도하였다.
      • 1 - 쓰기 권한이 없는데 쓰기를 시도하였다.
      • U/S( bit 2 ) : 0 - 특권레벨 0, 1, 2( 커널레벨 )에서 페이지 폴트가 발생하였다.
      • 1 - 특권레벨 3( 유저레벨 ) 에서 페이지 폴트가 발생하였다.
    • 페이지 폴트가 발생한 주소에 대해서는 CR2 레지스터를 통해 알리게 된다.
  • 선페이징( Prepaging ) : 대부분의 프로그램이 참조한 근처의 메모리를 다시 참조한다는 지역성의 특성을 이용해 요구한 페이지 외에 그 근처의 페이지까지 함께 불러들이는 방식이다. 읽어들이고자 하는 내용이 코드 페이지인지 또는 데이터 페이지인지에 따라 읽어들여 놓는 크기가 달라지도록 하고 있다.
  • Page Out : 물리적 메모리에 있는 페이지의 내용에 대하여 하드디스크로 복사하여 놓는 작업
  • Page In : 하드디스크에 있는 페이지의 내용이 물리적 메모리로 옮겨와 사용되어지는 것
  • Paged Memory or Pageable Memory : 가상 메모리 공간 중에서 Page In과 Page Out 이 발생할 수 있는 가상 메모리 공간
  • NonPaged Memory : Page In 을 처리하기 위한 루틴이 포함되어 있는 Page Fault Handler 가 Page Out 되어 있다면 Page Fault 를 처리 할 수 없게 된다. 이러한 공간은 절대 Page Out 이 발생되지 않는 공간에 있게 된다. 이를 NonPaged Memory 라고 한다.
  • 페이지 교체 정책( Page Replacement Policy ) : 가장 좋은 교체 정책은 앞으로 가장 오랜 시간 동안 사용되지 않을 페이지를 찾아 교체하는 것이다.

    • FIFO( First In, First Out ) : 가장 먼저 들어온 페이지를 교체
    • LRU( Least Recently Used ) : 가장 오랫동안 사용되지 않은 페이지를 교체
    • Additional Reference Bits 알고리즘
    • Second Chance 알고리즘
  • 스레싱( Thrashing ) 현상

    • 어떤 프로세스가 너무 작은 양의 메모리 페이지 할당으로 실제 프로세스가 원하는 명령어의 실행 시간보다 페이지 부재의 발생으로 페이지 교체를 수행하는데 소비하는 시간이 더 많아 지면, 컴퓨터 성능에 심각한 성능 저하를 가져 올 것이다. 프로세스 수가 많아 질 수 록 CPU이용율은 점점 늘어나지만 일정 개수가 되고 나면 이용율이 급격히 떨어지게 된다. 이를 위해 각 프로세스가 가져야하는 페이지의 수를 적절히 조절해 주어야 할 것이다.
  • 작업세트 관리

    • 작업세트란? 하나의 프로세스에서 메인 메모리에 올라갈 수 있는 페이지들의 양
    • 고정 크기 할당 정책  : 프로세스가 생성되어질 때 메인 메모리에 유지할 페이지수를 결정하게 되며 그 이후 그 프로세스의 작업세트 크기를 계속 유지하게 된다. 추가적인 페이지가 필요할 때에는 페이지의 교체를 수행해야 한다.
    • 가변 크기 할당 정책 : 프로세스가 실행되는 동안 페이지의 할당 수를 다르게 하는 것, Page Fault 가 자주 발생하는 프로세스의 경우 그 페이지의 할당 수를 늘려주어 Page Fault 를 줄이고, Page Fault 가 적게 발생하는 프로세스의 경우 페이지 할당 수를 줄여주어 다른 프로세스가 사용할 수 있는 메인 메모리의 페이지 수를 늘려줄 수 있게 한다. 단, 이러한 모니터링에 의한 많은 오버헤드를 초례하게 된다.
    • 지역적 교체 정책 : Page Fault 를 일으킨 프로세스의 페이지에 대해 그 프로세스가 소유한 작업세트 내의 페이지로 교체 페이지를 선택
    • 전역적 교체 정책 : 전역 메인 메모리 중 커널이 위차한 페이지 or 락이 걸린 페이지를 제외한 모든 페이지를 교체 대상으로 삼는다.
    • Windows 에서는 작업세트의 상한치 하한치를 설정하여 놓은 후 그 프로세스가 가질 수 있는 작업세트의 크기를 이 범위 내에서 가질 수 있도록 보장해 주고 있다. 가용 페이지가 넉넉히 있는 상태에 Page Fault 발생시 작업세트의 상한치를 넘지 않는 범위 내에서 메인 메모리의 페이지를 작업세트로 할당, 상한치 까지 채워졌으면 지역적 교체 정책에 따라 LRU 의 교체정책에 의해 수행. 메인 메모리의 가용 메모리의 가용 메모리가 시스템이 정한 임계치 보다 낮을 경우에는 각 프로세스가 가지고 있는 작업세트를 조사하여 하한치보다 넘게 할당된 페이지들을 FIFO 알고리즘으로 회수하게 된다.
  • 페이징의 효과적 이용 방법
  1. typedef struct _ListEntry
  2. {
       int key;
  3. _ListEntry *pre, *next;
  4. DWORD flags;
  5. BYTE filename[1024];
  6. } ListEntry, *PListEntry;
  7. 2.
  8. typedef struct _DataBody
  9. {
        DWORD flags;
  10. BYTE filename[1024];
  11. } DataBody, *PDataBody;
  12. typedef struct _ListEntry
  13. {
  14. int key;

    _ListEntry *pre, *next;

  15. PDataBody data;
  16. } ListEntry, *PListEntry;

 

 위의 데이터구조는 하나의 데이터 구조에서 모든 엔트리를 다 가지고 있으며, 아래는 실제 데이터로 사용되는 부분과 검색에 의해 자주 참조되는 키를 분리하여 놓았다.

해당 데이터에 대하여 키에 대한 검색이 자주 일어나면 위쪽 데이터 구조에서는 메번 전체 키 검색을 위해 모든 데이터가 있는 자료구조 때문에 더 많은 페이지를 로드해야 하지만, 아래쪽 형태는 이를 분리하여 검색시 필요한 데이터 량을 줄여서 더 적은 페이지를 로드하게 해주어 페이지를 효과적으로 사용하게 해준다.


'책 정리 > Windows 구조와 원리 그리고 Codes' 카테고리의 다른 글

10장. 페이징  (0) 2009.11.15
9장. 세그먼테이션  (0) 2009.11.15
8장. 메모리 관리  (0) 2009.11.15
4장. 프로시저와 스택 구조  (0) 2009.11.15
3장. 기계어의 구성  (0) 2009.11.15

설정

트랙백

댓글

10장. 페이징

 

  • 하나의 프로세스에는 반드시 하나의 페이지 디렉토리가 존재 해야 한다.
  • 윈도우에서는 프로세스의 스위칭이 일어날 때마다 CR3 레지스터의 페이지 디렉토리 PFN 을 바꾸어줌으로써 해당 프로세스가 사용하는 가상 메모리를 전혀 다른 물리적 주소와 매핑시킬 수 있게 하는 것이다.
  • 4MB 단위의 페이징 시스템을 구성할 경우 물리적 메모리에 대한 할당의 최소 단위가 4MB이므로 엄청난 내부 단편화가 발생할 것이기 때문이다. 하지만 4MB단위의 페이징 시스템의 장점을 살리기 위해 128MB 이상의 물리적 메모리를 가진 시스템에 대해서는 0x8000 0000 ~ 0x9fff ffff 에 로드하게 하고 있으며, 이 영역에 대해서는 4MB 단위의 페이지로 구성하게 된다.
  • 윈도우에서는 0xc000 0000 ~ 0xc03f ffff 에 PTE, PDE 정보를 매핑하고 있다. 0x0~0xfff 의 PTE정보는 0xc000 0000에, 0x1000 ~ 0x2fff 주소의 PTE정보는 0xc000 0004 부분에 저장된다.

    • PTE 주소 = 0xc000 0000 + ( (가상주소 / 0x1000) * 4 )
    • PDE 주소 = 0xc030 0000 + ( (가상주소 / 0x400000 ) * 4 )
    • 가상주소 0x1000000 의 PTE 주소는 0xc000 0000 + ( (0x1000000/0x1000)*4 ) = 0xC000 4000
    • PDE 주소는 0xc000 0000 + ( (0x1000000/0x400000)*4 ) = 0xc0300010
  • 페이징에서의 특권 레벨

    • 유저 레벨 : 0x0 ~ 0x7fff ffff : 하위 2GB의 PDE, PTE의 User/Supervisor 비트는 1로 세팅
    • 커널 레벨 : 0x8000 0000 ~ 0xffff ffff : PDE, PTE 의 User/Supervisor 비트는 0 으로 세팅하고 있다.
  • System Page Table : 커널 영역의 메모리를 나타내는데 사용되는 페이지 테이블, 윈도우는 커널 메모리 영역을 공유하기 위해 하나의 시스템 페이지 테이블을 유지하고 있다.
  • 동일한 DLL 이 여러 프로세스에 공유되어 메모리의 절약을 한다. 윈도우에서는 DLL을 공유하기 위해서 Windows 로더가 DLL을 메모리에 적재할 때 Memory Mapped File 형태로 DLL 파일을 메모리에 매핑하고 있으며, 이는 마치 App 에서 프로세스간 공유 메모리 또는 파일을 메모리에 매핑하는 방식과 동일한 방법이다.
  • 동일한 DLL 공유시 한 프로세스가 일부 코드를 다른 DLL과 다르게 수정 할 경우에는 Copy-On-Write 라는 개념을 사용한다.

    • COW 는 공유 DLL 을 수정 해야 할 경우, 그 페이지를 새로운 페이지에 동일한 내용으로 복사하여 변경을 하고, 새롭게 변경된 페이지를 가리키도록 한다.
    • Windows는 DLL이 메모리에 올라갈 때에 모든 코드 페이지에 대해 읽기 전용 속성의 페이지로 만들게 되며, 사용자 또는 기타 시스템이 이 페이지의 내용을 수정하기 위해서는 VirtualProtect() or VirtualProtectEx() 의 Win32 API를 사용하여 읽기/쓰기 가 가능한 페이지 속성으로 변경하여 주어야 한다. 하지만 실제 PTE내용은 변경하지 않고 읽기 전용을 유지하고, Windows 내부에서 이 페이지의 내용이 읽기/쓰기가 가능한 COW 페이지임을 세팅하여 놓기만 한다. 그리고 이후 사용자가 이 페이지에 대하여 쓰기를 시도할 경우 마이크로프로세서는 메모리 접근 에러를 발생시키고, Windows 운영체제의 페이지 폴트 핸들러에서 이 페이지의 내용이 읽기/쓰기 가능한 Copy-On-Write 페이지임을 확인한 후 이전에 설명한 방법에 의하여 Copy-On-Write가 행해지게 된다.
  • PPTE( Prototype Page Table Entry )

    • Windows 는 공유된 DLL 또는 메모리 맵에 의하여 파일이 공유되어 질 때, PPTE라는 PTE를 하나 더 생성한다.
    • 새로운 프로세스에서 DLL 의 공유를 원하는 경우 PPTE정보를 참조하여 이 DLL의 PTE정보를 구성하게 된다.
    • 공유하고 있는 MemoryMapped File 또는 공유된 DLL 에 대하여 Windows 에서 본래의 페이지 위치를 이 별도의 PPTE를 통하여 관리( COW 에 의해 가리키는 페이지가 다른 곳으로 바뀔수 있는데, 이 경우 PPTE를 통해 본래의 PTE 정보를 찾아갈 수 있다 )
    • 공유된 페이지가 Invalidated or Page-Out 되어 졌을 때, 그 페이지를 공유하고 있는 모든 프로세스의 PTE에 대하여 PPTE를 지시 할 수 있는 특별한 형태의 데이터를 써 넣게 된다. 그리고 프로세스에서 그 페이지에 접근하려 할 경우 Page-In 이 되고, PPTE정보에 이 페이지가 로드된 물리적 어드레스로 갱신시켜주면 된다. 다른 프로세스에서 이 페이지 내용을 참조 할 경우 PTD 에 저장되어 있는 PPTE정보를 참조하여 Page-In 되어 있는 물리적 주소를 얻어 올 수 있게 되는 것이다.

 

  • 2.JPG 공유되고 있는 페이지에 대해 Process B 에 의해 먼저 접근이 이루어져 해당 페이지의 물리적 메모리를 읽어 들인다. 이때 PPTE 정보만이 실제 물리적 주소를 가리키도록 생신 시켜준다. 이후에 Process A 는 PPTE 정보를 통해 공유 페이지에 대한 물리 주소를 얻어 온다.

 

 

 

 

 

 

 

 

 

 

  • Windows 에서는 각 프로세스의 독립적인 메모리를 유지하기 위해 프로세스 마다 페이지 디렉토리를 가지고 있으며, 서로 다른 프로세스로의 전환 시에는 마이크로프로세서의 CR3 값을 전환하고자 하는 프로세스의 페이지 디렉토리로 변경함으로써 간단히 다른 프로세스의 메모리 영역으로 바꾸고 있다.

 

 


'책 정리 > Windows 구조와 원리 그리고 Codes' 카테고리의 다른 글

11장. 페이지 관리  (0) 2009.11.15
9장. 세그먼테이션  (0) 2009.11.15
8장. 메모리 관리  (0) 2009.11.15
4장. 프로시저와 스택 구조  (0) 2009.11.15
3장. 기계어의 구성  (0) 2009.11.15

설정

트랙백

댓글

9장. 세그먼테이션

  • 선형 메모리 : OS에서 사용자가 지정한 메모리 주소와 세그먼트 레지스터가 합해져서 얻어디는 메모리
  • 세그먼테이션 : 사용자가 지정한 메모리 주소로부터 선형 메모리까지 얻어지는 과정

    • 접근하고자 하는 메모리에 대한 세그먼테이션 과정이 끝나게 되면, 마이크로프로세서는 위 과정에서 얻어진 선형 메모리로 부터 페이징 메커니즘에 의해 물리 메모리 주소를 가지고 온다.
  • 16비트때 적용 되던, Segment : Offset 메카니즘이 32비트, 64비트 이후에도 동일하게 적용 되었다.
  • GDT(Global Descriptor Table) :  모든 프로그램이 참조할 수 있는 세그먼트 디스크립터들의 모임
  • LDT(Local ~ ) : 멀티태스킹 환경에서 각 태스크 단위로 정의할 수 있다. ( 윈도우  NT 계열의 경우 이 LDT를 정의 하지 않고 있다. )
  • GDTR : 디스크립터테이블의 시작 위치( 32bits ), Limit( 16bits, 해당 테이블의 사이즈 - 1 값 )

    • 하나의 디스크립터는 8Bytes, Table Limit = (디스크립터 개수 * 8) - 1 이므로 최대 세그먼트 디스크립터의 개수는 8192( 실제 사용 가능 개수는 8192 = 2^13 - NULL 디스크립터 때문 )
  • 세그먼트 셀렉터

    • Index (상위 13 bits) - 세그먼트 테이블에 있는 디스크립터의 배열에서 어떤 것을 선택할 것인지 나타냄
    • TI (1 bit) - 0 : GDT/ 1 : LDT 를 사용 할지 선택
    • RPL( 2 bits ) - 특권레벨
  • Ntddk.h 에 정의 되어 있는 윈도우의 세그먼트들

    • #define KGDT_NULL 0
    • #define KGDT_RO_CODE 8
    • #define KGDT_R0_DATA 16
    • #define KGDT_R3_CODE 24
    • #define KGDT_R3_DATA 32
    • #define KGDT_R0_PCR 48
    • #define KGDT_R3_TEB 56
    • .....
  • 윈도우의 하위 2GByte( 0 ~ 0x7fff ffff ) : 어플리케이션이 사용, 윈도우의 상위 2GByte( 0x8000 0000 ~ 0xffff ffff ) : 커널레벨에서 사용하는 영역
  • 어플리케이션에서의 세그먼트 레지스터와 내용
    • 코드 세그먼트( 코드영역 ) : 0x1B 윈도우에서는 커널의 메모리에 대한 보호를 세그먼트 디스크립터를 통하여 하고 있지 않기 때문에 0 ~ 0xffff ffff 의 4GB 범위이다. 즉, 이 세그먼트 디스크립터에서는 커널레벨의 메모리 까지 접근을 허용하고 있지만 페이징 과정에서 접근을 허용하지 못하도록 한다.
    • 데이터 세그먼트( 데이터영역 ) : 0x23 베이스 어드레스 가 0, 크기는 0xffff ffff, 즉 4GB 까지 지시할 수 있다.
    • 스택 세그먼트0x23  윈도우의 경우 스택 세그먼트를 위한 별도의 속성을 가지는 디스크립터를 정의하지는 않고 있으며, 어플리케이션의 데이터 세그먼트를 같이 사용하고 있다.
    • FS 레지스터 : 프로그램에 보조적인 용도로 사용 할 수 있도록 추가적으로 제공해 주고 있는 세그먼트. 윈도우즈 어플리케이션 레벨에서는 FS 레지스터를 TIB( Thread Information Block ) 의 영역을 지시하는데 사용하고 있다. TIB 에는 쓰레드에 대한 예외 처리( Exception Handler ) 정보, 스택의 시작 주소, 스택의 마지막 주소 등을 나타내고 있다. 베이스 어드레스는 0x7ffd e000 이며, 즉, fs:0 메모리 가 실제로는 DS:0x7ffd e000 과 일치 한다는 이야기 이다. 유저레벨에서의 FS 세그먼트 레지스터의 베이스 어드레스에는 해당 프로세서의 쓰레드 생성 순서와 매우 중요한 연관 관계를 가진다. FS 의 베이스 어드레스가 0x7ffde000 이며, 두 번째 생성되는 쓰레드의 FS 베이스 어디레스는 0x7ffd d000 이 되며, 세 번째는 0x7ffd c000 이 되며, 그 이후의 주소는 각각 4KByte씩 줄여나가면 된다.
    • 각각의 쓰레드가 FS 세그먼트 0x38을사용하면서 그 세그먼트의 베이스 주소를 다르게 한다는 곳은 윈도우에서 쓰레드 스위칭이 발생할 때 마다 그 내용을 바꿔주고 있다는 의미이다.
  •  커널레벨에서의 세그먼트 레지스터와 그 내용
    • 코드 세그먼트 0x8( RPL:0 ) : 베이스 어드레스 : 0, 리미트 : 0xffff ffff, 즉 2GB 까지의 크기를 가지고 있다.
    • 데이터 세그먼트 0x23 : 어플리케이션에서 사용하였던 데이터 세그먼트가 그대로 사용되어 짐. 인텔 마이크로프로세서에서는 데이터 세그먼트가 현재의 실행 특권레벨 보다 낮은 것은 모든 허용하기 때문에 괜찮고, 윈도우에서 User 레벨에서 Kernel 레벨로의 진입 시 데이터 세그먼트에 대한 내용은 바꾸어 주지 않는다.
    • 스택 세그먼트 0x10 : 어플리케이션의 스택세그먼트와 비슷하며, DPL 값은 0 이다. ( 데이터 세그먼트와 달리 스택 세그먼트의 경우 현재 실행되고 있는 특권수준( CPL )과 같은 특권레벨( DPL )을 가져야 하기 때문이다.
    • FS 세그먼트 : 베이스 어드레스 0xffdf f000, 이 FS 세그먼트 레지스터의 베이스 어드레스는 쓰레드 마다 바뀌지 않는다. 커널레벨에서의 FS 세그먼트 레지스터는 유저 레벨에서 처럼 쓰레드 마다 독립적인 용도로 사용되어지지 않으며, 운영체제에서 현재 프로세서의 여러가지 정보를 나타내기 위하여 KPCR( Kernel's Processor Control Region ) 이라는 구조체를 만들어 사용하고 있다. 이 구조체의 내용은 IRQL 값이라든지, 프로세서의 개수, 각종 디스크립터 테이블의 위치 정보가 들어가 있게 된다.
    • 시스템 프로그래머 중 프로그래머가 직접 인터럽트를 핸들링함으로써 유저레벨로부터 커널레벨로 제어 이행이 수행될 경우 반드시 FS 레지스터를 커널레벨의 세그먼트 값 0x30 으로 바꿔줘야 한다. 만약 유저레벨에서 커널레벨로의 진입시 이 FS 의 내용을 커널레벨로 바꾸지 않는다면 PsGetCurrentProcess 함수는 유저레벨의 FS 베이스 주소로 액세스를 하여 잘못된 결과를 낳을 것이다.

 


'책 정리 > Windows 구조와 원리 그리고 Codes' 카테고리의 다른 글

11장. 페이지 관리  (0) 2009.11.15
10장. 페이징  (0) 2009.11.15
8장. 메모리 관리  (0) 2009.11.15
4장. 프로시저와 스택 구조  (0) 2009.11.15
3장. 기계어의 구성  (0) 2009.11.15

설정

트랙백

댓글

8장. 메모리 관리

  • 페이지 교체 기법 : 요청된 모든 데이터가 실 메모리에 모두 매핑되어 있고, 다른 주소의 데이터를 프로그램에서 요청 할 경우, 현재 사용 중인 어떤 페이지를 새로 요청한 페이지로 교체해야 하는데 이를 페이지 교체 기법이라 한다.
  • 페이지 테이블을 1단계로 하게 되면, 각 프로세스가 4GB 까지 매핑 가능하다고 할 때, 각 엔트리는 프레임 번호를 가지고 있게 된다. 한 엔트리의 크기가 4Bytes가 될 것이고, 갯수는 1048576 개가 되므로, 총 4MB가 된다. 프로세서가 3개 수행되는 경우에는 12MB 가 필요하게 될 것이다. 프로세서 갯수에 따라 메모리 정보 표시를 위해 상당한 메모리가 요구된다. 그래서 이를 두 단계로 나누게 되면 프로세서 갯수에 상관없이 Page Directory(4KB), Page Tables(4MB) 가 필요하게 된다.
  • Page Directory 부분만 메모리에 올려놓고, Page Table 에 대해서는 필요 시에만 만들어 메모리에 올려 놓아서 이와 같은 낭비를 줄이고 있다.
  • 세그먼트 기법 : 프로그램과 관련된 데이터들에 대하여 여러 개의 세그먼트들로 나누어 다루게 되며 이 세그먼트의 크기는 똑같을 필요가 없다.
  • 응용 프로그램 수행시 세그먼트 형태로 코드부, 리소스부, 데이터부, 디버깅 정보, 스택 메모리 등의 부분을 따로 만들어 배치 하게 된다. 각 세그먼트의 세부 사항은 인텔 매뉴얼을 참고 하기 바란다. 마이크로프로세서는 세그먼트 테이블을 참조하여 해당 세그먼트의 시작 주소와 더해져 실제적인 물리적 위치로 변환해 주기 때문에 다른 세그먼트의 데이터를 다루기 편리하다.

    1.JPG 

 

  •  이러한 세그먼트 기법은 문제점이 있는데, 세그먼트 크기가 크고, 메모리가 모든 세그먼트를 올리기에 불충분 하게 되면, 세그먼트 들을 올리고 내리는 작업을 반복해야 되고, 크기가 커서 큰 오베헤드를 지불해야한다. 해결방법으로, 세그먼트의 크기를 가능한 작게 만들어 배치하는 것인데 즉, 세그먼트와 페이징 기법을 병합하여 사용하는 것이다.
  • 페이징은 외부 단편화가 존재하지 않고 주기억장치를 효율적으로 사용할 수 있으며, 세그먼트의 경우 가변적인 자료구조, 모듈성의 처리, 그리고 공유와 보호를 지원하는 등의 장점을 가제 된다.

설정

트랙백

댓글

4장. 프로시저와 스택 구조

 

  • 함수가 호출 될 때 스택의 변화

    • 함수가 호출 되기 직전에 함수의 인자 값을 먼저 스택에 쌓고, 함수의 복귀 주소이전의 EBP 를 push, ESP를 이동 시킨다. 그리고 그 함수 스코프 내에 있는 지역 변수( 먼저 선언 한 것이 먼저 스택에 쌓인다 )를 push 한다.
    • 함수의 인자 값 : 제일 뒤에 있는 인자 값이 스택에 먼저 PUSH 된다.(default 로... 컴파일 옵션에 따라 달라 질 수 있다.)
    • 인자 값 접근 : EBP를 기준[복귀주소]으로 + 0x4[첫 번째 지역변수] or 0x8[두 번째 지역변수]... ( 32 비트 환경 )

      • ESP를 return 되는 함수 복귀 주소 가 저장 되어 있는 곳 이전 데이터를 가리키고 있다.

      함수가 return 될 때 스택의 변화

    • 지역변수 접근EBP - 0x4[ 이전의 EBP ], EBP - 0x8[ 지역변수1 ]

 

  • 스택에서 ESP의 위치만 바꿀 뿐, 기존에 있는 데이터는 쓰래기 값 처럼 대우를 한다. 데이터를 PUSH 할 때는 그냥 덮어서 쓴다.

 

  • 스택 프레임

    • 스택 프레임은 스택에서 PUSH 로 인한 ESP 의 변화로 인한 지역변수 접근 문제 때문에 만들어졌다. 이 때 EBP가 등장.

 

  • 파라미터 전달의 방법 : Calling Convention - 스택에 파라미터를 어떤 순서로 넣을지, 전달되어진 파라미터를 어느 곳에서 해제할 건인지 방식을 정하는 것

    • 이러한 Calling Convention은 컴파일러에 의해 코드가 자동으로 만들어 진다.
    •  __cdecl :  C/C++ 에서 default 로 사용하는 콜링 컨벤션 방식     ex ) int sum( int a, int b )

      • 파라미터 전달 : 오른쪽에서 왼쪽으로
      • 파라미터 해제 : 프로시저를 호출한 쪽에서 해제
    • __stdcall : Windows API 의 프로시저에서 사용하는 콜링 컨벤션 방식   ex ) int __stdcall sum( int a, int b )

      • 파라미터 전달 : __cdecl 과 같음
      • 파라미터 해제 : 프로시저가 복귀되기 전에 이루어진다.
      • 장점

        • 함수의 독립성이 뛰어나다 : 함수가 리턴되어진 후에 그 프로시저의 SP가 이전 상태로 복원되어 있어서, 복귀후에 호출 프로시저에 대하여 더 이상 신경 안써도 된다.
        • 스택 해제 코드가 호출한 프로시저 안에 있어서, 프로시저가 여러 곳에서 호출 되더라도 스택을 해제하는 코든느 프로시저 내에 하나만 존재하여 __cdecl 방식보다 코드크기가 줄어 든다.
    • __fastcall

      • 파라미터 전달 : 처음 두 개까지의 파라미터는 스택을 사용하지 않고, ecx, edx 레지스터를 사용하고 그 이상의 파라미터에 대해서만 오른쪽에서 왼쪽 방향으로 스택에 저장
      • 스택 제거는 __stdcall과 동일
  • 리턴 값 전달 방법

    • 32비트 보다 작거나 같은 값 일 경우 : 프로시저 리턴 전에 EAX에 리턴 값을 저장
    • 32비트 보다 큰 경우 : 낮은 주소 영역의 32비트 -> EAX , 상위 32비트 -> EDX 에 저장

 

  • Naked Function

    • Interrupt Handler 나 Hooking 루틴을 만들다 보면 프로그래머가 직접 스택 프레임을 구성하고, 원하는 형태로 함수의 구조를 만들어야 하는 경우 사용을 한다.
    • 모든 스택 프레임에 대한 구성과 해제를 프로그래ㄴ머가 직접 신경 써 줘야 한다.
    1. __declspec(naked)NamedFunc()
      {
    2. int i;  int j;
    3. __asm {
    4. push ebp
    5. mov ebp, esp
    6. sub esp, __LOCAL_SIZE }
    7. i = 1; j = 2;
    8. __asm {
    9. mov esp, ebp
    10. pop ebp
    11. ret }
    12. }

 

  • Windows 에서의 스택 구조

    • 쓰레드 생성 시 디폴트로 1MByte의 메모리를 예약하여 놓고 이 중 1개의 페이지인 4byte 만을 실제 메모리와 매핑, 다른 1개는 가드 페이지( Guard Page ) 형태로 만들어 놓는다. 나머지 메모리 들에 대해서는 예약만 해 놓고 실제 메모리와 매핑은 시켜놓지 않은 상태로 둔다.
    • 가드 페이지로 페이지 보호를 수행 한다. 최초 4Kbyte의 스택을 초과 하여 사용할 시에 가드 페이지 영역을 새로운 Committed Page로 바꿔주고 그 아래 페이지 영역의 부분을 새로운 가드 페이지로 바꾸어 준다.
    • 이런식으로 계속 페이지를 Committed Page로 바꾸지만, 마지막 페이지 직전까지 할당 했을때, 마지막 페이지는 Guard Page로 바꾸지 않고 Reserved Page로 그냥 둔다. 왜냐하면, 전체 영역에 대해 Commit 되게 하면, 쓰레드가 자신의 스택 영역을 초과하여 사용하더라도 이를 알아차리지 못하기 때문에, 다른 데이터 영역을 손상 시키고, 스택에 대한 오버플로우 문제를 발생 시킬수 있기 때문이다.
    • 나머지 페이지는 예약만 해놓아서 이 프로세스 공간에 대한 메모리 할당을 스택 용도 이외로 사용하지 못하게 한다. ???

 

 

 

설정

트랙백

댓글

3장. 기계어의 구성

  • 프로그램을 작성하고, 컴파일하면 실행파일로 만들어지고 이는 단순한 숫자 형태로 만들어진다. 이런 실행파일이나 이미 실행되어 메모리에 올라와 있는 실행 이미지를 분석하고자 할 때에는 이 숫자를 사람이 보다 이해하기 쉬운 형태인 어셈블리 언어 형태로 바꿔 볼때 사용하는 것이 디버거 또는 디스어셈블러 등이다.

 

  • 기계어 형식 => OP Code, Operand #1, Operand #2 ( Operand 수는 가변적 based on OP Code / operand #2 -> operand #1 으로 주로 조작이 이루어 진다. )

 

  • 명령어 표 보는 법 : m : Memory, r : Register

    • Imm8 : 8Bit - 1Byte
    • Imm16 : 16Bit - 2Byte
    • Imm32 : 32Bit - 4Byte
    • r/m32 : 범용 레지스터 또는 4Byte의 메모리
    • rel8 : 1Byte 사이즈 범위 내의 상대주소

      • JMP rel8 : 1Byte 사이즈 범위 내의 상대주소로 점프
      • CLL rel16 : 16비트 코드 실행 시에 2Byte의 사이즈 범위 내의 상대 주소로 함수 호출

 

  • 번지 지정 방식

    • 이미디어트( Immediate ) 번지 지정 방식

      • MOV EAX, 0x12345678 : EAX에 78 56 34 12 상수 값이 저장, 상수 값을 오퍼랜드로 사용
    • 레지스터 번지 지정 방식

      • MOV EAX, EBX

    • 직접 번지 지정 방식

      • MOV EAX, [0x12345678] : 0x12345678 에 있는 메모리 내용을 4bytes 읽어서 EAX에 저장
    • 레지스터 간접 번지 지정 방식

      • MOV EAX, [EBX] : EBX에 저장된 메모리 주소로 이동해서 메모리 내용을 4bytes 읽어서 EAX에 저장
    • 베이스 레지스터와 변위가 있는 레지스터 간접 번지 지정 방식

      • MOV EAX, [EBX + 0x4 ] : EBX가 base address로 하여 1 바이트 값을 취한다
    • 베이스 레지스터와 인덱스가 있는 레지스터 간접 전지 지정 방식

      • MOV EAX, [EBX + ECX * 2 ] : EBX - base address, BCX - index reg, 스케일 값 - 2
    • 베이스 레지스터와 인데스 그리고 변위가 있는 레지스터 간접 번지 지정 방식

      • MOV EAX, [EBX + ECX * 2 + 0x1234] : EBX - base address, BCX - index reg, 스케일 값 - 2

 


설정

트랙백

댓글

2장. 데이터의 표현과 메모리 구조

 

  • 8비트 데이터 버스에서 한번 접근시 1바이트를 읽어 오는데, 이는 하나의 메모리 안에 8개의 병렬로 메모리 가 존재하여, 행,열 주소 데이터를 가지고 8개의 메모리에 접근하여 데이터를 가져온다.
  • 8086의 16비트 프로세서에서 메모리 칩과 프로세서와의 관계에서, 메모리 접근시에는 두개의 메모리 칩이 필요하다.

    • 짝수 바이트를 저장는 D0 ~ D7, 홀수 바이트를 저장하는 D8 ~ D15가 있다. 짝수 번지에 워드 크기 단위로 접근시에는 한 번의 데이터 전송으로 끝날 수 있지만 짝수 번지에 워드 크기 단위로 접근을 하면, 두번의 접근이 필요하다.
  • 32( 4개의 메모리 칩이 필요 ), 64비트에서의 메모리 접근도 이를 통해 유추 할 수 있을 것이다.

 

 

'책 정리 > Windows 구조와 원리 그리고 Codes' 카테고리의 다른 글

9장. 세그먼테이션  (0) 2009.11.15
8장. 메모리 관리  (0) 2009.11.15
4장. 프로시저와 스택 구조  (0) 2009.11.15
3장. 기계어의 구성  (0) 2009.11.15
1장. 컴퓨터의 구조와 역사  (0) 2009.11.15

설정

트랙백

댓글

1장. 컴퓨터의 구조와 역사

 

  • 16비트 마이크로 프로세서

16비트 데이터 버스를 의미하는 것이며, 데이터 전송을 위해 핀을 16개 사용한다는 뜻이다.

  • 8086

    • 16비트 CPU로서, 16비트 데이터 버스를 가지고 있지만 더 많은 메모리 엑세스를 위해 20비트 어드레스 버스를 가진다.
    •  세그먼트 방식 도입 : 내부 레지스터는 모두 16비트의 크기를 가지므로 20비트의 크기(1MB 주소 사용 가능)를 그대로 사용은 할 수가 없어서...

      segment(16-bit):offset(16-bit) -> 실제 주소사용시 16비트의 세그먼트값을 4비트 좌로 쉬프트하고 이를 offset과 더한다.
      ex : 0xb1234 = b123h(segment) + 4(offset) 하지만, 한 물리 주소를 위한 여러 개의 segment:offset 쌍이 존재

       

      IP(Instruction Registe) : 실행될 명령어를 저장
      PC(Program Counter) : 다음에 실행될 명령어를 가져올 메모리 주소를 저장

  • 80836

    • 32비트 프로세서. 시스템, 제어, 디버그 레지스터의 추가
    • 시스템 레지스터( System Register )

      • 보호모드에서의 프로세서 제어와 검사를 위한 목적
    • 제어 레지스터(Control Register )

      • CR0, CR2, CR3
    • 디버그 레지스터

      • 하드웨어 브레이크 포인터를 가능하게 하는 레지스터( 4개 까지 가능 )
      • 해당 메모리 주소가 프로그램에 의해 액세스 되었을 때 프로그램이 멈추어 디버깅 루틴으로 제어가 
        넘어 갈 있도록 해준다.
    • TLB( Translation Lookaside Buffer ) 와 Test 레지스터

      • 일정 개수 만큼의 변환 내용( 가상 메모리 - 실 메모리 주소 ) 을 이 버퍼에 보관하여 변환 시간을 줄여 줌
      • 80386 이후의 마이크로프로세서는 이 TLB 내용에 대해 사용자가 직접 그 내용을 보거나 조작 가능, 이는 테스트 레지스터( Test Register )인 TR6, TR7에 의해 이루어진다.
    • TLB 제어

      • 읽기 요청

        1. 검색하고자 하는 선형 주소 값을 TR6( bit 12 ~ 31 ) 에 쓰기
        2. TR6의 C bit 를 1로 Set

        3. TR6의 M( bit4 )  가 0 이면 검색 성공( TR6, TR7에 주소가 저장 된다 ), 1이면 실패.
      • 쓰기 요청

        1. TR6, TR7에 쓰고자 하는 정보를 쓰고, T6레지스터의 C( bit 0 ) 을 0 으로 clear

 

  • 80486 에서는 캐쉬 데이터를 사용자가 직접 제어 할 수 있도록 추가된 레지스터

    • TR3( cache data register )

      • 캐쉬에 데이터를 쓰거나 읽을 때 캐쉬 한 라인에 포함 되어 있는 16byte의 데이터에 대한 창 역할
    • TR4( cache status test register )

      •  캐쉬 쓰기 또는 읽기 작업
    • TR5( cache control test )

      • 캐쉬의 세트와 라인을 선택, 캐쉬 제어

 

 

 

 

 

 

 

 

 

이 글은 스프링노트에서 작성되었습니다.

설정

트랙백

댓글

[후보출마 연설문 발췌] 더 나은 미국을 위하여

책 정리 2009. 9. 22. 01:32

Let me begin by saying thanks to all you who've traveled, from far and wide, to brave the cold today.

이렇게 추운 오늘날까지 멀리서 이렇게 와주신 분들에게 감사의 말씀 전하는것으로 시작을 하겠습니다.

 

The change we seek has always required great struggle and sacrifice.

우리가 찾는 변화는 항상 엄청난 고통과 희생을 요구했습니다.

 

And so this is a battle in our own hearts and minds about what kind of country we want and how hard we're willing to work for it.

그리고 또한 이것은 우리 마음과 머릿속에서 일어나는 '우리가 어떤 국가를 원하고 국가를 위해 얼마나 열심히 일할것인지'에 대한 싸움이기도 합니다.

 

So let me remind you tonight that change will not be easy.

그러므로 변화는 쉽지 않을것이라고 오늘저녁에 말씀드리고 싶습니다.

 

That change will take time.

그 변화는 시간을 필요로 할 것 입니다.

 

There will be setbacks, and false starts, and sometimes we will make mistakes.

뒤로 주저앉는 때도 있을것이고, 잘못된 시작들도 있을것이고, 가끔 우리는 실수도 할 것입니다.

 

But as hard as it may seem, we cannot lose hope.

하지만 어렵게 보일수록, 우리는 희망을 잃으면 안됩니다.

 

Because there are people all across this country who are counting us; who can't afford another four years without health care or good schools or decent wages.

왜냐하면 이 나라 곳곳에 우리에게 기대하고 있는 사람들이 있기 때문입니다. 의료 혜택이나 좋은 학교, 제대로 된 급여 없이 4년을 또 견뎌야 하는 사람들 말입니다.

 

There are the stories and voices we carry on.

그들은 우리가 이어가야할 이야기이며 목소리 입니다.

 

The mother who can't get Medicaid to cover all the need of her sick child - she needs us to pass a health care plan that cuts costs and makes health care available and affordable for every single American.

그녀의 아픈 아이를 위해서 치료를 받게 해 줄 수 없는 엄마-그녀는 '가격을 내려서 모든 미국인들에게 의료 혜택을 가능하고 감당할 수 있게' 하기 위한 계획을 법안에 통과시키기 위해 우리가 필요합니다.


The teacher who works another shift at Dunkin Donuts after school just to make ends meet - she needs us to reform our education system so that she gets better pay, and more support, and her students get the resources they need to achieve their dreams.

적당한 가격에 한끼를 해결하기 위해 방과 후 던킨도넛에 또 들리는 선생님- 그녀는 우리의 교육 시스템을 정비하기 위해 우리를 필요로 합니다. 그녀가 더 나은 급여를 받고 더 많은 지원을 받고 그녀의 학생들이 그들의 꿈들을 이루기 위한 원천을 얻을 수 있도록 말입니다.


The woman who told me that she hasn't been able to breathe since the day her nephew left for Iraq, or the soldier who doesn't know his child because he's on his third or fourth tour of duty - they need us to come together and put an end to a war that should've never been authorized and never been waged.

그녀의 조카가 이라크로 떠난 다음부터 하루도 제대로 숨을 쉴 수 없었다고 저에게 말한 여자분, 혹은 세번째, 네번째 출장때문에 자기 아이의 얼굴도 모르는 한 병사-그들은 우리가 애초부터 승인받고 돈을 들이지 말았어야 할 전쟁을 끝내기 위해 우리를 필요로 합니다.

 

The choice in this election is not between regions or religions of genders.

이 선거의 선택은 지역이나 종교나 성(性)에 따른게 아닙니다.

 

It's not about rich versus poor; young versus old; and it is not about black versus white.

부자 대(代-이게 맞나요? 대결할때 대 자예요 VS 이 뜻)가난한 사람이 아닙니다. 흑인대 백인도 아니구요.


It's about the past versus the future.

이것은 과거 대 미래에 대한 것 입니다.

 

There are those who will continue to tell us we cannot do this.

우리가 이걸 해내지 못할거라고 끊임없이 말하는 사람들이 있습니다.

 

 When I hear the cynical talk that blacks and whites and Latinos can't join together and work together, I'm reminded of the Latino brothers and sisters I organized with, and stood with, and fought with side by side for jobs and justice on the streets of Chicago.

제가 흑인과 백인과 라틴계는 함께 모이고 함께 일할 수 없다는 냉소적인 대화를 들을 때, 저는 저와 함께 시카고 길거리에서 직장(직업, 일터할 때 그 직장)과 정의(정의로운 그 정의요)를 위하여 이 모든것들을 구성하고, 함께 싸워준 라틴계 형제들과 자매들을 떠올리게 됩니다.

 

So don't tell us change can't happen.

그러니까 우리에게 변화는 일어날 수 없다고 말하지 마세요.

 

Yes we can change.

네 우리는 변화할 수 있습니다.

 

Yes we can heal this nation.

네 우리는 이 나라를 치료할 수 있습니다.

 

Yes we can seize our future.

네 우리는 우리의 미래를 잡을 수 있습니다.

Remarks of Senator Barack Obama: South Carolina victory Speech
Columbia, SC l January 26, 2008

 

-버락 오바마 의원의 사우스 캐롤라이나 주 승리기념 연설문 발췌

-사우스 캐롤라이나 주, 콜롬비아 시, 2008년 1월 26일

SC가 South Carolina를 뜻해요

설정

트랙백

댓글

[ 미국 대통령선거 후보 수락 연설문 ] 미국의 약속

책 정리 2009. 9. 22. 01:24

Thank you so much. Thank you very much. Thank you, everybody.

감사합니다. 감사합니다. 여러분 모두에게 감사드립니다.

 

To Chairman Dean and my great friend Dick Durbin; and to all my fellow citizens of this great nation; With profound gratitude and great humility, I accept your nomination for the presidency of the United States.

하워드 딘 전당대회 의장님, 저의 가장 훌륭한 친구인 딕 더번 상원의원, 그리고 위대한 미국의 친애하는 국민 여러분. 깊은 감사와 겸허한 마음으로 여러분의 미국 대통령후보직 지명을 수락합니다.

 

Let me express my thanks to the historic slate of candidates who accompanied me on this journey, and especially the one who traveled the farthest - a champion for working Americans and an inspiration to my daughters and to yours - Hillary Rodham Clinton. To President Clinton, who last night made the case for change as only he can make it; to Ted Kennedy, who embodies the spirit of service; and to the next Vice President of the United States, Joe Biden, I thank you. I am grateful to finish this journey with one of the finest statesmen of our time, a man at ease with everyone from world leaders to the conductors on the Amtrak train he still takes home every night.

저와 이 여정을 함께 해온 훌륭한 후보자들께도 감사를 드립니다. 그리고 특히 이 여정에서 끝까지 저와 경합을 벌였던, 미국 근로자들의 대변인이자, 저의 두 딸과 여러분의 딸에게 용기를 불러일으켜준 힐러리 로담 클린턴 후보께도 감사드립니다. 어젯밤, 오직 ‘그’만이 변화를 이뤄낼 수 있다고 말씀하신 클린턴 전 대통령과, 봉사란 무엇인가를 몸소 보여주신 테드 케네디 상원의원, 그리고 차기 미국 부통령이 될 조 바이든 후보께도 감사드립니다. 우리 시대의 가장 훌륭한 정치가 중 한 명인 그와 이 여정을 마칠 수 있게 된 것을 매우 감사하게 생각합니다. 그는 세계의 지도자들은 물론, 그가 아직도 매일 밤 퇴근할 때 타고 다니는 암트랙(미국의 국철)의 차장에 이르기까지 모든 이와 잘 지내는 사람입니다.

 

To the love of my life, our next First Lady, Michelle Obama, and to Sasha and Malia - I love you so much, and I´m so proud of all of you.

제 일생을 바쳐 사랑하는 사람이자 차기 영부인이 될 미셸 오바마, 그리고 사샤와 말리아, 모두 사랑해요. 그리고 너무 자랑스러워요.

 

Four years ago, I stood before you and told you my story - of the brief union between a young man from Kenya and a young woman from Kansas who weren´t well-off or well-known, but shared a belief that in America, their son could achieve whatever he put his mind to. It is that promise that has always set this country apart - that through hard work and sacrifice, each of us can pursue our individual dreams but still come together as one American family, to ensure that the next generation can pursue their dreams as well.

4년 전, 저는 여러분 앞에서 케냐에서 온 젊은 남성과 캔자스에서 온 젊은 여성의 만남에 대한 제 이야기를 말씀드렸습니다. 그들은 부유하지도 유명하지도 않았지만, 미국에선 그들의 아들이 마음먹은 것은 무엇이든 이뤄낼 수 있을 거란 믿음을 함께 갖고 있었습니다. 언제나 미국을 돋보이게 만들어온 것은 이런 약속이었습니다. 열심히 일하고 참고 희생하면, 우리의 자녀들도 각자의 꿈을 이룰 수 있을 뿐 아니라, 여전히 하나의 미국이란 가족으로 함께할 수 있다는 확신을 만들어주기 위해서 말입니다.

 

That´s why I stand here tonight. Because for two hundred and thirty two years, at each moment when that promise was in jeopardy, ordinary men and women - students and soldiers, farmers and teachers, nurses and janitors - found the courage to keep it alive.

오늘 제가 이 자리에 선 이유가 바로 그것입니다. 232년 동안, 그 약속이 위협에 처할 때마다 학생과 군인, 농부와 선생님, 간호사와 잡역부 같은 평범한 남성과 여성들이 그 약속을 지켜낼 용기를 보여왔기 때문입니다.

 

We meet at one of those defining moments - a moment when our nation is at war, our economy is in turmoil, and the American promise has been threatened once more.

우리는 지금 그런 결정적인 시기를 맞고 있습니다. 미국은 지금 전쟁을 치르고 있고, 경제는 곤경에 처했으며, 미국의 약속도 다시 위협받고 있습니다.

 

Tonight, more Americans are out of work and more are working harder for less. More of you have lost your homes and even more are watching your home values plummet. More of you have cars you can´t afford to drive, credit card bills you can´t afford to pay, and tuition that´s beyond your reach.

오늘도 많은 미국인이 일자리를 잃어버렸고, 많은 사람이 일한 만큼 보상받지 못합니다. 더 많은 사람이 집을 잃었고, 예전보다 더 많은 사람이 집값이 폭락하는 것을 지켜보고 있습니다. 더 많은 사람이 자동차 운행을 감당할 수 없게 되었고, 신용카드와 고지서 대금을 지급할 수 없게 되었으며, 학비를 감당하기가 어려워졌습니다.

 

These challenges are not all of government´s making. But the failure to respond is a direct result of a broken politics in Washington and the failed policies of George W. Bush.

정부가 이 모든 문제를 만들어낸 것은 아니지만, 이런 문제의 대처에 실패한 직접적인 원인은 붕괴된 워싱턴 정치와 조지 부시의 실정입니다.

 

America, we are better than these last eight years. We are a better country than this.

미국은 지난 8년보다 더 나을 수 있었습니다. 미국은 이보다 더 좋은 나라입니다.

 

This country is more decent than one where a woman in Ohio, on the brink of retirement, finds herself one illness away from disaster after a lifetime of hard work.

이 나라는 은퇴를 눈앞에 두고 있는 오하이오 주의 어떤 여성이 평생 고되게 일한 것에선 벗어났지만, 병에 걸렸음을 알게 되는 그런 나쁜 나라가 아닙니다.

 

This country is more generous than one where a man in Indiana has to pack up the equipment he´s worked on for twenty years and watch it shipped off to China, and then chokes up as he explains how he felt like a failure when he went home to tell his family the news.

인디애나 주의 한 남성이 20년 동안 자신과 함께 일했던 장비가 포장되어 중국으로 실려 가는 것을 보고, 집으로 돌아가 가족들에게 패배자가 된 심정으로 그 소식을 전하며 목이 메어야 하는 그런 인색한 나라가 아닙니다.

 

We are more compassionate than a government that lets veterans sleep on our streets and families slide into poverty; that sits on its hands while a major American city drowns before our eyes.

우리는 퇴역 군인들을 길바닥에서 자게 만들고, 가족들을 빈곤으로 몰아넣는 정부처럼 몰인정한 사람들이 아닙니다. 미국의 주요 도시 하나가 우리 눈앞에서 물에 잠겨가는 데도 수수방관하는 그런 정부 말입니다.

 

Tonight, I say to the American people, to Democrats and Republicans and Independents across this great land - enough! This moment - this election - is our chance to keep, in the 21st century, the American promise alive. Because next week, in Minnesota, the same party that brought you two terms of George Bush and Dick Cheney will ask this country for a third. And we are here because we love this country too much to let the next four years look like the last eight. On November 4th, we must stand up and say: “Eight is enough.”

오늘 밤, 저는 이 위대한 나라에 살고 계신 미국 국민 여러분께, 민주당원, 공화당원, 그리고 무소속의 정치인 모두에게 말씀드립니다. “그만하면 됐습니다!” 지금 이 선거는 21세기에 미국의 약속을 살려낼 우리의 기회입니다. 왜냐하면 이미 두 번의 임기를 거친 조지 부시와 딕 체니를 배출한 같은 정당이 다음 주 미네소타(공화당 전당대회가 열리는 장소)에서 세 번째 선출을 여러분께 요구할 것이기 때문입니다. 앞으로의 4년이 지난 8년과 비슷해지도록 놔두기엔 우리는 이 나라를 너무 사랑하기 때문입니다. 11월4일, 우리는 일어나서 이렇게 외쳐야 합니다. “8년이면 충분하다!”

 

Now let there be no doubt. The Republican nominee, John McCain, has worn the uniform of our country with bravery and distinction, and for that we owe him our gratitude and respect. And next week, we´ll also hear about those occasions when he´s broken with his party as evidence that he can deliver the change that we need.

이제 의심하지 맙시다. 공화당의 후보인 존 매케인은 용감하고 명예롭게 이 나라의 군복을 입었었고, 그래서 우리는 그에게 감사와 존경을 표합니다. 그리고 다음 주에 우리는 그가 우리에게 필요한 변화를 가져다줄 수 있다는 증거로 공화당과 갈라서겠다는 이야기를 듣게 될 것입니다.

 

But the record´s clear: John McCain has voted with George Bush ninety percent of the time. Senator McCain likes to talk about judgment, but really, what does it say about your judgment when you think George Bush has been right more than ninety percent of the time? I don´t know about you, but I´m not ready to take a ten percent chance on change.

그러나 그간의 기록은 그렇지 않습니다. 존 매케인은 임기 내내 조지 부시의 의견에 90% 이상 찬성표를 던져왔습니다. 매케인 상원의원은 ‘심판’이란 말을 즐겨 합니다. 하지만 정말로 항상 조지 부시가 90% 이상 옳았다고 생각하면서 무슨 심판을 한다는 것입니까? 나는 당신에 대해 잘 모르지만, 10%의 가능성밖에 없는 변화를 택할 생각은 없습니다.

 

The truth is, on issue after issue that would make a difference in your lives - on health care and education and the economy - Senator McCain has been anything but independent. He said that our economy has made “great progress” under this President. He said that the fundamentals of the economy are strong. And when one of his chief advisors - the man who wrote his economic plan - was talking about the anxiety Americans are feeling, he said that we were just suffering from a “mental recession,” and that we´ve become, and I quote, “a nation of whiners.”

사실 여러분의 삶을 바꿔놓을 수 있는 의료보험, 교육, 그리고 경제 등의 모든 문제에 대해 매케인 상원의원은 독선적일 뿐이었습니다. 지금 대통령의 통치하에서 우리 경제가 “엄청난 성장”을 이뤄냈다고 말합니다. 우리 경제의 기반이 튼튼하다고 말합니다. 그리고 그의 경제 정책을 입안한 수석 비서관이 미국인들이 불안을 느끼고 있다고 말하자 우리가 “정신적 경기 침체”를 겪고 있을 뿐이며, 제가 듣기로는 우리나라가 “불평꾼들의 나라”가 돼가고 있다고 말했다고 합니다.

 

A nation of whiners? Tell that to the proud auto workers at a Michigan plant who, after they found out it was closing, kept showing up every day and working as hard as ever, because they knew there were people who counted on the brakes that they made. Tell that to the military families who shoulder their burdens silently as they watch their loved ones leave for their third or fourth or fifth tour of duty. These are not whiners. They work hard and give back and keep going without complaint. These are the Americans that I know.

불평꾼들의 나라라고요? 공장이 곧 문을 닫을 것을 알면서도 자기들이 만드는 브레이크를 필요로 하는 사람들이 있다는 것을 알기 때문에 매일 출근해서 예전처럼 열심히 일한 미시간 주의 자랑스러운 자동차 산업 근로자들에게 그렇게 말해보십시오. 사랑하는 자기 자식이 세 번, 네 번 혹은 다섯 번째 파병을 떠나는 걸 보면서도 조용히 그 짐을 짊어져온 군인 가족들에게 그렇게 말해보십시오. 이들은 불평꾼이 아닙니다. 그들은 열심히 일하고, 받은 만큼 되돌려주며, 불평 없이 계속 해나갑니다. 이런 사람들이 제가 알고 있는 미국인입니다.

 

Now, I don´t believe that Senator McCain doesn´t care what´s going on in the lives of Americans. I just think he doesn´t know. Why else would he define middle-class as someone making under five million dollars a year? How else could he propose hundreds of billions in tax breaks for big corporations and oil companies but not one penny of tax relief to more than one hundred million Americans? How else could he offer a health care plan that would actually tax people´s benefits, or an education plan that would do nothing to help families pay for college, or a plan that would privatize Social Security and gamble your retirement?

지금도 저는 매케인 상원의원이 미국인의 삶이 어떻게 되든 개의치 않는다고 믿지는 않습니다. 단지 그가 잘 모른다고 생각할 뿐입니다. 그런 게 아니라면 어떻게 1년에 500만달러 이하를 버는 사람들이 중산층이라고 말하겠습니까? 어떻게 큰 기업과 정유회사들에는 수천억달러의 세제 혜택을 제안하면서, 1억명 이상의 미국 국민에겐 세금을 한 푼도 깎아주려 하지 않는 겁니까? 어떻게 실제로는 국민의 복지에 부담이 될 의료보험 계획, 학자금을 내야 하는 가족들에겐 전혀 도움이 안 될 교육 계획, 사회보장제도를 민영화하여 당신의 퇴직금을 걸고 도박을 하게 만들 계획만 제안하는 겁니까?

 

It´s not because John McCain doesn´t care. It´s because John McCain doesn´t get it.

그건 존 매케인이 신경을 쓰지 않기 때문이 아닙니다. 매케인이 모르기 때문입니다.

 

For over two decades, he´s subscribed to that old, discredited Republican philosophy - give more and more to those with the most and hope that prosperity trickles down to everyone else. In Washington, they call this the Ownership Society, but what it really means is - you´re on your own. Out of work? Tough luck. No health care? The market will fix it. Born into poverty? Pull yourself up by your own bootstraps - even if you don´t have boots. You´re on your own.

20년이 넘게, 그는 가장 많이 가진 자들에게 더 많은 것을 베풀면서 번영이 조금씩이나마 모두에게 돌아가기를 바라는, 저 낡고 신뢰를 잃은 공화당의 철학을 지지해왔습니다. 워싱턴 정가에서 그들은 이것을 ‘소유의 사회’라 부르지만, 그것이 진짜 의미하는 것은 “각자 알아서 해라”입니다. 실직했나요? 운이 없군요. 의료보험이 없나요? 시장이 해결해줄 것입니다. 가난하게 태어났나요? 자수성가하세요. 붙잡고 일어설 것이 아무것도 없는데 알아서 하라는 것입니다.

 

Well it´s time for them to own their failure. It´s time for us to change America.

지금은 그들이 자신의 잘못을 인정할 때입니다. 지금은 우리가 미국을 변화시킬 때입니다.

You see, we Democrats have a very different measure of what constitutes progress in this country.

여러분께서 아시는 것처럼, 우리 민주당은 무엇이 이 나라의 발전을 가져오느냐에 대해 매우 다른 기준을 갖고 있습니다.

 

We measure progress by how many people can find a job that pays the mortgage; whether you can put a little extra money away at the end of each month so you can someday watch your child receive her college diploma. We measure progress in the 23 million new jobs that were created when Bill Clinton was President - when the average American family saw its income go up $7,500 instead of down $2,000 like it has under George Bush.

우리는 얼마나 많은 사람이 주택담보 대출을 갚을 만한 직업을 찾을 수 있는지, 아니면 우리 자식들이 언젠가 대학 학위를 받는 것을 보기 위해 매월 말 적은 돈이라도 따로 떼어놓을 수 있는지로 발전 여부를 판단합니다. 우리는 빌 클린턴 재임 기간 중 만들어진 2,300만 개의 일자리와 가계 평균 소득이 조지 부시 때에 와서 2,000달러 줄어든 것 대신에 7,500달러 증가했던 것으로 발전 여부를 판단합니다.

 

We measure the strength of our economy not by the number of billionaires we have or the profits of the Fortune 500, but by whether someone with a good idea can take a risk and start a new business, or whether the waitress who lives on tips can take a day off to look after a sick kid without losing her job - an economy that honors the dignity of work.

우리는 억만장자의 숫자나 포천지가 선정한 500대 기업의 이윤이 아니라, 좋은 아이디어를 갖고 있는 사람이 위험을 무릅쓰고 새로운 사업을 시작할 수 있는지, 혹은 팁에 의존해서 살고 있는 여종업원이 아픈 아이를 돌보기 위해 하루쯤 쉬어도 직장을 잃지 않을 수 있는지로 우리 경제의 힘을 판단합니다. 다시 말하자면 노동의 존엄성을 소중히 여기는 경제입니다.

 

The fundamentals we use to measure economic strength are whether we are living up to that fundamental promise that has made this country great - a promise that is the only reason I am standing here tonight.

우리가 경제력을 측정하는 데 사용하는 기반은 이 나라를 위대하게 만든 그 본질적인 약속을 실천하고 있는지 여부입니다. 이 약속은 제가 오늘밤 여기에 서 있는 유일한 이유이기도 합니다.

 

Because in the faces of those young veterans who come back from Iraq and Afghanistan, I see my grandfather, who signed up after Pearl Harbor, marched in Patton´s Army, and was rewarded by a grateful nation with the chance to go to college on the GI Bill.

왜냐하면 저는 이라크와 아프가니스탄에서 돌아오는 젊은 병사들의 얼굴에서, 진주만 공습 때 자원입대했고, 패튼 전차부대에서 진군했으며, 이에 감사하는 나라가 제정한 제대군인원호법(GI Bill)에 의해 대학에 갈 기회로 보상을 받았던 제 할아버지의 모습을 보기 때문입니다.

 

In the face of that young student who sleeps just three hours before working the night shift, I think about my mom, who raised my sister and me on her own while she worked and earned her degree; who once turned to food stamps but was still able to send us to the best schools in the country with the help of student loans and scholarships.

야간 근무를 가기 전에 겨우 세 시간밖에 자지 못하는 젊은 학생의 얼굴을 보면서 저는 제 어머니를 생각합니다. 어머니께서는 일과 공부를 병행하면서 제 여동생과 저를 혼자 힘으로 키우셨습니다. 한때는 푸드 스탬프(빈민구호용 식료품 쿠폰)에 의지한 적도 있었지만, 학자금 대출과 장학금의 도움으로 저희를 이 나라에서 가장 훌륭한 학교에 보내실 수 있었습니다.

 

When I listen to another worker tell me that his factory has shut down, I remember all those men and women on the South Side of Chicago who I stood by and fought for two decades ago after the local steel plant closed.

어떤 근로자가 저에게 공장이 문을 닫았다고 말하는 것을 들을 때면, 저는 20년 전 그 지역의 철강 공장이 문을 닫은 후 제가 옆에 서서 함께 싸웠던 시카고 남부의 모든 남성과 여성을 생각합니다.

 

And when I hear a woman talk about the difficulties of starting her own business, I think about my grandmother, who worked her way up from the secretarial pool to middle-management, despite years of being passed over for promotions because she was a woman. She´s the one who taught me about hard work. She´s the one who put off buying a new car or a new dress for herself so that I could have a better life. She poured everything she had into me. And although she can no longer travel, I know that she´s watching tonight, and that tonight is her night as well.

그리고 자영업을 시작하는 어려움에 대해 토로하는 어떤 여성의 이야기를 들으면서, 저는 비서직 대기자에서 시작해서 중간 관리자로 승진했지만, 여성이기 때문에 승진 연한을 훨씬 넘겨서야 승진할 수 있었던 제 할머니를 떠올립니다. 그분은 제게 열심히 일하는 것을 가르쳐주신 분입니다. 그녀는 자신을 위해 새 차와 새 옷을 사는 것을 미루셨고, 그 덕분에 저는 더 나은 삶을 살 수 있었습니다. 할머니께서는 자신이 가지신 모든 것을 제게 쏟아 부으셨습니다. 더 이상 여행을 하실 수 없어 오늘 이 자리에 오시진 못했지만, 저는 그분이 오늘밤 저를 지켜보고 계시다는 것과 오늘 밤이 제 할머니의 밤이라는 것을 잘 알고 있습니다.

 

I don´t know what kind of lives John McCain thinks that celebrities lead, but this has been mine. These are my heroes. Theirs are the stories that shaped my life. And it is on their behalf that I intend to win this election and keep our promise alive as President of the United States.

존 매케인이 생각하는 명사들의 삶이 어떤 것인지 저는 잘 모르지만 제 생각은 언제나 이것이었습니다. 이 분들은 모두 저의 영웅이었습니다. 그들의 이야기가 오늘의 저를 만들었습니다. 그리고 제가 이 선거에서 승리하여 미국의 대통령으로서 우리의 약속이 살아나게 하려는 것은 그분들을 대신해서 하는 일입니다.

 

What is that promise?

그 약속이 무엇일까요?

 

It´s a promise that says each of us has the freedom to make of our own lives what we will, but that we also have the obligation to treat each other with dignity and respect.

우리는 모두 되고자 하는 대로의 삶을 만들 자유가 있다는 약속입니다. 하지만 동시에 우리는 서로를 존중하고 존경해야 할 의무도 지니고 있습니다.

 

It´s a promise that says the market should reward drive and innovation and generate growth, but that businesses should live up to their responsibilities to create American jobs, look out for American workers, and play by the rules of the road.

시장은 노력과 혁신에 보답해야 하고, 성장을 이뤄내야 할 뿐 아니라, 기업들은 미국 국민을 위한 일자리를 창출할 책임을 다해야 하고, 더 많은 근로자를 채용하고, 그 과정에서 법에 따라 활동해야 한다는 약속입니다.

 

Ours is a promise that says government cannot solve all our problems, but what it should do is that which we cannot do for ourselves - protect us from harm and provide every child a decent education; keep our water clean and our toys safe; invest in new schools and new roads and new science and technology.

우리의 약속은 정부가 모든 것을 해결할 수는 없지만, 국민이 스스로 할 수 없는 일은 정부가 해야만 한다는 것입니다. 해로운 것들로부터 우리를 지키고, 모든 아이들에게 제대로 된 교육을 제공하며, 깨끗한 물과 안전한 장난감을 지키는 일, 그리고 새로운 학교, 새로운 길, 그리고 새로운 과학과 기술에 투자하는 것입니다.

 

That´s the promise of America - the idea that we are responsible for ourselves, but that we also rise or fall as one nation; the fundamental belief that I am my brother´s keeper; I am my sister´s keeper.

이것이 미국의 약속입니다. 우리 스스로에 대해 책임을 져야 할 뿐 아니라, 하나의 나라로서 좋을 때도 함께하고 나쁠 때도 함께해야 한다는 생각, 내 형제는 내가 지켜야 하고, 내 자매는 내가 지켜야 한다는 근본적인 믿음입니다.

 

That´s the promise we need to keep. That´s the change we need right now. So let me spell out exactly what that change would mean if I am President.

그것이 우리 모두가 지켜야 할 약속입니다. 우리에게 지금 당장 필요한 변화입니다. 그래서 제가 대통령이 되면 어떤 변화를 만들어낼지 분명하게 말씀드리겠습니다.

Change means a tax code that doesn´t reward the lobbyists who wrote it, but the American workers and small businesses who deserve it.

세법을 작성한 로비스트들이 아니라, 혜택을 받아야 할 미국 근로자들과 중소기업에 보답하는 세법을 만드는 것이 변화입니다

 

Unlike John McCain, I will stop giving tax breaks to corporations that ship jobs overseas, and I will start giving them to companies that create good jobs right here in America.

존 매케인과 달리, 저는 해외로 일자리를 내보내는 기업들에 대한 감세를 중단시킬 것입니다. 그리고 바로 여기 미국에 좋은 일자리들을 만드는 기업들의 세금을 줄여줄 것입니다.

 

I will eliminate capital gains taxes for the small businesses and the start-ups that will create the high-wage, high-tech jobs of tomorrow.

중소기업, 그리고 신생기업들에 부과되는 자산이득세(capital gains taxes)를 없앨 것이고, 이것이 앞으로 고임금과 첨단 기술 직업들을 낳을 것입니다.

 

I will cut taxes - cut taxes - for 95% of all working families. Because in an economy like this, the last thing we should do is raise taxes on the middle-class.

저는 95%의 근로 가정에 세금을 내려줄 것입니다. 왜냐하면 이런 경제 구조에서 중산층의 세금을 인상하는 것은 정부가 취해야 할 마지막 조치이기 때문입니다.

 

And for the sake of our economy, our security and the future of our planet, I will set a clear goal as president: In 10 years, we will finally end our dependence on oil from the Middle East. We will do this.

그리고 우리의 경제, 우리의 안보, 그리고 지구의 미래를 위해 대통령으로서 명확한 목표를 세우겠습니다. 우리는 10년 안에 중동산 석유에 대한 의존을 끝낼 것입니다.

 

Washington´s been talking about our oil addiction for the last 30 years, and by the way John McCain´s been there for 26 of them. And in that time, he´s said no to higher fuel-efficiency standards for cars, no to investments in renewable energy, no to renewable fuels. And today, we import triple the amount of oil that we had as the day that Sen. McCain took office.

지난 30년간, 워싱턴은 우리의 석유 중독에 대해 이야기해왔고, 존 매케인도 26년간 그 일에 동참해왔습니다. 그동안 그는 자동차의 연비 기준을 높이는 것, 재생 에너지에 대한 투자, 그리고 재생 연료에 대해 반대해왔습니다. 그리고 현재 우리는 매케인 상원의원이 처음 당선된 때에 비해 세 배나 많은 석유를 수입하고 있습니다.

 

Now is the time to end this addiction, and to understand that drilling is a stop-gap measure, not a long-term solution. Not even close.

이제 이런 중독을 끝내야 할 때입니다. 석유 시추는 임시방편일 뿐 장기적인 해결책이 아니며 이 문제를 해결할 최종 방안도 아님을 이해해야 할 때입니다.

 

As president, I will tap our natural gas reserves, invest in clean coal technology, and find ways to safely harness nuclear power. I´ll help our auto companies re-tool, so that the fuel-efficient cars of the future are built right here in America. I´ll make it easier for the American people to afford these new cars. And I´ll invest $150 billion over the next decade in affordable, renewable sources of energy - wind power and solar power and the next generation of biofuels; an investment that will lead to new industries and 5 million new jobs that pay well and can´t be outsourced.

대통령으로서 저는, 우리가 보유한 천연가스를 활용할 것이고, 청정에너지 기술에 투자할 것이며, 원자력을 안전하게 이용할 방법을 찾을 것입니다. 저는 우리의 자동차 회사들을 재정비하여 바로 이곳 미국에서 연비가 좋은 자동차를 만들 수 있도록 도울 것입니다. 저는 미국인들이 이런 새로운 자동차를 더 쉽게 구입할 수 있게 할 것입니다. 그리고 향후 10년간, 쉽게 구할 수 있고 재생 가능한 에너지원인 풍력, 태양열, 그리고 다음 세대의 바이오 연료의 개발에 1500억달러를 투자할 것이며, 이것이 높은 임금을 받으면서도 아웃 소싱이 불가능한 신산업과 500만개의 새로운 일자리를 만들어낼 것입니다.

 

America, now is not the time for small plans.

미국은 지금 작은 계획을 세울 때가 아닙니다.

 

Now is the time to finally meet our moral obligation to provide every child a world-class education, because it will take nothing less to compete in the global economy. You know, Michelle and I are only here tonight because we were given a chance at an education. And I will not settle for an America where some kids don´t have that chance. I´ll invest in early childhood education. I´ll recruit an army of new teachers, and pay them higher salaries and give them more support. And in exchange, I´ll ask for higher standards and more accountability. And we will keep our promise to every young American - if you commit to serving your community or our country, we will make sure you can afford a college education.

지금은 모든 아이에게 세계적 수준의 교육을 제공하는 우리의 도덕적 의무를 다할 때입니다. 왜냐하면 세계와 경쟁하는 데 이보다 중요한 것은 없기 때문입니다. 미셸과 제가 오늘 밤 이 자리에 설 수 있었던 것도 교육에서 기회를 얻었기 때문입니다. 그리고 저는 일부 아이들이 그런 기회를 갖지 못하는 지금의 미국에 안주하지 않을 것입니다. 유년기 교육에 투자할 것입니다. 새로운 선생님들을 대규모로 채용할 것이며, 더 많은 보수와 지원을 해드릴 것입니다. 그리고 그 대신, 더 높은 기준과 더 높은 신뢰성을 요구할 것입니다. 그리고 미국의 모든 젊은이에게 그들이 지역 사회나 나라를 위해 봉사하는 책임을 다한다면 모두가 대학 교육을 받을 기회를 보장할 것이란 우리의 약속을 지킬 것입니다.

 

Now is the time to finally keep the promise of affordable, accessible health care for every single American. If you have health care, my plan will lower your premiums. If you don´t, you´ll be able to get the same kind of coverage that members of Congress give themselves. And as someone who watched my mother argue with insurance companies while she lay in bed dying of cancer, I will make certain those companies stop discriminating against those who are sick and need care the most.

지금은 모든 미국 국민 한 사람 한 사람이 납부할 수 있고, 접근할 수 있는 의료보장의 약속을 지켜야 할 때입니다. 여러분께서 의료보험을 갖고 계시다면, 여러분의 보험료를 낮춰드리는 것이 저의 계획입니다. 아직 갖고 계시지 않다면, 여러분은 국회의원들이 자기들을 위해 만들어놓은 것과 같은 보장 범위를 가진 의료보장을 갖게 될 것입니다. 그리고 제 어머니가 암으로 병상에서 죽어가면서도 의료보험 회사와 논쟁을 하는 것을 본 사람으로서, 그 회사들이 아프고 도움이 가장 필요한 사람들을 차별하는 것을 확실히 그만두게 만들겠습니다.

 

Now is the time to help families with paid sick days and better family leave, because nobody in America should have to choose between keeping their job and caring for a sick child or ailing parent.

미국 국민 중 어느 누구도 직장을 유지하는 것과 아픈 아이 혹은 병든 부모를 돌보는 것 사이에서 선택을 하게 만들어서는 안 되기 때문에 지금은 유급 병가와 개선된 가족 휴가로 가정을 도울 때입니다.

 

Now is the time to change our bankruptcy laws, so that your pensions are protected ahead of CEO bonuses; and the time to protect Social Security for future generations.

지금은 우리의 파산 관련법을 고쳐서 여러분의 연금이 CEO들의 보너스보다 우선 보호받도록 해야 할 때입니다. 그리고 다음 세대를 위해 우리의 사회보장제도를 지켜내야 할 때입니다.

And now is the time to keep the promise of equal pay for an equal day´s work, because I want my daughters to have the exact same opportunities as your sons.

그리고 저는 제 딸들이 여러분의 아들들과 똑같은 기회를 갖길 원하기 때문에 지금은 같은 업무량에 대해 같은 임금을 보장해줘야 할 때입니다.

 

Now, many of these plans will cost money, which is why I´ve laid out how I´ll pay for every dime - by closing corporate loopholes and tax havens that don´t help America grow. But I will also go through the federal budget, line by line, eliminating programs that no longer work and making the ones we do need work better and cost less - because we cannot meet 21st century challenges with a 20th century bureaucracy.

이 계획들 중 다수는 예산이 필요한 것입니다. 그래서 저는 미국의 성장에 도움이 안 되는 기업의 탈세와 조세회피 지역을 없애는 방법 등을 통해 한 푼 한 푼을 어떻게 사용할지를 제시해왔습니다. 그뿐만 아니라 저는 연방 예산에도 하나하나 손을 댈 것입니다. 더 이상 효과가 없는 프로그램들은 없앨 것이고, 더 효과적이고 비용이 덜 드는 새로운 프로그램들을 만들 것입니다. 왜냐하면 20세기의 관료제도로 21세기의 도전 과제들을 해결할 수 없기 때문입니다.

 

And Democrats, we must also admit that fulfilling America´s promise will require more than just money. It will require a renewed sense of responsibility from each of us to recover what John F. Kennedy called our “intellectual and moral strength.” Yes, government must lead on energy independence, but each of us must do our part to make our homes and businesses more efficient. Yes, we must provide more ladders to success for young men who fall into lives of crime and despair. But we must also admit that programs alone can´t replace parents; that government can´t turn off the television and make a child do her homework; that fathers must take more responsibility to provide love and guidance to their children.

민주당원 여러분, 우리는 돈만으로는 미국의 약속을 달성할 수 없다는 사실을 받아들여야 합니다. 존 F 케네디 대통령이 “지적, 그리고 도덕적 힘”이라 불렀던 책임감에 대한 우리 각자의 새로운 인식이 필요합니다. 그렇습니다. 정부는 에너지 자급자족에 힘써야 합니다. 하지만 우리 모두가 우리의 집과 직장들을 더욱 효율적으로 만들 우리의 몫을 다해야 합니다. 또한 범죄와 절망의 삶에 빠진 젊은이들에게 성공으로 갈 수 있는 도덕적 사다리를 더 많이 제공해야 합니다. 그러나 부모님들의 도움 없이 프로그램만으론 되지 않는다는 것도 인정해야 합니다. 정부가 가정의 텔레비전을 끌 수 없고, 아이들이 숙제를 하도록 만들 수는 없기 때문입니다. 그리고 아버지들이 더 큰 책임감으로 아이들에게 필요한 사랑과 지도를 베풀어야 합니다.

 

Individual responsibility and mutual responsibility - that´s the essence of America´s promise.

개인의 책임과 상호 간의 책임, 이것이 미국의 약속이 지닌 본질입니다.

 

And just as we keep our promise to the next generation here at home, so must we keep America´s promise abroad. If John McCain wants to have a debate about who has the temperament, and judgment, to serve as the next commander in chief, that´s a debate I´m ready to have.

그리고 다음 세대에 대한 우리의 약속을 미국 내에서 지키는 것처럼 나라 밖에서도 그 약속을 지켜야 합니다. 만약 존 매케인이 차기 군통수권자로 일하는 데 누가 더 좋은 성품과 판단력을 갖고 있는지에 대해 토론하길 원한다면 저는 이미 준비가 되어 있습니다.

 

For while Sen. McCain was turning his sights to Iraq just days after 9/11, I stood up and opposed this war, knowing that it would distract us from the real threats that we face. When John McCain said we could just “muddle through” in Afghanistan, I argued for more resources and more troops to finish the fight against the terrorists who actually attacked us on 9/11, and made clear that we must take out Osama bin Laden and his lieutenants if we have them in our sights. You know, John McCain likes to say that he´ll follow bin Laden to the Gates of Hell - but he won´t even go to the cave where he lives.

9·11 테러가 터진 며칠 후, 매케인 상원의원이 이라크로 눈을 돌렸을 때 저는 일어서서 이 전쟁에 반대했습니다. 이 전쟁이 우리가 직면한 진짜 위협에 대한 우리의 관심 집중을 분산시킬 수 있다는 것을 알았기 때문입니다. 존 매케인 의원이 단지 우리는 아프가니스탄에서 “웬만큼만” 해내면 될 것이라고 주장했을 때, 저는 9·11테러 때 실제로 우리를 공격한 테러리스트들과의 전쟁을 끝내기 위하여 더욱 많은 자원과 군대를 요구했고, 오사마 빈 라덴과 그의 추종자들을 찾아내면 반드시 그들을 끌어내야 한다고 주장했습니다. 존 매케인은 빈 라덴을 지옥문까지 쫓아갈 거라고 즐겨 말하지만, 그는 결코 빈 라덴이 살고 있는 동굴까지 가지는 않을 것입니다.

 

And today, as my call for a time frame to remove our troops from Iraq has been echoed by the Iraqi government and even the Bush administration, even after we learned that Iraq has $79 billion in surplus while we are wallowing in deficits, John McCain stands alone in his stubborn refusal to end a misguided war.

그리고 오늘, 이라크에서의 철군 일정에 대한 제 요구에 대해 이라크 정부와, 심지어 부시 행정부에서도 반향이 있었습니다. 그런데 우리가 적자 속에서 허우적거리고 있는 동안에 이라크는 780억달러의 이득을 봤다는 것을 안 후에도, 존 매케인은 잘못 시작된 이 전쟁을 끝내는 것을 혼자서 고집스럽게 거부하고 있습니다.

 

That´s not the judgment we need. That won´t keep America safe. We need a president who can face the threats of the future, not keep grasping at the ideas of the past.

그건 우리에게 필요한 판단이 아닙니다. 그것이 미국을 안전하게 지켜주지도 않을 것입니다. 우리에게는 미래의 위협에 대처할 대통령이 필요한 것이지, 과거의 생각을 계속 붙들고 있는 대통령이 필요한 게 아닙니다.

 

You don´t defeat a terrorist network that operates in 80 countries by occupying Iraq. You don´t protect Israel and deter Iran just by talking tough in Washington. You can´t truly stand up for Georgia when you´ve strained our oldest alliances. If John McCain wants to follow George Bush with more tough talk and bad strategy, that is his choice - but that is not the change that America needs.

이라크를 점령한다고 해서 80개국에서 활동 중인 테러리스트 네트워크를 이길 수는 없습니다. 워싱턴에서 강력하게 경고하는 것만으로 이스라엘을 보호하거나 이란을 단념하게 만들 수는 없습니다. 우리의 오랜 동맹국들에게 짐을 부가하는 것이 그루지야를 진정으로 돕는 일도 아닙니다. 존 매케인이 거친 발언과 잘못된 전략을 갖고 조지 부시를 따르길 원한다면 그건 그의 선택입니다. 하지만 그건 미국이 필요로 하는 변화가 아닙니다.

 

We are the party of Roosevelt. We are the party of Kennedy. So don´t tell me that Democrats won´t defend this country. Don´t tell me that Democrats won´t keep us safe. The Bush-McCain foreign policy has squandered the legacy that generations of Americans - Democrats and Republicans - have built, and we are here to restore that legacy.

우리는 루스벨트 대통령을 배출한 당입니다. 우리는 케네디의 당입니다. 그러니 민주당이 이 나라를 지킬 수 없다고 말하지 마십시오. 민주당은 우리를 안전하게 만들어줄 수 없다고 말하지 마십시오. 부시와 매케인의 외교 정책은 민주당과 공화당이 여러 세대를 거쳐 쌓아온 유산을 낭비해버렸습니다. 그래서 그 유산을 복원하려고 우리가 여기에 있습니다.

 

As commander in chief, I will never hesitate to defend this nation, but I will only send our troops into harm´s way with a clear mission and a sacred commitment to give them the equipment they need in battle and the care and benefits they deserve when they come home.

군통수권자로서, 저는 이 나라를 수호하는 데 절대 주저하지 않을 것입니다. 하지만 명확한 사명과 신성한 책임감이 필요한 곳에만 전쟁을 치르는 데 필요한 무기를 제공할 것이고, 우리의 군대를 위험한 전쟁에 투입할 것입니다. 그리고 그들이 귀환했을 때 그들에게 필요한 보살핌과 혜택을 제공할 것입니다.

 

I will end this war in Iraq responsibly, and finish the fight against al Qaeda and the Taliban in Afghanistan. I will rebuild our military to meet future conflicts. But I will also renew the tough, direct diplomacy that can prevent Iran from obtaining nuclear weapons and curb Russian aggression. I will build new partnerships to defeat the threats of the 21st century: terrorism and nuclear proliferation; poverty and genocide; climate change and disease. And I will restore our moral standing, so that America is once again that last, best hope for all who are called to the cause of freedom, who long for lives of peace, and who yearn for a better future.

저는 이라크에서의 전쟁을 책임지고 끝낼 것이며, 아프가니스탄에서의 알카에다, 탈레반과의 싸움도 종식시킬 것입니다. 우리 군대를 미래의 위협에 대처하도록 재건하겠습니다. 또한 저는 강력하고 직접적인 외교 정책을 새롭게 만들 것이며, 이를 통해 이란이 핵무기를 갖는 것을 막고, 러시아의 침공을 억제할 수 있을 것입니다. 저는 테러리즘과 핵 확산, 기아와 대량 학살, 기후 변화와 질병 등 21세기의 위협을 이겨낼 새로운 협력 관계를 구축할 것입니다. 그리고 우리의 도덕적 위상을 회복할 것입니다. 그리하여 미국이 다시금 자유를 찾는 모든 사람, 평화로운 삶을 꿈꾸며 더 나은 미래를 원하는 모든 사람의 최후의 보루이자 최고의 희망이 될 수 있도록 하겠습니다.

 

These are the policies I will pursue. And in the weeks ahead, I look forward to debating them with John McCain.

이런 것들이 제가 추구할 정책들입니다. 그리고 몇 주 후에 저는 존 매케인과 이런 문제들에 대해 토론하기를 기대합니다.

 

But what I will not do is suggest that the senator takes his positions for political purposes. Because one of the things that we have to change in our politics is the idea that people cannot disagree without challenging each other´s character and each other´s patriotism.

하지만 저는 매케인이 정치적인 목적 때문에 자신의 입장을 바꾸지 말 것을 제안합니다. 왜냐하면 사람들이 각자의 성향과 각자의 애국하는 방법을 바꾸지 않고서는 뜻을 함께할 수 없다는 생각은 우리 정치에서 바뀌어야 할 것 중 하나이기 때문입니다.

 

The times are too serious, the stakes are too high for this same partisan playbook. So let us agree that patriotism has no party. I love this country, and so do you, and so does John McCain. The men and women who serve in our battlefields may be Democrats and Republicans and independents, but they have fought together and bled together and some died together under the same proud flag. They have not served a Red America or a Blue America - they have served the United States of America.

지금의 상황은 너무 심각하고, 이런 똑같은 당파 싸움이나 하고 있기엔 목표가 너무 멉니다. 그러니 애국심에는 당파가 없다고 합의합시다. 저도 이 나라를 사랑하고, 여러분도 그러하시며, 존 매케인도 그러합니다. 전장에 나가 복무하고 있는 남성과 여성들은 민주당원일 수도, 공화당원일 수도, 그리고 무소속일 수도 있지만, 그들은 함께 싸웠고, 함께 피 흘렸으며, 그중의 누군가는 같은 자랑스러운 국기 아래 함께 죽었습니다. 그들은 붉은 미국(공화당)이나 푸른 미국(민주당)을 위해서 복무한 것이 아닙니다. 그들은 미합중국을 위해 복무한 것입니다.

 

So I´ve got news for you, John McCain. We all put our country first.

그래서 존 매케인 상원의원, 당신께 드릴 말씀이 있습니다. 우리 함께 나라를 먼저 생각합시다.

America, our work will not be easy. The challenges we face require tough choices, and Democrats as well as Republicans will need to cast off the worn-out ideas and politics of the past. For part of what has been lost these past eight years can´t just be measured by lost wages or bigger trade deficits. What has also been lost is our sense of common purpose. That´s what we have to restore.

미국이여, 우리의 과업은 쉽지 않을 것입니다. 우리가 마주칠 도전들은 힘든 선택을 요구하고, 공화당원뿐 아니라 민주당원들도 낡은 사고방식과 과거의 정치를 던져버려야 합니다. 지난 8년간 우리가 잃은 것은 임금 손실이나 무역 손실의 증가뿐이 아닙니다. 우리는 공동의 목표에 대한 인식도 잃어버렸습니다. 그리고 그것이 바로 우리가 회복해야 할 것입니다.

 

We may not agree on abortion, but surely we can agree on reducing the number of unwanted pregnancies in this country. The reality of gun ownership may be different for hunters in rural Ohio than they are for those plagued by gang-violence in Cleveland, but don´t tell me we can´t uphold the Second Amendment while keeping AK-47s out of the hands of criminals. I know there are differences on same-sex marriage, but surely we can agree that our gay and lesbian brothers and sisters deserve to visit the person they love in the hospital and to live lives free of discrimination. You know, passions may fly on immigration, but I don´t know anyone who benefits when a mother is separated from her infant child or an employer undercuts American wages by hiring illegal workers. But this, too, is part of America´s promise - the promise of a democracy where we can find the strength and grace to bridge divides and unite in common effort.

낙태 문제에 대해 이견이 있을 수는 있지만, 분명히 이 나라에서 원치 않는 임신을 줄여야 한다는 점에는 모두가 동의할 것입니다. 오하이오 주의 시골 사냥꾼과 갱단 사고가 만연하는 클리블랜드 사람들에게 있어 총기 소유의 개념은 다릅니다. 하지만 범죄자들의 손에서 AK-47 소총을 빼앗지 않고서는 2차 수정헌법(The Second Amendment·총기소지를 허가하는)을 지지할 수 없다고 제게 말하지 마십시오. 동성 결혼에 대해 이견이 있다는 것도 알고 있습니다. 그러나 게이, 레즈비언인 우리의 형제자매들이 병원에 누워 있는 사랑하는 사람들을 방문하고, 차별 없는 삶을 살 자격이 있다는 것에는 모두 동의할 것입니다. 열정을 실천하기 위해 이민을 갈 수도 있습니다. 하지만 저는 어머니들을 갓난아기와 떨어뜨려놓거나, 사업주가 불법 근로자를 고용함으로써 미국인의 일자리를 빼앗아갈 때 이득을 보는 사람이 누구인지 알지 못합니다. 이것 또한 미국의 약속의 일부입니다. 즉 분열된 사회를 이어주고, 공동의 노력으로 연합시킬 힘과 아량을 찾을 수 있는 민주주의의 약속입니다.

 

I know there are those who dismiss such beliefs as happy talk. They claim that our insistence on something larger, something firmer and more honest in our public life is just a Trojan Horse for higher taxes and the abandonment of traditional values. And that´s to be expected. Because if you don´t have any fresh ideas, then you use stale tactics to scare voters. If you don´t have a record to run on, then you paint your opponent as someone people should run from.

그런 믿음들을 그저 “배부른 이야기”라며 거부할 사람들도 있을 것입니다. 그들은 공공 부문에서 우리가 더 크고, 더 확고하고, 더 정직한 것에 집착하는 이유가 단지 더 무거운 세금을 매기고 전통적 가치를 떨쳐버리기 위한 “트로이의 목마”일 뿐이라고 주장합니다. 그리고 결국 그렇게 될 것이라 예상합니다. 새로운 아이디어가 없는 후보들은 유권자에게 두려움을 심어주기 위해 낡은 전술을 사용하기 때문입니다. 계속 추진해나갈 실적이 없는 후보들은 상대 후보를 배척해야 할 사람으로 치부해버립니다.

 

You make a big election about small things.

매케인, 당신은 작은 것을 가지고 큰 선거를 치르시는군요.

 

And you know what - it´s worked before. Because it feeds into the cynicism we all have about

government. When Washington doesn´t work, all its promises seem empty. If your hopes have been dashed again and again, then it´s best to stop hoping, and settle for what you already know.

여러분 아십니까? 예전엔 그런 방법이 통했습니다. 왜냐하면 그것이 우리 모두가 정부에 대해서 갖고 있는 냉소주의를 키워가기 때문입니다 워싱턴이 일을 하지 않으면 그 모든 약속이 공허하게 보이기 때문입니다. 여러분의 희망이 자꾸 끊기면 희망을 포기하고, 이미 당신이 알고 있는 것에 안주하는 게 최선의 방법입니다

 

I get it. I realize that I am not the likeliest candidate for this office. I don´t fit the typical pedigree, and I haven´t spent my career in the halls of Washington.

저는 알고 있습니다. 제가 대통령직에 가장 적합한 후보가 아니란 걸 알고 있습니다. 저는 전통적인 정치 계보에도 들어 있지 않고, 워싱턴 정가에서 쌓은 경력도 없습니다.

 

But I stand before you tonight because all across America something is stirring. What the naysayers don´t understand is that this election has never been about me. It´s about you. It´s about you.

하지만 저는 미국 전역에서 뭔가 움직이고 있기 때문에 오늘밤 여러분 앞에 섰습니다. 저에게 반대하는 세력들은 이 선거가 절대로 저 개인에 관한 것이 아니란 것을 알지 못합니다. 이 선거는 국민 여러분에 관한 것입니다.

 

For 18 long months, you have stood up, one by one, and said enough to the politics of the past. You understand that in this election, the greatest risk we can take is to try the same old politics with the same old players and expect a different result. You have shown what history teaches us - that at defining moments like this one, the change we need doesn´t come from Washington. Change comes to Washington. Change happens because the American people demand it - because they rise up and insist on new ideas and new leadership, a new politics for a new time.

18개월의 긴 시간, 여러분 모두는 일어서서 과거의 정치는 이제 그만 됐다고 말씀하셨습니다. 우리는 이번 선거에서 극복해야 할 가장 큰 위험이 똑같은 옛날 사람으로 똑같은 옛날 정치를 시도하면서 다른 결과를 기대하는 것임을 알고 있습니다. 여러분은 역사가 우리에게 가르쳐온 것을 보아왔습니다. 즉 이런 결정적인 순간에 우리에게 필요한 변화는 워싱턴에서 나오지 않았습니다. 이런 변화는 워싱턴을 변화시키는 것에서 시작되었습니다. 국민이 요구하면 변화가 일어납니다. 국민이 일어서서 새 시대를 위한 새로운 아이디어, 새로운 리더십, 새로운 정책들을 주장하기 때문입니다.

 

America, this is one of those moments.

미국이여, 지금이 바로 그럴 때입니다.

 

I believe that as hard as it will be, the change we need is coming. Because I´ve seen it. Because I´ve lived it. Because I´ve seen it in Illinois, when we provided health care to more children and moved more families from welfare to work. I´ve seen it in Washington, where we worked across party lines to open up government and hold lobbyists more accountable, to give better care for our veterans and keep nuclear weapons out of the hands of terrorist.

물론 어려움이 따르겠지만, 저는 우리에게 필요한 변화가 다가오고 있음을 믿습니다. 왜냐하면 제가 그것을 봤기 때문입니다. 제가 그런 삶을 살아봤기 때문입니다. 저는 일리노이에서 우리가 더 많은 아이에게 의료보험을 제공하고, 더 많은 가족을 복지제도에 기대지 않고 일할 수 있게 만들어주었을 때 그것을 보았습니다. 저는 워싱턴에서, 초당적인 생각으로 정부에 다가가고, 우리의 퇴역 병사들에게 더 나은 복지를 제공하고, 핵무기가 테러리스트들의 손에 들어가지 못하도록 로비스트들에게 더 큰 역할을 요구했을 때 그것을 보았습니다.

 

And I´ve seen it in this campaign. In the young people who voted for the first time, and the young at

heart, those who got involved again after a very long time. In the Republicans who never thought they´d pick up a Democratic ballot, but did. I´ve seen it in the workers who would rather cut their hours back a day even though they can´t afford it than see their friends lose their jobs, in the soldiers who re-enlist after losing a limb, in the good neighbors who take a stranger in when a hurricane strikes and the floodwaters rise.

그리고 이번 선거 유세에서도 그것을 봤습니다. 처음으로 투표하는 젊은이들에게서, 그리고 오랜만에 다시 선거에 관심을 갖게 된 젊은이들에게서도 봤습니다. 민주당에 표를 던질 것이라 전혀 생각지 않았던 공화당 지지자들에게서도 보았습니다. 그들은 결국 우리에게 표를 주었습니다. 저는 동료가 직장을 잃는 것을 보느니 차라리 자신들의 하루 노동 시간을 줄여버린 근로자, 전쟁에서 팔다리를 잃고도 다시 입대하는 전사들, 허리케인의 강타와 큰 홍수 때 낯선 이웃들을 데리고 보살펴 준 훌륭한 이웃들에게서 그것을 봤습니다.

 

You know, this country of ours has more wealth than any nation, but that´s not what makes us rich. We have the most powerful military on Earth, but that´s not what makes us strong. Our universities and our culture are the envy of the world, but that´s not what keeps the world coming to our shores.

우리나라는 다른 어떤 나라보다 더 많은 부(富)를 갖고 있지만 그것이 우리를 부유하게 만들어주지는 못합니다. 우리는 지구상에서 가장 강력한 군대를 갖고 있지만 그것이 우리를 강하게 만들어주지는 않습니다. 우리의 대학과 우리의 문화는 세계가 부러워하지만 그것이 세계가 우리에게 다가오도록 만들지는 않습니다.

 

Instead, it is that American spirit - that American promise - that pushes us forward even when the path is uncertain; that binds us together in spite of our differences; that makes us fix our eye not on what is seen, but what is unseen, that better place around the bend.

가야 할 길이 불확실할 때 우리를 앞으로 나아가게 만드는 것은 오히려 우리들 사이의 차이에도 불구하고 우리를 하나로 묶어주고, 이보다 훨씬 좋은 나라이지만 지금은 이성을 잃어서 보이지 않는 것을 보게 만드는 미국의 정신, 미국의 약속입니다.

 

That promise is our greatest inheritance. It´s a promise I make to my daughters when I tuck them in at night, and a promise that you make to yours - a promise that has led immigrants to cross oceans and pioneers to travel west; a promise that led workers to picket lines, and women to reach for the ballot.

그 약속이 우리의 가장 위대한 유산입니다. 제가 밤에 제 딸들을 안아주면서 하는 약속입니다. 그리고 여러분이 여러분 자신에게 하는 약속입니다. 우리의 선조들이 대서양을 건너오게 만들고, 선구자들을 서부 개척으로 가도록 이끌고, 근로자들을 시위에 참가하게 만들고, 여성들이 투표권을 획득하게 이끌었던 약속입니다.

 

And it is that promise that 45 years ago today, brought Americans from every corner of this land to stand together on a Mall in Washington, before Lincoln´s Memorial, and hear a young preacher from Georgia speak of his dream.

그리고 45년 전 오늘, 이 나라 전역에서 온 국민들을 ‘워싱턴 몰’(Mall in Washington·국회의사당에서 워싱턴 기념비에 이르는 넓은 녹지대) 위의 링컨 기념관 앞에 함께 모이게 만들고, 조지아 주의 어느 젊은 목사(마틴 루터 킹 목사)가 그의 꿈에 대해서 하는 말을 듣게 한 것도 그 약속이었습니다.

 

The men and women who gathered there could´ve heard many things. They could´ve heard words of anger and discord. They could´ve been told to succumb to the fear and frustration of so many dreams deferred.

그 자리에 모였던 사람들은 많은 이야기를 들었을 것입니다. 분노와 불화에 찬 말을 들었을 것입니다. 그들은 이루어지지 못한 꿈에 대한 두려움과 좌절을 이겨내라는 말을 들었을 것입니다.

 

But what the people heard instead - people of every creed and color, from every walk of life - is that in America, our destiny is inextricably linked. That together, our dreams can be one.

하지만 우리가 매일 만나는 다른 종교, 다른 피부색을 지닌 사람들이 진짜 들은 이야기는, 미국에서 우리의 운명은 불가분하게 서로 연결되어 있다는 것입니다. 그렇게 함께, 우리의 꿈은 하나가 될 수 있습니다.

 

“We cannot walk alone,” the preacher cried. “And as we walk, we must make the pledge that we shall always march ahead. We cannot turn back.”

“우리는 홀로 나아갈 수 없습니다”라고 그 목사님은 외쳤습니다. “그리고 나아갈 때, 우리는 항상 앞으로 나아가겠다고 맹세해야 합니다. 후퇴해선 안 됩니다”라고 말했습니다.

 

America, we cannot turn back. Not with so much work to be done. Not with so many children to educate, and so many veterans to care for. Not with an economy to fix and cities to rebuild and farms to save. Not with so many families to protect and so many lives to mend. America, we cannot turn back. We cannot walk alone. At this moment, in this election, we must pledge once more to march into the future. Let us keep that promise - that American promise - and in the words of scripture hold firmly, without wavering, to the hope that we confess.

미국이여, 우리는 후퇴할 수 없습니다. 할 일이 너무 많은데 후퇴할 수 없습니다. 가르쳐야 할 많은 아이들, 그리고 보살펴야 할 많은 퇴역 군인들이 있는데 후퇴할 수 없습니다. 바로잡아야 할 경제, 재건해야 할 도시, 그리고 보호해야 할 농장이 있는데 그럴 수 없습니다. 보호해야 할 많은 가정, 치유해야 할 많은 삶 때문에 후퇴할 수 없습니다. 미국이여, 우리는 후퇴할 수 없습니다. 우리는 홀로 나아갈 수 없습니다. 지금 이 순간, 이 선거에서, 우리는 미래로 나아가기 위해 다시 한 번 맹세해야 합니다. 우리가 고백하는 소망을 굳게, 그리고 예외 없이 지켜주는 그 약속, 미국의 약속과 성경의 말씀들을 지키도록 합시다.

 

Thank you, God Bless you, and God Bless the United States of America.

감사합니다. 하나님, 우리를 축복해주옵소서. 미합중국을 축복해주옵소서.


설정

트랙백

댓글