오랜만에 인천대회에 출전했는데 예전보다 규모가 많이 줄어들었다. 고령화사회에 접어든 대한민국에서 아이들이 없으니 태권도, 검도, 유도, 합기도 등등 수련 인구가 감소하는 건 뭐 당연한 일인 것 같다. 아이들이 성장을 해서 성인부로 자연스럽게 이동해야 하는데 그 연결고리가 끊어지니 성인부도 점점 감소하는 추세인 것 같다. 매년 참가하지만 참 씁쓸한 일이다. 아이들 집중력, 체력, 자신감향상에 이만한 종목이 없다고 생각한다. 검도인구가 많이 늘어났으면 좋겠다.
오늘의 포지션은 선봉! 나는 거의 대부분 선봉으로 출전을 했다. 최근에 간혹 가다 부장 혹은 주장으로 출전하는 경우도 있었지만 거의 선봉 고정이었다.
이번 단체전은 5인조인데 우리 팀 중견이 부상으로 참가하지 못해서 1포인트를 내주고 시작해야 하는 상황이 발생했다.
괜찮다. 남은 4명이 다 이기면 된다. 1회전 상대도 상대방도 2위가 없이 경기에 들어와서 서로 1 포인트씩 내 준상황이라 3인조 단체전이 된 꼴이 되었다.
1회전
선봉은 팀의 분위기를 결정짓는 포지션이라고 할 수 있다. 각 팀의 선취점을 누가 따오느냐에 따라 뒷 경기 선수가 부담감을 조금 덜 수 있고 경기의 흐름을 가져올 수 있다. 일단 기세에서 밀리면 안 된다.
점심시간에 걸려 점심시간을 이용해 몸을 많이 풀었다. 체력은 자신 있었기에 30~40분 정도 몸을 풀고 바로 경기에 들어갔다. 몸을 많이 푼 덕일까 입장할 때 느낌이 좋았다.
기세에서 밀린다면 안된다는 생각에 기합을 강하게 넣고 시작했다. 상대방이 들어오는 틈을 놓치지 않고 과감한 머리 치기로 득점 성공!
두판쨰에서 시작과 동시에 들어오는 머리치기에 손목으로 대응했는데 살짝 위험했다. 손목친다고 앞으로 안나갔으면 당할뻔했다. 이어지는 공격에서 상대방의 머리를 유도해 허리를 치려고들어갔는데 상대도 내 허리를 노리고 있었다ㅎㅎ (팔아프다.)
승부를 결정짓는 마지막한판은 역시 머리치기 캬. 영상으로 다시봐도 통쾌하다. 이렇게 40초만에 경기 끝.
반대쪽에서 관장님의 엄지척!
훗 나 좀 잘했다.
선봉에서 이겨주니 뒤에 부장이 부담감이 덜한 상황에서 가볍게 승리, 주장은 비김으로 2회전 진출
2회전
중견이 없는 상황이고, 상대방은 5명이 모두 나왔기 떄문에 이번에 선봉, 2위가 지게된다면 경기는 바로 끝나게 된다. 절대 질 수 없다.
상대에게 첫 칼을 쓰는 순간 상대는 후의선을 노린다는 의도를 파악했다. 단타로는 안된다는 생각에 손목머리를 주로 노렸는데 상대가 수비적이라 잘 들어가지 않았다. 상대방도 경기가 안풀렸는지 먼저 들어오는 머리에 받아허리로 득점 성공!
득점하고 자리로 돌아가는데 반대편에서 영상을 촬영중이 관장님의 지령이 내려왔다
"손목! 손목 노려요 손목!"
오케이 접수 완료 !
손목을 노리려면 상대방 칼을 들게만들어야된다. 공세를 넣고 머리를 칠것같은 느낌을 주니 막으면서 물러난다. 두번째 공세가 드어가니 상대방 칼이 올라간다. 이때를 놓치지 않고 손목2:0 승
깔끔하게 기세를 우리 쪽으로 가져왔지만 2위에서 지고 중견은 없고 이미 팀 스코어 2:1인 상황이라 부장에게 많은 부담이 안겨진상황...... 비록팀은 졌지만 오늘도 성장한 나를 발견할수 있었다.12월에 있을 동대문 대회를 기약하며
검도에서 승단은 단순히 숫자가 하나 더해지는 일이 아니라, 그동안의 수련을 되돌아보며 한 단계 더 나아가겠다는 다짐 같은 것이라고 생각한다. 초등학교시절 9급부터 시작해 초단, 2단, 3단을 거치면서 검도에 대한 깊이가 조금은 생긴 것 같다.
4단에 올라선 지금, 이제 진짜 '검도'를 수련하는 과정에 들어섰다는 생각이 든다. 4단이 되기 전까지는 주로 기술을 익히고 몸에 배게 하는 데 집중했다면, 이제는 기술을 넘어 검도의 본질과 정신을 깊이 이해하는 단계에 들어섰다는 생각이 든다. 단순히 죽도를 휘두르는 법을 배우는 것을 넘어서, 상대와의 호흡, 마음의 흐름, 그리고 수련을 통해 얻는 내면의 수양이 무엇인지 조금씩 깨달아가고 있다. 검도는 단순한 스포츠가 아니라 심신의 조화를 이루는 길이라는 것을 점점 더 실감하며, 진정한 수련의 의미를 찾아가는 여정이 시작된 듯하다.
내 인생 목표는 연사(錬士) 6단이다. 단을 떠나 검도 실력이 뛰어난 사람들이 보기에 단은 숫자에 불과할 수 도 있다. 하지만, 취미로 검도를 하는 사람들에게는 승단은 조금 다른 의미가 있다. 물론 검도의 본질은 단의 숫자에 있지 않고, 실력과 정신 수양에 있다는 점에는 많은 사람들이 동의할 것이다. 하지만 승단은 단순히 숫자로 평가되는 것이 아니라, 그동안의 노력과 성취를 공식적으로 인정받는 과정이다. 특히 취미로 검도를 즐기며 수련하는 사람들에게 승단은 목표를 설정하고 그 목표를 이루기 위해 끊임없이 정진하는 중요한 동기가 된다. 단은 수련의 길에서 자신이 걸어온 발자취를 확인하고, 앞으로 나아갈 방향을 다잡게 해주는 의미 있는 이정표라 할 수 있다.
이 글에서는 4단까지의 승단 과정을 되돌아보며, 그동안의 경험과 생각을 정리해보려고 한다. 검도에서 승단하는 과정에서 느꼈던 변화와 깨달음, 그리고 앞으로의 목표에 대해 함께 나누고자 한다.
초단(初段)부터 3단(參段)까지 이야기
대학 졸업 후 회사생활과 대학원 생활을 함께 병행했는데 대학원 과정을 마치고니까 저녁 시간이 너무 많이 남았다. 그 시간을 뭐 하면서 보낼까 고민하다가 베란다 한쪽 구석을 차지하고 있던 호구를 발견했고, 할 줄 알고 해 봤던 운동이라고는 검도밖에 없었다. 헬스는 체질에 안 맞고, 다른 운동을 배워보자니 딱히 끌리는 게 없었다. 호구를 보는 순간 나도 모르게 검도장을 찾아보기 시작했다. 이제는 검도를 제대로 해봐야겠다고 마음먹었다.
그렇게 2018년에 인천 검단에 있는 강인검도관에서 다시 본격적으로 시작하게 됐다.
2018년 어느 여름날
당시 오픈한 지 얼마 안 된 도장이었고, 집과 거리는 조금 멀었지만 선수출신 관장 부부관장님이 지도해 주시기 때문에 선택했다. 이 선택이 지금까지도 내 인생에 많은 영향을 주고 있다. 수원으로 이사 후에도 예전만큼은 아니지만 강인관 식구들과 교류하며 함께 시합도 출전하고 종종 운동도 함께한다. 참 검도가 뭐라고 이렇게 오랜 시간 인간관계를 이어줄까.
초단(初段)
검도를 처음 시작한 건 2001년, 초등학교 6학년 때였다.
그때 대부분의 남자애들이 한 번쯤 태권도장에 다녔지만, 나는 그런 경험이 없었다. 그러다 같은 반 친구가 해동검도를 배우고 있다는 얘길 듣고 나도 친구랑 같이 배우고 싶어 엄마한테 졸랐다. 엄마가 뭘 알아봤는지 아니면 단순히 집 앞에 검도장이 가까워서인지는 모르겠지만, 집 앞에 있는 대한검도회 공인도장을 보냈다. 그렇게 검도를 시작하게 됐고, 입문으로는 벌써 23년, 수련은 약 8년 정도의 시간이 흘렀다.
2006년, 고등학생 때 인천검도관에서 초단 승단한 후로는 군대, 대학, 취업, 회사 생활을 겪으면서 운동을 쉬기도 하고 중간중간 수련을 이어가기도 했다. 하지만 꾸준히 하지는 못했다. 사실 안 했다고 보는 게 맞다.
너무 먼 과거라 자료가 많이 없다. 본가에 가면 자료가 있나 찾아봐야겠다.
첫 개인전 입상
2018년, 검도를 다시 시작하고 처음 나간 일반 2부(유급~초단)에서 우승이라는 엄청난 성과를 이뤄냈다. 사실 동네 대회라 참가인원이 많지는 않지만 그래도 3~4경기는 이겨야 입상권에 들어갈 수 있다.
2018년 인천 서구청검도대회 개인전 입상
검도 대회에서 입상은 그날의 컨디션, 대진표, 심판진 이 삼박자가 맞아떨어져야 가능한 게 아닐까 싶다. 삼박자가 맞아떨어지는 날이 언제 또 올지 모르겠지만 오늘도 우승을 위해 하루하루 꾸준히 수련해 나가고 있다. 이 우승이 아마 검도에 더 빠져들게 된 계기가 아닌가 싶다.
초단에서 2단(貳段)으로, 2단에서 3단(參段)으로 승단
2단과 3단은 강인검도관에서 승단했다.
2단
자료를 찾아보려고 외장하드를 뒤지던 중 2단 승단심사에서 연격을 하는 영상을 찾았다. 지금 보니 이건 뭐... 연격을 이렇게 하고 승단했다는 게 참 기가 막힌 일이다. 당시의 연격과 지금의 연격에는 많은 변화가 있으니 당시의 연격에는 합당했나?라는 생각이 든다.
함께 심사를 본 상대방이 대도 7본에서 찌르는 동작에 기합을 넣는 바람에 당황한 나는 동작을 멈췄고, 상대방에게 다시 하자는 신호를 보내 다시 했던 기억이 난다. 3, 4단 승단심사였다면 바로 탈락할 일이지만, 운이 좋아서였는지, 실수는 했지만 본을 잘해서였는지 합격했다.
3단
코로나가 끝나갈 무렵, 3단 심사를 보게 되었다. 사회적 거리 두기로 인한 제한이 많이 풀리면서 검도장이 다시 정상적으로 운영되었지만, 그동안 수련을 쉬었던 시간이 길어져 심사를 볼 준비가 아직 덜 됐다는 생각에 3단 심사는 한 분기 미루기로 했다. 충분한 준비가 필요하다고 느꼈기 때문이다.
인천광역시 검도회
인천광역시 검도회에서 진행된 3단 심사는 2단까지와는 다르게 ‘검도의 본’에 소도 3본까지 심사 과목이 추가되어, 자연스럽게 소도의 본을 익히는 데 많은 시간을 할애했다. 그 과정에서 심사의 부담감도 있었지만, 꾸준히 연습하며 실력을 다져나갔다. 심사 당일에는 뜻밖의 행운이 찾아왔다. 심사 연습을 함께 해온 도장 관원 분이 심사 상대가 된 것이다. 심사장에서 응시자 외에는 출입이 불가해 영상 기록은 남지 않았지만, 준비했던 상대와 함께 심사를 볼 수 있었던 것은 큰 행운이었다.
이날 심사에서는 모두가 평소의 실력을 잘 발휘해 전원 합격이라는 좋은 결과를 얻을 수 있었다. 함께 노력해 온 모든 도장 관원들과 이 기쁨을 나눌 수 있어 더 뜻깊은 순간이었다.
3단 단증 수여
대회
다른 격기와 마찬가지로, 검도 역시 상대방과의 대련을 통해 실력을 쌓아나가는 종목이다. 심사를 통해 승단하는 것도 물론 중요하지만, 대회를 통해 나의 성장과 부족한 점을 직접 확인하는 과정 역시 검도 수련에서 빼놓을 수 없는 핵심 요소다. 대련과 대회를 경험하면서 실전 감각을 익히고, 수련의 성과를 객관적으로 평가하는 것이야말로 검도 실력을 한 단계 더 끌어올리는 중요한 발판이 된다.
대회는 개인전과 단체전으로 나눠서 진행된다. 검도 대회의 꽃은 단체전이라고 할 수 있다. 개인전도 물론 중요하지만 단체전은 그 자체로 더 큰 의미가 있다. 실업선수부터 생활체육, 동호회까지 많은 사람들이 단체전을 더 중요하게 생각하는 이유는 단체전이 개인의 실력만을 평가하는 것이 아니라, 팀워크와 협력의 결실이기 때문이다.
단체전에서는 각자의 기술은 물론, 팀원들과의 호흡과 협력이 필수적이다. 모든 선수들이 하나의 목표를 위해 함께 싸워야 하므로, 단체전은 검도의 진정한 정신을 보여주는 기회라고 할 수 있다. 각자가 자신의 역할을 다하면서도 팀을 위해 최선을 다하는 모습에서 검도의 고유한 매력을 느낄 수 있다. 이 점에서 많은 사람들이 단체전이 개인전보다 더 중요하다고 생각한다.
제 44 회 인천광역시 검도 회장기 종별 검도선수권대회
2단 승단 후 첫 출전한 대회에서 죽도를 다시 잡은 지 1년 만에 단체전에서 4강 이상 진출하는 성과를 거두었다. 2단 승단을 기점으로 실력이 조금씩 나아지고 있다는 느낌을 받았던 것 같다. 그동안의 꾸준한 수련과 노력들이 조금씩 결실을 맺기 시작한 순간이었다. 물론 단체전에서의 성과는 혼자서 이루어진 것이 아니라, 팀원들의 협력과 팀워크가 중요한 역할을 했지만, 개인적으로는 승단 후 첫 대회에서 입상이라는 좋은 결과를 얻은 만큼, 그 성취가 더욱 뜻깊게 느껴졌다.
20살된 동생과 미녀관장님, 180라인의 선두주자와 단체전 첫 입상
제 12 회 서구청장배 검도대회
코로나로 인한 사회적 거리 두기가 시행되면서 대회가 거의 열리지 않다가, 오랜만에 인천 서구청 대회가 개최되었다. 개인전에서는 2회전에서 아쉽게 탈락했지만, 단체전에서는 팀원들과 함께 결승에 진출하는 성과를 이뤘다. 그동안 대회가 없어 실전 경험이 부족했음에도 불구하고, 단체전에서 결승에 진출할 수 있었던 것은 팀워크와 각자의 실력이 잘 맞아떨어진 덕분이었다. 개인적으로는 아쉬운 부분도 있었지만, 팀 전체가 함께 이룬 성과에 큰 의미를 두고, 다음 대회에 대한 자신감을 얻을 수 있었다
결승전 입장
처음으로 주장으로 출전한 대회에서 준우승을 차지했다. 주장이라는 위치는 부담스럽기도 했지만, 선봉과 중견 선수들이 각자의 역할을 잘해주면서 결승까지 진출할 수 있었다. 강인검도관으로 출전한 단체전 첫 준우승은 개인적으로 큰 의미가 있었다. 팀 전체가 함께 이룬 성과였고, 나름대로 역사를 써나가고 있다는 생각에 뿌듯함을 느꼈다. 주장의 역할을 맡고도 좋은 성과를 낼 수 있었던 것은 팀워크와 믿음 덕분이었다. 이번 경험을 통해 더욱 성장할 수 있었고, 앞으로의 대회에서 더 좋은 결과를 이끌어낼 수 있을 것 같았다
서구청대회 입상 기념사진
제 7 회 인천광역시장기 종별 검도선수권 대회
서구청 대회를 마친 후 바로 다음 주에 참가한 인천광역시장기 대회에서 강인관 오픈 멤버로 출전했다. 함께 출전한 형님들과 단체전에서 3위에 입상했다. 형님들과 함께 한 대회였기에 더욱 의미가 있었고, 그들과 함께 팀워크를 발휘하며 좋은 성과를 낼 수 있었다.
강인검도관 오픈 멤버 형님들과 첫 입상
이날 또 하나의 사건은 내가 우수선수상을 수상한 것이다. ‘내가?’라는 의문이 머릿속을 맴돌았지만, 그동안의 노력과 수련이 결실을 맺은 결과라고 생각했다. 예상치 못한 수상에 당황스러웠지만, 그만큼 검도에 대한 열정이 더 깊어졌고, 더 열심히 해야겠다는 다짐을 하게 된 계기가 되었다. 이 상을 계기로 검도에 더 빠져들게 된 순간이었다. 내 뒤에 게신분은 우승팀의 최우수선수상을 수상하신 분이다. 우리를 이기고 올라간 팀이다. 축하드려요
우수선수 시상식
2022년 인천광역시체육회장기 종별 검도선수권 대회
아주 오랜만에 5인조로 참가한 대회, 인천에서 참가했던 대회 중에 가장 긴장감 넘치고 짜릿했던 대회였다.
단체전 1회전 입장
이전 대회에서 입상했던 멤버들에 2명이 추가되어 한 팀으로 출전하게 되었다. 총 3팀을 이기고 결승에 진출하며, 그 과정에서 정말 많은 우여곡절이 있었다. 특히 대표전까지 가는 위기 상황도 있었지만, 그런 긴장감과 역경을 극복하는 과정이 바로 단체전의 묘미라고 느꼈다.
단체전 결승 입장
역시 결승전은 쉽지 않았다. 검도장에 우승기를 가져다 두는 게 목표였지만, 아쉽게 결승전에서 패배해 준우승을 차지했다. 그 순간은 정말 아쉬웠고, 모든 팀원들이 목표를 위해 경기에 임했기에 더 씁쓸한 마음이 들었다. 하지만 이번 대회를 통해 많은 것을 배웠고, 다음에는 반드시 우승을 탈환하겠다는 다짐을 하게 됐다. 너무너무 아쉬운 결과였지만, 그만큼 더 강해져야 한다는 책임감을 느꼈다.
아쉬운 준우승
5인조 단체전 출전에서 첫 준우승, 이날도 나의 검도인생의 한 페이지를 작성했다.
준우승멤버와 강인검도관 미녀 관장님
수원 검도인에서 4단(四段)
수원으로 이사를 오면서 권선동에 위치한 검도인(劍道人)에서 검도 수련을 이어나가고 있다. 사회인 출신 연사 6단 백지훈 관장님이 운영하는 도장이다. 내가 도장을 선택한 이유는 천장이 높고 거리가 가까워서다. 자랑은 아니지만 184cm인 내가 죽도를 휘두르려면 층고가 높아야 한다. 그리고 사회인 출신의 일본 유학파 관장님께 조금 다른 검도를 배워보고 싶었다.
우리 관장님은 가끔 이렇게 사진을 찍어주신다.
4단(四段)
내가 4단 심사에 응시하는 날이 오다니 세월이 많이 흘렀구나라는 걸 새삼 느끼게 되었다. 4단 심사부터는 강습회에 참가해 심사응시자격을 얻어야 한다. 각 지방검도회에서 4단 심사응시자를 대상으로 강습회를 개최한다.
심사는 5개월 전부터 준비했다. 연격, 대련, 검도의 본 무엇하나 소홀히 하지 않았다. 검도의 본은 정말 툭 찌르면 나올 정도로 연습했다. 단순히 동작만을 연습하지 않고 본의 원리에 대해 이해하려고 많은 노력을 했다.
경기도 4단 심사는 합격률이 낮기로 유명하다. 매 심사마다 약 30% 내외의 합격률을 보인다. 응시번호는 여성, 남성 순서로 정렬되고 같은 성별에서는 나이순으로 정렬된다. 90년생인 내 뒤로 8명 있다. 4단 응시하신 어르신들 정말 존경합니다.
심사응시명단과 응시번호
이날 심사도 응시자 외 그 누구도 출입할 수 없었다. 영상촬영도 불가능 했다. 최근 영상촬영으로 심사에 이의제기를 하는 일이 많아서 촬영을 막은 것 같다. 흠...
심사는 필기시험을 시작으로 심사를 시작한다. 필기시험 시간은 약 30분, 암기내용을 서술하는 형태가 때문에 무리 없이 써 내려가고 제출했다.
필기시험 전에 번호 순서로 정렬해서 앉는대 이때 내 심사 상대를 알 수 있다. 심사는 2팀이 한조를 이뤄서 진행되고 나머지는 대기를 해야 한다. 앞번호부터 심사가 진행되기 때문에 뒷번호인 나는 약 2시간 30분을 대기해야 했다. 대기 시간에는 출입이 자유롭고 상대방과 연습도 할 수 있다. 특히 검도의 본 같은 경우는 심사 상대와 거리, 타이밍 등을 맞추면서 연습하는 게 정말 중요하다.
극도의 긴장으로 다리를 부들부들 떨면서 심사를 봤다. 결과는 첫 심사에 합격!! 검도인생 최대의 성과이자 기쁨이 아닐까라는 생각이 든다. 주변에도 경기도 4단 심사에 탈락한 사람들이 많아서 걱정했는데 단 한 번에 합격이라니 합격자 명단을 본 그날의 기쁨은 지금도 잊을 수가 없다.
경기도 4단 승단심사 합격자 명단
합격률 28.125%. 심사 상대도 함께 합격했다.
4단 승단은 검도를 시작하면서 꿈꿔왔던 일인데 막상 승단을 하고 나니 내가 존경해 오던 4단의 모습을 갖춰야 한다는 부담감이 커졌다. 이제는 단순히 내 실력만을 평가받는 것이 아니라, 후배들에게 모범이 되어야 한다는 책임감이 생겼다. 예전에는 나만의 수련에 집중했다면, 지금은 그 이상의 기준을 요구하는 것 같다. 4단이라는 위치가 그만큼 내게 더 큰 성장을 요구하는 자리임을 실감하게 되었다. 이 부담감이 때로는 무겁게 느껴지기도 하지만, 결국 그것이 더 나은 검도인이 되기 위한 동기부여가 된다.
승단 후 첫 대회,
제 37 회 국제오픈 한국 사회인검도 대회
대한민국 검도 동호인의 대축제다. 예전만큼은 아니지만 지금도 참가선수가 2천 명에 육박하는 대회다. 전국에 있는 모든 생활체육 검도인과 해외 초청팀이 모여 최강자를 가리는 대회다. 4단 승단 후 첫 대회 참가라 긴장과 걱정이 더 많은 대회였다.
제 37 회 국제오픈 한국사회인 검도대회 개회식
단체전 장년부 출전, A조부터 H까지 총 8개 조가 토너먼트를 통해 조 우승 8개 팀이 8강 토너먼트를 진행하는 방식으로 진행된다. 장년부는 총 110개 팀이 참가했다.
장년부 G조 1회전
3:1로 이겨 2회전 진출, 한판을 먼저 획득하고 이길 수 있었는데 비겨서 아쉬운 경기였다. 칼을 들던 습관이 나와서 손목을 맞았다.
장년부 G조 2회전
3:2로 이긴 경기 내가 졌다면 경기는 그대로 끝나고 비기면 주장으로 승부가 넘어가는 상황에서 2:0 승, 부장에서 내 역할을 잘한 것 같다.
주장전에서 우리가 한판을 먼저 따냈지만 다시 상대방에서 한판을 내주면서 가슴 졸였지만 주장의 마지막 깔끔한 손목한판으로 조 결승 진출!
장년부 G조 3회전(조결승)
이번 사회인대회에서 가장 가슴 졸이고 쫄깃(?)했던 경기다. 선봉은 비기고 2위와 중견에서 한 포인트씩 나눠가진 상황에서 내가 졌다면 경기는 우리한테 더 불리하게 작용하고 주장은 심리적으로 더 압박을 받았을 거다.
이번 경기도 2:0 완승으로 주장에게 팀의 운명을 맡겼다. 근데 웬걸? 2:0으로 졌네. 주장이 대표전에 다시 출전해 꺼져가는 불씨를 살려 8강에 진출할 수 있었지만 정말 쫄깃했던 경기였다.
8강전 대기중
장년부 8강
치열한 조 예선을 뚫고 올라온팀이기 때문에 힘든 경기를 예상했다. 상대는 승검회B 팀
내가 패배하면 경기는 그대로 끝나는 상황에 경기에 들어갔다. 역시 상대방 중단과 압박이 강하다. 내 압박에도 흔들리지 않고 틈이 보이지 않는다. 한판을 내주고 머리 치기로 한판을 따라갔지만 압박해 들어오는 손목머리에 속수무책으로 당했다. 내가 이기거나 비겼더라면 달라졌을 수도 있는 경기결과를 보니 너무 아쉽고 팀에 미안한 마음이 들었다.
이렇게 4단 승단 후 첫 대회를 마쳤다.
검도를 잘 모르는 사람들에게 내가 검도를 한다고 하면 그들은 늘 같은 질문을 한다. "그게 뭐길래 그렇게 열심히해?" 이 질문에 나는 아직 명확한 답을 못하고 있다. 이 질문에 명확히 답을하기에는 나의 수련이 아직 많이 부족한거같다. 5단쯤 되면 이 질문에 대답할 수 있을까?
이유야 뭐가 됐던 나는 검도가 좋다. 하루의 스트레스를 검도로 해소하고 업무보다는 검도를 통해 성취감을 느끼고 일종의 자아성찰? 같은걸 하는거같다.
내일 오랜만에 인천대회에 출전한다. 단체전 멤버중에 한명이 부상이라 걱정이지만 다른 팀원들이 부상으로 인한 빈공간을 잘 채워줄거라고 믿는다.
가장 기본적인 기능인 pvPortMalloc()만 구현되어 있다. pvPortMalloc()을 통해 메모리를 할당하게 되면 순차적으로 메모리를 할당한다.
heap의 시작 위치가 0x20000000이고, TCB와 Stack이 하나의 Task로 0x1000 만큼의 공간을 차지한다고 가정해 보자. 파란색 Task의 시작 위치는 0x20000000이고 0x1000만큼의 공간을 차지하기 때문에 다음에 저장된 초록색 Task는 0x20001001부터 저장돼 0x20002000까지 메모리 공간을 차지하게 된다.
Heap_2.c
Heap_2.c는 향상된 기능을 포함해 Heap_4.c로 대체되었기 때문에 사용을 권장하지 않는다. 다만 이전 버전과의 호환성을 위해 보관하고 있다.
Heap_3.c
malloc()과 free()로 메모리 할당/해체하고, 메모리를 제어하기 전에 모든 scheduling을 일시적으로 중단해 thread로부터 메모리 제어 동작을 보호하도록 한다.
Heap_4.c
Heap_4.c에서는 메모리를 할당하기 위해 [[../../first-fit|first-fit]] 알고리즘을 사용한다.
A : 3개의 Task가 Heap 영역에 할당되어 있고(파란색부터 순서대로 1, 2, 3), 충분한 메모리 공간이 남아있음을 나타내고 있다.
B : 2번 Task가 해체되어 빈 공간이 되었음을 나타낸다.
C : Queue를 만들어 메모리 공간을 할당한 상황을 나타낸다. Queue가 Task 2번이 차지하고 있던 공간에 할당될 수 있는 크기라면 그곳에 할당하고 남은 영역은 다시 분리하도록 처리한다.
D : 추가로 사용자(User)가 메모리 영역을 할당했는데 그 크기가 Task 3 - Queue 보다 작으면 Task 3와 Queue 사이의 메모리 영역에 할당된다.
E ~ F : Queue와 User가 삭제되었을 때 메모리 공간의 상태를 나타낸다.
Heap_4.c는 메모리를 할당할 때 최적의 빈 공간을 찾아서 할당하고 남은 영역은 다시 분리시켜 새로운 메모리 block으로 처리하도록 한다.
Heap_5.c
Heap_5.c는 Heap_4.c와 동일하게 [[../../first-fit|first-fit]] 알고리즘을 사용한다. Heap_5.c는 메모리 영역을 분리해서 사용해야 하는 경우 여러 곳의 메모리 영역을 마치 하나의 연속된 메모리와 같이 사용할 수 있도록 한다. Heap_5를 사용하기 전에는 vPortDefineHeapRegions() 함수를 호출해 초기화 후 사용해야 한다.
여기서 ".my_heap"은 .ld 파일에서 수정해줘야 한다. 아래 예시는 heap 영역을 0x200001000 번지부터 시작하도록 하는 예시다.
MEMORY
{
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
}
SECTIONS
{
.text :
{
*(.text)
*(.text*)
} > FLASH
/* Define the .my_heap section starting at a specific address within RAM */
.my_heap (NOLOAD) :
{
KEEP(*(.my_heap))
} > RAM AT> 0x20001000 /*이 위치에 RAM 이 오게 된다면 0x20000000 부터 시작*/
}
Heap 관련 유틸리티 및 매크로
Heap의 여유 공간을 byte수로 반환
size_t xPortGetFreeHeapSize();
FreeRTOS 실행 이후에 Heap의 용량이 가장 적게 남았었던 시점의 값(byte)을 반환
size_t xPortGetMinimumEverFreeHeapSize();
Heap의 상태를 매개변수를 통해 전달하는 함수
typedef struct xHeapStats
{
/*현재 사용 가능한 크기*/
size_t xAvailableHeapSpaceInBytes;
/*여유 공간 중 가장 큰 블록의 크기*/
size_t xSizeOfLargestFreeBlockInBytes;
/*여유 공간 중 가장 작은 블록의 크기*/
size_t xSizeOfSmallestFreeBlockInBytes;
/*여유 공간 블록 수*/
size_t xNumberOfFreeBlocks;
/*용량이 가장 적게 남았었던 시점의 값*/
size_t xMinimumEverFreeBytesRemaining;
/*pvPortMalloc() 함수 호출 수*/
size_t xNumberOfSuccessfulAllocations;
/*vPortFree() 함수 호출 수*/
size_t xNumberOfSuccessfulFrees;
} HeapStats_t;
- pvPortMalloc()을 호출해 메모리 할당을 시도해서 실패한 경우 NULL을 반환하지만 `configUSE_MALLOC_FAILED_HOOK`설정을 `set`하면 메모리 할당 실패 시 callback을 받을 수 있다.
```cpp
void vApplicationMallocFailedHook(void);
고속 메모리에 Task stack 배치하기 Task 생성 과정(vTaskCreate)에서 TCB_t와 Task에 할당된 stack을 Heap에 함께 할당한다. Task에서 stack은 매우 빈번하게 사용되는 메모리 영역으로 고속의 메모리에 할당하면 성능이 향상된다. 성능 향상을 목적으로 stack을 별도의 메모리 영역(SRAM 등 고속 메모리)에 할당하려면 configSTACK_ALLOCATION_FROM_SEPARATE_HEAP옵션을 set 한 다음 아래 함수에서 사용자가 직접 메모리 할당 기능을 구현해야 한다.