[라즈베리파이] 동기화 - 스핀락(spinlock): 스핀락 획득 첫 번째 시도
By Guillermo Austin Kim | 2018년 12월 25일 |
스핀락을 소개했을 때 그림을 다시 소개합니다. 위 그림이 실행할 때 실제 어셈블리 코드를 어떻게 동작하는지 알아보려는 겁니다.다음 소절에 분석하려는 스핀락 인스턴스 owner는 0x1이고 next는 0x2입니다. 이미 스핀락을 획득한 다른 프로세스가 임계 영역을 실행 중이기 때문입니다. 이번에는 누군가 스핀락을 획득한 경우 스핀락이 어떻게 동작하는지 알아보겠습니다. r0는 0xb93b4a78이고 이 메모리 공간에 0x00020001 값이 있습니다. r3은 0x00020001로 변경됩니다. r3에 ticket owner와 next를 모두 저장한 겁니다. next가 owner보다 1만큼 크니 누군가 스핀락을 획득한 상태입니다. 분석하려는 _raw_spin_lock() 함수를 다시 소개합니다.1 807
Linux 의 init 시스템: systemd 와 systemctl 간단 사용법
By 양파개발자 SW의 블로그입니다^^ | 2018년 3월 22일 |
대부분의 리눅스 시스템에서는 다양한 프로세스를 Service 라는 이름으로 띄울 수 있는 systemd 라는 init system 과그리고 이를 관리하기위한 도구인 systemctl 을 가지고 있다. 이 포스팅에서는 !!! 이게 뭐하는 건지, 어떻게 사용하는지 간단하게 알아본다 영어 잘하는분은 제가 참고한 원서를 참고하시기 바랍니당 ㅎㅎㅎhttps://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-systemd-services-and-units <정의를 먼저 살펴보자> systemd : 일부 리눅스 배포판에서 유닉스 시스템 V나 BSD init 시스템 대신 사용자 공간을 부트스트래핑하고 최종적으로 모든
[라즈베리파이] 워크큐(Workqueue) 용어 알아보기
By Guillermo Austin Kim | 2018년 8월 20일 |
이번에는 워크큐에서 쓰이는 여러 용어를 소개합니다.많은 개발자들이 워크큐를 낯설어하는 이유는 자료구조와 그 개념을 익히기 어렵기 때문입니다. 워크와 워커쓰레드 그리고 풀워크가 자료구조가 어떤 형태로 연결되서 처리하는지 큰 그림을 그리기 어렵습니다. 각각 의미와 자료 구조를 살펴보겠습니다. 1. 워커 쓰레드우선 워커 쓰레드부터 알아보겠습니다. 워커 쓰레드는 워크를 실행하는 프로세스입니다. 리눅스 시스템에서 항상 백그라운드로 실행하는 친숙한 프로세스입니다. 프로세스 이름은 "kworker/"로 시작하며 워크큐 종류에 따라 "kworker/" 이후 번호가 붙습니다. 다음은 라즈베리파이에서 확인한 워커 쓰레드입니다.root@raspberrypi:/# ps -ely | grep kworkerS UID P
M1 맥북에 리눅스 포팅한 능력자들
By 미친병아리의 이글루스 | 2021년 1월 24일 |
애플의 공식적인 지원은 없지만, 리눅스 부팅에 성공한 능력자들 좀 더 기다리면 ARM용 윈10을 포팅한 사람들도 나올 듯 물론, Windows 10 on ARM은 좀 괴랄해서 포팅해봐야 별 잇점이 없을 것 같기도 하다 Windows 10 on ARM용 노트북에서도 사용하기가 좀 지랄맞은지라