[음악] 맥이나 리눅스에서 명령어로 ape 파일을 flac 으로 변환
By 지훈현서 | 2018년 5월 27일 |
요즘에야 음악을 듣더라도 스트리밍을 대부분 이용하기 때문에 별 관심이 없을 수도 있지만,최근에 무손실 압축 음악인 flac 확장자에 대하여 많이 거론이 되기도 합니다.MP3 는 손실 압축이기 때문에 음질 손실이 있다는 것이지요. 다른 말로 CD 700 메가 등에 들어있는 십여곡 등이 손실없이 flac 파일로 담길 수 있고,이를 플레이하면 CD 음질과 동일하게 들을 수 있다는 것입니다. 물론 이를 플레이하는 코덱과 헤드폰 등도 이를 지원해야 되겠지요.특히 블루투스 연결인 경우에는 연결 방식 등에 대해 잘 따져 봐야 합니다.(SBC 연결, aptx 연결 등등) 암튼 그동안 모아 놓았던 음악들 중에서 .ape 와 .cue 확장자가 붙은 것들이 있었습니다. 잠깐 확인해 보니, .ape는 CD 내용을 압축 D
[라즈베리파이] Process - 프로세스 상태
By Guillermo Austin Kim | 2018년 9월 14일 |
이름으로 알 수 있듯이, state 필드는 프로세스가 어떤 동작 중인지 알려줍니다. 이 필드는 플래그의 배열이고 각 플래그는 프로세스 상태를 표현합니다.. 현재 리눅스 버전에서는 이 상태들이 상호 배타적이고, state의 플래그 하나만 설정하므로 나머지 플래그들은 Clear합니다. 프로세스 상태는 아래와 같습니다. TASK_RUNNING#define TASK_RUNNING 0x0000 프로세스가 CPU에서 실행중이거나 실행되려고 기다리는 중입니다. 실제 CPU에서 실행 중인 프로세스는 struct runqueues.curr란 멤버에 등록되어 있습니다. TASK_INTERRUPTIBLE #define TASK_INTERRUPTIBLE 0x0001 프로세스는 특정 조건이 true가 될 때까지 잠들
[Linux][Kernel] panic@___might_sleep
By Guillermo Austin Kim | 2017년 12월 7일 |
리눅스 커널 synchronization의 꽃 중의 하나인 Mutex Lock에 대해서 조금 짚어 볼께요. Mutex Lock은 보통 스핀락(Spinlock)과 많이 비교하죠. 사실 소스 코드를 보면 Mutex Lock이 스핀락보다 훨씬 소프트웨어적으로 복잡해요. 그 이유는?1> Mutex Lock을 잠근 프로세스만 해제할 수 있어요2> 이미 다른 프로세스가 Mutex Lock을 획득한 상태면 struct mutex.wait_list에 대기하고 Wait Queue에 넣고 잠들어야 해요.음, 이 소리는. Mutex Lock을 잡고 있는 프로세스가 Mutex Lock을 해제하면 누군가가 다시 대기 중이던 프로세스를 WaitQueue에서 끄집어 내서 런큐에 큐잉을 해줘야겠죠. 마지막으로 Mutex
4.10 프로세스 디스크립터 접근 매크로 함수
By Guillermo Austin Kim | 2019년 2월 7일 |
리눅스 커널 코드를 읽으면 다음 매크로를 자주 볼 수 있습니다.+ current_thread_info()+ current 위 매크로를 활용해서 프로세스 태스크 디스크립터와 struct thread_info 구조체 필드 정보를 읽어 프로세스를 제어합니다. 4.10.1 current_thread_info()이전 절에서 프로세스 스택 최상단 주소에 struct thread_info 구조체에 프로세스 실행을 저장한다고 분석했습니다. current_thread_info() 매크로 함수는 프로세스가 어떤 함수를 실행하더라도 struct thread_info 구조체가 있는 스택 최상단 주소를 전달합니다. current_thread_info() 매크로 함수 구현부를 분석하기 전에 매크로 함수가 어느 코드에서 쓰는