애기가 세상에 나온지 얼마되지 않아서 정신없어 보내다가 이제야 메일함을 열어서 읽어보고 답멜도 보내고 있습니다. 그러다가 우연히 한빛미디어 사이트에 들어가게 되었는데요, 신간쪽에 보니까 흥미로운 책이 보이더군요. 바로 아래 책입니다.



<성능을 100% 끌어내는 멀티코어 애플리케이션 프로그래밍 - 출처 yes24>


제가 원래 멀티코어쪽에 흥미가 있어서 그런지 제목을 보고 저도 모르게 클릭을 했네요. ㅎㅎ 목차를 보니 나름대로 실용적인 주제를 다루고 있던데... 시간이 허락하면 한 권 구매해서 읽어보고 싶네요. ;) 혹시 나중에 읽게되면 서평을 올리겠습니다. ㅎㅎ


그럼 좋은 하루 되세요 ;)


ps) 애기가 쭈주 달라고 보챌 시간이 다되었는데... 어찌 일어날 기미가 보이지 않는군요. ㅠㅠ 

     망했어요 ㅠㅠ



태스크 부하 분산(Task Load Balancing)을 구현하는 중인데... PIT 컨트롤러의 인터럽트에서 스케줄러의 상태를 보고 태스크가 적은 곳에 집어 넣는 방법을 사용했습니다. 그런데 ㅡ_ㅡa... 이게 문제가 있네요. 난데없이 집어 넣은 스케줄러에서 실행되는 것이 아니라 다른 스케줄러에서 튀어나오질 않나... 같이 스핀락을 획득하는 부분이 없는데 데드락이 발생하지 않나... ㅡ_ㅡa... 그것 때문에 어제 밤 9시경부터 오늘 아침 8시까지 디버깅했습니다. 결과는 GG ㅠㅠ

디버깅을 미친 듯이 한 덕분에 오후 3시쯤 느즈막하게 일어났군요. 당췌... 이게 무슨 일인지... 다 해 놓고 막판에 테스트할 때 이런 문제가 나오면... 어흑... ㅠㅠ 그나마 GUI로 넘어가기 전에 발견했기에 망정이니... 아니면 큰일날 뻔 했습니다.

어휴 진짜... 증상은 있는데... 원인을 정확히 알 수가 없네요. ㅠㅠ 스핀락에 문제가 있는 것도 아니고... 코어가 많아서 그런 현상이 발생한다고 보기에는 뭔가 미심적인 부분이 있습니다(16개 코어 + 800개 태스크로 테스트를 하고 있답니다. ㅎㅎ). 그래서 방향을 선회해야겠는데... 시간이 좀 촉박한지라 고민을 계속 하고 있습니다. 오늘 안에 결과가 나오면 좋겠는데... 과연 잘 될지 모르겠네요. ^^;;;;

일단 또 작업을 시작해야겠습니다. ㅎㅎ 저녁쯤에는 글 하나를 더 쓸 수 있으면 좋겠군요 ㅠㅠ)-b

헥헥... 이번에는 거의 3주 만에 블로그에 글을 올리네요.  ㅠㅠ 점점 글 올리는 주기가 길어지는 걸 보니 조만간 폐허(?)가 되는 게 아닌가 걱정되는군요. ㅠㅠ 정말 블로그에 글 올릴 시간도 없이 열심히 작업했는데, 이제야 겨우 끝났습니다. 사실 코딩하는 데는 이틀 밖에 안 걸렸지만 내용 정리하는데 12일 정도가 걸렸군요. ㅡ_ㅡa... 회사를 다니고 있으니 야간에 작업을 해야 하는데, 그래서 더 어려운 것 같습니다. (이거 원... 잘하면 회사도 때려 치겠군요. 쿨럭..;;;;)


이번에 추가된 기능은 프로세서 내에 잠자고 있는 나머지 코어를 깨우는 일이었습니다. 보통 부팅을 시작하면 BIOS가 코어 중에서 하나만 선택해서 BSP(Bootstrap Processor)로 만든 후 부팅을 시키고, 나머지는 AP(Application Processor)로 만들어 대기시킵니다. BSP는 부팅이 끝나면 MP Configuration Table 같은 걸 읽어서 잠자고 있는 AP의 수를 계산한 뒤 나머지를 깨워서 일을 시키는 것이지요.


MP Configuration Table을 분석하는 작업은 지난 번에 했으니, 이번에는 이 정보를 바탕으로 AP를 활성화했습니다. 아래 그림은 총 16개의 코어를 활성화하여 각자가 메시지를 출력하게 한 것입니다.


 <총 16개의 프로세서(BSP 1개, AP 15개)가 동시에 동작하는 화면> 


아아~ 정말 작업하는 게 쉽지 않군요. 별다른 동기 부여 없이도 꾸준히 하는 스타일인데... 요즘은 살짝 지치는 느낌입니다. 아무래도 배보다 배꼽(?)이 더 큰 상황 때문이 아닐까 생각하는데... 앞으로 MileStone 2개 정도만 더 올리면 GUI라서 꾹 참고 진행하고 있습니다. ;)


에궁... 다음 MileStone은 BSP와 AP가 동시에 인터럽트 처리를 하는 것이 될 것 같습니다. 이것만 지나가면 AP에도 스케줄러를 붙여 멀티 태스킹 시킬 수 있으니... 거의 끝난 것이죠. ;) 아유~ 지겹네요. ㅠㅠ 그래도 열심히 해야지... 어쩌겠습니다. 어흑...


장마 전선이 올라왔다던데... 다들 비 피해 주의하시고 건강 잘 챙기세요 ;)


ps) 곧 GUI로 들어간다니 여자 친구가 MINT64 OS에서 쓸 바탕 화면을 디자인해 줬습니다.이 중에 하나를 택해야 할 것 같은데... 어떤 것이 좋을까요? ;)

 

 

이거 뭐… 원래 퇴근 시간이 5시인데… 처음에 야근할 때는 6시만 되도 화가 나더니만, 이제는 9시 30분에 퇴근해도 일찍 온다고 좋아하는 군요. ㅡ_ㅡa.. 이거 원... 이렇게 살면 안 되는데 ㅎㅎ

덕분에 오늘은 빨래도 하고, 청소도 했습니다. ㅎㅎ 이제 작업도 좀 해야겠습니다. 요즘 계속 64bit 멀티 코어 OS에 대한 내용을 정리하고 있어서 다른 곳에 신경을 쓸 틈이 별로 없네요. 계속 마음은 급하고, 시간은 안나고... 욕심에 쓸 내용은 많은데 정리는 잘 안되고... ^^;;;;

그래도 조금씩 체워져가는 A4 용지를 보니, 뿌듯하네요. 뭔가 하고 있다는 느낌이 듭니다. ^^)-b 에궁~ 그럼 또 작업 하러 가야겠습니다.

다들 건강 조심하시고 좋은 밤 되세요 ;)

이번 주말은 좀 특별해서 시간이 많이 날 줄 알았는데, 결혼식이다 뭐다 하는 바람에 결국 시간에 쫓기고 말았습니다. ㅠㅠ 주말에 해야지 하면서 잡았던 스케줄은 엉망이 됐습니다. 이궁…

결국 이렇게 되면 또 평일에 번개같이 집으로 달려와서 이것 저것 하는 수 밖에 없는데… 어쩔 수 없군요. 이번 주도 미친듯이 집으로 달려와야겠습니다. @0@)-b 물론 며칠이나 가능할지는 두고 봐야 알겠지만 말입니다. ㅎㅎ

요즘 계속 글 쓰는게 어렵다는 생각을 합니다. 예전부터 느끼고 있던 거였지만, 요즘 들어 쓰는데 시간을 많이 투자하다보니 더 깊이 와 닿습니다. 정말 무슨 책이라도 한권 봐야할까요? ㅠㅠ 이럴 줄 알았으면 책이라도 왕창 읽어 놓는건데… 한참을 쓰다 보면 내가 무슨 말을 하고 싶은 건지 잊어 먹는 경우도 종종 있고, 적당한 어휘가 떠오르지 않아 한참을 고민하는 경우도 많습니다. 아무래도 국어가 따리는거 같네요. ㅠㅠ

아흑… 계속 쓰다보면 좀 나아지려나… 글짓기에 소질이 없어서 그런가보다 하고는 있는데, 무지 힘들군요. ㅎㅎ 그래도 시작한 일이니 계속 해야겠지요. ;) 일단 열심히 해볼 생각입니다. @0@)-b 홧팅~!!!

헛… 벌써 시간이 이렇게… 이만 자야겠습니다. 다들 좋은 밤 되세요~ ;)

ps) elf64 관련 문서는… 결국 주중에 업데이트 해야겠네요. ㅠㅠ)-b 아흑…

이거 원… 오늘 메타 블로그 사이트에 들어갔다가 고전 게임인 테트리스에 저작권이 걸려있다는 글을 봤습니다. 몇 해전에 그 많던 온라인 테트리스 게임이 사라진 이유도 저작권 계약을 하지 못해서였다네요.

이런… OS에 응용 프로그램으로 테트리스 만드는 걸 하려고 했는데, 다른 게임으로 대체해야겠습니다. ㅠㅠ 이거 원 만들어 놓고도 못쓰니 살짝 답답하군요. 끄응... 그럼 당체 무슨 게임을 만들어야… ㅠㅠ 퍼즐 맞추기 같은 거는 저작권이 없을라나... 아님 피자 먹는 스네이크 게임이라도... ㅠㅠ

혹시 이런 게임이 들어갔으면 좋겠다고 생각하시는 게 있으시면 댓글로 제보 부탁 드립니다. 최대한 반영해서 OS에 넣도록 할테니, 괜찮다고 생각하시는 게 있으시면 바로 댓글 주세요 ;)  정 안되면 퍼즐 맞추기라도 해야... ㅠㅠ

그럼 다들 좋은 밤 되세요~ ;)

+ Recent posts