리눅스 커널은 정말 오픈 소스 프로젝트일까(2)?
By Guillermo Austin Kim | 2018년 7월 30일 |
경험은 실력을 낳고 실력은 경험으로 이어진다. 임베디드 리눅스 개발 경험은 그 만큼 중요하다. 데이터 시트에 맞게 디바이스 드라이버 구현을 하는 작업은 코드 몽키도 할 수 있다. 초보와 고수 차이는 디바이스 드라이버를 여러 다양한 환경에서 구동할 때 생기는 문제를 해결하는 능력이다. 임베디드 리눅스 개발 도중 여러 문제를 만난다. 그럼 이 문제를 해결하기 위해서 여러 단계를 밟아야 한다. 문제는 이런 문제 해결 분석과 같은 실무 경험이 리눅스 커널 개발자끼리도 공유되고 있지 않다는 것이다. 이 이유가 뭔 지 조금 더 살펴보자. 첫 번째는 실력 있는 임베디드 리눅스 개발자들은 대부분 바쁘다. 문제 하나를 해결하면 다른 문제를 봐야 할 경우가 많다. 내 주위에 밤 낮으로 문제를 해결해야 하는 고수 개발자를
리눅스 민트 18.2 XFCE에서 도커(Docker) 설치
By 반달가면 | 2020년 4월 13일 |
리눅스 민트 18.2 XFCE에서 도커(Docker)를 설치했다. 우분투 기반의 배포판이므로 설치 과정은 우분투에서 도커를 설치하는 절차를 참고했다. 아래의 링크에 나온 내용으로 작업. Get Docker Engine - Community for Ubuntu 기존에 설치된 이전 버전의 도커를 먼저 제거하라고 되어 있는데, 설치된 것이 없으므로 설치로 바로 진행했다. 우선 필요한 다른 패키지들을 설치한다. # S/W 저장소 정보 갱신 sudo apt-get update # 필요한 패키지 설치 sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common 이
Percona mysql에 Haproxy check 연동
By JH의 컴퓨터세상 | 2020년 2월 6일 |
Tocu 엔진을 사용하려 퍼코나 mysql을 설치하고 haproxy에 연결하려고 하니 각 DB 서버에 Load balance는 정상적으로 작동을 하는데, db health check가 되지 않는다.그래서 찾아보니 기존 mysql에서는 haproxy에서 DB 서버로 haproxy 계정으로 로그인하여 DB가 살아있는지 체크를 했었는데, percona mysql에서는 xinetd 에 mysqlchk 서비스를 추가하여 9200번 포트를 통해 DB서버로 통신하고, DB서버에서 mysqlchk 스크립트를 통해 체크를 수행하는것 같다.아래는 테스트 진행 내용을 정리해 보았다. 구성 환경각 OS : Centos 7.7DB 서버 3대 : Percona mysql 8.0 설치.Haproxy 서버 2대 : Ha
[리눅스커널][시그널] 커널에서 시그널을 전달하는 진입점은 어디일까?
By Guillermo Austin Kim | 2019년 4월 4일 |
시그널 전달 진입점 시그널 생성 과정에서 스케줄러에게 시그널을 받을 프로세스 실행 요청을 했습니다. 리눅스 커널은 언제 시그널을 타겟 프로세스에게 전달할까요?출발점은 두 가지 실행 흐름입니다.1> 시스템 콜 핸들러 실행 마무리 후 ret_fast_syscall 레이블2> 인터럽트 핸들링 후 __irq_usr 레이블 이 동작은 리눅스 커널보다 ARM 프로세스가 많은 관여를 합니다. ret_fast_syscall 레이블 분석 유저 프로세스가 시스템 콜 핸들러 실행을 마치면 ret_fast_syscall 레이블로 복귀합니다. ret_fast_syscall와 slow_work_pending 레이블에서 프로세스에게 시그널이 전달됐는지 점검합니다. 해당 코드 분석을 시작하겠습니다.[https:/