[Udemy 수강후기] 시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 1부- 저자직강

신원규·2024년 3월 17일
0

수강후기

목록 보기
1/1

시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 1부- 저자직강

이번 기수 글또에서 Udemy 강의를 무료로 수강 할 수 있는 기회를 받게 되었습니다.

저는 컴퓨터 공학 전공 과정을 이수하지 않아,
하드웨어 밑단의 오류가 실무에서 발생하면 배경지식의 부족으로 이를 해석하기에 어려움을 느끼고 있는 와중이였는데,

우연찮게 좋은 기회를 얻게 되어 해당 과정을 수강하게 되었습니다!

강의는 총 3부로 제작되어있는데, 저는 1부와 2부를 제공 받았습니다. (2부 후기도 곧 올리도록 하겠습니다.)

강의 소개

강의는 저자분이 작성한 도서를 기반으로 각 챕터를 해설해주시는 이론 수업 + 실제로 디버그 등을 수행해보는 실습수업으로 나누어집니다.

이러한 강의 과정이 형성된 이유는 저자분이 권장하시는 CPU 아키택처의 학습방법과 연관되어있는데요,
CPU 아키택처는 결국 어셈블리 명령어와는 떨어질 수 없는 불가분의 관계이기 때문에, 어떠한 방식으로 활용 될 수 있는지를 학습하지 않고 CPU 아키택처의 이론적인 내용만 학습하는건 큰 의미가 없기 때문입니다.

강의를 수강하면 얻을 수 있는 지식

CPU(Arm) 아키택처를 잘 알게되면, 다음과 같은 작업을 수행할 수 있게됩니다.

  1. 베어메탈의 보드의 브링업 코드를 작성할 수 있다.
    1. 부트로더의 스타트업 코드를 작성할 수 있습니다.
    2. 메모리 캐시와 같은 시스템 자원의 초기화가 가능해집니다.
    3. 키보드와 USB와 같은 주병 장치의 초기화를 수행 할 수 있습니다.
  2. 디바이스 드라이버 개발을 수행할 수 있습니다.
    1. 인터럽트의 우선순위를 설정할 수 있습니다.
    2. 인터럽트의 설정 여부를 의도한 바 대로 다룰 수 있게됩니다.
  3. 디버깅을 잘 할 수 있게됩니다.

아쉬운 점

실습 예제는 보통 TRACE 32 를 사용해 진행됩니다.
대부분의 경우는 해설이 충분해 문제가 없지만, 가끔 직접 따라해보고 싶은 경우에는 그럴 수 없다는 사실이 조금 답답하긴 했었습니다.

이는 강의의 문제라기보단, 시스템 아키택처는 우리가 사용하는 컴퓨터의 추상화 계층 가장 밑단, 하드웨어와 아주 밀접한 관계여서 원래 조작이나 디버깅이 어려운 특성을 가지는 이유가 더 큰것 같습니다.

추천대상

해당 강의는 아래와 같은 분들에게 도움이 될것입니다.

  • 시스템 반도체, 전기 자동차 분야를 포함한 시스템 소프트웨어 분야의 취업을 희망하는 구직자분, 혹은 역량을 발전시키고 싶은 주니어 개발자분.
  • 시스탬 소프트웨어 분야로 커리어를 전환하고자 하는 타 분야의 개발자분.
  • 시스템 소프트웨어 분야 (메모리, 파일 시스템, 운영체제)의 대학원 진학을 목표하시는 대학생분
  • 혹은 저처럼 시스템 소프트웨어 분야의 하드웨어 지식에 흥미가 있으신 분들.

총평

시스템 아키택처를 입문하기에 추천할만한 강의라 생각됩니다.

저는 강의를 수강하기 전 리눅스 커널이나, CPU 아키택처 관련 지식이 거의 없었음에도, 강의를 따라가는데 큰 무리를 겪지 않았었습니다.

어셈블리 명령어에 대한 상세한 설명과 실습등에 큰 만족을 했었습니다.

마침 30% 할인 쿠폰을 발행중이니, 관심 있으신분들은 수강을 고려해보시는것도 나쁘지 않아보이네요.

해당 포스트는 글또 9기를 통해 Udemy 강의 쿠폰을 제공받아 작성하였습니다.

profile
생존형 개발자. 어디에 던져져도 살아 남는것이 목표입니다.

0개의 댓글