- 충남대학교 3학년 휴학중.
- 소프트웨어 마에스트로 17기 연수생.
solved.ac hhs2003 | 알고리즘 문제를 즐겨 풉니다. 왜 이 구조가 맞는지, 왜 맞는지, 위험성은 없는지 어디에서 깨질 수 있는지 끝까지 탐구하는 일을 좋아합니다.
엔지니어링에서는 실행 경로가 실제로 어디를 지나가는지 보는 쪽에 관심이 많습니다. 런타임, 메모리, I/O, 컨테이너, 컨트롤러처럼 겉으로는 가려져 있지만 성능과 안정성을 결정하는 층을 좋아합니다.
이 블로그에는 전체적인 개발 회고록을 작성하고 있습니다. 다양한 기술들을 사용하면서 고민했던 흔적들과 의사선택 과정, 트러블 슈팅과정들을 정리하고 있습니다.
알고리즘과 시스템 엔지니어링을 좋아합니다. 정답을 맞히는 데서 끝내기보다, 런타임, 메모리, I/O처럼 실제 실행 경로를 따라가며 원인을 확인하는 과정을 기록하고 있습니다.
목록mmap (1)
황현석 일지
Shell Lab 글을 마무리하면서 마지막에 syscall 이야기를 조금 붙였습니다. 처음에는 그냥 fork(), waitpid(), kill() 같은 함수들이 어떻게 커널까지 들어가는지 정리하면 끝이라고 생각했습니다. 그런데 syscall을 정리하다 보니, 새로운 공부를 할 수 있었습니다.POSIX 기준으로 signal handler 안에서 printf를 호출하는 건 안전한 패턴이라고 말하기 어렵다. Shell Lab에서는 sigchld_handler 안에서 printf를 호출하는 식으로 구현했습니다. trace 출력 형식도 맞춰야 했고, 과제 풀이 문맥에서는 그렇게 작성한 코드가 흔합니다. 하지만 그것들은 사실 안티패턴이었습니다. 그리고 문득 궁금해진것은데, printf 가 고작 뭐길래 위험하다는 것..
