[리눅스커널] 리눅스소개: 리눅스와 리눅스커널은 왜 배워야 할까?
By Guillermo Austin Kim | 2019년 7월 22일 |
이번 시간에는 리눅스를 왜 배워야 하는지 생각해보는 시간을 갖겠습니다. 저는 리눅스 세미나에서 다음 질문을 종종 받곤 합니다. 리눅스를 배워야 하는 이유가 무엇인가요? 특히 리눅스를 처음 접하는 분들이 많이 던지는 질문이었습니다. 이런 질문을 받고는 리눅스를 과연 왜 배워야 할까 곰곰히 생각해봤습니다. 여러 생각 끝에 내린 필자인 저는 다음과 같은 결론을 내리게 됐습니다. 여러분들이 소프트웨어 개발을 하려고 한다면 리눅스는 반드시 알아야 합니다. 이번에 먼저 리눅스를 왜 배워야 하는지 설명하는 시간을 갖겠습니다. 리눅스는 왜 배워야 할까? 요즘에 학부 과정에서 리눅스 시스템 프로그램을 배울 수 있습니다. 또한 대학원 프로젝트 과제도 리눅스 환경에서 수행하고 있습니다. 이번에는
[리눅스커널][디버깅] dump_stack() 함수
By Guillermo Austin Kim | 2019년 3월 13일 |
dump_stack() 함수 dump_stack() 함수는 콜스택을 커널 로그로 출력합니다. 커널 로그로 콜스택을 보고 싶은 코드에 삽입하면 됩니다. 이 함수를 호출하려면 C 코드 윗부분에 다음과 같이 "linux/kernel.h" 해더 파일을 추가해야 합니다. #include <linux/kernel.h> dump_stack() 함수 선언부를 봅시다.asmlinkage __visible void dump_stack(void); 인자와 반환값 타입이 모두 void입니다. 커널 소스 코드 어디든 dump_stack() 함수만 추가하면 됩니다. dump_stack() 함수로 커널 로그에서 콜스택 확인하기이번엔 dump_stack() 함수를 써서 커널 로그로 콜스택을 볼 수 있는 패치 코드를 소
버추얼박스의 리눅스 가상머신에서 게스트 확장 버전 확인/제거
By 반달가면 | 2020년 7월 10일 |
버추얼박스(VirtualBox) 가상머신으로 리눅스를 사용하고 있을 경우, 현재 설치되어 있는 게스트 확장(guest additions)의 버전을 확인하는 방법이다. 매우 간단하다. 게스트 확장을 설치하면 /opt 디렉토리 하위에 설치되므로 ls 명령으로 이 디렉토리에 있는 게스트 확장 디렉토리 명칭을 확인하면 된다. # 버추얼박스 게스트 확장 버전 확인 ls /opt 예를 들어 VBoxGuestAdditions-6.0.18 이런식으로 디렉토리 명칭이 나왔다면 버전 6.0.18이 설치되어 있는 것이다. 게스트 확장을 제거하려면 설치 디렉토리 안에 있는 uninstall.sh 스크립트를 루트(root) 권한으로 실행하면 된다. # 게스트 확장 제거 cd /opt/VBoxGu
[리눅스] 라즈베리 파이(라즈베리파이)란?
By Guillermo Austin Kim | 2019년 12월 22일 |
라즈베리 파이(Raspberry Pi)는 전 세계적으로 널리 쓰이는 리눅스 개발용 보드이자 소형 컴퓨터입니다. 설치 과정이 간단하고, 가격 대비 성능도 좋아 다양한 디바이스 드라이버를 구현하는 데 사용할 수 있습니다. 또한 교육용으로도 많이 쓰이며 실전 개발에서도 다양한 데모용 디바이스로 자주 활용되고 있습니다. 라즈베리 파이의 장점을 몇 가지 정리하면 다음과 같습니다. 막강한 커뮤니티 라즈베리 파이의 커뮤니티와 리소스는 막강합니다. 전 세계적으로 널리 쓰이므로 인터넷이나 유튜브에서 관련 자료를 쉽게 찾을 수 있습니다. 라즈베리 파이를 활용한 소스코드나 설정 방법도 인터넷에서 쉽게 찾아볼 수 있습니다. 저는 라즈베리 파이를 2018년 2월에 학교에 교수로 계신 선배를 통해 알게 됐습니다. 그분은 저에게