윈도우 블루스크린 안 뜨게 하려는 개발자들의 노력

현장속으로/세미나 2010. 2. 18. 06:30

지난 1 24일부터 1주일 간 시애틀 마이크로소프트 본사에서 열린 스물두 번째 ‘IFS Plugfest’에 다녀왔다. ‘IFS’‘Installable File System’의 머릿글자이다. 이름에서 유추할 수 있듯이 다양한 회사의 필터 드라이버 팀이 자사의 솔루션을 가지고 와서 MS를 비롯해 각 업체 간에 상호운용성을 검증해 보는 자리이다. ‘fest’로 끝나는–예를 들면 독일 맥주 축제 옥토버페스트(Oktoberfest)와 같은 활기 넘치는 이벤트와 다르게 아주 조용하고 진지하게 진행되는 이벤트이다.

각 회사 별로 테스트 장비가 할당되고, 회사 별로 테스트 일정이 짜여 있다. 우리 팀은 V3 Lite에 새롭게 들어갈 행위 모니터링 드라이버와 V3 파일 필터 드라이버, 디스크 필터 드라이버 등을 테스트했다.

 

Plugfest가 열리는 대회의실. 앞뒤좌우 벽면에 MS 엔지니어가 상주하여 실시간으로 지원해준다.

 

그런데 왜 드라이버 팀들이 한데 모여서, 그것도 본사에 모여서 테스트를 하는 걸까? 그 이유는 프로세스 별로 격리되어 실행되는 다른 프로그램과 달리 드라이버는 커널 공간에서 모두 함께 실행되기 때문이다.

 

다음 그림을 보면 프로세스는 각기 고유한 공간에서 실행되고 드라이버는 모두 하나의 공간에서 서로 얽혀서 실행되는 것을 알 수 있다. 모두 하나의 공간에 모여서 실행되다 보니 어떤 문제가 일어났을 때 누구의 잘못인지 알기도 어렵고 고치기도 어렵다.

 

게다가 커널 공간에서 발생하는 오류는 즉시 BSOD(blue screen of death, 블루스크린)로 나타나고 대부분의 사람들은 윈도우 운영체제를 탓한다. MS로서는 상당히 억울했을 것이고, 그 해결 방법으로 Plugfest가 시작되었을 거라 추측된다.

 

*잠깐 용어 설명 - BSOD

마이크로소프트사의 윈도우 시스템에서 치명적인 시스템 오류로부터 복구될 수 없을 때 내보내는 파란 화면. 에러 번호, 드라이버, 스택 상태 등의 정보가 표시되며, 재부팅한 후 원인을 찾을 수밖에 없어, 공포의 파란 화면으로도 불린다.

 
드라이버 개발자와 솔루션을 한 곳에 모아 놓고 서로 잘 돌아가는지 테스트해보고, MS사의 엔지니어가 현장에서 실시간으로 기술지원을 해서 문제를 조기에 해결하고자 한 것이 성과가 좋았던 것 같다. 벌써 10년째이니. 안철수연구소도 이번에 꽤 쏠쏠한 성과를 얻었다. 사내에선 발견되지 않던 버그를 거의 하루에 하나 꼴로 잡았고 MS 엔지니어로부터 속 시원한 대답도 들을 수 있었다.

 

 

애플리케이션과 드라이버의 차이. 프로세스 단위로 실행되는 애플리케이션과 달리 드라이버는 한데 뭉쳐서 동작한다. 따라서, 타사 프로그램과 충돌할 가능성이 훨씬 높다. 문서화하지 않은 방법도 서슴지 않고 쓰는 보안 프로그램들끼리는 더 빈번히 충돌할 것이다.

 

Plugfest는 매일 오전 9시에 시작해서 저녁 6시에 끝난다. 하루에 2~32시간씩 타사와 상호운용성 테스트 일정이 잡혀 있고, 중간중간 MS의 세미나가 있다. 이번에는 전통적인 백신과 백업 솔루션 외에 소프트웨어(SW) 행위 모니터링과 가상화 솔루션을 들고 온 업체가 많았다.

 

일정에 맞춰 서로의 테스트 PC에 제품을 설치해서 테스트를 진행한다. 서로 간단히 자사 제품의 정상 동작을 확인하고, MS가 준비한 자동 테스트 도구를 실행하여 테스트를 시작한다. 중간에 오류가 나면 알려주기도 하고 상대방 PC에서 테스트가 잘 되고 있나 간간히 보러 가기도 한다.

 

행사에서 발표되는 세미나의 주 내용은 MS가 제공하는 온라인 충돌 분석 시스템에 대한 홍보와 필터 드라이버 구현에 관한 팁, OS 상에 새로 변경된 부분에 대한 안내가 주를 이룬다. 테스트 세션에서 발견된 버그를 디버깅하다 보면 세미나를 못 듣고 하루가 정신 없이 지나가기도 한다.

 

이번에 우리 팀은 드라이버 테스트 외에 추가적인 목표를 하나 더 가지고 있었다. 바로 타 회사 사람과의 인맥 만들기. 목표는 같은 동양인으로 영어에 관해 동병상련(?)이 있는 트렌드마이크로 연구원들이었다. 마침 우리와 테스트 일정도 잡혀 있어서 쉽게 친해질 수 있었다. 영어로 대화하다 보니 말은 원활하지 못했지만 재미있게도 동양인 엔지니어 간에 뭔가(!) 통하는 게 있었다. 점심도 같이 먹으며 생각보다 빨리 친해졌다. 마지막 날에는 로비에서 같이 기념 사진도 찍었다.

 

트렌드마이크로 연구원들과 함께

 

개인적으로는 처음 참가했지만, 생각보다 훨씬 유익했던 것 같다. 제품을 출시하기 전에 상호운용성을 테스트하여 제품 안정성을 높이는 것은 물론이고, 특히 뭔가 트러블이 있을 때 해당 부분을 개발하는 MS 엔지니어를 불러서 앉혀 놓고 직접 바로 트러블 슈팅을 해 볼 수 있다는 게 참 매력적인 것 같다.

 

해외에는 여행 다닌 게 전부인 나로서는 다국적 인종이 모여서 일하는 현장에 있었다는 것도 신선했고, 간단한 영어와 윈도우 API(Application Programming Interface), 그리고 C언어로 엔지니어끼리 대화가 된다는 것도 재미있었다J. 다음 번엔 테스트와 트러블 슈팅뿐 아니라 미래지향적인 인간관계를 형성하는 걸 시도해 봐야겠다. Ahn

틈틈이 찍은 사진들


 

황용석 선임연구원 / 안철수연구소 기반기술팀

댓글을 달아 주세요

  1. 요시 2010.02.18 19:16  Address |  Modify / Delete |  Reply

    우와 .. 정말 많은 노력들을 하시는군요^_^
    괜한 윈도우 탓만 했군요 ㅎㅎ
    틈틈이 찍은 사진들 크게 볼려고 했더니 ㅠㅠ안되네욥..

  2. 신영철 2010.02.18 23:32  Address |  Modify / Delete |  Reply

    좋은글이네요~^^.
    잘읽었습니다~~~!!!

  3. DJ야루 2010.02.19 08:43  Address |  Modify / Delete |  Reply

    우와...그냥 테스트 하고 넘기는게 아니라, 이렇게 다들 모여서 심층적으로 테스트를 하는군요

    우와...

  4. 영우 2010.03.26 13:27  Address |  Modify / Delete |  Reply

    그분(파란스크린)이 뜨면,
    윈도우 탓만 했는데...

    새로운 사실 알았습니다.

  5. 영우 2015.04.21 18:32  Address |  Modify / Delete |  Reply

    그분(파란스크린)이 뜨면,
    윈도우 탓만 했는데...

버거킹 아니죠, 버그(BUG)킹 맞습니다!

버그(Bug)를 잡아라~ 버그를 잡아야 하는 사람들. 안철수연구소에는, 개발 과정 중 나타나는 결점이나 버그들을 발견함으로써 프로그램의 완성도를 높이는 데 주력을 다하는 QA팀(품질보증팀)이 있습니다.

이 팀에서는 직원들 및 연수생들의 업무 효율성을 높이고자, 한 달에 한 번 버그 갯수를 카운팅하여 버그킹(BUG KING)을 선정하고 있어요.

1위에게는 '휴가 1일', 2위에게는 '휴가0.5'일이라는 달콤한 포상이 있기에 암묵적으로 불꽃 튀는 신경전이 벌어지고 있다고 합니다.

지난 두 달 간, 놀라운 기록 달성과 함께 2연속 버그킹에 등극한 연수생이 있다기에 QA팀으로 가 보았습니다!


테스팅에 한창이던 그에게 업무에 대해 간단한 설명을 들으며 해당자료를 검토하던 중 놀라운 것을 발견 했습니다.

아래에서 보시다시피, 한 달 간 182개의 기록을 세우며 2등(71)과는 엄청난 차이로 압도적인 승리(?)를 거두었기 때문이죠^^;


 
하루에 3-4개 발견하면 S급이라는 냉혹한 현장에서, 도대체 어떠한 마인드를 가지고 임했기에 이런 일이 가능한 것인지 의문이 생겼습니다.

이 때, 인터뷰 도중 팀 내 동료 한 명이 다가와 웃지 못할 에피소드를 말 해 주더군요.
그의 증언에 따르면, 어느 날엔가 새벽 4시에 버그킹으로 문자 한 통을 받았다고 합니다. 갑자기 자다가 생각이 났는데 행여 잊어버릴까봐 보낸다면서, 문자에 버그 추출 단계를 서술 해 놓았다는 것입니다 -0-!

뿐만 아니라, 열이면 열. 세심하다 못해 치졸하다 싶을 정도의 버그들을 용케 발견 해 내어 보는이들로 하여금 냅다 혀를 내두르게 만든다고 하는데요.

말로 설명하는 것 보단 직접 눈으로 확인을 해보심이 빠르겠군요!

Q: 아래의 화면에서 틀린 부분은 어디일까요? 다같이 찾아봅시다!



답: '자세히보기' 구문이 왼쪽으로 1pixel 치우쳐있음



이만~하면 어느 정도인지 감이 잡히시나요?ㅋㅋㅋ

그는 지난 V3 IS 8.0의 '메신저 실시간 검사'와 '7.0버전의 추가 은폐 진단'기능의 테스트를 맡았는데요. 제품이 출시 되었을 때 본인의 제안과 수정사항 등이 반영된 점을 보고 너무도 뿌듯했다고 하네요 ^^

남은 연수기간까지도 최선을 다하여 5관왕에 도전 하겠다며 굳은 의지를 보였어요!
(당신은 욕심쟁이 후후훗^ ^)

마지막으로, 버그킹 등극에 가능했던 팁 몇 가지!

1. 행정병 2년으로 다져온 단축키 신공
2. 복수전공인 호텔경영학을 공부하며 얻어진 서비스마인드
3. 이따금씩 찾아오는 버그신의 FEEL 충만한 날 절대 자리에서 일어나지 않는 진득함 


이대로 쭉~열심히해서 5관왕 꼭 성공하시길^ ^*

-U양-

댓글을 달아 주세요

  1. 어울림 2009.06.07 12:53  Address |  Modify / Delete |  Reply

    픽.. 픽셀하나 밀린걸;;
    저거 찾아도 버그로 인정해주나요?;;

  2. 요시 2009.06.07 15:14  Address |  Modify / Delete |  Reply

    허말도안돼..ㅋㅋ 보이지도 않는.......... ㅠㅠ
    대단하세요 ㅠ.ㅠ

  3. 선주 2009.06.08 00:07  Address |  Modify / Delete |  Reply

    위로 1pixel이라고 해야 맞는것 아닐까요? 왼쪽으로라고 해도 잘 모르겠는데요..ㅠㅠ

  4. solar 2009.06.09 16:20  Address |  Modify / Delete |  Reply

    쩐다는 말밖에 -_-;;

  5. 광년이~+ 2009.06.10 08:24  Address |  Modify / Delete |  Reply

    ..... 저런걸 찾아내시는 분이 존재한다는게 신기하네요 ㅋㅋ

  6. 쿨캣7 2009.06.11 00:51  Address |  Modify / Delete |  Reply

    우리에게는 저런 모습이 쩐다고 표현되지만.. 일본에서는 글자 하나 오타 났다고 반품 되는 등... 참.. 배울 점이 많다는 생각도 합니다. 그보다.. 저런걸 도대체 어떻게 발견하죠 ?! TT

  7. mbti 2009.06.11 13:23  Address |  Modify / Delete |  Reply

    우와...모니터에...모눈종이라도...^^;

  8. mbti 2009.06.11 14:33  Address |  Modify / Delete |  Reply

    버그왕이라...

  9. lkjasdf 2009.06.17 19:41  Address |  Modify / Delete |  Reply

    왼쪽은 20픽셀이고 오른쪽은 21픽셀이네요...

    그런데... 저건 버그라고 볼 수가 없잖아요.

    오른쪽으로 한픽셀 옮기면 왼쪽이 모자르고, 왼쪽으로 한픽셀 옮기면 오른쪽이 모자른거니.

  10. coolen 2009.06.18 13:15  Address |  Modify / Delete |  Reply

    Truth is out there...
    기사를 쓰신 분의 기사감은 정말 좋으나, 사례를 좀더 자세히 전개하셨으면, 좋았을 뻔했습니다. 전 아무리 읽어봐도 위의 Q&A식 전개가 무슨 말을 하려는 것인지 모르겠던데요...

    (이젠 물어봐서 알지만요...)

  11. 2009.07.09 09:51  Address |  Modify / Delete |  Reply

    비밀댓글입니다

  12. mbti 2009.07.09 09:52  Address |  Modify / Delete |  Reply

    어제는...컴퓨터를...종료시킨다고 했는데...로그아웃조차 안 되어있네요...
    (보통 때는...본체,모니터 플러그까지 뽑고 나오는데...)

    • mbti 2009.07.08 18:00  Address |  Modify / Delete

      그나마...제컴퓨터 CRT 모니터라도...꺼서 다행(?)...

    • 2009.07.08 18:05  Address |  Modify / Delete

      비밀댓글입니다

    • mbti 2009.07.09 08:43  Address |  Modify / Delete

      아래 중 무엇이었을까요?...
      trojan?worm?(엠서비스랑 슬리퍼 검색시 나오는 단어들),
      spyware?...
      ...
      왜 설치가 된 것인지도...궁금...
      (구글 찾아봐도...감염 경로가...그다지...)