2015년 2월 24일 화요일

MacBook Pro에서 SSD trim과 USB superdrive을 동시에 사용하기.. + 2015.7 update

2015.2.24.(화)

Mac OS에서 SSD trim을 위해 trim enabler를 사용하게 되면 다음과 같은 점에서 주의해야함
  - Yosemite라면 PRAM reset을 수행하면 부팅 불가
  - Apple USB superdrive를 사용할 수 없음

위의 2가지를 수행하기 위해서는 trim enabler에서 trim disable을 해줘야함

다른 trim 방법을 찾아보니  Chameleon SSD라는 것이 있음. Yosemite에서도 사용가능하다고 주장함. 그래서 깔아보기로함.

Apple USB superdrive 도 잘 동작하고   trim 도 잘됨. 결론은 trim enabler 은 사용불가. 카멜레온으로 사용해야함.

2015.7.3 update

2015.6.30.에 Yosemite 10.10.4로 upgrade되면서 3rd party SSD에 대해서도 trim 지원이 가능하게됨으로써 위의 수고는 하지 않아도 됨.

2015년 2월 22일 일요일

HP 계산기 : HP-41C, HP-15C

2015.2.23.(월)

HP 계산기는 RPN(Reverse Polish Notation) 방식의 독특한 계산방식으로 유명하다. 현재 판매중인 계산기는 HP Prime 이라는 모델로 graph, CAS(computer algebra system)이 있어서 정적분, 방정식 등을 풀 수도 있을 정도이다. 그러나,  HP 계산기는 앞서 말한 RPN 등 특이한 매력을 지니고 있어서 인기모델들은 단종되었음에도 불구하고 지금도 비싼 가격에 ebay에서 판매되고 있다. 예를 들어 HP-15c 모델은 1989년 단종되었다가 2011년 Limited Edition으로 180불에 재발매되었고 이 LE 버전은 Amazon에서 600불에 거래되고 있다.(HP Prime 새제품이  150불에 판매됨)

RPN은 다음과 같은 점에서 기존 계산 순서와는 다름.  infix notation인 2 + 3  의 계산을 한다면 RPN은  2 3 +   로 표현됨. 즉,   (숫자2) (enter) (숫자3) (+)를 누르면 됨. 말로 표현한다면 우리말의 어순과 같다고할 수 있음. (2) (와) (3을) (더해라) 로 볼 수 있음.

80년대 초반에 대학교앞 문구점에 붙어 있었던 HP-41C(당시 획기적으로 알파벳이 액정에 표시되고 소리도 나는 계산기였음)의 광고를 보고 사고 싶었으나 비싼 가격에 엄두도 못냈었고 단종되고 난 후 청계천 세운상가를 지나다 진열장에서 발견하고서는 용돈을 모아서 중고 HP-41CV를 싸게 샀던 기억이 난다.

그 후 잊고 있다가 오래된 HP Journal(도서관에서 찾았던 것인 데, 지금은 다음 사이트에서 원문을 그대로 볼 수 있음 - http://www.hpl.hp.com/hpjournal/pdfs/IssuePDFs/1980-03.pdf)에서 HP-41에 대한 기사를 보고 계산기 및 컴퓨터 구조를 이해하는 데 많은 도움이 되기도 하였고, HP 계산기에 대해 정리된 사이트(hpmuseum.org) 를 발견하게 되었고 HP에서 upgrade용으로 제공한 calculator ROM을 사용하여 PC용 emulator도 만들고 있음을 알게 되었다.

최근 Mac에서 사용할 간단한 계산기를 찾다가 http://www.bartosiak.org/nonpareil/ 에서 여러가지 HP 계산기에 대한 emulator를 받을 수 있어서 HP-15C를 받았고, 생각난 김에 적어보았다. 참고로 HP Prime 계산기는 HP site에서 Windows용으로 받을 수 있다.

2015년 2월 15일 일요일

MacBook Pro 가 부팅이 안되는 이유 - 특히 Yosemite에서...

2015.2.15(일)

o 서론
  지난 12월 맥북프로가 부팅이 안되어서 오랫동안 여러가지 조치를 하고서 겨우 부팅이 되었음. 그런데, 부팅이 안된 명확한 이유를 모르고 있다가 그저께 밤에 또 아래와 같은 stop 사인이 나오면서 같은 증상을 보였음. 그래서 이번에는 recovery 파티션으로 들어가서 곧 바로 OS X 설치를 하니 모든 셋팅이 정상으로 다시 부팅할 수 있었음. 그러나, 여전히 이유를 모르고 있었음.
(그림 1) Mac OS의 부팅 불가 시 나오는 stop sign

o 문제의 발견
  사용하고 있는 맥북프로는 2009년 중반의 것으로 DVD가 달려있는 모델인데, DVD를 제거하고  disk0로 OCZ Azility 4 SSD가, disk1에 일반 HDD를 달았음. Apple의 SSD가 아니면 trim이 지원안되므로 언제 어느때 SSD가 죽어버릴 지 모르는 상황이어서 trim enabler를 설치하여 trim을 하고 있었고, CD 등을 사용하기 위하여서는 Apple의 USB superdriver를 USB에 연결하여 사용하고 있었음. 이것이 문제였던 것임. 즉, 요약하여, 관련 HW와 driver는 다음과 같은 상황

OS : 10.10.2
SATA : disk0 - SSD, disk1 - HDD
SSD trim : Trim Enabler 3.3
ODD : Apple USB superdrive connected to USB

Apple USB superdrive는 MacBook Air나 Mac Mini 등에서 ODD가 없는 모델에서만 동작하도록 만들어져 있음. 현재 상태처럼 ODD가 있던 모델에서는 동작하지 않음. 이것을 가능하게 하려면 다음 2가지 방법이 있음
  1. /Library/Preferences/SystemConfiguration/com.apple.Boot.plist 파일을 열어서 mbasd=1 라는 string을 을  <string></string> 의 사이에 넣고 save한 다음 재부팅하면 됨
  2. terminal을 열어서 sudo nvram boot-args=”mbasd=1″ 을 실행시켜도 됨

2번째 방법으로 활성화 시켜서 사용하고 있었음. 다른 리포트를 볼 때 2번의 방법이 1번의 방법과 완전히 동일하다고는 하지만 2번은 잘 안될 때도 있다고 하므로 요세미티에서는 1번의 방법을 사용해야할 것 같음. 어쨌건 1번 방법 사용하고자 함

1번의 방법을 사용하기 위해 com.Apple.Boot.plist 파일을 text editor로 열어보니.... 아니.. 바이너리 파일로 되어 있어서 내용을 함부로 수정했다가는 안될 것 같아서 조심스레 파일을 닫고 다시 구글링..

문제는 trim enabler에 있었음.

o 해결방안
trim enabler에서도 '같은' .plst 파일을 수정하고 있는 데, 수정/추가된 string은 kext-dev-mode=1 이었는 데, OS X 재설치 후 곧 바로 trim enabler를 먼저 설치했기 때문임. 따라서, trim enabler를 사용하고 있다면 2개의 string이 같이 들어가야 되는 데, trim enabler에서 먼저 수정했다면 .plist 파일을 바이너리로 바꾸어 놔 버린다는 점을 알게되었음. 이것은 Yosemite의 새로운 보안 방법 에 대응하기 위한 방법으로 device driver를 임의로 바꾼 경우 ( 악의로 인해서 바뀐 경우도 있겠지만 선의(?)의 3rd party driver의 설치도 같이 막힘)를 막고자 부팅 시 .kext (kernel extension 파일, 다른말로는 device driver) 파일들을 검사하는 데 이 검사를 못하게 만들기 위함이었음. 이러한 과정을 kext signing 이라고 한다함.

그렇다고해서 trim enabler를 사용하지 않으면 trim이 안되서 ssd가 언제 죽을 지 모르는 것이므로 (Mac에 SSD를 달고 trim 없이 3년 정도 쓰다가 갑자기 죽어버려서 데이터 다 날린 것이 6개월 전이었음.) 따라서, trim enabler를 사용은 해야되겠고.. Yosemite도 사용해야되겠고.. USB superdrive도 사용해야되겠고..

일단, xcode로 .plst 파일을 읽어보니(바이너리인데도 읽어짐) <string></string> 사이가 mbasd=1 kext-dev-mode=1로 되어 있어서 그대로 두고 superdrive도 잘 되겠거니 하였음.

2015.2.18. 추가분 : 그런데, 그동안 DVD를 안쓰고 있다가 디스크를 넣어보니 들어가지 않았음. 이것은 superdrive가 작동을 안한다는 것임.  여러가지 시도를 했보았으나, 결론은,  DVD가 내장된 MacBook Pro에서는 Yosemite일 때 trim enabler를 사용하면 Apple USB Superdrive 가 작동안한다는 것임. 여기에 대해서는 자세히 포스팅할 예정.. 해결책을 찾았음.

o 주의할 점

그러나 Apple사의 SSD가 아닌 SSD에 대한 trim을 지원하기 위해서는 trim enabler가 필요한 데,  Yosemite의 device driver 검사 정책을 포기하지 않는 이상(trim enabler와 같은 방법을 trim hack이라고하고 Apple이 이러한 hack을 막지 않고 그냥 둘 수는 없을 것임)  trim enabler는 이런 문제를 일으키게 될 것임. 이에 대해 trim enabler  사에서는 다음 몇가지를 주의하라고 함
  - PRAM reset을 할 때는 반드시 trim enabler에서 trim disable을 해 주고 실시하도록.. 그렇지 않으면 부팅 시 stop sign이 나타날 것임. 완전한 해결책은 아직 없음.
  - stop sign이 날 경우 다음 캡처의 절차로 해결하라고함 (바로 그저께 이렇게하면 더 해결될 듯했음) 아래 내용외에 1가지 더 해결방법이 있고, 안될 때는 최종적으로 recovery에서 OS X 재설치라고함. 아래 reference 참조..

(그림 2) trim enabler와 PRAM reset에 의한 부팅 시 stop sign에 대한 대처방법

o reference
  - trim enabler의 주의할 점 : http://www.cindori.org/trim-enabler-and-yosemite/ 
  - Yosemite의 SSD trim 관련 디스커션 기사 : http://www.zdnet.com/article/os-x-yosemite-and-third-party-ssds-heres-what-you-need-to-know/


o 후기
  - MacBook Pro에서 뜬금 없는 stop sign에 대한 의혹이 풀렸음. 앞으로는 PRAM reset할 때 조심해서 해야할 듯...
  - 이제 생각이 나는 데, 그그저께 USB 허브가 동작을 안해서 USB문제인지 알아보느라고 PRAM reset을 한 것이 생각남


2015년 2월 3일 화요일

Mac OS의 화면공유를 사용한 평행거울 현상

o 서론
  - 거울 2장을 마주보고 그 중간에 물체를 놓으면 거울면에 의해 반사된 상들이 겹겹이, 무한히 반복되는 현상을 볼 수 있음.
  - 아래의 그림과 같이 Mac OS의 화면공유로도 그것을 만들 수 있음.

(그림) 2대의 Mac과 Mac OS의 화면공유를 사용한 평행거울 현상
o 준비물 : Mac OS가 깔린 2대의 Mac

o 절차
  - Mac1에서 Mac2를 화면공유를 통해 접속
  - Mac1의 화면공유 화면내에서 Mac2를 화면공유
  - 즉, Mac1은 Mac2를 부르고, Mac2에서는 Mac1을 다시 부르는 상황이 됨.

o 결론
  - Mac OS의 안정성을 옅볼 수 있음