[라즈베리파이] 특정 브랜치(rpi-4.14.y)로 소스 코드 내려받기
By Guillermo Austin Kim | 2019년 3월 20일 |
라즈베리파이에서 가장 많이 쓰는 라즈비안은 꾸준히 최신 커널 버전을 지원합니다. 최신 라즈비안 커널 소스 코드 내려받기 먼저 다음 명령어를 입력해 라즈비안 최신 커널 소스를 내려 받겠습니다."git clone --depth=3000" root@raspberrypi:/home/pi/RPi_kernel_src# git clone --depth=3000 into 'linux'...remote: Enumerating objects: 85646, done.remote: Counting objects: 100% (85646/85646), done.remote: Compressing objects: 100% (65774/65774), done.Receiving objects: 33% (28569/85646), 4
4.9 프로세스 컨택스트 정보는 어떻게 저장할까?
By Guillermo Austin Kim | 2019년 2월 7일 |
리눅스 커널에서는 프로세스 실행 흐름은 컨택스트란 용어로 표현합니다. 컨택스트 종류는 다음과 같습니다. 1. 프로세스 컨택스트: 프로세스가 스케줄링 될 수 있는 상태 2. 인터럽트 컨택스트: 인터럽트가 발생한 후 인터럽트 핸들링을 위한 동작 중 3. Soft IRQ 컨택스트: Soft IRQ 서비스를 실행 중이며 Soft IRQ 서브루틴(하부 함수 흐름) 동작 중 컨택스트 정보는 struct thread_info 구조체 preempt_count 멤버에서 확인할 수 있습니다. 커널은 이 값을 읽어서 컨택스트 종류를 식별합니다. 커널에서는 어떻게 프로세스가 어떤 컨택스트에서 실행하는지 파악할까요?in_interrupt()와 in_softirq() 매크로 함수를 통해 확인할 수 있습니다. 해당 코
[라즈베리파이] 시그널 - 유저 프로세스 입장에서 시그널이란
By Guillermo Austin Kim | 2018년 11월 25일 |
시그널이란 무엇일까요?커널 입장에서 시그널은 프로세스에게 보내는 단순한 형태의 메시지라고 할 수 있습니다.시그널 정보와 PID를 프로세스에게 전달하는 것입니다. 유저 프로세스 입장에서 프로세스는 무엇일까요? 유저 프로세스 관점으로 시그널은 실행 흐름을 제어하는 비동기적인 중단입니다. 이렇게 유저 프로세스와 커널 입장에서 시그널은 약간 다른 관점에서 볼 수 있습니다. 이번에 먼저 유저 프로세스 관점으로 시그널을 살펴보겠습니다.여러분이 너무 보고 싶은 책이 있다고 가정하겠습니다. 3시간 동안 읽을 수 있는 책 분량이라 주말에 책을 읽기 시작했습니다. 3시간 동안 아무런 방해를 받지 않고 책을 읽을 수 있으면 좋겠지만 이런 상황은 이상적인 환경입니다. 집에서 인터폰 벨리 울리던가 전화가 온다던가 여러 종류 중
[리눅스커널] 우리는 어떤 운영체제를 쓰고 있나
By Guillermo Austin Kim | 2019년 7월 28일 |
우리가 인지하지 못하는 사이 리눅스는 우리 생활을 이루고 있습니다.이번 시간에는 전 세계에서 IT 각 기기별로 리눅스 운영체제를 얼마나 쓰는지 알아보겠습니다. - 데스크탑(개인 컴퓨터) - 휴대폰 - 슈퍼컴퓨터 데스크탑(개인 컴퓨터) 먼저 다음 그림을 보면서 데스크탑 PC 운영체제 점유율을 확인해봅시다.[출처:] [그림] 데스크탑 PC 운영체제 점유율 위 그래프 가장 윗부분 72~90% 사이에 보이는 운영체제가 마이크로소프트 ‘윈도우 NT 계열’ 운영체제입니다. 78.43% 점유율로 부동의 1위를 지키고 있습니다. 그다음으로 iOS가 13.5% 그리고 리눅스는 1.6% 점유율을 보입니다. 유닉스 계열 운영체제로 분류되는 iOS와 리눅스 운영체제를 합쳐도 15% 밖에 되지 않습니다. 보통