Tip & Tech2010/10/18 00:23

PowerPoint 2007 Multiple Launcher / Multiple instances of PowerPoint 2007

※ 많은 분들의 요청으로 64 bit OS에서도 사용하실 수 있도록 수정하였습니다.
※ Windows 7 64 bit & MS Office 2007에서 테스트 되었습니다.

듀얼 모니터가 대세인 시대!

파워포인트로 작업할 때 하나의 창으로만 떠서 불편합니다.

이런 불편함을 해소하기 위해 PPTLauncher를 만들어봤습니다.


사용자 삽입 이미지

PPTLauncher를 이용하면 위와 같이 여러 개의 파워포인트를 띄울 수 있습니다.


이제 듀얼 모니터에서 좀 더 편하게 파워포인트 작업을 해보세요.!!!^^


다운로드 받기





※ 이 프로그램을 실행하시려면 .net framework 2.0이 필요합니다.

.net framework 2.0 다운로드 받기

※ Windows 7 64 bits & MS Office 2007에서 테스트 되었습니다.
※ PPTLauncher 로 실행된 PowerPoint 상의 바탕화면 및 내 문서는 DefaultUser의 바탕화면 및 내 문서이오니 착오 없으시길 바랍니다.


수현아빠님의 요청으로 2007이 있더라도 2003이 실행되는 파일 첨부합니다.





PPT Power Point 2007 Office Multiple파워 포인트 다중 실행 Launcher PPTLauncher Multiple instances Dual Monitor 듀얼 모니터 Program Programming

Posted by virgo81

TRACKBACK http://www.virgo81.net/trackback/26 관련글 쓰기

  1. 마음에 쏙드는 파워포인트 다중 실행 PPTLauncher  삭제

    2008/10/30 17:57TRACKBACK FROM 수현아빠의 파워포인트 이야기

    Microsoft PowerPoint 사용자의 많은 질문 중 하나가 PowerPoint 의 다중 실행에 대한 내용입니다. Microsoft Office 제품 중 Word 나 Excel 의 경우에는 다중실행이 가능하기 때문에 이전 문서를 참고하여 문서 작성 시에 작업이 매우 용이합니다. 더우기 최근에는 모니터가격이 매우 저렴하기 때문에

  2. 파워포인트 다중 접속하기 (Multi-Instance)  삭제

    2010/12/22 10:59TRACKBACK FROM eeooD :: 세상을 휘감는 도넛츠

    일단 핵심만 간단히! 참조하실 링크 추가합니다. 파워포인트 다중실행기 : http://virgo81.tistory.com/26 듀얼 모니터를 쓰는 경우 동시에 여러 개의 화면에서 작업을 해야 하는데, 파워포인트 어플리케이션은 하나만 띄울 수 있어서 많이 번거롭죠. 그래서 아래와 같은 방법으로 꽁수를 부리게 됩니다. 하나의 창을 가로로 크게 늘려놓고 창 배열을 하는 방식입니다. 위의 화면을 보시면 아시겠지만 좌측의 노트북 모니터와 우측의 외부 모니터의..

My Soul2010/10/05 01:06

 
Piano Man - Billy Joel

째즈 풍의 피아노 선율과 하모니카 연주,
그리고 Billy Joel의 매력적인 Voice,
마음 한구석켠을 자극하는 가사가 너무 잘 조화된 음악



It's nine o'clock on a Saturday
The regular crowd shuffles in
There's an old man sitting next to me
Makin' love to his tonic and gin

He says, "Son, can you play me a memory?
I'm not really sure how it goes
But it's sad and it's sweet and I knew it complete
When I wore a younger man's clothes"
La la la, le le la
La la, le le la la la

Sing us a song, you're the piano man
Sing us a song tonight
Well, we're all in the mood for a melody
And you've got us feelin' alright

Now John at the bar is a friend of mine
He gets me my drinks for free
And he's quick with a joke or to light up your smoke
But there's someplace that he'd rather be

He says, "Bill, I believe this is killing me."
As the smile ran away from his face
"Well I'm sure that I could be a movie star
If I could get out of this place"
Oh, la la la, de de da
La la, le le la da da

Now Paul is a real estate novelist
Who never had time for a wife
And he's talkin' with Davy
who's still in the navy
And probably will be for life.

And the waitress is practicing politics
As the businessmen slowly get stoned
Yes, they're sharing a drink they call loneliness
But it's better than drinkin' alone.

Sing us a song, you're the piano man
Sing us a song tonight
Well, we're all in the mood for a melody
And you've got us feelin' alright

It's a pretty good crowd for a Saturday
And the manager gives me a smile
'Cause he knows that it's me they've been comin' to see
To forget about life for a while.'

And the piano, it sounds like a carnival
And the microphone smells like a beer
And they sit at the bar and put bread in my jar
And say, "Man, what are you doin' here?"
Oh, la la la, de de da
La la, de de da da da

Sing us a song, you're the piano man
Sing us a song tonight
Well, we're all in the mood for a melody
And you've got us feelin' alright
Eres tú - Mocedades 

반복되지만 지루하지 않은 멜로디,
호소력 깊은 목소리,
학창 시절 누구나 한번쯤 들어봤을 듯한,
얼마전 남자의 자격 실버 합창단으로 더 유명해진
번안곡 그대 있는 곳까지로 더 잘알려진
그 바로 그 음악



Como una promesa, eres tú, eres tú
Como una mañana de verano
Como una sonrisa, eres tú, eres tú
Así, así, eres tú

Toda mi esperanza, eres tú, eres tú
Como lluvia fresca en mis manos
Como fuerte brisa, eres tú, eres tú
Así, así, eres tú

Eres tú como el agua de mi fuente
Eres tú el fuego de mi hogar

(Eres tú...) Algo así eres tú
(Como el fuego de mi hoguera)
Algo así como el fuego de mi hoguera
(Eres tú...) Algo así eres tú
(El trigo de mi pan)
Mi vida, algo así eres tú

Como mi poema, eres tú, eres tú
Como una guitarra en la noche
Todo mi horizonte, eres tú, eres tú
Así, así, eres tú

(Nananana... nananana na...)

Eres tú como el agua de mi fuente
Eres tú el fuego de mi hogar

(Eres tú...) Algo así eres tú
(Como el fuego de mi hoguera)
Algo así como el fuego de mi hoguera
(Eres tú...) Algo así eres tú
(El trigo de mi pan)
Mi vida, algo así eres tú

(Eres tú...) Algo así eres tú
(Como el agua de mi fuente)
Algo así como el agua de mi fuente
Eres tú el fuego de mi hogar
















Billy Joel, Piano man, 빌리조엘, 피아노맨, Eres tu, Eres tú, Mocedades, 에레스 투, 모세다데스, 그대 있는 곳 까지, 쌍투스, 하모니카
저작자 표시 비영리 변경 금지
Posted by virgo81

TRACKBACK http://www.virgo81.net/trackback/73 관련글 쓰기

댓글을 달아 주세요

  1. 그냥 나는 후회 당신이 게시 할 쓴거야 정말 자주 .

    2012/01/27 17:15 [ ADDR : EDIT/ DEL : REPLY ]
  2. 내가 찾고 싶었던 대한 몇 가지 삼일 ! 이 블로그를 다시 읽어 이 사이트를 읽을 때로는 .

    2012/02/01 18:34 [ ADDR : EDIT/ DEL : REPLY ]

Tip & Tech2010/03/20 00:52




안드로이드에서 Base64 인코딩 디코딩 하기

Base64 Encoding / Decoding in Android

 

안드로이드 OS는 이미 apache codec 1.3의 Base64를 가지고 있다.

Android OS already has the Base64 of apache codec 1.3.

 

 

 

public static byte[] encodeBase64(byte [] binaryData) {
    byte [] buf = null;
       
    try {
        Class Base64 = Class.forName("org.apache.commons.codec.binary.Base64");
        Class[] parameterTypes = new Class[] { byte[].class }; 
        Method encodeBase64 = Base64.getMethod("encodeBase64", parameterTypes);
        buf = (byte[])encodeBase64.invoke(Base64, binaryData);
    } catch (Exception e) {
        e.printStackTrace();
    }       
       
    return buf;
}

 

 

public static byte[] decodeBase64(byte [] base64Data) {
    byte [] buf = null;
       
    try {
        Class Base64 = Class.forName("org.apache.commons.codec.binary.Base64");
        Class[] parameterTypes = new Class[] { byte[].class }; 
        Method decodeBase64 = Base64.getMethod("decodeBase64", parameterTypes);
        buf = (byte[])decodeBase64.invoke(Base64, base64Data);
    } catch (Exception e) {
        e.printStackTrace();
    }       
       
    return buf;
}

 

안드로이드 android base64 encoding decoding apache codec

Posted by virgo81

TRACKBACK http://www.virgo81.net/trackback/72 관련글 쓰기

  1. virgo81의 생각  삭제

    2010/03/20 00:52TRACKBACK FROM virgo81's me2DAY

    Base64 Encoding / Decoding in Android 안드로이드에서 Base64 인코딩 디코딩 하기 Base64 Encoding / Decoding in Android 안드로이드 OS는 이미 apache codec 1.3의 Base64를 가지고 있다…

댓글을 달아 주세요

  1. great post as usual!

    2010/05/03 22:56 [ ADDR : EDIT/ DEL : REPLY ]
  2. 김준기

    황인환 ...자료 잘 봤다~

    2010/05/11 20:36 [ ADDR : EDIT/ DEL : REPLY ]
  3. 김준기

    니도 안드로이드 하나보군

    2010/05/11 20:37 [ ADDR : EDIT/ DEL : REPLY ]
  4. 발견 나는 후회 '다시 쓰기를 더 정말로 일반적 !

    2012/01/30 10:03 [ ADDR : EDIT/ DEL : REPLY ]
  5. 웹사이트 ! 나 페이 스북 을 사랑하지만, 그러나 찾을 수 없습니다 버튼을 !

    2012/01/30 15:30 [ ADDR : EDIT/ DEL : REPLY ]
  6. 위해 주제의

    2012/01/31 18:38 [ ADDR : EDIT/ DEL : REPLY ]
  7. 아름다운 사무실 우수한 전화 . 웹사이트 .

    2012/02/11 07:53 [ ADDR : EDIT/ DEL : REPLY ]

Tip & Tech2010/03/08 01:24

KT를 사용하는 분들은 mp3파일을 듣기 위해

 

도시락을 통해 mp3를 kmp로 바꿔야합니다.

 

하지만, 도시락을 이용하여 변환하는  것은

 

너무 번거롭습니다.

 

물론 mp3tokmp라는 프로그램이 널리 이용되고 있지만,

 

Windows 7 64bit와 같은 운영체제에서 자주 프로그램 오류가 납니다.

 

하지만 와이프는 프로그램 오류 없이 변환하길 원합니다.(?)

 

이러한 요구 사항들을 만족하기 위해 No Dosirak이 탄생했습니다.

 

 No Dosirak 을 이용하시면 빠르고 간편하게 mp3 파일을 kmp 파일로 변환할 수 있습니다.

 

 

먼저 첨부 되어 있는 No Dosirak과 SMPEncoder.dll를 다운로드 받아 같은 폴더에 저장합니다.

 

 

(이 프로그램은 .net framework 2.0 이상의 버전이 필요합니다.)

 

 

SMPEncoder.dll 다운로드 받기 #1 #2  (SMPEncoder.dll 은 저작권 문제를 피하기 위해 외부 링크로 대체합니다.)

 

 

그리고나서 NoDosirak.exe 를 실행하여 변환을 수행하면 됩니다.

 

 

변환 절차는 다음과 같습니다.

 

1. 파일 추가 또는 폴더 추가 버튼을 이용하여 원하는 mp3 파일 또는 mp3 파일이 저장된 폴더를 선택합니다.

 

2. 사용자 전화번호를 입력합니다.

 

3. 대상 폴더를 지정합니다. 외장 메모리의 mp3 폴더를 지정하시면 편리합니다.

 

4. 선택 변환 또는 전체 변환 버튼을 통해 변환 작업을 수행합니다.

 

 

참고 자료

http://plus7.postech.ac.kr/~override/blog/?p=68

 

 

kmp 변환 mp3 변환 도시락 kt kt 도시락 kt kmp 휴대전화 휴대폰 mp3 폰 mp3tokmp dosirak

 

Posted by virgo81

TRACKBACK http://www.virgo81.net/trackback/71 관련글 쓰기

  1. virgo81의 생각  삭제

    2010/03/08 01:25TRACKBACK FROM virgo81's me2DAY

    도시락 없이 mp3를 kmp로 변환하자! KT를 사용하는 분들은 mp3파일을 듣기 위해 도시락을 통해 mp3를 kmp로 바꿔야합니다. 하지만, 도시락을 이용하여 변환하는 것은 너무 번거롭습니다. 물론 mp3tokmp라는 프로그램이 널리 이용되고 있지만, Window..

댓글을 달아 주세요

  1. 지여니

    정말 완전 맘에 들어요~~ >.<
    지금까지 만들어주신 그 어떤 프로그램보다
    더 많이 사용할듯..

    언제가 될진 모르겠지만 ...ㅋ
    나도 나중에 멋진 프로그램 하나 만들어줄께요..

    2010/03/08 01:41 [ ADDR : EDIT/ DEL : REPLY ]
  2. tahoma

    너무 감사해서 덧글남기고 갑니다 ^^
    잘쓸께요 !

    2010/04/22 18:57 [ ADDR : EDIT/ DEL : REPLY ]
  3. 낭만자전거

    정말 감사합나다... 꾸벅.....

    2010/04/25 21:08 [ ADDR : EDIT/ DEL : REPLY ]
  4. 공투

    이렇게 간단합니까?
    그동안 이것저것 까는라 많이 힘들었는데..
    결정적으로 헌 핸폰이 MP3가 되는 순간이네요.
    정말 감사!!!!!!

    2010/06/11 01:01 [ ADDR : EDIT/ DEL : REPLY ]
  5. 아쭈비

    감사합니다!! ^^

    2010/06/15 08:57 [ ADDR : EDIT/ DEL : REPLY ]
  6. 오오~~

    mp3tokmp 이프로그램만 있는 줄 알았는데 애니콜이랑
    노도시락도 있었네요? mp3tokmp이건 하다보면 몇개는 에러가 나더라구요 변환도중에
    노도시락은 어떤지 궁금하군요. 한번 써봐야겠네요.
    감사합니다^^

    2010/08/03 15:23 [ ADDR : EDIT/ DEL : REPLY ]
  7. 홀씨세상

    항상 잘 쓰고 있습니다.
    파일 드래그 하는 부분은 지원이 안되는 건지요?
    혹시 시간 되시면 그 부분도 수정해 주실수는 있나요?
    고맙습니다. (--)(__) 꾸벅~

    2011/05/10 22:11 [ ADDR : EDIT/ DEL : REPLY ]
    • 시간 될 때 업데이트 해보도록 하겠습니다.
      업데이트 되면, 포스트 업데이트 하겠습니다~

      2011/08/23 00:05 [ ADDR : EDIT/ DEL ]
  8. 밍키짱

    정말 간단하게 잘 사용하고 갑니다.. 고맙습니다^^

    2011/06/18 10:17 [ ADDR : EDIT/ DEL : REPLY ]

Tip & Tech2010/02/04 23:09

 

신뢰되지 않은 루트 인증서를

안드로이드 에뮬레이터에 설치하는 방법

 

How to install a untrusted root certificate

to android emulator

 

 

1. 작업 디렉토리를 만듭니다. (WORKDIR)

2. 루트 인증서(MYROOT.CER)를 WORKDIR 로 옮깁니다.

3. 첨부 파일을 WORKDIR로 다운로드 받습니다.

 

 

 

 

 

4. http://www.bouncycastle.org/latest_releases.html에서 Bouncy Castle Crypto API 라이브러리를 다운로드 받습니다.
 예) http://www.bouncycastle.org/download/bcprov-jdk16-145.jar

5. 다운로드 받은 jar 파일을 "$JAVA_HOME\jre\lib\ext" 디렉토리로 옮깁니다.
 예) C:\Program Files (x86)\Java\jdk1.6.0_18\jre\lib\ext

6. -partition-size 옵션과 함께 에뮬레이터를 실행합니다.
    usage: emulator -partition-size [size] -avd [target-avd]
    ex: emulator -partition-size 256 -avd my_android2.0

7. 부팅 과정을 기다립니다.

8. 명령 프롬프트에서 다음 명령들을 실행합니다.

     adb pull /system/etc/security/cacerts.bks cacerts_org.bks
 
     copy cacerts_org.bks cacerts.bks

     keytool -keystore cacerts.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -importcert -trustcacerts -alias CACERT -file MYROOT.CER
         Trust this certificate? [no]:  y


    adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system
 
    adb push cacerts.bks /system/etc/security/cacerts.bks


hosts 파일도 수정하기 원한다면.
#-- 시작

    adb pull /system/etc/hosts hosts_org

    copy hosts_org hosts
#-- 끝

hosts 파일을 수정합니다.

hosts 파일도 수정하기 원한다면.
#-- 시작
    adb push hosts /system/etc/hosts
#-- 끝

    adb push mkfs.yaffs2.arm /data/data/temp/mkfs.yaffs2

    adb shell chmod 777 /data/data/temp/mkfs.yaffs2

    mkfs.yaffs2 /system /data/data/temp/system.img

    adb pull /data/data/temp/system.img system.img

    adb shell mount -o remount,ro -t yaffs2 /dev/block/mtdblock0 /system

9. "당신의 androidSDK 홈\platforms\target-version\images" (IMAGEHOME) 디렉토리로 이동합니다.
    예) E:\dev\android-sdk-windows\platforms\android-2.0\images

10. system.img 파일을 백업합니다
    ex) system.img를 system.img.org로 이름 변경합니다.

11. WORKDIR\system.img 를 IMAGEHOME 으로 이동합니다.

12. 에뮬레이터를 종료합니다.

13. 에뮬레이터를 새로 시작합니다.

14. 안드로이드 브라우저를 이용하여 당신의 사이트에 접속합니다.

15. 보안 관련 메시지가 안나타나면, 성공입니다.

 

 

1. Make a directory for working(WORKDIR).

2. Move your root certificate(MYROOT.CER) to WORKDIR.

3. Download the attached file to WORKDIR.

4. Download the Bouncy Castle Crypto API library from this site (http://www.bouncycastle.org/latest_releases.html).
 ex) http://www.bouncycastle.org/download/bcprov-jdk16-145.jar

 

5. Move the crypto API jar to "$JAVA_HOME\jre\lib\ext" directory.
    ex) C:\Program Files (x86)\Java\jdk1.6.0_18\jre\lib\ext

6. Run the emulator with -partition-size option.
    usage: emulator -partition-size [size] -avd [target-avd]
    ex: emulator -partition-size 256 -avd my_android2.0

7. Wait booting processing.

8. Run these commands in command prompt.

    adb pull /system/etc/security/cacerts.bks cacerts_org.bks
 
    copy cacerts_org.bks cacerts.bks

    keytool -keystore cacerts.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -importcert -trustcacerts -alias CACERT -file MYROOT.CER
         Trust this certificate? [no]:  y


    adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system
 
    adb push cacerts.bks /system/etc/security/cacerts.bks


If you want to modify the hosts file.
#-- start

    adb pull /system/etc/hosts hosts_org

    copy hosts_org hosts
#-- end

Modify the hosts file.

If you want to modify the hosts file.
#-- start
    adb push hosts /system/etc/hosts
#-- end

    adb push mkfs.yaffs2.arm /data/data/temp/mkfs.yaffs2

    adb shell chmod 777 /data/data/temp/mkfs.yaffs2

    mkfs.yaffs2 /system /data/data/temp/system.img

    adb pull /data/data/temp/system.img system.img

    adb shell mount -o remount,ro -t yaffs2 /dev/block/mtdblock0 /system

9. Go to "your android SDK home\platforms\target-version\images" (IMAGEHOME).
    ex) E:\dev\android-sdk-windows\platforms\android-2.0\images

10. Back up your system.img
    ex) Rename system.img to system.img.org

11. Move WORKDIR\system.img to IMAGEHOME

12. Terminate the emulator.

13. Relaunch the emulator.

14. Connect your site by android browser.

15. If there are no messages related security, success.

 

Posted by virgo81

TRACKBACK http://www.virgo81.net/trackback/70 관련글 쓰기

댓글을 달아 주세요

  1. 비밀댓글입니다

    2011/03/11 18:50 [ ADDR : EDIT/ DEL : REPLY ]
    • check the

      -partition-size option

      and

      adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system

      2011/08/23 00:03 [ ADDR : EDIT/ DEL ]
  2. android 관련해서 큰 도움이 되었습니다.
    좋은 글 감사합니다.
    저는 Coherence 담당했었습니다. ㅋㅋ

    2012/01/31 20:22 [ ADDR : EDIT/ DEL : REPLY ]

Tip & Tech2010/01/22 23:46

최근 Windows 7의 등장과 XP-모드, x86 CPU

 

가상화 지원으로 인하여

 

가상화에 대한 관심이 높아지고 있습니다.

 

가상화는 매우 많은 의미로 사용되고 있지만

 

일반적으로 가장 많이 사용 되는 곳은

 

여러 운영체제를 한 시스템에 격리하여 사용하는

 

시스템 가상화(플래폼 가상화)를 의미합니다.

 

 

먼저 몇 가지 가상화 용어에 대해서 정리를 해보겠습니다.

 

 

가상 머신 모니터(Virtual Machine Monitor = 하이퍼바이저(Hypervisor))

가상 머신의 추상 개념을 제공하는 소프트웨어입니다.
가상 머신을 실행하고, 실제 하드웨어로부터 격리하는 역할을 합니다.
대표적인 소프트웨어로 VMware, Virtual Box, Xen, KVM 등이 있습니다.

 

가상 머신(Virtual Machine)

프로그램을 물리적인 머신처럼 실행할 수 있는 머신의 소프트웨어적 구현입니다.

 

전 가상화(Full virtualization)

소프트웨어를 수정 없이 가상 머신에서 실제 머신처럼 실행 가능합니다.
보통 전통적인 가상화에서 제공하며 x86의 경우 인텔의 VT AMD AMD-V 확장을 통해 제공합니다.
Windows 7
의 가상화 기능과 KVM 등이 전 가상화를 지원합니다.

 

반 가상화(Paravirtualization)

가상 머신에서 실행을 위해서는 소프트웨어의 수정이 필요합니다.
가상화 확장 이전의 x86에서 사용되었으며
반 가상화를 사용하는 가장 유명한 가상 머신 모니터로는 Xen이 있습니다.

 

 

용어를 몇 가지 살펴보니 가상화를 간단하게 이렇게도 말할 수 있을 거 같습니다.

 

 

가상 머신 모니터 소프트웨어를 이용하여 가상 머신을 만들어서 실제 머신에서처럼

 

가상 머신에서 소프트웨어를 실행하는 것이 가상화다.

 

 

그러면 왜 이렇게 번거로운 작업을 해야 할까요?

 

여러 가지 목적이 있겠지만 대표적인 몇 가지를 이야기하면 다음과 같습니다.

 

1. 여러 장비에 분산되어 있는 서버를 고성능 한 장비에 합칠 때
2.
한 컴퓨터에서 여러 프로그램을 실행하고 싶지만, 보안이나 기타 이유로 여러 운영체제가 필요할 때
3.
여러 운영체제에서 테스트가 필요할 때
4.
구형 하드웨어나 소프트웨어에 대한 지원이 필요할 때 (Windows 7 XP 모드의 주 목적입니다)
5.
클라우드 컴퓨팅과 같이 유연하게 자원을 사용하고 싶을 때

 

등등 많은 이유로 가상화에 대한 요구가 증가하고 있습니다.

 

그 동안 VMware Virtual Box등으로 가상화를 사용했던 거 같은데 뭐가 문제였길래

 

인텔이나 AMD가 가상화 지원 CPU를 출시하고 있을까요?

 

과거로 거슬러 올라가 보면 Popek Goldberg 1974년 논문

 

"가상화 가능한 3세대 아키텍처들을 위한 형식상의 요구사항"에서 VMM으로 고려되는

 

시스템 소프트웨어를 위한 3가지 필수 특징을 발표하였습니다.

 

 

3가지를 간단하게 정리하면 다음과 같습니다.

 

1. 효율(Efficiency)

    모든 위험하지 않은 명령들은 VMM의 간섭 없이 하드웨어로 직접 수행되어야 합니다.
2. 자원 통제(Resource control)

    VMM은 가상화된 자원에 대해 완벽한 통제를 해야 합니다.
3.
동등(Equivalence)

    VMM에서 실행되는 프로그램은 같은 머신에서 직접 실행되었을 때와 동일하게 수행되어야 합니다.

 

전통적인 가상화는 트랩-에뮬레이트를 통해 위 특성을 만족하는 가상화를 제공하였습니다.

 

하지만 최근까지 하드웨어의 지원 부족으로 x86 아키텍처는 전통적인 트랩-에뮬레이트 가상화를

 

허용하지 않았습니다.

 

다행스럽게도 최근 인텔 AMD가 전통적인 가상화를 지원하기 위해 아키텍처 확장을 소개했습니다.

 

그것이 인텔의 VT AMD의 AMD-V입니다.

 

 

그러면 x86 아키텍처가 가상화를 위한 어떠한 하드웨어 지원이 부족했을까요?

 

대표적인 문제가 특권 상태 접근 시에 폴트를 발생시키지 않는 문제입니다.

 

이전에는 x86이 많이 사용되는 PC 여러 운영체제를 동시에 사용하고자 하는 요구가 거의 없었습니다.

 

x86에서는 2비트(0-3) 특권 레벨(Privilege Level) 기반의 보호를 제공하는데

 

특권 레벨0은 가장 권한이 높은 소프트웨어(운영체제)가 사용하고

 

특권 레벨 3은 일반 응용프로그램이 사용합니다.

 

하지만 가상화에 대한 요구가 증대되면서 가상화를 시도하게 되었습니다.

 

가상화를 위해 VMM이 도입되어야 하는데, 자원통제를 위하여 VMM은 가장 높은 특권 레벨(0)에서

 

실행이 되어야 합니다. 하지만, 아뿔사! 이미 그 자리는 운영체제가 차지하고 있습니다.

 

그럼 어떻게 해야 하나요? 굴러온 돌(VMM)이 박힌 돌(OS)를 빼내야 합니다.

 

그래서 운영체제한테 특권 레벨 1이나 3으로 가라고 했습니다.

 

특권 레벨 0에 있던 운영체제가 특권 레벨 1 또는 3으로 갔는데 이게 잘 실행되었으면 하는 바램이 있지만

 

바램은 바램일 뿐입니다.

 

 

운영체제는 여러 특권 명령을 실행하게 됩니다. 특권 명령은 특권 레벨 0에서만 사용할 수 있는 명령입니다.

 

특권 명령을 다른 특권 레벨에서 사용하면 트랩이 발생하게 되고 이 트랩을 VMM이 처리를 해주면

 

말끔하게 문제가 해결될 거 같습니다.

 

하지만 애석하게도 x86의 일부 특권 명령은 다른 특권 레벨에서 실행하여도 트랩을 발생시키지 않습니다.

 

트랩을 발생 시켜야 VMM이 처리를 할 텐데 난감한 일이죠.

 

그 외에 링 앨리어싱, 주소 공간 축소, 게스트 시스템 호출의 부정적 효과, 인터럽트 가상화,

 

숨은 상태의 접근, 링 축소, 특권 자원에 대한 빈번한 접근 등의 문제가 있습니다.

 

 

이러한 문제를 하드웨어가 확장을 통해 지원 하기 전에는 소프트웨어로 해결했습니다.

 

VMware, Virtual Box와 같은 x86용 VMM들은 게스트 커널 코드의 바이너리 변환을 대신 사용했습니다.

 

또한 Xen과 같은 경우는 운영체제 코드 레벨 1에서 실행되도록 수정하고 반 가상화를 사용했습니다.

 

이러한 방법으로 가상화를 사용할 수 있지만, 코드를 변경하거나 VMM이 계속 개입해야 하는

 

문제 등이 있습니다.

 

 

이러한 문제를 하드웨어로 해결하기 위해 VT 또는 AMD-v

 

VMX root VMX non-root의 추가를 통해 아키텍처를 확장 했습니다.

 

 

양 모드 모두 0-3까지의 특권 레벨을 가지고 있습니다.

 

VMM VMX root 모드에서 실행되고, 게스트 운영체제는 VMX non-root 모드에서 실행됩니다.

 

 상태는 vm entry를 통해 VMX root에서 VMX non-root 모드로 전환되고

 

또한 vm exit를 통해 VMX non-root 모드에서 VMX root 로 전환됩니다.

 

VMX non-root 모드에서 운영체제는 기존처럼 특권 레벨 0에서 실행됩니다.

 

하지만 기존과 다르게 많은 명령어들과 이벤트들이 vm exit를 호출합니다.

 

이러한 개선을 통해 운영체제는 기존의 특권 레벨에서 실행되기에 특권 레벨 변화로 인한

 

대부분의 문제가 해결 되었습니다.

 

그리고 또한 특권 명령을 VMM이 처리할 수 있게 적절히 트랩도 발생하게 되었습니다.

 

, 이제 말끔하게 가상화를 위한 문제들이 해결된 거 같습니다.

 

그럼 성능도 항상 하드웨어 지원을 통한 가상화가 좋은 성능을 보일 것 같습니다.

 

 

하드웨어 지원 가상화 vs. 소프트웨어 가상화

 

하지만 하드웨어에서 지원해준다고 항상 좋은 것만은 아닙니다.

 

VMX root <-> VMX non root 변환 시 지연이 생각보다 길기 때문입니다.

 

2.66GHz Core 2 Duo 프로세서에서 vm entry 명령을 실행하는데 무려 937 CPU 사이클이 필요하고

 

vm exit 1186 CPU 사이클이 필요합니다.

 

많은 명령어들과 이벤트들이 vm exit를 호출하고 다시 vm entry를 통해 게스트 운영체제로 돌아오기에

 

보통 오버헤드가 아닙니다.

 

VMware 사에서 발표한 논문에 실험 결과를 참고해보면 어느 한쪽이 좋다고 쉽게 단정지을 수 없습니다.

 

하지만 하드웨어 개선을 통해 점점 상태 전환 시 필요 사이클은 줄고 있고

 

하드웨어 지원 가상화는 점점 더 큰 매력을 가지게 되고 있습니다.

 

 

 

가상화에 대해서 간단히 설명해보았는데, 가상화에 대한 이해에 도움이 되었으면 합니다.

 

 

 

참조 자료

 

Intel® Virtualization Technology: Hardware support for efficient processor virtualization

G Neiger, A Santoni, F Leung, D Rodgers, R Uhlig - Intel Technology Journal, 2006

 

A comparison of software and hardware techniques for x86 virtualization

K Adams, O Agesen - ASPLOS, 2006

 

Formal requirements for virtualizable third generation architectures

GJ Popek, RP Goldberg - Communications of the ACM, 1974

 

Virtualization and etc. - Wikipedia

 

 

Posted by virgo81

TRACKBACK http://www.virgo81.net/trackback/69 관련글 쓰기

  1. virgo81의 생각  삭제

    2010/01/22 23:47TRACKBACK FROM virgo81's me2DAY

    가상화 (Virtualization) 최근 Windows 7의 등장과 XP-모드, x86 CPU의 가상화 지원으로 인하여 가상화에 대한 관심이 높아지고 있습니다.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com..

댓글을 달아 주세요

My Soul2010/01/03 00:05

안녕하세요. 또 세연이에요.

 

저의 엄마 아빠를 모시고 50일 사진을 찍으러 병점에 있는

 

화이트발란스 스튜디오(수원동탄점)에 갔어요.

 

거기가 50일 사진 무료 이벤트 중이라고

 

엄마 아빠가 여기로 가야한다고 해서 같이 갔어요~

 

아빠가 오늘의 사진사였어요~^^

 

 

곰돌이 같나요?

 

 

이제 여자아이 같죠?

 

 

잘 생겼죠?

 

 

상반신 누드 :$

 

 

이제 이런 자세도 가능해요.!

 

 

어때요? 이쁘죠?

 

 

음악도 들을 줄 안다고요!

 

 

엄마, 아빠가 바구니에 넣었어요.ㅜㅜ

 

 

바구니에 들어가도 음악은 들어요!

 

 

이제 그만 찍어요! 힘들어요!

 

 

안찍을테야!!

 

 

흑흑.. 여기까지만.ㅜㅜ

 

 

힘들었지만, 귀엽고 깜찍한 저를 표현할 수 있는 하루였어요^^

Posted by virgo81

TRACKBACK http://www.virgo81.net/trackback/68 관련글 쓰기

  1. virgo81의 생각  삭제

    2010/01/03 00:09TRACKBACK FROM virgo81's me2DAY

    세연이 50일 사진 찍었어요! 안녕하세요. 또 세연이에요. 저의 엄마 아빠를 모시고 50일 사진을 찍으러 병점에 있는 화이트발란스 스튜디오(수원동탄점)에 갔어요. 거기가 50일 사진 무료 이벤트 중이라고 엄마 아빠가 여기로 가야한다고 해서 같이 갔어요~ 아빠가 오늘..

댓글을 달아 주세요

  1. 지여니

    아무리 내 딸이지만 정말 너무 너무 이쁘당..ㅎㅎ
    담에 백일 사진도 찍으러 가요 우리♥

    2010/01/03 00:23 [ ADDR : EDIT/ DEL : REPLY ]
  2. clrl

    ㅎㅎㅎ 완전 귀엽다

    2010/01/03 21:39 [ ADDR : EDIT/ DEL : REPLY ]
  3. 예쁘게 나왔네요~
    인환 씨 인물사진 실력이 좋은 것 같습니다~ ^^

    2010/01/04 19:13 [ ADDR : EDIT/ DEL : REPLY ]
  4. ㅎㅎ 귀엽네~~ 세연이보러 한번 가야하는데~~ 매일 새벽퇴근이라.^^;

    2010/01/08 21:38 [ ADDR : EDIT/ DEL : REPLY ]

My Soul2009/12/13 23:35

안녕하세요. 세연이에요.^^

 

Posted by virgo81

TRACKBACK http://www.virgo81.net/trackback/67 관련글 쓰기

댓글을 달아 주세요

  1. 아기 무척 이쁘네요~ ^^
    아. 카메라 특템도 축하드립니다~

    2009/12/14 07:57 [ ADDR : EDIT/ DEL : REPLY ]
  2. 석진

    아이고~ 정말 귀엽군요~
    엄마랑 아빠랑 반반씩 닮은 것 같아요~
    500D 한 번 선보여야 하는데, 이번 주 출사 가능한건가요? ;;;

    2009/12/14 08:23 [ ADDR : EDIT/ DEL : REPLY ]
  3. yejin

    아웅..너무 귀여워 ㅎㅎㅎㅎ :)

    2009/12/14 14:08 [ ADDR : EDIT/ DEL : REPLY ]
  4. 준경

    세연이 이름도 이쁘네 ^^* 건강하게 자라렴 ^^ ㅊㅋㅊㅋ~

    2009/12/21 11:51 [ ADDR : EDIT/ DEL : REPLY ]
  5. 신광표

    정말귀엽네요
    건강하게자랐으면
    좋겠네요

    2011/07/06 12:00 [ ADDR : EDIT/ DEL : REPLY ]
    • 감사합니다.^^ 덕분에 건강하게 자라고 있습니다.

      2011/08/23 00:07 [ ADDR : EDIT/ DEL ]
  6. canada goose

    [url=http://www.canadagooseprovide.com/]canada goose[/url]
    Canada Goose www.canadagooseprovide.com parka, a superb outdoors attire company, had been produced in Canada. Canada Goose <a href="http://www.canadagooseprovide.com/">canada goose jackets</a>is surely an specialist predominantly throughout warmth, <a href="http://www.canadagooseprovide.com/"> canada goose jakker</a>Canada Goose Jackets these days is now ever more been regarded being a significant extreme weather conditions coat a large number <a href="http://www.canadagooseprovide.com/">Canada Goose</a>of manufacturers of global planet.Canada Goose online, All Canada Goose Clothing enjoy the discount.Welcome <a href="http://www.canadagooseprovide.com/">canada goose outlet</a>to buy Canada Goose Parka from our Canada Goose Outlet shop,now you can enjoy cheapest price.

    [url=http://www.canadagooseinca.com/canada goose shop[/url]
    In terms of fashion, Canada Goose www.canadagooseinca.com is just not extensively regarded as the global type of Mecca. <a
    href="http://www.canadagooseinca.com/">Canada Goose</a> Even so, the world's runways, could be the country’s vogue inspiration emanates through the chilly temperatures.<a href="http://www.canadagooseinca.com/">Canada Goose
    jakker</a> From past season’s trench coat, <a href="http://www.canadagooseinca.com/">Canada Goose in canada </a>swelling in the time, quilting quantity, brave the factors coat has never actually been so canada goose outlet. <a
    href="http://www.canadagooseinca.com/">Canada Goose parka</a>What on earth is intriguing to be aware that Canada’s leaders seldom just take <a href="http://www.canadagooseinca.com/">Canada Goose</a>the package coat in Milan or Paris runway. However they know their marketplace.

    2012/02/04 12:51 [ ADDR : EDIT/ DEL : REPLY ]
  7. Each elegant woman all need a pair of nice shoes, I hope I provided these shoes, can the like by everybody.

    2012/02/11 10:54 [ ADDR : EDIT/ DEL : REPLY ]
  8. 사실 나는 후회 당신이 게시 할 쓴거야 더 일반적 .

    2012/02/14 11:52 [ ADDR : EDIT/ DEL : REPLY ]

Tip & Tech2009/12/02 22:54

한국어 멀티미디어(오디오) 가이드 서비스를 제공하는 박물관들

The museums, availble in Korean multimedia guide service

 

 

 

 

 

 

 

 

 

 

 

영국 박물관 (대영 박물관, The British Museum)

/ 런던(London)

/ http://www.britishmuseum.org

 

 

Available in English, Korean, French, German, Italian, Spanish, Arabic, Russian, Japanese and Mandarin.
영어, 한국어, 프랑스어, 독일어, 이탈리아어, 스페인어, 아라비아어, 러시아어, 일본어, 중국어.

 

 

루브르 박물관 (Le musée du Louvre, the Louvre Museum)

/ 파리(Paris)

/ http://www.louvre.fr

 

 

Available in English, French, German, Italian, Japanese, Korean, Spanish and French sign language

영어, 프랑스어, 독일어, 이탈리아어, 일본어, 한국어, 스페인어, 프랑스어 수화

 

 

에르미타시 미술관 (Госуда́рственный Эрмита́ж, State Hermitage Museum)

/ 상트페테르부르크(Санкт-Петербург, Saint Petersburg)

/ http://www.hermitagemuseum.org

 

 

Russian, English, German, French, Italian, Spanish and Korean.

러시아어, 영어, 독일어, 프랑스어, 이탈리아어, 스페인어, 한국어

 

 

예전에 유럽 여행할 때 방문한 영국박물관과 루브르박물관은

 

한국어 서비스가 제공되지 않아서 아쉬웠는데,

 

현재는 한국어 멀티미디어 가이드 서비스를 제공하고 있다.

 

해당 서비스는 모두 대한항공(003490)의 후원으로 제공되고 있다.

 

다음 기회에 방문할 때는 작품들을 더 자세히 볼 수 있을거 같다.

 

근데 한국어 투어 가이드들에게 타격이 있지 않을까?

 

 

 

 

003490 Korean guide Le musée du Louvre LONDON Paris State Hermitage Museum The british museum the Louvre Museum Госуда́рственный Эрмита́ж 대영 박물관 대한항공 런던 루브르 박물관 멀티미디어 가이드 박물관 에르미타시 미술관 에르미타주 미술관 에르미타쥐 미술관 여행 영국 박물관 오디오 가이드 파리 한국어 가이드

 

Posted by virgo81

TRACKBACK http://www.virgo81.net/trackback/66 관련글 쓰기

댓글을 달아 주세요

Tip & Tech2009/06/20 01:23



마이크로소프트의 Windows Live SkyDrive 가
25GB의 대용량을 제공하면서
개인 자료 백업을 위한 공간으로 널리 활용되고 있습니다만
웹 인터페이스로 써야해서 불편함이 많습니다.


그러나, Gladinet Cloud Desktop 을 이용하면 GMail Drive 처럼
탐색기에서 바로 접근할 수 있습니다.


먼저 Gladinet Cloud Desktop 스타터 버전을 받을 수 있는
http://www.gladinet.com/p/download_starter.htm 로 이동합니다.

그리고 나서 32bit 윈도를 쓰시는 분은 32bit 버전을,
64bit 윈도를 쓰시는 분은 64bit 버전을 다운로드 받습니다.

설치 프로그램을 실행합니다. Next를 누릅니다.


라이센스 동의 창입니다. I Agree를 선택하고 Next를 누릅니다.


바탕화면 단축아이콘, 빠른 실행 단축아이콘, 웹 클라이언트 서비스 시작, 방화벽에 대한 설정입니다. 
원하시는 항목을 체크한 후, Next를 누릅니다. (저는 바탕화면, 빠른 실행 단축아이콘을 제외했습니다.)


설치 경로를 지정하시고, Next를 누릅니다.


Next를 누르면 설치가 시작됩니다.


설치가 진행됩니다.


Close를 누르면, 프로그램이 실행됩니다.

처음 실행되면 "한번만 실행되는 초기 설정" 창이 나옵니다.
I just want to use free starter edition (무료 스타터 에디션 사용을 원합니다.)를 선택하고 다음을 누릅니다.


Gladinet 을 위한 드라이브 문자를 선택하고 다음을 누릅니다. (저는 S:를 선택했습니다.)


Gladinet 클라우드 데스크탑은 로컬 파일과 온라인 스토리지 서비스 사이의 캐시를 관리합니다.
Cache 위치를 정하고, 다음을 누릅니다. (저는 R:\Gladinet\Cache 로 정했습니다.)


Gladinet 프로파일은 로컬 파일에 온라인 자격 증명(계정 정보)를 저장합니다.
암호화를 활성화하면 프로파일 암호와 윈도 자격증명을 사용하여 온라인 자격 증명을 보호할 수 있습니다.
프로파일 암호화를 설정하고 다음을 누릅니다. (저는 활성화하지 않았습니다.)


자동 업데이트를 설정하고, 다음을 누릅니다.


이제 SkyDrive를 마운트 할 차례입니다.
Mount Disk Storage or Web Storage As Virtual Directory
(디스크 스토리지 또는 웹 스토리지를 가상 디렉터리로 마운트)를 선택합니다.


Storage Provider (스토리지 공급자)는 Windows Live SkyDrive를 선택하고 다음을 누릅니다.


Create New Safe Card (새 안전 카드를 생성합니다.)를 선택하고, Windows Live의 계정 정보를 입력한 후,
다음을 누릅니다.


마침을 누르면, 마운트 작업이 종료되면서 가상 디렉토리가 표시됩니다.


마운트하는 중간에 SkyDrive 플러그인 설치를 위한 라이센스 동의 창이 나타납니다. Yes를 눌러줍니다.


다시 아까의 창이 나타나면, Don't Show This Screen Next Time (다음에는 이 화면을 보여주지 않습니다.)를 선택하고,
Close를 누릅니다.


탐색기를 이용해서 S:\Windows Live SkyDrive 에 접근할 수 있습니다.

 
이제 SkyDrive를 다른 폴더처럼 이용할 수 있습니다.!!!



SkyDrive 스카이드라이브 스카이 드라이브 Gladinet 글래디넷 Cloud Desktop 클라우드 데스크탑 Microsoft 마이크로소프트 Windows Live 윈도 라이브 탐색기 Explorer 마운트 Mount


 

 

Posted by virgo81

TRACKBACK http://www.virgo81.net/trackback/65 관련글 쓰기

댓글을 달아 주세요

  1. 친절한 설명 정말 감사드립니다 ^^
    이런 설명을 찾아 방황하고 있었는데 정말 고맙네요!
    덕분에 잘 설치했습니다~

    2009/06/27 12:17 [ ADDR : EDIT/ DEL : REPLY ]
  2. 비밀댓글입니다

    2009/10/01 17:36 [ ADDR : EDIT/ DEL : REPLY ]
    • 방법을 검색엔진 통해 잘 찾아보시는 수 밖에 없는거 같네요^^;

      2010/01/03 01:44 [ ADDR : EDIT/ DEL ]
  3. 비밀댓글입니다

    2009/10/03 11:17 [ ADDR : EDIT/ DEL : REPLY ]
    • 영준님만의 수를 저장하는 자료구조를 만드셔야 할 듯 합니다. 관련 자료는 웹 상에 많이 공개되어 있으니 참고하시면 될 듯 합니다.^^

      2010/01/03 01:47 [ ADDR : EDIT/ DEL ]
  4. 마침 요즘 스카이드라이버 사용하고 있었고 자료 올릴떄마다 로그인 하고 업로드하느라 쫌 불편했었는데 좋은 프로그램 소개해주셔서 고맙습니다.

    2010/03/12 18:09 [ ADDR : EDIT/ DEL : REPLY ]