Keyboard 보안 솔루션을 이해하는 개발자는 대한민국에 10명도 안된다? 사실일까요
안녕하십니까?
저는 2012년경에? 어느 망해가던 회사에 취직해서 몇달 동안, keyboard 보안 제품 소스를 관리했던 일을 했었습니다
이 keyboard 보안 솔루션에는 C++, C, assembly 등 온갖 고급 윈도우즈 커널 프로그래밍 기법이 다 나오더군요
2012년 당시 기준 윈도우즈 커널 API와 MS Assembler code 였습니다
제가 full source를 관리해서 내용을 공부하고 있었죠. 하지만 그 당시 감당 못할 정도로 어렵더군요
그때에 사장님이 누누히 강조하면서 이렇게 말했습니다
keyboard 보안 솔루션을 이해하고 뜯어 고치거나 디버깅하거나, 이런 것을 짜는 사람은
대한민국에 10명도 안된다
저는 이 keyboard 보안 제품( 그 당시 지명도 있는 제품이었음)의 형상 관리 매뉴얼까지 봤는데
정말 이해하기 어려웠습니다
Visual Studio 환경까지 완벽하게 갖추었으나 전혀 디버깅을 하지 못했습니다. entry point가 어디인지도 못 찾았죠
그렇다면, 이 사장이 한 말이 사실일까요?
2012년 당시의 윈도우즈 커널 어셈블러, Pure C 개발 API는 어쩌면 지금은 유효하지 않을 수도 있겠습니다
제 기억에, 그 당시 Windows XP 였고, Windows 7 나온다고 키보드 보안 제품 업그레이드 해야 한다고 이런 말이 나왔었지요
MS의 OS는 MS DOS 시절부터 Windows 3.1 시절(not os), 95/98 시절, 2000시절... 등등등 업하면서
커널 자체가 바뀐 것으로 알고 있습니다
그렇다면 API 자체도 바뀌었겠죠. 2000년대 초반에는 CEvent라고 윈도우즈 전용 (MFC?) 동기화 컨셉도 있었으나
지금은 다들 mutex 위주로 코딩하는 것 같습니다. 즉 옛날 구닥다리 컨셉은 이제는 필요 없는 거 같아요
그렇다면, 2012년 당시 사장이 한 말, 키보드 보안 개발은 대한민국에서 이해하는 사람 10명도 안된다
지금도 유효할까요
지금은 OS나 아키텍쳐 개념 자체가 달라 진 것 아닌지 이런 점들이 궁금합니다
예를 들면, 지금도 대학 학부 컴공과에서 Z80, 8086 동작 원리 가르치는지요? 이런거 안 할 거 같습니다
2023년 현재 컴퓨터 시스템과 클라우드, 분산, 엣지 환경, AI 등은 1990년대 개념과는 완전히 다를 거 같은데
이러한 현대적 시야에 대해 회원님들 고견을 부탁 드립니다
하지만, 최근에 출간된 Computer Systems Architecture 원서에 이런 말이 나옵니다
Hardware의 동작 원리는 1970년대나 2020년대나 사실상 원리가 같다
이 말이 진짜 맞는 말인가요? 그렇다면 왜 8086의 segment + offset register memory mapping 컨셉과
지금 CPU의 메모리 접근은 개념 자체가 다른 걸까요
지금은 interrupt table이라는 용어 자체도 없다고 하는군요. 요즘 OS와 hardware에는 interrupt라는 컨셉이 아니라
다른 컨셉으로 돌아가고 있는 모양입니다
왜 그런데 1970년대 하드웨어나 지금의 분산형 클라우드 하드웨어 집합체가 같은 원리로 돌아간다고 말하는 것인지요?